/*
 * NAMEN DATOTEKE:
 * celoten vizualni sistem front-end portala, vključno z glavo, KPI karticami,
 * filtri, tabelami, odzivnostjo, temnim načinom in nastavljivo tipografijo.
 *
 * POMEMBNO:
 * Pri novih pravilih najprej uporabi obstoječe CSS spremenljivke in preveri mobilni ter temni prikaz.
 */
.dlsm-portal{--dlsm-p-bg:#f6f8fb;--dlsm-p-card:#fff;--dlsm-p-text:#182230;--dlsm-p-muted:#667085;--dlsm-p-line:#e4e7ec;--dlsm-p-accent:#2563eb;--dlsm-p-accent-soft:#eff6ff;max-width:1440px;margin:32px auto;padding:0 20px;color:var(--dlsm-p-text);font-family:inherit;box-sizing:border-box}.dlsm-portal *{box-sizing:border-box}.dlsm-portal-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:20px;padding:28px 30px;border:1px solid var(--dlsm-p-line);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);box-shadow:0 8px 28px rgba(16,24,40,.05)}.dlsm-portal-eyebrow{display:block;margin-bottom:7px;color:var(--dlsm-p-accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dlsm-portal-hero h1{margin:0 0 8px;font-size:clamp(27px,3vw,42px);line-height:1.08;color:#101828}.dlsm-portal-hero p{max-width:760px;margin:0;color:var(--dlsm-p-muted);font-size:15px;line-height:1.65}.dlsm-portal-result-count{min-width:108px;padding:12px 16px;border-radius:14px;background:#101828;color:#fff;text-align:center}.dlsm-portal-result-count strong{display:block;font-size:26px;line-height:1}.dlsm-portal-result-count span{display:block;margin-top:5px;font-size:12px;opacity:.78}.dlsm-portal-tabs{display:flex;gap:7px;overflow:auto;margin:0 0 14px;padding:5px;border:1px solid var(--dlsm-p-line);border-radius:13px;background:#fff;scrollbar-width:thin}.dlsm-portal-tabs a{flex:0 0 auto;padding:9px 13px;border-radius:9px;color:#344054;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.dlsm-portal-tabs a:hover{background:#f2f4f7;color:#101828}.dlsm-portal-tabs a.is-active{background:#101828;color:#fff}.dlsm-portal-filters{margin-bottom:18px;padding:18px;border:1px solid var(--dlsm-p-line);border-radius:15px;background:#fff;box-shadow:0 3px 16px rgba(16,24,40,.035)}.dlsm-portal-search label,.dlsm-portal-filter-grid label span{display:block;margin-bottom:6px;color:#344054;font-size:12px;font-weight:800}.dlsm-portal-search input,.dlsm-portal-filter-grid input,.dlsm-portal-filter-grid select{width:100%;min-height:42px;margin:0;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;font:inherit;font-size:14px;box-shadow:none}.dlsm-portal-search input{padding:0 14px}.dlsm-portal-filter-grid input{padding:0 10px}.dlsm-portal-filter-grid select{padding:0 30px 0 10px}.dlsm-portal-search input:focus,.dlsm-portal-filter-grid input:focus,.dlsm-portal-filter-grid select:focus{border-color:#84adff;outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.dlsm-portal-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.dlsm-portal-filter-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.dlsm-portal-filter-actions button{min-height:38px;padding:0 16px;border:0;border-radius:9px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}.dlsm-portal-filter-actions a{padding:9px 11px;color:#475467;text-decoration:none;font-size:13px;font-weight:700}.dlsm-portal-list-head,.dlsm-portal-item-main{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(180px,1.15fr) minmax(170px,1fr) minmax(125px,.72fr) minmax(110px,.65fr);gap:18px;align-items:center}.dlsm-portal-list-head{padding:0 18px 8px;color:#667085;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dlsm-portal-list{display:grid;gap:9px}.dlsm-portal-item{overflow:hidden;border:1px solid var(--dlsm-p-line);border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(16,24,40,.03)}.dlsm-portal-item-main{padding:16px 18px}.dlsm-portal-service-cell h2{margin:3px 0 2px;color:#101828;font-size:16px;line-height:1.25}.dlsm-portal-service-cell small,.dlsm-portal-relation-cell small,.dlsm-portal-responsibility-cell small,.dlsm-portal-date-cell small{display:block;margin-top:3px;color:#667085;font-size:12px;line-height:1.4}.dlsm-portal-type{color:#2563eb;font-size:11px;font-weight:800;text-transform:uppercase}.dlsm-portal-relation-cell strong,.dlsm-portal-responsibility-cell strong,.dlsm-portal-date-cell strong{display:block;color:#344054;font-size:13px;line-height:1.35}.dlsm-mobile-label{display:none}.dlsm-portal-status{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:6px 9px;border-radius:999px;background:#eef2f6;color:#344054;font-size:11px;font-weight:800}.dlsm-portal-status.is-active{background:#ecfdf3;color:#027a48}.dlsm-portal-status.is-attention{background:#fff7ed;color:#c2410c}.dlsm-portal-status.is-urgent{background:#fff1f2;color:#be123c}.dlsm-portal-status.is-expired{background:#7f1d1d;color:#fff}.dlsm-portal-status.is-cancelled,.dlsm-portal-status.is-do_not_renew{background:#f2f4f7;color:#667085}.dlsm-portal-status.is-review,.dlsm-portal-status.is-transfer{background:#fffaeb;color:#b54708}.dlsm-portal-details{border-top:1px solid var(--dlsm-p-line);background:#fbfcfe}.dlsm-portal-details summary{width:max-content;margin:0 18px;padding:11px 0;color:#2563eb;font-size:12px;font-weight:800;cursor:pointer;user-select:none}.dlsm-portal-details[open] summary{color:#101828}.dlsm-portal-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 18px 16px}.dlsm-portal-detail-grid>div{min-height:66px;padding:11px 12px;border:1px solid #eaecf0;border-radius:10px;background:#fff}.dlsm-portal-detail-grid span{display:block;margin-bottom:5px;color:#667085;font-size:11px}.dlsm-portal-detail-grid strong{color:#344054;font-size:13px;line-height:1.35}.dlsm-portal-subdomains,.dlsm-portal-notes{margin:0 18px 16px;padding:13px 14px;border:1px solid #eaecf0;border-radius:10px;background:#fff}.dlsm-portal-subdomains>strong,.dlsm-portal-notes>strong{display:block;margin-bottom:8px;font-size:12px}.dlsm-portal-subdomains>div{display:flex;flex-wrap:wrap;gap:6px}.dlsm-portal-subdomains span{padding:5px 8px;border-radius:7px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:700}.dlsm-portal-notes p{margin:0;color:#475467;font-size:13px;line-height:1.6}.dlsm-portal-empty,.dlsm-portal-access{padding:28px;border:1px solid var(--dlsm-p-line);border-radius:14px;background:#fff;text-align:center}.dlsm-portal-empty p,.dlsm-portal-access p{margin:6px 0 0;color:#667085}.dlsm-portal-pagination{display:flex;justify-content:center;margin:22px 0}.dlsm-portal-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;margin:0 3px;padding:0 10px;border:1px solid var(--dlsm-p-line);border-radius:9px;background:#fff;color:#344054;text-decoration:none;font-size:12px;font-weight:800}.dlsm-portal-pagination .page-numbers.current{border-color:#101828;background:#101828;color:#fff}.dlsm-portal-footer-note{margin-top:18px;color:#98a2b3;font-size:11px;text-align:center}.dlsm-portal-access{max-width:720px;margin:30px auto}.dlsm-portal-access a{display:inline-block;padding:8px 14px;border-radius:8px;background:#2563eb;color:#fff;text-decoration:none;font-weight:700}
@media(max-width:1100px){.dlsm-portal-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dlsm-portal-list-head{display:none}.dlsm-portal-item-main{grid-template-columns:1.5fr 1fr 1fr}.dlsm-portal-date-cell,.dlsm-portal-status-cell{padding-top:10px;border-top:1px solid #f0f1f3}.dlsm-mobile-label{display:block;margin-bottom:4px;color:#98a2b3;font-size:10px;font-weight:800;text-transform:uppercase}.dlsm-portal-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dlsm-portal{margin:18px auto;padding:0 12px}.dlsm-portal-hero{padding:20px;flex-direction:column}.dlsm-portal-result-count{display:flex;align-items:center;gap:7px;min-width:0;padding:8px 11px}.dlsm-portal-result-count strong{font-size:18px}.dlsm-portal-result-count span{margin:0}.dlsm-portal-filter-grid{grid-template-columns:1fr}.dlsm-portal-item-main{grid-template-columns:1fr;gap:11px;padding:15px}.dlsm-portal-relation-cell,.dlsm-portal-responsibility-cell,.dlsm-portal-date-cell,.dlsm-portal-status-cell{padding-top:9px;border-top:1px solid #f0f1f3}.dlsm-portal-detail-grid{grid-template-columns:1fr 1fr;padding:0 15px 15px}.dlsm-portal-details summary{margin:0 15px}.dlsm-portal-subdomains,.dlsm-portal-notes{margin:0 15px 15px}}
@media(max-width:480px){.dlsm-portal-detail-grid{grid-template-columns:1fr}.dlsm-portal-filter-actions{align-items:stretch;flex-direction:column}.dlsm-portal-filter-actions button,.dlsm-portal-filter-actions a{text-align:center}}

.dlsm-portal-home-search{margin:0 0 16px;padding:18px;border:1px solid var(--dlsm-p-line);border-radius:15px;background:#fff;box-shadow:0 3px 16px rgba(16,24,40,.035)}.dlsm-portal-home-search label{display:block;margin-bottom:7px;color:#344054;font-size:12px;font-weight:800}.dlsm-portal-home-search>div{display:flex;gap:8px}.dlsm-portal-home-search input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;font:inherit}.dlsm-portal-home-search button{min-height:44px;padding:0 20px;border:0;border-radius:9px;background:#2563eb;color:#fff;font:inherit;font-weight:800;cursor:pointer}.dlsm-portal-home-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 18px}.dlsm-portal-home-kpis a{display:flex;min-height:92px;padding:14px 15px;border:1px solid var(--dlsm-p-line);border-radius:13px;background:#fff;color:#344054;text-decoration:none;flex-direction:column;justify-content:space-between;box-shadow:0 2px 10px rgba(16,24,40,.025)}.dlsm-portal-home-kpis a:hover{border-color:#b2ccff;transform:translateY(-1px)}/* napisi KPI kartic uporabljajo varni nastavitvi iz Nastavitve → Uporabniški portal; fallback ohrani dosedanjih 11px/800. */.dlsm-portal-home-kpis span{font-size:var(--dlsm-kpi-label-size,11px);font-weight:var(--dlsm-kpi-label-weight,800)}.dlsm-portal-home-kpis strong{font-size:25px;line-height:1;color:#101828}.dlsm-portal-home-kpis .is-attention{background:#fffbeb}.dlsm-portal-home-kpis .is-urgent{background:#fff1f2}.dlsm-portal-home-section{margin-bottom:18px;padding:18px;border:1px solid var(--dlsm-p-line);border-radius:15px;background:#fff;box-shadow:0 3px 16px rgba(16,24,40,.035)}.dlsm-portal-home-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.dlsm-portal-home-section-head span{display:block;margin-bottom:2px;color:#667085;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dlsm-portal-home-section-head h2{margin:0;color:#101828;font-size:18px}.dlsm-portal-home-section-head a{color:#2563eb;text-decoration:none;font-size:12px;font-weight:800}.dlsm-portal-home-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.dlsm-portal-home-columns>.dlsm-portal-home-section{margin-bottom:0}.dlsm-portal-announcements{display:grid;gap:9px}.dlsm-portal-announcement{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px 14px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}.dlsm-portal-announcement.is-warning{border-color:#fde68a;background:#fffbeb}.dlsm-portal-announcement.is-urgent{border-color:#fecdd3;background:#fff1f2}.dlsm-portal-announcement.is-success{border-color:#bbf7d0;background:#f0fdf4}.dlsm-portal-announcement-icon{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:900}.dlsm-portal-announcement.is-warning .dlsm-portal-announcement-icon{background:#fef3c7;color:#b45309}.dlsm-portal-announcement.is-urgent .dlsm-portal-announcement-icon{background:#ffe4e6;color:#be123c}.dlsm-portal-announcement.is-success .dlsm-portal-announcement-icon{background:#dcfce7;color:#15803d}.dlsm-portal-announcement-title{display:flex;align-items:center;gap:8px;color:#101828}.dlsm-portal-announcement-title span{padding:2px 6px;border-radius:999px;background:rgba(16,24,40,.06);color:#667085;font-size:9px;font-weight:800;text-transform:uppercase}.dlsm-portal-announcement-text p{margin:5px 0 0;color:#475467;font-size:13px;line-height:1.55}.dlsm-portal-home-list{display:grid}.dlsm-portal-home-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eef0f3}.dlsm-portal-home-row:last-child{border-bottom:0}.dlsm-portal-home-row>div:first-child strong{display:block;color:#101828;font-size:13px}.dlsm-portal-home-row small{display:block;margin-top:2px;color:#667085;font-size:11px}.dlsm-portal-home-row-meta{text-align:right}.dlsm-portal-home-row-meta strong{display:block;color:#344054;font-size:12px}.dlsm-portal-home-row-meta span{display:block;margin-top:2px;color:#98a2b3;font-size:10px}.dlsm-portal-home-empty{padding:18px;border-radius:10px;background:#f8fafc;color:#667085;font-size:12px;line-height:1.6}.dlsm-portal-main-nav{position:relative}
@media(max-width:1180px){.dlsm-portal-home-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dlsm-portal-home-columns{grid-template-columns:1fr}}
@media(max-width:760px){.dlsm-portal-home-kpis{grid-template-columns:1fr 1fr}.dlsm-portal-home-search>div{flex-direction:column}.dlsm-portal-home-search button{width:100%}.dlsm-portal-home-row{grid-template-columns:minmax(0,1fr) auto}.dlsm-portal-home-row>.dlsm-portal-status{grid-column:1/-1;justify-self:start}.dlsm-portal-home-row-meta{min-width:90px}}
@media(max-width:430px){.dlsm-portal-home-kpis{grid-template-columns:1fr}.dlsm-portal-announcement{grid-template-columns:28px 1fr;padding:12px}.dlsm-portal-home-row{grid-template-columns:1fr}.dlsm-portal-home-row-meta{text-align:left}}

.dlsm-portal-client-brand{display:flex;align-items:center;gap:8px}.dlsm-portal-client-logo{display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:#f8fafc;box-shadow:inset 0 0 0 1px #e4e7ec;border-bottom:2px solid var(--dlsm-client-color,#2563eb);color:var(--dlsm-client-color,#2563eb);font-size:9px;font-weight:900}.dlsm-portal-client-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.dlsm-portal-home-client{display:inline-flex;align-items:center;gap:4px}.dlsm-portal-home-client i{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--dlsm-client-color,#98a2b3)}


/* v1.3.5 – širok domači zaslon in tridelna glava portala. */
.dlsm-portal-home-width-normal{max-width:1440px}.dlsm-portal-home-width-wide{max-width:1740px}.dlsm-portal-home-width-full{width:min(1920px,calc(100vw - 32px));max-width:none;margin-left:50%;margin-right:0;transform:translateX(-50%)}
.dlsm-portal-home-topbar{display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(180px,.65fr) minmax(330px,1fr);gap:28px;align-items:center;margin-bottom:16px;padding:26px 30px;border:1px solid var(--dlsm-p-line);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f7faff 100%);box-shadow:0 10px 34px rgba(16,24,40,.06)}
.dlsm-portal-home-brand-copy{min-width:0}.dlsm-portal-home-brand-copy h1{margin:0 0 8px;color:#101828;font-size:clamp(26px,2.6vw,42px);line-height:1.08;letter-spacing:-.025em}.dlsm-portal-home-brand-copy p{max-width:680px;margin:0;color:#667085;font-size:14px;line-height:1.6}
.dlsm-portal-home-company-mark{display:flex;min-height:94px;align-items:center;justify-content:center;padding:8px 22px;border-left:1px solid #eef0f3;border-right:1px solid #eef0f3}.dlsm-portal-home-company-mark img{display:block;max-width:240px;max-height:88px;width:auto;height:auto;object-fit:contain}.dlsm-portal-home-logo-placeholder{display:flex;width:74px;height:74px;align-items:center;justify-content:center;border-radius:18px;background:#101828;color:#fff;font-size:23px;font-weight:900;letter-spacing:.04em}
.dlsm-portal-home-status-panel{display:grid;gap:12px;justify-items:end;min-width:0}.dlsm-portal-home-clock{text-align:right}.dlsm-portal-home-clock span{display:block;color:#667085;font-size:12px;font-weight:700;text-transform:capitalize}.dlsm-portal-home-clock strong{display:block;margin-top:2px;color:#101828;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.dlsm-portal-home-user{display:flex;align-items:center;gap:7px;color:#667085;font-size:11px}.dlsm-portal-home-user strong{color:#344054;font-size:12px}.dlsm-portal-home-user span:after{content:'·';margin-left:7px;color:#d0d5dd}
.dlsm-portal-home-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(74px,1fr));gap:7px;width:min(100%,330px)}.dlsm-portal-home-mini-metrics>a,.dlsm-portal-home-mini-metrics>div{display:flex;min-height:54px;padding:8px 10px;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;color:#475467;text-decoration:none}.dlsm-portal-home-mini-metrics>a:hover{border-color:#b2ccff;background:#f8fbff}.dlsm-portal-home-mini-metrics span{font-size:10px;font-weight:800}.dlsm-portal-home-mini-metrics strong{color:#101828;font-size:18px;line-height:1}
.dlsm-portal-home .dlsm-portal-main-nav{margin-bottom:12px}.dlsm-portal-home .dlsm-portal-home-search{margin-bottom:12px}.dlsm-portal-home .dlsm-portal-home-kpis{grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.dlsm-portal-home .dlsm-portal-home-kpis a{min-height:86px;padding:13px 15px}.dlsm-portal-home .dlsm-portal-home-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}
@media(max-width:1180px){.dlsm-portal-home-topbar{grid-template-columns:1fr auto;gap:20px}.dlsm-portal-home-company-mark{grid-row:1/3;grid-column:2;border-right:0}.dlsm-portal-home-status-panel{grid-column:1;grid-row:2;justify-items:start}.dlsm-portal-home-clock{text-align:left}.dlsm-portal-home-mini-metrics{width:min(100%,420px)}.dlsm-portal-home .dlsm-portal-home-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dlsm-portal-home .dlsm-portal-home-columns{grid-template-columns:1fr}}
@media(max-width:760px){.dlsm-portal-home-width-full{width:calc(100vw - 20px);max-width:none;margin-left:50%;transform:translateX(-50%)}.dlsm-portal-home-topbar{grid-template-columns:1fr;padding:20px;border-radius:16px}.dlsm-portal-home-company-mark{grid-row:auto;grid-column:auto;order:-1;min-height:72px;border:0;border-bottom:1px solid #eef0f3;padding:0 0 14px}.dlsm-portal-home-company-mark img{max-width:190px;max-height:62px}.dlsm-portal-home-brand-copy{text-align:center}.dlsm-portal-home-brand-copy p{margin-left:auto;margin-right:auto}.dlsm-portal-home-status-panel{grid-column:auto;grid-row:auto;justify-items:center}.dlsm-portal-home-clock{text-align:center}.dlsm-portal-home-user{justify-content:center}.dlsm-portal-home-mini-metrics{width:100%}.dlsm-portal-home .dlsm-portal-home-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.dlsm-portal-home-topbar{padding:18px 15px}.dlsm-portal-home-mini-metrics{grid-template-columns:1fr}.dlsm-portal-home .dlsm-portal-home-kpis{grid-template-columns:1fr}.dlsm-portal-home-clock strong{font-size:24px}}

/* ==========================================================================
   Portal 1.3.7: zanesljiv pogled od roba do roba za vse WordPress teme
   ========================================================================== */

body.dlsm-portal-page {
    overflow-x: hidden;
    overflow-x: clip;
}

body.dlsm-portal-page .dlsm-portal-native-title,
body.dlsm-portal-page .entry-header .entry-title,
body.dlsm-portal-page .page-header .page-title,
body.dlsm-portal-page h1.entry-title,
body.dlsm-portal-page .wp-block-post-title {
    display: none !important;
}

/*
 * Portal lahko živi v ozkem containerju teme. Predniki, ki jih označi portal.js,
 * zato ne smejo omejevati širine ali rezati vsebine. Dejanska širina portala se
 * nato izračuna glede na viewport, ne glede na širino WordPress predloge.
 */
body.dlsm-portal-page .dlsm-portal-host {
    max-width: none !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    grid-column: 1 / -1 !important;
    flex-basis: 100% !important;
}

.dlsm-portal {
    --dlsm-viewport-gutter: clamp(12px, 1.35vw, 30px);
    position: relative;
    max-width: none;
    margin-top: 22px;
    margin-right: 0;
    margin-bottom: 40px;
    padding: 0;
    box-sizing: border-box;
}

/* CSS fallback, če JavaScript ni na voljo. portal.js to geometrijo še natančneje izračuna. */
.dlsm-portal-layout-normal,
.dlsm-portal-layout-wide,
.dlsm-portal-layout-full {
    left: 50%;
    transform: translateX(-50%);
}

.dlsm-portal-layout-normal {
    width: min(1440px, calc(100vw - var(--dlsm-viewport-gutter) - var(--dlsm-viewport-gutter)));
}

.dlsm-portal-layout-wide {
    width: min(1800px, calc(100vw - var(--dlsm-viewport-gutter) - var(--dlsm-viewport-gutter)));
}

.dlsm-portal-layout-full {
    width: calc(100vw - var(--dlsm-viewport-gutter) - var(--dlsm-viewport-gutter));
}

/* Domača glava izkoristi širino in ostane ena vizualna celota. */
.dlsm-portal-home-topbar {
    grid-template-columns: minmax(360px, 1.35fr) minmax(220px, .65fr) minmax(390px, 1fr);
    gap: clamp(22px, 2vw, 44px);
    min-height: 180px;
    padding: 30px 38px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 16%, rgba(37,99,235,.10), transparent 27%),
        linear-gradient(135deg, #fff 0%, #f7faff 62%, #f1f6ff 100%);
    box-shadow: 0 14px 42px rgba(16,24,40,.07);
}

.dlsm-portal-home-brand-copy h1 {
    max-width: 760px;
    font-size: clamp(34px, 2.55vw, 52px);
}

.dlsm-portal-home-brand-copy p {
    max-width: 820px;
    font-size: 15px;
}

.dlsm-portal-home-company-mark {
    min-height: 112px;
    padding: 12px 32px;
}

.dlsm-portal-home-company-mark img {
    max-width: 320px;
    max-height: 106px;
}

.dlsm-portal-home-status-panel {
    width: 100%;
}

.dlsm-portal-home-mini-metrics {
    width: 100%;
    max-width: 460px;
}

.dlsm-portal-home-mini-metrics > a,
.dlsm-portal-home-mini-metrics > div {
    min-height: 64px;
    padding: 11px 14px;
}

.dlsm-portal-home-mini-metrics strong {
    font-size: 22px;
}

/* Navigacija, iskalnik, KPI kartice in vsebinske sekcije so široke toliko kot portal. */
.dlsm-portal-tabs {
    padding: 6px;
    border-radius: 15px;
}

.dlsm-portal-tabs a {
    padding: 10px 17px;
}

.dlsm-portal-home-search,
.dlsm-portal-filters,
.dlsm-portal-home-section {
    width: 100%;
    border-radius: 16px;
}

.dlsm-portal-home-search {
    display: grid;
    grid-template-columns: minmax(210px, .32fr) minmax(0, 1.68fr);
    gap: 20px;
    align-items: center;
    padding: 18px 24px;
}

.dlsm-portal-home-search label {
    margin: 0;
    font-size: 13px;
}

.dlsm-portal-home-search > div {
    min-width: 0;
}

.dlsm-portal-home-search input {
    min-height: 48px;
    font-size: 15px;
}

.dlsm-portal-home-search button {
    min-height: 48px;
    padding-inline: 30px;
}

.dlsm-portal-home .dlsm-portal-home-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.dlsm-portal-home .dlsm-portal-home-kpis a {
    min-height: 104px;
    padding: 17px 19px;
}

.dlsm-portal-home-kpis strong {
    font-size: 30px;
}

.dlsm-portal-home-section {
    padding: 23px 25px;
}

.dlsm-portal-home .dlsm-portal-home-columns {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    gap: 20px;
}

.dlsm-portal-home-row {
    padding: 13px 0;
}

/* Podstrani: glava, filtri in seznam uporabljajo isto širino kot domači zaslon. */
.dlsm-portal-hero {
    align-items: center;
    margin-bottom: 14px;
    padding: 24px 30px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 94% 15%, rgba(37,99,235,.09), transparent 24%),
        linear-gradient(135deg, #fff 0%, #f8fbff 100%);
}

.dlsm-portal-hero h1 {
    font-size: clamp(30px, 2.2vw, 44px);
}

.dlsm-portal-result-count {
    min-width: 132px;
    padding: 14px 19px;
}

.dlsm-portal-filters {
    padding: 20px 24px;
}

.dlsm-portal-filter-grid {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 13px;
}

.dlsm-portal-filter-actions {
    justify-content: flex-end;
}

.dlsm-portal-list-head,
.dlsm-portal-item-main {
    grid-template-columns:
        minmax(320px, 2fr)
        minmax(250px, 1.35fr)
        minmax(235px, 1.25fr)
        minmax(175px, .85fr)
        minmax(140px, .65fr);
    gap: 26px;
}

.dlsm-portal-list-head {
    padding: 0 24px 9px;
}

.dlsm-portal-item {
    border-radius: 15px;
}

.dlsm-portal-item-main {
    min-height: 86px;
    padding: 18px 24px;
}

.dlsm-portal-service-cell h2 {
    font-size: 17px;
}

.dlsm-portal-detail-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 11px;
    padding: 0 24px 18px;
}

.dlsm-portal-details summary {
    margin-inline: 24px;
}

.dlsm-portal-subdomains,
.dlsm-portal-notes {
    margin-inline: 24px;
}

@media (max-width: 1380px) {
    .dlsm-portal-home-topbar {
        grid-template-columns: minmax(300px, 1.15fr) minmax(190px, .6fr) minmax(310px, 1fr);
        gap: 20px;
    }

    .dlsm-portal-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dlsm-portal-list-head,
    .dlsm-portal-item-main {
        grid-template-columns: minmax(260px, 1.7fr) minmax(200px, 1.1fr) minmax(200px, 1.1fr) minmax(150px, .8fr) minmax(120px, .65fr);
        gap: 16px;
    }

    .dlsm-portal-detail-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .dlsm-portal-home-topbar {
        grid-template-columns: minmax(0, 1fr) minmax(210px, .55fr);
    }

    .dlsm-portal-home-company-mark {
        grid-row: 1;
        grid-column: 2;
        border-right: 0;
    }

    .dlsm-portal-home-status-panel {
        grid-column: 1 / -1;
        grid-row: 2;
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        justify-items: start;
    }

    .dlsm-portal-home-mini-metrics {
        justify-self: end;
    }

    .dlsm-portal-home-clock {
        text-align: left;
    }

    .dlsm-portal-home-user {
        grid-column: 1;
    }

    .dlsm-portal-home .dlsm-portal-home-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dlsm-portal-home .dlsm-portal-home-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dlsm-portal {
        --dlsm-viewport-gutter: 10px;
        margin-top: 12px;
        margin-bottom: 24px;
    }

    .dlsm-portal-home-topbar {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 20px;
    }

    .dlsm-portal-home-company-mark {
        grid-row: auto;
        grid-column: auto;
        order: -1;
        min-height: 72px;
        padding: 0 0 15px;
        border: 0;
        border-bottom: 1px solid #eef0f3;
    }

    .dlsm-portal-home-status-panel {
        grid-column: auto;
        grid-row: auto;
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .dlsm-portal-home-mini-metrics {
        justify-self: stretch;
        max-width: none;
    }

    .dlsm-portal-home-search {
        display: block;
        padding: 16px;
    }

    .dlsm-portal-home-search label {
        margin-bottom: 8px;
    }

    .dlsm-portal-home-search > div {
        flex-direction: column;
    }

    .dlsm-portal-home .dlsm-portal-home-kpis {
        grid-template-columns: 1fr 1fr;
    }

    .dlsm-portal-home-section {
        padding: 17px;
    }

    .dlsm-portal-filter-grid {
        grid-template-columns: 1fr;
    }

    .dlsm-portal-filter-actions {
        justify-content: stretch;
    }

    .dlsm-portal-detail-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .dlsm-portal-home .dlsm-portal-home-kpis,
    .dlsm-portal-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Portal 1.3.9: nastavljiv videz, temni način in napredna obvestila
   ========================================================================== */

.dlsm-portal {
    --dlsm-p-card-soft: #f8fafc;
    --dlsm-p-input: #ffffff;
    --dlsm-p-heading: #101828;
    --dlsm-p-shadow-soft: 0 3px 16px rgba(16,24,40,.035);
    --dlsm-p-shadow-elevated: 0 16px 44px rgba(16,24,40,.12);
    --dlsm-p-radius: 15px;
    --dlsm-p-radius-small: 9px;
    --dlsm-notice-info: #2563eb;
    --dlsm-notice-warning: #d97706;
    --dlsm-notice-urgent: #dc2626;
    --dlsm-notice-success: #16a34a;
    --dlsm-announcement-speed: 24s;
}

/* Poudarjena barva je skupna navigaciji, gumbom, povezavam in fokusnim stanjem. */
.dlsm-portal .dlsm-portal-home-search button,
.dlsm-portal .dlsm-portal-filter-actions button,
.dlsm-portal .dlsm-portal-access a,
.dlsm-portal .dlsm-portal-tabs a.is-active,
.dlsm-portal .dlsm-portal-pagination .page-numbers.current {
    border-color: var(--dlsm-p-accent);
    background: var(--dlsm-p-accent);
    color: #fff;
}
.dlsm-portal .dlsm-portal-type,
.dlsm-portal .dlsm-portal-home-section-head a,
.dlsm-portal .dlsm-portal-details summary {
    color: var(--dlsm-p-accent);
}
.dlsm-portal .dlsm-portal-search input:focus,
.dlsm-portal .dlsm-portal-filter-grid input:focus,
.dlsm-portal .dlsm-portal-filter-grid select:focus,
.dlsm-portal .dlsm-portal-home-search input:focus {
    border-color: var(--dlsm-p-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dlsm-p-accent) 15%, transparent);
    outline: none;
}

/* Slog površin. */
.dlsm-portal-surface-flat .dlsm-portal-home-topbar,
.dlsm-portal-surface-flat .dlsm-portal-hero,
.dlsm-portal-surface-flat .dlsm-portal-home-search,
.dlsm-portal-surface-flat .dlsm-portal-home-kpis a,
.dlsm-portal-surface-flat .dlsm-portal-home-section,
.dlsm-portal-surface-flat .dlsm-portal-filters,
.dlsm-portal-surface-flat .dlsm-portal-item,
.dlsm-portal-surface-flat .dlsm-portal-empty,
.dlsm-portal-surface-flat .dlsm-portal-access {
    box-shadow: none !important;
}
.dlsm-portal-surface-elevated .dlsm-portal-home-topbar,
.dlsm-portal-surface-elevated .dlsm-portal-hero,
.dlsm-portal-surface-elevated .dlsm-portal-home-search,
.dlsm-portal-surface-elevated .dlsm-portal-home-section,
.dlsm-portal-surface-elevated .dlsm-portal-filters,
.dlsm-portal-surface-elevated .dlsm-portal-item {
    box-shadow: var(--dlsm-p-shadow-elevated) !important;
}

/* Zaobljenost brez poljubnega CSS-ja. */
.dlsm-portal-corners-square { --dlsm-p-radius: 6px; --dlsm-p-radius-small: 5px; }
.dlsm-portal-corners-soft { --dlsm-p-radius: 15px; --dlsm-p-radius-small: 9px; }
.dlsm-portal-corners-rounded { --dlsm-p-radius: 24px; --dlsm-p-radius-small: 14px; }
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-home-topbar,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-hero,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-tabs,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-home-search,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-home-section,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-filters,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-item,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-empty,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-access,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-home-kpis a {
    border-radius: var(--dlsm-p-radius) !important;
}
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) input,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) select,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) button,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-announcement,
.dlsm-portal:is(.dlsm-portal-corners-square,.dlsm-portal-corners-soft,.dlsm-portal-corners-rounded) .dlsm-portal-detail-grid>div {
    border-radius: var(--dlsm-p-radius-small) !important;
}

/* Kompaktna gostota za uporabnike, ki želijo več informacij brez dodatnega drsenja. */
.dlsm-portal-density-compact .dlsm-portal-home-topbar { min-height: 145px; padding: 22px 28px; }
.dlsm-portal-density-compact .dlsm-portal-home-search,
.dlsm-portal-density-compact .dlsm-portal-filters,
.dlsm-portal-density-compact .dlsm-portal-home-section { padding: 14px 16px; }
.dlsm-portal-density-compact .dlsm-portal-home-kpis a { min-height: 78px; padding: 11px 13px; }
.dlsm-portal-density-compact .dlsm-portal-home-kpis strong { font-size: 24px; }
.dlsm-portal-density-compact .dlsm-portal-item-main { min-height: 70px; padding: 13px 18px; }
.dlsm-portal-density-compact .dlsm-portal-home-row { padding: 8px 0; }
.dlsm-portal-density-compact .dlsm-portal-filter-grid { gap: 9px; }

/* Obvestila dobijo barvo iz nastavitev glede na svojo vrsto. */
.dlsm-portal-announcement.is-info,
.dlsm-portal-announcement-ticker-item.is-info { --dlsm-notice-color: var(--dlsm-notice-info); }
.dlsm-portal-announcement.is-warning,
.dlsm-portal-announcement-ticker-item.is-warning { --dlsm-notice-color: var(--dlsm-notice-warning); }
.dlsm-portal-announcement.is-urgent,
.dlsm-portal-announcement-ticker-item.is-urgent { --dlsm-notice-color: var(--dlsm-notice-urgent); }
.dlsm-portal-announcement.is-success,
.dlsm-portal-announcement-ticker-item.is-success { --dlsm-notice-color: var(--dlsm-notice-success); }
.dlsm-portal-announcement {
    grid-template-columns: 1fr;
    border-color: color-mix(in srgb, var(--dlsm-notice-color) 38%, var(--dlsm-p-line));
    background: color-mix(in srgb, var(--dlsm-notice-color) 9%, var(--dlsm-p-card));
}
.dlsm-portal-announcement.has-icon { grid-template-columns: 34px 1fr; }
.dlsm-portal-announcement .dlsm-portal-announcement-icon,
.dlsm-portal-announcement-ticker-item .dlsm-portal-announcement-icon {
    background: color-mix(in srgb, var(--dlsm-notice-color) 16%, var(--dlsm-p-card));
    color: var(--dlsm-notice-color);
}
.dlsm-portal-announcement-title strong { color: var(--dlsm-p-heading); }
.dlsm-portal-announcement-text p { color: var(--dlsm-p-muted); }

.dlsm-announcement-mode-banner .dlsm-portal-announcements { gap: 8px; }
.dlsm-announcement-mode-banner .dlsm-portal-announcement {
    min-height: 58px;
    padding: 14px 18px;
    border-left: 5px solid var(--dlsm-notice-color);
    align-items: center;
}
.dlsm-announcement-mode-banner .dlsm-portal-announcement-text p { margin-top: 3px; }

/* Potujoči trak. Vsebina se podvoji samo vizualno, druga kopija je aria-hidden. */
.dlsm-announcement-mode-ticker.dlsm-portal-home-section { overflow: hidden; padding: 0; }
.dlsm-portal-announcement-ticker {
    overflow: hidden;
    border-radius: inherit;
    background: var(--dlsm-p-card);
}
.dlsm-portal-announcement-track {
    display: flex;
    width: max-content;
    min-width: 100%;
    animation: dlsm-announcement-ticker var(--dlsm-announcement-speed) linear infinite;
    will-change: transform;
}
.dlsm-portal-announcement-sequence { display: flex; flex: 0 0 auto; align-items: stretch; }
.dlsm-portal-announcement-ticker-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 12px 24px;
    border-right: 1px solid var(--dlsm-p-line);
    color: var(--dlsm-p-text);
    white-space: nowrap;
}
.dlsm-portal-announcement-ticker-item::before {
    content: '';
    width: 4px;
    height: 28px;
    border-radius: 999px;
    background: var(--dlsm-notice-color);
}
.dlsm-portal-announcement-ticker-item strong { color: var(--dlsm-p-heading); font-size: 13px; }
.dlsm-portal-announcement-ticker-item>span:not(.dlsm-portal-announcement-icon) { color: var(--dlsm-p-muted); font-size: 12px; }
.dlsm-portal-announcement-ticker-item .dlsm-portal-announcement-icon { flex: 0 0 28px; }
.dlsm-announcement-mode-ticker.is-pause-hover .dlsm-portal-announcement-ticker:hover .dlsm-portal-announcement-track { animation-play-state: paused; }
@keyframes dlsm-announcement-ticker { to { transform: translateX(-50%); } }

/* Nežne animacije za kartice in pasove. */
.dlsm-announcement-motion-fade:not(.dlsm-announcement-mode-ticker) .dlsm-portal-announcement {
    animation: dlsm-announcement-fade .55s ease both;
}
.dlsm-announcement-motion-fade:not(.dlsm-announcement-mode-ticker) .dlsm-portal-announcement:nth-child(2) { animation-delay: .08s; }
.dlsm-announcement-motion-fade:not(.dlsm-announcement-mode-ticker) .dlsm-portal-announcement:nth-child(3) { animation-delay: .16s; }
@keyframes dlsm-announcement-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.dlsm-announcement-motion-pulse:not(.dlsm-announcement-mode-ticker) .dlsm-portal-announcement {
    animation: dlsm-announcement-pulse 3.2s ease-in-out infinite;
}
@keyframes dlsm-announcement-pulse {
    0%,100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--dlsm-notice-color) 0%, transparent); }
    50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--dlsm-notice-color) 12%, transparent); }
}

