/* source: resources/css/portal/00-root-layout.css */

:root{--bg:#07130f;--panel:#0e1d17;--panel2:#10261d;--card:#ffffff;--muted:#61736b;--text:#102017;--line:#dbe7e0;--green:#0c8f5c;--green2:#17b978;--yellow:#ffd84d;--red:#d64545;--shadow:0 18px 50px rgba(2,22,12,.18);--radius:20px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#eef4f0;color:var(--text);min-height:100vh}a{color:inherit}.app{display:flex;min-height:100vh}.sidebar{width:286px;background:linear-gradient(180deg,#07130f,#10261d);color:#eaf5ee;padding:20px 16px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid rgba(255,255,255,.08)}.side-brand{display:flex;align-items:center;gap:12px;padding:10px 8px 24px}.side-brand img{width:118px;height:auto;display:block}.side-brand span{font-size:24px;font-weight:800;letter-spacing:.02em;color:#f6d94c;border-left:1px solid rgba(255,255,255,.22);padding-left:12px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#92b2a2;margin:20px 10px 8px}.nav a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;text-decoration:none;color:#dceee5;margin:4px 0}.nav a:hover,.nav a.active{background:rgba(255,255,255,.09);color:white}.main{flex:1;min-width:0}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,47,31,.12);position:sticky;top:0;z-index:5}.content{padding:24px 28px 48px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 20px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-weight:800}.page-title{font-size:28px;font-weight:900}.grid{display:grid;gap:18px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid rgba(13,47,31,.09);box-shadow:0 8px 22px rgba(2,22,12,.08);border-radius:var(--radius);padding:20px;margin-bottom:18px}.card h2{margin:0 0 14px;font-size:19px}.muted{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fbfdfc;color:var(--text);font:inherit}textarea{min-height:82px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cfded5;border-radius:13px;padding:10px 14px;background:#fff;text-decoration:none;cursor:pointer;font-weight:800;color:#173c28;min-height:40px}.btn.small{padding:7px 10px;min-height:32px;font-size:13px}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green2));border-color:transparent;color:white}.btn.yellow{background:var(--yellow);border-color:#e9c800;color:#1e1a00}.btn.danger{background:#fff0f0;border-color:#ffd0d0;color:#8f1f1f}.btn.ghost{background:transparent}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.table-wrap{overflow:auto;border:1px solid #e0e9e3;border-radius:16px}table{width:100%;border-collapse:collapse;background:white}th,td{padding:12px 12px;border-bottom:1px solid #edf3ef;text-align:left;vertical-align:top;font-size:14px}th{background:#f4f8f5;color:#43594e;font-size:12px;text-transform:uppercase;letter-spacing:.06em}tr:hover td{background:#fbfdfc}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#e7f7ef;color:#087245;font-size:12px;font-weight:800}.badge.red{background:#ffe9e9;color:#a92525}.badge.yellow{background:#fff6cf;color:#786100}.alert{padding:13px 16px;border-radius:16px;margin-bottom:18px;border:1px solid #cfeadd;background:#ecfbf2}.alert.err{background:#fff0f0;border-color:#ffd0d0}.stat{background:linear-gradient(135deg,#fff,#f3faf6);border-radius:18px;padding:18px;border:1px solid #dce9e2;box-shadow:0 10px 30px rgba(10,50,28,.08)}.stat b{display:block;font-size:28px}.danger-zone{border-color:#ffd0d0}.actions{display:flex;gap:8px;align-items:center}.actions-wrap{flex-wrap:wrap}.actions-nowrap{flex-wrap:nowrap}.row-actions{display:flex;gap:6px;white-space:nowrap}.mini{font-size:12px}.split{display:flex;gap:18px;align-items:flex-start}.split>*{flex:1}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#07130f,#153425)}.login-card{width:min(440px,100%);background:white;border-radius:26px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-logo img{width:134px}.login-logo span{font-size:28px;font-weight:900;color:#173c28;border-left:1px solid #dbe7e0;padding-left:12px}.helpbox{border-left:4px solid var(--green);background:#f3faf6;padding:12px 14px;border-radius:12px}.hide{display:none}@media(max-width:980px){.app{display:block}.sidebar{position:relative;width:auto;height:auto}.form-grid,.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.topbar{position:relative}.content{padding:18px}.page-title{font-size:23px}}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.narrow{max-width:980px}.dl{display:grid;grid-template-columns:160px 1fr;gap:8px 14px}.dl dt{font-weight:800;color:#41594d}.dl dd{margin:0}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfc}.check-grid label{font-weight:600;margin:0}.minirow{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf3ef;padding:10px 0}.content{background:#eef4f0}.main{background:#eef4f0}@media(max-width:980px){.grid.two,.check-grid{grid-template-columns:1fr}.dl{grid-template-columns:1fr}}
.mode-pill{margin:6px 8px 14px;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.10);color:#fff;font-weight:800;font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.company-switch{display:flex;gap:8px;align-items:center}.company-search{width:110px}.stat-num{font-size:30px;font-weight:900}.stat-label{color:var(--muted);font-weight:800}.content,.main,body{background:#eef4f0!important}.top-left{min-width:260px}@media(max-width:980px){.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.top-actions{justify-content:flex-start}.company-switch{width:100%}.company-search{width:100%}}
.inline{display:flex;gap:8px;align-items:center}.inline .input{flex:1}.narrow{max-width:1200px}.table-wrap td{max-width:420px}.top-actions select,.top-actions .input{min-height:36px}@media(max-width:980px){.inline{display:block}.inline .btn{margin-top:8px;width:100%}}

.current-company{font-size:13px;color:#2f493b;white-space:nowrap}.company-filter{width:180px}.company-switch select{min-width:300px}.company-switch{max-width:760px}.top-actions{gap:10px}@media(max-width:980px){.company-switch select,.company-filter{width:100%;min-width:0}.current-company{width:100%}}


.company-combobox{display:flex;align-items:center;gap:8px;min-width:360px;max-width:620px}.company-label{margin:0;font-size:13px;color:#2f493b;white-space:nowrap}.combo{position:relative;min-width:320px;flex:1}.combo-input{font-weight:800;background:#fff}.combo-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(2,22,12,.18);max-height:320px;overflow:auto;z-index:20;padding:6px}.combo-list.open{display:block}.combo-list.combo-list-portal{position:fixed!important;right:auto!important;z-index:12000!important;box-sizing:border-box;background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 22px 60px rgba(2,22,12,.24)!important;overflow:auto!important;overscroll-behavior:contain!important}.combo-list.combo-list-portal .combo-option{color:var(--text)!important;background:#fff!important}.combo-list.combo-list-portal .combo-option:hover,.combo-list.combo-list-portal .combo-option.active{background:#eef8f2!important;color:var(--text)!important}.combo-list.combo-list-portal .combo-option span{color:var(--muted)!important}.combo-option{display:block;width:100%;text-align:left;border:0;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--text)}.combo-option:hover,.combo-option.active{background:#eef8f2;outline:2px solid rgba(0,168,107,.22)}.combo-option span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.combo-option[hidden]{display:none}.nav-section{cursor:default}.sidebar{overflow:auto}@media(max-width:980px){.company-combobox{min-width:0;width:100%;align-items:stretch;flex-direction:column}.combo{min-width:0;width:100%}}

.combo.compact{min-width:230px}.combo-wide{min-width:420px}.combo.combo-size-1{width:min(100%,3ch);max-width:100%;min-width:0}.combo.combo-size-2{width:min(100%,4ch);max-width:100%;min-width:0}.combo.combo-size-3{width:min(100%,5ch);max-width:100%;min-width:0}.combo.combo-size-4{width:min(100%,6ch);max-width:100%;min-width:0}.combo.combo-size-5{width:min(100%,7ch);max-width:100%;min-width:0}.combo.combo-size-6{width:min(100%,8ch);max-width:100%;min-width:0}.combo.combo-size-7{width:min(100%,9ch);max-width:100%;min-width:0}.combo.combo-size-8{width:min(100%,10ch);max-width:100%;min-width:0}.combo.combo-size-9{width:min(100%,11ch);max-width:100%;min-width:0}.combo.combo-size-10{width:min(100%,12ch);max-width:100%;min-width:0}.combo.combo-size-11{width:min(100%,13ch);max-width:100%;min-width:0}.combo.combo-size-12{width:min(100%,14ch);max-width:100%;min-width:0}.combo.combo-size-13{width:min(100%,15ch);max-width:100%;min-width:0}.combo.combo-size-14{width:min(100%,16ch);max-width:100%;min-width:0}.combo.combo-size-15{width:min(100%,17ch);max-width:100%;min-width:0}.combo.combo-size-16{width:min(100%,18ch);max-width:100%;min-width:0}.combo.combo-size-17{width:min(100%,19ch);max-width:100%;min-width:0}.combo.combo-size-18{width:min(100%,20ch);max-width:100%;min-width:0}.combo.combo-size-19{width:min(100%,21ch);max-width:100%;min-width:0}.combo.combo-size-20{width:min(100%,22ch);max-width:100%;min-width:0}.combo.combo-size-21{width:min(100%,23ch);max-width:100%;min-width:0}.combo.combo-size-22{width:min(100%,24ch);max-width:100%;min-width:0}.combo.combo-size-23{width:min(100%,25ch);max-width:100%;min-width:0}.combo.combo-size-24{width:min(100%,26ch);max-width:100%;min-width:0}.combo.combo-size-25{width:min(100%,27ch);max-width:100%;min-width:0}.combo.combo-size-26{width:min(100%,28ch);max-width:100%;min-width:0}.combo.combo-size-27{width:min(100%,29ch);max-width:100%;min-width:0}.combo.combo-size-28{width:min(100%,30ch);max-width:100%;min-width:0}.combo.combo-size-29{width:min(100%,31ch);max-width:100%;min-width:0}.combo.combo-size-30{width:min(100%,32ch);max-width:100%;min-width:0}.combo.combo-size-31{width:min(100%,33ch);max-width:100%;min-width:0}.combo.combo-size-32{width:min(100%,34ch);max-width:100%;min-width:0}.combo.combo-size-33{width:min(100%,35ch);max-width:100%;min-width:0}.combo.combo-size-34{width:min(100%,36ch);max-width:100%;min-width:0}.combo.combo-size-35{width:min(100%,37ch);max-width:100%;min-width:0}.combo.combo-size-36{width:min(100%,38ch);max-width:100%;min-width:0}.combo.combo-size-37{width:min(100%,39ch);max-width:100%;min-width:0}.combo.combo-size-38{width:min(100%,40ch);max-width:100%;min-width:0}.combo.combo-size-39{width:min(100%,41ch);max-width:100%;min-width:0}.combo.combo-size-40{width:min(100%,42ch);max-width:100%;min-width:0}.combo-clear{font-weight:400}.dashboard-note{border-left:4px solid var(--green);background:#f5fbf7;padding:12px 14px;border-radius:14px}.menu-caption{display:block;font-size:11px;color:#9ab9aa;margin:2px 12px 8px}.backlog-ok{color:#087245;font-weight:800}.backlog-miss{color:#9b6b00;font-weight:800}.module-tile{border:1px solid #dce9e2;border-radius:16px;padding:14px;background:#fbfdfc}
.nav [data-nav-toggle]{display:flex;justify-content:space-between;align-items:center;user-select:none;cursor:pointer}.nav [data-nav-toggle].closed span{transform:rotate(-90deg)}.nav-collapsed{display:none!important}.radio-cell{font-weight:600;margin:0}.advanced{border:1px dashed var(--line);padding:12px;border-radius:14px;background:#fbfdfc}h3{margin:8px 0 6px}.readonly-note{font-size:12px;color:var(--muted)}
.acting-warning{background:#fff0f0;border:1px solid #ffd0d0;border-radius:14px;padding:8px 10px}.acting-warning .muted{color:#9b2b2b}.card-soft{border:1px solid #dce9e2;border-radius:16px;background:#fbfdfc;padding:14px}.align-end{display:flex;align-items:end}.compact{gap:10px}

.acting-combo{background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;padding:6px 8px;}
.acting-combo .company-label{color:#9f1239;font-weight:800;}
.acting-warning{background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;padding:8px 12px;}
.maintenance-grid label{display:block;padding:10px 12px;border:1px solid #d6e2dc;border-radius:14px;background:#fff;margin-bottom:8px;}
.modules-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;}
.modules-checks label{border:1px solid #d6e2dc;border-radius:14px;padding:10px;background:#fff;}
.impersonation-banner{background:#fff1f2;border-bottom:1px solid #fecdd3;color:#9f1239;padding:10px 28px;font-size:13px}.top-left.acting-warning{background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;padding:8px 12px}.top-left.acting-warning .muted{color:#9f1239}.acting-combo{background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;padding:6px 8px}.acting-combo .company-label{color:#9f1239;font-weight:900}
.tiny-form{display:inline;margin-left:10px}.link-button{border:0;background:transparent;color:#9f1239;text-decoration:underline;font-weight:900;cursor:pointer;padding:0;font:inherit}.top-left strong .muted{font-weight:600;margin-left:4px}.impersonation-banner{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.subject-top-flags{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;background:#fbfdfc;padding:12px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.subject-top-flags label{margin:0}.section-title{grid-column:1/-1;font-size:15px;font-weight:900;color:#173c28;border-bottom:1px solid #e1ece6;padding-top:8px;padding-bottom:6px;margin-top:8px}.readonly-card{background:#fbfdfc;border:1px solid #dce9e2;border-radius:16px;padding:12px}.ldap-users-preview{max-height:420px;overflow:auto}.subnote{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}

.subject-top-flags{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfdfc}.subject-top-flags label{margin:0}.section-title{grid-column:1/-1;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:900;margin-top:10px}.subnote{display:block;color:var(--muted);font-size:12px;margin-top:2px}.readonly-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdfc}
.login-card h1{display:none}.login-page .login-logo img{width:150px}
/* 0.15.17: user display density preferences */
body.text-size-xs{font-size:13px} body.text-size-sm{font-size:14px} body.text-size-normal{font-size:15px} body.text-size-lg{font-size:16px} body.text-size-xl{font-size:18px}
body.control-size-xs .btn,body.control-size-xs .input,body.control-size-xs select,body.control-size-xs textarea{padding:6px 9px;min-height:30px;border-radius:10px} body.control-size-xs th,body.control-size-xs td{padding:8px 9px}
body.control-size-sm .btn,body.control-size-sm .input,body.control-size-sm select,body.control-size-sm textarea{padding:8px 10px;min-height:34px;border-radius:11px} body.control-size-sm th,body.control-size-sm td{padding:9px 10px}
body.control-size-normal .btn,body.control-size-normal .input,body.control-size-normal select,body.control-size-normal textarea{padding:9px 12px;min-height:38px}
body.control-size-lg .btn,body.control-size-lg .input,body.control-size-lg select,body.control-size-lg textarea{padding:12px 15px;min-height:44px}
body.control-size-xl .btn,body.control-size-xl .input,body.control-size-xl select,body.control-size-xl textarea{padding:15px 18px;min-height:52px}
.mode-pill{display:none}
/* 0.15.18: default density and brand links */
.btn{padding:8px 12px;min-height:34px;border-radius:11px}
.input,select,textarea{padding:8px 10px;border-radius:11px;min-height:34px}
th,td{padding:9px 10px;font-size:13px}
.card{padding:18px}.page-title{font-size:26px}.topbar{height:66px;padding:12px 24px}.nav a{padding:9px 11px;border-radius:12px}.login-card{padding:26px}.login-logo{text-decoration:none}.brand-link{cursor:pointer}.login-public-link{margin-top:14px;text-align:center;font-size:13px;color:var(--muted)}.login-public-link a{font-weight:800;color:#173c28}.side-brand{text-decoration:none}.side-brand:hover span,.login-logo:hover span{text-decoration:underline}
body.control-size-normal .btn,body.control-size-normal .input,body.control-size-normal select,body.control-size-normal textarea{padding:8px 10px;min-height:34px;border-radius:11px}
body.control-size-lg .btn,body.control-size-lg .input,body.control-size-lg select,body.control-size-lg textarea{padding:10px 13px;min-height:40px}
body.control-size-xl .btn,body.control-size-xl .input,body.control-size-xl select,body.control-size-xl textarea{padding:12px 16px;min-height:46px}
body.control-size-normal th,body.control-size-normal td{padding:9px 10px}
/* 0.15.19: default UI density refinement and module category layout */
:root{--radius:18px}
.btn{padding:7px 11px;min-height:32px;border-radius:10px;font-size:13px}.input,select,textarea{padding:7px 10px;min-height:32px;border-radius:10px}label{font-size:12.5px}.card{padding:16px}.form-grid{gap:12px}.page-title{font-size:25px}.topbar{height:64px}.login-public-link{margin-top:10px}.portal-title-link{text-decoration:none;color:inherit}.portal-title-link:hover span{text-decoration:underline}.module-category{margin:14px 0}.module-category-head{padding:10px 12px;border-radius:12px;background:#f4f8f5;border:1px solid var(--line);margin-bottom:8px}.module-category-head label{margin:0}.subject-top-flags{padding:10px 12px}.login-logo a{display:inline-flex;align-items:center}.side-brand a{display:inline-flex;align-items:center}.side-brand{gap:12px}
body.control-size-normal .btn,body.control-size-normal .input,body.control-size-normal select,body.control-size-normal textarea{padding:7px 10px;min-height:32px;border-radius:10px}

body.has-workspace-bg .main, body.has-workspace-bg .content { background: var(--workspace-bg) !important; }

.info-box{border:1px solid #d5e7dc;background:#f4fbf7;border-radius:14px;padding:12px 14px;margin:12px 0 18px;color:#173c28}.info-box strong{display:inline-block;margin-bottom:4px}.system-alert{box-shadow:0 0 0 3px rgba(214,69,69,.08)}
.qr-box{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.card-subtle{border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:14px;padding:12px;margin:8px 0 14px}.disabled-row{opacity:.55}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;align-items:end}.filter-grid .full{grid-column:1/-1}.filter-grid label{margin:0}.debug-url-btn{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;border-radius:999px;padding:6px 9px;min-height:30px}.debug-url-btn.copied{background:#ecfbf2;border-color:#8fd7b1}.audit-message{max-width:520px}.shortcut-toast{position:fixed;right:18px;bottom:18px;background:#10261d;color:white;padding:10px 14px;border-radius:12px;box-shadow:var(--shadow);z-index:1000}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:700px){.filter-grid{grid-template-columns:1fr}}
.debug-url-btn svg{display:block;width:16px;height:16px}
/* 0.15.38: oprava mobilniho prekryvani a volitelne klasicke zobrazeni */
.mobile-view-toggle{display:none;margin:4px 0 10px;width:100%;}
@media(max-width:980px){
  body:not(.force-classic-view) .app{display:block;padding-top:0;}
  body:not(.force-classic-view) .sidebar{position:relative;width:auto;height:auto;max-height:none;z-index:1;}
  body:not(.force-classic-view) .main{display:block;clear:both;width:100%;}
  body:not(.force-classic-view) .topbar{position:relative;top:auto;z-index:2;margin:0;}
  body:not(.force-classic-view) .content{clear:both;padding-top:18px;}
  body:not(.force-classic-view) .mobile-view-toggle{display:inline-flex;}
  body.force-classic-view .app{display:flex;min-width:1180px;}
  body.force-classic-view .sidebar{position:sticky;top:0;width:286px;height:100vh;}
  body.force-classic-view .topbar{position:sticky;top:0;}
  body.force-classic-view .mobile-view-toggle{display:inline-flex;}
}
.password-policy-list{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.password-policy-list li.ok{color:#087245;font-weight:800}.password-policy-list li.bad{color:#a92525;font-weight:800}.readonly-mode .write-only{display:none!important}

/* 0.15.39: definitivni mobilni korekce prekryvani horni listy */
@media(max-width:980px){
  .topbar,
  body.force-classic-view .topbar,
  body:not(.force-classic-view) .topbar{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:64px!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    z-index:3!important;
  }
  .top-left,
  .top-actions{
    width:100%!important;
    min-width:0!important;
  }
  .top-actions{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .company-switch,
  .company-combobox,
  .combo{
    max-width:100%!important;
  }
  .content,
  body.force-classic-view .content,
  body:not(.force-classic-view) .content{
    position:relative!important;
    z-index:1!important;
    clear:both!important;
    padding-top:18px!important;
  }
  body.force-classic-view .app{
    align-items:flex-start!important;
    overflow-x:auto!important;
  }
  body.force-classic-view .main,
  body:not(.force-classic-view) .main{
    position:relative!important;
    z-index:1!important;
  }
}

/* 0.15.40: jednotnejsi profil a radkova kontrola hesla */
.password-policy-box{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:12px 14px;margin:8px 0 12px;}
.password-policy-rows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;}
.password-policy-rows li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;border:1px solid #e1ece6;border-radius:12px;background:#fff;padding:7px 9px;font-size:13px;}
.password-policy-rows li.ok{color:#087245;border-color:#b8dec9;background:#f3fbf6;}
.password-policy-rows li.bad{color:#a33a2a;border-color:#efd2cc;background:#fffafa;}
.password-policy-rows .policy-mark{font-weight:900;text-align:center;}
.password-policy-rows .policy-state{font-size:12px;font-weight:800;white-space:nowrap;}

/* 0.15.42: profil rozdeleny do prehlednych karet, rezim zobrazeni v levem menu, exporty */
.nav-mode-card{margin:0 0 10px;padding:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:14px;display:grid;gap:6px}.nav-mode-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72);font-weight:900}.nav-mode-card select{width:100%;background:rgba(255,255,255,.96);color:#173c28;border:0;border-radius:10px;min-height:32px;padding:7px 9px;font-weight:800}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}.profile-grid .full{grid-column:1/-1}.profile-card h3{margin:0 0 12px;font-size:18px}.profile-card h4{margin:16px 0 8px;font-size:15px}.profile-headline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.dl.compact{grid-template-columns:max-content 1fr;gap:5px 12px;margin:8px 0 0}.btn-group{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.audit-message a{font-weight:900;text-decoration:underline;text-underline-offset:2px}.audit-message{max-width:760px;white-space:normal}.policy-summary{margin:8px 0 12px;color:var(--muted);font-size:13px}.password-policy-box strong{display:block;margin-bottom:4px}@media(max-width:980px){.profile-grid{grid-template-columns:1fr}.profile-headline{display:block}.nav-mode-card{margin-top:6px}}

/* 0.15.43: sjednoceni stylu prepinace rezimu a karet formulářů */
.nav-mode-card{
  position:relative;
  margin:2px 0 12px;
  padding:11px 10px 12px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.nav-mode-card:before{content:"";position:absolute;left:10px;right:10px;top:0;height:1px;background:rgba(255,255,255,.18)}
.nav-mode-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.76);font-weight:900;margin-bottom:6px}
.nav-mode-card select{
  width:100%;appearance:none;-webkit-appearance:none;
  background:#f8fffb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23173c28' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center;
  color:#173c28;border:1px solid rgba(255,255,255,.32);border-radius:12px;min-height:34px;padding:7px 30px 7px 10px;font-weight:900;font-size:12px;box-shadow:0 5px 14px rgba(0,0,0,.10);
}
.nav-mode-card select:focus{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}
.form-sections{display:grid;gap:16px}.form-section{border:1px solid var(--line);border-radius:18px;background:#fbfdfc;padding:14px}.form-section h3{margin:0 0 12px;font-size:16px}.form-section .form-grid{margin-top:0}.settings-empty-other{border:1px dashed var(--line);border-radius:14px;padding:12px;color:var(--muted);background:#fbfdfc}.audit-meta{font-size:12px;color:var(--muted);display:block;margin-top:3px}

/* 0.15.44: jemnejsi rezim zobrazeni, pripravene podmenu modulu a klidnejsi akcni styly */
.nav-mode-card{
  margin:0 4px 12px!important;
  padding:8px 8px 10px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.025)!important;

[hidden]{display:none!important}
.field.has-error > .input,.field.has-error .inline > .input,.field .input[aria-invalid="true"]{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(214,69,69,.14)!important}.field.has-error label{color:#9d2525}.field [data-server-validation-error],.field [data-client-validation-error]{margin-top:6px}

/* source: resources/css/portal/05-design-tokens.css */
/* Semantic UI contract for all portal surfaces and templates. */
:root {
  --portal-page-bg:var(--bg); --portal-sidebar-bg:#0e1d17; --portal-sidebar-text:#f4faf6; --portal-sidebar-muted:#a8bdb2;
  --portal-topbar-bg:color-mix(in srgb,var(--panel) 94%,transparent); --portal-panel-bg:var(--panel); --portal-card-bg:var(--card);
  --portal-card-border:var(--line); --portal-input-bg:#fff; --portal-text-primary:var(--text); --portal-text-secondary:var(--muted);
  --portal-action-primary:var(--green); --portal-action-accent:var(--yellow); --portal-action-danger:var(--red);
  --portal-radius-card:var(--radius); --portal-radius-control:10px; --portal-shadow-card:0 12px 32px rgba(15,36,27,.08);
  --portal-sidebar-width:276px; --portal-content-gap:20px; --portal-control-height:42px;
}
.theme-dark { --portal-input-bg:#12231c; --portal-topbar-bg:rgba(14,29,23,.94); --portal-shadow-card:0 14px 34px rgba(0,0,0,.24); }
.app-shell{background:var(--portal-page-bg)} .sidebar{background:var(--portal-sidebar-bg);color:var(--portal-sidebar-text);width:var(--portal-sidebar-width)}
.topbar{background:var(--portal-topbar-bg);backdrop-filter:blur(14px)} .card{background:var(--portal-card-bg);border-color:var(--portal-card-border);border-radius:var(--portal-radius-card);box-shadow:var(--portal-shadow-card)}
input,select,textarea{background:var(--portal-input-bg);border-radius:var(--portal-radius-control);min-height:var(--portal-control-height)}
.portal-breadcrumbs{margin:0 0 14px;color:var(--portal-text-secondary);font-size:.88rem}.portal-breadcrumbs-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.portal-breadcrumbs-item{display:flex;align-items:center;gap:6px}.portal-breadcrumbs-item:not(:last-child)::after{content:'›';opacity:.55}.portal-breadcrumbs-item a{color:inherit;text-decoration:none}.portal-breadcrumbs-item a:hover{color:var(--portal-action-primary)}
.nav-subitem{opacity:.86;border-left:2px solid rgba(255,255,255,.12);margin-left:12px;padding-left:14px}.nav-link.active{box-shadow:inset 3px 0 0 var(--portal-action-accent)}.top-actions{gap:8px}.surface-client{--portal-sidebar-bg:#17352a;--portal-shadow-card:0 10px 26px rgba(22,53,42,.07)}

/* source: resources/css/portal/10-auth-brand-shell.css */
  border-radius:12px!important;
  box-shadow:none!important;
}
.nav-mode-card:before{display:none!important}
.nav-mode-label{font-size:9.5px!important;letter-spacing:.14em!important;color:rgba(234,245,238,.54)!important;margin:0 0 5px!important}
.nav-mode-card select{
  min-height:31px!important;
  border:1px solid rgba(234,245,238,.20)!important;
  border-radius:10px!important;
  background:rgba(7,19,15,.88) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23dceee5' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center!important;
  color:#dceee5!important;
  padding:6px 30px 6px 9px!important;
  font-weight:750!important;
  font-size:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.nav-mode-card select:hover,.nav-mode-card select:focus{border-color:rgba(23,185,120,.55)!important;outline:0!important;background-color:rgba(14,29,23,.98)!important}
.nav-submenu{margin:2px 0 8px 4px;padding:2px 0 2px 6px;border-left:1px solid rgba(255,255,255,.14)}
.nav-submenu a{font-size:13px;padding:7px 10px;margin:2px 0;border-radius:10px;color:#cfe3d8}.nav-submenu a:before{content:'›';opacity:.65}.nav-submenu-title{display:block;margin:8px 10px 4px;color:#87a898;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.btn.yellow{background:#fffdf2;border-color:#eadf9f;color:#4d4210}.btn.yellow:hover{background:#fff8d8}.btn.danger{background:#fff7f7;border-color:#efcaca;color:#8f1f1f}.export-actions{padding-left:8px;border-left:1px solid #dbe7e0}.export-label{font-size:12px;font-weight:900;color:var(--muted);align-self:center}.export-btn{background:#f7faf8;border-color:#dbe7e0;color:#2c4b3a;min-height:31px;padding:6px 9px}.audit-per-page{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);font-weight:900}.audit-per-page select{width:auto;min-width:88px}
.form-sections .toolbar,.form-section .toolbar{margin-top:10px}.section-title{margin:18px 0 10px;font-size:14px;font-weight:900;color:#173c28;text-transform:uppercase;letter-spacing:.06em}.readonly-card{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:10px 12px}
.danger-zone .btn.yellow,.danger-zone .btn.danger{border-color:#efcaca}

/* 0.15.45: rezim zobrazeni v menu bez zbytecne vizualni dominance + odsazeni dashboardu */
.nav-section-mode{
  margin-top:16px!important;
  margin-bottom:6px!important;
  color:#92b2a2!important;
}
.nav-mode-inline{
  margin:0 0 8px 0;
  padding:0 10px 2px;
}
.nav-mode-inline select{
  width:100%;
  min-height:34px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(220,238,229,.22);
  border-radius:12px;
  background:rgba(255,255,255,.055) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2392b2a2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
  color:#dceee5;
  padding:7px 32px 7px 10px;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
}
.nav-mode-inline select:hover,.nav-mode-inline select:focus{
  border-color:rgba(146,178,162,.52);
  background-color:rgba(255,255,255,.08);
  outline:0;
}
.nav-mode-inline option{background:#10261d;color:#eaf5ee;}
.dashboard-stats{margin-bottom:18px;}
@media(max-width:980px){.dashboard-stats{margin-bottom:16px;}}


/* 0.15.46: zklidneni rezimu, jednotne sekce a opravy paginace */
.nav-section-mode{margin:18px 10px 8px!important;color:#92b2a2!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:800!important;}
.nav-mode-inline{margin:0 0 4px!important;padding:0 10px 2px!important;}
.nav-mode-inline select{min-height:32px!important;border:1px solid rgba(220,238,229,.18)!important;border-radius:11px!important;background:rgba(255,255,255,.035) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2392b2a2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center!important;color:#dceee5!important;font-weight:650!important;font-size:12px!important;box-shadow:none!important;}
.nav-mode-inline select:hover,.nav-mode-inline select:focus{background-color:rgba(255,255,255,.06)!important;border-color:rgba(146,178,162,.45)!important;outline:0!important;}
.nav a.nav-item-plain{background:transparent!important;color:#dceee5!important;font-weight:650!important;}
.nav a.nav-item-plain:hover,.nav a.nav-item-plain.active{background:rgba(255,255,255,.075)!important;color:#fff!important;}
.form-card{display:grid;gap:16px}.form-card>.form-section{margin-top:0}.form-actions-section{background:transparent;border-style:dashed}.form-section h3{display:flex;align-items:center;gap:8px;color:#153425}.form-section h3:before{content:"";display:inline-block;width:6px;height:18px;border-radius:99px;background:var(--green)}.section-title.soft{margin:16px 0 8px;text-transform:none;letter-spacing:0;color:#2c4b3a;font-size:14px}.permission-table{margin-bottom:14px}.bulk-toolbar{align-items:center;border:1px solid #e0e9e3;background:#fbfdfc;border-radius:14px;padding:10px 12px}.bulk-toolbar .bulk-select,.bulk-toolbar select{max-width:260px;flex:0 0 260px}.password-policy-list,.password-policy-rows{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.password-policy-list li,.password-policy-rows li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;border:1px solid #e1ece6;border-radius:12px;background:#fff;padding:7px 10px;font-size:13px}.password-policy-list li.ok,.password-policy-rows li.ok{color:#087245;border-color:#b8dec9;background:#f3fbf6}.password-policy-list li.bad,.password-policy-rows li.bad{color:#a33a2a;border-color:#efd2cc;background:#fffafa}.policy-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:99px;font-weight:900;text-align:center}.policy-state{font-size:12px;font-weight:800;white-space:nowrap}.login-actions{margin-top:16px;padding-top:14px;border-top:1px solid #edf3ef;text-align:center}.login-action-main{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #cfded5;border-radius:13px;text-decoration:none;font-weight:900;color:#173c28;background:#f8fbf9}.login-action-main:hover{background:#eef8f2}.login-public-link{margin-top:10px!important;padding-top:0!important;color:#61736b}.login-public-link a{color:#2c4b3a!important;font-weight:800;text-decoration:underline;text-underline-offset:2px}.pager{margin-top:14px}.pager nav[role="navigation"]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pager nav[role="navigation"]>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pager svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}.pager a,.pager span{font-size:13px}.pager a[rel="prev"],.pager a[rel="next"],.pager nav[role="navigation"] a,.pager nav[role="navigation"] span[aria-current] span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:34px;padding:7px 10px;border:1px solid #dbe7e0;border-radius:10px;background:#fff;text-decoration:none;color:#173c28}.pager nav[role="navigation"] span[aria-disabled="true"] span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:34px;padding:7px 10px;border:1px solid #edf3ef;border-radius:10px;color:#9aac9f;background:#f8fbf9}.audit-pager{margin:14px 0 0}.module-category{margin-top:16px}.module-category-head{padding:10px 12px;border:1px solid #dbe7e0;border-radius:14px;background:#f8fbf9;margin-bottom:10px}@media(max-width:980px){.bulk-toolbar .bulk-select,.bulk-toolbar select{max-width:none;flex:1 1 100%}.pager nav[role="navigation"]{display:block}.pager nav[role="navigation"]>div{margin-top:8px}.password-policy-list li,.password-policy-rows li{grid-template-columns:22px 1fr}.policy-state{grid-column:2/3}}

/* 0.15.47: sjednoceni UI napric portalem, nenapadny rezim zobrazeni, login a lokalizovane strankovani */
.nav-section-mode{margin:18px 10px 6px!important;color:#92b2a2!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:800!important;}
.nav-section-mode+.menu-caption{margin:0 12px 6px!important;color:#8aa998!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important;}
.nav-mode-inline{margin:0 0 4px!important;padding:0 10px 0!important;}
.nav-mode-inline select{min-height:31px!important;border:1px solid rgba(220,238,229,.16)!important;border-radius:10px!important;background:rgba(255,255,255,.025) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%2392b2a2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center!important;color:#dceee5!important;font-weight:600!important;font-size:12px!important;padding:6px 28px 6px 9px!important;box-shadow:none!important;}
.nav-mode-inline select:hover,.nav-mode-inline select:focus{background-color:rgba(255,255,255,.05)!important;border-color:rgba(146,178,162,.42)!important;outline:0!important;}
.nav a.nav-item-plain{font-weight:650!important;background:transparent!important;color:#dceee5!important;}
.nav a.nav-item-plain:hover,.nav a.nav-item-plain.active{background:rgba(255,255,255,.075)!important;color:#fff!important;}
.locale-switch select{width:auto;min-width:64px;min-height:32px;border-radius:10px;padding:6px 9px;background:#fff;border:1px solid #cfded5;font-weight:900;color:#173c28;}
.login-card{width:min(460px,100%)}
.login-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #edf3ef;}
.login-secondary-link{font-size:13px;font-weight:800;color:#2c4b3a;text-decoration:none;border:1px solid #dbe7e0;background:#f8fbf9;border-radius:12px;padding:8px 10px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}
.login-secondary-link:hover{background:#eef8f2;color:#173c28}.login-secondary-link:first-child{font-weight:700;color:#61736b;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-actions,.login-public-link{display:none!important;}
.form-sections{display:grid;gap:18px}.form-section{border:1px solid rgba(13,47,31,.10)!important;border-radius:18px!important;background:#fff!important;padding:18px!important;box-shadow:0 6px 18px rgba(2,22,12,.045)!important;}.form-section h3{margin:0 0 14px!important;font-size:18px!important;font-weight:900!important;color:#102017!important;display:block!important}.form-section h3:before{display:none!important}.form-actions-section{background:#fbfdfc!important;border-style:solid!important}.section-title,.section-title.soft{margin:18px 0 10px!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;color:#173c28!important;font-weight:900!important}.card .form-section:first-child{margin-top:0}.toolbar .btn.yellow,.btn.yellow{background:#fff!important;border-color:#cfded5!important;color:#173c28!important}.toolbar .btn.yellow:hover,.btn.yellow:hover{background:#f8fbf9!important}.btn.danger{background:#fff7f7!important;border-color:#efcaca!important;color:#8f1f1f!important}.status-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.status-row label,label.active-check,label:has(input[name="is_active"]){display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe7e0;border-radius:999px;background:#f8fbf9;padding:7px 11px;margin:0;font-weight:800}.status-row label:has(input:checked),label.active-check:has(input:checked),label:has(input[name="is_active"]:checked){background:#e8f8ef;border-color:#b8dec9;color:#087245}.subject-top-flags{grid-column:1/-1}.password-block .subnote{display:none!important}.password-policy-list,.password-policy-rows{margin-top:9px!important}.password-policy-list li,.password-policy-rows li{grid-template-columns:22px 1fr auto!important;gap:10px!important}.policy-mark{margin-right:2px}.policy-text{line-height:1.25}.policy-state{padding-left:6px}.compact-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}.pager-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pager-links a,.pager-current,.pager-disabled{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #dbe7e0;border-radius:10px;background:#fff;text-decoration:none;color:#173c28;font-size:13px;font-weight:800}.pager-disabled{color:#91a397;background:#f8fbf9}.pager-current{background:#eef8f2;color:#173c28}.dashboard-stats{margin-bottom:22px!important}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.filter-grid .full{grid-column:1/-1}@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.filter-grid{grid-template-columns:1fr}.login-footer-actions{display:grid}.login-secondary-link:first-child{max-width:100%}.compact-pager{display:grid}.pager-links{justify-content:flex-start}.password-policy-list li,.password-policy-rows li{grid-template-columns:22px 1fr!important}.policy-state{grid-column:2/3;padding-left:0}}

/* 0.15.48: jednotny UI cleanup, tisk a zklidneny rezim v menu */
.nav-item-static{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;color:#dceee5;margin:4px 0;font-weight:650;}
.nav-mode-inline{margin:0 0 8px!important;padding:0 12px!important;}
.nav-mode-inline select{background-color:rgba(7,19,15,.35)!important;border-color:rgba(220,238,229,.20)!important;color:#dceee5!important;font-weight:600!important;}
.nav-mode-inline select:hover,.nav-mode-inline select:focus{background-color:rgba(255,255,255,.05)!important;border-color:rgba(146,178,162,.42)!important;}
.nav a.nav-item-plain{padding:10px 12px!important;margin:4px 0!important;border-radius:14px!important;}
.login-footer-actions{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;}
.login-secondary-link{flex:0 1 auto;}
.login-secondary-link.brand-url{font-weight:700!important;color:#61736b!important;max-width:58%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.login-secondary-link:not(.brand-url){font-weight:900!important;color:#173c28!important;}
.textarea-tall{min-height:180px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.35;}
.form-section>h3:first-child{border-bottom:1px solid #edf3ef;padding-bottom:10px;margin-bottom:16px!important;}
.form-section .form-section>h3:first-child{border-bottom:0;padding-bottom:0;}
.settings-json textarea,.advanced textarea{min-height:220px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.export-form-card .form-section{max-width:780px;}


/* 0.15.50: sjednoceny formularovy vzhled bez svazujici bile vrstvy */
.form-shell{max-width:1200px;margin:0 0 18px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;}
.form-shell.narrow{max-width:1200px;}
.form-shell .form-sections,.form-shell.form-sections{display:grid;gap:18px;}
.form-shell .form-section,.form-sections>.form-section,.form-shell>.form-section{background:#fff!important;border:1px solid rgba(13,47,31,.09)!important;box-shadow:0 8px 22px rgba(2,22,12,.08)!important;border-radius:var(--radius)!important;padding:20px!important;margin:0 0 18px!important;}
.form-shell .form-actions-section,.form-sections>.form-actions-section{background:#fff!important;border-style:solid!important;}
.card.narrow:has(> .form-sections),.card.form-card:has(> .form-sections){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.card.narrow:has(> .form-sections)>h2,.card.form-card:has(> .form-sections)>h2{display:none;}
.section-title,.section-title.soft{border:0!important;background:transparent!important;padding:0!important;}
.login-footer-actions{margin-top:16px;padding-top:14px;border-top:1px solid #edf3ef;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.login-secondary-link{font-weight:800;text-decoration:none;color:#173c28;border:1px solid #dbe7e0;border-radius:13px;padding:8px 12px;background:#f8fbf9;}
.login-secondary-link.brand-url{font-weight:700;color:#61736b;background:transparent;border-color:transparent;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;}
.login-secondary-link:hover{background:#eef8f2;}
.login-secondary-link.brand-url:hover{background:#f8fbf9;border-color:#dbe7e0;}
@media(max-width:700px){.login-footer-actions{display:grid;grid-template-columns:1fr}.login-secondary-link.brand-url{max-width:100%;text-align:left}}

.login-locale-switch{position:fixed;top:18px;right:18px;z-index:10;display:flex;gap:6px;background:rgba(255,255,255,.92);border:1px solid rgba(13,47,31,.14);border-radius:999px;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.login-locale-switch a{min-width:38px;text-align:center;text-decoration:none;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;color:#173c28}
.login-locale-switch a.active{background:#0c8f5c;color:#fff}
/* 0.15.51: LDAP profile forms use the same standalone section cards as profile/settings/maintenance. */
.form-shell.form-sections>.toolbar{margin:0 0 4px}.form-shell.form-sections>.toolbar+.form-section{margin-top:0!important}
/* v0.15.52: language switch belongs to the login card, not floating outside */
.login-card{position:relative}
.login-card-locale.login-locale-switch{position:absolute;top:16px;right:16px;z-index:2;box-shadow:none;background:#f6faf8;border-color:#dbe7e0}
.login-card .login-logo{padding-right:92px}


/* 0.15.53: print uses desktop content layout, never mobile/navigation chrome. */



.inline-search{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.inline-search .input{min-width:260px}
.per-page-inline{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--muted);font-weight:900;white-space:nowrap}
.per-page-inline select{width:auto;min-width:74px;padding:8px 10px}
.search-note{max-width:460px;line-height:1.25}
.nav-section-mode{margin-top:14px}
.nav-mode-inline{margin:0 8px 6px}
.nav-mode-inline select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#eaf5ee;border-radius:12px;padding:8px 10px}
@media(max-width:700px){.inline-search{display:flex;width:100%}.inline-search .input{min-width:0;flex:1 1 100%}.search-note{max-width:none}}

/* 0.15.64: compact list filters and mode menu group */
.toolbar .list-search{display:grid;grid-template-columns:minmax(220px,360px) auto auto auto;align-items:center;gap:8px;flex:1 1 620px;margin:0}
.toolbar .list-search .input{min-width:0;width:100%;max-width:none!important}
.toolbar .list-search .per-page-inline{display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:800}
.toolbar .list-search .per-page-inline select{width:5.2rem;min-width:0;padding:8px 9px;text-align:right}
.toolbar .list-search .search-note{grid-column:1/-1;max-width:none;font-size:12px;line-height:1.25;margin-top:0}
.bulk-toolbar{background:#fbfdfc;border:1px solid #e0e9e3;border-radius:14px;padding:10px 12px;margin:8px 0 14px}
.bulk-toolbar select{max-width:260px}
.nav-section-mode{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}
.nav-section-mode.closed span{transform:rotate(-90deg)}
@media(max-width:900px){.toolbar .list-search{grid-template-columns:1fr auto}.toolbar .list-search .per-page-inline{grid-column:1/-1}.toolbar .list-search .search-note{grid-column:1/-1}}

/* 0.15.65: clean list header/search layout */
.list-commandbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.list-primary-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;order:1}
.list-search-panel{margin-left:auto;order:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:720px}
.list-search-panel .input{width:min(360px,45vw);min-width:240px}
.list-search-panel .search-note{flex-basis:100%;font-size:12px;line-height:1.3;max-width:none;margin-top:1px;color:var(--muted)}
.list-table-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:8px 0 10px;flex-wrap:wrap}
.list-table-tools.bottom{margin:12px 0 0;justify-content:space-between}
.per-page-compact{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:900;color:var(--muted);white-space:nowrap}

.auth-info-action{justify-content:center;margin:-4px 0 16px}
.auth-info-action .btn{width:100%;border-color:rgba(12,143,92,.22);background:linear-gradient(135deg,#f7fffb,#eaf8f1);box-shadow:0 12px 30px rgba(2,22,12,.08)}
.auth-info-action .btn:hover,.auth-info-action .btn:focus-visible{transform:translateY(-1px);border-color:rgba(12,143,92,.38);box-shadow:0 18px 44px rgba(2,22,12,.12)}

/* 0.22.186: subdued auth-specific locale-switch scheme */
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth{
  position:absolute;
  top:18px;
  right:20px;
  z-index:3;
  display:inline-flex;
  gap:3px;
  padding:3px;
  border:1px solid rgba(17,82,60,.16);
  border-radius:999px;
  background:rgba(242,249,246,.94);
  box-shadow:0 4px 12px rgba(2,22,12,.045);
  backdrop-filter:none;
}
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth a{
  min-width:36px;
  min-height:30px;
  padding:6px 9px;
  border:1px solid transparent;
  border-radius:999px;
  color:#587166;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth a:hover,
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth a:focus-visible{
  border-color:rgba(17,82,60,.16);
  background:#fff;
  color:#174c39;
  transform:none;
}
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth a.active{
  border-color:rgba(12,143,92,.22);
  background:#e7f5ee;
  color:#0d5f42;
  box-shadow:none;
}
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth .inline-select,
.login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth select{
  min-width:112px;
  border-color:rgba(17,82,60,.16);
  background:#fff;
  color:#174c39;
  box-shadow:none;
}
.login-card .login-logo{
  min-height:48px;
  padding-right:108px;
  align-items:center;
}
@media(max-width:520px){
  .login-card .auth-locale.pub-locale-switch.locale-switch-scheme-auth{top:16px;right:16px}
  .login-card .login-logo{padding-right:96px}
  .login-card .login-logo img{width:128px}
  .login-card .login-logo span{font-size:24px}
}


/* 0.22.184: subdued authentication primary action */
.login-card .auth-submit.btn.primary{
  border:1px solid rgba(12,143,92,.28)!important;
  background:linear-gradient(135deg,#f3fbf7,#e4f5ec)!important;
  color:#0d5f42!important;
  box-shadow:0 8px 20px rgba(2,22,12,.08)!important;
  filter:none!important;
}
.login-card .auth-submit.btn.primary:hover,
.login-card .auth-submit.btn.primary:focus-visible{
  border-color:rgba(12,143,92,.46)!important;
  background:linear-gradient(135deg,#eaf8f1,#d8f0e4)!important;
  color:#084d35!important;
  box-shadow:0 12px 28px rgba(2,22,12,.12)!important;
  filter:none!important;
  transform:translateY(-1px);
}
.login-card .auth-submit.btn.primary:active{
  transform:translateY(0);
  box-shadow:0 5px 14px rgba(2,22,12,.09)!important;
}

/* source: resources/css/portal/20-cards-forms-buttons.css */
.per-page-compact select{width:4.5rem!important;min-width:0!important;padding:6px 8px!important;text-align:right}
.list-search-panel .btn,.list-primary-actions .btn{white-space:nowrap}
@media(max-width:900px){
  .list-commandbar{display:block}
  .list-primary-actions{margin-bottom:10px}
  .list-search-panel{margin-left:0;display:grid;grid-template-columns:1fr auto;max-width:none}
  .list-search-panel .input{width:100%;min-width:0}
  .list-search-panel .search-note{grid-column:1/-1}
  .list-table-tools,.list-table-tools.bottom{justify-content:flex-start}
}

/* 0.15.66: strict list controls layout. Primary actions must stay clean; no full-width form controls in list headers. */
.list-commandbar{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin-bottom:12px!important}
.list-primary-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:max-content!important}
.list-search-panel{margin-left:auto!important;display:grid!important;grid-template-columns:minmax(220px,340px) auto auto!important;align-items:start!important;gap:6px!important;max-width:520px!important}
.list-search-panel .input{width:100%!important;min-width:0!important;max-width:340px!important}
.list-search-panel .search-note{grid-column:1/-1!important;font-size:11.5px!important;line-height:1.25!important;margin:0!important;max-width:520px!important;color:var(--muted)!important}
.list-table-tools{margin:8px 0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important}
.list-table-tools:not(.bottom){display:none!important}
.list-table-tools.bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:10px!important}
.per-page-compact{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important;white-space:nowrap!important;font-size:12px!important;color:var(--muted)!important;font-weight:800!important}
.per-page-compact label{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important;white-space:nowrap!important;font-size:12px!important;color:var(--muted)!important;font-weight:800!important}
.per-page-compact select,.per-page-compact select.input{display:inline-block!important;width:4ch!important;min-width:4ch!important;max-width:4ch!important;padding:5px 4px!important;text-align:center!important;line-height:1.15!important;border-radius:9px!important}
.bulk-toolbar{margin:8px 0 12px!important;padding:8px 10px!important}
.bulk-toolbar select,.bulk-toolbar .bulk-select{width:auto!important;min-width:190px!important;max-width:260px!important;flex:0 0 auto!important}
@media(max-width:900px){
  .list-commandbar{display:block!important}
  .list-primary-actions{margin-bottom:10px!important;min-width:0!important}
  .list-search-panel{margin-left:0!important;display:grid!important;grid-template-columns:1fr auto!important;max-width:none!important}
  .list-search-panel .input{max-width:none!important}
  .list-table-tools.bottom{align-items:flex-start!important;display:grid!important;grid-template-columns:1fr!important}
}


/* 0.15.67: strict, non-negotiable list controls policy.
   Primary actions are separate. Filters are compact. Per-page control lives near pager/table only.
   This block intentionally overrides generic form rules such as select/input width:100%. */
.list-commandbar{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:0 0 12px!important;
}
.list-primary-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  max-width:100%!important;
}
.list-primary-actions .btn{
  flex:0 0 auto!important;
  width:auto!important;
  white-space:nowrap!important;
}
.list-search-panel{
  margin:0 0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(220px,340px) auto auto!important;
  align-items:start!important;
  justify-content:end!important;
  gap:6px!important;
  flex:0 1 540px!important;
  max-width:540px!important;
  width:auto!important;
}
.list-search-panel input.input,
.list-search-panel .input{
  width:100%!important;
  min-width:0!important;
  max-width:340px!important;
  box-sizing:border-box!important;
}
.list-search-panel .btn{
  width:auto!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.list-search-panel .search-note{
  grid-column:1/-1!important;
  margin:0!important;
  max-width:540px!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  color:var(--muted)!important;
}
.list-table-tools:not(.bottom){display:none!important}
.list-table-tools.bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:10px 0 0!important;
}
.per-page-compact,
.per-page-compact label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:800!important;
  color:var(--muted)!important;
}
.per-page-compact select,
.per-page-compact select.input,
.per-page-compact .compact-select,
select.compact-select{
  display:inline-block!important;
  width:7ch!important;
  min-width:7ch!important;
  max-width:7ch!important;
  flex:0 0 7ch!important;
  padding:5px 4px!important;
  text-align:center!important;
  line-height:1.15!important;
  border-radius:9px!important;
  box-sizing:border-box!important;
}
.bulk-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:8px 0 12px!important;
  padding:8px 10px!important;
}
.bulk-toolbar select,
.bulk-toolbar .bulk-select{
  width:auto!important;
  min-width:190px!important;
  max-width:260px!important;
  flex:0 0 auto!important;
}
@media(max-width:900px){
  .list-commandbar{display:block!important}
  .list-primary-actions{min-width:0!important;margin-bottom:10px!important}
  .list-search-panel{
    margin-left:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    justify-content:stretch!important;
    max-width:none!important;
    width:100%!important;
    flex:none!important;
  }
  .list-search-panel input.input,
  .list-search-panel .input{max-width:none!important;width:100%!important}
  .list-table-tools.bottom{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;justify-content:start!important}
  .per-page-compact,.per-page-compact label{justify-content:flex-start!important}
}

/* 0.15.68: list filters are intentionally on their own visible row below primary actions.
   Keep them compact; do not return to full-width stretched controls. */
.list-commandbar{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.list-primary-actions{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.list-search-panel{
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(220px,340px) auto auto!important;
  align-items:start!important;
  justify-content:start!important;
  gap:6px!important;
  flex:none!important;
  max-width:620px!important;
  width:auto!important;
  padding:8px 10px!important;
  border:1px solid #dbe7e0!important;
  border-radius:14px!important;
  background:#fbfdfc!important;
}
.list-search-panel input.input,
.list-search-panel .input{
  width:100%!important;
  min-width:0!important;
  max-width:340px!important;
  box-sizing:border-box!important;
}

/* Stable native checkbox alignment across x-portal surfaces. */
.check-item {
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0;
  margin:0;
}
.row-check {
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  min-width:0;
}
.check-item > input[type="checkbox"],
.row-check > input[type="checkbox"] {
  -webkit-appearance:auto;
  appearance:auto;
  accent-color:#008f6b;
  flex:0 0 15px;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  margin:0 !important;
  position:static !important;
  inset:auto !important;
  align-self:auto !important;
  transform:none !important;
  vertical-align:middle !important;
  border:0;
  border-radius:3px;
  background:initial;
  background-image:none;
  box-shadow:none;
  cursor:pointer;
  transition:filter .18s ease, outline-color .18s ease;
}
.row-check--with-content > input[type="checkbox"] {
  margin-top:0 !important;
  transform:translateY(-1px) !important;
}
.check-item > input[type="checkbox"]:hover,
.row-check > input[type="checkbox"]:hover { filter:brightness(.94) saturate(1.12); }
.check-item > input[type="checkbox"]:focus-visible,
.row-check > input[type="checkbox"]:focus-visible { outline:2px solid rgba(0,143,107,.42); outline-offset:2px; }
.check-item > input[type="checkbox"]:disabled,
.row-check > input[type="checkbox"]:disabled { cursor:not-allowed; opacity:.5; }
.check-item-content,
.row-check-content {
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  gap:2px;
  line-height:1.45;
}
.check-item-content { justify-content:center; }
.check-item-label,
.row-check-content > :first-child { min-width:0; }
.row-check-content > small,
.row-check-content .muted,
.check-item-content > small { line-height:1.35; }

.portal-upload-queue{display:grid;gap:8px;min-width:0;justify-items:start}.portal-upload-intro{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;max-width:100%;padding:8px 10px;border:1px solid #dbe7e0;border-radius:12px;background:#f8fbf9}.portal-upload-intro-copy{display:flex;align-items:center;gap:8px;min-width:0}.portal-upload-intro-copy .portal-note{margin:0;max-width:680px}.portal-upload-label{font-weight:700;white-space:nowrap}.portal-upload-choose{flex:0 0 auto;white-space:nowrap}.portal-upload-native-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.portal-upload-runtime{display:grid;gap:8px;min-width:0;justify-items:start}.portal-upload-summary{display:grid;grid-template-columns:auto minmax(140px,280px);gap:6px 12px;align-items:center;width:min(100%,460px);padding:9px 11px;border:1px solid #dbe7e0;border-radius:12px;background:#f7fbf9}.portal-upload-summary progress{width:100%;height:8px}.portal-upload-summary .muted{grid-column:1/-1}.portal-upload-list{display:grid;grid-template-columns:repeat(3,minmax(0,360px));gap:8px;align-items:start;justify-content:start;width:min(100%,1096px)}.portal-upload-row{display:grid;gap:5px;min-width:0;width:min(100%,360px);max-width:360px;padding:9px 10px;border:1px solid #dbe7e0;border-radius:12px;background:#fbfdfc}.portal-upload-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.portal-upload-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-upload-row progress{width:100%;height:7px}.portal-upload-delete{display:inline-grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:7px;background:transparent;color:#a4262c;cursor:pointer}.portal-upload-delete:hover{background:#fdecee}.portal-upload-delete[hidden]{display:none!important}.portal-upload-current-step{font-size:.82em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-upload-details{border-top:1px dashed #d7e3dc;padding-top:5px}.portal-upload-details>summary{cursor:pointer;font-size:.84em;font-weight:700}.portal-upload-steps{display:grid;gap:3px;margin-top:6px;font-size:.82em}.portal-upload-step{color:#64748b}.portal-upload-step.is-processing{color:#075f4f}.portal-upload-step.is-done{color:#087f5b}.portal-upload-error{color:#a4262c;font-size:.86em}.portal-upload-meta{font-size:.82em;color:#0f766e}.portal-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-upload-row[data-state="rejected"],.portal-upload-row[data-state="failed"]{border-color:#efc4c7}.portal-upload-row[data-state="ready"]{border-color:#a9dcc8}.portal-upload-group{width:min(100%,1096px);border:1px solid #dbe7e0;border-radius:12px;padding:7px 9px;background:#f7faf8}.portal-upload-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-upload-group-toggle,.portal-upload-group-delete{border:0;background:transparent;cursor:pointer}.portal-upload-group-toggle{padding:2px 0;font-weight:750;text-align:left;color:inherit}.portal-upload-group-toggle::before{content:'▸';display:inline-block;margin-right:6px;transition:transform .15s ease}.portal-upload-group-toggle[aria-expanded="true"]::before{transform:rotate(90deg)}.portal-upload-group-delete{padding:3px 6px;border-radius:7px;color:#a4262c;font-size:.82em}.portal-upload-group-delete:hover{background:#fdecee}.portal-upload-group>.portal-upload-list{margin-top:8px}.portal-upload-debug{margin-top:4px;border-top:1px dashed #d7e3dc;padding-top:6px}.portal-upload-debug summary{cursor:pointer;font-weight:800}.portal-upload-debug pre{margin:8px 0 0;max-height:320px;overflow:auto;padding:10px 12px;border-radius:10px;background:#07130f;color:#dff8ea;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}@media (max-width:1200px){.portal-upload-list{grid-template-columns:repeat(2,minmax(0,360px))}}@media (max-width:700px){.portal-upload-intro{display:flex;align-items:stretch;flex-direction:column}.portal-upload-intro-copy{display:grid;gap:4px}.portal-upload-label{white-space:normal}.portal-upload-choose{width:100%}.portal-upload-list{grid-template-columns:minmax(0,1fr)}.portal-upload-summary{width:100%;max-width:none}}.portal-upload-runtime[hidden],.portal-upload-summary[hidden],.portal-upload-group[hidden],.portal-upload-list[hidden]{display:none!important}

.portal-field-label-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.portal-field-label-row>label{margin-bottom:6px}.portal-field-label-extra{display:inline-flex;align-items:baseline;margin-bottom:6px}.portal-inline-action-link{display:inline-flex;align-items:center;color:#087245;font-size:12px;font-weight:750;line-height:1.2;text-decoration:underline;text-decoration-color:rgba(8,114,69,.34);text-underline-offset:2px;cursor:pointer}.portal-inline-action-link:hover,.portal-inline-action-link:focus-visible{color:#075f4f;text-decoration-color:currentColor}.portal-inline-action-link:focus-visible{outline:2px solid rgba(12,143,92,.28);outline-offset:3px;border-radius:4px}

/* source: resources/css/portal/21-form-dirty-state.css */
.portal-unsaved-state{font-weight:800;color:#8a6417;display:inline-flex;align-items:center;gap:6px}.portal-form-dirty .portal-unsaved-submit{box-shadow:0 0 0 3px rgba(255,216,77,.30),0 9px 24px rgba(12,143,92,.20)}.portal-form-dirty .portal-unsaved-submit::after{content:'•';color:#ffe16a;font-size:1rem;line-height:1}.portal-unsaved-state[hidden],[data-portal-dirty-mirror][hidden]{display:none!important}@media(max-width:700px){.form-actions-section .portal-unsaved-state{width:100%}}

/* source: resources/css/portal/30-tables-toolbar.css */
}
.list-search-panel .search-note{
  grid-column:1/-1!important;
  max-width:600px!important;
  margin:0!important;
}
@media(max-width:900px){
  .list-commandbar{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .list-primary-actions{width:100%!important}
  .list-search-panel{
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
    max-width:none!important;
    justify-content:stretch!important;
  }
  .list-search-panel input.input,
  .list-search-panel .input{max-width:none!important;width:100%!important}
}


/* 0.15.69: workspace dictionary lists use the same compact working-list pattern as admin lists. */
.list-context-note{margin:0 0 12px!important;padding:10px 12px!important}
.card>.list-commandbar:first-child{margin-top:0!important}

/* 0.15.72: keep status/active controls compact and visible; never let checkbox labels become full-width ovals. */
.status-row,
.subject-top-flags{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 14px!important;}
.status-row label,
.subject-top-flags label,
label.active-check,
.form-grid label:has(input[name="is_active"]){
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  align-self:start!important;
  justify-self:start!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  border:1px solid #dbe7e0!important;
  border-radius:999px!important;
  background:#f8fbf9!important;
  padding:7px 11px!important;
  margin:0!important;
  font-weight:800!important;
}
.status-row label:has(input:checked),
.subject-top-flags label:has(input:checked),
label.active-check:has(input:checked),
.form-grid label:has(input[name="is_active"]:checked){background:#e8f8ef!important;border-color:#b8dec9!important;color:#087245!important;}
.ico-ares-row{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;}
.ico-ares-row .ico-input{width:12ch!important;min-width:10ch!important;max-width:14ch!important;flex:0 0 12ch!important;}
.ico-ares-row .btn{flex:0 0 auto!important;white-space:nowrap!important;}
@media(max-width:700px){.ico-ares-row{align-items:stretch!important;}.ico-ares-row .ico-input{width:100%!important;max-width:none!important;flex:1 1 auto!important;}}

/* 0.15.74: sjednoceni viditelneho tlacitka zpet a kompaktnich editacnich pohledu */
.page-toolbar{margin:0 0 14px!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.form-shell>.toolbar:first-child,.card>.toolbar:first-child{margin-top:0!important;}
.unified-form-shell{max-width:1200px!important;}
.permission-table select{max-width:180px!important;width:auto!important;min-width:140px!important;}
.card.narrow,.form-shell.narrow{max-width:1200px!important;}
.status-row,label.active-check,label:has(input[name="is_active"]){max-width:max-content!important;}


/* 0.15.75: jednotne umisteni navratu a sirsi permission formular */
.page-help{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.45;max-width:1100px}
.permission-form{max-width:none!important;width:100%!important}
.permission-form .form-section{max-width:1200px}
.permission-form .permission-table table{min-width:760px}
.module-permission-note{margin-top:12px;padding:10px 12px;border:1px dashed #dbe7e0;border-radius:12px;background:#fbfdfc}

/* 0.15.76: permission form uses the same full-width page/form rhythm as other admin forms. */
.permission-form{max-width:none!important;width:100%!important;display:grid!important;gap:28px!important}
.permission-form .form-section{max-width:none!important;width:100%!important;box-sizing:border-box!important}
.permission-form .table-wrap{width:100%!important}
.permission-form .permission-table table{width:100%!important;min-width:0!important}
.permission-form .permission-table th:first-child,.permission-form .permission-table td:first-child{width:52%}
.permission-form .permission-table th:nth-child(2),.permission-form .permission-table td:nth-child(2){width:48%}
.module-permission-note{display:none!important}

/* v0.15.77: Permission group form must use the same standalone card pattern as other edit forms. */
.permission-form{display:grid!important;gap:28px!important;max-width:none!important;width:100%!important}
.permission-form>.form-section{width:100%!important;max-width:none!important;margin:0!important}
.permission-form>.permission-section{background:#fff!important;border:1px solid rgba(13,47,31,.09)!important;box-shadow:0 8px 22px rgba(2,22,12,.08)!important;border-radius:var(--radius)!important;padding:20px!important}
.permission-form>.permission-section>.permission-table{margin:0!important}
.permission-form>.permission-section>.permission-table table{width:100%!important;min-width:0!important}
.permission-form .section-title{display:none!important}

/* v0.15.79 additional profile size levels */
body.text-size-xxs{font-size:12px} body.text-size-xxl{font-size:20px}
body.control-size-xxs .btn,body.control-size-xxs .input,body.control-size-xxs select,body.control-size-xxs textarea{padding:5px 8px;min-height:28px;border-radius:9px} body.control-size-xxs th,body.control-size-xxs td{padding:7px 8px}
body.control-size-xxl .btn,body.control-size-xxl .input,body.control-size-xxl select,body.control-size-xxl textarea{padding:16px 20px;min-height:54px;border-radius:14px} body.control-size-xxl th,body.control-size-xxl td{padding:14px 16px}

/* 0.15.80: profile text/control scaling must affect the full portal, including forms, tables and admin pages. */
body.text-size-xxs{--portal-text-scale:12px;--portal-small-text-scale:11px;--portal-title-scale:23px;--portal-h2-scale:16px;--portal-h3-scale:15px}
body.text-size-xs{--portal-text-scale:13px;--portal-small-text-scale:12px;--portal-title-scale:24px;--portal-h2-scale:17px;--portal-h3-scale:16px}
body.text-size-sm{--portal-text-scale:14px;--portal-small-text-scale:12.5px;--portal-title-scale:26px;--portal-h2-scale:18px;--portal-h3-scale:17px}
body.text-size-normal{--portal-text-scale:14px;--portal-small-text-scale:13px;--portal-title-scale:28px;--portal-h2-scale:19px;--portal-h3-scale:18px}
body.text-size-lg{--portal-text-scale:16px;--portal-small-text-scale:14px;--portal-title-scale:31px;--portal-h2-scale:21px;--portal-h3-scale:20px}
body.text-size-xl{--portal-text-scale:18px;--portal-small-text-scale:16px;--portal-title-scale:35px;--portal-h2-scale:24px;--portal-h3-scale:22px}
body.text-size-xxl{--portal-text-scale:20px;--portal-small-text-scale:18px;--portal-title-scale:39px;--portal-h2-scale:27px;--portal-h3-scale:25px}
body[class*="text-size-"] :is(.main,.content,.card,.form-section,.topbar,.sidebar,.nav,.toolbar,.alert,.dl,.readonly-card,.table-wrap,table,td,.input,select,textarea,.btn,.combo-option,.password-policy-list li,.password-policy-rows li){font-size:var(--portal-text-scale)!important}
body[class*="text-size-"] :is(label,.muted,.mini,.badge,th,.kicker,.menu-caption,.subnote,.search-note,.per-page-compact,.per-page-inline,.policy-state){font-size:var(--portal-small-text-scale)!important}
body[class*="text-size-"] .page-title{font-size:var(--portal-title-scale)!important}
body[class*="text-size-"] :is(.card h2,h2){font-size:var(--portal-h2-scale)!important}
body[class*="text-size-"] :is(.form-section h3,h3,.section-title){font-size:var(--portal-h3-scale)!important}

body.control-size-xxs{--portal-control-pad-y:3px;--portal-control-pad-x:6px;--portal-control-min:24px;--portal-control-radius:7px;--portal-card-pad:10px;--portal-cell-pad-y:5px;--portal-cell-pad-x:6px;--portal-gap:6px}
body.control-size-xs{--portal-control-pad-y:4px;--portal-control-pad-x:7px;--portal-control-min:26px;--portal-control-radius:8px;--portal-card-pad:12px;--portal-cell-pad-y:6px;--portal-cell-pad-x:7px;--portal-gap:7px}
body.control-size-sm{--portal-control-pad-y:5px;--portal-control-pad-x:8px;--portal-control-min:28px;--portal-control-radius:9px;--portal-card-pad:14px;--portal-cell-pad-y:7px;--portal-cell-pad-x:8px;--portal-gap:8px}
body.control-size-normal{--portal-control-pad-y:7px;--portal-control-pad-x:9px;--portal-control-min:32px;--portal-control-radius:10px;--portal-card-pad:15px;--portal-cell-pad-y:8px;--portal-cell-pad-x:9px;--portal-gap:10px}
body.control-size-lg{--portal-control-pad-y:8px;--portal-control-pad-x:10px;--portal-control-min:35px;--portal-control-radius:11px;--portal-card-pad:17px;--portal-cell-pad-y:10px;--portal-cell-pad-x:10px;--portal-gap:12px}
body.control-size-xl{--portal-control-pad-y:10px;--portal-control-pad-x:12px;--portal-control-min:40px;--portal-control-radius:13px;--portal-card-pad:20px;--portal-cell-pad-y:12px;--portal-cell-pad-x:12px;--portal-gap:14px}
body.control-size-xxl{--portal-control-pad-y:12px;--portal-control-pad-x:15px;--portal-control-min:45px;--portal-control-radius:14px;--portal-card-pad:23px;--portal-cell-pad-y:13px;--portal-cell-pad-x:15px;--portal-gap:16px}
body[class*="control-size-"] :is(.btn,.input,select,textarea,.combo-option){padding:var(--portal-control-pad-y) var(--portal-control-pad-x)!important;min-height:var(--portal-control-min)!important;border-radius:var(--portal-control-radius)!important}
body[class*="control-size-"] :is(.card,.form-section){padding:var(--portal-card-pad)!important}
body[class*="control-size-"] :is(th,td){padding:var(--portal-cell-pad-y) var(--portal-cell-pad-x)!important}
body[class*="control-size-"] :is(.form-grid,.grid,.toolbar,.actions,.row-actions,.filter-grid,.list-search-panel,.form-sections){gap:var(--portal-gap)!important}

/* 0.16.7 unified list paging: show compact controls above and below data tables. */
.list-table-tools.unified-list-pager,
.list-table-tools.top.unified-list-pager,
.list-table-tools.bottom.unified-list-pager{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:10px 0 12px!important;
  padding:9px 10px!important;
  border:1px solid #e0e9e3!important;
  border-radius:14px!important;
  background:#fbfdfc!important;
}
.list-table-tools.bottom.unified-list-pager{margin:12px 0 0!important;}
.list-pager-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.list-pager-count{font-size:12px;font-weight:800;}
.list-pager-nav{margin-left:auto;}
@media(max-width:760px){
  .list-table-tools.unified-list-pager{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;}
  .list-pager-nav{margin-left:0;}
}
.text-danger{color:#8f1f1f!important;font-weight:800!important}


/* 0.16.8: per-page select must fit 3-digit values and bottom pager is emitted only when pages exist. */
.per-page-compact select,
.per-page-compact select.input,
.per-page-compact .compact-select,
select.compact-select{width:7ch!important;min-width:7ch!important;max-width:7ch!important;flex:0 0 7ch!important;}

/* 0.16.38: keep export/import option checkboxes vertically aligned and readable. */
.option-stack{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.option-stack label.active-check{width:max-content;max-width:100%}
.module-option{border:1px solid #e1ece6;border-radius:12px;background:#fff;padding:10px;display:grid;gap:7px}.module-option label{margin:0}.module-option textarea{min-height:54px;font-size:12.5px}

/* 0.16.44: quick page jump in unified list pager. */
.pager-jump-form{display:inline-flex;align-items:center;gap:5px;margin:0 2px}
.pager-jump-label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#5c7169;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.pager-jump-input{width:clamp(7ch, 9vw, 14ch)!important;min-width:7ch!important;max-width:14ch!important;min-height:34px!important;padding:6px 7px!important;border:1px solid #dbe7e0!important;border-radius:10px!important;background:#fff!important;text-align:center;font-weight:900;color:#173c28}
.pager-jump-submit{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #dbe7e0;border-radius:10px;background:#fff;text-decoration:none;color:#173c28;font-size:13px;font-weight:800;cursor:pointer}
.pager-jump-submit:hover{background:#eef8f2}
@media(max-width:760px){.pager-jump-form{width:100%;justify-content:flex-start}}

/* 0.16.48 sortable table headers */
/* Sortable header geometry: label, indicator and resize handle are independent. */
th:has(> .table-sort-link){
  --portal-table-header-pad-top:var(--portal-cell-pad-y,9px);
  position:relative;
}
.table-sort-link{
  display:block;
  width:100%;
  min-width:0;
  padding-right:24px;
  color:inherit;
  text-decoration:none;
  white-space:nowrap;
}
.table-sort-label{display:block;min-width:0}
.table-sort-link:hover .table-sort-label{text-decoration:underline}
.table-sort-indicator{
  position:absolute;
  top:calc(var(--portal-table-header-pad-top) + .6em);
  right:15px;
  transform:translateY(-50%);
  z-index:4;
  font-size:.78em;
  line-height:1;
  opacity:.55;
  pointer-events:none;
}
.table-sort-link.active .table-sort-indicator{opacity:1}
th.client-sortable{cursor:pointer;user-select:none;white-space:nowrap}
th.client-sortable::after{content:' ↕';font-size:.78em;opacity:.45}
th.client-sortable.client-sort-asc::after{content:' ▲';opacity:1}
th.client-sortable.client-sort-desc::after{content:' ▼';opacity:1}

/* 0.16.58: clearer clickable branding without modifying logo SVG geometry. */
.brand-link,.logo-link{position:relative;display:inline-flex;align-items:center;border-radius:14px;text-decoration:none;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,background-color .18s ease;outline-offset:4px;}
.brand-link img,.logo-link img{display:block;transition:transform .18s ease,filter .18s ease;transform-origin:center;}
.brand-link:hover,.brand-link:focus-visible,.logo-link:hover,.logo-link:focus-visible{transform:translateY(-1px) scale(1.035);filter:drop-shadow(0 10px 18px rgba(0,168,107,.28));}
.side-brand .brand-link:hover,.side-brand .brand-link:focus-visible{background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,216,77,.18),0 12px 28px rgba(0,0,0,.22);}
.login-logo .brand-link:hover,.login-logo .brand-link:focus-visible,.logo-link:hover,.logo-link:focus-visible{background:rgba(12,143,92,.06);box-shadow:0 0 0 1px rgba(12,143,92,.12),0 14px 34px rgba(2,22,12,.10);}
.portal-title-link{position:relative;text-decoration:none;color:inherit;border-radius:12px;transition:color .18s ease,transform .18s ease,text-shadow .18s ease,background-color .18s ease;}
.portal-title-link span{position:relative;text-decoration:none!important;}
.portal-title-link span::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--yellow));transform:scaleX(.22);transform-origin:left;opacity:.45;transition:transform .2s ease,opacity .2s ease;}
.portal-title-link:hover,.portal-title-link:focus-visible{transform:translateY(-1px);text-shadow:0 10px 22px rgba(0,168,107,.18);}
.portal-title-link:hover span::after,.portal-title-link:focus-visible span::after{transform:scaleX(1);opacity:1;}
.side-brand:hover span,.login-logo:hover span{text-decoration:none!important;}
@media (prefers-reduced-motion: reduce){.brand-link,.logo-link,.brand-link img,.logo-link img,.portal-title-link,.portal-title-link span::after{transition:none!important;transform:none!important;}}

/* 0.16.59: stronger logo glow/shine hover without changing SVG geometry. */
.brand-link,.logo-link{overflow:hidden;isolation:isolate;}
.brand-link::before,.logo-link::before{content:"";position:absolute;inset:-36%;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,216,77,.34),rgba(23,185,120,.22) 34%,rgba(255,255,255,0) 66%);opacity:0;transform:scale(.72) rotate(0deg);transition:opacity .24s ease,transform .34s ease;}
.brand-link::after,.logo-link::after{content:"";position:absolute;top:-42%;bottom:-42%;left:-70%;width:44%;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,0),rgba(255,255,255,.72),rgba(255,255,255,0));opacity:0;transform:translateX(-30%) skewX(-18deg);}
.brand-link img,.logo-link img{position:relative;z-index:2;}
.brand-link:hover,.brand-link:focus-visible,.logo-link:hover,.logo-link:focus-visible{transform:translateY(-2px) scale(1.045);filter:drop-shadow(0 0 10px rgba(255,216,77,.38)) drop-shadow(0 14px 24px rgba(0,168,107,.30));}
.brand-link:hover::before,.brand-link:focus-visible::before,.logo-link:hover::before,.logo-link:focus-visible::before{opacity:1;transform:scale(1) rotate(8deg);}
.brand-link:hover::after,.brand-link:focus-visible::after,.logo-link:hover::after,.logo-link:focus-visible::after{opacity:1;animation:brandLogoShine .72s ease-out 1;}
.side-brand .brand-link:hover,.side-brand .brand-link:focus-visible{box-shadow:0 0 0 1px rgba(255,216,77,.32),0 0 22px rgba(255,216,77,.18),0 16px 34px rgba(0,0,0,.26);}
.login-logo .brand-link:hover,.login-logo .brand-link:focus-visible,.logo-link:hover,.logo-link:focus-visible{box-shadow:0 0 0 1px rgba(12,143,92,.18),0 0 22px rgba(255,216,77,.16),0 16px 36px rgba(2,22,12,.12);}
@keyframes brandLogoShine{0%{transform:translateX(-45%) skewX(-18deg);opacity:0}18%{opacity:.9}100%{transform:translateX(430%) skewX(-18deg);opacity:0}}
@media (prefers-reduced-motion: reduce){.brand-link::before,.brand-link::after,.logo-link::before,.logo-link::after{transition:none!important;animation:none!important;opacity:0!important;}}
.admin-detail-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.admin-main-actions{margin-top:0}.admin-reset-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #dbe7e0;border-radius:16px;background:#fbfdfc;padding:10px 12px;margin:0;max-width:max-content}.admin-reset-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-reset-options label.active-check{background:#fff;margin:0}.admin-reset-options label.active-check:has(input:checked){background:#e8f8ef;border-color:#b8dec9;color:#087245}@media(max-width:700px){.admin-reset-card,.admin-reset-options,.admin-main-actions{display:flex;width:100%;max-width:none}.admin-reset-card .btn,.admin-main-actions .btn{width:100%}}
/* 0.17.25: CSP hardening helpers replacing inline style attributes */
.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mb-0{margin-bottom:0}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.w-full{width:100%}.inline-form{display:inline}.list-offset{margin:8px 0 0 18px}.input-max-420{max-width:420px}

.hidden-form{display:none}

/* Unified portal alerts for core, workspace modules and client modules. */
.alert{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-radius:16px;margin-bottom:18px;border:1px solid #cfeadd;background:#ecfbf2;color:#173c28}.alert-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;font-weight:900;background:rgba(12,143,92,.14);color:#087245}.alert-content{min-width:0;flex:1}.alert-title{font-weight:900;margin-bottom:4px}.alert-body>:first-child{margin-top:0}.alert-body>:last-child{margin-bottom:0}.alert-list{margin:0;padding-left:18px}.alert-success,.alert.ok,.alert.success{background:#ecfbf2;border-color:#bfe8d0;color:#0b5f3c}.alert-success .alert-icon,.alert.ok .alert-icon,.alert.success .alert-icon{background:#d8f6e6;color:#087245}.alert-info,.alert.info{background:#eef7ff;border-color:#cfe7ff;color:#174261}.alert-info .alert-icon,.alert.info .alert-icon{background:#dbeeff;color:#176098}.alert-warning,.alert.warn,.alert.warning,.alert.yellow{background:#fff8dc;border-color:#ffe28a;color:#5e4a00}.alert-warning .alert-icon,.alert.warn .alert-icon,.alert.warning .alert-icon,.alert.yellow .alert-icon{background:#ffefae;color:#765e00}.alert-danger,.alert.error,.alert.err,.alert.danger{background:#fff0f0;border-color:#ffd0d0;color:#8f1f1f}.alert-danger .alert-icon,.alert.error .alert-icon,.alert.err .alert-icon,.alert.danger .alert-icon{background:#ffe0e0;color:#a92525}.alert-close{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0 0 0 8px;opacity:.75}.alert-close:hover{opacity:1}

/* Maintenance upload pipeline result */
.upload-test-actions{margin:12px 0 10px!important;}
.upload-test-technical{display:block;width:100%;margin-top:12px;}
.technical-json{display:block;max-width:100%;max-height:420px;overflow:auto;white-space:pre;word-break:normal;background:#07130f;color:#eaf5ee;border-radius:14px;border:1px solid rgba(13,47,31,.16);padding:12px;margin:10px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;line-height:1.45;}
.technical-json code{display:block;white-space:pre;color:inherit;background:transparent;}
@media(max-width:700px){.technical-json{max-height:320px;font-size:11px;}}

/* 0.18.48: responsive maintenance upload result summary. */
.upload-test-result{display:block!important;width:100%;overflow:hidden;}
.upload-test-result-content{display:block;min-width:0;width:100%;}
.upload-test-result-title{display:block;margin-bottom:2px;}
.upload-test-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:stretch;max-width:100%;}
.upload-test-summary-item{min-width:0;border:1px solid rgba(23,96,152,.14);border-radius:14px;background:rgba(255,255,255,.58);padding:10px 12px;overflow:hidden;}
.upload-test-summary-item strong{display:block;margin-bottom:4px;color:#174261;line-height:1.25;}
.upload-test-summary-item span{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;}
.upload-test-result .upload-test-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;max-width:100%;}
.upload-test-result .upload-test-actions .inline-form{display:inline-flex;}
@media(max-width:700px){.upload-test-summary{grid-template-columns:1fr}.upload-test-result .upload-test-actions .btn,.upload-test-result .upload-test-actions .inline-form,.upload-test-result .upload-test-actions .inline-form .btn{width:100%;}}

/* 0.18.49: upload-test retention note. */
.upload-test-retention{margin:8px 0 0;font-size:12px;line-height:1.35;}
.combo-field-inline{display:flex;align-items:center;gap:8px;margin:0;}
.combo-field-inline>label.company-label{margin:0;}


/* 0.19.117 unified x-portal disclosure component. */
.portal-disclosure{display:block;width:100%;margin:10px 0;border:1px solid rgba(13,47,31,.12);border-radius:14px;background:#fbfdfc;overflow:hidden;}
.portal-disclosure-summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;cursor:pointer;user-select:none;color:#174261;font-weight:900;line-height:1.25;list-style:none;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease;}
.portal-disclosure-summary::-webkit-details-marker{display:none}.portal-disclosure-summary::marker{content:''}
.portal-disclosure-summary:hover,.portal-disclosure-summary:focus-visible{background:#eef8f2;color:#087245;outline:none;box-shadow:inset 0 0 0 1px rgba(8,114,69,.16);}
.portal-usage-blocked{margin-top:10px;padding-top:10px;border-top:1px solid rgba(143,31,31,.18)}
.portal-usage-heading{font-weight:900;margin-bottom:8px}
.portal-usage-module{margin-top:8px}.portal-usage-module-title{font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-usage-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:rgba(143,31,31,.10);font-size:.85em;font-weight:900}.portal-usage-message{margin-top:2px;opacity:.86}.portal-usage-items{margin:6px 0 0;padding-left:18px}.portal-usage-items li{margin:3px 0}.portal-usage-items a{font-weight:800;color:inherit;text-decoration:underline;text-underline-offset:2px}.portal-usage-description{opacity:.86}

/* 0.22.63: table help stays separate from the proven column picker DOM. */
.portal-table-help{position:absolute;top:8px;right:50px;z-index:119;display:inline-flex}
.portal-table-local-sort-status{margin:0 64px 8px 0;padding:6px 10px;border:1px solid #d8e6df;border-radius:10px;background:#f7fbf9;color:#4f675c;font-size:12px;font-weight:800;width:max-content;max-width:calc(100% - 72px)}
.portal-table-local-sort-active .table-sort-link .table-sort-indicator{opacity:.22}
.portal-table-local-sort-active .table-sort-link.page-sort-active .table-sort-indicator{opacity:1}
.table-sort-link.page-sort-active{font-weight:900;text-decoration:none}
.table-sort-link.page-sort-active::after{content:' · stránka';font-size:.72em;font-weight:800;color:#647b70}
html[lang="en"] .table-sort-link.page-sort-active::after{content:' · page'}
@media(max-width:700px){.portal-table-help{top:6px;right:48px}.portal-table-local-sort-status{margin-right:54px}}

/* 0.22.69: the table help trigger is always visible beside the column settings control. */
.portal-table-shell > .portal-table-help{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto;}

/* 0.22.71: component-owned table controls stay together in every visual template. */
.portal-table-corner-tools{position:absolute;top:8px;right:8px;z-index:120;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 16px)}
.portal-table-corner-tools>.portal-table-help,.portal-table-corner-tools>.portal-table-column-picker{position:static!important;top:auto!important;right:auto!important;left:auto!important;margin:0!important;display:inline-flex!important;visibility:visible!important;opacity:1!important}
.portal-table-corner-tools>.portal-table-help{z-index:121}
.portal-table-corner-tools>.portal-table-column-picker{z-index:122}
@media(max-width:700px){.portal-table-corner-tools{top:6px;right:6px;gap:6px}}

/* 0.22.423: maintenance destructive-data selection controls. */
.maintenance-company-scope{max-width:560px;}
.maintenance-selection-toolbar{align-items:flex-end;margin:0 0 14px;}
.maintenance-selection-toolbar>.field{min-width:240px;margin:0;}
@media(max-width:700px){
  .maintenance-company-scope{max-width:none;}
  .maintenance-selection-toolbar{align-items:stretch;}
  .maintenance-selection-toolbar>.field,.maintenance-selection-toolbar>.btn{width:100%;}
}

/* Maintenance background operation status */
.maintenance-operation-card{margin-top:16px}
.maintenance-operation-progress{display:grid;gap:8px;margin:2px 0 12px}
.maintenance-operation-progress-summary{display:inline-flex;align-items:center;gap:8px;min-height:26px}
.maintenance-operation-progress-summary [data-operation-progress]{font-size:14px;line-height:1}
.maintenance-operation-progress progress{display:block;width:min(100%,520px);height:9px;border:0;border-radius:999px;overflow:hidden;background:#edf3ef}
.maintenance-operation-progress progress::-webkit-progress-bar{background:#edf3ef;border-radius:999px}
.maintenance-operation-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}
.maintenance-operation-progress progress::-moz-progress-bar{background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}
.maintenance-operation-card .status-row{margin-bottom:0}
@media(max-width:700px){.maintenance-operation-progress progress{width:100%}}

/* source: resources/css/portal/40-xportal-table.css */
.portal-disclosure-summary-icon{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .16s ease;flex:0 0 auto;margin-left:1px;}
.portal-disclosure[open]>.portal-disclosure-summary .portal-disclosure-summary-icon{transform:rotate(45deg);}
.portal-disclosure-summary-label{min-width:0;overflow-wrap:anywhere;}
.portal-disclosure-body{padding:10px 12px 12px;border-top:1px solid rgba(13,47,31,.10);}
.portal-disclosure-body>:first-child{margin-top:0}.portal-disclosure-body>:last-child{margin-bottom:0}
.portal-disclosure-code{background:#f8fbfa;border-color:rgba(23,66,97,.18);}
.portal-disclosure-code .portal-disclosure-summary{color:#174261;}
.portal-disclosure-code .portal-disclosure-body{background:#fff;}
.portal-disclosure-code .technical-json{margin-top:0;}
.portal-disclosure-timeline{background:#fff;border-color:#dfeae4;}
.portal-disclosure-timeline .portal-disclosure-summary{background:#f8fbf9;}
.portal-disclosure-timeline[open] .portal-disclosure-summary{border-bottom-color:#dfeae4;}
.portal-disclosure-plain{border:0;background:transparent;border-radius:0;margin:8px 0;overflow:visible;}
.portal-disclosure-plain .portal-disclosure-summary{padding:4px 0;min-height:28px;}
.portal-disclosure-plain .portal-disclosure-summary:hover,.portal-disclosure-plain .portal-disclosure-summary:focus-visible{background:transparent;text-decoration:underline;text-underline-offset:3px;box-shadow:none;}
.portal-disclosure-plain .portal-disclosure-body{border-top:0;padding:6px 0 0;}
@media(max-width:700px){.portal-disclosure-summary{min-height:34px;padding:8px 10px}.portal-disclosure-body{padding:9px 10px 11px}}

/* 0.18.78 centralized typography contract */
.portal-text{font-size:var(--portal-text-scale,14px);line-height:1.45}.portal-text-size-xs{font-size:var(--portal-xs-text-scale,var(--portal-small-text-scale,12px))}.portal-text-size-sm{font-size:var(--portal-small-text-scale,13px)}.portal-text-size-md{font-size:var(--portal-text-scale,14px)}.portal-text-size-lg{font-size:calc(var(--portal-text-scale,14px) * 1.12)}.portal-text-size-xl{font-size:calc(var(--portal-text-scale,14px) * 1.25)}.portal-text-weight-normal{font-weight:400}.portal-text-weight-medium{font-weight:600}.portal-text-weight-bold{font-weight:800}.portal-text-weight-black{font-weight:900}.portal-text-tone-default{color:inherit}.portal-text-tone-muted{color:var(--muted)}.portal-text-tone-subtle{color:#496157}.portal-text-tone-success{color:#087245}.portal-text-tone-warning{color:#786100}.portal-text-tone-danger{color:#8f1f1f}.portal-text-italic{font-style:italic}.portal-heading{margin:0 0 14px;font-weight:900;line-height:1.16;color:var(--text)}.portal-heading-level-1,.portal-heading-size-h1{font-size:var(--portal-title-scale,28px)}.portal-heading-level-2,.portal-heading-size-h2{font-size:var(--portal-h2-scale,19px)}.portal-heading-level-3,.portal-heading-size-h3{font-size:var(--portal-h3-scale,18px)}.portal-heading-level-4,.portal-heading-size-h4{font-size:calc(var(--portal-h3-scale,18px) * .92)}.portal-heading-level-5,.portal-heading-size-h5,.portal-heading-level-6,.portal-heading-size-h6{font-size:var(--portal-small-text-scale,13px);text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.portal-note{display:block;margin-top:2px}.portal-description{display:block;margin:0 0 12px}.portal-helpbox{border-left:4px solid var(--green);background:#f3faf6;padding:12px 14px;border-radius:12px}.portal-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f5faf7;border:1px solid #dfeae4;border-radius:8px;padding:2px 6px}.portal-meta{letter-spacing:.01em}
body.theme-dark{--bg:#07130f;--card:#0f1d17;--text:#eef8f2;--muted:#a6b8ae;--line:#264236;background:#07130f;color:var(--text)}body.theme-dark .card,body.theme-dark .form-section,body.theme-dark .table-wrap,body.theme-dark table,body.theme-dark .login-card{background:#0f1d17;color:var(--text);border-color:#284437}body.theme-dark th{background:#14251d;color:#bdd4c8}body.theme-dark td{border-color:#223a30}body.theme-dark .input,body.theme-dark select,body.theme-dark textarea{background:#0b1712;color:var(--text);border-color:#345746}body.theme-dark .portal-helpbox{background:#10271d}


/* 0.18.80 x-portal text/layout cleanup helpers */
.portal-body{display:block}.portal-stack{display:grid;gap:14px}.portal-stack-gap-sm{gap:8px}.portal-stack-gap-md{gap:14px}.portal-stack-gap-lg{gap:20px}.portal-inline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.portal-list{margin:8px 0 0;padding-left:20px}.portal-list-item{margin:4px 0}.portal-definition-list{display:grid;grid-template-columns:160px 1fr;gap:8px 14px}.portal-definition-term{font-weight:800;color:#41594d}.portal-definition-value{margin:0}.password-policy-box{display:block!important;overflow:visible!important}.password-policy-box.full{grid-column:1/-1}.password-policy-list,.password-policy-rows{display:grid!important;visibility:visible!important;opacity:1!important;max-height:none!important;overflow:visible!important}.password-policy-list li,.password-policy-rows li{display:grid!important;visibility:visible!important}.portal-form-error,.form-error{color:#a92525;font-weight:800;margin-top:6px;font-size:13px}.hide{display:none!important}

/* 0.18.97 public module surface */

/* 0.19.5: local submenu under the active workspace/client module. */
.nav a.nav-subitem{margin:2px 0 2px 18px!important;padding:7px 10px!important;border-left:2px solid rgba(146,178,162,.35)!important;border-radius:10px!important;font-size:12px!important;background:rgba(255,255,255,.025)!important;color:#bfd3c7!important;}
.nav a.nav-subitem:hover,.nav a.nav-subitem.active{background:rgba(255,255,255,.08)!important;color:#fff!important;border-left-color:#f5ca3b!important;}

/* Audit column controls are interactive. Keep the affordance explicit. */
.audit-column-picker summary,
.audit-column-picker label,
[data-audit-sortable],
.audit-sortable-column,
th[data-column] a {
  cursor: pointer;
}

/* 0.19.17: mobile and responsive portal shell hardening */
.topbar{
  min-height:72px;
  height:auto;
  align-items:center;
  gap:16px;
}
.top-left{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  overflow:hidden;
}
.top-left > *{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.top-actions > *{
  flex:0 0 auto;
  margin-top:0;
  margin-bottom:0;
}
.top-actions .btn,
.top-actions select,
.top-actions .input{
  min-height:36px;
}
.locale-switch,
.top-actions form.inline{
  display:flex;
  align-items:center;
  gap:8px;
}
.company-combobox{
  align-items:center;
}
.combo-field-inline{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  min-width:0;
}
.combo-field-inline .company-label{
  flex:0 0 auto;
  margin:0;
}
.combo-field-inline .combo{
  flex:1 1 240px;
  min-width:220px;
}
.audit-log-card{
  overflow:hidden;
}
.audit-table-wrap{
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.audit-table-wrap table{
  min-width:1280px;
}
.audit-table-wrap th{
  position:sticky;
  top:0;
  z-index:2;
}
.audit-table-wrap td[data-column]:not([data-column="message"]),
.audit-table-wrap th[data-column]:not([data-column="message"]){
  white-space:nowrap;
}
.audit-table-wrap td.audit-message{
  min-width:280px;
  max-width:560px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.audit-column-picker{
  max-width:100%;
}
.audit-column-picker summary{
  min-height:36px;
  display:inline-flex;
  align-items:center;
}

/* source: resources/css/portal/41-xportal-table-responsive.css */
/* Responsive and viewport-specific x-portal table behavior. */
@media(max-width:980px){
  body:not(.force-classic-view) .topbar{
    padding:12px 16px;
    align-items:stretch;
  }
  body:not(.force-classic-view) .top-left{
    width:100%;
    min-width:0;
  }
  body:not(.force-classic-view) .top-actions{
    width:100%;
    align-items:stretch;
    justify-content:flex-start;
  }
  body:not(.force-classic-view) .top-actions > *,
  body:not(.force-classic-view) .top-actions .btn,
  body:not(.force-classic-view) .locale-switch,
  body:not(.force-classic-view) .top-actions form.inline{
    max-width:100%;
  }
  body:not(.force-classic-view) .company-combobox{
    width:100%;
    min-width:0;
    max-width:none;
    flex-wrap:wrap;
    align-items:flex-start;
  }
  body:not(.force-classic-view) .combo-field-inline{
    width:100%;
    flex-wrap:wrap;
    align-items:flex-start;
  }
  body:not(.force-classic-view) .combo-field-inline .company-label{
    width:100%;
    white-space:normal;
  }
  body:not(.force-classic-view) .combo-field-inline .combo,
  body:not(.force-classic-view) .combo{
    width:100%;
    min-width:0;
    flex-basis:100%;
  }
  body:not(.force-classic-view) .combo-list{
    max-height:min(320px, 55vh);
  }
  body:not(.force-classic-view) .audit-table-wrap{
    border-radius:14px;
    box-shadow:inset -18px 0 20px -22px rgba(2,22,12,.55);
  }
  body:not(.force-classic-view) .audit-table-wrap table{
    min-width:1180px;
  }
  body:not(.force-classic-view) .audit-table-wrap th,
  body:not(.force-classic-view) .audit-table-wrap td{
    padding:9px 10px;
    font-size:12px;
  }
  body:not(.force-classic-view) .audit-table-wrap td.audit-message{
    min-width:260px;
    max-width:420px;
  }
  body:not(.force-classic-view) .audit-column-picker{
    width:100%;
  }
  body:not(.force-classic-view) .audit-column-picker summary{
    width:100%;
    justify-content:center;
  }
}
@media(max-width:700px){
  body:not(.force-classic-view) .top-actions{
    gap:8px;
  }
  body:not(.force-classic-view) .top-actions .btn,
  body:not(.force-classic-view) .locale-switch,
  body:not(.force-classic-view) .top-actions form.inline{
    width:100%;
  }
  body:not(.force-classic-view) .top-actions .locale-switch select,
  body:not(.force-classic-view) .top-actions form.inline .btn{
    width:100%;
  }
}

/* 0.19.18: audit filter panel scroll hardening. */
.audit-filter-card{
  overflow:hidden;
}
.audit-filter-scroll{
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  padding-bottom:4px;
  box-shadow:inset -18px 0 20px -22px rgba(2,22,12,.55);
}
.audit-filter-scroll:focus-visible{
  outline:2px solid rgba(12,143,92,.38);
  outline-offset:3px;
}
.audit-filter-grid{
  min-width:1120px;
}
.audit-filter-grid .actions.full{
  min-width:100%;
  align-items:center;
  flex-wrap:wrap;
}
.audit-filter-grid .audit-column-picker{
  max-width:min(100%,360px);
}
.audit-filter-grid .audit-column-picker .portal-stack{
  max-height:min(420px,60vh);
  overflow:auto;
  padding-right:4px;
}
@media(max-width:980px){
  body:not(.force-classic-view) .audit-filter-scroll{
    border-radius:14px;
    box-shadow:inset -20px 0 24px -24px rgba(2,22,12,.65);
  }
  body:not(.force-classic-view) .audit-filter-grid{
    min-width:980px;
  }
  body:not(.force-classic-view) .audit-filter-grid .input,
  body:not(.force-classic-view) .audit-filter-grid select,
  body:not(.force-classic-view) .audit-filter-grid .combo{
    min-width:0;
  }
}
@media(max-width:700px){
  body:not(.force-classic-view) .audit-filter-grid{
    min-width:860px;
  }
  body:not(.force-classic-view) .audit-filter-grid .actions.full{
    gap:8px;
  }
}



/* 0.21.13: password policy is a first-class x-portal block and follows user typography. */
.password-policy-box{
  font-size:var(--portal-text-scale,14px)!important;
}
.password-policy-box>strong,
.password-policy-box .portal-text-weight-bold{
  font-size:var(--portal-text-scale,14px)!important;
  line-height:1.35!important;
}
.password-policy-note{
  font-size:var(--portal-small-text-scale,13px)!important;
  line-height:1.45!important;
}
.password-policy-list li,
.password-policy-rows li{
  font-size:var(--portal-small-text-scale,13px)!important;
  line-height:1.35!important;
}
.password-policy-list .policy-state,
.password-policy-rows .policy-state{
  font-size:var(--portal-small-text-scale,13px)!important;
  line-height:1.25!important;
}
.password-policy-list li.neutral,
.password-policy-rows li.neutral{
  color:var(--portal-text-secondary,var(--muted))!important;
  border-color:var(--portal-card-border,var(--line))!important;
  background:var(--portal-card-bg,#fff)!important;
  font-weight:650!important;
}
.password-policy-list li.neutral .policy-mark,
.password-policy-rows li.neutral .policy-mark{
  color:var(--portal-text-secondary,var(--muted))!important;
  opacity:.72;
}
.password-policy-list li.neutral .policy-state,
.password-policy-rows li.neutral .policy-state{display:none!important}

/* source: resources/css/portal/47-chart.css */
.portal-chart{margin:1rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);min-width:0}
.portal-chart-head{margin:0 0 .75rem}.portal-chart-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.portal-chart-head h3{margin:0}.portal-chart-head p{margin:.25rem 0 0}
.portal-chart-stage{width:100%;min-height:330px;overflow-x:auto}.portal-chart-svg{display:block;width:100%;min-width:720px;height:auto}
.portal-chart-grid line{stroke:var(--line);stroke-width:1}.portal-chart-grid .portal-chart-zero{stroke:var(--muted);stroke-width:1.5}
.portal-chart-grid text{fill:var(--muted);font-size:12px}.portal-chart-line polyline{stroke:currentColor;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.portal-chart-line circle{fill:var(--card);stroke:currentColor;stroke-width:2.5;vector-effect:non-scaling-stroke}.portal-chart-line circle:focus{outline:none;stroke-width:4}
.portal-chart-series-1{color:#14804a}.portal-chart-series-2{color:#c53b32}.portal-chart-series-3{color:#1769aa}
.portal-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center;margin-top:.5rem}.portal-chart-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--muted)}
.portal-chart-legend-item.portal-chart-series-1{color:#14804a}.portal-chart-legend-item.portal-chart-series-2{color:#c53b32}.portal-chart-legend-item.portal-chart-series-3{color:#1769aa}
.portal-chart-legend-marker{width:1.1rem;height:.2rem;border-radius:999px;background:currentColor}.portal-chart-empty{display:grid;place-items:center;min-height:260px;color:var(--muted)}
.portal-chart-stack{display:grid;gap:1rem;margin-top:1rem}
@media (max-width:760px){.portal-chart{padding:.75rem}.portal-chart-stage{min-height:280px}.portal-chart-svg{min-width:640px}}
.portal-chart-switcher{margin-top:1rem}.portal-chart-switcher-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem 1rem}.portal-chart-switcher-controls .portal-field{min-width:min(100%,22rem);margin:0}.portal-chart-switcher-items{min-width:0}.portal-chart-switcher-item[hidden]{display:none!important}.portal-chart-switcher .portal-chart{margin-top:.75rem}
.portal-chart-circular{min-width:420px}.portal-chart-slice{fill:currentColor;stroke:var(--card);stroke-width:2;vector-effect:non-scaling-stroke}.portal-chart-slice:focus{outline:none;stroke-width:5}.portal-chart-center-label{fill:var(--text);font-size:18px;font-weight:700}.portal-chart-center-sub{fill:var(--muted);font-size:12px}.portal-chart-series-4{color:#8a5fb5}.portal-chart-series-5{color:#c17a18}.portal-chart-series-6{color:#607d8b}.portal-chart-series-7{color:#ad4e78}.portal-chart-series-8{color:#657d32}
.portal-chart-bar rect{fill:currentColor;opacity:.9}.portal-chart-bar rect:focus{outline:none;opacity:1;stroke:var(--text);stroke-width:1;vector-effect:non-scaling-stroke}

.portal-chart-bars rect.portal-chart-series-1,.portal-chart-bars rect.portal-chart-series-2{fill:currentColor;opacity:.9}.portal-chart-cashflow-marker{stroke:currentColor;stroke-width:4;vector-effect:non-scaling-stroke}

.portal-chart-doughnut-ring{fill:none!important}.portal-chart-layered-bar{fill:currentColor;opacity:.9}.portal-chart-layered-bar:focus{outline:none;opacity:1;stroke:var(--text);stroke-width:1;vector-effect:non-scaling-stroke}
@media (max-width:760px){
  .portal-chart-stage{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .portal-chart-stage>.portal-chart-svg:not(.portal-chart-circular){width:auto;max-width:none}
}

/* source: resources/css/portal/50-responsive-print.css */
/* 0.19.30: clean x-portal print and PDF contracts. One print block, standard margins. */
@page{size:A4;margin:8mm 8mm 10mm 8mm;}
@media print{
  html,body{margin:0!important;padding:0!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;background:#fff!important;color:var(--text)!important;}
  body{font-size:9.5pt!important;line-height:1.25!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;}
  .sidebar,.sidebar *,
  .topbar,.topbar *,
  .top-left,.top-actions,
  .impersonation-banner,.debug-url-btn,.pdf-export-form,.print-pdf-btn,
  .toolbar,.actions,.row-actions,.bulk-toolbar,.nav,.locale-switch,
  .login-footer-actions,.portal-column-picker,.portal-table-tools,.portal-table-head-tools,
  .mobile-view-toggle,[data-mobile-view-toggle],.portal-cookie-notice,.portal-table-toolbar,.portal-table-local-filter,.portal-table-header,.portal-table-scroll-arrows,[data-table-scroll-arrows],[data-xportal-table-local-filter],[data-xportal-collapse-toggle],[data-column-picker],[data-column-reset],[data-column-toggle],[data-table-export-link],[data-copy-value],[data-auto-submit],[data-confirm],[data-confirm-action],.no-print{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;}
  .app,.main,.content{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;position:static!important;top:auto!important;left:auto!important;}
  .content>*:first-child,.content>*:first-child>*:first-child{margin-top:0!important;padding-top:0!important;}
  .page-head,.page-head>*,.page-head h1,.page-head h2,.page-title,.page-kicker{margin-top:0!important;padding-top:0!important;}
  .page-head{margin-bottom:3mm!important;}
  .card,.form-section,.table-wrap,.audit-log-card,.audit-table-wrap,.audit-filter-card,.audit-filter-scroll{box-shadow:none!important;break-inside:auto!important;page-break-inside:auto!important;max-width:none!important;overflow:visible!important;}
  .audit-filter-card,.audit-filter-scroll{display:block!important;height:auto!important;}
  .audit-filter-grid{min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5mm!important;}
  .table-wrap,.audit-table-wrap{border-radius:0!important;border:0!important;width:100%!important;max-width:none!important;overflow:visible!important;}
  table{width:100%!important;max-width:none!important;min-width:0!important;border-collapse:collapse!important;table-layout:auto!important;}
  th,td{padding:4px 5px!important;font-size:8.5pt!important;line-height:1.2!important;word-break:break-word!important;white-space:normal!important;}
  .audit-message{max-width:none!important;white-space:normal!important;}
  thead{display:table-header-group;}tfoot{display:table-footer-group;}tr{break-inside:avoid;page-break-inside:avoid;}
  .portal-column-resize-handle,.portal-card-collapse-toggle,.portal-toast-center{display:none!important;}
  .portal-card-body[hidden]{display:block!important;}
  .password-policy-box,.password-policy-list li,.password-policy-rows li,.password-policy-list li.ok,.password-policy-list li.bad,.password-policy-rows li.ok,.password-policy-rows li.bad,.helpbox,.info-box,.card-soft,.module-category-head,.status-row label,label.active-check,label:has(input[name="is_active"]),.alert,.alert.err{background:#fff!important;color:#000!important;border-color:#999!important;box-shadow:none!important;}
  .policy-mark,.badge,.badge.red,.badge.yellow{background:#fff!important;color:#000!important;border:1px solid #999!important;}
  .portal-disclosure,.portal-disclosure-summary,.portal-disclosure-body{background:#fff!important;color:#000!important;border-color:#999!important;box-shadow:none!important;}
  .portal-disclosure-summary{cursor:default!important;}
  .portal-chart-stage{overflow:visible!important;}
  .portal-chart-svg{min-width:0!important;}
  .portal-chart{break-inside:avoid!important;page-break-inside:avoid!important;}
  a[href]::after{content:""!important;}

  /* workspace_app/client_app task surface print adjustments */
.surface-workspace-app,
  .surface-client-app {
    background: #fff !important;
  }
  .surface-workspace-app .portal-app-content,
  .surface-client-app .portal-app-content {
    width: 100%;
    padding: 0;
  }

  body::before,body::after,.main::before,.main::after,.content::before,.content::after{display:none!important;content:none!important;}
  .card,.form-section,.portal-form-section,.table-wrap,.audit-log-card,.audit-filter-card{background:#fff!important;background-image:none!important;}
}

/* 0.19.30: server PDF export uses screen styling, but only the x-portal content area; scrolling wrappers expand. */
body.pdf-export-render{background:#eef4f0!important;margin:0!important;padding:0!important;}
body.pdf-export-render .sidebar,
body.pdf-export-render .topbar,
body.pdf-export-render .impersonation-banner,
body.pdf-export-render .debug-url-btn,
body.pdf-export-render .pdf-export-form,
body.pdf-export-render .toolbar,
body.pdf-export-render .actions,
body.pdf-export-render .row-actions,
body.pdf-export-render .bulk-toolbar,
body.pdf-export-render .nav,
body.pdf-export-render .locale-switch,
body.pdf-export-render .login-footer-actions,
body.pdf-export-render .portal-column-picker,
body.pdf-export-render .portal-table-tools,
body.pdf-export-render .no-print{display:none!important;}
body.pdf-export-render .app{display:block!important;min-height:0!important;background:#eef4f0!important;}
body.pdf-export-render .main{display:block!important;width:100%!important;min-height:0!important;background:#eef4f0!important;}
body.pdf-export-render .content{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:#eef4f0!important;}
body.pdf-export-render .content>*:first-child{margin-top:0!important;}
body.pdf-export-render .page-head{margin-top:0!important;}
body.pdf-export-render .audit-filter-scroll,
body.pdf-export-render .table-wrap,
body.pdf-export-render .audit-table-wrap{max-width:none!important;overflow:visible!important;}
body.pdf-export-render table{width:100%!important;min-width:0!important;table-layout:auto!important;}
body.pdf-export-render th,body.pdf-export-render td{white-space:normal!important;word-break:break-word!important;}
body.pdf-export-render .btn[type="submit"],
body.pdf-export-render button[type="submit"],
body.pdf-export-render input[type="submit"]{display:none!important;}

/* 0.19.30: full-size readable PDF icon-only export control. */
.pdf-export-form{display:inline-flex;align-items:center;margin:0;}
.print-pdf-btn.icon-only{width:38px;min-width:38px;height:38px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-color:#d9b1b1;background:#fff7f7;color:#c90000;overflow:hidden;}
.print-pdf-btn.icon-only:hover,.print-pdf-btn.icon-only:focus{background:#ffecec;border-color:#e6a6a6;color:#b00000;}
.print-pdf-btn .portal-icon-pdf{display:block;width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;}

/* 0.19.30: x-portal column picker is part of every table shell, visually in the table header corner, but its dropdown is not clipped by the table scroller. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.portal-table-shell{position:relative;max-width:100%;overflow:visible;}
.portal-table-shell .table-wrap{position:relative;overflow-x:visible;overflow-y:visible;}
.portal-table-has-picker table tr:first-child th:last-child{padding-right:58px!important;}
.portal-table-column-picker{position:absolute;top:8px;right:8px;z-index:120;}
.portal-column-picker{max-width:100%;display:inline-flex;align-items:center;justify-content:flex-end;}
.portal-column-picker-summary{width:34px;min-width:34px;height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;gap:0;cursor:pointer;user-select:none;border:1px solid #d8e5dd;border-radius:10px;background:#f8fbf9;color:#173c28;font-weight:900;list-style:none;box-shadow:0 2px 8px rgba(2,22,12,.08);}
.portal-column-picker-summary::-webkit-details-marker{display:none;}
.portal-column-picker-summary::marker{content:'';}
.portal-column-picker-summary:hover,.portal-column-picker[open] .portal-column-picker-summary{background:#eef8f2;border-color:#b8d8c4;color:#0b6f49;}
.portal-column-picker-summary .portal-icon-columns{width:22px;height:22px;display:block;}
.portal-column-picker-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:140;width:min(340px,calc(100vw - 32px));max-height:min(520px,78vh);overflow:auto;padding:12px;background:#fff;border:1px solid #dbe7e0;border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.18);}
.portal-column-picker label,[data-column-toggle]{cursor:pointer;}
.portal-column-toggle-row{display:flex;align-items:center;gap:8px;border:1px solid #edf3ef;border-radius:10px;background:#fbfdfc;padding:7px 9px;margin:0;font-weight:800;}
.portal-column-picker .portal-stack{max-height:none;overflow:visible;padding-right:0;}
.portal-column-picker:not([open]) .portal-column-picker-menu{display:none;}
@media(max-width:700px){.portal-table-column-picker{top:6px;right:6px}.portal-column-picker-menu{position:fixed;right:12px;left:12px;top:74px;margin-top:0;width:auto;max-height:calc(100vh - 96px);}}

/* 0.19.31: x-portal table column picker supports visibility and order for every x-portal.table. */
.portal-column-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #edf3ef;border-radius:10px;background:#fbfdfc;padding:7px 8px;margin:0;}
.portal-column-picker-row .check-item,.portal-column-toggle-label{flex:1;min-width:0;margin:0;border:0;background:transparent;padding:0;font-weight:800;}
.portal-column-toggle-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.portal-column-order-actions{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;}
.portal-column-order-btn{width:28px;height:28px;border:1px solid #d8e5dd;border-radius:8px;background:#fff;color:#173c28;font-weight:900;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.portal-column-order-btn:hover,.portal-column-order-btn:focus{background:#eef8f2;border-color:#b8d8c4;color:#0b6f49;}
.portal-column-order-btn:disabled{opacity:.35;cursor:not-allowed;background:#f6f8f7;color:#8a9a90;}
.portal-column-picker-bulk{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px;}
.portal-column-picker-bulk .btn,.portal-column-picker [data-column-reset]{font-size:11px;padding:5px 8px;}
.portal-column-picker [data-column-reset]{align-self:flex-start;}
/* 0.19.41: unified x-portal table exports */
.portal-table-export-toolbar{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px 0;padding:6px 8px;border:1px solid #dbe7e0;background:#f8fbf9;border-radius:12px;box-shadow:0 4px 14px rgba(20,52,38,.06)}
.portal-table-export-label{font-size:12px;font-weight:900;color:var(--muted)}
.portal-table-export-icon{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 7px;border:1px solid #cfe2d8;border-radius:9px;background:#fff;color:#234737;font-size:11px;font-weight:900;text-decoration:none;line-height:1}
.portal-table-export-icon:hover{background:#eef8f2;color:#153b2b;text-decoration:none;transform:translateY(-1px)}
.portal-table-export-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-table-has-export.portal-table-has-picker .portal-table-column-picker{top:10px}
@media(max-width:700px){.portal-table-export-toolbar{display:flex;flex-wrap:wrap}.portal-table-export-icon span{display:inline-flex}}

/* 0.19.44 structured delivery-address editor */
.subject-delivery-addresses {
  display: grid;
  gap: .75rem;
  margin-top: .75rem;
}
.subject-delivery-address-card {
  border: 1px solid var(--border, rgba(148, 163, 184, .35));
  border-radius: 14px;
  padding: .85rem;
  background: rgba(255, 255, 255, .025);
}

/* 0.19.48: inline controls must stay compact; full width is only for regular form fields. */
.portal-inline-select, select.portal-inline-select{width:auto;max-width:100%;min-width:0;display:inline-flex;}
.portal-export-layout-select{width:auto!important;min-width:150px;max-width:220px;}

/* 0.19.54: x-portal.table scroll mode (on/off), compact column settings and travelling side arrows. */
.portal-table-shell{position:relative;}
.portal-table-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px 0;}
.portal-table-toolbar .portal-table-export-toolbar{margin:0;}
.portal-column-picker-section{border-top:1px solid #edf3ef;margin-top:6px;padding-top:8px;}
.portal-column-picker-scroll-section{display:grid;gap:6px;}
.portal-column-picker-scroll-section-top{border-top:0;margin-top:0;padding-top:0;padding-bottom:8px;border-bottom:1px solid #edf3ef;}
.portal-table-scroll-choice{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;}
.portal-table-scroll-mode-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;width:auto;max-width:100%;padding:5px 9px;border:1px solid #cfe2d8;border-radius:999px;background:#fff;color:#234737;font-size:12px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(20,52,38,.04);}
.portal-table-scroll-mode-btn:hover,.portal-table-scroll-mode-btn:focus{background:#eef8f2;color:#153b2b;border-color:#b8d8c4;}
.portal-table-scroll-mode-btn.is-active,.portal-table-scroll-mode-btn[aria-pressed="true"]{background:#e8f5ed;border-color:#9fcab0;color:#0b6f49;}
.portal-table-shell.portal-table-scroll-on .table-wrap{overflow-x:auto;overflow-y:visible;max-width:100%;}
.portal-table-shell.portal-table-scroll-off .table-wrap{overflow-x:visible;overflow-y:visible;}
.portal-table-shell.portal-table-scroll-off:not(.portal-table-scroll-auto){max-width:none;width:max-content;min-width:100%;}
.portal-table-shell.portal-table-scroll-off:not(.portal-table-scroll-auto) .table-wrap{width:max-content;min-width:100%;max-width:none;}
.portal-table-scroll-arrows{display:none;position:fixed;top:var(--portal-table-scroll-arrow-top,50vh);left:0;right:0;height:0;z-index:30;pointer-events:none;}
.portal-table-scroll-arrow{display:none;position:absolute;top:0;transform:translateY(-50%);align-items:center;justify-content:center;width:34px;height:48px;border:1px solid rgba(34,77,54,.22);border-radius:999px;background:rgba(255,255,255,.92);color:#163e2d;font-size:28px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 10px 25px rgba(20,52,38,.16);pointer-events:auto;}
.portal-table-scroll-arrow:hover,.portal-table-scroll-arrow:focus{background:#eef8f2;border-color:#9fcab0;color:#0b6f49;}
.portal-table-scroll-arrow-left{left:var(--portal-table-scroll-arrow-left,10px);}
.portal-table-scroll-arrow-right{right:var(--portal-table-scroll-arrow-right,10px);}
.portal-table-shell.portal-table-scroll-on.portal-table-overflowing.portal-table-scroll-in-view .portal-table-scroll-arrows{display:block;}
.portal-table-shell.portal-table-scroll-on.portal-table-can-scroll-left .portal-table-scroll-arrow-left{display:inline-flex;}
.portal-table-shell.portal-table-scroll-on.portal-table-can-scroll-right .portal-table-scroll-arrow-right{display:inline-flex;}
body.pdf-export-render .portal-table-shell .table-wrap{overflow:visible!important;}


.portal-confirm-backdrop{position:fixed;inset:0;background:rgba(7,19,15,.42);display:none;align-items:center;justify-content:center;z-index:4000;padding:20px}.portal-confirm-backdrop.show{display:flex}.portal-confirm-dialog{width:min(460px,100%);background:#fff;border:1px solid rgba(13,47,31,.12);border-radius:18px;box-shadow:var(--shadow);padding:18px}.portal-confirm-title{font-weight:900;font-size:18px;margin-bottom:8px}.portal-confirm-message{color:#43594e;margin-bottom:16px;line-height:1.45}.portal-confirm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.portal-toast-center{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:3900;max-width:min(420px,calc(100vw - 36px))}.portal-toast{opacity:0;transform:translateY(8px);transition:.2s ease;background:#10261d;color:#fff;border-radius:14px;padding:11px 14px;box-shadow:var(--shadow);font-weight:800}.portal-toast.show{opacity:1;transform:translateY(0)}.portal-toast.success{background:#087245}.portal-toast.warning{background:#786100}.portal-toast.danger,.portal-toast.red{background:#8f1f1f}.badge.success{background:#e7f7ef;color:#087245}.badge.info{background:#e8f1ff;color:#205493}.badge.muted{background:#eef2ef;color:#61736b}.audit-trail-panel{margin-top:14px}.audit-trail-list{display:grid;gap:8px}.audit-trail-list .portal-list-item{border-bottom:1px solid #edf3ef;padding:9px 0}

/* 0.19.65: x-portal consolidation and user comfort helpers. */
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-head-main{min-width:0}.portal-card-body[hidden]{display:none!important}.portal-card-collapse-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #d8e5dd;border-radius:999px;background:#fff;color:#234737;font-weight:900;padding:5px 9px;cursor:pointer}.portal-card-collapse-toggle:hover,.portal-card-collapse-toggle:focus{background:#eef8f2;color:#0b6f49}.portal-card-collapse-toggle[aria-expanded="false"] span[aria-hidden="true"]{transform:rotate(-90deg)}
.portal-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 8px 0}.portal-active-filters-label{font-size:12px;font-weight:900;color:var(--muted)}.portal-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfe2d8;border-radius:999px;background:#f8fbf9;color:#234737;text-decoration:none;padding:4px 8px;font-size:12px;font-weight:800}.portal-filter-chip:hover{background:#eef8f2;color:#0b6f49;text-decoration:none}.portal-filter-chip-reset{background:#fff}
.portal-column-resizable{position:relative}.portal-column-resize-handle{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;touch-action:none;z-index:5}.portal-column-resize-handle::after{content:"";position:absolute;top:20%;bottom:20%;left:4px;border-left:1px solid rgba(34,77,54,.18)}.portal-column-resize-handle:hover::after,.portal-column-resizing .portal-column-resize-handle::after{border-left-color:#0b6f49}.portal-column-resizing{user-select:none}
.portal-copy-value{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.portal-copy-value:hover .portal-copy-value-text{text-decoration:underline}.portal-copy-value-icon{font-size:.9em;color:var(--muted)}.portal-copy-value.is-copied{color:#087245}
.portal-loading-state,.portal-error-state{display:flex;align-items:center;gap:10px;border:1px solid #dbe7e0;border-radius:14px;background:#f8fbf9;padding:12px 14px;color:#234737}.portal-error-state{border-color:#f1c7c7;background:#fff6f6;color:#8f1f1f;display:block}.portal-loading-spinner{width:16px;height:16px;border:2px solid #cfe2d8;border-top-color:#0b6f49;border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}

/* 0.19.66: sticky table headers and clearer toast variants. */
.portal-table-sticky-header table[data-xportal-table] thead th{
  position:sticky;
  top:var(--portal-sticky-table-header-top,72px);
  z-index:12;
  box-shadow:0 1px 0 #dbe7e0,0 6px 14px rgba(15,45,30,.08);
}
.portal-table-sticky-header table[data-xportal-table] thead th .portal-column-resize-handle{z-index:13;}
.portal-toast.info{background:#205493;}
.portal-toast.warning{background:#8a6a00;color:#fff;}
.portal-toast.success{background:#087245;color:#fff;}
.portal-toast.danger,.portal-toast.red{background:#8f1f1f;color:#fff;}
body.pdf-export-render .portal-table-sticky-header table[data-xportal-table] thead th{position:static!important;box-shadow:none!important;}

/* x-portal.table resize baseline: real table header remains static; visual duplicate is handled by the current duplicate-header runtime. */
.portal-table-sticky-header table[data-xportal-table] thead th{position:static!important;top:auto!important;box-shadow:none!important;}
.portal-column-resize-handle{right:0;width:14px;min-width:14px}
.portal-column-resize-handle::after{left:7px}
.portal-column-resizable:last-child .portal-column-resize-handle{right:0;width:18px}
table.portal-table-resized{table-layout:fixed}
.portal-table-shell.portal-table-scroll-on table.portal-table-resized{width:max-content;min-width:max-content}

/* x-portal.table width baseline: natural table width when horizontal scroll is disabled. */
.portal-table-shell.portal-table-scroll-off table[data-xportal-table]{width:max-content;min-width:100%;table-layout:auto;}
.portal-table-shell.portal-table-scroll-off table[data-xportal-table] th,
.portal-table-shell.portal-table-scroll-off table[data-xportal-table] td{max-width:none;}
.portal-table-shell.portal-table-scroll-on table.portal-table-resized,

/* 0.21.57: print/PDF output suppresses decorative page backgrounds. */
body.pdf-export-render,
body.pdf-export-render .app,
body.pdf-export-render .main,
body.pdf-export-render .content{
  background:#fff!important;
  background-image:none!important;
}
body.pdf-export-render::before,
body.pdf-export-render::after,
body.pdf-export-render .main::before,
body.pdf-export-render .main::after,
body.pdf-export-render .content::before,
body.pdf-export-render .content::after{
  display:none!important;
  content:none!important;
}
body.pdf-export-render .card,
body.pdf-export-render .form-section,
body.pdf-export-render .portal-form-section,
body.pdf-export-render .table-wrap{
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* 0.22.12: invoice register list filters use the full workspace width. */

/* 0.22.13: one shared list-filter layout for core and modules. */
.portal-list-filterbar{display:grid;gap:10px;width:100%}
.portal-list-filterbar .portal-server-filter-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;width:100%!important;max-width:none!important;margin:0!important;align-items:end!important}
.portal-list-filterbar .portal-server-filter-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;min-width:0}
.portal-list-filterbar .portal-server-filter-fields>*{min-width:0;max-width:100%}
.portal-list-filterbar .portal-server-filter-fields :is(input,select,textarea,.portal-smart-combo,.portal-combo){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.portal-list-filterbar .portal-server-filter-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:0;padding-bottom:1px;min-width:max-content}
.portal-list-filterbar > [data-inline-search]{width:100%;max-width:none!important;margin:0!important}
@media(max-width:1450px){.portal-list-filterbar .portal-server-filter-fields{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:1050px){.portal-list-filterbar .portal-server-filter-form{grid-template-columns:1fr!important}.portal-list-filterbar .portal-server-filter-fields{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:700px){.portal-list-filterbar .portal-server-filter-fields{grid-template-columns:1fr}}
.portal-stat-link{display:block;color:inherit;text-decoration:none;min-width:0}
.portal-stat-link-inline{display:inline}
.portal-stat-link:hover,.portal-stat-link:focus-visible{text-decoration:none;transform:translateY(-1px)}

/* Shared list-filter sizing modifiers. Keep module list pages aligned with core. */
.portal-list-filterbar .portal-server-filter-fields .portal-filter-field{min-width:0;max-width:100%}
.portal-list-filterbar .portal-server-filter-fields .portal-filter-field>*{min-width:0;max-width:100%;width:100%}
@media(min-width:1451px){
  .portal-list-filterbar .portal-server-filter-fields{grid-template-columns:repeat(12,minmax(0,1fr))}
  .portal-list-filterbar .portal-server-filter-fields>*{grid-column:span 2}
  .portal-list-filterbar .portal-server-filter-fields>.portal-filter-field--wide{grid-column:span 3}
  .portal-list-filterbar .portal-server-filter-fields>.portal-filter-field--compact{grid-column:span 1}
}

/* 0.22.63: viewport layer for the column picker. The panel is portaled without changing table containers. */
.portal-column-picker-menu.portal-column-picker-menu-portal{
  position:fixed!important;
  z-index:12000!important;
  right:auto!important;
  bottom:auto;
  box-sizing:border-box;
  display:block!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid #dbe7e0!important;
  border-radius:16px!important;
  box-shadow:0 22px 60px rgba(2,22,12,.24)!important;
}

/* 0.22.71: arrow layer is portaled to body so template cards, filters and overflow cannot change fixed positioning. */
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal{position:fixed;inset:0;height:0;display:none;z-index:1300;pointer-events:none}
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal.is-visible{display:block}
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal .portal-table-scroll-arrow{position:fixed;top:var(--portal-table-scroll-arrow-top,50vh);transform:translateY(-50%)}
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal .portal-table-scroll-arrow-left{left:var(--portal-table-scroll-arrow-left,10px);right:auto}
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal .portal-table-scroll-arrow-right{right:var(--portal-table-scroll-arrow-right,10px);left:auto}
.portal-table-scroll-arrows.portal-table-scroll-arrows-portal .portal-table-scroll-arrow.is-visible{display:inline-flex}

/* source: resources/css/portal/60-modules-extras.css */
.portal-table-shell.portal-table-scroll-auto table.portal-table-resized{table-layout:fixed;}

/* 0.19.69: viewport sticky table header fallback and horizontal-only table scrolling. */
.portal-table-shell.portal-table-sticky-header.portal-table-scroll-on .table-wrap{overflow-x:auto;overflow-y:visible;}
.portal-table-shell.portal-table-sticky-header.portal-table-scroll-off .table-wrap{overflow-x:visible;overflow-y:visible;}
.portal-table-shell.portal-table-sticky-header table[data-xportal-table] thead th{position:sticky!important;top:var(--portal-sticky-table-header-top,72px)!important;z-index:70;background:#f4f8f5;box-shadow:0 1px 0 #dbe7e0,0 7px 14px rgba(15,45,30,.08);}
.portal-table-shell.portal-table-sticky-header table[data-xportal-table] thead th .portal-column-resize-handle{z-index:75;}
body.pdf-export-render .portal-table-shell.portal-table-sticky-header table[data-xportal-table] thead th{position:static!important;top:auto!important;box-shadow:none!important;}

/* 0.19.94: controlled visual duplicate over the confirmed 0.19.69 static table baseline. */
.portal-table-shell.portal-table-header-enabled table[data-xportal-table] thead th{
  position:static!important;
  top:auto!important;
  box-shadow:none!important;
}
.portal-table-header{display:none!important;position:fixed;z-index:5000;overflow:hidden;pointer-events:none;background:#fff;border:1px solid #e0e9e3;border-bottom:1px solid #dbe7e0;box-shadow:0 8px 18px rgba(15,45,30,.12)}
.portal-table-header.show{display:block!important;}
.portal-table-header-inner{will-change:transform;}
.portal-table-header table{border-collapse:collapse;background:white;margin:0;width:auto;}
.portal-table-header th{background:#f4f8f5;color:#43594e;font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #dbe7e0;white-space:nowrap;box-shadow:none!important;}
.portal-table-header .portal-column-resize-handle{display:none!important;}

/* The arrow script controls visibility per table. A floating header must not force arrows visible. */
/* 0.19.95: visual duplicate header must not suppress horizontal table arrows. Compatibility marker only: .portal-table-shell.portal-table-header-active .portal-table-scroll-arrows{display:block;} Runtime visibility remains controlled per table by JavaScript. */
body.pdf-export-render .portal-table-header{display:none!important;}

/* 0.19.100: table action cells must remain real table cells; only inner content is flex. */
td.row-actions{display:table-cell!important;white-space:nowrap;vertical-align:top;}
td.row-actions>.row-actions-inner{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;white-space:nowrap;}
th[data-column="__select"],td[data-column="__select"]{width:42px;min-width:42px;max-width:58px;text-align:center;}
th[data-column="__actions"],td[data-column="__actions"]{white-space:nowrap;}

/* 0.19.113: single x-portal button contract and local table filter. */
.btn,.pager-jump-submit{display:inline-flex;align-items:center;justify-content:center;gap:.42em;border:1px solid #cfded5;border-radius:.82rem;padding:.55rem .8rem;min-height:2.25rem;background:#fff;color:#173c28;text-decoration:none;font-weight:800;line-height:1.15;cursor:pointer;box-shadow:0 4px 12px rgba(20,52,38,.04);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease;}
.btn:hover,.btn:focus-visible,.pager-jump-submit:hover,.pager-jump-submit:focus-visible{background:#eef8f2;border-color:#b8d8c4;color:#0b6f49;text-decoration:none;box-shadow:0 7px 18px rgba(20,52,38,.10);transform:translateY(-1px);outline:none;}
.btn:active,.pager-jump-submit:active{transform:translateY(0);box-shadow:0 3px 10px rgba(20,52,38,.08);}
.btn.primary{background:linear-gradient(135deg,var(--green),var(--green2));border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(12,143,92,.18);}
.btn.primary:hover,.btn.primary:focus-visible{filter:brightness(1.04);color:#fff;box-shadow:0 10px 24px rgba(12,143,92,.24);}
.btn.yellow,.btn.warning{background:var(--yellow);border-color:#e9c800;color:#1e1a00;box-shadow:0 7px 18px rgba(191,154,0,.12);}
.btn.yellow:hover,.btn.yellow:focus-visible,.btn.warning:hover,.btn.warning:focus-visible{background:#ffe473;border-color:#d6b800;color:#1e1a00;box-shadow:0 10px 24px rgba(191,154,0,.18);}
.btn.danger{background:#fff0f0;border-color:#ffd0d0;color:#8f1f1f;}
.btn.danger:hover,.btn.danger:focus-visible{background:#ffe4e4;border-color:#ffb9b9;color:#761818;box-shadow:0 8px 20px rgba(143,31,31,.13);}
.btn.ghost{background:transparent;box-shadow:none;}
.btn.small{padding:.42rem .62rem;min-height:1.95rem;font-size:.82rem;border-radius:.68rem;}
.btn.xsmall,.portal-table-export-icon{padding:.32rem .5rem;min-height:1.72rem;font-size:.74rem;border-radius:.58rem;}
.portal-table-export-icon{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;}
.portal-table-export-icon:hover,.portal-table-export-icon:focus-visible{background:#eef8f2;border-color:#b8d8c4;color:#0b6f49;text-decoration:none;box-shadow:0 7px 18px rgba(20,52,38,.10);transform:translateY(-1px);outline:none;}
.btn[disabled],.btn.disabled,.btn[aria-disabled="true"],button:disabled.btn{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none;}
body.control-size-xxs .btn,body.control-size-xxs .pager-jump-submit{padding:.32rem .5rem;min-height:1.72rem;border-radius:.58rem;font-size:.76rem;}
body.control-size-xs .btn,body.control-size-xs .pager-jump-submit{padding:.38rem .56rem;min-height:1.9rem;border-radius:.62rem;font-size:.8rem;}
body.control-size-sm .btn,body.control-size-sm .pager-jump-submit{padding:.46rem .66rem;min-height:2.05rem;border-radius:.7rem;font-size:.86rem;}
body.control-size-lg .btn,body.control-size-lg .pager-jump-submit{padding:.68rem .95rem;min-height:2.55rem;border-radius:.92rem;font-size:1rem;}
body.control-size-xl .btn,body.control-size-xl .pager-jump-submit{padding:.8rem 1.1rem;min-height:2.9rem;border-radius:1rem;font-size:1.06rem;}
body.control-size-xxl .btn,body.control-size-xxl .pager-jump-submit{padding:.95rem 1.28rem;min-height:3.25rem;border-radius:1.1rem;font-size:1.14rem;}
body.control-size-xs .btn.small{padding:.3rem .48rem;min-height:1.72rem;font-size:.74rem;}
body.control-size-sm .btn.small{padding:.36rem .54rem;min-height:1.84rem;font-size:.78rem;}
body.control-size-lg .btn.small{padding:.52rem .74rem;min-height:2.18rem;font-size:.92rem;}
body.control-size-xl .btn.small{padding:.62rem .86rem;min-height:2.45rem;font-size:.98rem;}
body.control-size-xxl .btn.small{padding:.72rem 1rem;min-height:2.72rem;font-size:1.06rem;}
.portal-table-toolbar{align-items:center;}
.portal-table-local-filter{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 8px;border:1px solid #dbe7e0;background:#f8fbf9;border-radius:12px;box-shadow:0 4px 14px rgba(20,52,38,.06);font-weight:900;color:var(--muted);font-size:12px;}
.portal-table-local-filter span{white-space:nowrap;}
.portal-table-local-filter-input{width:clamp(12rem,22vw,20rem)!important;min-height:28px!important;padding:4px 8px!important;border-radius:9px!important;font-size:12px!important;font-weight:700;}
tr.portal-table-local-filter-hidden{display:none!important;}

/* 0.19.115: local table filter mobile alignment follows export toolbar geometry. */
.portal-table-export-label,.portal-table-local-filter span{display:inline-flex;align-items:center;min-height:28px;line-height:1;font-size:12px;}
.portal-table-local-filter{min-height:42px;line-height:1;}
.portal-table-local-filter-input{line-height:1.15!important;}
@media(max-width:700px){
  .portal-table-toolbar{align-items:center;}
  .portal-table-local-filter{width:100%;align-items:center;flex-wrap:wrap;}
  .portal-table-local-filter span{flex:0 0 auto;}
  .portal-table-local-filter-input{width:auto!important;flex:1 1 12rem;}
}


/* 0.19.114: UI hygiene - desktop/mobile toggle. */
@media screen and (min-width:981px){
  .mobile-view-toggle{display:none!important;}
}
@media screen and (max-width:980px){
  body:not(.pdf-export-render) .mobile-view-toggle{display:inline-flex!important;}
}


/* 0.19.118: unified toolbar geometry for workbook exports and table local filters. */
.toolbar .portal-workbook-export-toolbar{margin:0!important;}
.portal-workbook-export-toolbar,
.portal-table-toolbar{align-items:center!important;}
.portal-workbook-export-toolbar{display:inline-flex!important;flex-wrap:wrap!important;gap:8px!important;}
.portal-workbook-export-toolbar .portal-text{display:inline-flex!important;align-items:center!important;min-height:var(--portal-control-min,32px)!important;margin:0!important;line-height:1!important;font-size:var(--portal-small-text-scale,12px)!important;font-weight:900!important;color:var(--muted)!important;}
.portal-workbook-export-toolbar .portal-export-layout-select{min-height:var(--portal-control-min,32px)!important;line-height:1.15!important;}
.portal-workbook-export-toolbar .btn.small{min-height:var(--portal-control-min,32px)!important;line-height:1.15!important;}
.portal-table-export-toolbar,
.portal-table-local-filter{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:calc(var(--portal-control-min,32px) + 10px)!important;padding:5px 8px!important;border:1px solid #dbe7e0!important;background:#f8fbf9!important;border-radius:12px!important;box-shadow:0 4px 14px rgba(20,52,38,.06)!important;margin:0!important;}
.portal-table-export-label,
.portal-table-local-filter span{display:inline-flex!important;align-items:center!important;min-height:var(--portal-control-min,32px)!important;line-height:1!important;font-size:var(--portal-small-text-scale,12px)!important;font-weight:900!important;color:var(--muted)!important;margin:0!important;}
.portal-table-local-filter-input{min-height:var(--portal-control-min,32px)!important;padding:var(--portal-control-pad-y,5px) var(--portal-control-pad-x,8px)!important;border-radius:var(--portal-control-radius,9px)!important;line-height:1.15!important;font-size:var(--portal-small-text-scale,12px)!important;}
.portal-table-export-icon{min-height:var(--portal-control-min,32px)!important;line-height:1!important;}
.toolbar>.field{display:inline-flex!important;align-items:center!important;margin:0!important;}
.toolbar>.field>.input{min-height:var(--portal-control-min,32px)!important;}
@media(max-width:700px){
  .portal-table-local-filter{width:100%!important;align-items:center!important;flex-wrap:wrap!important;}
  .portal-table-local-filter span{flex:0 0 auto!important;}
  .portal-table-local-filter-input{width:auto!important;flex:1 1 12rem!important;min-width:0!important;}
}

/* 0.19.119: mobile table export buttons keep compact icon plus readable format label. */
@media(max-width:700px){
  .portal-table-export-toolbar{align-items:center!important;gap:6px!important;}
  .portal-table-export-icon{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:2px!important;min-width:44px!important;min-height:42px!important;padding:4px 6px!important;font-size:10px!important;line-height:1!important;}
  .portal-table-export-icon span{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:10px!important;line-height:1!important;letter-spacing:.02em!important;text-align:center!important;}
  .portal-table-export-icon svg{width:15px!important;height:15px!important;flex:0 0 auto!important;}
}

/* 0.19.120 module workspace_app/client_app surfaces */
.surface-workspace-app,
.surface-client-app {
  min-height: 100vh;
  background: var(--page-bg, #eef5f0);
}
.surface-workspace-app .portal-app-shell,
.surface-client-app .portal-app-shell {
  min-height: 100vh;
  display: block;
}
.surface-workspace-app .portal-app-main,
.surface-client-app .portal-app-main {
  min-height: 100vh;
  width: 100%;
  margin: 0;
}
.surface-workspace-app .portal-app-content,
.surface-client-app .portal-app-content {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: clamp(0.9rem, 2.5vw, 2rem);
}
.portal-task-shell {
  display: grid;
  gap: 1rem;
  width: 100%;
}
.portal-task-shell-compact {
  max-width: 42rem;
  margin-inline: auto;
}
.portal-task-head {
  display: grid;
  gap: 0.25rem;
}
.portal-task-body {
  display: grid;
  gap: 0.9rem;
}
@media (max-width: 720px) {
  .surface-workspace-app .portal-app-content,
  .surface-client-app .portal-app-content {
    padding: 0.75rem;
  }
}

/* 0.19.123: export actions are POST forms, visually identical to compact buttons. */
.portal-table-export-form,.portal-inline-form{display:inline-flex;margin:0;padding:0;align-items:center;gap:0}
.portal-table-export-form .portal-table-export-icon{font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
.portal-workbook-export-form{display:inline-flex;margin:0;padding:0;align-items:center}

/* 0.19.124: technical-cookie notice and cookie information page. */
.portal-cookie-notice{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:1200;width:min(92vw,760px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dbe7e0;background:rgba(248,251,249,.96);backdrop-filter:blur(8px);border-radius:16px;box-shadow:0 14px 40px rgba(20,52,38,.18);font-size:var(--portal-small-text-scale,12px);color:var(--text,#13251b)}
.portal-cookie-notice[hidden]{display:none!important}.portal-cookie-notice-text{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.35}.portal-cookie-notice-text strong{white-space:nowrap}.portal-cookie-notice.compact{max-width:min(92vw,680px)}.cookies-card{max-width:760px}.cookie-info-list{margin:.75rem 0}
@media(max-width:700px){.portal-cookie-notice{left:10px;right:10px;bottom:10px;transform:none;width:auto;align-items:stretch;flex-direction:column}.portal-cookie-notice .btn{width:100%;justify-content:center}}

/* Public module landing template */

/* 0.19.172: subjects filters share the standard search layout without breaking table width. */
/* Subjects list filters: module-specific workspace UI. */
.subjects-page-actions{margin-bottom:12px!important}
.subjects-filterbar{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important;margin-bottom:14px!important;max-width:720px!important}
.subjects-filter-panel{width:100%!important;margin:0!important;max-width:none!important}
.subjects-client-filter,.subjects-local-filter{display:grid!important;grid-template-columns:minmax(260px,1fr) auto auto!important;gap:8px!important;align-items:start!important;max-width:720px!important}
.subjects-client-filter .field,.subjects-local-filter .field{margin:0!important;min-width:0!important}
.subjects-client-filter .combo,.subjects-local-filter .combo{width:100%!important;min-width:0!important}
.subjects-client-filter .subjects-client-filter-combo .input,.subjects-client-filter input.input,.subjects-local-filter input.input{width:100%!important;min-width:0!important;max-width:none!important}
.subjects-filter-panel .btn{align-self:start!important}
.subjects-filter-panel .search-note{grid-column:1/-1!important}
.subjects-topbar,.subjects-searchbar{align-items:initial!important;margin-top:0!important}
@media(max-width:760px){.subjects-filterbar{max-width:none!important}.subjects-client-filter,.subjects-local-filter{grid-template-columns:1fr!important}.subjects-filter-panel .btn{width:max-content!important}}


/* 0.20.4: reusable x-portal contextual help trigger and expandable help panel. */
.section-title-row{display:flex;align-items:baseline;gap:.38rem;flex-wrap:wrap}.section-title-row h1,.section-title-row h2,.section-title-row h3,.section-title-row h4{margin:0}.section-title-extra{display:inline-flex;align-items:baseline;line-height:1;align-self:baseline;margin-left:.04rem}.xportal-help{display:inline-flex;position:relative;align-items:center;vertical-align:baseline;line-height:1;transform:translateY(-.04em)}.xportal-help-trigger{width:19px;height:19px;padding:0;border-radius:999px;border:1px solid rgba(12,143,92,.38);background:rgba(238,248,242,.96);color:var(--green,#0c8f5c);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(2,22,12,.10);cursor:pointer;font:800 12px/1 system-ui,-apple-system,Segoe UI,sans-serif;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease;background-clip:padding-box}.xportal-help-trigger:hover,.xportal-help-trigger:focus-visible{transform:translateY(-1px);border-color:rgba(12,143,92,.64);background:#fff;box-shadow:0 9px 22px rgba(2,22,12,.16);outline:none}.xportal-help-preview{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);width:min(440px,calc(100vw - 32px));padding:12px 13px;border:1px solid rgba(13,47,31,.14);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 48px rgba(2,22,12,.20);color:var(--text,#102017);font-size:13px;line-height:1.42;z-index:2147483588;opacity:0;visibility:hidden;pointer-events:none}.xportal-help-preview strong{display:block;margin:0 0 5px;font-size:13px}.xportal-help-preview span{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.xportal-help-preview em{display:block;margin-top:8px;color:var(--green,#0c8f5c);font-style:normal;font-weight:800;font-size:12px}.xportal-help:hover .xportal-help-preview,.xportal-help:focus-within .xportal-help-preview{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.xportal-help-dialog-backdrop{position:fixed;inset:0;z-index:2147483600;background:rgba(5,15,11,.38);backdrop-filter:blur(3px);display:none}.xportal-help-dialog-backdrop.open{display:block}.xportal-help-dialog{position:fixed;right:clamp(12px,4vw,36px);bottom:clamp(12px,4vw,36px);z-index:2147483601;width:min(560px,calc(100vw - 24px));max-height:min(72vh,620px);display:none;grid-template-rows:auto minmax(0,1fr);background:#fff;border:1px solid rgba(13,47,31,.16);border-radius:22px;box-shadow:0 30px 90px rgba(2,22,12,.32);overflow:hidden}.xportal-help-dialog.open{display:grid}.xportal-help-dialog.maximized{inset:clamp(10px,3vw,30px);width:auto;max-height:none}.xportal-help-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(13,47,31,.10);background:linear-gradient(135deg,#f7fbf8,#eef8f2)}.xportal-help-dialog-title{font-weight:900;color:#173c28}.xportal-help-dialog-actions{display:flex;gap:8px;align-items:center}.xportal-help-dialog-btn{width:34px;height:34px;border-radius:12px;border:1px solid #cfded5;background:#fff;color:#173c28;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:900}.xportal-help-dialog-btn:hover,.xportal-help-dialog-btn:focus-visible{border-color:rgba(12,143,92,.55);outline:none}.xportal-help-dialog-body{padding:16px 18px;overflow:auto;line-height:1.55;color:#183326;white-space:pre-line}@media(max-width:720px){.xportal-help-preview{left:auto;right:-8px;transform:translateY(4px)}.xportal-help:hover .xportal-help-preview,.xportal-help:focus-within .xportal-help-preview{transform:translateY(0)}.xportal-help-dialog{right:10px;left:10px;bottom:10px;width:auto;max-height:78vh}.xportal-help-dialog.maximized{inset:8px}}

/* 0.21.16 tags module */
.tag-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;margin-top:.65rem}
[data-tag-module-scope][hidden],[data-tag-module-scope].is-hidden{display:none!important}
.subject-tags-list{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.tag-color-green{background:#e7f8ef!important;color:#087245!important;border-color:#a8e3c3!important}
.tag-color-blue{background:#e8f2ff!important;color:#175aa8!important;border-color:#b8d5fb!important}
.tag-color-yellow{background:#fff7d6!important;color:#795f00!important;border-color:#ead78b!important}
.tag-color-red{background:#fff0ee!important;color:#a5362d!important;border-color:#f0b8b2!important}
.tag-color-purple{background:#f3edff!important;color:#6643a7!important;border-color:#cfbdf2!important}
.tag-color-gray{background:#eff3f5!important;color:#43545d!important;border-color:#cad5da!important}
.tag-color-cyan{background:#e6fbff!important;color:#0e6472!important;border-color:#9cdeea!important}
.tag-color-teal{background:#e6faf7!important;color:#0f6b60!important;border-color:#9dded5!important}
.tag-color-orange{background:#fff1df!important;color:#92510a!important;border-color:#efc38c!important}
.tag-color-pink{background:#fff0f7!important;color:#9d3565!important;border-color:#efb5d1!important}
.tag-color-custom{background:color-mix(in srgb,var(--tag-custom-color,#64748b) 15%,white)!important;color:color-mix(in srgb,var(--tag-custom-color,#64748b) 72%,black)!important;border-color:color-mix(in srgb,var(--tag-custom-color,#64748b) 42%,white)!important}


/* 0.21.22 unified module navigation and compact optional filters */
.page-navigation-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px!important;min-height:38px!important}
.subjects-server-filters{display:flex!important;align-items:end!important;gap:8px!important;max-width:980px!important;width:100%!important}
.subjects-server-filter-fields{display:grid!important;grid-template-columns:minmax(250px,1.25fr) minmax(210px,.85fr)!important;gap:8px!important;align-items:end!important;flex:1 1 auto!important;min-width:0!important}
.subjects-server-filter-fields>.field,.subjects-server-filter-fields>.combo{margin:0!important;min-width:0!important;width:100%!important}
.subjects-server-filter-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;padding-bottom:1px!important}
.subjects-local-filter{margin-top:0!important}
@media(max-width:980px){.subjects-server-filters{align-items:stretch!important;flex-wrap:wrap!important}.subjects-server-filter-fields{grid-template-columns:minmax(230px,1fr) minmax(200px,1fr)!important;flex-basis:100%!important}.subjects-server-filter-actions{padding-bottom:0!important}}
@media(max-width:680px){.page-navigation-actions{align-items:stretch!important;flex-wrap:wrap!important}.subjects-server-filter-fields{grid-template-columns:1fr!important}.subjects-server-filter-actions{width:100%!important}.subjects-server-filter-actions .btn{flex:0 0 auto!important}}

.portal-upload-actions [hidden]{display:none!important}

.portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--currency { grid-column: span 1; min-width: 0; }
.portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--subject { grid-column: span 3; min-width: 0; }
.portal-server-filter-fields > .portal-filter-field--currency [data-combo-wrap],
.portal-server-filter-fields > .portal-filter-field--currency .combo { width: 100%; min-width: 0; }
@media (max-width: 1450px) {
  .portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--currency,
  .portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--subject { grid-column: span 2; }
}
@media (max-width: 700px) {
  .portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--currency,
  .portal-list-filterbar .portal-server-filter-fields > .portal-filter-field--subject { grid-column: span 1; }
}

.xportal-help-preview.xportal-help-preview-portaled{position:fixed;left:var(--xportal-help-left);top:var(--xportal-help-top);bottom:auto;width:var(--xportal-help-width);transform:var(--xportal-help-transform,translateY(-100%));z-index:2147483588;opacity:1;visibility:visible;pointer-events:none}.xportal-help-preview.xportal-help-preview-portaled span{display:block;overflow:visible;-webkit-line-clamp:unset}

.xportal-help-warning .xportal-help-trigger{border-color:rgba(190,120,0,.45);background:#fff8df;color:#8a5900}.xportal-help-warning .xportal-help-trigger:hover,.xportal-help-warning .xportal-help-trigger:focus-visible{border-color:rgba(190,120,0,.72);background:#fffdf3}

/* 0.22.345: visually separate subject bank-account rows and keep notes away from document defaults. */
.subject-bank-account-list{display:grid;gap:16px;margin:14px 0}
.subject-bank-account-card{border:1px solid #d7e5dd;border-radius:16px;background:linear-gradient(180deg,#fbfdfc,#f6faf8);padding:16px;box-shadow:0 6px 18px rgba(2,22,12,.045)}
.subject-bank-account-card [data-subject-bank-account-heading]{display:block;margin:0 0 14px!important;padding:0 0 10px;border-bottom:1px solid #e1ece6;color:#173c28}
.subject-bank-account-card .form-grid{margin-bottom:12px}
.subject-defaults-subheading{margin:0 0 14px!important}
.subject-notes-subheading{margin:24px 0 12px!important;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:700px){.subject-bank-account-card{padding:14px}.subject-bank-account-list{gap:14px}}

.subject-classification-top{display:grid;grid-template-columns:minmax(0,max-content) minmax(180px,1fr);gap:18px;align-items:center;margin:0 0 14px}
.subject-classification-top .subject-top-flags{margin:0!important;grid-column:auto!important}
.subject-vcard-action-wrap{display:flex;align-items:center;justify-content:center;min-height:100%}
.subject-vcard-action{min-width:148px;justify-content:center;box-shadow:0 7px 18px rgba(15,118,110,.10)}
@media(max-width:820px){.subject-classification-top{grid-template-columns:1fr}.subject-vcard-action-wrap{justify-content:flex-start}.subject-vcard-action{min-width:0}}

.subject-contact-list{display:grid;gap:16px;margin:14px 0}
.subject-contact-card{border:1px solid #d7e5dd;border-radius:16px;background:linear-gradient(180deg,#fbfdfc,#f6faf8);padding:16px;box-shadow:0 6px 18px rgba(2,22,12,.045)}
.subject-contact-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid #e1ece6}
.subject-contact-card__head [data-subject-contact-heading]{margin:0!important;color:#173c28}
.subject-contact-card .form-grid{margin-bottom:12px}
@media(max-width:700px){.subject-contact-card{padding:14px}.subject-contact-list{gap:14px}.subject-contact-card__head{align-items:flex-start;flex-direction:column}}

/* source: resources/css/portal/61-invoice-filter-layout.css */
/* 0.22.169 stable two-row basic invoice/payment filters with advanced rows below */
.invoice-filter-form,
.invoice-payment-filter-form {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}
.invoice-filter-form > *,
.invoice-payment-filter-form > * {
  grid-column: 1 / -1 !important;
  min-width: 0;
  width: 100%;
}
.invoice-filter-form > .portal-server-filter-actions,
.invoice-payment-filter-form > .portal-server-filter-actions {
  justify-content: flex-start !important;
  padding-bottom: 0 !important;
}
@media (min-width: 1051px) {
  .invoice-filter-form .portal-server-filter-fields--basic,
  .invoice-payment-filter-form .portal-server-filter-fields--basic,
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: end !important;
  }
  .invoice-filter-form .portal-server-filter-fields--advanced,
  .invoice-payment-filter-form .portal-server-filter-fields--advanced {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: end !important;
  }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(1) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(2) { grid-column: span 1 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(3) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(4) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(5) { grid-column: span 1 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(6) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(7) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(8) { grid-column: span 3 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(9) { grid-column: span 2 !important; }
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(10),
  .invoice-filter-form .portal-server-filter-fields--basic > :nth-child(11) { grid-column: span 2 !important; }

  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(1) { grid-column: span 2 !important; }
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(2) { grid-column: span 3 !important; }
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(3),
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(4),
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(5) { grid-column: span 1 !important; }
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(6),
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(7),
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(8) { grid-column: span 2 !important; }
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(9),
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(10) { grid-column: span 1 !important; }
  .invoice-payment-filter-form > .portal-server-filter-fields:not(.portal-server-filter-fields--advanced) > :nth-child(11) { grid-column: span 2 !important; }
}

/* 0.22.172: compact client invoice filters and workspace-style client module submenu. */
.client-invoice-filter-form,
.client-payment-filter-form {
  display:flex !important;
  align-items:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.client-invoice-filter-form__grid,
.client-payment-filter-form__grid {
  display:grid !important;
  grid-template-columns:minmax(220px,360px) minmax(130px,170px) minmax(90px,120px) max-content !important;
  gap:10px !important;
  align-items:end !important;
  width:auto !important;
  max-width:100% !important;
  flex:0 1 auto !important;
}
.client-invoice-filter-form__grid > .client-filter-actions,
.client-payment-filter-form__grid > .client-filter-actions {
  align-self:end !important;
  white-space:nowrap !important;
}
.client-invoice-filter-form .client-filter-actions,
.client-payment-filter-form .client-filter-actions {
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  flex:0 0 auto !important;
  align-self:flex-end !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.surface-client .nav-submenu {
  margin:2px 0 8px 14px !important;
  padding:2px 0 2px 8px !important;
  border-left:1px solid rgba(126,151,177,.22) !important;
}
.surface-client .nav-submenu .nav-subitem {
  margin:2px 0 !important;
  padding:7px 10px !important;
  border:1px solid transparent !important;
  border-radius:9px !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:12px !important;
}
.surface-client .nav-submenu .nav-subitem:hover {
  background:rgba(255,255,255,.045) !important;
}
.surface-client .nav-submenu .nav-subitem.active {
  background:rgba(32,190,160,.12) !important;
  border-color:rgba(32,190,160,.28) !important;
  color:#fff !important;
}
@media(max-width:760px){
  .client-invoice-filter-form,
  .client-payment-filter-form {display:grid !important;grid-template-columns:1fr !important;}
  .client-invoice-filter-form__grid,
  .client-payment-filter-form__grid {grid-template-columns:1fr !important;width:100% !important;}
}

/* 0.22.176: client filters remain compact, but gain clear visual breathing room. */
.client-invoice-filter-form,
.client-payment-filter-form {
  width:max-content !important;
  max-width:100% !important;
  padding:14px 16px !important;
  margin:0 0 14px !important;
  border:1px solid var(--line, rgba(126,151,177,.22)) !important;
  border-radius:12px !important;
  background:var(--panel-soft, rgba(247,250,252,.72)) !important;
  box-sizing:border-box !important;
}
.client-invoice-filter-form__grid,
.client-payment-filter-form__grid {
  column-gap:12px !important;
  row-gap:10px !important;
}
.client-invoice-filter-form + .list-search,
.client-payment-filter-form + .list-search,
.client-invoice-filter-form + [data-list-search],
.client-payment-filter-form + [data-list-search] {
  margin-top:0 !important;
  margin-bottom:14px !important;
}
@media(max-width:760px){
  .client-invoice-filter-form,
  .client-payment-filter-form {
    width:100% !important;
    padding:12px !important;
  }
}

/* source: resources/css/portal/61-public-interactions.css */
/* Public interaction, responsive finishing, and contextual link styles. */
/* 0.20.33 crisp public interaction polish and login-menu exception. */
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item){
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform-origin:center;
  backface-visibility:hidden;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,filter .2s ease!important;
}
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item)::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-45% auto -45% -55%;
  width:34%;
  transform:skewX(-22deg) translateX(-220%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:0;
  pointer-events:none;
  transition:transform .92s cubic-bezier(.18,.78,.18,1),opacity .30s ease;
}
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):hover,
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):focus-visible{
  transform:translateY(-2px);
  filter:saturate(1.06) brightness(1.035);
  box-shadow:0 16px 38px rgba(0,0,0,.22),0 0 0 2px rgba(255,216,77,.12);
}

/* Keep text rasterization crisp: rotation/scale live on a decorative halo, not on the text-bearing element. */
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a):not(.pub-login-menu-trigger)::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-2px;
  border:1px solid rgba(255,216,77,.32);
  border-radius:inherit;
  opacity:0;
  transform:rotate(-.85deg) scale(1.016);
  transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a):not(.pub-login-menu-trigger):hover::before,
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a):not(.pub-login-menu-trigger):focus-visible::before{
  opacity:1;
  transform:rotate(-1deg) scale(1.025);
}
/* Login chooser stays stable: lift and shine only, without rotational decoration. */
.pub-login-menu-trigger:hover,.pub-login-menu-trigger:focus-visible,
.pub-login-menu-item:hover,.pub-login-menu-item:focus-visible{
  transform:translateY(-1px)!important;
}
.pub-login-menu-trigger::before,.pub-login-menu-item::before{display:none!important}

.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):hover::after,
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):focus-visible::after{
  transform:skewX(-22deg) translateX(520%);
  opacity:.7;
}
.pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):active{
  transform:translateY(0) rotate(0) scale(.99);
}

.pub-stat,.pub-template-feature,.pub-benefit,.pub-callout,.portal-info-module-card,.pub-section{
  transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.pub-stat:hover,.pub-stat:focus-within,.pub-template-feature:hover,.pub-template-feature:focus-within,
.pub-benefit:hover,.pub-benefit:focus-within,.pub-callout:hover,.pub-callout:focus-within,
.portal-info-module-card:hover,.portal-info-module-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(255,216,77,.42)!important;
  box-shadow:0 26px 74px rgba(0,0,0,.30),0 0 34px rgba(255,216,77,.09)!important;
}
.pub-section:hover,.pub-section:focus-within{
  border-color:rgba(255,255,255,.30);
  box-shadow:0 34px 108px rgba(0,0,0,.34),0 0 54px rgba(39,207,138,.07),inset 0 1px 0 rgba(255,255,255,.14);
}

/* Module public pages start with a feature grid outside a section. Keep these cards dark and readable. */
.pub-template-body>.pub-template-features .pub-template-feature,
.pub-template-body>.pub-template-features .pub-template-feature.card{
  border-color:rgba(255,255,255,.22)!important;
  background:linear-gradient(145deg,rgba(5,43,29,.96),rgba(9,72,48,.88))!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10)!important;
  opacity:1!important;
}
.pub-template-body>.pub-template-features .pub-template-feature .portal-card-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  color:#fff!important;
  opacity:1!important;
}
.pub-template-body>.pub-template-features .pub-template-feature :is(h2,h3,strong){color:#fff!important;opacity:1!important}
.pub-template-body>.pub-template-features .pub-template-feature p{color:#dcf9e9!important;opacity:1!important}

.portal-info-contact-status{
  margin:0 0 14px!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.18)!important;
}
.portal-info-contact-status.alert-success{background:rgba(224,255,238,.96)!important;color:#0d5d3b!important}
.portal-info-contact-status.alert-danger{background:rgba(255,235,235,.97)!important;color:#8b2020!important}

@media(max-width:650px){
  body:not(.force-classic-view) .pub-showcase :is(.btn,.portal-info-module-link){width:100%;justify-content:center}
  body:not(.force-classic-view) .pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):hover,
  body:not(.force-classic-view) .pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item):focus-visible{transform:translateY(-1px) rotate(0) scale(1.005)}
}
@media(prefers-reduced-motion:reduce){
  .pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item),
  .pub-stat,.pub-template-feature,.pub-benefit,.pub-callout,.portal-info-module-card,.pub-section{transition:none!important}
  .pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a,.pub-login-menu-item)::after,
  .pub-showcase :is(.btn,.portal-info-module-link,.pub-showcase-footer a)::before{display:none!important}
}

.portal-info-module-portal-only{display:inline-flex;align-items:center;min-height:38px;color:#587064;font-size:13px;font-weight:800;letter-spacing:.01em}

.pub-showcase-actions .pub-showcase-access-button{color:#fff}
.pub-showcase-actions .pub-showcase-access-button:hover,.pub-showcase-actions .pub-showcase-access-button:focus-visible{color:#fff}

/* 0.22.202: balanced homepage CTA grid and non-breaking operator brand line. */ body:not(.force-classic-view) .portal-info-hero-actions{   display:grid;   grid-template-columns:repeat(2,minmax(0,1fr));   width:min(100%,490px);   gap:8px; } body:not(.force-classic-view) .portal-info-hero-actions .btn{width:100%;justify-content:center} .pub-operated-by{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important} @media(max-width:650px){   body:not(.force-classic-view) .portal-info-hero-actions{grid-template-columns:1fr;width:100%}   body:not(.force-classic-view) .portal-info-hero-actions .btn{width:100%}   body:not(.force-classic-view) .pub-showcase-footer{align-items:flex-start!important}   body:not(.force-classic-view) .pub-operated-by{max-width:100%} } 

/* Compact contextual links between public application pages. Kept after the primary CTA. */
.pub-related-applications{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(3,27,19,.28);color:#fff}
.pub-related-applications-title{font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pub-related-applications-links{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.pub-related-application-link{display:inline-flex;align-items:center;color:#fff4ac!important;font-weight:800;text-decoration:none!important}
.pub-related-application-link:not(:last-child)::after{content:"·";margin:0 9px;color:rgba(255,255,255,.42);pointer-events:none}
.pub-related-application-link:hover,.pub-related-application-link:focus-visible{color:#fff!important;text-decoration:none!important;text-shadow:0 0 14px rgba(255,216,77,.24)}
@media(max-width:650px){body:not(.force-classic-view) .pub-related-applications{align-items:flex-start;flex-direction:column;gap:7px}.pub-related-applications-links{row-gap:5px}}

/* 0.22.391: homepage pricing CTA is an intentional tertiary action with readable contrast. */
body:not(.force-classic-view) .portal-info-hero-actions .portal-info-pricing-cta{grid-column:1/-1!important;border-color:rgba(255,216,77,.58)!important;background:rgba(255,216,77,.08)!important;color:#fff3a3!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}
body:not(.force-classic-view) .portal-info-hero-actions .portal-info-pricing-cta:hover{background:rgba(255,216,77,.16)!important;color:#fff8ce!important}

/* source: resources/css/portal/61-public-landing.css */
/* Public presentation system. Shared by the portal homepage and module public pages. */
.pub-surface{
  min-height:100vh;
  overflow-x:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,219,77,.24),transparent 28%),
    radial-gradient(circle at 88% 20%,rgba(66,226,151,.22),transparent 32%),
    linear-gradient(145deg,#061f16 0%,#0a3827 50%,#082319 100%)!important;
}
.pub-main{width:100%;min-height:100vh;padding:clamp(16px,2.8vw,40px)}
.pub-template{width:min(1180px,calc(100vw - 28px));margin:0 auto;position:relative}
.pub-showcase{
  --pub-section-gap:clamp(26px,3.4vw,42px);
  --pub-grid-gap:clamp(12px,1.45vw,17px);
  --pub-panel-pad:clamp(20px,2.8vw,34px);
  --pub-card-pad:clamp(17px,2vw,22px);
  --pub-radius:32px;
  --pub-card-radius:24px;
  --pub-border:rgba(255,255,255,.22);
  --pub-panel:linear-gradient(138deg,rgba(4,31,22,.88),rgba(7,58,39,.72));
  isolation:isolate;
}
.pub-showcase-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 22%,transparent 70%,rgba(255,229,105,.12)),radial-gradient(circle at 50% 110%,rgba(37,194,127,.38),transparent 47%)}
.pub-showcase-bg::before,.pub-showcase-bg::after{content:"";position:absolute;border-radius:999px;opacity:.55;animation:pubFloat 10s ease-in-out infinite}
.pub-showcase-bg::before{width:340px;height:340px;right:7vw;top:14vh;background:radial-gradient(circle,rgba(255,221,75,.30),transparent 68%)}
.pub-showcase-bg::after{width:420px;height:420px;left:5vw;bottom:8vh;background:radial-gradient(circle,rgba(56,238,158,.28),transparent 70%);animation-delay:-4s}
@keyframes pubFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.035)}}

/* Top bar */
.pub-showcase-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.pub-showcase-top-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto}
.pub-mobile-view-toggle{display:none!important}
.pub-brand-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:11px 15px;border:1px solid var(--pub-border);border-radius:22px;background:rgba(3,28,19,.78);box-shadow:0 20px 64px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(16px)}
.pub-portal-wordmark{display:inline-flex!important;align-items:center!important;gap:11px!important}
.pub-brand-mark{min-width:max-content;flex:0 0 auto}.pub-brand-logo-link,.pub-portal-link{flex:0 0 auto;min-width:0}.pub-brand-logo-link{overflow:visible!important}
.pub-brand-logo{display:block;width:116px!important;height:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.34))}
.pub-brand-logo-link,.pub-orbit-logo-link{padding:3px 4px!important;border-radius:14px!important}
.pub-brand-logo-link:hover,.pub-brand-logo-link:focus-visible,.pub-orbit-logo-link:hover,.pub-orbit-logo-link:focus-visible{background:rgba(255,255,255,.08)!important;box-shadow:0 0 0 1px rgba(255,216,77,.24),0 0 24px rgba(255,216,77,.14)!important}
.pub-portal-link,.pub-orbit-portal-link{display:inline-flex!important;align-items:center!important;padding:2px 0 2px 11px!important;border-left:1px solid rgba(255,255,255,.24)!important;border-radius:0!important;color:#f6d94c!important;font-size:23px!important;font-weight:850!important;letter-spacing:.01em!important;line-height:1!important;text-decoration:none!important}
.pub-portal-link span,.pub-orbit-portal-link span{color:inherit!important;font:inherit!important}
.pub-portal-link:hover,.pub-portal-link:focus-visible,.pub-orbit-portal-link:hover,.pub-orbit-portal-link:focus-visible{background:transparent!important;color:#ffe66e!important;text-shadow:0 0 16px rgba(255,216,77,.34)!important}
.pub-brand-copy{display:inline-flex;align-items:center;min-width:0}.pub-brand-copy::before{content:"·";margin-right:10px;color:rgba(223,255,238,.48);font-size:18px;font-weight:800;line-height:1}.pub-brand-copy span{max-width:360px;overflow:hidden;color:#dfffee;font-size:13px;font-weight:800;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}
.pub-locale-switch{display:inline-flex;gap:5px;padding:5px;border:1px solid var(--pub-border);border-radius:999px;background:rgba(3,28,19,.72);backdrop-filter:blur(14px)}
.pub-locale-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:34px;border-radius:999px;color:rgba(247,255,249,.76);font-size:13px;font-weight:900;text-decoration:none;transition:.18s ease}
.pub-locale-switch a:hover,.pub-locale-switch a:focus-visible{background:rgba(255,255,255,.11);color:#fff;transform:translateY(-1px)}
.pub-locale-switch a.active{background:#ffd84d;color:#102017}
.pub-login-menu{position:relative;display:inline-flex;align-items:center}
.pub-login-menu-trigger{min-height:46px!important;padding:0 17px!important;border-radius:999px!important;border-color:rgba(255,255,255,.40)!important;background:linear-gradient(135deg,#ffd84d,#fff2a5)!important;color:#102017!important;font-weight:950!important;box-shadow:0 16px 42px rgba(255,216,77,.18),0 9px 24px rgba(0,0,0,.20)!important}
.pub-login-menu-panel{position:absolute;right:0;top:calc(100% + 11px);z-index:30;display:grid;gap:8px;min-width:310px;padding:10px;border:1px solid rgba(255,255,255,.25);border-radius:23px;background:linear-gradient(145deg,rgba(4,33,23,.98),rgba(6,54,36,.97));box-shadow:0 28px 88px rgba(0,0,0,.38);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transition:.18s ease}
.pub-login-menu:hover .pub-login-menu-panel,.pub-login-menu:focus-within .pub-login-menu-panel{opacity:1;visibility:visible;transform:none}
.pub-login-menu-panel::before{content:"";position:absolute;right:27px;top:-7px;width:14px;height:14px;transform:rotate(45deg);background:rgba(4,33,23,.98);border-left:1px solid rgba(255,255,255,.20);border-top:1px solid rgba(255,255,255,.20)}
.pub-login-menu-item{display:grid;gap:3px;padding:14px 15px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.05);color:#f7fff9!important;text-decoration:none!important;transition:.18s ease}
.pub-login-menu-item:hover,.pub-login-menu-item:focus-visible{background:rgba(255,216,77,.14);border-color:rgba(255,216,77,.32);transform:translateY(-1px)}
.pub-login-menu-item strong{color:#fff4ac;font-size:14px}.pub-login-menu-item span{color:rgba(233,255,240,.76);font-size:12px;line-height:1.4}

/* Hero */
.pub-template-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:clamp(24px,3.2vw,40px);overflow:hidden;padding:clamp(28px,4.5vw,54px);border:1px solid rgba(255,255,255,.25);border-radius:36px;background:linear-gradient(135deg,rgba(4,37,25,.94),rgba(8,67,44,.78));box-shadow:0 38px 120px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(20px)}
.pub-template-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,216,77,.18),transparent 30%,rgba(24,185,120,.16) 75%,transparent)}
.pub-template-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px}
.pub-template-copy h1{max-width:780px;margin:0;color:#fff;font-family:var(--portal-heading-font,var(--portal-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif));font-size:clamp(2.12rem,4.35vw,4.05rem);font-weight:900;letter-spacing:-.052em;line-height:1.01;text-wrap:balance;text-shadow:0 4px 24px rgba(0,0,0,.30)}
.pub-template-copy .lead{max-width:720px;color:#f3fff8;font-size:clamp(1.05rem,1.65vw,1.28rem);font-weight:680;line-height:1.55}
.pub-template-copy>.portal-text{max-width:720px;color:#dfffee!important;font-size:1.02rem;line-height:1.68}
.pub-showcase-actions{margin-top:6px;gap:6px}.pub-showcase-actions .btn{flex:0 0 auto;min-height:44px;padding:10px 14px;border-radius:999px;white-space:nowrap}.pub-showcase-actions .btn.primary{box-shadow:0 16px 40px rgba(23,185,120,.25)}.pub-showcase-actions .pub-portal-info-cta{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.24);color:#dff5e8;box-shadow:none}.pub-showcase-actions .pub-portal-info-cta:hover,.pub-showcase-actions .pub-portal-info-cta:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(255,216,77,.58);color:#fff4ac}
.pub-showcase-access-row{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:1px;padding-top:3px}
.pub-showcase-access-row .btn{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#dfffee;box-shadow:none}
.pub-showcase-access-row .btn:hover,.pub-showcase-access-row .btn:focus-visible{border-color:rgba(255,216,77,.38);background:rgba(255,216,77,.16);color:#fffbe0}

/* Orbital visual: portal as the centre of connected applications and data. */
.pub-showcase-media.pub-template-media{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:370px!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.pub-orbit-card{position:relative;display:grid!important;place-items:center!important;width:min(100%,440px)!important;height:370px!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;isolation:isolate!important;filter:drop-shadow(0 24px 60px rgba(0,0,0,.24))}
.pub-orbit-track{position:absolute!important;left:50%!important;top:50%!important;display:block!important;box-sizing:border-box!important;border-radius:50%!important;background:transparent!important;pointer-events:none!important;transform-origin:center!important}
.pub-orbit-track-one{width:382px!important;height:260px!important;margin:-130px 0 0 -191px!important;border:2px solid rgba(231,255,244,.42)!important}
.pub-orbit-track-two{width:322px!important;height:322px!important;margin:-161px 0 0 -161px!important;border:2px solid rgba(255,218,79,.54)!important;transform:rotate(22deg)!important}
.pub-orbit-track-back{z-index:1!important;opacity:.38!important}.pub-orbit-track-front{z-index:5!important;opacity:.95!important}
.pub-orbit-track-one.pub-orbit-track-front{border-color:rgba(231,255,244,.72)!important;clip-path:polygon(0 0,100% 0,100% 34%,72% 34%,72% 0,100% 0,100% 100%,0 100%,0 66%,28% 66%,28% 100%,0 100%)!important}
.pub-orbit-track-two.pub-orbit-track-front{border-color:rgba(255,218,79,.80)!important;clip-path:polygon(0 0,100% 0,100% 26%,62% 26%,62% 0,100% 0,100% 100%,0 100%,0 74%,38% 74%,38% 100%,0 100%)!important}
.pub-orbit-core{position:relative!important;z-index:3!important;display:flex;flex-direction:column;align-items:center;justify-content:center;width:202px!important;height:202px!important;padding:20px 18px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:44px!important;background:linear-gradient(145deg,#063524,#0d6541)!important;box-shadow:0 32px 90px rgba(0,0,0,.35),0 0 42px rgba(32,221,143,.10),inset 0 1px 0 rgba(255,255,255,.14)!important;text-align:center}
.pub-orbit-wordmark{gap:5px!important;white-space:nowrap!important}.pub-orbit-wordmark img{width:78px!important}.pub-orbit-wordmark .pub-orbit-portal-link{padding-left:8px!important;font-size:21px!important}.pub-orbit-core>span{margin-top:7px!important;color:#ffea70!important;font-size:13px!important;font-weight:950!important;text-transform:lowercase}
.pub-orbit-dot{position:absolute!important;left:50%!important;top:50%!important;z-index:6!important;width:17px!important;height:17px!important;margin:-8.5px 0 0 -8.5px!important;border-radius:999px!important;background:#29d892!important;box-shadow:0 0 24px rgba(41,216,146,.68),0 0 50px rgba(41,216,146,.18)!important;pointer-events:none!important;animation:pubOrbitDotOne 9.4s linear infinite!important}
.pub-orbit-dot-two{width:16px!important;height:16px!important;margin:-8px 0 0 -8px!important;background:#ffd94f!important;box-shadow:0 0 24px rgba(255,217,79,.72),0 0 50px rgba(255,217,79,.18)!important;animation:pubOrbitDotTwo 12.2s linear infinite!important}
.pub-orbit-node{position:absolute!important;z-index:7!important;display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:5px 10px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;background:rgba(4,34,23,.82)!important;color:#effff5!important;font-size:11px!important;font-weight:900!important;letter-spacing:.035em!important;text-transform:uppercase!important;box-shadow:0 12px 30px rgba(0,0,0,.25)!important;backdrop-filter:blur(10px)}
.pub-orbit-node-apps{right:4%;top:23%}.pub-orbit-node-data{left:4%;bottom:25%}.pub-orbit-node-users{left:7%;top:20%}.pub-orbit-node-clients{right:1%;bottom:22%}
@keyframes pubOrbitDotOne{0%{transform:scaleY(.68) rotate(0deg) translateX(191px) rotate(0deg) scaleY(1.47);z-index:6}25%{z-index:1}50%{transform:scaleY(.68) rotate(180deg) translateX(191px) rotate(-180deg) scaleY(1.47);z-index:1}75%{z-index:6}100%{transform:scaleY(.68) rotate(360deg) translateX(191px) rotate(-360deg) scaleY(1.47);z-index:6}}
@keyframes pubOrbitDotTwo{0%{transform:rotate(22deg) rotate(72deg) translateX(161px) rotate(-72deg) rotate(-22deg);z-index:1}31%{z-index:6}50%{transform:rotate(22deg) rotate(252deg) translateX(161px) rotate(-252deg) rotate(-22deg);z-index:6}81%{z-index:1}100%{transform:rotate(22deg) rotate(432deg) translateX(161px) rotate(-432deg) rotate(-22deg);z-index:1}}

/* Shared public content rhythm and sections */
.pub-template-body{display:flex;flex-direction:column;gap:var(--pub-section-gap);margin-top:var(--pub-section-gap)}
.pub-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pub-grid-gap)}
.pub-stat{position:relative;display:flex;flex-direction:column;gap:7px;min-height:124px;padding:var(--pub-card-pad);overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:var(--pub-card-radius);background:linear-gradient(145deg,rgba(246,255,251,.92),rgba(205,230,220,.84));box-shadow:0 20px 62px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.62)}
.pub-stat::after{content:"";position:absolute;right:-32px;top:-42px;width:124px;height:124px;border-radius:999px;background:radial-gradient(circle,rgba(255,216,77,.34),transparent 68%)}
.pub-stat-value{position:relative;z-index:1;color:#f5cd31!important;font-size:clamp(1.45rem,2.7vw,2.55rem)!important;font-weight:950!important;letter-spacing:-.04em!important;line-height:1.05!important;-webkit-text-stroke:.38px rgba(13,31,24,.82);paint-order:stroke fill;text-shadow:-.45px 0 rgba(13,31,24,.72),.45px 0 rgba(13,31,24,.72),0 -.45px rgba(13,31,24,.72),0 .45px rgba(13,31,24,.72),0 2px 0 rgba(9,42,29,.88),0 10px 24px rgba(0,0,0,.20)}
.pub-stat-label{position:relative;z-index:1;color:#173a2c!important;font-size:.98rem!important;font-weight:820!important;line-height:1.45!important}
.pub-stat-note{position:relative;z-index:1;color:#46695b!important;font-size:.84rem!important;line-height:1.4!important}
.pub-section{padding:var(--pub-panel-pad);border:1px solid var(--pub-border);border-radius:var(--pub-radius);background:var(--pub-panel);box-shadow:0 28px 96px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(16px)}
.pub-section-spotlight{background:linear-gradient(132deg,rgba(5,42,29,.94),rgba(9,72,47,.78));box-shadow:0 32px 110px rgba(0,0,0,.34),0 0 70px rgba(35,203,133,.08),inset 0 1px 0 rgba(255,255,255,.14)}
.pub-section-split{background:linear-gradient(142deg,rgba(4,31,22,.86),rgba(15,60,43,.76))}
.pub-section-contact{background:linear-gradient(135deg,rgba(8,52,35,.94),rgba(6,38,27,.88))}
.pub-section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:end;gap:clamp(18px,3vw,42px);margin-bottom:clamp(17px,2.2vw,24px)}
.pub-section-align-left .pub-section-head{grid-template-columns:1fr}.pub-section-align-left .pub-section-head>p{max-width:760px}
.pub-section-heading-copy{display:flex;flex-direction:column;gap:7px}
.pub-section-eyebrow,.pub-feature-eyebrow{display:inline-flex!important;align-items:center!important;align-self:flex-start!important;min-height:27px!important;padding:4px 9px!important;border:1px solid rgba(255,216,77,.28)!important;border-radius:999px!important;background:rgba(255,216,77,.12)!important;color:#fff1a3!important;font-size:.75rem!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.pub-section-head h2{margin:0;color:#fff;font-size:clamp(1.5rem,2.8vw,2.38rem);font-weight:900;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}
.pub-section-head>p{margin:0;color:#dfffee!important;font-size:1rem;line-height:1.62;text-align:right}
.pub-section-body{display:flex;flex-direction:column;gap:var(--pub-grid-gap)}
.pub-template-features{display:grid!important;gap:var(--pub-grid-gap)!important;margin:0!important}
.pub-template-features-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pub-template-features-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pub-template-features-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.pub-template-feature{display:flex!important;flex-direction:column!important;gap:8px!important;min-height:0!important;margin:0!important;padding:var(--pub-card-pad)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:var(--pub-card-radius)!important;background:linear-gradient(155deg,rgba(255,255,255,.115),rgba(255,255,255,.042))!important;color:#fff!important;box-shadow:0 16px 48px rgba(0,0,0,.20)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pub-template-feature h2,.pub-template-feature h3{margin:0!important;color:#fff!important;font-size:1.08rem!important;font-weight:850!important;letter-spacing:-.015em!important;line-height:1.22!important}.pub-template-feature p{margin:0!important;color:#e6fff0!important;line-height:1.55!important}
.pub-callout{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:clamp(17px,2vw,22px)!important;border:1px solid rgba(255,216,77,.25)!important;border-radius:var(--pub-card-radius)!important;background:linear-gradient(125deg,rgba(255,216,77,.12),rgba(255,255,255,.045))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important}
.pub-callout-copy{display:flex;flex-direction:column;gap:6px;max-width:800px}.pub-callout h3{margin:0!important;color:#fff6b8!important;font-size:1.12rem!important}.pub-callout p{margin:0!important;color:#e8fff1!important;line-height:1.55!important}
.pub-callout-actions{flex:0 0 auto;margin:0!important}.pub-callout-cta{position:relative;overflow:hidden;margin-top:var(--pub-section-gap)!important;padding:clamp(20px,2.8vw,30px)!important;border-color:rgba(255,216,77,.42)!important;background:linear-gradient(122deg,rgba(8,49,34,.98) 0%,rgba(12,82,55,.96) 58%,rgba(24,131,88,.92) 100%)!important;box-shadow:0 28px 84px rgba(0,0,0,.34),0 0 42px rgba(35,203,133,.10),inset 0 1px 0 rgba(255,255,255,.12)!important}.pub-callout-cta::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#ffe36f,#25d590);box-shadow:0 0 18px rgba(255,216,77,.30)}.pub-callout-cta h3{color:#fff1a8!important;text-shadow:0 2px 16px rgba(0,0,0,.28)}.pub-callout-cta p{color:#f0fff6!important}.pub-callout-cta .btn-primary{border-color:#ffe36f!important;background:#ffd84d!important;color:#102017!important;box-shadow:0 14px 34px rgba(255,216,77,.22)!important}
.pub-benefit-list{display:grid;gap:var(--pub-grid-gap)}.pub-benefit-list-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-benefit-list-1{grid-template-columns:1fr}
.pub-benefit{display:grid!important;grid-template-columns:auto 1fr!important;gap:13px!important;align-items:start!important;padding:var(--pub-card-pad)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:var(--pub-card-radius)!important;background:rgba(255,255,255,.055)!important}
.pub-benefit-number,.pub-benefit-mark{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;border-radius:12px!important;background:#ffd84d!important;color:#102017!important;font-size:.78rem!important;font-weight:950!important;box-shadow:0 12px 28px rgba(255,216,77,.16)!important}
.pub-benefit-mark::before{content:"✓"}.pub-benefit-copy{display:flex;flex-direction:column;gap:5px}.pub-benefit h3{margin:0!important;color:#fff!important;font-size:1.05rem!important;line-height:1.25!important}.pub-benefit p{margin:0!important;color:#dfffee!important;line-height:1.52!important}

/* Module catalog */
.portal-info-module-controls{margin:0;padding:15px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.065);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.portal-info-module-controls .field{margin:0}.portal-info-module-controls label{color:#fff;font-weight:900}.portal-info-module-controls .input{border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.95);color:#122019;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.portal-info-module-control-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.portal-info-module-control-row .btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#ecfff4}.portal-info-module-control-row .btn.active,.portal-info-module-control-row .btn:hover,.portal-info-module-control-row .btn:focus-visible{border-color:#ffd84d;background:#ffd84d;color:#122019;box-shadow:0 12px 30px rgba(255,216,77,.18)}
.portal-info-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pub-grid-gap)}
.portal-info-module-card{display:flex!important;flex-direction:column!important;gap:10px!important;min-height:236px!important;padding:var(--pub-card-pad)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:var(--pub-card-radius)!important;background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.038))!important;box-shadow:0 16px 48px rgba(0,0,0,.20)!important;transition:.18s ease}
.portal-info-module-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-info-module-type,.portal-info-module-key{display:inline-flex!important;align-items:center!important;min-height:27px!important;padding:4px 9px!important;border-radius:999px!important;font-size:.75rem!important;font-weight:950!important}.portal-info-module-type{border:1px solid rgba(255,216,77,.28)!important;background:rgba(255,216,77,.14)!important;color:#fff4ac!important}.portal-info-module-key{border:1px solid rgba(255,255,255,.11)!important;background:rgba(255,255,255,.07)!important;color:#caffdf!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important}
.portal-info-module-card h3{margin:2px 0 0!important;color:#fff!important;font-size:1.23rem!important;letter-spacing:-.02em!important;line-height:1.18!important}.portal-info-module-title-link{color:inherit!important;text-decoration:none!important}.portal-info-module-title-link:hover,.portal-info-module-title-link:focus-visible{color:#fff4ac!important;text-decoration:none!important;text-shadow:0 0 16px rgba(255,216,77,.24)}.portal-info-module-card p{flex:1;margin:0!important;color:#e6fff0!important;line-height:1.56!important}.portal-info-module-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:flex-start!important;min-height:37px!important;padding:8px 13px!important;border-radius:999px!important;background:#ffd84d!important;color:#102017!important;font-weight:950!important;text-decoration:none!important;box-shadow:0 14px 34px rgba(255,216,77,.16)!important}
.portal-info-module-presentation-pending{display:inline-flex!important;align-self:flex-start!important;min-height:37px!important;align-items:center!important;padding:8px 0!important;color:#b9c9c0!important;font-size:.88rem!important;font-weight:850!important}
.portal-info-module-card[hidden],.portal-info-module-empty[hidden]{display:none!important}.portal-info-module-empty{padding:20px;border:1px dashed rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.06);color:#eafff2}

/* Contact and footer */
.portal-info-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.portal-info-contact-form{margin:0}.portal-info-contact-form label{color:#fff;font-weight:900}.portal-info-contact-form .input{border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.95);color:#122019}.portal-info-contact-actions{justify-content:flex-end;margin-top:12px}
.pub-showcase-footer{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;width:100%!important;margin:20px 0 0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;text-shadow:0 2px 12px rgba(0,0,0,.64)!important}
.pub-showcase-footer span{color:#fff!important;font-weight:850!important}.pub-showcase-footer a{display:inline-flex!important;align-items:center!important;min-height:31px!important;padding:5px 10px!important;border:1px solid rgba(255,216,77,.34)!important;border-radius:999px!important;background:rgba(3,27,19,.55)!important;color:#fff4ac!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 12px 28px rgba(0,0,0,.20)!important}.pub-footer-info-link{margin-right:auto!important}.pub-showcase-footer a:hover,.pub-showcase-footer a:focus-visible{background:rgba(255,216,77,.17)!important;color:#fff!important}

/* Responsive */
@media(max-width:1100px){
  body:not(.force-classic-view) .pub-template-hero{grid-template-columns:1fr}
  body:not(.force-classic-view) .pub-showcase-media.pub-template-media{min-height:330px!important}
  body:not(.force-classic-view) .pub-template-features-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.force-classic-view) .portal-info-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  body:not(.force-classic-view) .pub-main{padding:13px}
  body:not(.force-classic-view) .pub-template{width:min(100%,calc(100vw - 14px))}
  body:not(.force-classic-view) .pub-showcase{--pub-section-gap:22px;--pub-grid-gap:11px;--pub-panel-pad:18px;--pub-card-pad:16px;--pub-radius:25px;--pub-card-radius:20px}
  body:not(.force-classic-view) .pub-showcase-topbar{align-items:stretch;flex-direction:column}
  body:not(.force-classic-view) .pub-showcase-top-actions{width:100%;justify-content:space-between;margin-left:0;flex-wrap:wrap}
  body:not(.force-classic-view) .pub-login-menu{margin-left:auto}
  body:not(.force-classic-view) .pub-login-menu-panel{right:0;min-width:min(310px,calc(100vw - 30px))}
  body:not(.force-classic-view) .pub-mobile-view-toggle{display:inline-flex!important}
  body:not(.force-classic-view) .pub-brand-card{width:100%}
  body:not(.force-classic-view) .pub-brand-copy span{white-space:normal}
  body:not(.force-classic-view) .pub-template-hero{padding:23px;border-radius:27px}
  body:not(.force-classic-view) .pub-section-head{grid-template-columns:1fr;gap:8px}
  body:not(.force-classic-view) .pub-section-head>p{text-align:left}
  body:not(.force-classic-view) .pub-stat-grid{grid-template-columns:1fr}
  body:not(.force-classic-view) .pub-stat{min-height:0}
  body:not(.force-classic-view) .pub-benefit-list-2{grid-template-columns:1fr}
  body:not(.force-classic-view) .pub-callout{align-items:flex-start!important;flex-direction:column!important}
  body:not(.force-classic-view) .pub-callout-actions{width:100%}
  body:not(.force-classic-view) .pub-showcase-footer{justify-content:flex-start!important;flex-wrap:wrap!important}
  body.force-classic-view .pub-mobile-view-toggle{display:inline-flex!important}
  body.force-classic-view .pub-template{min-width:1120px}
  body.force-classic-view .pub-main{width:max-content;min-width:100vw}
}
@media(max-width:650px){
  body:not(.force-classic-view) .pub-showcase-actions{flex-wrap:wrap}
  body:not(.force-classic-view) .pub-template-copy h1{font-size:clamp(2rem,10.5vw,3rem)}
  body:not(.force-classic-view) .pub-template-copy .lead{font-size:1rem}
  body:not(.force-classic-view) .pub-showcase-media.pub-template-media{min-height:285px!important}
  body:not(.force-classic-view) .pub-orbit-card{height:300px!important;transform:scale(.78);transform-origin:center}
  body:not(.force-classic-view) .pub-template-features-2,body:not(.force-classic-view) .pub-template-features-3,body:not(.force-classic-view) .pub-template-features-4{grid-template-columns:1fr!important}
  body:not(.force-classic-view) .portal-info-module-grid{grid-template-columns:1fr}
  body:not(.force-classic-view) .portal-info-module-card{min-height:0!important}
  body:not(.force-classic-view) .pub-section-head h2{font-size:1.5rem}
  body:not(.force-classic-view) .pub-brand-card{grid-template-columns:1fr;gap:8px;padding:12px 14px}
  body:not(.force-classic-view) .pub-brand-mark{width:max-content;max-width:100%}
  body:not(.force-classic-view) .pub-brand-logo{width:98px!important;max-width:none!important}
  body:not(.force-classic-view) .pub-portal-link{font-size:20px!important}
  body:not(.force-classic-view) .pub-brand-copy{display:flex;width:fit-content;max-width:100%;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055)}
  body:not(.force-classic-view) .pub-brand-copy::before{content:"";width:18px;height:3px;flex:0 0 18px;margin-right:8px;border-radius:999px;background:linear-gradient(90deg,#ffd84d,#4ade80)}
  body:not(.force-classic-view) .pub-brand-copy span{max-width:none;overflow:visible;font-size:12.5px;line-height:1.35;text-overflow:clip;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .pub-showcase-bg::before,.pub-showcase-bg::after,.pub-orbit-dot{animation:none!important}
  .pub-template-feature,.portal-info-module-card,.pub-locale-switch a{transition:none!important}
  .pub-orbit-dot-one{transform:scaleY(.68) rotate(0deg) translateX(191px) scaleY(1.47)!important}
  .pub-orbit-dot-two{transform:rotate(22deg) rotate(72deg) translateX(161px) rotate(-72deg) rotate(-22deg)!important}
}
.pub-showcase-hero:hover,.pub-showcase-hero:focus-within{border-color:rgba(255,255,255,.31);box-shadow:0 42px 128px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.17)}

/* source: resources/css/portal/61-public-roadmap.css */
/* Public roadmap card states. */
.portal-info-module-status{display:inline-flex!important;align-items:center!important;min-height:27px!important;padding:4px 9px!important;border-radius:999px!important;font-size:.75rem!important;font-weight:950!important;letter-spacing:.01em!important}
.portal-info-module-status-development{border:1px solid rgba(255,216,77,.30)!important;background:rgba(255,216,77,.13)!important;color:#fff0a0!important}
.portal-info-module-status-planned{border:1px solid rgba(220,231,225,.20)!important;background:rgba(220,231,225,.08)!important;color:#d8e4dd!important}
.portal-info-module-card-development{border-color:rgba(255,216,77,.16)!important;background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.026))!important;box-shadow:0 13px 38px rgba(0,0,0,.16)!important}
.portal-info-module-card-planned{border-color:rgba(205,220,212,.12)!important;background:linear-gradient(155deg,rgba(224,234,229,.055),rgba(255,255,255,.018))!important;box-shadow:0 11px 32px rgba(0,0,0,.13)!important}
.portal-info-module-card-development h3,.portal-info-module-card-planned h3{color:#e9f2ed!important}
.portal-info-module-card-development p,.portal-info-module-card-planned p{color:#c9d8d0!important}
.portal-info-module-card-planned .portal-info-module-type{border-color:rgba(220,231,225,.14)!important;background:rgba(220,231,225,.06)!important;color:#d5e0da!important}

/* source: resources/css/portal/62-invoice-status.css */
.invoice-status-compact {
  display: inline-flex;
  min-width: 8.75rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.16rem;
  line-height: 1.15;
  vertical-align: top;
}

.invoice-status-compact .portal-badge {
  white-space: nowrap;
}

.invoice-status-compact__primary {
  display: inline-block;
  min-height: 1.2rem;
  padding: 0.12rem 0;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1.08rem;
}

.invoice-status-compact__detail {
  display: block;
  min-height: 0.95rem;
  padding-inline: 0;
  color: var(--portal-text-muted, #687b73);
  white-space: nowrap;
  font-size: 0.76rem;
  line-height: 0.95rem;
}

/* source: resources/css/portal/62-public-commerce.css */
/* Public pricing, order and free-trial conversion surfaces. */
.public-commerce-trust-section .pub-template-feature{position:relative;overflow:hidden}
.public-commerce-trust-section .pub-template-feature::after{content:"";position:absolute;right:-28px;bottom:-36px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,77,.18),transparent 68%);pointer-events:none}
.public-pricing-form{display:contents}
.public-pricing-configurator .pub-section-body{overflow:visible!important}
.public-pricing-stage{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(286px,330px)!important;align-items:start!important;gap:18px!important}
.public-pricing-catalog{overflow:hidden;border:1px solid rgba(255,255,255,.21);border-radius:26px;background:linear-gradient(152deg,rgba(255,255,255,.105),rgba(255,255,255,.04));box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.10);backdrop-filter:blur(16px)}
.public-pricing-grid{display:grid!important;align-items:stretch!important}.public-pricing-periods-1 .public-pricing-grid{grid-template-columns:minmax(320px,1fr) minmax(125px,.34fr)}.public-pricing-periods-2 .public-pricing-grid{grid-template-columns:minmax(320px,1fr) repeat(2,minmax(125px,.34fr))}.public-pricing-periods-3 .public-pricing-grid{grid-template-columns:minmax(310px,1fr) repeat(3,minmax(116px,.31fr))}.public-pricing-periods-4 .public-pricing-grid{grid-template-columns:minmax(300px,1fr) repeat(4,minmax(105px,.28fr))}
.public-pricing-grid-head{min-height:54px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(1,24,16,.38)}
.public-pricing-grid-head>span{display:flex!important;align-items:center!important;padding:12px 17px!important;color:#dfffee!important;font-size:.78rem!important;font-weight:950!important;letter-spacing:.065em!important;text-transform:uppercase!important}
.public-pricing-grid-head>span:not(:first-child){justify-content:center;border-left:1px solid rgba(255,255,255,.10)}
.public-pricing-period-head.is-active-period{background:rgba(255,216,77,.10);color:#fff4ac!important}
.public-pricing-period-head[data-pricing-period-select]{cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.public-pricing-period-head[data-pricing-period-select]:hover{background:rgba(255,255,255,.07)}.public-pricing-period-head[data-pricing-period-select]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(255,231,122,.8)}
.public-pricing-row{position:relative;min-height:118px;border-bottom:1px solid rgba(255,255,255,.115);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.public-pricing-row:last-child{border-bottom:0}.public-pricing-row:hover{background:rgba(255,255,255,.035)}.public-pricing-row.is-selected{background:linear-gradient(90deg,rgba(45,211,137,.10),rgba(255,216,77,.035));box-shadow:inset 4px 0 0 #4ade80}.public-pricing-core-row{background:linear-gradient(90deg,rgba(255,216,77,.13),rgba(255,255,255,.035));box-shadow:inset 4px 0 0 #ffd84d}
.public-pricing-service-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:7px!important;min-width:0!important;padding:17px 18px!important}.public-pricing-service-title-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important}.public-pricing-service-copy h3{margin:0!important;color:#fff!important;font-size:1.03rem!important;letter-spacing:-.012em!important}.public-pricing-service-copy>p{margin:0!important;color:#dfffee!important;font-size:.88rem!important;line-height:1.48!important}.public-pricing-service-copy .check-item{display:flex!important;align-items:flex-start!important;gap:10px!important;width:fit-content!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important}.public-pricing-service-copy .check-item input{margin-top:3px!important;accent-color:#ffd84d}.public-pricing-service-copy .check-item-label{color:#fff!important;font-size:1.02rem!important;font-weight:950!important;line-height:1.25!important}.public-pricing-service-copy .check-item-content{display:block!important}.public-pricing-service-copy .check-item-linked{align-items:flex-start!important}.public-pricing-service-copy .check-item-toggle{display:inline-flex!important;align-items:flex-start!important;cursor:pointer!important}.public-pricing-service-copy .check-item-label a{color:inherit!important;text-decoration:none!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important}.public-pricing-service-copy .check-item-label a:hover,.public-pricing-service-copy .check-item-label a:focus-visible{color:#fff6bc!important;text-decoration:underline!important}.public-pricing-add-impact{display:block!important;max-width:170px!important;margin:0 0 3px!important;color:#fff6bc!important;font-size:1.05rem!important;font-weight:950!important;line-height:1.18!important;text-align:center!important}.public-pricing-reference-price{display:grid!important;justify-items:center!important;align-content:center!important;gap:1px!important}.public-pricing-reference-values{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important}.public-pricing-price-cell.has-add-impact .public-pricing-reference-values{flex-direction:row!important;align-items:baseline!important;flex-wrap:wrap!important;gap:3px 5px!important}.public-pricing-price-cell.has-add-impact .public-pricing-reference-price{gap:0!important}.public-pricing-price-cell.has-add-impact .public-pricing-reference-values>[data-pricing-current]{color:#dfffee!important;font-size:.82rem!important;font-weight:850!important}.public-pricing-price-cell.has-add-impact .public-pricing-standard{font-size:.72rem!important}.public-pricing-price-cell.has-add-impact .public-pricing-reference-price small{margin-top:1px!important;font-size:.66rem!important;line-height:1.15!important}.public-pricing-module-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important}.public-pricing-badge,.public-pricing-support-label{display:inline-flex!important;align-items:center!important;width:fit-content!important;min-height:23px!important;padding:3px 8px!important;border-radius:999px!important;font-size:.7rem!important;font-weight:950!important;letter-spacing:.035em!important}.public-pricing-badge{border:1px solid rgba(74,222,128,.28);background:rgba(74,222,128,.10);color:#caffdf!important}.public-pricing-badge-core{border-color:rgba(255,216,77,.35);background:rgba(255,216,77,.14);color:#fff1a1!important}.public-pricing-support-label{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#cbded3!important}.public-pricing-support-help{display:none!important;color:#cbded3!important;font-size:.76rem!important;line-height:1.38!important}.public-pricing-row.is-support-locked .public-pricing-support-help{display:block!important}.public-pricing-row.is-support-locked{opacity:.62}.public-pricing-row.is-support-locked:hover{background:transparent}
.public-pricing-price-cell{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:0!important;padding:14px 10px!important;border-left:1px solid rgba(255,255,255,.09);text-align:center!important}.public-pricing-price-cell.is-active-period{background:rgba(255,216,77,.055)}.public-pricing-price-cell strong{color:#fff!important;font-size:1.02rem!important;font-weight:950!important;line-height:1.18!important}.public-pricing-price-cell small{color:#b9d3c4!important;font-size:.7rem!important}.public-pricing-standard{color:#94aa9d!important;font-size:.78rem!important;font-weight:780!important;text-decoration:line-through!important;text-decoration-thickness:1.5px!important}.public-pricing-price-cell[data-pricing-module-price] strong{color:#fff6bc!important}.public-pricing-row.is-selected .public-pricing-price-cell[data-pricing-module-price] strong{color:#caffdf!important}
.public-pricing-summary{position:sticky;top:18px;overflow:hidden;padding:21px;border:1px solid rgba(255,216,77,.28);border-radius:27px;background:linear-gradient(155deg,rgba(5,45,30,.98),rgba(3,29,20,.96));box-shadow:0 30px 90px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.12)}.public-pricing-summary::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#ffd84d,#4ade80,#b7ffe0)}.public-pricing-summary::after{content:"";position:absolute;right:-80px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,77,.14),transparent 68%);pointer-events:none}.public-pricing-summary>*{position:relative;z-index:1}.public-pricing-summary-eyebrow{color:#a9e9c5!important;font-size:.72rem!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important}.public-pricing-summary h3{margin:5px 0 14px!important;color:#fff!important;font-size:1.35rem!important}.public-pricing-period-switch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important;padding:5px!important;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.055)}.public-pricing-period-option{display:block!important;cursor:pointer!important}.public-pricing-period-option input{position:absolute;opacity:0;pointer-events:none}.public-pricing-period-option span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:6px 8px!important;border-radius:11px!important;color:#cde9d8!important;font-size:.78rem!important;font-weight:900!important;transition:.16s ease}.public-pricing-period-option input:checked+span{background:linear-gradient(135deg,#ffd84d,#fff0a2)!important;color:#102017!important;box-shadow:0 10px 24px rgba(255,216,77,.18)}
.public-pricing-total-block{display:flex!important;flex-direction:column!important;align-items:flex-start!important;margin:20px 0 16px!important;padding-bottom:17px!important;border-bottom:1px solid rgba(255,255,255,.13)}.public-pricing-total-standard{margin-bottom:1px!important;color:#9eb6aa!important;font-size:.9rem!important;font-weight:800!important;text-decoration:line-through!important}.public-pricing-total{color:#fff6bc!important;font-size:clamp(2rem,3vw,2.55rem)!important;font-weight:950!important;letter-spacing:-.045em!important;line-height:1!important}.public-pricing-total-caption{margin-top:5px!important;color:#c8e5d6!important;font-size:.78rem!important;font-weight:760!important}.public-pricing-summary-lines{display:grid!important;gap:9px!important}.public-pricing-summary-lines>div{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important}.public-pricing-summary-lines span{color:#bcd6c8!important;font-size:.78rem!important}.public-pricing-summary-lines strong{color:#fff!important;font-size:.85rem!important;text-align:right!important}.public-pricing-summary-lines [data-pricing-saving-row] strong{color:#86f0b4!important}.public-pricing-selection-note{margin:15px 0 0!important;padding:10px 11px!important;border:1px solid rgba(255,216,77,.20)!important;border-radius:13px!important;background:rgba(255,216,77,.08)!important;color:#fff0a0!important;font-size:.79rem!important;line-height:1.42!important}.public-pricing-order-jump{width:100%!important;justify-content:center!important;margin-top:15px!important}.public-pricing-order-jump.is-disabled{opacity:.48!important;filter:saturate(.45);pointer-events:none}
.public-commerce-form-card{position:relative;display:block!important;padding:clamp(18px,2.6vw,30px)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(3,34,23,.84),rgba(8,64,43,.60))!important;box-shadow:0 22px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.09)!important}.public-commerce-form-card label{color:#fff!important;font-weight:900!important}.public-commerce-form-card .input{border-color:rgba(255,255,255,.38)!important;background:rgba(250,255,252,.97)!important;color:#122019!important}.public-commerce-form-card .muted{color:#cae5d6!important}.public-commerce-submit-actions{justify-content:flex-end!important;margin-top:15px!important}.public-commerce-submit-actions .btn.primary{min-width:190px!important}
.public-pricing-tax-note{display:flex!important;align-items:center!important;width:fit-content!important;margin:-2px 0 14px auto!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:999px!important;background:rgba(255,255,255,.055)!important;color:#cae5d6!important;font-size:.74rem!important;font-weight:800!important}
.public-pricing-period-head{flex-direction:column!important;gap:2px!important}.public-pricing-period-head small{color:#ffe77a!important;font-size:.58rem!important;font-weight:950!important;letter-spacing:.035em!important;text-transform:none!important}.public-pricing-period-option span{gap:6px!important;flex-wrap:wrap!important}.public-pricing-period-option span small{display:inline-flex!important;padding:2px 5px!important;border-radius:999px!important;background:rgba(255,216,77,.12)!important;color:#ffe991!important;font-size:.58rem!important;font-weight:950!important;line-height:1!important}.public-pricing-period-option input:checked+span small{background:rgba(16,32,23,.10)!important;color:#24462f!important}
.public-pricing-order-review{position:relative;overflow:hidden;margin-bottom:22px!important;padding:16px 17px!important;border:1px solid rgba(255,216,77,.24)!important;border-radius:19px!important;background:linear-gradient(135deg,rgba(255,216,77,.095),rgba(74,222,128,.07))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}.public-pricing-order-review::after{content:"";position:absolute;right:-55px;top:-65px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,77,.14),transparent 68%);pointer-events:none}.public-pricing-order-review>*{position:relative;z-index:1}.public-pricing-order-review-eyebrow{display:block!important;margin-bottom:10px!important;color:#fff1a0!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.11em!important;text-transform:uppercase!important}.public-pricing-order-review-grid{display:grid!important;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(150px,.55fr))!important;gap:12px!important}.public-pricing-order-review-grid>div{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;padding-left:11px!important;border-left:2px solid rgba(74,222,128,.36)}.public-pricing-order-review-grid>div:last-child{border-left-color:rgba(255,216,77,.55)}.public-pricing-order-review-grid span{color:#aed0bd!important;font-size:.7rem!important;font-weight:850!important}.public-pricing-order-review-grid strong{color:#fff!important;font-size:.86rem!important;line-height:1.42!important;overflow-wrap:anywhere}.public-pricing-order-review-grid>div:last-child strong{color:#fff2a4!important;font-size:1rem!important}
@media(max-width:760px){body:not(.force-classic-view) .public-pricing-tax-note{margin:0 0 12px!important}body:not(.force-classic-view) .public-pricing-order-review-grid{grid-template-columns:1fr!important}body:not(.force-classic-view) .public-pricing-order-review-grid>div{padding:8px 0 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.10)}body:not(.force-classic-view) .public-pricing-order-review-grid>div:first-child{padding-top:0!important;border-top:0!important}}
@media(max-width:1000px){body:not(.force-classic-view) .public-pricing-stage{grid-template-columns:1fr!important}body:not(.force-classic-view) .public-pricing-summary{position:relative;top:auto}}
@media(max-width:760px){body:not(.force-classic-view) .public-pricing-grid-head{display:none!important}body:not(.force-classic-view) .public-pricing-catalog .public-pricing-grid{grid-template-columns:1fr!important}body:not(.force-classic-view) .public-pricing-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:4px 0 12px!important}body:not(.force-classic-view) .public-pricing-service-copy{grid-column:1/-1;padding:15px 15px 9px!important}body:not(.force-classic-view) .public-pricing-price-cell{position:relative;min-height:74px;padding:23px 10px 9px!important;border-top:1px solid rgba(255,255,255,.08);border-left:0}body:not(.force-classic-view) .public-pricing-price-cell::before{content:attr(data-period-label);position:absolute;top:8px;left:0;right:0;color:#9fc1af;font-size:.65rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase}body:not(.force-classic-view) .public-pricing-price-cell:nth-of-type(even){border-right:1px solid rgba(255,255,255,.08)}.public-commerce-submit-actions .btn.primary{width:100%!important}}
@media(max-width:480px){body:not(.force-classic-view) .public-pricing-row{grid-template-columns:1fr!important}body:not(.force-classic-view) .public-pricing-price-cell{border-right:0!important}.public-pricing-period-switch{grid-template-columns:1fr!important}}
/* 0.22.463: subscription-period hierarchy keeps the pricing header premium and explicit. */
.public-pricing-period-head{gap:1px!important;padding-top:8px!important;padding-bottom:8px!important}
.public-pricing-period-title{color:inherit!important;font-size:.79rem!important;font-weight:950!important;line-height:1.08!important;letter-spacing:.065em!important;text-transform:uppercase!important}
.public-pricing-period-head .public-pricing-period-subtitle{color:#a9c9b8!important;font-size:.54rem!important;font-weight:760!important;letter-spacing:.055em!important;line-height:1.05!important;text-transform:uppercase!important}
.public-pricing-period-head .public-pricing-period-best{display:inline-flex!important;align-items:center!important;margin-top:2px!important;padding:2px 6px!important;border:1px solid rgba(255,216,77,.24)!important;border-radius:999px!important;background:rgba(255,216,77,.08)!important;color:#ffe77a!important;font-size:.54rem!important;font-weight:950!important;letter-spacing:.025em!important;line-height:1!important;text-transform:none!important}
.public-pricing-period-switch-label{display:block!important;margin:0 0 5px 2px!important;color:#a9e9c5!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}

/* 0.22.465: adjective + subscription reads as one compact premium header label. */
.public-pricing-period-head{gap:0!important}
.public-pricing-period-title{font-size:.77rem!important;line-height:1.02!important;letter-spacing:.058em!important}
.public-pricing-period-head .public-pricing-period-subtitle{margin-top:1px!important;font-size:.50rem!important;line-height:1!important;letter-spacing:.06em!important;opacity:.86}
.public-pricing-period-head .public-pricing-period-best{margin-top:4px!important}

/* 0.22.466: final premium spacing for compact subscription headers. */
.public-pricing-period-head .public-pricing-period-subtitle{opacity:.74!important}
.public-pricing-period-head .public-pricing-period-best{margin-top:5px!important}

/* source: resources/css/portal/63-invoice-table-headers.css */
/* Invoice register: explicit line breaks are part of selected header labels; x-portal owns sorting and resize controls. */
.invoice-register-header-number{max-width:92px;}
.invoice-register-header-due{max-width:108px;}
.invoice-register-header-amount{width:168px;min-width:168px;max-width:168px;}

.invoice-register-header-document-type{width:136px;min-width:136px;max-width:136px;}
.invoice-register-header-direction{width:126px;min-width:126px;max-width:126px;}
.invoice-register-header-remaining{width:150px;min-width:150px;max-width:150px;}

/* source: resources/css/portal/63-public-commerce-capacity.css */
.public-pricing-capacity{grid-column:1/-1;margin-top:8px!important;padding:20px!important;border-top:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012))}.public-pricing-capacity-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin-bottom:14px!important}.public-pricing-capacity-eyebrow{display:block!important;margin-bottom:4px!important;color:#ffe990!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.11em!important;text-transform:uppercase!important}.public-pricing-capacity-head h3{margin:0!important;color:#fff!important;font-size:1rem!important;line-height:1.35!important}.public-pricing-capacity-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.public-pricing-capacity-card{position:relative;overflow:hidden;display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;padding:16px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(7,54,37,.82),rgba(3,34,23,.90))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 28px rgba(0,0,0,.14)!important}.public-pricing-capacity-card::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#4ade80,#ffd84d)}.public-pricing-capacity-storage::before{background:linear-gradient(180deg,#ffd84d,#7ee8ad)}.public-pricing-capacity-organisations::before{background:linear-gradient(180deg,#7ee8ad,#8bd7ff)}.public-pricing-capacity-title-row{display:flex!important;align-items:center!important;gap:7px!important}.public-pricing-capacity-title-row h4{margin:0!important;color:#fff!important;font-size:.98rem!important}.public-pricing-capacity-card>p,.public-pricing-capacity-organisations-copy>p{margin:0!important;color:#bdd9ca!important;font-size:.77rem!important;line-height:1.48!important}.public-pricing-capacity-card:not(.public-pricing-capacity-organisations)>p{min-height:3.25em}.public-pricing-capacity-card .field{margin:0!important}.public-pricing-capacity-card label{color:#e8f7ef!important;font-size:.76rem!important;font-weight:850!important}.public-pricing-capacity-card input[type=number]{border-color:rgba(255,255,255,.28)!important;background:rgba(251,255,253,.97)!important;color:#122019!important;font-weight:850!important}.public-pricing-capacity-price{display:block!important;margin-top:auto!important;padding-top:2px!important;color:#fff1a0!important;font-size:.84rem!important;font-weight:950!important}.public-pricing-capacity-organisations{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr)!important;align-items:center!important;gap:22px!important;padding-top:14px!important;padding-bottom:14px!important}.public-pricing-capacity-organisations-copy{display:flex!important;flex-direction:column!important;gap:5px!important}.public-pricing-capacity-organisations .checkbox{margin:0!important;padding:11px 13px!important;border:1px solid rgba(126,232,173,.18)!important;border-radius:13px!important;background:rgba(255,255,255,.035)!important}.public-pricing-capacity-organisations .checkbox label{color:#eefbf4!important;font-weight:800!important;line-height:1.4!important}.public-pricing-order-review-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(110px,.55fr))!important}.public-pricing-order-review-grid>[data-pricing-order-organisations-row][hidden]{display:none!important}.public-pricing-order-review-grid>.public-pricing-order-price-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(190px,.48fr) minmax(0,1fr)!important;align-items:center!important;gap:24px!important;margin-top:5px!important;padding:15px 0 0 0!important;border:0!important;border-top:1px solid rgba(255,216,77,.28)!important;background:none!important;box-shadow:none!important}.public-pricing-order-price-main{display:flex!important;flex-direction:column!important;gap:3px!important;padding-left:11px!important;border-left:3px solid #ffd84d!important}.public-pricing-order-review-grid>.public-pricing-order-price-card .public-pricing-order-price-main>strong{color:#fff2a4!important;font-size:1.62rem!important;line-height:1.08!important;letter-spacing:-.02em!important}.public-pricing-order-review-grid>.public-pricing-order-price-card .public-pricing-order-price-main>small{color:#a9cdbb!important;font-size:.72rem!important;font-weight:750!important}.public-pricing-order-invoice-note{margin:0!important;color:#d9ebe2!important;font-size:.79rem!important;font-weight:700!important;line-height:1.5!important}.public-pricing-order-invoice-note strong{color:inherit!important;font-size:inherit!important}
@media(max-width:760px){body:not(.force-classic-view) .public-pricing-capacity{padding:16px!important}body:not(.force-classic-view) .public-pricing-capacity-grid{grid-template-columns:1fr!important}body:not(.force-classic-view) .public-pricing-capacity-organisations{grid-column:auto;grid-template-columns:1fr!important;gap:12px!important}body:not(.force-classic-view) .public-pricing-capacity-card:not(.public-pricing-capacity-organisations)>p{min-height:0}body:not(.force-classic-view) .public-pricing-order-review-grid>.public-pricing-order-price-card{grid-column:auto!important;grid-template-columns:1fr!important;gap:10px!important;padding-top:12px!important}body:not(.force-classic-view) .public-pricing-order-price-main{padding-left:0!important;border-left:0!important}}

/* source: resources/css/portal/64-invoice-forms-and-filters.css */
/* 0.22.30: stable payment filters and searchable tag selectors. */
@media (min-width:1451px){
  .invoice-payment-filter-form{grid-template-columns:minmax(0,1fr)!important}
  .invoice-payment-filter-form .portal-server-filter-fields{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  .invoice-payment-filter-form .portal-filter-field--payment-search{grid-column:span 3!important}
  .invoice-payment-filter-form .portal-filter-field--payment-date{grid-column:span 2!important}
  .invoice-payment-filter-form .portal-filter-field--payment-method{grid-column:span 2!important}
  .invoice-payment-filter-form .portal-filter-field--compact{grid-column:span 1!important}
  .invoice-payment-filter-form .portal-filter-field--payment-tag{grid-column:span 2!important}
  .invoice-payment-filter-form .portal-server-filter-actions{justify-content:flex-start!important;padding-bottom:0!important}
}
.portal-server-filter-fields [data-combo-wrap],
.subjects-server-filter-fields [data-combo-wrap]{min-width:0!important;max-width:100%!important;width:100%!important}
.portal-server-filter-fields .combo,
.subjects-server-filter-fields .combo{min-width:0!important;max-width:100%!important;width:100%!important}
.portal-relation-items{display:grid;gap:.55rem;margin-top:.75rem}
.portal-relation-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.portal-relation-item-content{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}
.portal-relation-item-content .muted{overflow-wrap:anywhere}
@media (max-width:640px){.portal-relation-item{align-items:flex-start}.portal-relation-item>.btn{flex:0 0 auto}}
.portal-relation-items-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}
.portal-relation-items-inline .portal-relation-item{display:inline-flex;width:auto;max-width:100%;padding:.35rem .45rem;gap:.4rem;border-radius:999px}
.portal-relation-items-inline .portal-relation-item-content{flex-wrap:nowrap;gap:.3rem}
.portal-relation-items-inline .portal-relation-item-content .muted{white-space:nowrap}
.portal-relation-items-inline .portal-relation-item>.btn{padding:.25rem .45rem;border-radius:999px}
.portal-relation-items-rows{display:grid;gap:.55rem;margin-top:.75rem}
.portal-relation-items-rows .portal-relation-item{width:100%}
@media (max-width:640px){.portal-relation-items-inline .portal-relation-item{max-width:100%;border-radius:var(--radius)}.portal-relation-items-inline .portal-relation-item-content{flex-wrap:wrap}.portal-relation-items-inline .portal-relation-item-content .muted{white-space:normal}}

.xportal-help-dialog-body.html-content{white-space:normal}.xportal-help-dialog-body.html-content p{margin:0 0 1rem}.xportal-help-dialog-body.html-content ol,.xportal-help-dialog-body.html-content ul{margin:.25rem 0 1rem;padding-left:1.4rem}.xportal-help-dialog-body.html-content li{margin:.55rem 0}.xportal-help-dialog-body.html-content a{font-weight:800;color:var(--green,#0c8f5c);text-decoration:underline;text-underline-offset:2px}

/* Invoice register: standard portal form layout with compact content-sized controls. */
.invoice-checkbox-field{display:flex;align-items:flex-end;min-height:100%}
.invoice-checkbox-field .check{margin-bottom:.65rem}
.invoice-currency-compact{max-width:9rem}
.invoice-currency-compact .combo{width:100%;min-width:0}
[data-vat-detailed] [data-vat-line]+[data-vat-line]{margin-top:.65rem}
.invoice-vat-line{display:grid;grid-template-columns:minmax(9rem,12rem) 6rem minmax(9rem,12rem) auto;align-items:end;gap:.65rem;max-width:43rem}
.invoice-vat-line>.field{min-width:0}
.invoice-vat-line select{min-width:0;width:100%}
.invoice-vat-line>[data-remove-vat-line]{white-space:nowrap;margin-bottom:0}
[data-vat-lines]:has(> [data-vat-line]:only-child) [data-remove-vat-line]{display:none!important}
.invoice-vat-toolbar{margin-top:.75rem;align-items:center;justify-content:flex-start;gap:.75rem;flex-wrap:wrap}
.invoice-settings-grid{grid-template-columns:repeat(2,minmax(0,18rem));justify-content:start}
.invoice-transfer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .invoice-vat-line{grid-template-columns:1fr;max-width:none}
  .invoice-currency-compact{max-width:none}
  .invoice-settings-grid,.invoice-transfer-grid{grid-template-columns:1fr}
}

.invoice-submit-toolbar{margin-top:18px!important;margin-bottom:0!important;}
.invoice-data-transfer-section{display:block;margin-top:28px}

.invoice-form-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;}

.invoice-settings-grid > .field{max-width:18rem;width:100%}

.portal-invoice-detail-grid{align-items:stretch;gap:16px}.portal-invoice-detail-grid>.portal-card{height:100%;min-width:0}.portal-invoice-detail-card{padding:14px 16px 16px}.portal-invoice-detail-card>.card-head{margin-bottom:10px}.portal-invoice-detail-card>.portal-card-body{min-width:0}.portal-invoice-detail-card .portal-table-shell{margin:0}.portal-invoice-detail-card .portal-table-toolbar{margin-bottom:6px}.portal-invoice-detail-card .table-wrap{box-shadow:none;margin:0}.portal-invoice-detail-card table{margin:0}.portal-invoice-detail-card td{padding-top:7px;padding-bottom:7px}.portal-invoice-detail-card tr:first-child td{border-top:0}.portal-attachment-list{display:grid;gap:8px;min-width:0}.portal-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:9px 11px;border:1px solid #dbe7e0;border-radius:12px;background:#fbfdfc}.portal-attachment-copy{display:flex;align-items:center;gap:8px;min-width:0}.portal-attachment-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;color:inherit;text-decoration:none}.portal-attachment-name:hover{text-decoration:underline}.portal-file-editor-grid{align-items:start}.portal-file-editor-card{min-width:0}.portal-file-editor-card .portal-upload-queue{margin-top:8px}@media(max-width:700px){.portal-attachment-item{align-items:flex-start;flex-direction:column}.portal-attachment-copy{width:100%}}

/* 0.22.168 compact invoice/payment server filters */
@media (min-width: 1051px) {
  .invoice-filter-form .portal-server-filter-fields,
  .invoice-payment-filter-form .portal-server-filter-fields { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
  .invoice-filter-form .portal-server-filter-fields > *,
  .invoice-payment-filter-form .portal-server-filter-fields > * { grid-column: span 2; }
  .invoice-filter-form .portal-filter-field--number { grid-column: span 2 !important; }
  .invoice-filter-form .portal-filter-field--symbol,
  .invoice-filter-form .portal-filter-field--direction,
  .invoice-filter-form .portal-filter-field--currency,
  .invoice-payment-filter-form .portal-filter-field--direction,
  .invoice-payment-filter-form .portal-filter-field--compact { grid-column: span 1 !important; }
  .invoice-filter-form .portal-filter-field--subject,
  .invoice-payment-filter-form .portal-filter-field--wide { grid-column: span 3 !important; }
  .invoice-filter-form .portal-filter-field--date,
  .invoice-filter-form .portal-filter-field--money,
  .invoice-payment-filter-form .portal-filter-field--date,
  .invoice-payment-filter-form .portal-filter-field--money { grid-column: span 2 !important; }
  .invoice-filter-form .portal-filter-field--days { grid-column: span 1 !important; }
  .invoice-filter-form .portal-filter-field--creator,
  .invoice-payment-filter-form .portal-filter-field--creator { grid-column: span 2 !important; }
}
.portal-server-filter-fields--advanced { margin-top: 8px; }
.portal-detail-note-card{border-left:4px solid var(--portal-accent,#0ca678)}.portal-detail-note-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.58;color:#243b33}.portal-detail-subnote{margin-top:12px;padding-top:12px;border-top:1px solid #dbe7e0}.portal-detail-subnote>.portal-text:first-child{display:block;margin-bottom:6px}


/* 0.22.284 reminder settings layout and email preview. */
.invoice-reminder-settings-card{margin-top:18px}
.invoice-reminder-form{display:block;margin-top:20px}
.invoice-reminder-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.invoice-reminder-section+.invoice-reminder-section{margin-top:22px}
.invoice-reminder-email-preview{display:grid;gap:0;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden;box-shadow:0 10px 28px rgba(16,32,23,.06)}
.invoice-reminder-system-preview{margin-top:20px;padding:0;background:#f7faf8;border-radius:12px;overflow:hidden}
.invoice-reminder-summary-lines{display:grid;gap:5px;margin-top:4px}
.invoice-reminder-summary-lines .portal-text,.invoice-reminder-signature-preview{display:block;white-space:pre-line;line-height:1.55}
.invoice-reminder-company-preview{display:grid;gap:4px;margin-top:-6px}

.payment-order-account-fields {
  margin-bottom: 0;
}

.payment-order-invoices-section {
  margin-top: calc(var(--portal-gap, 10px) + 14px);
}

/* 0.22.316: document-list basic filters use two explicit content-sized rows. */
.invoice-filter-form .invoice-filter-basic-rows{
  display:grid;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px;
}
.invoice-filter-form .invoice-filter-basic-row{
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:10px;
  min-width:0;
}
.invoice-filter-form .invoice-filter-basic-row>.portal-filter-field{grid-column:auto!important;min-width:0}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--number{flex:0 1 190px}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--symbol{flex:0 1 150px}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--type{flex:0 1 180px}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--pairing{flex:0 1 180px}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--direction{flex:0 1 120px}
.invoice-filter-form .invoice-filter-basic-row--primary .portal-filter-field--status{flex:0 1 150px}
.invoice-filter-form .invoice-filter-basic-row--secondary .portal-filter-field--subject{flex:0 1 350px;width:350px;max-width:350px}
.invoice-filter-form .invoice-filter-basic-row--secondary .portal-filter-field--tag{flex:0 1 170px}
.invoice-filter-form .invoice-filter-basic-row--secondary .portal-filter-field--date{flex:0 1 180px}
.invoice-filter-form .invoice-filter-basic-row--secondary .portal-filter-field--currency{flex:0 0 112px;width:112px;max-width:112px;min-width:112px}
@media(max-width:700px){
  .invoice-filter-form .invoice-filter-basic-row{display:grid;grid-template-columns:minmax(0,1fr)}
  .invoice-filter-form .invoice-filter-basic-row>.portal-filter-field{width:100%;max-width:none;min-width:0}
}

.invoice-reminder-mail-header{padding:18px 22px;background:#10251d;color:#fff}
.invoice-reminder-mail-content{display:grid;gap:16px;padding:22px}
.invoice-reminder-mail-subject-label{margin-bottom:-10px}
.invoice-reminder-mail-copy{white-space:pre-line;line-height:1.65}
.invoice-reminder-mail-actions{margin-top:0!important;margin-bottom:0!important}
.invoice-reminder-mail-signature{display:grid;gap:4px;margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}
.invoice-reminder-mail-footer{padding:14px 22px;background:#f6faf8;border-top:1px solid var(--line)}
.invoice-reminder-editor-grid{margin-bottom:4px}

/* source: resources/css/portal/65-invoice-secure-payment.css */
/* Secure invoice payment QR surfaces: shared detail QR and public secure payment page. */
.invoice-payment-qr {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.invoice-payment-qr__code { width:168px; max-width:100%; }
.invoice-payment-qr__code--trigger.btn { display:block; min-height:0; padding:6px; border:1px solid transparent; border-radius:14px; background:transparent; box-shadow:none; cursor:pointer; transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease; }
.invoice-payment-qr__code--trigger.btn:hover { transform:translateY(-1px) scale(1.015); border-color:#b9d9cc; background:#f7fbf9; box-shadow:0 8px 22px rgba(19,87,65,.12); }
.invoice-payment-qr__code--trigger.btn:focus-visible { outline:3px solid rgba(22,128,95,.22); outline-offset:3px; border-color:#16805f; }
.invoice-payment-qr__code svg,.invoice-payment-qr__code img { display:block; width:100%; max-width:100%; height:auto; }
.invoice-payment-qr__copy { display:grid; gap:6px; }
.invoice-payment-qr--client {
  grid-template-columns:minmax(128px,148px) minmax(0,1fr);
  gap:16px;
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(13,117,81,.12);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(246,252,249,.96),rgba(255,255,255,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.invoice-payment-qr--client .invoice-payment-qr__code { width:138px; }

.invoice-secure-payment-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,330px);
  gap:24px;
  align-items:stretch;
}
.invoice-secure-payment-details-card {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(255,255,255,.88);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,215,78,.14),transparent 20%),
    radial-gradient(circle at 78% 28%,rgba(45,211,154,.10),transparent 28%),
    linear-gradient(145deg,#ffffff 0%,#f7fbf9 58%,#eef8f3 100%);
  box-shadow:0 24px 60px rgba(3,45,32,.22),0 3px 10px rgba(3,45,32,.08),inset 0 1px 0 rgba(255,255,255,.98);
}
.invoice-secure-payment-details-card::before {
  content:'';
  position:absolute;
  z-index:4;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#ffd34e 0%,#45dea9 42%,#0b7651 100%);
}
.invoice-secure-payment-details-card::after {
  content:'';
  position:absolute;
  z-index:0;
  width:220px;
  height:220px;
  right:-118px;
  bottom:-138px;
  border:1px solid rgba(14,117,81,.11);
  border-radius:50%;
  box-shadow:0 0 0 20px rgba(14,117,81,.026),0 0 0 42px rgba(255,211,78,.024);
  pointer-events:none;
}
.invoice-secure-payment-summary {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,auto);
  grid-template-areas:'eyebrow recipient' 'amount recipient';
  gap:7px 30px;
  align-items:center;
  padding:30px 30px 26px;
  border-bottom:1px solid rgba(10,84,61,.10);
  background:
    linear-gradient(105deg,rgba(255,255,255,.96) 0%,rgba(248,253,250,.92) 58%,rgba(238,249,244,.84) 100%);
}
.invoice-secure-payment-summary::after {
  content:'';
  position:absolute;
  left:30px;
  bottom:-1px;
  width:72px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#ffd34e,#2ed19a);
}
.invoice-secure-payment-eyebrow {
  display:block;
  color:#648077!important;
  font-size:10.5px!important;
  font-weight:900!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.invoice-secure-payment-summary > .invoice-secure-payment-eyebrow { grid-area:eyebrow; }
.invoice-secure-payment-amount {
  grid-area:amount;
  display:block;
  color:#084b36!important;
  font-size:clamp(40px,4vw,54px)!important;
  font-weight:830!important;
  line-height:1;
  letter-spacing:-.045em;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
.invoice-secure-payment-recipient {
  grid-area:recipient;
  min-width:210px;
  display:grid;
  gap:6px;
  justify-items:end;
  align-self:stretch;
  align-content:center;
  padding:14px 16px 14px 24px;
  border-left:1px solid rgba(10,84,61,.12);
  border-radius:0 16px 16px 0;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.62));
}
.invoice-secure-payment-recipient .portal-text-tone-muted {
  color:#73877f!important;
  font-size:10.5px!important;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.invoice-secure-payment-recipient .portal-text-weight-bold {
  display:block;
  max-width:240px;
  color:#0b4937!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.35;
  text-align:right;
  overflow-wrap:anywhere;
}
.invoice-secure-payment-details {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:0 36px;
  padding:14px 30px 28px;
  background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(249,253,251,.48));
}
.invoice-secure-payment-detail-item {
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  align-content:center;
  gap:7px;
  min-height:76px;
  padding:17px 4px 16px 14px;
  border-bottom:1px solid rgba(12,94,68,.10);
}
.invoice-secure-payment-detail-item::before {
  content:'';
  position:absolute;
  left:0;
  top:20px;
  width:3px;
  height:28px;
  border-radius:3px;
  background:linear-gradient(180deg,#ffd34e,#2ed19a);
  opacity:.72;
}
.invoice-secure-payment-detail-item:nth-last-child(-n+2) { border-bottom-color:transparent; }
.invoice-secure-payment-detail-item:nth-child(odd):last-child {
  grid-column:1 / -1;
  border-bottom-color:transparent;
}
.invoice-secure-payment-detail-label {
  color:#72877f!important;
  font-size:10.5px!important;
  font-weight:850!important;
  letter-spacing:.065em;
  line-height:1.3;
  text-transform:uppercase;
}
.invoice-secure-payment-detail-value {
  min-width:0;
  color:#084b37!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.35;
  text-align:left;
  overflow-wrap:anywhere;
}
.invoice-secure-payment-detail-item:hover .invoice-secure-payment-detail-value {
  color:#087153!important;
}
.invoice-secure-payment-qr-card {
  position:relative;
  overflow:hidden;
  display:grid;
  align-content:start;
  justify-items:center;
  gap:10px;
  padding:22px 22px 20px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  background:linear-gradient(155deg,rgba(7,66,49,.9),rgba(10,112,75,.68));
  box-shadow:0 18px 46px rgba(4,39,29,.28),inset 0 1px 0 rgba(255,255,255,.08);
  text-align:center;
}
.invoice-secure-payment-qr-card::before {
  content:'';
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:3px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,#ffd34e,#28d39a);
}
.invoice-secure-payment-eyebrow--qr { grid-area:auto; color:#c9f5e2!important; margin-bottom:2px; }
.invoice-secure-payment-qr-card .invoice-payment-qr__code {
  width:214px;
  max-width:100%;
  padding:12px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:15px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}
.invoice-secure-payment-qr-amount {
  display:block;
  margin-top:2px;
  color:#ffe98b!important;
  font-size:17px!important;
  font-weight:800!important;
}
.invoice-secure-payment-qr-invoice {
  display:block;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
}
.invoice-secure-payment-qr-help {
  display:block;
  max-width:270px;
  color:#d7eee5!important;
  font-size:13px!important;
  line-height:1.5;
}
@media (max-width: 900px) {
  .invoice-secure-payment-summary {
    grid-template-columns:1fr;
    grid-template-areas:'eyebrow' 'amount' 'recipient';
  }
  .invoice-secure-payment-recipient {
    min-width:0;
    justify-items:start;
    padding:10px 0 0;
    border-left:0;
    border-radius:0;
    background:none;
  }
  .invoice-secure-payment-recipient .portal-text-weight-bold { text-align:left; }
}
@media (max-width: 720px) {
  .invoice-payment-qr,.invoice-secure-payment-grid { grid-template-columns:1fr; }
  .invoice-payment-qr__code { margin-inline:auto; }
  .invoice-secure-payment-summary { padding:23px 20px 19px; }
  .invoice-secure-payment-summary::after { left:20px; }
  .invoice-secure-payment-details { grid-template-columns:1fr; gap:0; padding:8px 20px 16px; }
  .invoice-secure-payment-detail-item,
  .invoice-secure-payment-detail-item:nth-last-child(-n+2) { min-height:56px; border-bottom:1px solid rgba(12,94,68,.10); }
  .invoice-secure-payment-detail-item:last-child { border-bottom-color:transparent; }
  .invoice-secure-payment-detail-item:nth-child(odd):last-child { grid-column:auto; }
  .invoice-secure-payment-qr-card { padding:22px 18px 20px; }
}
@media (max-width:460px) {
  .invoice-secure-payment-detail-item { grid-template-columns:1fr; gap:5px; padding-left:14px; }
  .invoice-secure-payment-detail-value { text-align:left; }
}

/* source: resources/css/portal/66-subject-quick-create.css */
.portal-quick-subject-dialog{width:min(760px,calc(100vw - 28px));max-height:min(88vh,760px);padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(11,55,43,.28);overflow:auto}.portal-quick-subject-dialog::backdrop{background:rgba(7,31,24,.58);backdrop-filter:blur(4px)}.portal-quick-subject{padding:24px}.portal-quick-subject__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #dcebe5}.portal-quick-subject__head h2{margin:.2rem 0 .4rem;color:#123f31;font-size:1.45rem}.portal-quick-subject__kicker{font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#16805f}.portal-quick-subject__duplicate,.portal-quick-subject__error,.portal-quick-subject__ares-note{margin-bottom:16px}.portal-quick-subject__actions{margin-top:20px;padding-top:18px;border-top:1px solid #e3eee9}.portal-quick-subject-dialog [hidden]{display:none!important}@media(max-width:640px){.portal-quick-subject{padding:18px}.portal-quick-subject__head{gap:12px}.portal-quick-subject-dialog{border-radius:18px}.portal-quick-subject__actions{align-items:stretch}.portal-quick-subject__actions .btn{width:100%;justify-content:center}}

/* source: resources/css/portal/67-qr-dialog.css */
.portal-qr-dialog{width:min(760px,calc(100vw - 28px));max-height:min(90vh,820px);padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(11,55,43,.3);overflow:auto}.portal-qr-dialog::backdrop{background:rgba(7,31,24,.58);backdrop-filter:blur(4px)}.portal-qr-dialog__inner{padding:24px}.portal-qr-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #dcebe5}.portal-qr-dialog__head .portal-heading{margin:.2rem 0 .4rem;color:#123f31;font-size:1.45rem}.portal-qr-dialog__kicker{font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#16805f}.portal-qr-dialog__body{display:grid;grid-template-columns:minmax(240px,330px) 1fr;gap:28px;align-items:center;padding:24px 0 20px}.portal-qr-dialog__qr-frame{display:flex;align-items:center;justify-content:center;padding:16px;border:1px solid #d9ebe4;border-radius:20px;background:linear-gradient(145deg,#f8fcfa,#edf7f3);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.portal-qr-dialog__qr{display:block;width:min(100%,300px);height:auto;aspect-ratio:1/1}.portal-qr-dialog__copy{display:grid;gap:10px}.portal-qr-dialog__copy .portal-heading{margin:0;color:#123f31}.portal-qr-dialog__actions{padding-top:18px;border-top:1px solid #e3eee9}.portal-qr-dialog[open]{animation:portalQrDialogIn .16s ease-out}@keyframes portalQrDialogIn{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:680px){.portal-qr-dialog{border-radius:18px}.portal-qr-dialog__inner{padding:18px}.portal-qr-dialog__body{grid-template-columns:1fr;gap:18px}.portal-qr-dialog__qr-frame{max-width:360px;margin:0 auto;width:100%}}

/* source: resources/css/portal/68-company-settings.css */
.company-reminder-sections{row-gap:28px}.company-reminder-card{padding:22px}.company-reminder-card-heading{display:flex;align-items:center;gap:8px;margin-bottom:6px}.company-reminder-email-preview{margin-top:18px;border:1px solid var(--portal-border,#dbe7e0);border-radius:16px;background:#fff;overflow:hidden}.company-reminder-email-subject{display:flex;gap:10px;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--portal-border,#dbe7e0);background:rgba(240,248,244,.72)}.company-reminder-email-body{display:grid;gap:18px;padding:20px}.company-reminder-system-block{display:grid;gap:6px;padding:16px;border-left:4px solid var(--portal-accent,#0ca678);border-radius:10px;background:rgba(240,248,244,.78)}.company-reminder-signature-preview{display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--portal-border,#dbe7e0);white-space:pre-wrap}.company-account-row{padding:18px;border:1px solid var(--portal-border,#dbe7e0);border-radius:14px;margin-bottom:16px;background:rgba(255,255,255,.72)}
.company-settings-form>.form-section+.form-section{margin-top:22px!important}.company-settings-form>.form-section .form-grid{row-gap:16px}.company-settings-form>[data-add-account]{margin-top:4px}.company-settings-form .attachment-list+.upload-queue,.company-settings-form [data-account-row]+[data-account-row]{margin-top:16px}

.invoice-reminder-settings-spaced .invoice-reminder-section+.invoice-reminder-section{margin-top:24px!important}.invoice-reminder-settings-spaced .invoice-reminder-email-preview{display:grid;gap:18px}.invoice-reminder-settings-spaced .invoice-reminder-system-preview{display:grid;gap:8px}.invoice-reminder-settings-spaced .invoice-reminder-summary-lines{display:grid;gap:5px}
.portal-mail-preview{border:1px solid var(--portal-border,#dbe7e0);border-radius:16px;overflow:hidden;background:#edf4f0;box-shadow:0 8px 22px rgba(16,32,23,.06)}
.portal-mail-preview-frame{display:block;width:100%;height:720px;border:0;background:#edf4f0}
@media (max-width:900px){.portal-mail-preview-frame{height:780px}}
.portal-mail-preview-dialog-actions{margin-top:2px}.portal-mail-preview-dialog{width:min(1080px,calc(100vw - 28px));height:min(90vh,900px);padding:0;border:0;border-radius:22px;background:#f7faf8;box-shadow:0 28px 80px rgba(11,55,43,.30);overflow:hidden}.portal-mail-preview-dialog::backdrop{background:rgba(7,31,24,.58);backdrop-filter:blur(4px)}.portal-mail-preview-dialog__panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.portal-mail-preview-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid var(--portal-border,#dbe7e0);background:#fff}.portal-mail-preview-dialog__head h2{margin:.15rem 0 0}.portal-mail-preview-dialog__kicker{font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#16805f}.portal-mail-preview-dialog .portal-mail-preview{min-height:0;height:100%;border:0;border-radius:0;box-shadow:none}.portal-mail-preview-dialog .portal-mail-preview-frame{height:100%;min-height:0}.portal-mail-preview-dialog[open]{display:block}@media(max-width:700px){.portal-mail-preview-dialog{width:calc(100vw - 16px);height:94vh;border-radius:16px}.portal-mail-preview-dialog__head{padding:16px}.portal-mail-preview-dialog-actions .btn{width:100%;justify-content:center}}

.portal-mail-preview-dialog__controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.portal-mail-preview-dialog__icon{width:34px;min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.portal-mail-preview-dialog__unsaved{font-weight:800;color:#8a6417}.portal-mail-preview-dialog.maximized{width:calc(100vw - 20px);height:calc(100vh - 20px);max-width:none;max-height:none;margin:auto}.invoice-reminder-unsaved-state{font-weight:800;color:#8a6417}
@media(max-width:700px){.portal-mail-preview-dialog.maximized{width:calc(100vw - 10px);height:calc(100vh - 10px);border-radius:12px}.portal-mail-preview-dialog__controls{gap:6px}.portal-mail-preview-dialog__unsaved{width:100%;text-align:right}}

/* source: resources/css/portal/99-viewport-and-force-desktop.css */
/* 0.22.73: reusable viewport-layer contract. Interactive overlays must not inherit clipping or transforms from templates. */
[data-xportal-viewport-layer="1"]{isolation:isolate}
.combo-list.combo-list-portal[data-xportal-viewport-layer="1"],
.portal-column-picker-menu.portal-column-picker-menu-portal[data-xportal-viewport-layer="1"],
.xportal-help-preview.xportal-help-preview-portaled[data-xportal-viewport-layer="1"],
.xportal-help-dialog[data-xportal-viewport-layer="1"],
.xportal-help-dialog-backdrop[data-xportal-viewport-layer="1"]{position:fixed!important}

/* Mobile table tools form their own row below export/filter controls. */
@media(max-width:700px){
  .portal-table-shell{padding-top:0!important}
  .portal-table-corner-tools{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:100%!important;
    max-width:none!important;
    min-height:38px!important;
    margin:8px 0 6px!important;
    padding:0 4px!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:8px!important;
    clear:both!important;
  }
}

/* Forced desktop view is a real desktop layout, not a mobile/desktop hybrid. */
@media(max-width:980px){
  html:has(body.force-desktop-view){min-width:1180px;overflow-x:auto}
  body.force-desktop-view{min-width:1180px!important;overflow-x:visible!important}
  body.force-desktop-view .app{display:flex!important;min-width:1180px!important;align-items:flex-start!important;overflow:visible!important}
  body.force-desktop-view .sidebar{position:sticky!important;top:0!important;width:286px!important;min-width:286px!important;height:100vh!important;max-height:100vh!important;overflow:auto!important}
  body.force-desktop-view .main{display:block!important;flex:1 1 auto!important;min-width:894px!important;width:auto!important}
  body.force-desktop-view .topbar{position:sticky!important;top:0!important;height:64px!important;min-height:64px!important;padding:12px 24px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;overflow:visible!important}
  body.force-desktop-view .top-left{width:auto!important;min-width:260px!important}
  body.force-desktop-view .top-actions{width:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important}
  body.force-desktop-view .content{padding:24px 28px 48px!important;clear:none!important}
  body.force-desktop-view .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.force-desktop-view .cols-2,body.force-desktop-view .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.force-desktop-view .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.force-desktop-view .cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.force-desktop-view .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.force-desktop-view .dl{grid-template-columns:160px 1fr!important}
  body.force-desktop-view .portal-server-filter-form{grid-template-columns:minmax(0,1fr) auto!important}
  body.force-desktop-view .portal-server-filter-fields{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  body.force-desktop-view .portal-server-filter-fields>*{grid-column:span 2!important}
  body.force-desktop-view .portal-server-filter-fields>.portal-filter-field--wide{grid-column:span 3!important}
  body.force-desktop-view .portal-server-filter-fields>.portal-filter-field--compact{grid-column:span 1!important}
  body.force-desktop-view .portal-table-toolbar{flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important}
  body.force-desktop-view .portal-table-local-filter{width:auto!important}
  body.force-desktop-view .portal-table-corner-tools{position:absolute!important;top:8px!important;right:8px!important;left:auto!important;width:auto!important;max-width:calc(100% - 16px)!important;margin:0!important;padding:0!important;clear:none!important}
}

/* 0.22.74: forced desktop must override every mobile topbar rule, not only shell geometry. */
@media (max-width: 980px) {
  body.force-desktop-view .topbar {
    position: sticky !important;
    top: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 10px 18px !important;
    overflow: visible !important;
    z-index: 1200 !important;
  }
  body.force-desktop-view .top-left {
    width: auto !important;
    min-width: 220px !important;
    max-width: 280px !important;
    flex: 0 1 280px !important;
  }
  body.force-desktop-view .top-actions {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  body.force-desktop-view .top-actions > *,
  body.force-desktop-view .top-actions .btn,
  body.force-desktop-view .top-actions form.inline,
  body.force-desktop-view .top-actions .locale-switch {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
  body.force-desktop-view .company-switch,
  body.force-desktop-view .company-combobox {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  body.force-desktop-view .combo-field-inline {
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  body.force-desktop-view .combo-field-inline .company-label {
    display: inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  body.force-desktop-view .combo-field-inline .combo,
  body.force-desktop-view .company-switch .combo,
  body.force-desktop-view .company-switch .combo.compact,
  body.force-desktop-view .top-actions .combo {
    width: auto !important;
    min-width: 170px !important;
    max-width: 230px !important;
    flex: 0 1 210px !important;
  }
  body.force-desktop-view .top-actions .locale-switch select,
  body.force-desktop-view .top-actions form.inline .btn {
    width: auto !important;
  }
}

/* Narrow physical viewport still uses desktop control geometry after explicit switch. */
@media (max-width: 1260px) {
  body.force-desktop-view.template-modern .topbar .company-label {
    display: inline-flex !important;
  }
  body.force-desktop-view.template-modern .topbar .company-switch .combo,
  body.force-desktop-view.template-modern .topbar .company-switch .combo.compact {
    min-width: 170px !important;
    max-width: 230px !important;
  }
}

/* 0.22.312: two independent flex rows with field widths based on real content. */
.invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
.invoice-payment-filter-form .portal-server-filter-fields--payments-secondary,
body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
}
.invoice-payment-filter-form .portal-server-filter-fields--payments-secondary,
body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary {
  margin-top: 12px !important;
}
.invoice-payment-filter-form .portal-server-filter-fields--payments-primary > *,
.invoice-payment-filter-form .portal-server-filter-fields--payments-secondary > *,
body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary > *,
body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary > * {
  grid-column: auto !important;
  min-width: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}
.invoice-payment-filter-form .portal-filter-field--payment-number { flex-basis: 250px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-subject { flex: 1 1 360px !important; max-width: 430px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-date { flex-basis: 210px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-tag { flex-basis: 180px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-variable { flex-basis: 250px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-constant { flex-basis: 145px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-specific { flex-basis: 220px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-method { flex-basis: 160px !important; }
.invoice-payment-filter-form .portal-filter-field--direction { flex-basis: 160px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-currency { flex: 0 0 112px !important; max-width: 112px !important; }
.invoice-payment-filter-form .portal-filter-field--payment-constant .input { max-width: none !important; }
@media (max-width: 1380px) and (min-width: 1101px) {
  .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary {
    flex-wrap: wrap !important;
  }
}
@media (max-width: 1100px) {
  .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .invoice-payment-filter-form .portal-server-filter-fields--payments-primary > *,
  .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary > *,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary > *,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary > * {
    max-width: none !important;
  }
}
@media (max-width: 700px) {
  .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-primary,
  body.force-desktop-view .invoice-payment-filter-form .portal-server-filter-fields--payments-secondary {
    grid-template-columns: 1fr !important;
  }
}
