:root{
  --bg:#06101f;--bg2:#0b1628;--surface:rgba(13,26,48,.78);--surface-2:rgba(18,35,64,.88);--surface-3:rgba(255,255,255,.055);
  --text:#f7fbff;--muted:#9fb0cb;--line:rgba(151,179,222,.14);--shadow:0 18px 55px rgba(0,0,0,.32);
  --accent:#2d7dff;--accent2:#7b3cff;--cyan:#34c8ff;--green:#19d39b;--red:#ff5669;--amber:#ffb541;--pink:#ec4eb7;
  --grad:linear-gradient(135deg,var(--accent),var(--accent2));--grad2:linear-gradient(135deg,var(--cyan),var(--accent));
  --radius:18px;--radius-sm:12px;--topbar:72px;--sidebar:250px;--font:Inter,Montserrat,"Segoe UI",Arial,sans-serif;
}
html[data-theme="light"]{
  --bg:#eef4fb;--bg2:#f7faff;--surface:rgba(255,255,255,.92);--surface-2:rgba(250,252,255,.97);--surface-3:rgba(16,35,66,.045);
  --text:#08162a;--muted:#5a6a80;--line:rgba(28,61,105,.13);--shadow:0 18px 48px rgba(45,77,120,.14);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);background:var(--bg);color:var(--text)}body{overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}.hidden{display:none!important}
body:before{content:"";position:fixed;inset:-25%;pointer-events:none;background:radial-gradient(circle at 16% 10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 25%),radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 28%);animation:ambient 16s ease-in-out infinite alternate;z-index:-2}
@keyframes ambient{to{transform:translate3d(3%,-2%,0) scale(1.05)}}
.glass{background:var(--surface);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);border:1px solid var(--line);box-shadow:var(--shadow)}
.btn{border:0;border-radius:12px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:var(--text);background:var(--surface-3);border:1px solid var(--line);transition:.22s ease;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{color:#fff;background:var(--grad);border-color:rgba(255,255,255,.15);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px rgba(255,255,255,.28),inset 0 -2px rgba(0,0,0,.14)}
.btn-3d{position:relative;overflow:hidden}.btn-3d:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 45%,transparent 62%);transform:translateX(-140%);transition:.6s}.btn-3d:hover:after{transform:translateX(140%)}
.icon-btn{width:40px;height:40px;padding:0;border-radius:12px}
.input-wrap{position:relative}.input-wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.form-control,.form-select{width:100%;height:46px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 94%,transparent);color:var(--text);padding:0 14px;outline:none;transition:.2s}.input-wrap .form-control{padding-left:40px}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.form-label{display:block;font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.02em;margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--cyan);font-weight:800}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.brand img{width:42px;height:42px;object-fit:contain;object-position:left;filter:drop-shadow(0 5px 16px rgba(42,126,255,.24))}.brand span{font-size:18px}.brand b{color:var(--cyan);font-weight:800}.brand.light img{filter:drop-shadow(0 4px 10px rgba(35,95,210,.2))}
html[data-theme="light"] .brand span{color:#08162a}html[data-theme="dark"] .brand span{color:#f7fbff}

/* login */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr);background:#050b18;overflow:hidden}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;min-height:100vh;background-image:linear-gradient(90deg,rgba(3,8,24,.42),rgba(4,9,24,.63)),url('../img/login-fintech.jpg');background-size:cover;background-position:center}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,7,20,.72));pointer-events:none}.login-visual>*{position:relative;z-index:2}.login-hero-copy{max-width:630px}.login-hero-copy h1{font-size:clamp(42px,5vw,74px);line-height:.98;margin:18px 0 20px;letter-spacing:-.05em}.login-hero-copy p{font-size:18px;line-height:1.7;color:#bed0eb;max-width:560px}.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-pill{padding:10px 14px;border-radius:999px;background:rgba(7,20,47,.55);border:1px solid rgba(133,177,255,.18);backdrop-filter:blur(12px);font-size:12px;color:#dbe8ff;display:flex;align-items:center;gap:8px}.login-orb{position:absolute;right:5%;top:18%;width:240px;height:240px;border-radius:50%;border:1px solid rgba(71,149,255,.16);background:radial-gradient(circle at 34% 28%,rgba(81,166,255,.3),rgba(68,54,213,.06) 55%,transparent 72%);filter:drop-shadow(0 0 45px rgba(65,95,255,.28));animation:floatOrb 6s ease-in-out infinite}@keyframes floatOrb{50%{transform:translateY(-16px) rotate(6deg)}}
.login-panel{display:flex;align-items:center;justify-content:center;padding:44px;position:relative;background:linear-gradient(145deg,#07101e,#0a1426 55%,#0c0d22)}.login-panel:before{content:"";position:absolute;width:430px;height:430px;background:radial-gradient(circle,var(--accent2),transparent 68%);opacity:.12;filter:blur(30px);animation:pulse 6s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.16);opacity:.2}}.login-card{width:min(470px,100%);padding:32px;border-radius:24px;position:relative}.login-card .brand{margin-bottom:34px}.login-card h2{font-size:30px;margin:0 0 8px}.login-card .intro{color:var(--muted);margin:0 0 28px}.form-stack{display:grid;gap:18px}.form-row-flex{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px}.form-row-flex label{display:flex;gap:8px;align-items:center;color:var(--muted)}.login-btn{width:100%;height:50px;margin-top:6px}.login-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:11px}.login-wave{position:absolute;bottom:-15px;left:-15%;width:130%;height:110px;opacity:.45;z-index:1}

/* selection */
.select-shell{min-height:100vh;display:grid;grid-template-columns:1fr 380px;padding:34px;gap:24px;max-width:1500px;margin:auto}.select-main,.select-side{border-radius:24px}.select-main{padding:24px;min-width:0}.select-side{padding:24px;align-self:start;position:sticky;top:24px}.page-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title h1{font-size:28px;margin:3px 0 6px}.searchbar{position:relative;min-width:280px}.searchbar input{padding-left:40px}.searchbar i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.company-table-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface-3)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:color-mix(in srgb,var(--surface-2) 88%,transparent);position:sticky;top:0;z-index:2}.data-table tbody tr{transition:.18s;cursor:pointer}.data-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.data-table tbody tr.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent2) 12%,transparent));box-shadow:inset 3px 0 var(--accent)}.company-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.mini-stat{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-3)}.mini-stat small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.mini-stat strong{font-size:14px}.status-banner{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:13px;background:rgba(25,211,155,.11);border:1px solid rgba(25,211,155,.2);color:var(--green);font-size:12px;font-weight:700}.side-logo-stage{height:220px;display:grid;place-items:center;position:relative;perspective:900px}.side-logo-stage:before{content:"";position:absolute;width:180px;height:80px;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 40%,transparent),transparent 70%);filter:blur(12px);bottom:22px}.logo-3d{width:260px;max-width:90%;object-fit:contain;animation:logoFloat 5s ease-in-out infinite;transform-style:preserve-3d;filter:drop-shadow(0 24px 25px rgba(0,0,0,.28))}@keyframes logoFloat{0%,100%{transform:rotateY(-8deg) rotateX(2deg) translateY(0)}50%{transform:rotateY(8deg) rotateX(-2deg) translateY(-10px)}}.quick-links{display:grid;gap:10px;margin-top:14px}.quick-link{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-3);display:flex;align-items:center;gap:11px;font-size:13px;transition:.2s}.quick-link:hover{transform:translateX(4px);border-color:var(--accent)}

/* app layout */
.app{min-height:100vh}.topbar{height:var(--topbar);position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:20px;padding:0 22px;background:color-mix(in srgb,var(--bg2) 88%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.topbar .brand{margin-right:8px}.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.user-chip{display:flex;align-items:center;gap:9px;padding-left:9px}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:11px;font-weight:800;box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 28%,transparent)}.user-chip .meta{line-height:1.15}.user-chip strong{font-size:12px;display:block}.user-chip small{font-size:10px;color:var(--muted)}
.sidebar{position:fixed;left:0;top:var(--topbar);bottom:0;width:var(--sidebar);padding:18px 14px;z-index:40;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 92%,transparent);backdrop-filter:blur(20px);display:flex;flex-direction:column}.nav-list{display:grid;gap:5px}.nav-item{position:relative}.nav-link{height:42px;display:flex;align-items:center;gap:12px;border-radius:11px;padding:0 12px;color:var(--muted);font-size:13px;font-weight:650;transition:.2s}.nav-link i{width:18px;text-align:center}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-3)}.nav-link.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent2) 14%,transparent));box-shadow:inset 3px 0 var(--accent)}.nav-link .chev{margin-left:auto;font-size:10px;transition:.2s}.nav-item.open>.nav-link .chev{transform:rotate(90deg)}.sub-menu{display:none;padding:6px 0 7px 39px;gap:2px}.nav-item.open>.sub-menu{display:grid;animation:menuIn .18s ease}.sub-menu a{font-size:11px;color:var(--muted);padding:7px 10px;border-radius:8px}.sub-menu a:hover{color:var(--text);background:var(--surface-3)}@keyframes menuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.side-bottom{margin-top:auto}.content{padding:calc(var(--topbar) + 24px) 24px 28px calc(var(--sidebar) + 24px);transition:.25s}.sidebar.collapsed{width:82px}.sidebar.collapsed .nav-link span,.sidebar.collapsed .nav-link .chev,.sidebar.collapsed .sub-menu,.sidebar.collapsed .side-label{display:none}.sidebar.collapsed+.content{padding-left:106px}
.horizontal-mode .sidebar{display:none}.horizontal-mode .content{padding-left:24px;padding-top:calc(var(--topbar) + 70px)}.hnav{display:none}.horizontal-mode .hnav{display:flex;position:fixed;left:0;right:0;top:var(--topbar);height:54px;z-index:45;align-items:center;padding:0 22px;background:color-mix(in srgb,var(--bg2) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);gap:4px}.hnav .nav-item{height:100%;display:flex;align-items:center}.hnav .nav-link{height:36px;padding:0 10px}.hnav .sub-menu{position:absolute;top:46px;left:0;min-width:285px;padding:10px;display:none;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:1fr;max-height:none!important;overflow:visible!important}.hnav .nav-item.open>.sub-menu{display:grid}.hnav .sub-menu a{white-space:nowrap}.horizontal-search{margin-left:auto;width:min(310px,26vw);position:relative}.horizontal-search input{height:38px;padding-left:36px}.horizontal-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.dashboard-head h1{font-size:28px;margin:0 0 4px}.actions{display:flex;gap:8px;flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{padding:17px;border-radius:16px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;right:-35px;top:-35px;width:100px;height:100px;border-radius:50%;background:var(--kpi-color,var(--accent));opacity:.09}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--kpi-color,var(--accent)) 16%,transparent);color:var(--kpi-color,var(--accent))}.kpi small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpi-value{font-size:22px;font-weight:800;margin:14px 0 8px}.trend{font-size:11px;color:var(--green);font-weight:700}.trend.down{color:var(--red)}.main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:14px;margin-top:14px}.panel{padding:18px;border-radius:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h3{font-size:15px;margin:0}.chart-wrap{height:320px;position:relative}.chart-wrap canvas{width:100%;height:100%}.list{display:grid}.list-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.rank{width:28px;height:28px;border-radius:9px;background:var(--surface-3);display:grid;place-items:center;font-size:11px;font-weight:800}.list-row strong{font-size:12px}.list-row small{font-size:10px;color:var(--muted)}.bottom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.mini-card{padding:15px;border-radius:15px;display:flex;gap:12px;align-items:center}.mini-card .icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3)}.mini-card small{color:var(--muted);display:block;font-size:10px}.mini-card strong{font-size:17px}

