
:root{--bg:#06130e;--panel:#0b1b14;--panel2:#10251b;--line:#1d3a2c;--text:#f4f4ee;--muted:#88a99a;--gold:#e5bc45;--green:#35cf83;--red:#ff617f}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#0c3020 0,#06130e 35%);color:var(--text);font:15px Inter,system-ui,Arial,sans-serif}.hide{display:none!important}
button,input{font:inherit}.login-screen{min-height:100vh;display:grid;place-items:center}.login-card{width:min(390px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 30px 80px #0008}.brand-mark{width:45px;height:45px;border-radius:12px;background:linear-gradient(135deg,#f0cf66,#d8a62f);color:#07130e;display:grid;place-items:center;font-size:22px;font-weight:900}.eyebrow{font-size:12px;letter-spacing:1.6px;color:var(--gold);font-weight:800}.login-card h1{margin:12px 0 0}.login-card p{margin:2px 0;color:var(--muted)}.login-card small{display:block;margin:8px 0 22px;color:var(--muted)}label{display:block;color:var(--muted);font-size:12px;margin:12px 0}input{width:100%;margin-top:6px;padding:12px;border-radius:9px;border:1px solid var(--line);background:#07140f;color:var(--text);outline:none}.login-card button,#logout{width:100%;padding:11px;border:0;border-radius:9px;background:var(--green);font-weight:800;color:#04120c}#err{color:var(--red);margin-top:12px;min-height:18px}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;background:#06140fdd}.logo{display:flex;gap:12px;align-items:center;margin:0 8px 28px}.logo b{font-size:20px}.logo span{display:block;color:var(--muted);font-size:12px}nav{display:grid;gap:7px}.nav{border:0;background:transparent;color:#9bb9ac;padding:14px 15px;border-radius:11px;text-align:left;font-size:16px;cursor:pointer}.nav span{margin-left:10px}.nav.on,.nav:hover{background:#10291e;color:white}.account{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:12px}.account #logout{margin-top:12px;background:transparent;border:1px solid var(--line);color:#d7dfda}
main{padding:28px 42px;min-width:0}header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}header h1{font-size:36px;margin:7px 0 5px}header p{margin:0;color:var(--muted)}.periods{border:1px solid var(--line);border-radius:12px;padding:4px;white-space:nowrap}.periods button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:8px;font-weight:700}.periods .on{background:var(--panel2);color:white}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:linear-gradient(145deg,#0b1d15,#091811);border:1px solid var(--line);border-radius:16px;padding:22px}.card span,.muted{color:var(--muted)}.card strong{display:block;font-size:27px;margin:12px 0 6px}.card small{color:var(--muted)}.charts{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-top:14px}.panel h2{margin:6px 0 18px}.chartbox{height:300px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.search{max-width:330px;margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;border-bottom:1px solid #173025;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase}.income{color:var(--green)}.expense{color:var(--red)}.list{display:grid;gap:10px}.item{padding:16px;border:1px solid var(--line);border-radius:13px;background:#0a1912}.item-top{display:flex;justify-content:space-between;gap:12px}.item h3{margin:0 0 7px}.item p{margin:0;color:var(--muted);white-space:pre-wrap}.pill{display:inline-block;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.empty{padding:45px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}.charts{grid-template-columns:1fr}.app{grid-template-columns:78px 1fr}.logo div:last-child,.nav span,.account span{display:none}.logo{margin-left:0}.nav{text-align:center;font-size:19px}.account{padding:12px 0}main{padding:24px}}
@media(max-width:650px){.app{display:block}aside{position:fixed;z-index:5;bottom:0;top:auto;height:auto;width:100%;border:0;border-top:1px solid var(--line);padding:7px;background:#06140ff5}.logo,.account{display:none}nav{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.nav{padding:10px 3px;text-align:center}.nav span{display:none}main{padding:20px 14px 78px}header{align-items:start;flex-direction:column}.periods{width:100%;display:flex}.periods button{flex:1}.grid4{grid-template-columns:1fr 1fr}.card{padding:16px}.card strong{font-size:20px}.charts{grid-template-columns:1fr}.chartbox{height:240px}header h1{font-size:29px}}

.actions{display:flex;gap:8px;margin-top:14px}.action{width:auto;border:1px solid var(--line);background:#0c2017;color:var(--text);padding:9px 13px;border-radius:9px;font-weight:700;cursor:pointer}.action:hover{background:#123022}.action.primary{background:var(--green);border-color:var(--green);color:#04120c}.action.danger{color:var(--red);border-color:#5b2632;background:transparent}@media(max-width:650px){.actions{flex-wrap:wrap}.action{flex:1}}

.finance-tools{display:flex;align-items:center;gap:10px}.finance-tools .search{min-width:260px}.iconbtn{border:1px solid var(--line);background:transparent;color:var(--text);width:32px;height:32px;border-radius:8px;margin-left:5px;cursor:pointer}.iconbtn.danger{color:var(--red)}.modal{position:fixed;inset:0;z-index:50;background:#000a;display:grid;place-items:center;padding:18px;backdrop-filter:blur(5px)}.modal-card{width:min(680px,96vw);max-height:92vh;overflow:auto;background:#091a13;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 30px 90px #000b}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.modal-head h2{margin:5px 0}.modal-x{border:0;background:transparent;color:var(--muted);font-size:30px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.form-grid input,.form-grid select{width:100%;margin-top:6px;padding:12px;border-radius:9px;border:1px solid var(--line);background:#07140f;color:var(--text);outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:650px){.finance-tools{width:100%;flex-direction:column;align-items:stretch}.finance-tools .search{min-width:0;max-width:none}.section-head{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.modal-card{padding:18px}.modal-actions .action{flex:1}}

.form-grid textarea{width:100%;margin-top:6px;padding:12px;border-radius:9px;border:1px solid var(--line);background:#07140f;color:var(--text);outline:none;resize:vertical}.form-grid .wide{grid-column:1/-1}

@media(max-width:650px){
 body{background:#06130e}
 main{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}
 header{margin-bottom:20px}
 header .eyebrow{font-size:10px}
 header h1{font-size:27px;margin-top:5px}
 header p{font-size:13px;line-height:1.45}
 aside{padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px #0006}
 nav{grid-template-columns:repeat(5,1fr)}
 .nav{font-size:0;padding:8px 2px;color:#7e9f90;min-height:50px}
 .nav::first-letter{font-size:21px}
 .nav:nth-child(3),.nav:nth-child(4){display:none}
 .nav.on{background:#10291e;color:var(--gold)}
 .grid4{gap:9px}
 .card{border-radius:14px;padding:14px}
 .card span{font-size:12px}
 .card strong{font-size:19px;margin:8px 0 4px}
 .card small{font-size:10px}
 .panel{padding:16px;border-radius:14px}
 .charts{gap:10px;margin-top:10px}
 .chartbox{height:220px}
 .tablewrap{margin:0 -16px;padding:0 16px}
 table{min-width:650px}
 .item{border-radius:14px;padding:15px}
 .item-top{align-items:flex-start}
 .login-card{padding:26px 20px;border-radius:20px}
 .modal{align-items:end;padding:0}
 .modal-card{width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
}

.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.home-grid.lower{grid-template-columns:1.6fr 1fr}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-title h2{margin:6px 0 18px}.textbtn{border:0;background:transparent;color:var(--gold);font-weight:700;cursor:pointer;padding:6px}.mini-list{display:grid;gap:9px}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #173025;padding:12px 0}.mini-row:first-child{border-top:0;padding-top:0}.mini-row b{display:block;font-size:14px}.mini-row span{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.4}.mini-check{width:34px;height:34px;flex:0 0 34px;border-radius:10px;border:1px solid var(--line);background:#0d251a;color:var(--green);font-weight:900;cursor:pointer}.empty-mini{color:var(--muted);padding:18px 0;font-size:13px}.chartbox.compact{height:240px}
@media(max-width:800px){.home-grid,.home-grid.lower{grid-template-columns:1fr}}
@media(max-width:650px){.home-grid{gap:10px;margin-top:10px}.panel-title h2{font-size:18px}.textbtn{font-size:12px}.chartbox.compact{height:210px}}

.today-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(110deg,#0d2419,#091811)}.today-strip h2{margin:5px 0 4px;text-transform:capitalize;font-size:20px}.today-strip p{margin:0;color:var(--muted);font-size:13px}.today-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.today-badges span{padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800}.alert-badge{color:#ff8aa0;background:#3a1520;border:1px solid #6d293b}.ok-badge{color:var(--green);background:#0d291c;border:1px solid #1b4b34}.info-badge{color:#d9c477;background:#28230f;border:1px solid #50451d}.attention{border-color:#4d3027}.mini-row.urgent{border-color:#38231f}.urgency{display:inline-block!important;width:max-content;color:#ff879c!important;background:#35141d;border:1px solid #612735;border-radius:999px;padding:3px 7px;margin:0 0 6px!important;font-size:10px!important;font-weight:900;text-transform:uppercase}.empty-mini.good{color:var(--green)}.next-event{display:flex;flex-direction:column;gap:7px;padding:8px 0}.next-event>span{color:var(--gold);font-size:12px;font-weight:800}.next-event strong{font-size:19px}.next-event small{color:var(--muted)}.chartbox.smart{height:190px}
@media(max-width:650px){.today-strip{align-items:flex-start;flex-direction:column;padding:15px}.today-badges{justify-content:flex-start}.today-strip h2{font-size:18px}.chartbox.smart{height:180px}.mini-row>strong{font-size:13px;white-space:nowrap}}

.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.agenda-stats{display:flex;gap:10px}.agenda-stats>div{min-width:105px;padding:12px 16px;border:1px solid var(--line);border-radius:13px;background:#091b13}.agenda-stats strong{display:block;font-size:21px}.agenda-stats span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.agenda-section{border:1px solid var(--line);border-radius:16px;background:#091a13;padding:20px;margin-top:14px}.today-agenda{border-color:#35502d}.agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.agenda-heading h2{margin:5px 0 0;text-transform:capitalize}.agenda-list{display:grid;gap:9px}.agenda-event{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:13px;border:1px solid #173126;border-radius:13px;background:#07150f}.agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);padding-right:12px}.agenda-date b{font-size:21px;color:var(--gold)}.agenda-date span{font-size:11px;text-transform:uppercase;color:var(--muted)}.agenda-info h3{margin:0 0 5px;font-size:15px}.agenda-info p{margin:0;color:var(--muted);font-size:12px}.agenda-info small{display:block;color:var(--muted);margin-top:5px}.calendar-source{font-size:10px;color:#b8cfc4;border:1px solid var(--line);padding:5px 7px;border-radius:999px}.agenda-empty{padding:22px;color:var(--muted);text-align:center}.agenda-past{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:15px 18px}.agenda-past summary{cursor:pointer;color:var(--muted);font-weight:700}.agenda-past[open] summary{margin-bottom:14px}
@media(max-width:650px){.agenda-toolbar{align-items:stretch;flex-direction:column}.agenda-stats{display:grid;grid-template-columns:repeat(3,1fr)}.agenda-stats>div{min-width:0;padding:10px}.agenda-event{grid-template-columns:48px 1fr}.calendar-source{display:none}.agenda-section{padding:15px}.agenda-heading h2{font-size:18px}}

.agenda-actions,.event-actions{display:flex;gap:7px}.event-actions{justify-content:flex-end}
@media(max-width:650px){.agenda-actions{display:grid;grid-template-columns:1fr 1fr}.agenda-actions .action{font-size:11px;padding:9px 7px}.event-actions{grid-column:2;justify-content:flex-start;margin-top:4px}}

.admin-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}.admin-form label{margin:0}.admin-form .action{height:43px}.admin-users{margin-top:14px}.admin-users small{color:var(--muted);font-size:10px}@media(max-width:800px){.admin-form{grid-template-columns:1fr}.admin-form .action{width:100%}}
/* IVIS Intelligence V4 */
:root{--bg:#080a10;--panel:#10131b;--panel2:#171b25;--line:#262c39;--text:#f5f7fb;--muted:#929bad;--gold:#d9b85b;--green:#42cf8e;--red:#ff667f;--accent:#8b7cf6}
body{background:radial-gradient(circle at 80% 0,#17152b 0,#080a10 38%);color:var(--text)}
aside{background:#0b0e15f2}.card,.panel{background:linear-gradient(145deg,#11151e,#0d1017);border-color:var(--line)}.nav.on,.nav:hover{background:#191d29}.action{background:#171c27}.action:hover{background:#202636}.action.primary,.login-card button{background:var(--accent);border-color:var(--accent);color:white}.eyebrow,.textbtn{color:#c9b76d}
.intelligence{background:linear-gradient(145deg,#17142a,#10131b);border-color:#3a345d}.insight-copy{font-size:16px;line-height:1.75;color:#dce0e9;margin:4px 0}.budget-panel{margin-top:14px}.budget-list{display:grid;gap:18px}.budget-row{padding:14px 0;border-top:1px solid var(--line)}.budget-row:first-child{border-top:0}.budget-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.budget-head span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.progress{height:9px;background:#242936;border-radius:99px;overflow:hidden;margin:10px 0 7px}.progress i{height:100%;display:block;background:var(--accent);border-radius:99px}.progress i.warn{background:#e1ad4c}.progress i.over{background:var(--red)}.budget-row small,.budget-summary small{color:var(--muted)}.budget-summary strong{font-size:32px;display:block}.budget-summary span{display:block;color:var(--muted);margin-top:4px}.budget-add{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.budget-chip{background:#171c27;cursor:pointer;margin:4px 3px;border-color:#303748}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare>div{padding:16px;border:1px solid var(--line);border-radius:13px}.compare span{display:block;color:var(--muted);font-size:12px}.compare b{display:block;font-size:20px;margin-top:8px}
@media(max-width:650px){body{background:#080a10}aside{background:#0b0e15f7}nav{grid-template-columns:repeat(5,1fr);overflow-x:auto}.nav{min-width:54px}.nav.on{background:#191d29;color:#c9b76d}.grid4{grid-template-columns:1fr 1fr}.intelligence{order:-1}.insight-copy{font-size:14px;line-height:1.65}.budget-summary strong{font-size:26px}.compare{grid-template-columns:1fr}.budget-head{align-items:flex-start}}


/* V4 completion: compact responsive dashboard */
input,select,textarea{background:#0c1018!important;color:var(--text)}.nav{color:#aab2c5}.eyebrow,.textbtn{color:#b7a7fb}.hero-card{border-color:#514572;background:linear-gradient(140deg,#211d35,#11151e)}.hero-card strong{color:#d4c5ff}.ranking-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.ranking-row small{display:block;color:var(--muted);margin-top:4px}.rank-num{color:#a899d9}.ranking-row .progress{height:5px}.home-grid{margin-top:16px}.panel h2{font-size:19px}.global-search{position:relative;margin-bottom:20px;max-width:620px}.global-search input{margin:0}.global-search #globalResults{position:absolute;z-index:10;top:48px;width:100%;box-shadow:0 16px 40px #0008}.search-hit{display:block;width:100%;text-align:left;padding:12px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer}.search-hit small{display:block;color:var(--muted)}.periods{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.periods input{width:145px;margin:0;padding:8px}.card strong{font-size:clamp(21px,2.3vw,32px)}.chartbox.smart{height:245px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-mark{background:linear-gradient(135deg,#c5b5ff,#8771d4);color:#11101d}.login-card{background:#10131b}.today-strip{background:#11151e}.admin-form{grid-template-columns:1fr 1fr 1fr auto}button:focus-visible,input:focus-visible{outline:2px solid #b7a7fb;outline-offset:3px}
@media(max-width:1050px){main{padding:24px}.app{grid-template-columns:215px 1fr}header{align-items:flex-start;flex-direction:column}.admin-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.app{display:block}main{padding:20px 16px 108px}header h1{font-size:27px}.periods{width:100%}.grid4{gap:10px}.card{padding:15px}.card strong{font-size:22px}.home-grid{grid-template-columns:1fr}.panel{padding:18px}.ranking-row strong{font-size:13px}aside{position:fixed;top:auto;bottom:0;height:auto;width:100%;padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:20;background:#0b0e15f7}.logo,.account{display:none}aside nav{display:flex;overflow-x:auto;gap:4px;scrollbar-width:none}.nav{display:flex!important;flex-direction:column;align-items:center;min-width:68px;flex:0 0 auto;font-size:17px;padding:8px 6px;text-align:center}.nav.hide{display:none!important}.nav span{display:block!important;margin:4px 0 0;font-size:10px}.chartbox.smart{height:210px}.admin-form{grid-template-columns:1fr}.tablewrap{overflow:auto}.global-search{margin-bottom:16px}}

 .mobile-nav{display:none}
@media(max-width:650px){aside{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px 4px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0b0e15f7;overflow:visible}.mobile-nav .nav,.mobile-nav button,.mobile-nav a{min-width:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:10px;background:transparent;color:#aab2c5;text-decoration:none;font-size:20px;padding:8px 2px;cursor:pointer}.mobile-nav span{font-size:11px;margin:0!important}.mobile-nav .nav.on{background:#211d35;color:#d4c5ff}main{padding-bottom:108px}}

/* Dashboard: compact navigation and accessible period controls */
.global-search{width:min(100%,760px);max-width:760px;margin:0 auto 26px}
.grid4+.intelligence{margin-top:20px}
header{flex-wrap:wrap;align-items:center;gap:18px}
.periods{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border-radius:14px;max-width:100%;white-space:normal}
.month-filter{margin:0;display:flex;align-items:center;gap:8px;padding:0 6px}
.month-filter>span{font-size:11px;color:var(--muted)}
.month-filter select{width:190px;min-height:40px;padding:8px 30px 8px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;color-scheme:dark}
.period-shortcuts{display:flex;gap:3px;flex-wrap:wrap}
.period-shortcuts button{min-height:40px;padding:8px 11px;cursor:pointer}
.period-shortcuts button.on{background:#302743;color:#e2d7ff}
@media(min-width:651px){
.app{grid-template-columns:224px minmax(0,1fr)}
aside{height:100dvh;overflow:hidden;padding:20px 14px;gap:12px}
.logo{margin:0 4px 12px;flex-shrink:0}.logo b{font-size:18px}.logo .brand-mark{width:42px;height:42px;flex-shrink:0}
aside nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#504863 transparent;padding-right:4px}
aside .nav{display:flex;align-items:center;gap:11px;min-height:42px;flex-shrink:0;padding:10px 12px;font-size:14px;border:1px solid transparent;border-radius:10px;transition:background .15s,color .15s}
aside .nav span{margin:0}aside .nav.on{background:#251e35;border-color:#45385e;color:#e0d1ff}aside .nav:hover{background:#1d1928;color:white}
.nav-icon{width:20px;height:20px;flex:0 0 20px}
.account{flex-shrink:0;margin-top:0;padding-top:12px;overflow-wrap:anywhere}.account #logout{margin-top:8px;padding:9px}
}
@media(min-width:651px) and (max-width:1000px){.app{grid-template-columns:78px minmax(0,1fr)}aside{padding:16px 10px}aside .nav{justify-content:center;padding:10px}.logo{margin:0 0 12px}}
@media(max-width:650px){.periods{width:100%;align-items:stretch;gap:8px}.month-filter{width:100%;padding:0}.month-filter select{flex:1;min-width:0;width:auto}.period-shortcuts{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.period-shortcuts button{min-width:0;padding:8px 3px;font-size:11px}.global-search{margin-bottom:20px}.grid4+.intelligence{margin-top:16px}}
.global-search input{text-align:center}
.global-search input::placeholder{text-align:center}

/* Mobile header and complete scrolling navigation */
.dashboard-top{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search search" "heading periods";gap:20px 18px;margin-bottom:24px}
.dashboard-top .global-search{grid-area:search;margin:0 auto}
.dashboard-top .dashboard-header{grid-area:heading;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;margin:0;gap:12px;min-width:0}
.dashboard-top>.periods{grid-area:periods;align-self:start}
.page-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}
.heading-copy{min-width:0}.heading-copy h1{margin:7px 0 5px;line-height:1.15}.heading-copy p{line-height:1.45}
.header-brand{width:40px;height:40px;flex:0 0 40px;margin-top:1px}
.whatsapp-link{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:42px;padding:9px 10px;border:1px solid #2a5846;border-radius:12px;background:#10251e;color:#64dfa4;text-decoration:none;font-size:12px;font-weight:700}
.whatsapp-link svg{width:22px;height:22px}.whatsapp-link:hover{background:#193b2b}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.login-brand .brand-mark{flex:0 0 45px}.login-brand .eyebrow{line-height:1.55;min-width:0}
#loginBtn{margin-top:16px;min-height:44px;cursor:pointer}
.whatsapp-link:focus-visible,.mobile-nav button:focus-visible{outline:2px solid #b7a7fb;outline-offset:-3px}
@media(min-width:651px) and (max-width:1150px){.dashboard-top{grid-template-columns:1fr;grid-template-areas:"search" "heading" "periods"}}
@media(max-width:650px){
 .dashboard-top{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "search" "periods";gap:18px;margin-bottom:20px}
 .dashboard-top .dashboard-header{width:100%;align-items:flex-start;min-height:88px;gap:10px}
 .page-heading{gap:10px}.header-brand{width:34px;height:34px;flex-basis:34px;font-size:19px;border-radius:10px}
 .heading-copy .eyebrow{font-size:10px;letter-spacing:1.3px}.heading-copy h1{font-size:26px;margin:6px 0;line-height:1.15}.heading-copy p{font-size:12px;line-height:1.45}
 .page-heading{flex:1}.whatsapp-link{width:40px;min-height:40px;padding:8px;margin-left:auto;align-self:flex-start}.whatsapp-link span{display:none}
 .login-brand{gap:12px;margin-bottom:22px}.login-brand .eyebrow{font-size:11px;letter-spacing:1.2px}#loginBtn{margin-top:20px}
 .dashboard-top .global-search{width:100%;margin:0}.global-search input{min-height:44px;font-size:12px;padding:12px 8px}
 .mobile-nav{display:flex;align-items:stretch;gap:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#796baf #171b25;padding:7px 8px calc(10px + env(safe-area-inset-bottom));scroll-padding-inline:8px}
 .mobile-nav::-webkit-scrollbar{height:5px}.mobile-nav::-webkit-scrollbar-track{background:#171b25}.mobile-nav::-webkit-scrollbar-thumb{background:#796baf;border-radius:8px}
 .mobile-nav .nav,.mobile-nav .mobile-logout{flex:0 0 78px;min-width:78px;min-height:59px;padding:7px 4px;gap:6px;font-size:12px}
 .mobile-nav .nav.hide{display:none!important}
 .mobile-nav .nav-icon{width:22px;height:22px;flex:0 0 22px}.mobile-nav .nav::first-letter{font-size:inherit}.mobile-nav span{display:block;font-size:10px;line-height:1.2;margin:0!important}
 main{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
}

/* IVIS approved identity — shared vectors across login, dashboard and onboarding. */
:root{--accent:#8B7CF6;--green:#42CF8E}
.brand-mark{display:block;object-fit:contain;background:transparent;border-radius:0;color:inherit}
.login-brand .brand-mark{width:78px;height:72px;flex:0 0 78px}
.login-wordmark{line-height:1;margin:8px 0 10px!important}.ivis-wordmark{display:block;width:170px;height:auto;max-width:100%}
.sidebar-wordmark{display:block;width:91px;height:auto;max-width:100%}.logo b{display:block}
.header-brand{object-fit:contain;width:76px;height:72px;flex:0 0 76px;margin-top:0}.logo .brand-mark{width:58px;height:54px;flex:0 0 58px}.login-card>.brand-mark{width:78px;height:72px;margin-bottom:14px}
@media(max-width:650px){.login-brand{gap:12px}.login-brand .brand-mark{width:70px;height:64px;flex-basis:70px}.ivis-wordmark{width:155px}.header-brand{width:64px;height:62px;flex-basis:64px}}

@media(min-width:651px) and (max-width:1000px){.logo .brand-mark{width:48px;height:46px;flex-basis:48px}}
@media(max-width:360px){.header-brand{width:56px;height:54px;flex-basis:56px}.page-heading{gap:8px}}

/* Center only the login identity; form controls retain their layout. */
#loginForm{--login-wordmark-width:170px}
#loginForm .login-brand{justify-content:center;margin-bottom:4px}
#loginForm .login-brand .eyebrow{text-align:center}
#loginForm .login-wordmark{text-align:center;margin:0 0 8px!important}
#loginForm .ivis-wordmark{width:var(--login-wordmark-width);margin-inline:auto}
#loginForm .login-product-title{width:var(--login-wordmark-width);max-width:100%;line-height:1;text-align:center;color:var(--text);margin:6px auto 14px}
#loginForm .login-product-title svg{display:block;width:100%;height:auto}
@media(max-width:650px){#loginForm{--login-wordmark-width:155px}}
#loginForm .login-description{text-align:center;line-height:1.5}
@media(max-width:360px){#loginForm .login-brand{gap:8px}#loginForm .login-brand .eyebrow{font-size:10px;letter-spacing:.7px}}

.admin-notifications{display:grid;gap:12px;margin:0 0 22px}.admin-notice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid #63519a;border-radius:14px;background:#201b32}.admin-notice p{margin:6px 0;color:var(--text)}.admin-notice small{color:var(--muted)}.admin-notice .action{flex-shrink:0}@media(max-width:650px){.admin-notice{align-items:flex-start;flex-direction:column}.admin-notice .action{width:100%}}

.invite-channel-note{grid-column:1/-1;line-height:1.5;color:var(--muted)}

.session-loading-card{text-align:center}.session-loading-card .brand-mark{margin:0 auto 20px}.session-loading-card p{color:var(--muted,#9ca3af)}
