*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#182d43;font:15px/1.5 'Segoe UI',sans-serif}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#102538;color:white;padding:34px 23px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:800;letter-spacing:1px}.brand span{color:#49d6df}.brand small{display:block;font-size:12px;letter-spacing:2px;color:#a9bfce;margin-top:8px}nav{display:grid;gap:9px;margin-top:48px}button,a{touch-action:manipulation}button{background:#066b79;border:0;color:white;padding:12px 18px;border-radius:8px;font-weight:600;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}nav button{text-align:left;background:transparent;color:#bbcbd8;font-size:15px}nav button.active{background:#204459;color:#65e6e5}.backup{margin-top:auto;color:#c3d9e6;text-decoration:none;padding:20px 0}.local{font-size:12px;color:#8eacbd}main{margin-left:240px;padding:40px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h1{font-size:32px;margin:3px 0}h2{font-size:22px}.eyebrow{font-size:12px;letter-spacing:2px;color:#536879;font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.panel{background:white;border:1px solid #e0e7ee;border-radius:14px;padding:26px;margin-bottom:22px}.card strong{display:block;font-size:35px;margin:8px 0}.muted{color:#536879}.hero{background:#102e43;color:white;padding:32px;border-radius:16px;margin-bottom:24px}.hero p{color:#c0d8e5;max-width:650px}.hero h2{font-size:26px;margin-top:0}.tablewrap{overflow:auto;border-radius:12px;border:1px solid #e0e7ee}table{border-collapse:collapse;width:100%;background:white;text-align:left}th{background:#eaf0f5;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#4e6275}th,td{padding:17px;border-bottom:1px solid #e7edf2}td small{display:block;color:#536879}.actions{display:flex;gap:6px;flex-wrap:wrap}.secondary,.actions button{background:#eaf1f5;color:#21475e}.actions button{padding:8px 10px;font-size:12px}.badge{background:#e0f3ef;color:#237760;border-radius:20px;padding:5px 10px;font-size:12px}.search{max-width:480px;margin-bottom:20px}input,select,textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid #c9d6e0;border-radius:7px;color:#183147;background:white}input:focus,select:focus,textarea:focus{outline:2px solid #36bfcb;outline-offset:1px}label{display:block;font-size:12px;color:#546d81;font-weight:600}label input,label select,label textarea{margin-top:6px}textarea{min-height:85px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.wide{grid-column:1/-1}dialog{border:0;border-radius:16px;padding:28px;width:min(1100px,95vw);max-height:93vh;color:#182d43}dialog::backdrop{background:#092033a6}.modalhead{display:flex;align-items:center;justify-content:space-between;gap:20px}.line{padding:20px;border:1px solid #d7e3eb;border-radius:12px;margin-top:15px;background:#f7fafc}.linehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.line .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.addrow{display:flex;gap:10px;margin:20px 0}.addrow select{flex:1}.total{text-align:right;font-size:22px;font-weight:700;margin:20px 0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.danger{background:#f7e8e8;color:#a24040}footer{padding-top:20px;display:flex;justify-content:flex-end}#error{color:#ae3030}#toast{position:fixed;bottom:24px;right:24px;background:#143e4f;color:white;border-radius:10px;padding:15px 22px;display:none;z-index:20}.empty{text-align:center;padding:55px;color:#72879b}.history{margin-top:25px}.history a{color:#066b79;margin-right:18px}a{color:#066b79}.note{padding:15px;background:#eaf4f7;border-radius:9px;font-size:13px}.nowrap{white-space:nowrap}@media(max-width:900px){aside{position:static;width:auto;padding:20px}nav{display:flex;flex-wrap:wrap;margin-top:20px;gap:3px}.backup{margin-top:10px;padding:5px 0}.local{display:none}main{margin:0;padding:22px}.cards{grid-template-columns:1fr}.card{margin-bottom:0}.grid,.line .grid{grid-template-columns:1fr}.addrow{flex-wrap:wrap}header{gap:15px}h1{font-size:26px}}

.housegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:15px 0}.roomcard{border:2px solid #35afe0;background:#f2fbfd;border-radius:8px;padding:15px}.roomcard h4{margin:0 0 12px}.roomcard ul{padding-left:20px;margin:6px 0 14px}

.picker{position:relative;flex:1;min-width:0}.clientrow{display:flex;gap:8px;margin-top:6px}.pickresults{position:absolute;top:100%;left:0;right:0;z-index:12;max-height:260px;overflow:auto;background:white;border:1px solid #b9cdd8;box-shadow:0 8px 22px #16364c22;border-radius:8px}.pickresults button{display:block;width:100%;text-align:left;border-radius:0;background:white;color:#183147;border-bottom:1px solid #e5edf2}.pickresults button:hover,.pickresults button:focus{background:#e5f5fa}.pickresults small{display:block;color:#627c8c;font-weight:400}.pickresults p{padding:12px}.linehead{justify-content:flex-end}#clientdialog{max-width:700px}#clientform footer{gap:10px}#clienterror{color:#ae3030}

#descriptiondialog{max-width:800px}#descriptiondialog footer{gap:10px}#descriptionpreview{min-height:300px;line-height:1.6}

.coverpanel{padding:18px;background:#f5f9fc;border:1px solid #dae5ee;border-radius:12px;margin:10px 0 24px}.coverpanel summary{cursor:pointer;font-weight:600}.covergallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.covergallery button{padding:7px;background:white;color:#16394e;border:2px solid transparent}.covergallery button[aria-pressed=true]{border-color:#0b99b0;background:#e1f5f8}.covergallery img{display:block;width:100%;height:auto;border-radius:4px;margin-bottom:6px}.covergallery span{font-size:12px}.covercurrent{display:flex;align-items:center;gap:20px;margin-top:18px}.covercurrent img{width:110px;border-radius:5px}.covercurrent p{max-width:400px}.coverpanel[open] summary{margin-bottom:16px}@media(max-width:700px){.covergallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

aside{overflow-y:auto}nav{margin-top:25px;gap:4px}nav button{padding:9px 13px}.finance-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.finance-cards .card{padding:20px}.finance-cards strong{font-size:clamp(19px,2vw,30px);overflow-wrap:anywhere}.finance-filter{display:flex;gap:14px;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap}.finance-filter label{min-width:160px;flex:1}.finance-filter button{margin-bottom:1px}.finance-quick{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.finance-panels{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.finance-panels .panel{min-width:0;margin:0}.finance-panels{margin-bottom:22px}.finance-panels h2{font-size:19px}.chartscroll{overflow:auto}.chartscroll svg{width:100%;min-width:450px}.chartlegend{display:flex;gap:20px;font-size:12px}.chartlegend span:first-child{color:#007570}.chartlegend span:last-child{color:#a3532f}.categorybar{margin:19px 0}.categorybar div{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}.categorybar svg{width:100%;height:10px;display:block}.balance-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e1e9ef}.positive{color:#167367}.negative{color:#af4635}.company-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-data dt{font-size:12px;color:#627b8d}.company-data dd{margin:4px 0;font-weight:600;overflow-wrap:anywhere}.voided{opacity:.65}.buttonlink{display:inline-block;background:#eaf1f5;padding:10px 14px;border-radius:8px;text-decoration:none}#finance-error{color:#ae3030}#finance-dialog{max-width:800px}#finance-detail .finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#finance-detail h2{margin-right:20px}#finance-detail td{font-size:13px;padding:12px}@media(max-width:1100px){.finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-panels{grid-template-columns:1fr}}@media(max-width:600px){.finance-cards,.company-data,#finance-detail .finance-cards{grid-template-columns:1fr}.finance-filter{display:grid;grid-template-columns:1fr 1fr}.finance-quick button{flex:1}.chartscroll svg{min-width:450px}}

/* Mobile navigation, touch controls and stacked records. */
#mobile-menu{display:none}.task-filters{display:flex;gap:16px;margin:20px 0;flex-wrap:wrap}.task-filters label{flex:1;min-width:200px}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.task-card{margin:0;min-width:0;overflow-wrap:anywhere}.task-card h2{margin:14px 0 8px}.task-card .actions{margin-top:20px}.task-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.task-description{white-space:pre-wrap}.task-card p{color:#546d81}
@media(max-width:900px){
 aside{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px 20px;gap:12px}
 #mobile-menu{display:block;min-height:44px;background:#204459}
 aside nav,aside .backup{display:none}aside.menu-open nav{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;margin:0;gap:6px}aside.menu-open .backup{display:block;grid-column:1/-1;margin:0}
 nav button{min-height:44px}main{padding:20px;max-width:100%;min-width:0}header{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}
 .task-grid{grid-template-columns:1fr}dialog{padding:20px;max-height:94dvh;overflow:auto}.modalhead{gap:10px}.modalhead h2{font-size:20px;overflow-wrap:anywhere}.modalhead button{flex-shrink:0}
 input,select,textarea{font-size:16px;min-width:0;max-width:100%}button,.buttonlink{min-height:44px}.actions button{font-size:14px}.grid>*{min-width:0}.clientrow{flex-wrap:wrap}.clientrow .picker{flex-basis:200px}.line{padding:14px}.covercurrent{gap:12px}.covercurrent img{width:80px}.covercurrent p{min-width:0;overflow-wrap:anywhere}.housegrid{grid-template-columns:minmax(0,1fr)}
 .tablewrap{border:0;overflow:visible}.mobile-cards{display:block;background:transparent}.mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mobile-cards tbody{display:grid;gap:16px}.mobile-cards tr{display:block;background:white;border:1px solid #dae5ee;border-radius:12px;overflow:hidden}.mobile-cards td{display:block;padding:12px 16px;border-bottom:1px solid #eef2f5;white-space:normal;overflow-wrap:anywhere}.mobile-cards td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#627b8d;margin-bottom:5px;letter-spacing:.5px}.mobile-cards td:last-child{border:0}.mobile-cards .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-cards .actions>*{min-width:0}
 .panel{padding:20px}.chartscroll svg{min-width:0}.chartlegend{flex-wrap:wrap;gap:12px}.finance-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter label{min-width:0}.finance-filter button{align-self:end}.finance-quick button{flex-basis:140px}.categorybar div,.balance-row{flex-wrap:wrap}.company-data{grid-template-columns:1fr}#toast{left:16px;right:16px;bottom:16px;max-height:35dvh;overflow:auto}
}
@media(max-width:400px){main{padding:14px}aside{padding:14px}.brand{font-size:21px}.brand small{font-size:8px}.finance-filter{grid-template-columns:1fr}.task-filters label{min-width:0;flex-basis:100%}dialog{padding:14px}.covercurrent{align-items:flex-start}.addrow .picker{flex-basis:100%}.total{font-size:20px}footer{flex-wrap:wrap;gap:10px}}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-panel{margin:0;padding:28px;width:min(460px,100%);background:white;border-radius:16px}.login-panel label{margin-top:18px}.login-panel button{width:100%;margin-top:12px}#login-error{color:#ae3030}
@media(max-width:900px){aside #logout{display:none}aside.menu-open #logout{display:block;grid-column:1/-1}}

/* Theme preference applies to dynamically created forms and mobile cards too. */
#theme-toggle{min-height:44px;margin-top:18px;white-space:nowrap}aside #theme-toggle{background:#204459;color:#dcf6fa;text-align:left}.login-panel #theme-toggle{margin-top:22px}
html[data-theme=dark]{color-scheme:dark}
html[data-theme=dark] body{background:#0c1521;color:#e2edf7}
html[data-theme=dark] :is(.card,.panel,dialog,.login-panel,table,.pickresults,.pickresults button,.covergallery button){background:#162333;color:#e2edf7;border-color:#35485c}
html[data-theme=dark] :is(input,select,textarea){background:#101c2a;color:#edf5fc;border-color:#526579}
html[data-theme=dark] :is(.line,.coverpanel,.roomcard,.note){background:#1b3042;color:#e2edf7;border-color:#35546b}
html[data-theme=dark] :is(th,.secondary,.actions button,.buttonlink){background:#263b50;color:#d7eaf7}
html[data-theme=dark] :is(td,th,.tablewrap,.balance-row,.pickresults button){border-color:#35485c}
html[data-theme=dark] :is(label,.muted,.eyebrow,td small,.empty,.pickresults small,.company-data dt,.task-card p,.mobile-cards td::before){color:#b2c5d8}
html[data-theme=dark] :is(a,.history a){color:#6cdce2}
html[data-theme=dark] .badge{background:#173f39;color:#95e2c6}
html[data-theme=dark] :is(.positive,.chartlegend span:first-child){color:#6ed9c4}
html[data-theme=dark] :is(.negative,.chartlegend span:last-child){color:#ffb29d}
html[data-theme=dark] .danger{background:#512e35;color:#ffcbc8}
html[data-theme=dark] :is(#error,#clienterror,#finance-error,#login-error){color:#ffb4b4}
html[data-theme=dark] :is(.pickresults button:hover,.pickresults button:focus,.covergallery button[aria-pressed=true]){background:#244d61;color:#e8ffff}
html[data-theme=dark] .chartscroll svg text{fill:#b2c5d8}
html[data-theme=dark] .chartscroll svg line{stroke:#35485c}
@media(max-width:900px){aside #theme-toggle{grid-column:1/-1;margin:0;justify-self:start}html[data-theme=dark] .mobile-cards{background:transparent}html[data-theme=dark] .mobile-cards tr{background:#162333;border-color:#35485c}}
[hidden]{display:none!important}#team-manage{margin-top:14px}#team-dialog{max-width:660px}#team-form label{margin:16px 0}#team-error{color:#ae3030}html[data-theme=dark] #team-error{color:#ffb4b4}@media(max-width:900px){aside #team-manage{display:none}aside.menu-open #team-manage{display:block;grid-column:1/-1}}

/* Compact financial overview and touch navigation. */
.period-control{margin-bottom:20px}.period-tabs{display:flex;gap:6px;padding:5px;background:#e5edf3;border-radius:12px;width:fit-content}.period-tabs button{background:transparent;color:#526d80;padding:9px 16px;min-height:44px}.period-tabs button[aria-pressed=true]{background:#fff;color:#086b79;box-shadow:0 2px 6px #10253812}#period-custom summary{padding:12px 0;cursor:pointer;color:#4f6676;font-size:13px;overflow-wrap:anywhere}#period-custom .finance-filter{padding:16px;background:#eaf1f5;border-radius:12px;margin:0}.balance-hero{padding:25px 28px;border-radius:20px;background:linear-gradient(120deg,#123d50,#087d87);color:#fff;margin-bottom:16px;box-shadow:0 8px 24px #10253812}.balance-hero>span{font-size:14px;color:#bcebf0}.balance-hero strong{display:block;font-size:clamp(25px,4vw,38px);letter-spacing:-1px;margin:5px 0;overflow-wrap:anywhere}.balance-hero small{color:#c1e6eb;font-size:12px}.overview-metrics .card{margin:0;padding:18px;border-radius:14px}.overview-metrics strong{font-size:clamp(19px,2vw,28px);letter-spacing:-.5px}.overview-metrics small{color:#536879}.dashboard-actions{margin:16px 0 24px}.dashboard-actions button{flex:1;min-height:46px}.attention-panel{padding:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{margin:0;font-size:18px}.attention-row{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:inherit;border-bottom:1px solid #dce7ed;border-radius:0;padding:16px 0;text-align:left;font-weight:400}.attention-row b{color:#066b79}.compact-empty{padding:8px 0;margin:8px 0 0;font-size:13px}.dashboard-folds{grid-template-columns:1fr 1fr;align-items:start;gap:12px}.dashboard-detail{padding:0!important;overflow:hidden}.dashboard-detail>summary{padding:20px;font-weight:600;cursor:pointer;font-size:15px}.detail-body{padding:0 20px 20px}.detail-body .empty{padding:12px 0;margin:0;text-align:left;font-size:13px}.detail-body p{font-size:13px}.detail-body .chartlegend{font-size:12px}#bottom-nav{display:none}
html[data-theme=dark] .period-tabs,html[data-theme=dark] #period-custom .finance-filter{background:#162a3b}html[data-theme=dark] .period-tabs button{color:#b2c5d8}html[data-theme=dark] .period-tabs button[aria-pressed=true]{background:#285066;color:#96eef0}html[data-theme=dark] #period-custom summary,html[data-theme=dark] .overview-metrics small{color:#9db5c8}html[data-theme=dark] .attention-row{border-color:#35485c}html[data-theme=dark] .attention-row b{color:#6cdce2}
@media(max-width:900px){
 body:not(.login-page){padding-bottom:calc(82px + env(safe-area-inset-bottom))}aside{grid-template-columns:minmax(0,1fr) auto auto;padding:14px 16px;gap:8px}aside .brand{grid-column:1;grid-row:1;font-size:21px;letter-spacing:0}aside .brand small{display:none}aside #theme-toggle{grid-column:2;grid-row:1;margin:0;font-size:0;width:44px;padding:10px;text-align:center}aside #theme-toggle::after{content:'☾';font-size:22px}html[data-theme=dark] aside #theme-toggle::after{content:'☀'}aside #mobile-menu{grid-column:3;grid-row:1;font-size:0;width:44px;padding:10px}aside #mobile-menu::after{content:'☰';font-size:21px}aside.menu-open nav{grid-column:1/-1;max-height:50dvh;overflow:auto}main{padding:22px 16px}header{margin-bottom:16px;align-items:center}header .eyebrow{display:none}h1{font-size:25px;letter-spacing:-.5px}.period-control{margin-bottom:12px}.period-tabs{width:100%;gap:2px}.period-tabs button{flex:1;font-size:13px;padding:9px 6px}#period-custom summary{font-size:12px;line-height:1.5}#period-custom .finance-filter{grid-template-columns:minmax(0,1fr);gap:12px}input[type=date]{display:block;appearance:none;-webkit-appearance:none;min-width:0;width:100%;max-width:100%}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.balance-hero{padding:20px;border-radius:17px}.balance-hero strong{font-size:30px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-metrics .card{padding:14px 12px}.overview-metrics .muted{font-size:12px}.overview-metrics strong{font-size:clamp(17px,4.5vw,24px);margin:6px 0;line-height:1.25}.overview-metrics small{font-size:12px}.dashboard-actions{gap:7px;margin:14px 0 18px;flex-wrap:nowrap}.dashboard-actions button{font-size:12px;padding:10px 5px;flex-basis:0}.attention-panel{padding:16px;margin-bottom:16px}.dashboard-folds{grid-template-columns:1fr;gap:10px}.dashboard-detail>summary{padding:17px 16px;font-size:14px}.detail-body{padding:0 16px 16px}.finance-panels h2{font-size:18px}.empty{padding:24px 12px}.balance-row{font-size:13px}.balance-row span{flex:1;min-width:0;overflow-wrap:anywhere}.balance-row b{white-space:nowrap}#bottom-nav{position:fixed;display:flex;z-index:15;bottom:0;left:0;right:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce6ee;box-shadow:0 -4px 20px #1025380a;gap:3px}#bottom-nav button{flex:1;min-width:0;background:transparent;color:#64798b;padding:5px 2px;min-height:50px;font-size:12px;font-weight:600;border-radius:11px;display:grid;gap:3px;place-content:center;text-align:center}#bottom-nav button span{font-size:20px;line-height:22px}#bottom-nav button[aria-current=page]{background:#e2f3f5;color:#006b7a}html[data-theme=dark] #bottom-nav{background:#112234;border-color:#2a4156}html[data-theme=dark] #bottom-nav button{color:#9db5c8}html[data-theme=dark] #bottom-nav button[aria-current=page]{background:#20495c;color:#7ee2e6}#toast{bottom:calc(85px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){.overview-metrics{grid-template-columns:1fr}.overview-metrics strong{font-size:23px}.balance-hero strong{font-size:26px}}

.home-group{border-left:3px solid #12aabb}.home-group .roomcard{margin:12px 0}.home-group summary{font-weight:600;cursor:pointer}#digital-home>summary{padding:16px;background:var(--panel);border:1px solid #2998ad;border-radius:12px;cursor:pointer;font-weight:700}.news-entry{padding:16px 0;border-bottom:1px solid #7893a544}.news-entry h3{margin:8px 0}.audit-label{display:block;margin-top:8px;font-size:12px;line-height:1.5}

#editor{padding:0;overflow:hidden}#editor #form{display:flex;flex-direction:column;max-height:93dvh}#editor .modalhead{flex-shrink:0;padding:14px 20px;border-bottom:1px solid #8495a333;background:inherit;z-index:2}#editor .modalhead h2{margin:0}#editor #fields{overflow-y:auto;min-height:0;padding:20px;overscroll-behavior:contain}#editor #form>footer{flex-shrink:0;padding:12px 20px;border-top:1px solid #8495a333}#editor #error{flex-shrink:0;margin:0;padding:0 20px}#close{font-size:28px;line-height:1;width:44px;height:44px;padding:6px}.installed-app-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #7893a555;border-radius:20px;padding:4px 8px 4px 14px;margin:0 8px 10px 0}.installed-app-chip button{padding:2px 10px;font-size:22px}#delivery-choice-dialog{max-width:540px}#delivery-choice-dialog label{margin:14px 0}

/* Original brand asset, with the same home action on mobile and desktop. */
.brand.brand-home{display:block;text-decoration:none;text-align:left;background:#102538;border:0;border-radius:10px;padding:8px 10px;color:#fff;cursor:pointer;max-width:100%;box-shadow:none}.brand-home img{display:block;width:170px;max-width:100%;height:auto}.brand.brand-home small{display:block;font-size:12px;letter-spacing:1.4px;margin-top:4px;color:#a9bfce;white-space:nowrap}.brand-home:focus-visible{outline:3px solid #35afe0;outline-offset:3px}.login-panel .brand-home{width:220px;margin-bottom:20px;padding:12px 18px}.login-panel .brand-home img{width:184px}@media(max-width:760px){aside .brand.brand-home{padding:0;background:transparent;min-width:0}aside .brand-home img{width:112px}aside .brand.brand-home small{display:block;font-size:7px;letter-spacing:.8px;margin-top:2px}}

.brand.brand-home{text-align:center}.brand-home img{margin-inline:auto}
#fixed-dialog{padding:0;overflow:hidden;width:min(720px,96vw)}#fixed-form{display:flex;flex-direction:column;max-height:88dvh}#fixed-form .modalhead,#fixed-form footer{flex-shrink:0;padding:16px;background:inherit}#fixed-fields{overflow-y:auto;min-height:0;padding:20px}#fixed-error{margin:0;padding:0 20px;color:#e78b65}.balance-row small{display:block}

.fixed-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.fixed-metrics .card{min-height:0;padding:14px}.fixed-metrics strong{font-size:20px;overflow-wrap:anywhere}.fixed-metrics span{font-size:12px}@media(max-width:600px){.fixed-metrics{gap:6px}.fixed-metrics .card{padding:10px}.fixed-metrics strong{font-size:16px}}

#personnel-dialog{width:min(650px,96vw);max-height:90dvh;overflow:auto}#personnel-dialog .modalhead{position:sticky;top:-20px;background:inherit;z-index:2;padding:12px 0}#personnel-form label{margin-top:12px}#personnel-list .panel{padding:12px;margin:10px 0}

.camila{max-width:850px;margin:0 auto}.camila-intro{display:flex;gap:16px;align-items:center}.camila-intro h2{margin:0}.camila-intro p{margin:6px 0}.camila-avatar{display:grid;place-items:center;background:#066b79;color:white;border-radius:50%;width:52px;height:52px;font-size:25px;flex-shrink:0}.camila-shortcuts,.camila-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.camila-controls button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}.camila-controls button:last-child{flex:1}#camila-mic[aria-pressed=true]{background:#a33444;color:white}#camila-log{max-height:340px;overflow:auto}.camila-message{padding:14px 16px;background:#eaf4f7;border-radius:14px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.camila-message p{margin:8px 0 0}.camila-user{margin-left:26px;border:1px solid #69b9bd;background:transparent}.camila form>label{margin-top:16px}#camila-status{font-size:14px;min-height:20px}.camila small{display:block;line-height:1.5;color:#657c8f}.camila button:disabled{opacity:.55}.camila textarea{font-size:16px}html[data-theme=dark] .camila-message{background:#1b3342}html[data-theme=dark] .camila-user{background:transparent}@media(max-width:600px){.camila{padding:16px}.camila-shortcuts{gap:6px}.camila-shortcuts button{padding:10px;font-size:12px}.camila-controls{position:sticky;bottom:80px;padding:8px;border-radius:12px;background:var(--surface,#fff)}html[data-theme=dark] .camila-controls{background:#162433}}
#receipt-preview{display:block;max-width:100%;max-height:300px;object-fit:contain;margin:15px auto}#receipt-preview[hidden]{display:none}#receipt-dialog{max-width:680px}#business-list small{display:block;margin-top:10px}#business-dialog .modalhead{position:sticky;top:-28px;background:inherit;z-index:2}#business-dialog .modalhead button{min-width:44px;min-height:44px}

.inventory-card{padding:14px;border:1px solid var(--border,#38505d);border-radius:12px;margin:12px 0;overflow-wrap:anywhere}.inventory-dialog{width:min(760px,94vw);max-height:90dvh;overflow-y:auto}.inventory-dialog .modalhead{position:sticky;top:0;background:#fff;z-index:2}.inventory-dialog form{margin:16px 0}.inventory-dialog input,.inventory-dialog select{max-width:100%;box-sizing:border-box}.inventory-dialog .actions{flex-wrap:wrap}#supplier-smart{width:auto;margin-right:8px}#supplier-order label:has(#supplier-smart){display:flex;align-items:center;gap:8px}.supplier-line small{grid-column:1}.supplier-line b{grid-column:1}.supplier-line label{grid-column:2;grid-row:1 / span 2}.supplier-line button{grid-column:3;grid-row:1 / span 2}@media(max-width:600px){.supplier-line label{grid-column:1;grid-row:auto}.supplier-line button{grid-column:1;grid-row:auto}}

html[data-theme=dark] .inventory-dialog .modalhead{background:#162433}.inventory-dialog [data-error]{color:#c64a4a}.inventory-dialog .modalhead button{min-width:44px;min-height:44px}.inventory-dialog label{margin:10px 0}.inventory-dialog form{overflow-wrap:anywhere}

/* Annual customer profile */
.client-history{width:min(1050px,95vw);max-height:90dvh;padding:20px}.client-history .modalhead{position:sticky;top:-20px;z-index:2;background:var(--panel,#152535);padding:14px;margin:-20px -20px 16px}.client-history .modalhead h2{margin:4px 0}.profile-contact p{overflow-wrap:anywhere}.profile-filters{display:grid;grid-template-columns:140px 220px 1fr;gap:12px;margin:18px 0}.profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.profile-summary article{padding:12px;border:1px solid #55708055;border-radius:12px}.profile-summary strong,.profile-summary small{display:block}.profile-summary strong{margin-top:5px}.profile-record{border:1px solid #55708055;border-radius:14px;padding:16px;margin:12px 0}.profile-record header{display:flex;justify-content:space-between;gap:12px;align-items:start}.profile-record h3{margin:6px 0}.profile-record p{margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.profile-record .actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.profile-record .actions a{padding:9px}.client-history .muted{font-size:12px;opacity:.75}@media(max-width:600px){.client-history{padding:12px;width:96vw}.client-history .modalhead{top:-12px;margin:-12px -12px 12px}.profile-filters{grid-template-columns:1fr 1fr;gap:8px}.profile-filters label:last-child{grid-column:1/-1}.profile-summary{grid-template-columns:1fr 1fr}.profile-record{padding:12px}.profile-record header{padding:0}.profile-record .actions button{font-size:12px}.profile-contact .actions{display:flex;flex-wrap:wrap;gap:6px}}

.client-history .modalhead{background:white}html[data-theme=dark] .client-history .modalhead{background:#152535}.profile-record header{margin-bottom:8px}.profile-filters>*{min-width:0}

.work-overview{margin:22px 0}.work-overview>h2{margin-bottom:4px}.work-overview>p{margin-top:0;font-size:13px}.work-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:12px}.work-status-card{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid #d9e3ec;border-radius:18px;background:white;min-width:0}.work-ring{position:relative;flex:0 0 110px;width:110px}.work-ring svg{display:block;width:100%}.work-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.work-ring strong{font-size:27px;line-height:1.2}.work-ring small{font-size:12px}.work-status-content{flex:1;min-width:0}.work-status-content h3{margin:0;font-size:18px}.work-status-content>p{font-size:12px;margin:3px 0 10px;opacity:.7}.work-status-row{width:100%;display:flex;align-items:center;gap:8px;padding:7px 0;background:transparent;color:inherit;font-size:13px;text-align:left}.work-status-row>svg{width:12px;height:12px;flex-shrink:0}.work-status-row>b{margin-left:auto}.work-status-row:hover{background:#20bde510}.work-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #71839444}.work-result p{margin:4px 0}.work-result strong{overflow-wrap:anywhere}html[data-theme=dark] .work-status-card{background:#162737;border-color:#30475c}html[data-theme=dark] .work-status-row{background:transparent;color:#e2edf7}#work-status-dialog{max-width:850px}#work-status-dialog .modalhead{position:sticky;top:-28px;background:white;padding:16px 0}html[data-theme=dark] #work-status-dialog .modalhead{background:#162737}@media(max-width:1250px){.work-overview-grid{grid-template-columns:1fr}.work-status-card{gap:24px}.work-ring{flex-basis:120px}}@media(max-width:600px){.work-status-card{padding:14px;gap:14px}.work-ring{flex-basis:100px;width:100px}.work-status-content h3{font-size:16px}.work-status-row{font-size:13px;min-height:35px}.work-result{flex-wrap:wrap}.work-overview{margin-top:18px}.work-overview>h2{font-size:22px}}
.procurement-bar{display:flex;height:12px;gap:3px;overflow:hidden;border-radius:8px;background:var(--border,#263b4d);margin:14px 0}.procurement-bar .covered{background:#36b8a5}.procurement-bar .waiting{background:#e2b34b}.procurement-bar .missing{background:#e57967}.procurement-legend{display:flex;gap:12px 22px;flex-wrap:wrap;font-size:.9rem}.procurement-legend b{white-space:nowrap}.procurement-alert{color:#df806d}.procurement-summary .section-heading{gap:12px;flex-wrap:wrap}#procurement-needs>details{margin-bottom:22px}#procurement-needs input,#procurement-needs select{max-width:100%}@media(max-width:600px){.procurement-summary h2{font-size:1.05rem}.procurement-legend{gap:8px 14px}.procurement-summary .section-heading button{padding:8px 12px}.procurement-summary{padding:16px}#procurement-needs .inventory-card{padding:14px}}
.procurement-bar{display:block;width:100%;height:12px}