/* Temni način. dlsm-portal-dark-active nastavi portal.js tudi pri samodejnem načinu. */
body.dlsm-portal-dark-page {
    background: #070d18 !important;
    color: #e8eef8;
}
body.dlsm-portal-dark-page .dlsm-portal-host { background: transparent !important; }
.dlsm-portal.dlsm-portal-dark-active {
    --dlsm-p-bg: #070d18;
    --dlsm-p-card: #101827;
    --dlsm-p-card-soft: #151f31;
    --dlsm-p-input: #0b1320;
    --dlsm-p-text: #e8eef8;
    --dlsm-p-heading: #f8fafc;
    --dlsm-p-muted: #9eabc0;
    --dlsm-p-line: #29364a;
    color-scheme: dark;
}
.dlsm-portal-dark-active .dlsm-portal-home-topbar,
.dlsm-portal-dark-active .dlsm-portal-hero {
    background:
        radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--dlsm-p-accent) 18%, transparent), transparent 28%),
        linear-gradient(135deg, #111a2a 0%, #0d1523 66%, #111c30 100%);
    border-color: var(--dlsm-p-line);
}
.dlsm-portal-dark-active :is(
    .dlsm-portal-tabs,
    .dlsm-portal-home-search,
    .dlsm-portal-home-kpis a,
    .dlsm-portal-home-section,
    .dlsm-portal-filters,
    .dlsm-portal-item,
    .dlsm-portal-detail-grid>div,
    .dlsm-portal-subdomains,
    .dlsm-portal-notes,
    .dlsm-portal-empty,
    .dlsm-portal-access,
    .dlsm-portal-pagination .page-numbers,
    .dlsm-portal-announcement-ticker
) {
    border-color: var(--dlsm-p-line);
    background: var(--dlsm-p-card);
    color: var(--dlsm-p-text);
}
.dlsm-portal-dark-active .dlsm-portal-details { border-color: var(--dlsm-p-line); background: var(--dlsm-p-card-soft); }
.dlsm-portal-dark-active :is(
    h1,h2,
    .dlsm-portal-home-brand-copy h1,
    .dlsm-portal-home-clock strong,
    .dlsm-portal-home-user strong,
    .dlsm-portal-home-mini-metrics strong,
    .dlsm-portal-home-kpis strong,
    .dlsm-portal-service-cell h2,
    .dlsm-portal-relation-cell strong,
    .dlsm-portal-responsibility-cell strong,
    .dlsm-portal-date-cell strong,
    .dlsm-portal-detail-grid strong,
    .dlsm-portal-home-row>div:first-child strong,
    .dlsm-portal-home-row-meta strong
) { color: var(--dlsm-p-heading); }
.dlsm-portal-dark-active :is(
    .dlsm-portal-home-brand-copy p,
    .dlsm-portal-hero p,
    .dlsm-portal-service-cell small,
    .dlsm-portal-relation-cell small,
    .dlsm-portal-responsibility-cell small,
    .dlsm-portal-date-cell small,
    .dlsm-portal-detail-grid span,
    .dlsm-portal-home-row small,
    .dlsm-portal-home-row-meta span,
    .dlsm-portal-footer-note,
    .dlsm-portal-empty p,
    .dlsm-portal-access p,
    .dlsm-portal-home-clock span,
    .dlsm-portal-home-user span
) { color: var(--dlsm-p-muted); }
.dlsm-portal-dark-active :is(.dlsm-portal-search input,.dlsm-portal-filter-grid input,.dlsm-portal-filter-grid select,.dlsm-portal-home-search input) {
    border-color: #34445b;
    background: var(--dlsm-p-input);
    color: var(--dlsm-p-heading);
}
.dlsm-portal-dark-active :is(.dlsm-portal-search input,.dlsm-portal-filter-grid input,.dlsm-portal-home-search input)::placeholder { color: #6f7d91; }
.dlsm-portal-dark-active .dlsm-portal-tabs a { color: #c5cfdd; }
.dlsm-portal-dark-active .dlsm-portal-tabs a:hover { background: #182437; color: #fff; }
.dlsm-portal-dark-active .dlsm-portal-home-kpis .is-attention { background: #2b2411; }
.dlsm-portal-dark-active .dlsm-portal-home-kpis .is-urgent { background: #30171d; }
.dlsm-portal-dark-active .dlsm-portal-home-company-mark { border-color: var(--dlsm-p-line); }
.dlsm-portal-dark-active .dlsm-portal-home-logo-placeholder { background: #e8eef8; color: #0b1320; }
.dlsm-portal-dark-active .dlsm-portal-subdomains span { background: #182437; color: #c5cfdd; }
.dlsm-portal-dark-active .dlsm-portal-home-empty { background: #0d1523; }
.dlsm-portal-dark-active .dlsm-portal-home-row,
.dlsm-portal-dark-active .dlsm-portal-announcement-ticker-item { border-color: var(--dlsm-p-line); }

/* Samodejni temni način deluje tudi pred zagonom JS, da je manj vidnega preklopa. */
@media (prefers-color-scheme: dark) {
    .dlsm-portal.dlsm-portal-theme-system {
        --dlsm-p-bg: #070d18;
        --dlsm-p-card: #101827;
        --dlsm-p-card-soft: #151f31;
        --dlsm-p-input: #0b1320;
        --dlsm-p-text: #e8eef8;
        --dlsm-p-heading: #f8fafc;
        --dlsm-p-muted: #9eabc0;
        --dlsm-p-line: #29364a;
        color-scheme: dark;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dlsm-portal-announcement-track,
    .dlsm-announcement-motion-fade .dlsm-portal-announcement,
    .dlsm-announcement-motion-pulse .dlsm-portal-announcement {
        animation: none !important;
        transform: none !important;
    }
    .dlsm-portal-announcement-ticker { overflow-x: auto; }
    .dlsm-portal-announcement-sequence[aria-hidden="true"] { display: none; }
}

@media (max-width: 760px) {
    .dlsm-portal-announcement-ticker-item { padding: 10px 16px; }
    .dlsm-announcement-mode-banner .dlsm-portal-announcement { padding: 12px 14px; }
}

/* Barve po vrsti imajo prednost pred starejšimi privzetimi barvami komponent. */
.dlsm-portal .dlsm-portal-announcement:is(.is-info,.is-warning,.is-urgent,.is-success) {
    border-color: color-mix(in srgb, var(--dlsm-notice-color) 38%, var(--dlsm-p-line));
    background: color-mix(in srgb, var(--dlsm-notice-color) 9%, var(--dlsm-p-card));
}
.dlsm-portal .dlsm-portal-announcement:is(.is-info,.is-warning,.is-urgent,.is-success) .dlsm-portal-announcement-icon {
    background: color-mix(in srgb, var(--dlsm-notice-color) 16%, var(--dlsm-p-card));
    color: var(--dlsm-notice-color);
}

/* TIPOGRAFIJA PORTALA: vse glavne skupine berejo varne CSS spremenljivke iz Nastavitve → Uporabniški portal. Selektorji so namerno omejeni na .dlsm-portal, da sprememba ne vpliva na WordPress temo ali druge strani. */
.dlsm-portal .dlsm-portal-hero h1,
.dlsm-portal .dlsm-portal-home-brand-copy h1 {
    font-size: var(--dlsm-page-title-size, 42px);
    font-weight: var(--dlsm-page-title-weight, 700);
    overflow-wrap: anywhere;
}

.dlsm-portal h2,
.dlsm-portal h3,
.dlsm-portal .dlsm-portal-home-section-head h2,
.dlsm-portal .dlsm-portal-eyebrow,
.dlsm-portal .dlsm-portal-home-section-head > div > span {
    font-size: var(--dlsm-subheading-size, 18px);
    font-weight: var(--dlsm-subheading-weight, 700);
}

/* Navadno besedilo pokrije odstavke, formularne napise in manjše informativne vrstice, ne posega pa v KPI, navigacijo ali tabelarični seznam, ki imajo lastne nastavitve. */
.dlsm-portal p,
.dlsm-portal .dlsm-portal-hero p,
.dlsm-portal .dlsm-portal-home-brand-copy p,
.dlsm-portal .dlsm-portal-announcement-text p,
.dlsm-portal .dlsm-portal-notes p,
.dlsm-portal .dlsm-portal-empty p,
.dlsm-portal .dlsm-portal-access p,
.dlsm-portal .dlsm-portal-search label,
.dlsm-portal .dlsm-portal-filter-grid label span,
.dlsm-portal .dlsm-portal-search input,
.dlsm-portal .dlsm-portal-filter-grid input,
.dlsm-portal .dlsm-portal-filter-grid select,
.dlsm-portal .dlsm-portal-home-search label,
.dlsm-portal .dlsm-portal-home-search input,
.dlsm-portal .dlsm-portal-home-user,
.dlsm-portal .dlsm-portal-home-clock span,
.dlsm-portal .dlsm-portal-footer-note,
.dlsm-portal .dlsm-portal-home-empty {
    font-size: var(--dlsm-body-size, 14px);
    font-weight: var(--dlsm-body-weight, 400);
}

/* KPI nastavitev vključuje velike kartice in manjše števce v glavi, da je statistična tipografija enotna. */
.dlsm-portal .dlsm-portal-home-kpis span,
.dlsm-portal .dlsm-portal-home-mini-metrics span,
.dlsm-portal .dlsm-portal-result-count span {
    font-size: var(--dlsm-kpi-label-size, 11px);
    font-weight: var(--dlsm-kpi-label-weight, 800);
}

.dlsm-portal .dlsm-portal-home-kpis strong,
.dlsm-portal .dlsm-portal-home-mini-metrics strong,
.dlsm-portal .dlsm-portal-result-count strong {
    font-size: var(--dlsm-kpi-value-size, 30px);
    font-weight: var(--dlsm-kpi-value-weight, 700);
}

/* "Tabele in seznami" zajame klasične table ter vse vrstice glavnega in domačega seznama. S tem uporabnik res spreminja celotno podatkovno območje z eno nastavitvijo. */
.dlsm-portal table,
.dlsm-portal table th,
.dlsm-portal table td,
.dlsm-portal .dlsm-portal-list-head,
.dlsm-portal .dlsm-portal-item-main,
.dlsm-portal .dlsm-portal-item-main h2,
.dlsm-portal .dlsm-portal-item-main strong,
.dlsm-portal .dlsm-portal-item-main small,
.dlsm-portal .dlsm-portal-item-main span,
.dlsm-portal .dlsm-portal-home-row,
.dlsm-portal .dlsm-portal-home-row strong,
.dlsm-portal .dlsm-portal-home-row small,
.dlsm-portal .dlsm-portal-home-row span,
.dlsm-portal .dlsm-portal-detail-grid,
.dlsm-portal .dlsm-portal-detail-grid strong,
.dlsm-portal .dlsm-portal-detail-grid span,
.dlsm-portal .dlsm-portal-subdomains,
.dlsm-portal .dlsm-portal-subdomains strong,
.dlsm-portal .dlsm-portal-subdomains span,
.dlsm-portal .dlsm-portal-status,
.dlsm-portal .dlsm-mobile-label {
    font-size: var(--dlsm-table-size, 13px);
    font-weight: var(--dlsm-table-weight, 400);
}

.dlsm-portal .dlsm-portal-home-search button,
.dlsm-portal .dlsm-portal-filter-actions button,
.dlsm-portal button,
.dlsm-portal input[type="submit"],
.dlsm-portal input[type="button"] {
    font-size: var(--dlsm-button-size, 14px);
    font-weight: var(--dlsm-button-weight, 800);
}

/* Navigacija vključuje tudi straničenje, povezave v glavah sekcij ter razpiranje podrobnosti, ker so to vsi navigacijski elementi portala. */
.dlsm-portal .dlsm-portal-tabs a,
.dlsm-portal .dlsm-portal-main-nav a,
.dlsm-portal .dlsm-portal-pagination .page-numbers,
.dlsm-portal .dlsm-portal-details summary,
.dlsm-portal .dlsm-portal-home-section-head a {
    font-size: var(--dlsm-navigation-size, 13px);
    font-weight: var(--dlsm-navigation-weight, 700);
}

/* oznaka vrste storitve ima svojo nastavitev in mora biti za splošnim pravilom tabel, da ga vedno pravilno preglasi. */
.dlsm-portal .dlsm-portal-type {
    font-size: var(--dlsm-service-type-size, 11px);
    font-weight: var(--dlsm-service-type-weight, 800);
}

/* Skrbnik je bil pred skupno tipografijo tabel naravno krepkejši (<strong>). Privzeto 700 mu ta poudarek vrne, uporabnik pa ga lahko zdaj nastavi ločeno. */
.dlsm-portal .dlsm-portal-responsibility-cell strong {
    font-size: var(--dlsm-responsibility-size, 13px);
    font-weight: var(--dlsm-responsibility-weight, 700);
}


/* gumb Moje storitve ostane na istem domačem zaslonu; sidro ima odmik, da naslov sekcije po skoku ni stisnjen ob vrh okna. */
.dlsm-portal #dlsm-moje-storitve{scroll-margin-top:24px}
.dlsm-portal .dlsm-portal-my-services-link{font-weight:var(--dlsm-navigation-weight,700)}

/* bližnjica za novo licenco in števec ostaneta skupaj v desnem delu glave. */
.dlsm-portal .dlsm-portal-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-left:auto}
.dlsm-portal .dlsm-portal-add-license{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--dlsm-p-accent);border-radius:10px;background:var(--dlsm-p-accent);color:#fff;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}
.dlsm-portal .dlsm-portal-add-license:hover{filter:brightness(.92);color:#fff}
.dlsm-portal .dlsm-portal-add-license:focus-visible{outline:3px solid var(--dlsm-p-accent);outline-offset:3px}
/* pojasnilo vrstnega reda in diskretno stanje sprotnega iskanja. */
.dlsm-portal .dlsm-portal-sort-note{margin:0 0 12px;color:var(--dlsm-p-muted);font-size:12px;line-height:1.5}
.dlsm-portal .dlsm-portal-live-hint{margin:8px 0 0;color:var(--dlsm-p-muted);font-size:12px;line-height:1.45}
.dlsm-portal .dlsm-portal-live-status{margin:0;color:var(--dlsm-p-muted);font-size:12px;line-height:1.45}
.dlsm-portal .dlsm-portal-live-status:empty{display:none}
.dlsm-portal.dlsm-portal-is-loading [data-dlsm-live-results]{opacity:.6;transition:opacity .15s ease}
@media(max-width:760px){.dlsm-portal .dlsm-portal-hero-actions{width:100%;margin-left:0;justify-content:space-between}.dlsm-portal .dlsm-portal-add-license{white-space:normal}}
@media(max-width:480px){.dlsm-portal .dlsm-portal-hero-actions{align-items:stretch}.dlsm-portal .dlsm-portal-add-license{flex:1}.dlsm-portal .dlsm-portal-result-count{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.dlsm-portal.dlsm-portal-is-loading [data-dlsm-live-results]{transition:none}}


/* cilj "Moje storitve" ima večji odmik in kratek vizualni poudarek, zato skok iz menija ni več nenaden ali nejasen. */
.dlsm-portal #dlsm-moje-storitve{scroll-margin-top:clamp(28px,6vh,72px);transition:box-shadow .22s ease,transform .22s ease}
.dlsm-portal #dlsm-moje-storitve.is-dlsm-targeted{outline:2px solid var(--dlsm-p-accent);outline-offset:3px;box-shadow:0 10px 30px rgba(16,24,40,.06)}

/* daljši seznam osebnih storitev je privzeto skrčen na pet vrstic; dodatne vrstice se razprejo samo na zahtevo. */
.dlsm-portal [data-dlsm-my-services-extra][hidden]{display:none!important}
.dlsm-portal .dlsm-portal-my-services-toggle{appearance:none;border:0;background:transparent;color:var(--dlsm-p-accent);padding:5px 0;cursor:pointer;font-size:var(--dlsm-navigation-size,13px);font-weight:var(--dlsm-navigation-weight,700);line-height:1.35;text-decoration:none}
.dlsm-portal .dlsm-portal-my-services-toggle:hover{text-decoration:underline}
.dlsm-portal .dlsm-portal-my-services-toggle:focus-visible{outline:2px solid var(--dlsm-p-accent);outline-offset:4px;border-radius:4px}
@media(prefers-reduced-motion:reduce){.dlsm-portal #dlsm-moje-storitve{transition:none}}

/* ==========================================================================
   v1.4.24 – poenotena glava in nastavljiv zgornji odmik modula
   ========================================================================== */

/* administrator lahko nastavi zgornji odmik modula brez poseganja v temo ali shortcode. */
.dlsm-portal{
    margin-top:0;
    padding-top:var(--dlsm-module-top-padding,22px);
}

/* barva domače glave prihaja iz Nastavitve → Uporabniški portal → Videz portala.
 * Kontrastne spremenljivke se izračunajo strežniško, zato glava ostane berljiva tudi pri temni barvi. */
.dlsm-portal .dlsm-portal-home-topbar{
    border-color:var(--dlsm-header-border,#e4e7ec);
    background:linear-gradient(135deg,var(--dlsm-header-bg-start,#fff) 0%,var(--dlsm-header-bg-end,#f1f6ff) 100%);
}
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-eyebrow{color:var(--dlsm-header-eyebrow,var(--dlsm-p-accent))}
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-brand-copy h1,
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-clock strong,
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-user strong{color:var(--dlsm-header-text,#101828)}
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-brand-copy p,
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-clock span,
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-user{color:var(--dlsm-header-muted,#667085)}
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-company-mark{
    border-left-color:var(--dlsm-header-divider,rgba(16,24,40,.08));
    border-right-color:var(--dlsm-header-divider,rgba(16,24,40,.08));
}
.dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-user span:after{color:var(--dlsm-header-divider,#d0d5dd)}
@media(max-width:760px){
    .dlsm-portal .dlsm-portal-home-topbar .dlsm-portal-home-company-mark{
        border-left:0;
        border-right:0;
        border-bottom-color:var(--dlsm-header-divider,rgba(16,24,40,.08));
    }
}
