:root{
  --ink:#14202b;--ink-strong:#0b1320;--muted:#687583;--faint:#96a0aa;
  --bg:#f4f7f6;--panel:#fff;--panel-soft:#f8faf9;--line:#e2e8e6;
  --sidebar:#101c2c;--sidebar-soft:#18263a;--primary:#087f72;--primary-dark:#05675d;
  --primary-soft:#e5f5f1;--accent:#16a394;--amber:#f1a735;--danger:#bd3b3b;
  --shadow:0 18px 48px rgba(18,35,48,.08);--shadow-soft:0 8px 24px rgba(18,35,48,.06);
  --radius:18px;--sidebar-width:272px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5;background:var(--bg);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
:focus-visible{outline:3px solid rgba(22,163,148,.28);outline-offset:2px}

/* App shell */
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--sidebar);color:#d8e2ed;z-index:40;overflow:hidden}
.sidebar::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(20,184,166,.11);filter:blur(30px);left:-130px;top:-110px;pointer-events:none}
.sidebar-brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.brand-mark,.mobile-login-brand span,.login-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#1cc2af,#087f72);box-shadow:0 10px 24px rgba(8,127,114,.32);color:#fff;font-weight:900;letter-spacing:-.03em;text-decoration:none}
.brand-copy{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}
.brand-copy strong{color:#fff;font-size:17px;letter-spacing:-.01em}.brand-copy span{color:#8393a7;font-size:11px;margin-top:5px;text-transform:uppercase;letter-spacing:.09em}
.sidebar-close{display:none;margin-left:auto}
.sidebar-nav{flex:1;overflow:auto;padding:18px 12px 24px;scrollbar-width:thin;scrollbar-color:#324257 transparent}
.nav-group{margin-top:20px}.nav-label{padding:0 12px;margin:0 0 7px;color:#687a90;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.nav-link{min-height:43px;display:flex;align-items:center;gap:11px;margin:3px 0;padding:9px 11px;border-radius:11px;color:#aebaca;text-decoration:none;font-size:13px;font-weight:650;position:relative;transition:background .2s,color .2s,transform .2s}
.nav-link:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}
.nav-link.is-active{background:linear-gradient(100deg,rgba(22,163,148,.27),rgba(22,163,148,.08));color:#fff;box-shadow:inset 3px 0 #30c7b5}
.nav-icon{width:25px;height:25px;display:grid;place-items:center;color:#8fa1b5;font-size:17px}.nav-initial{border-radius:7px;background:rgba(255,255,255,.055);font-size:11px;font-weight:900}.is-active .nav-icon{color:#4dd5c3}.is-active .nav-initial{background:rgba(43,205,185,.17)}
.nav-dot{width:6px;height:6px;border-radius:50%;background:#37d6a3;margin-left:auto;box-shadow:0 0 0 3px rgba(55,214,163,.1)}
.sidebar-foot{display:flex;align-items:center;gap:10px;margin:0 12px 14px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.035)}
.sidebar-foot div{display:flex;flex-direction:column}.sidebar-foot strong{color:#dfe8f1;font-size:12px}.sidebar-foot small{color:#75869a;font-size:10px;margin-top:2px}
.connection-dot{width:9px;height:9px;border-radius:50%;background:#39d49f;box-shadow:0 0 0 4px rgba(57,212,159,.12);animation:softPulse 2.2s ease infinite}
.app-stage{min-height:100vh;margin-left:var(--sidebar-width)}
.standalone-workspace .sidebar,.standalone-workspace .sidebar-backdrop,.standalone-workspace .desktop-menubar,.standalone-workspace .topbar{display:none!important}
.standalone-workspace .app-stage{margin-left:0;min-height:100vh}
.standalone-workspace .page{max-width:none;padding:0;animation:none}
.topbar{height:74px;position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(216,225,222,.9);backdrop-filter:blur(16px)}
.topbar-leading,.topbar-actions,.account-menu summary{display:flex;align-items:center}.topbar-leading{gap:12px}.topbar-leading>div{display:flex;flex-direction:column}.eyebrow{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.topbar-title{font-size:16px;letter-spacing:-.01em}
.topbar-actions{gap:12px}.icon-button{width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;font-size:20px}.mobile-menu{display:none}
.command-trigger{height:39px;min-width:215px;display:flex;align-items:center;gap:9px;padding:0 9px 0 12px;border:1px solid var(--line);border-radius:11px;background:#f7f9f8;color:var(--muted);cursor:pointer;transition:.2s}.command-trigger:hover{border-color:#bdcfca;background:#fff}.command-trigger>span:first-child{font-size:19px}.command-copy{font-size:12px;text-align:left;flex:1}.command-trigger kbd{padding:3px 7px;border:1px solid #d7dfdc;border-radius:6px;background:#fff;color:#7d8985;font:600 10px inherit;box-shadow:0 1px 1px rgba(0,0,0,.03)}
.live-chip,.data-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfe8df;border-radius:999px;background:#f0faf7;color:#17755f;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.live-chip i,.data-badge i{display:block;width:6px;height:6px;border-radius:50%;background:#24b47e;box-shadow:0 0 0 3px rgba(36,180,126,.13)}
.active-workspace{min-width:290px;max-width:430px;height:48px;display:grid;grid-template-columns:34px minmax(120px,1fr) auto;align-items:center;gap:9px;padding:5px 11px 5px 7px;border:1px solid #d6e5e1;border-radius:13px;background:linear-gradient(135deg,#f8fcfb,#eef8f5);box-shadow:0 4px 14px rgba(18,55,45,.04)}.active-workspace-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#087f72;color:#fff;font-size:9px;font-weight:900;letter-spacing:.04em}.active-workspace-copy,.active-workspace-year{min-width:0;display:flex;flex-direction:column;line-height:1.2}.active-workspace small{color:#71817c;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.active-workspace strong{margin-top:3px;overflow:hidden;color:#17332e;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.active-workspace-year{padding-left:11px;border-left:1px solid #d3e4df}.active-workspace-year strong{color:#087f72;font-variant-numeric:tabular-nums}
.account-menu{position:relative}.account-menu summary{gap:9px;list-style:none;cursor:pointer}.account-menu summary::-webkit-details-marker{display:none}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#17263a,#2b4056);color:#fff;font-size:13px;font-weight:850}.account-copy{display:flex;flex-direction:column;min-width:110px}.account-copy strong{font-size:12px}.account-copy small{font-size:10px;color:var(--muted)}.chevron{color:#8c9897}
.account-popover{position:absolute;right:0;top:52px;width:320px;padding:14px;border:1px solid #d6e1de;border-radius:17px;background:#fff;box-shadow:0 24px 60px rgba(17,35,48,.16);animation:popIn .16s ease}
.account-popover p{display:flex;flex-direction:column;margin:0 0 10px;padding:7px}.account-popover p strong{font-size:13px}.account-popover p span{font-size:11px;color:var(--muted)}.account-popover button{width:100%;padding:9px;border:0;border-radius:9px;background:#f3f5f4;color:#34414c;font-weight:750;cursor:pointer}.account-popover button:hover{background:#eef1f0}
.account-workspace-head{display:flex;flex-direction:column;margin:-2px -2px 13px;padding:12px;border-radius:12px;background:linear-gradient(125deg,#102b38,#11665c);color:#fff}.account-workspace-head>span{color:#8ddace;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.account-workspace-head strong{margin-top:4px;font-size:14px;line-height:1.25}.account-workspace-head small{margin-top:3px;color:#c4ddd8;font-size:10px}.workspace-switcher{display:grid;gap:9px;margin-bottom:12px}.workspace-picker{position:relative}.workspace-picker>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border:1px solid #d7e2df;border-radius:11px;background:#f7faf9;cursor:pointer;list-style:none}.workspace-picker>summary::-webkit-details-marker{display:none}.workspace-picker>summary>span{min-width:0;display:flex;flex-direction:column}.workspace-picker>summary small{color:#74827e;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.workspace-picker>summary strong{margin-top:3px;overflow:hidden;color:#203934;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.workspace-picker>summary>b{color:#087f72;font-size:14px;transition:transform .16s}.workspace-picker[open]>summary{border-color:#71b8aa;background:#fff;box-shadow:0 0 0 3px rgba(8,127,114,.08)}.workspace-picker[open]>summary>b{transform:rotate(180deg)}.workspace-picker-list{display:grid;gap:3px;margin-top:5px;padding:5px;border:1px solid #d9e4e1;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(20,44,38,.1)}.workspace-picker-list form{margin:0}.account-popover .workspace-picker-list button{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;background:transparent;text-align:left}.account-popover .workspace-picker-list button:hover{background:#eef8f5}.workspace-picker-list button span{min-width:0;overflow-wrap:anywhere;font-size:11px}.workspace-picker-list button i{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#dff3ed;color:#08715f;font-size:8px;font-style:normal;text-transform:uppercase}.workspace-picker-list button.is-current{color:#08715f}.year-list button span{font-variant-numeric:tabular-nums;font-weight:800}
.company-login-panel{margin:4px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.company-login-panel>summary{cursor:pointer;list-style:none;padding:4px 2px;font-size:12px;font-weight:800;color:#176b55}.company-login-panel>summary::-webkit-details-marker{display:none}.company-login-panel form{display:grid;gap:8px;padding-top:9px}.company-login-panel label{display:grid;gap:3px}.company-login-panel label>span:first-child{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}.company-login-panel select,.company-login-panel input{box-sizing:border-box;width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:12px}.company-password{position:relative}.company-password input{padding-right:52px}.company-password button{position:absolute;right:4px;top:4px;width:auto!important;padding:6px!important;background:transparent!important;font-size:10px}.account-logout-actions{display:grid;gap:6px;padding-top:2px}.account-logout-actions form{margin:0}.account-popover .account-logout-actions button{min-height:48px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;text-align:left}.account-logout-actions button>span:first-child{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#e9eeec;color:#586661;font-size:14px}.account-logout-actions button>span:last-child{min-width:0;display:flex;flex-direction:column}.account-logout-actions strong{font-size:11px}.account-logout-actions small{margin-top:1px;overflow:hidden;color:#7b8884;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-logout-actions .company-logout-form button{color:#923f3f}.account-logout-actions .company-logout-form button>span:first-child{background:#faeaea;color:#a23d3d}
.page{max-width:1680px;margin:0 auto;padding:26px 30px 52px;animation:pageIn .32s ease both}

/* Dashboard */
.dashboard-hero{min-height:220px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 40px;border-radius:23px;background:linear-gradient(115deg,#0f2130 0%,#153347 58%,#15594f 140%);color:#fff;box-shadow:0 24px 60px rgba(20,40,55,.16);position:relative;overflow:hidden}
.hero-copy{max-width:720px;position:relative;z-index:2}.section-kicker{display:block;color:var(--primary);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;margin-bottom:9px}.section-kicker.light{color:#54d5c3}.dashboard-hero .section-kicker{color:#64dacb}
.dashboard-hero h1{margin:0 0 10px;font-size:clamp(27px,3vw,42px);line-height:1.08;letter-spacing:-.045em}.dashboard-hero p{max-width:660px;margin:0;color:#b4c8d3;font-size:14px}
.hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:2}.hero-button{min-width:144px}.hero-actions .button.primary{background:#19a894}.hero-actions .button.secondary{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none}.orb-one{right:-35px;top:-70px;width:260px;height:260px;border:1px solid rgba(86,219,199,.15);box-shadow:inset 0 0 80px rgba(57,198,177,.07);animation:drift 8s ease-in-out infinite}.orb-two{right:180px;bottom:-130px;width:230px;height:230px;background:rgba(30,184,162,.08);filter:blur(5px)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}
.metric-card{min-height:142px;padding:19px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:var(--shadow-soft);transition:transform .22s,box-shadow .22s;animation-delay:calc(var(--delay) * 55ms)}.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:900}.metric-trend{padding:4px 7px;border-radius:999px;background:#ecf8f3;color:#228265;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.metric-value{display:block;margin-top:12px;font-size:29px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.metric-label{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:16px}.panel{border:1px solid var(--line);border-radius:19px;background:var(--panel);box-shadow:var(--shadow-soft);overflow:hidden}.module-panel,.activity-panel{padding:22px}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading.compact{align-items:center}.panel-heading h2{margin:0;font-size:18px;letter-spacing:-.025em}.panel-heading .section-kicker{margin-bottom:4px}.text-button{border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:800;cursor:pointer;padding:8px}.text-button span{margin-left:5px;transition:margin .2s}.text-button:hover span{margin-left:9px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.category-card{border:1px solid var(--line);border-radius:14px;background:#fbfcfc;overflow:hidden;transition:.2s}.category-card:hover{border-color:#c9dad6;box-shadow:0 10px 24px rgba(18,35,48,.05)}
.category-head{display:flex;align-items:center;gap:10px;padding:14px}.category-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ebf6f3;color:var(--primary);font-size:10px;font-weight:900}.category-head>span:last-child{display:flex;flex-direction:column}.category-head strong{font-size:13px}.category-head small{color:var(--muted);font-size:10px}
.category-links{border-top:1px solid #ebefed}.category-links a{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;color:#54616d;text-decoration:none;font-size:11px;transition:.15s}.category-links a:hover{background:#f0f8f6;color:var(--primary);padding-left:17px}.category-links b{font-size:16px;font-weight:500}
.activity-list{display:grid}.activity-item{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid #edf0ef;text-decoration:none;transition:.18s}.activity-item:hover{transform:translateX(3px)}.activity-avatar{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef3f6;color:#476071;font-size:11px;font-weight:900}.activity-copy{min-width:0;display:flex;flex-direction:column;flex:1}.activity-copy strong,.activity-meta strong{font-size:11px}.activity-copy small,.activity-meta small{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-meta{display:flex;flex-direction:column;text-align:right}.activity-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.activity-empty>span{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#eff6f4;color:var(--primary);font-size:21px;margin-bottom:10px}.activity-empty strong{color:var(--ink);font-size:13px}.activity-empty small{max-width:200px;margin-top:4px;font-size:10px}

/* Page headers and data */
.content-header,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:2px 0 20px}.content-header h1,.page-heading h1{margin:4px 0 5px;font-size:clamp(24px,2.7vw,35px);line-height:1.15;letter-spacing:-.04em}.content-header p,.page-heading p{margin:0;color:var(--muted);font-size:12px}.breadcrumbs{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.breadcrumbs a,.page-heading a{color:var(--primary);text-decoration:none}.heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.data-panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-soft);overflow:hidden}.data-toolbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;border-bottom:1px solid var(--line)}
.search-row{display:flex;align-items:center;gap:8px;margin:12px 0}.module-search{width:min(560px,100%);height:43px;margin:0;padding:0 4px 0 12px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.module-search>span{color:#84918e;font-size:18px}.module-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:none}.module-search button,.search-row>button{min-height:35px;padding:7px 15px;border:0;border-radius:8px;background:var(--ink-strong);color:#fff;font-weight:750;cursor:pointer}.search-clear{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:var(--muted);text-decoration:none}.search-clear:hover{background:#e8eeec}.record-count{margin:0;color:var(--muted);font-size:11px}.record-count strong{color:var(--ink)}
.table-wrap{width:100%;overflow:auto}.data-table,table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.data-table th,th{padding:12px 14px;background:#f5f8f7;border-bottom:1px solid var(--line);color:#687570;text-align:left;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.data-table td,td{padding:12px 14px;border-bottom:1px solid #edf1ef;color:#31404b;font-size:11px;vertical-align:middle;word-break:break-word}.data-table tbody tr,tbody tr{transition:background .16s}.data-table tbody tr:hover,tbody tr:hover{background:#f7fbfa}.data-table tbody tr:last-child td,tbody tr:last-child td{border-bottom:0}.table-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.table-empty>span{font-size:26px;color:#9cb0aa}.table-empty strong{margin-top:6px;color:var(--ink)}.table-empty small{font-size:10px}
.pager{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.pager>div{display:flex;gap:7px}.pager a,.pager .disabled{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:750}.pager a{color:var(--ink);background:#fff}.pager a:hover{border-color:#a9c8c0;color:var(--primary)}.pager .disabled{opacity:.42}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:800}

/* Shared controls, forms and notices */
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-weight:780;font-size:12px;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(8,127,114,.18)}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.success{background:#198c5e;color:#fff}.button.danger{background:var(--danger);color:#fff}.button.danger-outline{background:#fff;color:var(--danger);border-color:#e6b9b9}.button.small{min-height:31px;padding:5px 9px;font-size:10px}
button.va-row-add{display:inline-grid!important;place-items:center!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0!important;border:2px solid #16a34a!important;border-radius:7px!important;background:#16a34a!important;color:#fff!important;font-size:18px!important;font-weight:900!important}button.va-row-add:hover{background:#15803d!important;border-color:#15803d!important}button.va-row-remove{display:inline-grid!important;place-items:center!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0!important;border:2px solid #dc2626!important;border-radius:7px!important;background:#dc2626!important;color:#fff!important;font-size:18px!important;font-weight:900!important}button.va-row-remove:hover{background:#b91c1c!important;border-color:#b91c1c!important}
.muted{color:var(--muted)}.code-cell{font-family:"SFMono-Regular",Consolas,monospace;font-weight:750}.actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.inline-form{display:inline-flex;margin:0}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1f0;color:#56645f;font-size:9px;font-weight:850;text-transform:capitalize}.status-pill.active,.status-pill.approved,.status-pill.sent{background:#e2f7ed;color:#17714e}.status-pill.inactive,.status-pill.cancelled{background:#f2f3f3;color:#707a76}
.message{min-width:280px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid #d5e8e1;border-radius:12px;background:#edf9f5;color:#17634e;box-shadow:var(--shadow);font-size:11px;font-weight:700;animation:toastIn .25s ease}.message.error{border-color:#f0c8c8;background:#fff0f0;color:#9f3030}.message.warning{border-color:#efddb7;background:#fff8e8;color:#86631d}.message button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px}.toast-stack{position:fixed;right:22px;top:86px;z-index:70;display:grid;gap:8px;width:min(920px,calc(100vw - 44px));max-width:calc(100vw - 44px)}.toast-stack .message{min-width:0;width:100%;align-items:flex-start;padding:16px 18px;font-size:15px;line-height:1.5;font-weight:700;max-height:min(48vh,360px);overflow:auto}.toast-stack .message span{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}.toast-stack .message button{flex:0 0 auto;position:sticky;top:0;min-width:32px;min-height:32px;display:grid;place-items:center;border-radius:8px;font-size:22px;line-height:1}.toast-stack .message button:hover{background:rgba(15,23,42,.08)}
.form-card,.status-card,.confirm-card{border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:var(--shadow-soft)}.form-card{padding:21px;margin-bottom:15px}.status-card{padding:24px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.section-title h2{margin:0;font-size:17px}.form-grid{display:grid;gap:15px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.four-column{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field select,.field textarea,.login-card input,.login-card select,.search-row input{width:100%;min-height:43px;padding:9px 11px;border:1px solid #d7dfdc;border-radius:10px;background:#fff;color:var(--ink);font-size:12px;transition:border .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus,.login-card input:focus,.login-card select:focus{border-color:#6ab7aa;box-shadow:0 0 0 3px rgba(22,163,148,.09);outline:none}.field textarea{resize:vertical}.field input[readonly]{background:#f3f6f5;color:#687570}.field small{color:var(--muted);font-size:10px}.errorlist{list-style:none;margin:0;padding:0;color:#ad3030;font-size:10px}.form-errors{padding:11px;border:1px solid #efc2c2;border-radius:10px;background:#fff0f0;color:#942d2d}.form-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin:15px 0}.sub-form{padding:16px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:#f7f9f8}.audit-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.audit-list li{padding:8px 0;border-bottom:1px solid var(--line)}.audit-list time{color:var(--muted);margin-left:7px}.confirm-shell{min-height:calc(100vh - 160px);display:grid;place-items:center}.confirm-card{max-width:620px;padding:30px;text-align:center}.danger-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#fff0f0;color:var(--danger);font-size:26px;font-weight:900}.modern-status{max-width:620px;margin:50px auto;padding:40px;text-align:center}.status-illustration{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:18px;background:var(--primary-soft);color:var(--primary);font-size:27px}.modern-status p{color:var(--muted)}
.login-cookie-error{margin-bottom:2px;font-size:12px;font-weight:700}

/* Command palette */
.command-palette{width:min(840px,calc(100vw - 28px));max-height:min(760px,86vh);padding:0;border:1px solid #d9e3e0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(6,20,30,.26);overflow:hidden}.command-palette::backdrop{background:rgba(10,22,31,.48);backdrop-filter:blur(4px)}.command-palette[open]{animation:dialogIn .2s ease}
.command-head{height:66px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f7fbff,#f2fbf8)}.command-head>span{font-size:22px;color:#176d8e}.command-head input{flex:1;height:100%;border:0;outline:0;background:transparent;font-size:15px;font-weight:650}.command-head button{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:9px;padding:4px 7px;cursor:pointer}.command-results{max-height:620px;padding:10px;overflow:auto}.command-results section>p{display:flex;justify-content:space-between;margin:7px 8px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.command-results [data-command-item]{width:100%;display:flex;align-items:center;gap:11px;padding:10px;border:0;border-radius:11px;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:default;font:inherit}.command-results [data-command-item]:hover{background:#f6faf9}.command-results [data-command-item].is-selected{outline:2px solid #75b8ac;outline-offset:-2px;background:#e6f6f2}.command-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:9px;background:#eef3f2;color:var(--primary);font-weight:900}.command-icon.is-master{background:#e5f3fb;color:#176d8e}.command-icon.is-transaction{background:#e5f7ef;color:#087b5f}.command-results [data-command-item]>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.command-results strong{overflow-wrap:anywhere;font-size:12px}.command-results small{margin-top:2px;overflow-wrap:anywhere;font-size:10px;line-height:1.35;color:var(--muted)}.command-results b{color:#849592}.command-search-status{margin:8px;padding:9px 11px;border-radius:9px;background:#f5f8f8;color:var(--muted);font-size:10px}.command-search-status.is-loading::before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;border:2px solid #b7d9d2;border-top-color:#0b8f83;border-radius:50%;animation:commandSpin .65s linear infinite}.command-empty{display:none;padding:36px;text-align:center;color:var(--muted);font-size:12px}@keyframes commandSpin{to{transform:rotate(360deg)}}

/* Authentication */
.auth-body{background:#fff}.auth-page{min-height:100vh}.auth-messages{position:fixed;top:18px;right:18px;z-index:10}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(470px,1.12fr) minmax(420px,.88fr)}
.login-showcase{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px 54px 35px;overflow:hidden;background:linear-gradient(145deg,#0d1928 0%,#132e3d 58%,#0b554b 140%);color:#fff}.login-showcase::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent 75%);pointer-events:none}
.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.login-brand>div{display:flex;flex-direction:column}.login-brand strong{font-size:17px}.login-brand small{color:#91a9b6;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.showcase-copy{max-width:700px;position:relative;z-index:2}.showcase-copy h1{margin:0 0 18px;font-size:clamp(38px,4.6vw,67px);line-height:1.02;letter-spacing:-.055em}.showcase-copy h1 em{color:#55d8c5;font-style:normal}.showcase-copy>p{max-width:600px;color:#adc2cc;font-size:15px}.showcase-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:28px}.showcase-points span{display:flex;align-items:center;gap:7px;color:#d0dee4;font-size:11px}.showcase-points i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(63,211,187,.13);color:#5cdbc8;font-style:normal;font-size:10px}
.showcase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:590px;position:relative;z-index:2}.showcase-stats div{display:flex;flex-direction:column;padding-right:20px;border-right:1px solid rgba(255,255,255,.12)}.showcase-stats div:last-child{border:0}.showcase-stats strong{font-size:18px}.showcase-stats span{color:#8ea7b4;font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.showcase-glow{position:absolute;border-radius:50%;filter:blur(2px)}.glow-one{width:440px;height:440px;right:-220px;top:-130px;border:1px solid rgba(76,221,200,.13);box-shadow:inset 0 0 100px rgba(67,209,188,.07)}.glow-two{width:230px;height:230px;left:-100px;bottom:80px;background:rgba(26,166,147,.1);filter:blur(30px)}
.login-form-side{display:grid;place-items:center;padding:38px;background:#fff}.login-card{width:min(420px,100%)}.mobile-login-brand{display:none}.login-card h2{margin:4px 0 6px;font-size:29px;letter-spacing:-.04em}.login-intro{margin:0 0 28px;color:var(--muted);font-size:12px}.login-card form{display:grid;gap:16px}.auth-field{gap:7px}.auth-field label{font-size:11px}.input-shell{height:48px;display:flex;align-items:center;border:1px solid #d9e1df;border-radius:11px;background:#fff;transition:.18s}.input-shell:focus-within{border-color:#64b7a9;box-shadow:0 0 0 3px rgba(22,163,148,.09)}.input-shell>span{width:42px;text-align:center;color:#7d8a87}.input-shell input,.input-shell select{height:46px;min-height:0;padding:0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;outline:0}.input-shell select{appearance:none}.input-shell>i{padding:0 13px;color:#8b9895;font-style:normal}.password-toggle{border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:800;cursor:pointer;padding:10px}
.login-submit{height:49px;display:flex;align-items:center;justify-content:space-between;margin-top:3px;padding:0 18px;border:0;border-radius:11px;background:linear-gradient(110deg,var(--primary),#159b8b);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 26px rgba(8,127,114,.2);transition:.2s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(8,127,114,.24)}.login-submit b{font-size:18px}.security-note{display:flex;align-items:flex-start;gap:8px;margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);color:#87928f;font-size:9px}.security-note span{color:var(--primary)}

/* Motion */
.reveal{animation:riseIn .45s cubic-bezier(.2,.75,.25,1) both}.metric-grid .reveal{animation-delay:calc(var(--delay) * 60ms)}
@keyframes pageIn{from{opacity:0}to{opacity:1}}@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes popIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes dialogIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes softPulse{50%{box-shadow:0 0 0 7px rgba(57,212,159,0)}}@keyframes drift{50%{transform:translate(-16px,12px) scale(1.04)}}

@media(max-width:1180px){.dashboard-grid{grid-template-columns:1fr}.activity-list{grid-template-columns:repeat(2,1fr);gap:0 15px}.metric-grid{grid-template-columns:repeat(2,1fr)}.active-workspace{min-width:220px}.active-workspace-copy{max-width:135px}}
@media(max-width:980px){:root{--sidebar-width:250px}.account-copy,.live-chip{display:none}.command-trigger{min-width:175px}.active-workspace{min-width:180px;grid-template-columns:minmax(90px,1fr) auto;height:43px}.active-workspace-icon{display:none}.active-workspace-copy{max-width:110px}.four-column,.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell{grid-template-columns:1fr}.login-showcase{display:none}.login-form-side{min-height:100vh}.mobile-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:40px}.mobile-login-brand span{width:38px;height:38px}.login-card{width:min(440px,100%)}}
@media(max-width:760px){.sidebar{transform:translateX(-102%);box-shadow:30px 0 70px rgba(8,18,28,.25);transition:transform .25s ease}.sidebar.is-open{transform:none}.sidebar-close{display:block;color:#fff}.sidebar-backdrop{display:none;position:fixed;inset:0;border:0;background:rgba(8,18,28,.42);z-index:35}.sidebar.is-open+.sidebar-backdrop{display:block}.app-stage{margin-left:0}.topbar{height:66px;padding:0 15px}.mobile-menu{display:grid;place-items:center}.command-trigger{min-width:40px;width:40px;padding:0;justify-content:center}.command-trigger .command-copy,.command-trigger kbd{display:none}.account-menu .chevron{display:none}.active-workspace{min-width:0;max-width:150px;padding:5px 8px;grid-template-columns:minmax(72px,1fr) auto}.active-workspace-copy{max-width:82px}.active-workspace small{display:none}.active-workspace strong{margin-top:0;font-size:9px}.active-workspace-year{padding-left:7px}.page{padding:18px 14px 38px}.dashboard-hero{min-height:250px;align-items:flex-start;flex-direction:column;padding:27px 24px}.hero-actions{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric-card{min-height:125px;padding:15px}.category-grid{grid-template-columns:1fr}.activity-list{grid-template-columns:1fr}.content-header,.page-heading{align-items:flex-start;flex-direction:column}.data-toolbar{align-items:flex-start;flex-direction:column}.record-count{padding-left:2px}.two-column,.three-column,.four-column{grid-template-columns:1fr}.toast-stack{left:12px;right:12px;top:74px}.toast-stack .message{min-width:0}.auth-messages{left:14px;right:14px}.login-form-side{padding:25px 20px}.form-card{padding:16px}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr 1fr}.metric-value{font-size:24px}.metric-label{font-size:10px}.module-panel,.activity-panel{padding:16px}.panel-heading{align-items:flex-start}.hero-actions .button{min-width:0;flex:1}.account-menu summary .avatar{width:34px;height:34px}.login-card h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared high-contrast action buttons. Save/Update remains readable even while
   validation is incomplete; disabled state is shown with a muted blue rather
   than low-opacity white text on a pale footer. */
.button.primary,.purchase-button.primary,.apmc-button.primary,.sales-button.primary,.pricing-button.primary,.crm-button.primary,.tools-button,.av-button.primary,.av-button.accent,.av-button.success{background:#087f72!important;color:#fff!important;border-color:#087f72!important;text-shadow:0 1px 1px #064e49}
.button.primary:hover:not(:disabled),.purchase-button.primary:hover:not(:disabled),.apmc-button.primary:hover:not(:disabled),.sales-button.primary:hover:not(:disabled),.pricing-button.primary:hover:not(:disabled),.crm-button.primary:hover:not(:disabled),.tools-button:hover:not(:disabled),.av-button.primary:hover:not(:disabled){background:#05675d!important}
.button.primary:disabled,.purchase-button.primary:disabled,.apmc-button.primary:disabled,.sales-button.primary:disabled,.pricing-button.primary:disabled,.crm-button.primary:disabled,.tools-button:disabled,.av-button.primary:disabled{background:#607d94!important;color:#fff!important;border-color:#607d94!important;opacity:1!important;cursor:not-allowed}

/* -------------------------------------------------------------------------
   VA ERP professional visual refresh — 24.07.2026
   Shared palette for login, navigation, master lists and standard controls.
   ------------------------------------------------------------------------- */
:root{
  --ink:#17232e;
  --ink-strong:#0d1822;
  --muted:#647584;
  --faint:#8b99a5;
  --bg:#f2f5f7;
  --panel:#ffffff;
  --panel-soft:#f7f9fb;
  --line:#d8e1e7;
  --sidebar:#0c1c2a;
  --sidebar-soft:#14283a;
  --primary:#0b8f83;
  --primary-dark:#08736a;
  --primary-soft:#e4f5f2;
  --accent:#22a999;
  --danger:#b63d44;
  --shadow:0 18px 50px rgba(13,31,45,.12);
  --shadow-soft:0 8px 24px rgba(13,31,45,.07)
}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#0b1b29 0%,#102536 100%);box-shadow:8px 0 34px rgba(7,20,31,.14)}
.sidebar-brand{border-bottom-color:rgba(255,255,255,.08)}
.brand-mark,.mobile-login-brand span,.login-brand>span{background:linear-gradient(145deg,#22b8a7,#087f75);box-shadow:0 10px 24px rgba(8,127,117,.28)}
.nav-tree-tools button{border-color:#2b4255;background:#14283a;color:#b9c8d4}
.nav-tree-tools button:hover{border-color:#3a5a70;background:#1a3246;color:#fff}
.nav-label{color:#7690a4}
.nav-link{color:#b7c4cf}
.nav-link:hover{background:rgba(255,255,255,.065)}
.nav-link.is-active{background:linear-gradient(100deg,rgba(25,164,149,.30),rgba(25,164,149,.08));box-shadow:inset 3px 0 #39c7b5}
.nav-subgroup>summary{background:#13293a;color:#c9d5df;border-left-color:#2c475a}
.nav-subgroup>summary:hover{background:#183246;color:#fff}
.nav-subgroup[open]>summary{background:#123947;color:#fff;border-left-color:#42c6b6}
.sidebar-foot{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}
.topbar{background:rgba(250,252,253,.94);border-bottom-color:#d7e0e6;box-shadow:0 5px 18px rgba(15,34,48,.04)}
.command-trigger{background:#fff;border-color:#d5dee4}
.command-trigger:hover{border-color:#9fc6bf;box-shadow:0 0 0 3px rgba(11,143,131,.07)}
.account-popover{border-color:#d7e0e6}
.page{padding-top:24px}
.data-panel,.panel,.form-card,.status-card,.confirm-card{border-color:var(--line);box-shadow:var(--shadow-soft)}
.data-toolbar{background:#fbfcfd}
.module-search{background:#fff;border-color:#d5dee4}
.data-table th,th{background:#edf2f5;color:#445765;border-bottom-color:#cfd9e0}
.data-table td,td{color:#263744;border-bottom-color:#e5ebef}
.data-table tbody tr:hover td,tbody tr:hover td{background:#eaf6f4}
.button{border-radius:8px}
.button.primary{background:linear-gradient(135deg,#0b8f83,#0b7f76);box-shadow:0 9px 20px rgba(11,143,131,.20)}
.button.primary:hover{background:linear-gradient(135deg,#08776e,#086b64)}
.button.secondary{background:#fff;color:#22323e;border-color:#d4dee5}
.button.secondary:hover{border-color:#9cbdb7;background:#f8fbfb}
.button.danger-outline{background:#fff;color:#a9343b;border-color:#e4bfc2}
.field input,.field select,.field textarea,.search-row input{border-color:#ccd7de;background:#fff;color:#17232e}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#3aa99e;box-shadow:0 0 0 3px rgba(11,143,131,.12)}

/* Persistent dark-mode contrast for the application shell. */
body.app-body[data-theme="dark"]{
  --ink:#e7eef4;
  --ink-strong:#ffffff;
  --muted:#9dafbc;
  --faint:#768896;
  --bg:#0f1821;
  --panel:#17242e;
  --panel-soft:#1c2b36;
  --line:#334652;
  --primary:#31b7a7;
  --primary-dark:#249788;
  --primary-soft:#173f3c
}
body.app-body[data-theme="dark"] .topbar{background:rgba(19,32,42,.96);border-bottom-color:#30434f;color:#e7eef4}
body.app-body[data-theme="dark"] .command-trigger{background:#101b24;border-color:#3b4d59;color:#aebdca}
body.app-body[data-theme="dark"] .command-trigger kbd{background:#1b2a35;border-color:#40535f;color:#c7d3dc}
body.app-body[data-theme="dark"] .account-popover{background:#17242e;border-color:#3a4d59;color:#e7eef4}
body.app-body[data-theme="dark"] .account-popover button{background:#22333f;color:#e7eef4}
body.app-body[data-theme="dark"] .workspace-picker>summary,body.app-body[data-theme="dark"] .workspace-picker-list{background:#17242e;border-color:#3a4d59;color:#e7eef4}body.app-body[data-theme="dark"] .workspace-picker>summary strong{color:#e7eef4}
body.app-body[data-theme="dark"] .company-login-panel select,body.app-body[data-theme="dark"] .company-login-panel input{background:#17242e;border-color:#3a4d59;color:#e7eef4}
body.app-body[data-theme="dark"] .content-header p,
body.app-body[data-theme="dark"] .page-heading p{color:#9dafbc}
body.app-body[data-theme="dark"] .data-panel,
body.app-body[data-theme="dark"] .panel,
body.app-body[data-theme="dark"] .form-card,
body.app-body[data-theme="dark"] .status-card,
body.app-body[data-theme="dark"] .confirm-card{background:#17242e;border-color:#334652;color:#e7eef4}
body.app-body[data-theme="dark"] .data-toolbar{background:#1b2a35;border-color:#334652}
body.app-body[data-theme="dark"] .module-search{background:#101b24;border-color:#3c4f5b}
body.app-body[data-theme="dark"] .module-search input{color:#edf3f7}
body.app-body[data-theme="dark"] .data-table th{background:#243541;color:#dce6ed;border-color:#40515d}
body.app-body[data-theme="dark"] .data-table td{background:#17242e;color:#dce6ed;border-color:#30424e}
body.app-body[data-theme="dark"] .data-table tbody tr:nth-child(even) td{background:#1c2b36}
body.app-body[data-theme="dark"] .data-table tbody tr:hover td{background:#23413f}
body.app-body[data-theme="dark"] .button.secondary{background:#22333f;color:#e8eff4;border-color:#41535f}
body.app-body[data-theme="dark"] .button.secondary:hover{background:#2a3d49;border-color:#5d7481}
body.app-body[data-theme="dark"] .button.danger-outline{background:#2b2227;color:#f0a7ab;border-color:#6d3b42}
body.app-body[data-theme="dark"] .record-count strong{color:#fff}
body.app-body[data-theme="dark"] .pager a{background:#22333f;color:#e8eff4;border-color:#41535f}
body.app-body[data-theme="dark"] .field label{color:#dce6ed}
body.app-body[data-theme="dark"] .field input,
body.app-body[data-theme="dark"] .field select,
body.app-body[data-theme="dark"] .field textarea{background:#101a23;color:#edf3f7;border-color:#435663}
body.app-body[data-theme="dark"] .field input[readonly]{background:#202d37;color:#9dafbc}

/* Login always uses a clean, high-contrast light presentation even when the
   user previously selected dark mode inside the ERP. */
body.auth-body,
body.auth-body[data-theme="dark"]{
  --ink:#17232e;
  --ink-strong:#0d1822;
  --muted:#647584;
  --faint:#8b99a5;
  --bg:#f2f6f8;
  --panel:#fff;
  --panel-soft:#f7fafb;
  --line:#d8e1e7;
  --primary:#0b8f83;
  --primary-dark:#08736a;
  --primary-soft:#e4f5f2;
  color:#17232e;
  background:#f2f6f8
}
body.auth-body[data-theme="dark"] input,
body.auth-body[data-theme="dark"] select,
body.auth-body[data-theme="dark"] textarea{background:transparent;color:#17232e;border-color:transparent}
.login-shell{grid-template-columns:minmax(560px,1.15fr) minmax(440px,.85fr);background:#f2f6f8}
.login-showcase{padding:48px 60px 40px;background:linear-gradient(145deg,#0b1b2a 0%,#102f40 58%,#0a5a50 145%)}
.login-showcase::after{opacity:.72}
.showcase-copy h1{max-width:760px;font-size:clamp(42px,4.7vw,70px)}
.showcase-copy h1 em{color:#55d5c4}
.showcase-copy>p{color:#bdd0d9;font-size:16px;line-height:1.65}
.showcase-points span{color:#d9e6eb}
.showcase-stats{max-width:620px}
.login-form-side{padding:42px;background:radial-gradient(circle at 80% 12%,rgba(11,143,131,.10),transparent 28%),#f2f6f8}
.login-card{width:min(460px,100%);padding:38px 40px;border:1px solid #dce5ea;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(20,42,56,.14)}
.login-card .section-kicker{margin-bottom:8px;color:#087f75}
.login-card h2{margin:0 0 8px;color:#15232e;font-size:32px;line-height:1.12}
.login-intro{margin-bottom:30px;color:#6e7e8b;font-size:13px}
.auth-field label{color:#344754;font-size:12px}
.input-shell{height:52px;border-color:#cfdbe2;border-radius:12px;background:#fff;box-shadow:0 2px 6px rgba(18,38,51,.025)}
.input-shell:focus-within{border-color:#32a79b;box-shadow:0 0 0 4px rgba(11,143,131,.11)}
.input-shell>span{color:#71838f;font-weight:750;font-size:11px}
.input-shell input,.input-shell select{height:50px;color:#15232e!important;background:transparent!important;font-size:13px}
.input-shell input::placeholder{color:#9ba8b1}
.input-shell>i{color:#73848f}
.password-toggle{color:#087f75}
.login-submit{height:52px;border-radius:12px;background:linear-gradient(110deg,#0b8f83,#16a18f);box-shadow:0 14px 30px rgba(11,143,131,.22)}
.security-note{color:#74858f;border-top-color:#e1e8ec}

@media(max-width:980px){
  .login-form-side{background:#f2f6f8}
  .login-card{padding:32px}
}
@media(max-width:520px){
  .login-card{padding:26px 22px;border-radius:18px}
}
/* Every Web ERP dropdown uses the OS picker on phones and touch devices.
   Desktop browsers keep the shared searchable dropdown control. */
@media (max-width:760px),(pointer:coarse){
  body.auth-body select:not([multiple]),
  body.app-body select:not([multiple]){
    -webkit-appearance:menulist!important;
    appearance:auto!important;
    touch-action:manipulation;
    font-size:16px!important
  }
}
/* ERP-wide register interaction and compact entry-grid alignment. */
tr.va-openable-row{cursor:pointer}tr.va-openable-row:focus{outline:3px solid color-mix(in srgb,var(--primary,#2563eb) 34%,transparent);outline-offset:-3px}tr.va-openable-row:hover>td{background:color-mix(in srgb,var(--primary,#2563eb) 7%,var(--surface,#fff))}
table:has(tbody input,tbody select,tbody textarea) th{white-space:nowrap;vertical-align:middle}table:has(tbody input,tbody select,tbody textarea) td{vertical-align:middle;min-width:112px}table:has(tbody input,tbody select,tbody textarea) td:has(textarea){min-width:240px}table:has(tbody input,tbody select,tbody textarea) input,table:has(tbody input,tbody select,tbody textarea) select,table:has(tbody input,tbody select,tbody textarea) textarea{box-sizing:border-box;width:100%;min-height:38px}table:has(tbody input,tbody select,tbody textarea) button{min-height:36px}

/* VA ERP universal non-editable field rule. Mobile write workflows inherit
   this same stylesheet through the secure Native Web handoff. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),textarea,select)[readonly],
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),textarea,select):disabled,
:where(input:not([type="checkbox"]):not([type="radio"]),textarea,select).readonly,
:where(input:not([type="checkbox"]):not([type="radio"]),textarea,select)[aria-readonly="true"]{
  background:#e5e7eb!important;
  color:#4b5563!important;
  border-color:#cbd5e1!important;
  -webkit-text-fill-color:#4b5563!important;
  opacity:1!important;
  cursor:not-allowed
}

/* Universal ERP table-scroll contract. Every shared table shell owns its
   horizontal scrollbar, after the table footer/Total row. */
:where(
  [class*="table-wrap"],
  [class*="table-shell"],
  [class*="table-container"]
){
  overflow-x:scroll!important;
  scrollbar-gutter:stable;
  scrollbar-color:#87939d #ece8e1;
  scrollbar-width:auto;
  overscroll-behavior-x:contain
}
:where(
  [class*="table-wrap"],
  [class*="table-shell"],
  [class*="table-container"]
)::-webkit-scrollbar{width:13px;height:13px}
:where(
  [class*="table-wrap"],
  [class*="table-shell"],
  [class*="table-container"]
)::-webkit-scrollbar-track{background:#ece8e1;border-top:1px solid #d8d0c5}
:where(
  [class*="table-wrap"],
  [class*="table-shell"],
  [class*="table-container"]
)::-webkit-scrollbar-thumb{background:#87939d;border:3px solid #ece8e1;border-radius:999px}
:where(
  [class*="table-wrap"],
  [class*="table-shell"],
  [class*="table-container"]
)::-webkit-scrollbar-thumb:hover{background:#66737e}
.limited-permission-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 11px 14px;
  border: 1px solid #b7c0c7;
  border-radius: 10px;
  background: #e5e8ea;
  color: #39444c;
  box-shadow: 0 4px 14px rgba(31, 41, 48, .08);
}
.limited-permission-notice strong { white-space: nowrap; }
.limited-permission-notice span { color: #56636c; }
@media (max-width: 760px) {
  .limited-permission-notice { align-items: flex-start; flex-direction: column; gap: 4px; }
}

.tally-send-report-dialog{width:min(720px,94vw);max-height:92vh;padding:0;border:0;border-radius:16px;background:transparent;color:#1f2f3b}
.tally-send-report-dialog::backdrop{background:rgba(15,31,43,.62)}
.tally-send-report-panel{overflow:hidden;border:1px solid #cbd8df;border-radius:16px;background:#fff;box-shadow:0 28px 85px rgba(15,31,43,.36)}
.tally-send-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:#263f53;color:#fff}
.tally-send-report-panel.is-success .tally-send-report-header{background:linear-gradient(135deg,#176f60,#15947e)}
.tally-send-report-panel.is-failed .tally-send-report-header{background:linear-gradient(135deg,#8f2d2d,#bd3434)}
.tally-send-report-header small{font-size:11px;font-weight:900;letter-spacing:.08em}.tally-send-report-header h2{margin:4px 0 0;font-size:22px}
.tally-send-report-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.38);border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.tally-send-report-body{display:grid;gap:14px;max-height:64vh;overflow:auto;padding:18px 20px;background:#f7fafb}
.tally-send-report-summary,.tally-send-report-identity,.tally-send-report-counts{display:grid;gap:9px}.tally-send-report-summary{grid-template-columns:repeat(3,1fr)}.tally-send-report-identity{grid-template-columns:repeat(2,1fr)}.tally-send-report-counts{grid-template-columns:repeat(5,1fr)}
.tally-send-report-field{min-width:0;padding:10px 12px;border:1px solid #d8e2e7;border-radius:10px;background:#fff}.tally-send-report-field span{display:block;color:#667985;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.tally-send-report-field strong{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:15px;font-variant-numeric:tabular-nums}
.tally-send-report-message{padding:12px 14px;border-left:4px solid #15947e;border-radius:8px;background:#e8f7f3;white-space:pre-line;overflow-wrap:anywhere}.is-failed .tally-send-report-message{border-left-color:#bd3434;background:#fff0f0;color:#7f2424}.tally-send-report-errors{margin:0;padding:0 0 0 22px;color:#7f2424}
.tally-send-report-footer{display:flex;justify-content:flex-end;padding:13px 18px;border-top:1px solid #d8e2e7;background:#fff}
@media(max-width:640px){.tally-send-report-dialog{width:100vw;max-height:100vh;border-radius:0}.tally-send-report-panel{min-height:100vh;border:0;border-radius:0}.tally-send-report-summary,.tally-send-report-identity{grid-template-columns:1fr}.tally-send-report-counts{grid-template-columns:repeat(2,1fr)}.tally-send-report-body{max-height:calc(100vh - 170px);padding:14px}.tally-send-report-header{padding:14px}.tally-send-report-footer{position:sticky;bottom:0}}