/* command/search */
.command{position:fixed;inset:0;background:rgba(2,7,18,.6);backdrop-filter:blur(8px);z-index:100;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.command.show{display:flex}.command-box{width:min(690px,92vw);border-radius:18px;padding:12px}.command-input{height:54px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0 15px;font-size:15px}.command-results{padding:8px;display:grid;gap:4px}.command-item{padding:11px;border-radius:10px;display:flex;align-items:center;gap:12px;color:var(--muted)}.command-item:hover{background:var(--surface-3);color:var(--text)}

/* settings */
.drawer{position:fixed;top:0;right:-420px;width:min(400px,94vw);height:100vh;z-index:90;padding:22px;background:var(--surface-2);border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(0,0,0,.22);transition:.3s;overflow:auto}.drawer.open{right:0}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.drawer h2{font-size:20px;margin:0}.setting-block{padding:16px 0;border-bottom:1px solid var(--line)}.setting-block h4{font-size:12px;margin:0 0 11px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:0 0 0 1px var(--line)}.swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}

/* admin */
.admin-layout{padding-top:calc(var(--topbar) + 24px);max-width:1550px;margin:auto;padding-left:24px;padding-right:24px}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.admin-tabs .btn.active{background:var(--grad);color:#fff}.admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px}.admin-table-card,.editor-card{border-radius:18px;padding:16px}.editor-card{position:sticky;top:calc(var(--topbar) + 18px);align-self:start}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.toolbar .searchbar{margin-left:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.year-list{display:flex;gap:8px;flex-wrap:wrap}.year-pill{padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-3);font-size:12px}.year-pill.active{border-color:var(--accent);color:var(--cyan)}.rights-tree{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.rights-row{display:grid;grid-template-columns:1fr repeat(6,58px);border-bottom:1px solid var(--line);align-items:center}.rights-row>div{padding:9px 8px;font-size:11px}.rights-row.head{background:var(--surface-3);font-weight:700;color:var(--muted)}.rights-row .center{text-align:center}.modal-backdrop-custom{position:fixed;inset:0;background:rgba(2,7,16,.65);backdrop-filter:blur(8px);display:none;place-items:center;z-index:120;padding:20px}.modal-backdrop-custom.show{display:grid}.modal-card{width:min(1100px,96vw);max-height:84vh;overflow:auto;border-radius:18px;padding:18px}.modal-card .data-table{font-size:11px}

/* toast */
.toast-zone{position:fixed;right:18px;bottom:18px;z-index:150;display:grid;gap:10px}.toast-item{min-width:260px;padding:13px 15px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;animation:toastIn .3s ease}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* responsive */
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.bottom-grid{grid-template-columns:repeat(2,1fr)}.select-shell{grid-template-columns:1fr}.select-side{position:relative;top:auto}.admin-grid{grid-template-columns:1fr}.editor-card{position:relative;top:auto}}
@media(max-width:850px){.login-page{grid-template-columns:1fr}.login-visual{min-height:390px;padding:32px}.login-panel{padding:24px;min-height:620px}.login-orb{width:170px;height:170px}.topbar{padding:0 12px}.topbar .brand span{display:none}.user-chip .meta{display:none}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.mobile-open{transform:none;width:min(300px,86vw)}.content,.sidebar.collapsed+.content{padding-left:14px;padding-right:14px}.horizontal-mode .content{padding-left:14px;padding-right:14px}.horizontal-mode .hnav{overflow-x:auto}.horizontal-search{display:none}.desktop-only{display:none!important}.select-shell{padding:14px}.page-topline{align-items:flex-start;flex-direction:column}.searchbar{min-width:0;width:100%}.company-meta{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.rights-row{grid-template-columns:1fr repeat(3,50px)}.rights-row>div:nth-child(n+5){display:none}}
@media(max-width:600px){.kpi-grid,.bottom-grid{grid-template-columns:1fr}.login-hero-copy h1{font-size:42px}.login-visual{min-height:330px}.login-card{padding:22px}.chart-wrap{height:250px}.dashboard-head{align-items:flex-start;flex-direction:column}.data-table th:nth-child(3),.data-table td:nth-child(3){display:none}.admin-layout{padding-left:12px;padding-right:12px}.toolbar{flex-wrap:wrap}.toolbar .searchbar{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* =========================================================
   ROSTER ERP V3 — reference-match polish
   ========================================================= */
:root{
  --nav-solid-dark:#07111f;
  --nav-solid-dark-2:#0a1628;
  --nav-solid-light:#ffffff;
  --login-panel:#081326;
}

/* Real logo image only — no duplicated text */
.brand-image-only{width:190px;min-width:190px;height:48px;display:flex;align-items:center;padding:5px 8px;border-radius:12px;overflow:hidden}
.brand-image-only img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:none}
html[data-theme="dark"] .brand-image-only{box-shadow:0 8px 28px rgba(0,0,0,.24)}
html[data-theme="light"] .brand-image-only{background:transparent}
.topbar{background:var(--bg2);backdrop-filter:none;-webkit-backdrop-filter:none}

/* Solid side navigation and crisp text */
.sidebar.sidebar-solid{background:var(--nav-solid-dark);backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}
html[data-theme="light"] .sidebar.sidebar-solid{background:#fff;box-shadow:10px 0 30px rgba(18,48,92,.08)}
.sidebar .nav-list{overflow:visible}
.sidebar .nav-link{color:#aebed3}
html[data-theme="light"] .sidebar .nav-link{color:#415168}
html[data-theme="light"] .sidebar .nav-link:hover,html[data-theme="light"] .sidebar .nav-link.active{color:#071429;background:#eef5ff}
html[data-theme="dark"] .sidebar .nav-link:hover,html[data-theme="dark"] .sidebar .nav-link.active{color:#fff}

/* Flyout dropdowns: never internally scroll */
.sidebar .nav-item>.sub-menu{
  position:absolute;left:calc(100% + 12px);top:-8px;width:max-content;min-width:390px;max-width:620px;
  padding:12px;grid-template-columns:repeat(2,minmax(170px,1fr));gap:4px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.34);
  z-index:120;max-height:none!important;overflow:visible!important;
}
.sidebar .nav-item.open>.sub-menu{display:grid}
.sidebar .sub-menu a{padding:9px 11px;font-size:12px;white-space:nowrap}
html[data-theme="dark"] .sidebar .sub-menu{background:#0c192c}
html[data-theme="light"] .sidebar .sub-menu{background:#fff}

/* Horizontal menu: logo first, modules, then search */
.horizontal-mode .topbar .brand-image-only{display:none}
.horizontal-mode .topbar{padding-left:20px}
.hnav{overflow:visible!important}
.horizontal-mode .hnav{background:var(--bg2);backdrop-filter:none;-webkit-backdrop-filter:none;height:62px;gap:2px}
.hnav-logo{display:flex;align-items:center;width:155px;min-width:155px;height:44px;padding:5px 7px;margin-right:8px;border-radius:10px}
.hnav-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
html[data-theme="dark"] .hnav-logo{background:rgba(255,255,255,.96)}
.hnav .nav-link{font-size:12px;padding:0 9px}
.hnav .sub-menu{top:54px;min-width:420px;grid-template-columns:repeat(2,minmax(170px,1fr));max-height:none!important;overflow:visible!important;background:#0c192c}
html[data-theme="light"] .hnav .sub-menu{background:#fff}
.hnav .sub-menu a{font-size:12px;padding:9px 10px}
.horizontal-search{order:99;margin-left:auto;width:min(290px,24vw)}

/* Opaque right settings sidebar */
.drawer.drawer-solid{background:#07111f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:hidden;display:flex;flex-direction:column}
html[data-theme="light"] .drawer.drawer-solid{background:#fff!important;box-shadow:-20px 0 55px rgba(20,46,82,.16)}
.drawer.drawer-solid .setting-block{flex:0 0 auto}
.drawer-brand-stage{margin-top:auto;min-height:285px;border-radius:22px;background:radial-gradient(circle at 50% 34%,rgba(52,200,255,.16),transparent 38%),linear-gradient(160deg,rgba(45,125,255,.08),rgba(123,60,255,.04));border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;padding:25px}
.drawer-brand-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(58,114,194,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(58,114,194,.08) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,transparent,#000 35%,#000)}
.drawer-brand-stage .logo-3d{width:135px;height:135px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 22px 28px rgba(35,92,255,.36));animation:logoFloat3D 5s ease-in-out infinite;transform-style:preserve-3d}
.drawer-brand-stage strong{position:relative;z-index:2;margin-top:8px;font-size:18px;letter-spacing:.16em}
.drawer-brand-stage span{position:relative;z-index:2;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}
.brand-orbit{position:absolute;width:190px;height:70px;border:1px solid rgba(74,146,255,.22);border-radius:50%;transform:rotateX(67deg);box-shadow:0 0 32px rgba(61,117,255,.15);animation:orbitSpin 8s linear infinite}
@keyframes logoFloat3D{0%,100%{transform:translateY(0) rotateY(-7deg) rotateX(4deg)}50%{transform:translateY(-10px) rotateY(8deg) rotateX(-2deg)}}
@keyframes orbitSpin{to{transform:rotateX(67deg) rotateZ(360deg)}}

/* Mobile menu must work regardless of user's saved nav preference */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(1,7,16,.66);backdrop-filter:blur(4px);z-index:69;opacity:0;transition:.25s}
.mobile-nav-close{display:none;position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:11px;background:var(--surface-3);color:var(--text);font-size:18px;z-index:2}
body.mobile-nav-open .nav-overlay{display:block;opacity:1}

/* LOGIN — match supplied reference structure */
.login-body{background:#040a16;overflow:hidden}
.login-reference{min-height:100svh;display:grid;grid-template-columns:minmax(0,58%) minmax(390px,42%);background:#050b18;color:#fff}
.login-scene{position:relative;min-height:100svh;padding:38px 46px;overflow:hidden;background:linear-gradient(90deg,rgba(4,10,30,.14),rgba(4,9,27,.50)),var(--login-image,url('../img/login-fintech.jpg')) center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between}
.login-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,23,.08) 0%,rgba(3,8,23,.10) 47%,rgba(3,8,23,.76) 100%);pointer-events:none}
.scene-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(73,142,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(73,142,255,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 68%);animation:gridDrift 18s linear infinite}
@keyframes gridDrift{to{transform:translate3d(-48px,48px,0)}}
.scene-glow{position:absolute;border-radius:50%;filter:blur(22px);mix-blend-mode:screen;pointer-events:none}.scene-glow-a{width:330px;height:330px;left:-120px;bottom:5%;background:radial-gradient(circle,rgba(0,162,255,.34),transparent 67%);animation:glowMove 7s ease-in-out infinite}.scene-glow-b{width:370px;height:370px;right:-130px;top:18%;background:radial-gradient(circle,rgba(134,45,255,.30),transparent 66%);animation:glowMove 9s ease-in-out infinite reverse}@keyframes glowMove{50%{transform:translate(45px,-18px) scale(1.12)}}
.scene-scan{position:absolute;left:0;right:0;height:2px;top:-4px;background:linear-gradient(90deg,transparent,#33c9ff,#813cff,transparent);box-shadow:0 0 22px #2d7dff;opacity:.45;animation:scanLine 8s linear infinite}@keyframes scanLine{to{top:100%}}
.login-brand{position:relative;z-index:3;width:min(410px,70%)}
.login-brand .full-logo{display:block;width:100%;max-height:100px;object-fit:contain;object-position:left center;background:rgba(255,255,255,.96);border-radius:16px;padding:7px 10px;box-shadow:0 18px 50px rgba(0,0,0,.20)}
.login-tagline{font-size:18px;line-height:1.5;margin:10px 0 0 74px;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.login-module-strip{position:relative;z-index:3;width:min(760px,94%);display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:10px;border-radius:18px;background:rgba(8,19,47,.66);border:1px solid rgba(116,164,255,.22);box-shadow:0 22px 60px rgba(0,0,0,.32);backdrop-filter:blur(18px) saturate(140%)}
.login-module{min-height:92px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#d8e5fa;transition:.25s ease;position:relative;overflow:hidden}
.login-module:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(45,125,255,.12),rgba(123,60,255,.04));opacity:0;transition:.25s}.login-module:hover{transform:translateY(-5px);color:#fff}.login-module:hover:before{opacity:1}.login-module span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:17px;color:#ca5cff;background:rgba(129,60,255,.10);border:1px solid rgba(189,89,255,.28);box-shadow:inset 0 1px rgba(255,255,255,.10),0 8px 24px rgba(102,41,255,.10)}.login-module:nth-child(even) span{color:#49a8ff}.login-module b{font-size:10px;font-weight:600;white-space:nowrap;position:relative}.login-module span{position:relative}
.login-form-side{position:relative;display:grid;place-items:center;padding:38px;background:linear-gradient(145deg,#07111f,#09152a 55%,#0b1027);overflow:hidden}.login-form-side:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 15%,rgba(45,125,255,.16),transparent 30%),radial-gradient(circle at 95% 70%,rgba(123,60,255,.18),transparent 34%)}
.login-form-glow{position:absolute;width:450px;height:450px;border-radius:50%;background:conic-gradient(from 30deg,rgba(45,125,255,.18),rgba(123,60,255,.22),rgba(52,200,255,.12),rgba(45,125,255,.18));filter:blur(48px);animation:loginHalo 12s linear infinite}@keyframes loginHalo{to{transform:rotate(360deg)}}
.login-card-v3{position:relative;z-index:2;width:min(500px,100%);padding:32px;border:1px solid rgba(100,148,255,.30);border-radius:20px;background:linear-gradient(155deg,rgba(18,31,69,.95),rgba(8,18,43,.97));box-shadow:0 35px 85px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(24px)}
.login-card-v3:before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,rgba(75,153,255,.75),rgba(129,55,255,.25),transparent 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.login-card-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:26px}.login-card-v3 h1{margin:8px 0 8px;font-size:27px;color:#fff}.login-card-v3 p{margin:0;color:#a9b8d0;font-size:13px}.secure-dot{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#57c7ff;background:rgba(45,125,255,.10);border:1px solid rgba(78,150,255,.25)}
.login-card-v3 .form-control,.login-card-v3 .form-select{height:47px;background:#071329;border-color:rgba(101,143,207,.28);color:#fff}.login-card-v3 .form-control:focus,.login-card-v3 .form-select:focus{background:#09162e;border-color:#3b8bff;box-shadow:0 0 0 4px rgba(45,125,255,.12),0 0 26px rgba(45,125,255,.08)}
.password-wrap .form-control{padding-right:48px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:#788ba9;cursor:pointer}.select-wrap select{padding-left:40px}
.check-modern{display:flex!important;align-items:center;gap:8px;color:#aab9d0!important;cursor:pointer}.check-modern input{display:none}.check-modern span{width:16px;height:16px;border-radius:4px;border:1px solid #4974b8;background:#0a1730;position:relative}.check-modern input:checked+span{background:linear-gradient(135deg,#2d7dff,#7b3cff);border-color:#5ba2ff}.check-modern input:checked+span:after{content:"✓";position:absolute;inset:-2px 0 0 2px;color:#fff;font-size:12px;font-weight:800}.login-card-v3 .form-row-flex a{color:#9dafff}.login-card-v3 .login-btn{height:52px;border-radius:10px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 28px rgba(77,67,255,.36),inset 0 1px rgba(255,255,255,.35)}.login-card-v3 .login-btn i{margin-left:auto}.login-theme-switch{margin:20px auto 0;display:flex;width:max-content;padding:4px;background:#061022;border:1px solid rgba(98,130,181,.20);border-radius:999px}.theme-pill{border:0;background:transparent;color:#8ea0bc;border-radius:999px;padding:9px 18px;cursor:pointer}.theme-pill.active{background:#101e37;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}.login-card-footer{display:flex;justify-content:space-between;margin-top:20px;padding-top:17px;border-top:1px solid rgba(135,160,205,.13);font-size:10px;color:#7085a4}

/* Light theme remains highly legible */
html[data-theme="light"] body:not(.login-body){color:#071429}
html[data-theme="light"] .panel,html[data-theme="light"] .kpi,html[data-theme="light"] .mini-card{background:#fff}
html[data-theme="light"] .panel h3,html[data-theme="light"] .dashboard-head h1,html[data-theme="light"] .kpi-value,html[data-theme="light"] .list-row strong{color:#071429}
html[data-theme="light"] .muted,html[data-theme="light"] small{color:#5c6b80}

/* Card motion / shimmer */
.kpi,.panel,.mini-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.kpi:after,.panel:after,.mini-card:after{content:"";position:absolute;inset:-80% -35%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.06) 50%,transparent 58%);transform:translateX(-65%) rotate(8deg);transition:.65s;pointer-events:none}.kpi:hover,.panel:hover,.mini-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:0 22px 55px rgba(0,0,0,.18)}.kpi:hover:after,.panel:hover:after,.mini-card:hover:after{transform:translateX(65%) rotate(8deg)}

/* Mobile / tablet */
@media(max-width:1180px){
  .hnav .nav-link{padding:0 7px;font-size:11px}.hnav-logo{width:130px;min-width:130px}.horizontal-search{width:220px}
}
@media(max-width:900px){
  .login-body{overflow:auto}
  .login-reference{grid-template-columns:1fr;min-height:100svh}
  .login-scene{min-height:390px;padding:28px 24px}.login-brand{width:min(350px,75%)}.login-tagline{font-size:15px;margin-left:54px}.login-module-strip{grid-template-columns:repeat(6,minmax(78px,1fr));width:100%;overflow-x:auto;scrollbar-width:none}.login-module-strip::-webkit-scrollbar{display:none}.login-module{min-width:82px}
  .login-form-side{padding:28px 18px;min-height:610px}.login-card-v3{padding:25px}
  .topbar{height:64px;gap:9px}.topbar .brand-image-only{display:flex!important;width:145px;min-width:145px;height:42px}.topbar-tools{gap:5px}.topbar-tools .btn:nth-of-type(2),.topbar-tools>a{display:none}.user-chip{padding-left:2px}
  .sidebar,.horizontal-mode .sidebar{display:flex!important;top:0;bottom:0;width:min(330px,88vw)!important;z-index:70;padding:68px 14px 18px;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:24px 0 60px rgba(0,0,0,.35);overflow-y:auto;overflow-x:visible}
  body.mobile-nav-open .sidebar{transform:translateX(0)!important}.mobile-nav-close{display:block}
  .sidebar .nav-item>.sub-menu{position:static;width:auto;min-width:0;max-width:none;grid-template-columns:1fr;padding:5px 0 5px 34px;background:transparent!important;border:0;box-shadow:none}
  .sidebar .sub-menu a{white-space:normal}
  .hnav,.horizontal-mode .hnav{display:none!important}
  .content,.horizontal-mode .content,.sidebar.collapsed+.content{padding:84px 14px 24px!important}
  .nav-overlay{z-index:69}
  .drawer.drawer-solid{width:min(390px,94vw)}
}
@media(max-width:560px){
  .login-scene{min-height:330px;padding:22px 18px}.login-brand{width:min(300px,88%)}.login-brand .full-logo{border-radius:12px}.login-tagline{margin-left:0;font-size:14px;margin-top:10px}.login-module-strip{padding:7px}.login-module{min-height:74px}.login-module span{width:32px;height:32px}.login-module b{font-size:9px}
  .login-form-side{padding:20px 12px}.login-card-v3{padding:22px 18px;border-radius:18px}.login-card-v3 h1{font-size:24px}.login-card-top{margin-bottom:20px}.secure-dot{display:none}.login-card-v3 .form-row-flex{align-items:flex-start}.login-theme-switch{width:100%}.theme-pill{flex:1}.login-card-footer{font-size:9px}
  .topbar .brand-image-only{width:128px;min-width:128px}.topbar-tools .user-chip .avatar{width:32px;height:32px}.topbar-tools .icon-btn{width:36px;height:36px}.drawer-brand-stage{min-height:230px}.drawer-brand-stage .logo-3d{width:105px;height:105px}
}

/* =========================================================
   ROSTER ERP V4 — layout refinements
   ========================================================= */
.mobile-only{display:none!important}
.logo-dark-theme{display:none!important}
html[data-theme="dark"] .logo-light-theme{display:none!important}
html[data-theme="dark"] .logo-dark-theme{display:block!important}

/* Header: one clean desktop row */
.topbar{height:72px;gap:14px;padding:0 18px;background:var(--bg2);overflow:visible}
.topbar>.sidebar-brand{width:190px;min-width:190px;height:50px;padding:0}
.topbar>.sidebar-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.topbar>.icon-btn[data-mobile-menu]{display:none!important}
#collapseSidebar{display:none!important}
.side-search,.header-search{height:40px;border:1px solid var(--line);background:var(--surface-3);color:var(--text);border-radius:11px;display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer;white-space:nowrap;transition:.2s}
.side-search:hover,.header-search:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));transform:translateY(-1px)}
.header-search kbd,.side-search kbd{font:600 10px/1 var(--font);padding:5px 7px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);margin-left:2px}
.topbar .side-search{margin-left:4px}
.topbar-tools{margin-left:auto;min-width:max-content}
.company-header-chip{display:none;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--line);background:var(--surface-3);border-radius:12px;min-width:175px}
.company-header-chip>i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--grad)}
.company-header-chip strong{display:block;font-size:11px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-header-chip small{display:block;font-size:9px;color:var(--muted);margin-top:2px}

/* Sidebar company identity */
.side-bottom{display:grid;gap:10px}
.company-sidebar-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--surface-2)),var(--surface-3));border-radius:14px;overflow:hidden}
.company-sidebar-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 26%,transparent)}
.company-sidebar-card small,.company-sidebar-card span{display:block;color:var(--muted);font-size:9px}
.company-sidebar-card strong{display:block;font-size:11px;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:155px}
.company-sidebar-card b{color:var(--text);font-weight:700}

/* Horizontal navigation lives inside topbar, not in a second row */
.hnav{display:none}
.horizontal-mode .topbar{padding:0 14px;gap:10px}
.horizontal-mode .sidebar-brand,.horizontal-mode .side-search{display:none!important}
.horizontal-mode .hnav{display:flex;position:static;flex:1 1 auto;height:72px;align-items:center;gap:1px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0;min-width:0;overflow:visible!important}
.horizontal-mode .content{padding:96px 24px 28px 24px}
.hnav-logo{display:flex;align-items:center;flex:0 0 170px;height:48px;padding:0 8px 0 0;margin:0 5px 0 0;border-radius:0;background:transparent!important}
.hnav-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;background:transparent!important}
.hnav>.nav-item{height:72px;display:flex;align-items:center;flex:0 0 auto}
.hnav .nav-link{height:38px;padding:0 8px;font-size:11px;font-weight:700;gap:6px;border-radius:10px}
.hnav .nav-link .chev{width:auto;font-size:8px}
.hnav .sub-menu{position:absolute;top:59px;left:0;z-index:120;min-width:420px;width:max-content;max-width:min(720px,92vw);padding:12px;display:none;grid-template-columns:repeat(2,minmax(185px,1fr));gap:2px;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.32);border-radius:15px;max-height:none!important;height:auto!important;overflow:visible!important}
.hnav .nav-item.open>.sub-menu{display:grid;animation:menuIn .18s ease}
.hnav .sub-menu a{font-size:11px;padding:8px 10px;white-space:nowrap}
.hnav .header-search{margin-left:8px;flex:0 0 auto}
.horizontal-mode .company-header-chip{display:flex}
.horizontal-mode .topbar-tools{margin-left:0}

/* On medium desktop reduce nav progressively without creating a second line */
@media (max-width:1480px) and (min-width:901px){
  .hnav-logo{flex-basis:145px}.hnav .nav-link{padding:0 6px;font-size:10px}.hnav .header-search span{display:none}.hnav .header-search{padding:0 9px}.company-header-chip{min-width:150px}.company-header-chip strong{max-width:130px}
}
@media (max-width:1250px) and (min-width:901px){
  .hnav-logo{flex-basis:118px}.hnav .nav-link{padding:0 5px;font-size:9.5px}.hnav .nav-link i:first-child{display:none}.hnav .header-search kbd{display:none}.topbar-tools .icon-btn{width:36px;height:36px}.company-header-chip{min-width:128px}.company-header-chip>i{display:none}.company-header-chip strong{max-width:115px}.user-chip .meta{display:none}
}

/* LOGIN V4 — supplied background across the entire page */
.login-body{min-height:100svh;overflow:hidden;background:#030817 url('../img/login-fintech.jpg') center/cover fixed no-repeat;color:#fff}
.login-body:before{content:"";position:fixed;inset:0;z-index:0;background:linear-gradient(90deg,rgba(1,5,18,.14) 0%,rgba(2,8,24,.10) 46%,rgba(2,7,21,.44) 70%,rgba(2,6,18,.60) 100%),linear-gradient(180deg,rgba(1,5,18,.08),rgba(1,5,18,.22));pointer-events:none;animation:none}
.login-reference{position:relative;z-index:1;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,520px);background:transparent!important;color:#fff}
.login-scene{position:relative;min-height:100svh;padding:38px 46px;background:none!important;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.login-scene:after{display:none}
.scene-grid{opacity:.38;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.login-form-side{position:relative;display:grid;place-items:center;padding:36px 40px 36px 20px;background:transparent!important;overflow:visible}
.login-form-side:before{display:none}
.login-form-glow{width:560px;height:560px;opacity:.75;filter:blur(58px)}
.login-card-v3{width:min(470px,100%);padding:30px;border-radius:22px;background:linear-gradient(155deg,rgba(7,17,42,.92),rgba(7,13,31,.88));border:1px solid rgba(107,147,255,.34);box-shadow:0 35px 95px rgba(0,0,0,.42),0 0 60px rgba(75,60,255,.10),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%)}
.login-brand{width:min(420px,67%)}
.login-brand .brand-picture{display:block; background: white; border-radius:50px;}
.login-brand .full-logo{display:block;width:100%;max-height:110px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0;box-shadow:none;filter:drop-shadow(0 12px 30px rgba(0,0,0,.30))}
.login-tagline{font-size:18px;margin:10px 0 0 72px;text-shadow:0 3px 18px rgba(0,0,0,.65)}
.login-module-strip{width:min(780px,95%);background:rgba(6,16,40,.62);border-color:rgba(126,163,255,.24);box-shadow:0 24px 70px rgba(0,0,0,.32);backdrop-filter:blur(20px) saturate(140%)}
.login-module{background:linear-gradient(145deg,rgba(31,51,101,.16),rgba(45,18,82,.08))}
.login-module:hover{background:linear-gradient(145deg,rgba(45,125,255,.16),rgba(123,60,255,.14));box-shadow:inset 0 0 30px rgba(86,72,255,.09)}

/* Login light theme: same image, readable light card */
html[data-theme="light"] .login-body{color:#071429}
html[data-theme="light"] .login-body:before{background:linear-gradient(90deg,rgba(234,243,255,.02) 0%,rgba(237,245,255,.03) 48%,rgba(237,245,255,.22) 70%,rgba(241,247,255,.34) 100%)}
html[data-theme="light"] .login-card-v3{background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(244,249,255,.90));border-color:rgba(59,101,167,.22);box-shadow:0 35px 90px rgba(6,22,55,.28),inset 0 1px rgba(255,255,255,.9)}
html[data-theme="light"] .login-card-v3 h1{color:#071429}
html[data-theme="light"] .login-card-v3 p,html[data-theme="light"] .login-card-v3 .form-label{color:#52637a}
html[data-theme="light"] .login-card-v3 .form-control{background:rgba(248,251,255,.95);color:#071429;border-color:rgba(42,77,128,.18)}
html[data-theme="light"] .login-card-v3 .form-control:focus{background:#fff;border-color:#2d7dff}
html[data-theme="light"] .check-modern{color:#52637a!important}
html[data-theme="light"] .check-modern span{background:#fff;border-color:#a7b6cb}
html[data-theme="light"] .login-card-v3 .form-row-flex a{color:#315bd8}
html[data-theme="light"] .login-theme-switch{background:#eef4fb;border-color:#d8e3f2}
html[data-theme="light"] .theme-pill{color:#617187}
html[data-theme="light"] .theme-pill.active{background:#fff;color:#071429;box-shadow:0 4px 14px rgba(22,53,93,.12)}
html[data-theme="light"] .login-card-footer{color:#66778d;border-color:rgba(42,77,128,.12)}
html[data-theme="light"] .secure-dot{background:#edf5ff;border-color:#cfe0f6;color:#216de8}

/* Responsive app / login */
@media(max-width:900px){
  .mobile-only{display:inline-flex!important}
  .topbar>.icon-btn[data-mobile-menu]{display:inline-flex!important}
  .topbar{height:64px;padding:0 10px;gap:8px}
  .topbar>.sidebar-brand{width:132px;min-width:132px;height:42px}
  .side-search{display:none!important}
  .company-header-chip{display:none!important}
  .topbar-tools{margin-left:auto}
  .topbar-tools>a,.topbar-tools [data-open-settings]{display:none!important}
  .hnav,.horizontal-mode .hnav{display:none!important}
  .sidebar,.horizontal-mode .sidebar{display:flex!important;top:0;bottom:0;width:min(330px,88vw)!important;z-index:70;padding:68px 14px 18px;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:24px 0 60px rgba(0,0,0,.35);overflow-y:auto;overflow-x:visible}
  body.mobile-nav-open .sidebar{transform:translateX(0)!important}
  .content,.horizontal-mode .content,.sidebar.collapsed+.content{padding:84px 14px 24px!important}

  .login-body{overflow:auto;background-attachment:scroll}
  .login-reference{grid-template-columns:1fr;min-height:100svh}
  .login-scene{min-height:360px;padding:24px 20px 18px}
  .login-brand{width:min(330px,78%)}
  .login-tagline{margin-left:0;margin-top:8px;font-size:14px}
  .login-module-strip{grid-template-columns:repeat(3,1fr);width:100%;gap:6px;padding:8px}
  .login-module{min-height:72px}.login-module b{font-size:9px}
  .login-form-side{padding:18px 14px 34px;min-height:auto}
  .login-card-v3{width:min(520px,100%);padding:24px}
}
@media(max-width:560px){
  .login-scene{min-height:300px;padding:18px 14px 12px}.login-brand{width:min(280px,85%)}
  .login-module-strip{grid-template-columns:repeat(3,1fr)}.login-module:nth-child(n+4){display:none}
  .login-card-v3{padding:21px 17px}.login-card-top{margin-bottom:18px}.login-card-v3 h1{font-size:23px}
  .topbar>.sidebar-brand{width:112px;min-width:112px}.topbar-tools .user-chip .meta{display:none}
}

/* =========================================================
   ROSTER ERP V5 — profile menu + cleaner header/sidebar
   ========================================================= */

/* Theme-correct logo: navy lettering on light, white lettering on dark. */
html[data-theme="light"] .logo-light-theme{display:block!important}
html[data-theme="light"] .logo-dark-theme{display:none!important}
html[data-theme="dark"] .logo-light-theme{display:none!important}
html[data-theme="dark"] .logo-dark-theme{display:block!important}
html[data-theme="light"] .topbar .brand img,
html[data-theme="light"] .hnav-logo img{filter:drop-shadow(0 5px 14px rgba(13,27,42,.10))}

/* The bottom-left area now contains only the active company identity. */
.side-bottom{display:block}
.company-sidebar-card{margin:0}

/* User profile dropdown */
.profile-menu{position:relative;display:flex;align-items:center}
.profile-trigger{border:0;background:transparent;color:var(--text);cursor:pointer;border-radius:14px;padding:6px 8px;transition:background .18s ease,box-shadow .18s ease}
.profile-trigger:hover,.profile-menu.open .profile-trigger,.profile-menu-wrap.open .profile-trigger{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}
.profile-chevron{transition:transform .2s ease}
.profile-menu.open .profile-chevron,.profile-menu-wrap.open .profile-chevron{transform:rotate(180deg)}
.profile-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:310px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);box-shadow:0 26px 80px rgba(0,0,0,.32);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:180}
html[data-theme="light"] .profile-dropdown{background:#fff;box-shadow:0 26px 70px rgba(19,37,66,.18)}
html[data-theme="dark"] .profile-dropdown{background:#0b1728}
.profile-menu.open .profile-dropdown,.profile-menu-wrap.open .profile-dropdown{opacity:1;visibility:visible;transform:none}
.profile-dropdown-head{display:flex;align-items:center;gap:11px;padding:9px 9px 12px}
.profile-dropdown-head strong{display:block;font-size:13px;color:var(--text)}
.profile-dropdown-head span{display:block;margin-top:3px;font-size:10px;color:var(--muted)}
.avatar-lg{width:42px;height:42px;border-radius:13px}
.profile-company-mini{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,var(--surface-3)),var(--surface-3));border:1px solid var(--line)}
.profile-company-mini>i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--grad);flex:0 0 32px}
.profile-company-mini small,.profile-company-mini span{display:block;color:var(--muted);font-size:9px}
.profile-company-mini strong{display:block;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:11px;color:var(--text)}
.profile-company-mini b{color:var(--text)}
.profile-dropdown-sep{height:1px;background:var(--line);margin:8px 4px}
.profile-menu-item{width:100%;min-height:42px;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:11px;padding:0 10px;border-radius:11px;font:650 12px/1 var(--font);cursor:pointer;text-decoration:none;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}
.profile-menu-item i{width:19px;text-align:center;color:var(--muted);font-size:13px}
.profile-menu-item span{flex:1}
.profile-menu-item em{font-style:normal;font-size:9px;color:var(--muted);padding:4px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3)}
.profile-menu-item:hover{background:var(--surface-3);transform:translateX(2px)}
.profile-menu-item:hover i{color:var(--accent)}
.profile-menu-item.danger{color:#ff5b70}
.profile-menu-item.danger i{color:#ff5b70}
.profile-menu-item.danger:hover{background:rgba(255,91,112,.09)}

/* No standalone theme/settings controls in the desktop topbar anymore. */
#themeQuick,.topbar-tools>[data-open-settings]{display:none!important}

/* Compact company-switch icon remains optional on desktop; hide it in horizontal mode
   because the active-company chip already carries context next to the user. */
.horizontal-mode .company-switch-quick{display:none!important}

@media (max-width:900px){
  .profile-dropdown{position:fixed;right:12px;left:12px;top:70px;width:auto;max-width:none}
  .profile-trigger{padding:4px}
  .company-switch-quick{display:none!important}
}


/* =========================================================
   v0.2.6 — unified modern SELECT controls
   ========================================================= */
select,
.form-select,
.field select,
.field-inline select,
.access-cell-form select,
.year-switch select{
  color-scheme:dark;
  -webkit-appearance:none;
  appearance:none;
  color:var(--text)!important;
  background-color:color-mix(in srgb,var(--surface-2) 96%,#06101f)!important;
  border:1px solid color-mix(in srgb,var(--line) 82%,var(--accent) 18%)!important;
  border-radius:12px!important;
  padding-right:42px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--cyan) 50%),
    linear-gradient(135deg,var(--cyan) 50%,transparent 50%),
    linear-gradient(to right,color-mix(in srgb,var(--line) 80%,transparent),color-mix(in srgb,var(--line) 80%,transparent))!important;
  background-position:
    calc(100% - 19px) 50%,
    calc(100% - 14px) 50%,
    calc(100% - 38px) 50%!important;
  background-size:5px 5px,5px 5px,1px 22px!important;
  background-repeat:no-repeat!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
select:hover,
.form-select:hover,
.field select:hover,
.field-inline select:hover,
.access-cell-form select:hover,
.year-switch select:hover{
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;
  background-color:color-mix(in srgb,var(--surface-2) 90%,var(--accent) 5%)!important;
}
select:focus,
.form-select:focus,
.field select:focus,
.field-inline select:focus,
.access-cell-form select:focus,
.year-switch select:focus{
  outline:none!important;
  border-color:var(--accent)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent),0 10px 28px rgba(0,0,0,.10)!important;
}
select option,
select optgroup{
  background:#0b192b;
  color:#f7fbff;
}
select option:checked{background:#173b70;color:#fff}
select:disabled{opacity:.55;cursor:not-allowed}
html[data-theme="light"] select,
html[data-theme="light"] .form-select,
html[data-theme="light"] .field select,
html[data-theme="light"] .field-inline select,
html[data-theme="light"] .access-cell-form select,
html[data-theme="light"] .year-switch select{
  color-scheme:light;
  background-color:#fff!important;
  color:#08162a!important;
}
html[data-theme="light"] select option,
html[data-theme="light"] select optgroup{background:#fff;color:#08162a}
html[data-theme="light"] select option:checked{background:#dcecff;color:#08162a}

/* =========================================================
   v0.2.11 — persistent header tools, horizontal nav and chat
   ========================================================= */
.topbar-tools{position:relative;display:flex;align-items:center;gap:7px}
.top-tool{position:relative;width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-3);color:var(--text);cursor:pointer;text-decoration:none;transition:.18s ease}
.top-tool:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-3));color:var(--accent)}
.top-tool i{font-size:14px}.tool-badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;border:2px solid var(--bg2);font:800 9px/1 var(--font)}
.chat-tool .presence-dot{position:absolute;right:7px;bottom:6px;width:8px;height:8px;border-radius:50%;background:#10b981;border:2px solid var(--surface-3)}
.notify-menu-wrap,.year-menu-wrap,.profile-menu-wrap{position:relative}
.notify-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:min(390px,92vw);padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);box-shadow:0 25px 75px rgba(0,0,0,.28);z-index:190}
html[data-theme="light"] .notify-dropdown{background:#fff}.dropdown-title{display:flex;align-items:center;justify-content:space-between;padding:6px 7px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.dropdown-title strong{font-size:13px}.dropdown-title a{font-size:10px;color:var(--accent)}
.notify-item{display:grid;grid-template-columns:9px 1fr auto;gap:9px;align-items:start;padding:10px 8px;border-radius:11px;color:var(--text)}.notify-item:hover{background:var(--surface-3)}.notify-item span:nth-child(2) b,.notify-item span:nth-child(2) small{display:block}.notify-item b{font-size:11px}.notify-item small{font-size:9px;color:var(--muted);margin-top:2px}.notify-item time{font-size:8px;color:var(--muted);white-space:nowrap}.notify-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:4px}.notify-dot.warning{background:#f59e0b}.notify-dot.danger,.notify-dot.error{background:#ef4444}.notify-dot.success{background:#10b981}.notify-empty{padding:20px 10px;text-align:center;color:var(--muted);font-size:11px}

/* Horizontal mode: navigation really lives inside the fixed topbar. */
.horizontal-mode .topbar{display:flex;align-items:center;min-width:0}
.horizontal-mode .hnav{display:flex!important;position:static!important;inset:auto!important;flex:1 1 auto;min-width:0;height:72px;padding:0;background:transparent;border:0;overflow:visible!important}
.horizontal-mode .hnav-logo{flex:0 0 150px;width:150px;min-width:150px}
.horizontal-mode .hnav>.nav-item{position:relative;height:72px}
.horizontal-mode .topbar-tools{margin-left:auto;flex:0 0 auto}
.horizontal-mode .content{padding-top:96px!important}
.horizontal-mode .command-tool{display:grid}
@media (max-width:1380px) and (min-width:901px){.horizontal-mode .hnav-logo{display:none}.horizontal-mode .hnav .nav-link{font-size:10px;padding:0 6px}.horizontal-mode .topbar-tools{gap:4px}.horizontal-mode .profile-trigger .meta{display:none!important}}

/* Chat with users/presence */
.chat-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:610px;overflow:hidden}
.chat-people{border-right:1px solid var(--line);padding:12px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);overflow:auto}
.chat-people-title{padding:14px 10px 7px;color:var(--muted);font:800 9px/1 var(--font);letter-spacing:.12em;text-transform:uppercase}
.chat-person{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--text);margin-bottom:4px}.chat-person:hover,.chat-person.active{background:var(--surface-3)}.chat-person.active{box-shadow:inset 3px 0 var(--accent)}.chat-person>span:last-child{min-width:0}.chat-person b,.chat-person small{display:block}.chat-person b{font-size:11px}.chat-person small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.chat-avatar{position:relative;width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:11px;font-weight:800}.chat-avatar.group{background:color-mix(in srgb,var(--accent) 20%,var(--surface-3));color:var(--accent)}.presence{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface-2)}.presence.online{background:#10b981}.presence.offline{background:#64748b}
.chat-no-users{padding:18px 10px;color:var(--muted);font-size:10px}.chat-main{min-width:0;display:flex;flex-direction:column}.chat-main-head{min-height:64px;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.chat-main-head strong,.chat-main-head span{display:block}.chat-main-head strong{font-size:13px}.chat-main-head span{font-size:9px;color:var(--muted);margin-top:2px}.chat-status{display:flex!important;align-items:center;gap:6px!important;font-size:10px!important}.chat-status i{width:8px;height:8px;border-radius:50%}.chat-status.online{color:#10b981}.chat-status.online i{background:#10b981}.chat-status.offline{color:#64748b}.chat-status.offline i{background:#64748b}
.chat-feed{flex:1;min-height:420px;max-height:62vh;overflow:auto;padding:18px}.chat-compose{border-top:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.chat-compose textarea{resize:none;min-height:46px}
@media(max-width:800px){.chat-workspace{grid-template-columns:1fr}.chat-people{border-right:0;border-bottom:1px solid var(--line);max-height:230px}.chat-feed{min-height:330px}.notify-dropdown{position:fixed;right:10px;left:10px;top:66px;width:auto}.top-tool.command-tool{display:grid!important}}

/* v0.2.14 - active company switcher dark theme contrast */
html[data-theme="dark"] .company-header-chip,
html[data-theme="dark"] .company-header-chip strong,
html[data-theme="dark"] .company-header-chip small,
html[data-theme="dark"] .company-header-chip span {
  color:#fff !important;
}
html[data-theme="dark"] .company-header-chip small {
  color:rgba(255,255,255,.82) !important;
}
html[data-theme="dark"] .company-header-chip:hover,
html[data-theme="dark"] .company-header-chip:hover strong,
html[data-theme="dark"] .company-header-chip:hover small {
  color:#fff !important;
}

/* v0.2.19 Registri menu: single column + explicit theme contrast */
.hnav .sub-menu{grid-template-columns:1fr!important;min-width:280px!important;width:max-content!important;max-height:min(72vh,620px)!important;overflow-y:auto!important}
html[data-theme="dark"] .hnav .sub-menu,html[data-theme="dark"] .sidebar .sub-menu{background:#0c192c!important}
html[data-theme="dark"] .hnav .sub-menu a,html[data-theme="dark"] .sidebar .sub-menu a{color:#f7f9fc!important}
html[data-theme="dark"] .hnav .sub-menu a:hover,html[data-theme="dark"] .sidebar .sub-menu a:hover,html[data-theme="dark"] .sub-menu a.active{background:rgba(255,255,255,.09)!important;color:#fff!important}
html[data-theme="light"] .hnav .sub-menu,html[data-theme="light"] .sidebar .sub-menu{background:#fff!important}
html[data-theme="light"] .hnav .sub-menu a,html[data-theme="light"] .sidebar .sub-menu a{color:#111827!important}
html[data-theme="light"] .hnav .sub-menu a:hover,html[data-theme="light"] .sidebar .sub-menu a:hover,html[data-theme="light"] .sub-menu a.active{background:#eef3f9!important;color:#08111f!important}
.company-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.company-tabs button{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.company-tabs button.active{color:var(--text);background:color-mix(in srgb,var(--accent) 18%,var(--surface-2));border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.company-tab{display:none}.company-tab.active{display:block}.page-head-badge{display:flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}.company-form .form-grid{margin-top:10px}.form-grid{display:grid;gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-grid .span-3{grid-column:span 3}.form-grid label{display:grid;gap:7px;font-size:12px;color:var(--muted);font-weight:700}.form-grid input,.form-grid textarea,.form-grid select,.setting-line input,.setting-line select{width:100%;border:1px solid var(--line);background:var(--surface-1);color:var(--text);border-radius:9px;padding:10px 11px}.bank-list{display:grid;gap:8px;margin:12px 0 20px}.bank-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 40px;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1)}.bank-row>div:first-child{display:grid;gap:4px}.bank-row span{color:var(--muted);font-size:12px}.bank-add{padding-top:16px;border-top:1px solid var(--line)}.bank-add h4{margin:0 0 12px}.icon-danger{border:0;background:transparent;color:var(--red);cursor:pointer}.settings-stack{display:grid;gap:0}.setting-line,.toggle-line{display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,420px);gap:20px;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line)}.setting-line>div{display:grid;gap:3px}.setting-line span{font-size:12px;color:var(--muted)}.toggle-line{grid-template-columns:24px 1fr;cursor:pointer}.branding-placeholder{min-height:220px;display:flex;align-items:center;justify-content:center;gap:18px;color:var(--muted)}.branding-placeholder>i{font-size:42px}.branding-placeholder b{color:var(--text)}
@media(max-width:900px){.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr 1fr}.form-grid .span-3{grid-column:span 2}.setting-line{grid-template-columns:1fr}.bank-row{grid-template-columns:1fr auto}.bank-row>div:nth-child(2){display:none}}
@media(max-width:620px){.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-3{grid-column:span 1}.company-tabs{display:grid;grid-template-columns:1fr 1fr}.page-head-badge{display:none}}

/* ERP v0.2.20 - Podaci o firmi: compact/tabular business UI */
.page-head.compact{margin-bottom:12px}.page-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dense-panel,.dense-form{padding:14px}.sticky-lite{position:sticky;top:0;z-index:2;background:var(--surface,rgba(255,255,255,.96));padding:8px 0 10px;margin-bottom:8px}.data-grid-form{display:grid;grid-template-columns:150px minmax(220px,1fr) 120px minmax(220px,1fr);gap:8px 10px;align-items:center}.data-grid-form>label{font-size:13px;font-weight:600}.data-grid-form input,.data-grid-form select,.data-grid-form textarea{width:100%;min-width:0}.data-grid-form textarea{resize:vertical}.inline-pair{display:grid;grid-template-columns:130px 1fr;gap:6px}.company-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:10px}.company-tabs button{border:0;border-radius:7px 7px 0 0;padding:9px 13px;background:var(--surface-2,#e9edf2);color:var(--text,#17202a);font-weight:700;cursor:pointer}.company-tabs button.active{background:var(--primary,#0ea5e9);color:#fff}.company-tab{display:none}.company-tab.active{display:block}.erp-table-wrap{overflow:auto;border:1px solid var(--border,#d8dee8);border-radius:8px}.erp-table{width:100%;border-collapse:collapse;min-width:900px;background:var(--surface,#fff)}.erp-table th,.erp-table td{border-bottom:1px solid var(--border,#e3e7ee);padding:7px 8px;text-align:left;vertical-align:middle}.erp-table th{font-size:12px;text-transform:none;background:var(--surface-2,#f5f7fa);position:sticky;top:0;z-index:1}.compact-table input,.compact-table select{min-height:32px;padding:5px 7px;font-size:13px}.bank-table{min-width:1280px}.bank-table td:nth-child(1){width:85px}.bank-table td:nth-child(2){width:190px}.bank-table td:nth-child(3){width:65px}.bank-table td:nth-child(5){width:130px}.bank-table td:nth-child(6){width:120px}.bank-table td:nth-child(8){width:70px}.sub-input{margin-top:4px}.center{text-align:center!important}.row-actions{white-space:nowrap;display:flex;gap:4px;align-items:center}.icon-btn,.icon-danger{width:32px;height:32px;border:0;border-radius:6px;display:inline-grid;place-items:center;cursor:pointer}.icon-btn{background:rgba(16,185,129,.12);color:#059669}.icon-danger{background:rgba(239,68,68,.10);color:#dc2626}.inline-add{margin-top:12px}.inline-add summary{cursor:pointer;font-weight:700}.bank-new-form{margin-top:10px;padding:12px;background:var(--surface-2,#f6f8fb);border-radius:8px}.account-picker{position:relative}.account-results{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:260px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#d7dce5);box-shadow:0 14px 30px rgba(0,0,0,.16);border-radius:7px}.account-results button{display:flex;width:100%;gap:8px;text-align:left;border:0;border-bottom:1px solid var(--border,#e8ebf0);background:transparent;color:var(--text,#111827);padding:8px;cursor:pointer}.account-results button:hover{background:var(--surface-2,#f4f7fb)}.account-results b{min-width:58px}.account-results span{font-size:12px;opacity:.75}.preferences-grid{display:flex;flex-direction:column;gap:7px}.pref-row{display:grid;grid-template-columns:minmax(340px,1.6fr) minmax(180px,1fr) minmax(180px,1fr);gap:12px;align-items:center;min-height:34px;padding:3px 0}.pref-row.one{grid-template-columns:1fr}.pref-row label{font-size:13px}.pref-row input[type=text],.pref-row input[type=number],.pref-row select,.pref-row>input,.pref-row>.wide{max-width:460px}.pref-box{border-top:1px solid var(--border,#e0e5ec);margin-top:6px;padding-top:10px;display:flex;flex-direction:column;gap:8px}.pref-box>b{font-size:13px}.pref-box>label{font-size:13px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px 12px}.mini-grid.three{grid-template-columns:repeat(3,minmax(190px,1fr))}.mini-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px}.inline-checks{display:flex;gap:18px;flex-wrap:wrap}.branding-two-col,.two-col-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.branding-section{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border,#e0e5ec)}.branding-section label{display:grid;gap:5px}.brand-preview img{max-width:100%;max-height:150px;border:1px solid var(--border,#ddd);border-radius:6px;background:#fff}.note-add,.file-add{display:flex;gap:8px;align-items:flex-start}.note-add textarea{flex:1}.activity-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.activity-item{border-top:1px solid var(--border,#e2e6ec);padding:8px 0}.activity-item small{display:block;margin-top:4px;opacity:.65}.file-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.file-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:780px}.audit-diff pre{max-height:240px;overflow:auto;white-space:pre-wrap;background:var(--surface-2,#f6f7f9);padding:8px;border-radius:6px;font-size:11px}.status-pill.danger{background:rgba(239,68,68,.12);color:#dc2626}
[data-theme="dark"] .sticky-lite{background:rgba(18,24,34,.98)}[data-theme="dark"] .company-tabs button{background:#202938;color:#f8fafc}[data-theme="dark"] .company-tabs button.active{background:var(--primary,#0ea5e9);color:#fff}[data-theme="dark"] .erp-table,[data-theme="dark"] .account-results{background:#151c28;color:#f8fafc}[data-theme="dark"] .erp-table th,[data-theme="dark"] .bank-new-form,[data-theme="dark"] .account-results button:hover,[data-theme="dark"] .audit-diff pre{background:#202938;color:#f8fafc}[data-theme="dark"] .account-results button{color:#f8fafc}
@media(max-width:1050px){.data-grid-form{grid-template-columns:130px 1fr}.data-grid-form>span{display:none}.branding-two-col,.two-col-equal{grid-template-columns:1fr}.pref-row{grid-template-columns:1fr}.mini-grid,.mini-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:680px){.data-grid-form{grid-template-columns:1fr}.data-grid-form>label{margin-top:5px}.inline-pair,.mini-grid,.mini-grid.three{grid-template-columns:1fr}.company-tabs{overflow-x:auto;flex-wrap:nowrap}.company-tabs button{white-space:nowrap}.note-add,.file-add{flex-direction:column}.audit-diff{grid-template-columns:1fr}}

/* v0.2.21 - refined form controls + universal context drawer */
select,.form-control select,.data-grid-form select,.form-grid select,.pref-row select,.branding-section select{
  appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px!important;border:1px solid var(--line)!important;border-radius:8px!important;background-color:var(--surface-1)!important;color:var(--text)!important;min-height:36px;outline:none;transition:border-color .15s,box-shadow .15s,background-color .15s
}
select:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important}
select:focus,input:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 72%,var(--line))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
html[data-theme="dark"] select option{background:#151c28;color:#f8fafc}html[data-theme="light"] select option{background:#fff;color:#111827}
.account-picker>input{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:text}
.account-results{min-width:360px;max-width:520px;right:auto;width:max(100%,420px);padding:5px;max-height:320px}
.account-results button{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;border-radius:6px;border-bottom:0!important;margin:1px 0;padding:9px 10px}
.account-results button b{font-size:13px;letter-spacing:.2px;min-width:0}.account-results button span{font-size:12px;opacity:.82;white-space:normal;line-height:1.25}.account-empty{padding:12px;color:var(--muted);font-size:12px}

.context-tools{position:fixed;right:18px;bottom:16px;z-index:920;display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-1) 92%,transparent);box-shadow:0 12px 35px rgba(0,0,0,.18);backdrop-filter:blur(14px)}
.context-tools button{border:0;background:transparent;color:var(--muted);height:38px;padding:0 11px;border-radius:8px;display:flex;gap:7px;align-items:center;font-weight:700;font-size:12px;cursor:pointer}.context-tools button:hover,.context-tools button.active{background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));color:var(--text)}
.context-overlay{position:fixed;inset:0;background:rgba(2,8,18,.34);z-index:949;backdrop-filter:blur(1.5px)}
.context-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,94vw);z-index:950;background:var(--surface-1);border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column;color:var(--text)}
.context-drawer.open{transform:translateX(0)}
.context-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 13px;border-bottom:1px solid var(--line)}.context-drawer-head h2{margin:2px 0 0;font-size:20px}.context-drawer-head .eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800}
.context-drawer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;border-bottom:1px solid var(--line);background:var(--surface-2)}.context-drawer-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 6px;font-weight:700;cursor:pointer}.context-drawer-tabs button.active{background:var(--surface-1);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.context-drawer-body{padding:14px;overflow:auto;flex:1}.context-loading,.context-empty{padding:28px 12px;text-align:center;color:var(--muted)}
.context-compose{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}.context-compose textarea{resize:vertical;min-height:76px}.context-compose button{align-self:end}
.context-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:11px;margin-bottom:8px}.context-card-text{white-space:pre-wrap;line-height:1.45;font-size:13px}.context-meta{font-size:11px;color:var(--muted);margin-top:7px}.context-card-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.context-card-actions button{border:0;background:transparent;color:var(--muted);padding:5px 7px;border-radius:6px;cursor:pointer;font-size:11px}.context-card-actions button:hover{background:var(--surface-1);color:var(--text)}.context-card-actions button.danger:hover{color:#dc2626;background:rgba(239,68,68,.08)}
.context-upload{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:12px}.context-drop{border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:10px;padding:12px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;cursor:pointer;background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}.context-drop i{grid-row:span 2;font-size:20px;color:var(--accent)}.context-drop span{font-size:12px;font-weight:800}.context-drop small{font-size:10px;color:var(--muted)}.context-drop input{position:absolute;opacity:0;pointer-events:none}
.context-file{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.context-file-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--surface-1);color:var(--accent)}.context-file a{font-size:13px;font-weight:700;color:var(--text);text-decoration:none;word-break:break-word}
.history-top{display:flex;gap:8px;align-items:center}.history-top b{font-size:12px}.context-event{font-size:9px;font-weight:900;letter-spacing:.04em;padding:4px 6px;border-radius:999px;background:rgba(59,130,246,.12);color:#2563eb}.context-event.delete{background:rgba(239,68,68,.11);color:#dc2626}.context-event.update{background:rgba(245,158,11,.12);color:#b45309}.context-event.create{background:rgba(16,185,129,.12);color:#059669}.history-card details{margin-top:8px}.history-card summary{font-size:11px;color:var(--accent);cursor:pointer}.history-diff{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.history-diff pre{font-size:10px;white-space:pre-wrap;max-height:180px;overflow:auto;margin:4px 0 0;padding:7px;background:var(--surface-1);border-radius:6px}.context-more{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:9px;border-radius:8px;cursor:pointer}
@media(max-width:700px){.context-tools{left:10px;right:10px;bottom:10px;justify-content:center}.context-tools button{flex:1;justify-content:center}.context-drawer{width:100vw}.context-compose,.context-upload{grid-template-columns:1fr}.history-diff{grid-template-columns:1fr}.account-results{min-width:280px;width:min(90vw,420px)}}

/* =========================================================
   v0.2.22 — compact ERP inputs/selects + solid white context drawer
   ========================================================= */
/* ERP business forms: compact, table-friendly controls. */
.data-grid-form input:not([type="checkbox"]):not([type="radio"]),
.data-grid-form select,
.form-grid input:not([type="checkbox"]):not([type="radio"]),
.form-grid select,
.pref-row input:not([type="checkbox"]):not([type="radio"]),
.pref-row select,
.branding-section input:not([type="checkbox"]):not([type="radio"]),
.branding-section select,
.erp-table input:not([type="checkbox"]):not([type="radio"]),
.erp-table select,
.account-picker>input{
  min-height:32px!important;
  height:32px!important;
  border-radius:5px!important;
  padding:5px 9px!important;
  line-height:20px!important;
  background-color:var(--surface-1)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
.data-grid-form select,
.form-grid select,
.pref-row select,
.branding-section select,
.erp-table select{
  padding-right:27px!important;
  background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%!important;
  background-size:4px 4px,4px 4px!important;
}
.data-grid-form input:focus,
.data-grid-form select:focus,
.form-grid input:focus,
.form-grid select:focus,
.pref-row input:focus,
.pref-row select:focus,
.branding-section input:focus,
.branding-section select:focus,
.erp-table input:focus,
.erp-table select:focus,
.account-picker>input:focus{
  border-color:color-mix(in srgb,var(--accent) 72%,var(--line))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)!important;
}

/* The universal right context panel is intentionally opaque white. */
.context-drawer{
  background:#fff!important;
  color:#111827!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.context-drawer-head,
.context-drawer-tabs{
  background:#fff!important;
  border-color:#e5e7eb!important;
}
.context-drawer-tabs button{color:#64748b!important}
.context-drawer-tabs button.active{background:#f1f5f9!important;color:#0f172a!important}
.context-drawer-body{background:#fff!important}
.context-drawer .context-card,
.context-drawer .context-drop,
.context-drawer .context-file-icon,
.context-drawer .history-diff pre,
.context-drawer .context-more{
  background:#f8fafc!important;
  border-color:#e2e8f0!important;
  color:#0f172a!important;
}
.context-drawer .context-meta,
.context-drawer .context-empty,
.context-drawer .context-loading,
.context-drawer .context-drop small,
.context-drawer .context-card-actions button{color:#64748b!important}
.context-drawer textarea,
.context-drawer input:not([type="file"]){
  background:#fff!important;
  color:#111827!important;
  border:1px solid #cbd5e1!important;
  border-radius:5px!important;
}
.context-drawer .context-file a{color:#0f172a!important}
/* v0.2.23 audit rollback + local ERP confirmation */
.history-top{position:relative;flex-wrap:wrap}.history-rollback{margin-left:auto;border:1px solid rgba(37,99,235,.22);background:#eff6ff;color:#1d4ed8;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.history-rollback:hover{background:#dbeafe}.history-rollback:disabled{opacity:.5;cursor:wait}.context-event.rollback{background:rgba(124,58,237,.11);color:#6d28d9}
.erp-dialog-overlay{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .16s ease}.erp-dialog-overlay[hidden]{display:none}.erp-dialog-overlay.open{opacity:1}.erp-dialog{width:min(430px,96vw);background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:22px;transform:translateY(6px) scale(.985);transition:transform .16s ease}.erp-dialog-overlay.open .erp-dialog{transform:none}.erp-dialog-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;margin-bottom:12px}.erp-dialog.is-danger .erp-dialog-icon{background:#fef2f2;color:#dc2626}.erp-dialog h3{font-size:17px;margin:0 0 7px}.erp-dialog p{font-size:12px;line-height:1.55;color:#4b5563;margin:0 0 18px}.erp-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.erp-dialog-actions button{height:32px;border-radius:5px;border:1px solid #d1d5db;background:#fff;color:#111827;padding:0 12px;font-weight:700;cursor:pointer}.erp-dialog-actions [data-dialog-confirm]{background:#2563eb;color:#fff;border-color:#2563eb}.erp-dialog.is-danger .erp-dialog-actions [data-dialog-confirm]{background:#dc2626;border-color:#dc2626}.erp-toast{position:fixed;right:18px;top:18px;z-index:10080;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 14px 35px rgba(15,23,42,.18);padding:10px 13px;display:flex;gap:8px;align-items:center;font-size:12px;font-weight:700;opacity:0;transform:translateY(-8px);transition:.18s}.erp-toast.show{opacity:1;transform:none}.erp-toast.success i{color:#059669}.erp-toast.error i{color:#dc2626}
/* v0.2.24: unified compact ERP fields, searchable selects and two-column company preferences */
:root{--erp-field-h:32px;--erp-field-radius:5px}
.content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.content select,
.content textarea{
  border:1px solid var(--line)!important;border-radius:var(--erp-field-radius)!important;background:var(--surface-1)!important;color:var(--text)!important;box-shadow:none!important;font:inherit
}
.content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.content select{height:var(--erp-field-h)!important;min-height:var(--erp-field-h)!important;padding:5px 8px!important}
.content select{padding-right:26px!important}
.search-select{position:relative;min-width:0}.search-select>input[type=text]{width:100%;padding-right:30px!important}.search-select-arrow{position:absolute;right:1px;top:1px;width:28px;height:30px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.search-select-results{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:60;max-height:280px;overflow:auto;background:var(--surface-1);border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 35px rgba(15,23,42,.18)}.search-select-results button{display:grid;grid-template-columns:1fr auto;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:7px 9px;text-align:left;cursor:pointer}.search-select-results button:hover{background:var(--surface-2)}.search-select-results b{font-size:12px}.search-select-results span{font-size:11px;color:var(--muted)}
.preferences-two-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px!important;align-items:start}.preferences-two-columns>.pref-row,.preferences-two-columns>.pref-box{border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 60%,transparent);padding:8px 10px;margin:0;min-height:42px}.preferences-two-columns>.pref-row{grid-template-columns:minmax(210px,1.35fr) minmax(130px,1fr);gap:7px}.preferences-two-columns>.pref-row>label:nth-child(3){grid-column:2}.preferences-two-columns>.pref-row.one{grid-template-columns:1fr}.preferences-two-columns>.pref-row span,.preferences-two-columns>.pref-row label{font-size:12px}.preferences-two-columns>.pref-box{border-top:1px solid var(--line)!important}.preferences-two-columns .mini-grid,.preferences-two-columns .mini-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.preferences-two-columns .wide{max-width:none!important;width:100%}.tiny-number{width:58px!important;text-align:right}.bank-table{min-width:1460px}.bank-table td:first-child{width:62px!important}.municipality-table-wrap{max-height:62vh;overflow:auto}.scroll-sentinel{text-align:center;padding:10px;color:var(--muted);font-size:11px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.search-box{display:flex;align-items:center;gap:7px;max-width:520px;flex:1;border:1px solid var(--line);border-radius:6px;padding:0 9px;background:var(--surface-1)}.search-box input{border:0!important;box-shadow:none!important;background:transparent!important;width:100%}.small-modal{width:min(520px,96vw)!important}.compact-form{display:grid;gap:10px}.compact-form>label{display:grid;gap:4px;font-size:12px;font-weight:700}
@media(max-width:1050px){.preferences-two-columns{grid-template-columns:1fr}.preferences-two-columns>.pref-row{grid-template-columns:1fr}.preferences-two-columns>.pref-row>label:nth-child(3){grid-column:auto}}

/* =========================================================
   v0.2.25 — searchable select dropdown readability
   ========================================================= */
.search-select-results,
.account-results{
  max-height:330px!important; /* about 10 visible rows */
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 14px 34px rgba(15,23,42,.22)!important;
  scrollbar-width:thin;
  scrollbar-color:#94a3b8 #f1f5f9;
}
.search-select-results::-webkit-scrollbar,
.account-results::-webkit-scrollbar{width:9px}
.search-select-results::-webkit-scrollbar-track,
.account-results::-webkit-scrollbar-track{background:#f1f5f9}
.search-select-results::-webkit-scrollbar-thumb,
.account-results::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:8px;border:2px solid #f1f5f9}
.search-select-results button,
.account-results button{
  min-height:32px!important;
  background:#fff!important;
  color:#111827!important;
  border-bottom:1px solid #e5e7eb!important;
}
.search-select-results button:hover,
.account-results button:hover,
.search-select-results button:focus,
.account-results button:focus{
  background:#eef6ff!important;
  color:#0f172a!important;
  outline:none!important;
}
.search-select-results span,
.account-results span{color:#64748b!important}
.search-select-results b,
.account-results b{color:#0f172a!important}
.search-select-results .account-empty,
.account-results .account-empty{background:#fff!important;color:#64748b!important}

html[data-theme="dark"] .search-select-results,
html[data-theme="dark"] .account-results{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-color:#334155!important;
  scrollbar-color:#64748b #172033;
}
html[data-theme="dark"] .search-select-results::-webkit-scrollbar-track,
html[data-theme="dark"] .account-results::-webkit-scrollbar-track{background:#172033}
html[data-theme="dark"] .search-select-results::-webkit-scrollbar-thumb,
html[data-theme="dark"] .account-results::-webkit-scrollbar-thumb{background:#64748b;border-color:#172033}
html[data-theme="dark"] .search-select-results button,
html[data-theme="dark"] .account-results button{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-bottom-color:#243244!important;
}
html[data-theme="dark"] .search-select-results button:hover,
html[data-theme="dark"] .account-results button:hover,
html[data-theme="dark"] .search-select-results button:focus,
html[data-theme="dark"] .account-results button:focus{
  background:#172a46!important;
  color:#fff!important;
}
html[data-theme="dark"] .search-select-results span,
html[data-theme="dark"] .account-results span{color:#94a3b8!important}
html[data-theme="dark"] .search-select-results b,
html[data-theme="dark"] .account-results b{color:#f8fafc!important}
html[data-theme="dark"] .search-select-results .account-empty,
html[data-theme="dark"] .account-results .account-empty{background:#0f172a!important;color:#94a3b8!important}

/* =========================================================
   v0.2.26 — stable ERP cards + searchable select stacking
   ========================================================= */
/* Business screens must not move under the pointer. This also avoids
   creating transformed stacking contexts that can cover select menus. */
.kpi:hover,
.panel:hover,
.mini-card:hover{
  transform:none!important;
}
.panel:hover{
  box-shadow:inherit!important;
}

/* Panels containing business forms must allow dropdown overlays to leave
   the card bounds. z-index cannot escape an overflow:hidden ancestor. */
.panel{
  overflow:visible!important;
}
.panel:after{
  display:none!important;
}

/* Every searchable ERP select is an overlay above the form/card. */
.search-select{
  position:relative!important;
  z-index:20;
}
.search-select:focus-within,
.search-select.is-open{
  z-index:5000!important;
}
.search-select-results,
.account-results{
  z-index:5100!important;
  isolation:isolate;
}

/* When a searchable select is open, its immediate form/card stack wins
   over neighbouring rows and cards. */
.form-grid:has(.search-select-results:not([hidden])),
.company-form:has(.search-select-results:not([hidden])),
.panel:has(.search-select-results:not([hidden])),
.panel:has(.account-results:not([hidden])){
  position:relative;
  z-index:4900!important;
  overflow:visible!important;
}

/* ERP v0.2.27 — compact bank accounts grid */
.bank-table-wrap{overflow:visible!important;max-width:100%;}
.bank-table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:12px;}
.bank-table th,.bank-table td{padding:5px 4px!important;overflow:visible;}
.bank-table th{font-size:11px;white-space:normal;line-height:1.15;}
.bank-table input{width:100%;min-width:0!important;height:29px!important;min-height:29px!important;padding:3px 5px!important;border-radius:5px!important;font-size:12px!important;}
.bank-table .sub-input{margin-top:3px;}
.bank-table .c-bank{width:7%}.bank-table .c-account{width:15%}.bank-table .c-kb{width:5%}.bank-table .c-desc{width:20%}.bank-table .c-mt{width:7%}.bank-table .c-ledger{width:9%}.bank-table .c-partner{width:15%}.bank-table .c-toggle{width:7%}.bank-table .c-actions{width:8%}
.bank-code-cell{position:relative;padding-left:20px!important}.bank-code-cell .drag-grip{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:14px;height:26px;display:grid;place-items:center;color:var(--muted);cursor:grab;font-size:11px;z-index:2}.bank-code-cell .drag-grip:active{cursor:grabbing;color:var(--primary)}
.bank-table tr[data-bank-row]{transition:background-color .12s ease,opacity .12s ease}.bank-table tr[data-bank-row].is-dragging{opacity:.45;background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.bank-table tr[data-bank-row].drag-over{box-shadow:inset 0 2px 0 var(--primary)}
.switch-mini{position:relative;display:inline-block;width:30px;height:16px;vertical-align:middle;cursor:pointer}.switch-mini input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}.switch-mini>span{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;border:1px solid #b6c1cf;transition:.15s}.switch-mini>span:after{content:"";position:absolute;width:10px;height:10px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}.switch-mini input:checked+span{background:var(--primary);border-color:var(--primary)}.switch-mini input:checked+span:after{transform:translateX(14px)}
[data-theme="dark"] .switch-mini>span{background:#334155;border-color:#475569}[data-theme="dark"] .switch-mini input:checked+span{background:var(--primary);border-color:var(--primary)}
.switch-inline{display:flex!important;align-items:center!important;gap:7px!important;min-height:32px;font-size:11px!important;color:var(--muted)!important}
.row-actions{display:table-cell!important;white-space:nowrap!important;text-align:center!important}.mini-btn-group{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--surface-1)}.mini-btn-group form{display:inline-flex;margin:0}.mini-action{width:26px!important;height:26px!important;min-width:26px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;display:inline-grid!important;place-items:center!important;font-size:11px!important;cursor:pointer}.mini-action+.mini-action,.mini-btn-group form+form .mini-action{border-left:1px solid var(--line)!important}.mini-action.save{color:#16a34a!important}.mini-action.delete{color:#dc2626!important}.mini-action:hover{background:var(--surface-2)!important}
.bank-order-hint{margin:6px 2px 0;font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.compact-save{padding:7px 10px!important;font-size:12px!important;border-radius:5px!important}
.bank-table .account-results{min-width:260px;right:auto;max-width:360px;z-index:10000}
@media(max-width:1150px){.bank-table{font-size:11px}.bank-table input{font-size:11px!important;padding-left:3px!important;padding-right:3px!important}.bank-table .c-desc{width:18%}.bank-table .c-partner{width:13%}.bank-table .c-account{width:16%}}
.bank-desc-inline{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:3px;align-items:center}.bank-desc-inline input{margin:0!important}

/* =========================================================
   v0.2.28 — unified ERP tables, typography, search and actions
   ========================================================= */
/* Header search: only the button owns the border. This removes the double outline. */
.topbar .side-search{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;height:auto!important;overflow:visible!important}
.topbar .side-search:hover{border:0!important;background:transparent!important;transform:none!important}
.topbar .header-search{height:40px;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface-3)!important;box-shadow:none!important;padding:0 11px!important;transform:none!important}
.topbar .header-search:hover{transform:none!important;border-color:color-mix(in srgb,var(--accent) 52%,var(--line))!important;background:color-mix(in srgb,var(--surface-3) 80%,var(--accent) 6%)!important}

/* Universal ERP typography rhythm */
body,.erp-table,input,select,textarea,button{font-family:var(--font)!important}
.erp-table{font-size:12px;line-height:1.25}.erp-table th{font-size:10.5px;font-weight:800;letter-spacing:.015em}.erp-table td{font-size:12px}
.form-grid label,.compact-form label,.pref-row,.setting-line{font-size:12px}
input,select,textarea{font-size:12px!important}

/* Standard compact row action icon set used everywhere in ERP tables. */
.erp-actions{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;white-space:nowrap!important}
.erp-actions form{display:inline-flex!important;margin:0!important;padding:0!important}
.erp-icon-action{width:27px!important;height:27px!important;min-width:27px!important;padding:0!important;border-radius:5px!important;border:1px solid var(--line)!important;background:var(--surface-2)!important;color:var(--muted)!important;display:inline-grid!important;place-items:center!important;cursor:pointer!important;box-shadow:none!important;transition:border-color .14s ease,background .14s ease,color .14s ease!important}
.erp-icon-action i{font-size:11px!important}.erp-icon-action:hover{transform:none!important;color:var(--text)!important;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))!important}
.erp-icon-action.save{color:var(--accent)!important}.erp-icon-action.edit{color:var(--accent)!important}.erp-icon-action.delete{color:var(--red)!important}.erp-icon-action.restore{color:var(--green)!important}.erp-icon-action.view{color:var(--cyan)!important}.erp-icon-action.add{color:var(--green)!important}.erp-icon-action.copy{color:var(--amber)!important}
.row-actions{white-space:nowrap!important;text-align:right!important}

/* Mini switches: enabled is always green in both themes. */
.switch-mini input:checked+span,[data-theme="dark"] .switch-mini input:checked+span,[data-theme="light"] .switch-mini input:checked+span{background:var(--green)!important;border-color:var(--green)!important}
.switch-mini input:focus-visible+span{outline:2px solid color-mix(in srgb,var(--green) 38%,transparent);outline-offset:2px}

/* Keep compact table action controls on one line. */
.municipality-table-wrap .row-actions{width:74px}.municipality-table-wrap .erp-actions{width:100%;justify-content:flex-end!important}
\n\n/* =========================================================\n   v0.2.39 — compact global context tools + warehouse cleanup\n   ========================================================= */\n.warehouse-section-title{margin:10px 0 6px;padding:0 0 7px;border-bottom:1px solid var(--line);font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}\n\n/* Global context launcher: icon-only, pinned to the bottom-right edge. */\n.context-tools{right:0!important;bottom:0!important;gap:0!important;padding:0!important;border:0!important;border-radius:9px 0 0 0!important;background:#fff!important;box-shadow:-8px -8px 24px rgba(15,23,42,.12)!important;backdrop-filter:none!important;overflow:hidden!important}\n.context-tools button{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;display:grid!important;place-items:center!important;gap:0!important;border-radius:0!important;border:0!important;border-left:1px solid #e2e8f0!important;background:#fff!important;font-size:13px!important}\n.context-tools button:first-child{border-left:0!important}\n.context-tools button span{display:none!important}\n.context-tools button i{font-size:13px!important}\n.context-tools .context-tool-note{color:#2563eb!important}\n.context-tools .context-tool-files{color:#16a34a!important}\n.context-tools .context-tool-history{color:#d97706!important}\n.context-tools .context-tool-note:hover,.context-tools .context-tool-note.active{background:#eff6ff!important;color:#1d4ed8!important}\n.context-tools .context-tool-files:hover,.context-tools .context-tool-files.active{background:#f0fdf4!important;color:#15803d!important}\n.context-tools .context-tool-history:hover,.context-tools .context-tool-history.active{background:#fffbeb!important;color:#b45309!important}\n@media(max-width:700px){.context-tools{left:auto!important;right:0!important;bottom:0!important;width:auto!important;justify-content:flex-end!important}.context-tools button{flex:0 0 34px!important}}\n

/* v0.2.41 — reserve the fixed context launcher area globally */
.content{padding-bottom:54px!important}
@media(max-width:850px){.content,.horizontal-mode .content,.sidebar.collapsed+.content{padding-bottom:54px!important}}

/* v0.2.49 - standard active tab color */
.company-tabs button.active{background:#0541d6!important;color:#fff!important}
[data-theme="dark"] .company-tabs button.active{background:#0541d6!important;color:#fff!important}
