:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#182b2c;background:#f3f6f5;font-synthesis:none;--forest:#113b3b;--green:#206c60;--muted:#728381;--line:#e0e9e6;--paper:#fff;--soft:#f3f7f5;--shadow:0 5px 22px rgba(17,59,59,.035)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{padding:0;margin:0;min-height:100dvh;padding-bottom:calc(70px + env(safe-area-inset-bottom));line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,textarea,select{color:#203839}input[type="checkbox"],input[type="radio"]{accent-color:var(--green);min-width:18px;min-height:18px}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.8px;font-weight:800}h2{font-size:19px;letter-spacing:-.45px}h3{font-size:16px;letter-spacing:-.2px}small,.tiny{font-size:12px}.subtle,.meta{color:var(--muted)}.intro{margin:-8px 0 15px;font-size:14px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#668a7d;margin-bottom:7px}.center{text-align:center}.hidden{display:none!important}.stack{display:flex;flex-direction:column;gap:14px}.topbar{height:68px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.top-inner{max-width:1020px;height:100%;margin:auto;padding:0 17px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:#163b38}.brand-logo,.login-emblem{width:36px;height:36px;border-radius:11px;background:#143e39;color:white;font-weight:900;font-size:24px;display:grid;place-items:center;letter-spacing:-2px}.brand strong{font-size:17px;letter-spacing:-.7px;display:block;line-height:1.03}.brand small{font-size:9px;font-weight:800;letter-spacing:2px;color:#7c9490}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px;position:relative;border:1px solid var(--line);background:#f9fbfa}.bubble{position:absolute;top:-5px;right:-6px;color:white;background:#be443a;font-size:9px;padding:1px 5px;border-radius:20px}.avatar,.team-avatar,.large-avatar{border-radius:50%;background:#d5e6df;color:#175246;display:grid;place-items:center;font-weight:800}.avatar{width:36px;height:36px}.container{max-width:840px;margin:0 auto;padding:19px 15px 20px}.page-heading{margin:0 0 15px}.notice{padding:12px 13px;background:#dff1e9;border:1px solid #c1e2d2;color:#135c48;border-radius:11px;font-size:14px;margin-bottom:16px}.notice-error{background:#ffefee;border-color:#f5d2cb;color:#a13c32}.welcome{background:linear-gradient(125deg,#124138,#225f54);color:white;border-radius:17px;padding:21px 19px;display:flex;justify-content:space-between;align-items:center;gap:7px;min-height:108px;box-shadow:0 9px 26px rgba(22,68,56,.12)}.welcome .eyebrow{color:#b8d9ce;font-size:10px}.welcome h2{font-size:19px;font-weight:800;line-height:1.22}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0 21px}.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:white;border:1px solid var(--line);border-radius:15px;padding:16px 16px 12px;min-height:95px;box-shadow:var(--shadow)}.stat span{color:#71817d;font-weight:650;font-size:12px}.stat strong{font-weight:850;color:#143e39;font-size:30px;letter-spacing:-1.2px}.stat-overdue strong{color:#c04d38}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px;gap:12px}.section-heading h2{font-size:17px}.section-heading a{font-size:13px;color:#156b5a;font-weight:700}.section-heading small{color:var(--muted)}.task-stack{display:flex;flex-direction:column;gap:9px}.task-card,.panel,.detail-head{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.task-card{display:block;padding:14px 15px;transition:border-color .15s}.task-card:active{border-color:#94c6b4}.task-card>strong{display:block;margin:9px 0 11px;line-height:1.33;font-size:15px}.task-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pill{background:#edf2f2;border-radius:20px;color:#60726f;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.pill.good{background:#e1f3e6;color:#23804c}.pill.bad{background:#ffe9e5;color:#bb4c3f}.pill.attention{background:#fff3d8;color:#a36f05}.priority{font-size:11px;color:#c35946;font-weight:750}.task-footer{font-size:12px;color:#81908c;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.danger-text{color:#bd5145!important}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions a{font-size:13px;padding:16px 10px;background:white;border:1px solid var(--line);border-radius:13px;text-align:center;font-weight:700}.empty{background:white;border:1px dashed #c3d5ce;border-radius:15px;text-align:center;padding:37px 16px;color:#748982}.empty-icon{font-size:26px;background:#e7f3ed;color:#299c70;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;margin:0 auto 10px}.empty h3{color:#284740}.empty p{font-size:13px;margin-top:5px}.panel{padding:17px;margin:12px 0}.panel>h3{margin-bottom:3px}.panel p.subtle{font-size:13px}.back-link{display:inline-block;margin:0 0 11px;font-size:13px;color:#3d7367;font-weight:700}.btn{min-height:43px;padding:10px 15px;border-radius:10px;border:1px solid transparent;font-size:14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:normal;text-align:center}.btn-primary{background:#196355;color:#fff}.btn-dark{background:var(--forest);color:#fff}.btn-light{background:#edf9f4;color:#184d40}.btn-outline{background:white;color:#256658;border-color:#cbdcd5}.btn-small{font-size:12px;padding:7px 11px;min-height:34px}.btn-full{width:100%}.btn-logout{background:transparent;color:#ac4439;border-color:#e4c8c5;margin-top:17px}.stack>label,.edit-form label,form.panel label{font-size:13px;font-weight:750;color:#314b49;display:flex;flex-direction:column;gap:6px}.stack input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.stack select,.stack textarea,.filter-box input,.filter-box select,.reset-form input,.edit-form input,.edit-form textarea,.edit-form select{width:100%;border:1px solid #dbe5e1;border-radius:10px;background:white;padding:11px 12px;min-height:45px;outline:none;font-size:15px}.stack :is(input,textarea,select):focus,.filter-box :is(input,select):focus{border-color:#379a83;box-shadow:0 0 0 3px #2c957321}.stack textarea,.edit-form textarea{resize:vertical;min-height:85px}.field-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px}.field-row label{min-width:0}.field-row input{font-size:13px!important;padding:10px 7px!important}.voice-widget{background:#f4f8f6;border:1px dashed #bbd4c9;padding:15px;border-radius:13px;display:flex;flex-direction:column;gap:9px}.voice-title{display:flex;justify-content:space-between;font-weight:750;color:#284b45;font-size:14px}.voice-title span{font-size:12px;color:#90a29a;font-weight:500}.voice-controls{display:flex;align-items:center;gap:9px}.voice-timer{font-variant-numeric:tabular-nums;font-size:13px;color:#45695d}.voice-widget audio{width:100%;height:44px}.voice-widget input[type=file]{max-width:100%;font-size:12px}.voice-widget .tiny{margin:0}.detail-head{padding:19px;margin-bottom:15px}.detail-head h2{font-size:23px;line-height:1.3;margin:12px 0}.meta-grid{display:flex;gap:8px 14px;flex-wrap:wrap;color:#69837b;font-size:12px}.task-desc{font-size:14px;line-height:1.6;border-top:1px solid var(--line);padding-top:13px;margin-top:15px;white-space:normal;overflow-wrap:anywhere}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.status-actions label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);padding:8px 10px;border-radius:9px;background:#f8fbfa;font-size:12px;font-weight:700;cursor:pointer}.review-buttons{display:flex;gap:10px;flex-wrap:wrap}.review-buttons>*{flex:1}.conversation{display:flex;flex-direction:column;gap:10px;padding:2px 0 13px}.message{align-self:flex-start;max-width:95%;background:#f1f5f3;padding:11px 13px;border-radius:12px 12px 12px 3px;overflow:hidden;min-width:min(240px,100%)}.message.mine{align-self:flex-end;border-radius:12px 12px 3px 12px;background:#e6f3ed}.message-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:5px}.message-meta span{color:#788d85;font-size:10px}.message p{white-space:normal;overflow-wrap:anywhere;font-size:13px}.voice-message{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#3b7162}.voice-message audio{width:min(100%,290px);height:41px}.photo-thumb{max-width:100%;max-height:280px;border-radius:8px;object-fit:contain}.file-chip{color:#246b58;text-decoration:underline;overflow-wrap:anywhere;font-size:12px}.edit-panel summary{cursor:pointer;color:#2d6859;font-size:14px;font-weight:800;min-height:26px}.edit-panel .edit-form{margin-top:15px}.filter-box{background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;display:flex;flex-direction:column;gap:10px}.search-line{display:flex;gap:7px}.search-line input{flex:1;min-width:0}.filter-row{display:flex;gap:7px}.filter-row select{min-width:0;flex:1;font-size:13px}.filter-box>.btn{align-self:flex-start}.tabs{display:flex;padding:4px;background:#e8eeeb;border-radius:12px;margin:7px 0 12px;gap:4px}.tabs a{flex:1;text-align:center;padding:9px 5px;color:#66827a;font-size:13px;font-weight:700;border-radius:9px}.tabs a.current{background:#fff;box-shadow:0 2px 8px #00000008;color:#176150}.table-scroll{overflow-x:auto;padding:5px 9px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid #e9efec}th{font-size:11px;color:#789188}td:first-child{font-weight:700}tr:last-child td{border-bottom:0}.team-member{margin:0}.team-line{display:flex;align-items:center;gap:10px}.team-avatar{width:42px;height:42px;flex:none}.team-info{flex:1;min-width:0}.team-info strong,.team-info small{display:block}.team-info strong{font-size:14px}.team-info small{color:var(--muted)}.team-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;padding-top:11px}.team-controls{display:flex;align-items:center;gap:15px;margin-top:10px}.team-controls details summary{font-size:12px;color:#26745a;cursor:pointer;font-weight:700}.reset-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-top:8px}.reset-form input{flex:1}.alert-card p{font-size:13px;color:#536a62;margin:7px 0}.alert-card.unread{border-left:3px solid #278d70}.new-dot{width:7px;height:7px;border-radius:50%;background:#25a17c;display:block}.profile-card{padding:20px 10px;text-align:center}.large-avatar{height:64px;width:64px;font-size:27px;margin:0 auto 10px}.profile-card p{font-size:13px;color:var(--muted)}.check-line{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:flex-start;line-height:1.55!important}.link-panel{display:flex;align-items:center;justify-content:space-between;font-weight:750;font-size:14px}.login-page{padding:0;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e8f1ec,#f8faf8)}.login-shell{width:min(420px,100%);padding:40px 22px}.login-emblem{height:60px;width:60px;font-size:38px;border-radius:18px;margin:0 0 20px}.login-shell h1{font-size:38px}.login-shell .panel{margin-top:29px}.login-shell .subtle{font-size:14px}.login-shell .tiny{margin-top:24px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-around;background:#fff;box-shadow:0 -5px 30px #122a2310;border-top:1px solid var(--line);padding:5px 3px env(safe-area-inset-bottom)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:0;padding:2px 7px;min-width:65px;color:#8ca49b;font-size:10px;font-weight:800}.bottom-nav a.active{color:#176553}.nav-icon{font-size:25px;line-height:29px}.fab{position:fixed;bottom:calc(75px + env(safe-area-inset-bottom));right:17px;z-index:7;border-radius:18px;box-shadow:0 7px 23px #0e59474d;background:#1c755e;color:white;font-size:28px;font-weight:500;width:56px;height:56px;display:grid;place-items:center}.login-page .fab{display:none}@media(min-width:720px){body{padding-bottom:105px}.container{padding:24px 24px 60px}.page-heading{margin-bottom:20px}.stats{grid-template-columns:repeat(4,1fr)}.task-stack{gap:11px}.welcome{padding:26px}.welcome h2{font-size:25px}.bottom-nav{max-width:480px;left:50%;right:auto;transform:translateX(-50%);width:100%;border:1px solid var(--line);border-radius:18px 18px 0 0}.fab{right:max(24px,calc((100vw - 840px)/2 + 24px))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:719px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}}

/* v1.1 footer fixes: reserve a fixed stable area; only system safe-area inset at bottom. */
.bottom-nav{height:calc(61px + env(safe-area-inset-bottom));min-height:0;overflow:hidden;align-items:flex-start;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;isolation:isolate;contain:layout paint}
.bottom-nav a{flex:1;min-width:0;padding:3px 2px 0;line-height:15px}
.bottom-nav .nav-icon{min-height:29px;display:block}
.brand-logo-img{width:74px;height:38px;max-width:30vw;object-fit:contain;display:block;flex:none;border-radius:6px}
.login-brand-logo{width:min(260px,75vw);height:72px;display:block;object-fit:contain;margin:0 0 20px}
.owner-scope{margin:12px 0 0}
.scope-tabs{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700}
.scope-tabs select{min-width:0;flex:1}
.team-controls{flex-wrap:wrap}
.settings-fieldset{border:0;padding:0;min-width:0}
.settings-status{font-size:12px;color:#537267}
@view-transition{navigation:none}
.bottom-nav{view-transition-name:workdesk-navigation}
::view-transition-old(workdesk-navigation),::view-transition-new(workdesk-navigation){animation-duration:0s}
@media(min-width:720px){.bottom-nav{transform:translateX(-50%) translateZ(0)}}

/* Distinct nav badges, compact iOS/Android safe-area layout */
.bottom-nav .nav-icon{position:relative;min-width:35px}
.nav-badge{position:absolute;top:-3px;left:calc(50% + 7px);font-family:system-ui,sans-serif;font-size:10px;font-weight:850;min-width:17px;height:17px;line-height:17px;border-radius:10px;padding:0 3px;color:white;background:#c44e3c;border:1.5px solid white;box-shadow:0 1px 3px #0002;white-space:nowrap}
.bottom-nav a.active .nav-badge{background:#11604f}
.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{justify-content:flex-start}
@media(max-width:400px){.bottom-nav a{min-width:0}}

.settings-brand-preview{width:min(270px,100%);height:84px;object-fit:contain;background:#113b3b;border-radius:12px;padding:10px}

/* v1.1.0 last polish: four always-visible footer targets with consistent bottom spacing. */
body:not(.login-page){padding-bottom:calc(61px + env(safe-area-inset-bottom))}
.bottom-nav{box-sizing:border-box;min-height:calc(61px + env(safe-area-inset-bottom));height:calc(61px + env(safe-area-inset-bottom));padding-top:5px;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{width:25%;max-width:25%;gap:0;padding-bottom:0}
.bottom-nav .nav-icon{line-height:29px;height:29px}
@media(min-width:720px){body:not(.login-page){padding-bottom:calc(75px + env(safe-area-inset-bottom))}}

.personal-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.personal-progress a{display:flex;align-items:center;justify-content:space-between;gap:4px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:12px;color:#637870}.personal-progress strong{font-size:18px;color:#164f43;font-variant-numeric:tabular-nums}

.bottom-nav .nav-icon svg{display:block;margin:1px auto 2px;max-width:24px;max-height:24px}.bottom-nav .nav-icon{line-height:normal}.brand-logo-img{width:108px;height:35px;max-width:32vw;flex-shrink:0;object-fit:contain}.brand strong{font-size:15px}.brand small{font-size:8px;letter-spacing:1.7px}@media(max-width:360px){.brand-logo-img{width:90px}.brand strong{font-size:14px}.top-actions{gap:8px}}

/* v1.2 — local/device readiness and voice recording diagnostics */
.diagnostic-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}
.diagnostic-row:last-child{border-bottom:0}.diagnostic-row>span{min-width:0;flex:1}.diagnostic-row>strong{font-size:11px;max-width:55%;text-align:right;overflow-wrap:anywhere;font-weight:750;color:var(--muted)}
.diagnostic-row .check-ok,.check-ok{color:#16724e!important}.diagnostic-row .check-fail,.check-fail{color:#b24e3b!important}
.diagnostic-actions{display:flex;gap:8px;flex-wrap:wrap}.diagnostic-actions>*{flex:1;min-width:130px}
#microphone-test-preview{max-width:100%;width:100%;height:44px}.delivery-chips{display:flex;gap:5px;flex-wrap:wrap}.delivery-history small{display:block;color:#86988d;max-width:270px;margin-top:4px}
.voice-widget [data-cancel]{color:#a23b2e;border-color:#e4d0cc}.voice-timer{min-width:44px;text-align:right}

/* v1.3.1: accessible mobile-first searchable single-select controls. */
.search-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;clip-path:inset(50%);pointer-events:none!important;overflow:hidden!important}
.search-select{position:relative;display:block;width:100%;min-width:0;flex:1}
.search-select.is-open{z-index:20}
.search-select-input{width:100%!important;min-width:0!important;min-height:45px!important;padding:11px 32px 11px 12px!important;background:#fff!important;border:1px solid #dbe5e1!important;border-radius:10px!important;color:#203839!important;outline:none!important;font-size:15px!important;text-overflow:ellipsis}
.search-select-input:focus{border-color:#379a83!important;box-shadow:0 0 0 3px #2c957321!important}
.search-select-input::placeholder{color:#8ba09a}
.search-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:22px;color:#477568;pointer-events:none;line-height:1}
.search-select.is-open .search-select-arrow{transform:translateY(-50%) rotate(180deg)}
.search-select-options{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:100%;max-height:min(270px,42dvh);overflow-y:auto;overscroll-behavior:contain;z-index:25;padding:5px;background:#fff;border:1px solid #bcd9cd;border-radius:12px;box-shadow:0 14px 30px rgba(13,53,46,.20);-webkit-overflow-scrolling:touch}
.search-select-options.open-above{top:auto;bottom:calc(100% + 4px)}
.search-select-option{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:#203839;text-align:left;padding:12px 10px;font-size:14px;font-weight:600;line-height:1.3;white-space:normal;overflow-wrap:anywhere;min-height:43px;cursor:pointer}
.search-select-option.is-active,.search-select-option:hover{background:#e6f3ec;color:#16584b}
.search-select-option.is-selected{font-weight:800}
.search-select-hint{padding:12px 10px;font-size:12px;color:#788d85}
.scope-tabs .search-select{flex:1;min-width:0}
.filter-row .search-select{flex:1;min-width:0}
.filter-row .search-select-input{font-size:13px!important}
@media(max-width:719px){.search-select-input{font-size:16px!important}.filter-row .search-select-input{font-size:16px!important}}
@media(max-width:380px){.filter-row{flex-wrap:wrap}.filter-row .search-select{flex:1 1 100%}}


/* v1.4.1: Safari/iOS PWA stability. Keep user pinch-zoom available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:calc(78px + env(safe-area-inset-bottom))}
html,body{max-width:100%;overflow-x:clip}
body{-webkit-overflow-scrolling:touch;overscroll-behavior-x:none}
input,select,textarea,.search-select-input,
.stack input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.stack textarea,.stack select,.edit-form input,.edit-form textarea,.edit-form select,
.filter-box input,.filter-box select,.reset-form input{font-size:16px!important}
input[type="datetime-local"],input[type="date"],input[type="time"]{min-width:0;max-width:100%}
button,a,input[type="button"],input[type="submit"],select,summary{touch-action:manipulation}
.bottom-nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-transform:translateZ(0);backface-visibility:hidden;contain:layout style}
.bottom-nav a{min-width:0!important}
body.keyboard-visible .bottom-nav,body.keyboard-visible .fab{visibility:hidden;pointer-events:none}
.profile-brand-logo{display:block;width:min(210px,75%);max-height:80px;object-fit:contain;margin:0 auto 14px;background:#103c3c;border-radius:12px;padding:7px}
.pill.working{color:#156f91;background:#dff4ff}
@supports (-webkit-touch-callout:none){
  .bottom-nav{position:fixed;bottom:0;transition:none!important}
  input,textarea,select{border-radius:10px;-webkit-appearance:none;appearance:none}
  .bottom-nav a{-webkit-tap-highlight-color:transparent}
}

/* v1.5.3 — Mark Decor logo, centered login title, and iOS/Android safe-footer */
.login-shell{width:min(420px,100%);margin:auto;padding:24px 20px max(24px,env(safe-area-inset-bottom,0px))}
.login-branding{text-align:center;display:flex;align-items:center;flex-direction:column;gap:4px;margin:0 auto 23px}
.login-brand-logo{display:block;width:min(244px,78vw);height:auto;max-height:114px;object-fit:contain;margin:0 auto 5px}
.login-branding h1{font-size:34px;margin:0;font-weight:850;letter-spacing:-.8px}
.login-branding .subtle{line-height:1.5;font-size:13px;max-width:290px;margin:0 auto}
.login-page{min-height:100vh;min-height:100dvh;overflow-x:hidden}
.login-shell>.panel{margin:12px 0}
.login-shell [data-superadmin-password] h3{font-size:14px;color:#174f45}
.login-shell [data-superadmin-password][hidden]{display:none!important}
.brand-logo-img{width:103px;height:39px;max-width:31vw;object-fit:contain;border-radius:0}
.settings-brand-preview,.profile-brand-logo{background:#fff}
.profile-brand-logo{max-height:105px;object-fit:contain}
/* Make room below tap targets even on gesture-navigation devices returning a zero safe-area inset. */
body:not(.login-page){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.bottom-nav{box-sizing:border-box;height:calc(69px + env(safe-area-inset-bottom,0px));min-height:calc(69px + env(safe-area-inset-bottom,0px));padding:6px 3px calc(11px + env(safe-area-inset-bottom,0px));transform:translateZ(0);-webkit-transform:translateZ(0);border-bottom:0}
.bottom-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding-top:2px;padding-bottom:1px}
.bottom-nav .nav-icon{height:29px;min-height:29px}
.fab{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
@media(min-width:720px){.bottom-nav{transform:translateX(-50%) translateZ(0);-webkit-transform:translateX(-50%) translateZ(0)}}
@supports (-webkit-touch-callout:none){
 .bottom-nav{bottom:0!important;padding-bottom:calc(11px + env(safe-area-inset-bottom,0px))!important}
 .bottom-nav a{touch-action:manipulation}
}
@media(max-width:719px){.login-shell input:not([type=checkbox]){font-size:16px!important}}
/* Drilldowns must look like links, not static numbers or names. */
a.stat.report-stat{position:relative;cursor:pointer;transition:border-color .12s,box-shadow .12s}
a.stat.report-stat:hover,a.stat.report-stat:focus-visible{border-color:#449983;box-shadow:0 4px 20px #165d431c;outline-offset:2px}
.report-stat:after{content:'View →';font-size:11px;font-weight:750;color:#2b806d;align-self:flex-end;position:absolute;bottom:9px;right:13px}
.report-name-link,.report-num-link{color:#176d5a;text-decoration:underline;text-underline-offset:3px;font-weight:750}
.report-name-link:hover,.report-num-link:hover{color:#0b483f}
.report-active-link{background:#e2f4ec;border-radius:6px;padding:2px 4px}
.report-filterbar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.report-filterbar .btn{flex-shrink:0}
.report-detail-header{margin-top:15px}
.report-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}
.report-pagination a{border:1px solid #c5dcd3;border-radius:9px;padding:9px 12px;color:#176654;font-size:12px;font-weight:750}
.report-pagination span{font-size:12px;color:var(--muted)}
.report-tiny{font-size:11px;color:#6c8279}

/* v1.5.4 — persistent Super Admin OTP / Password sign-in */
.login-auth-card{gap:14px}
.login-auth-card .stack{gap:12px}
.login-method-selector[hidden],.login-otp-actions[hidden],.login-password-actions[hidden]{display:none!important}
.login-method-caption{margin:0 0 8px!important;color:#436e62;font-weight:750}
.login-method-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;background:#eff5f2;border-radius:12px}
.login-method-option{min-height:43px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:9px;color:#466c61;font-size:13px;font-weight:750;padding:8px 4px;touch-action:manipulation}
.login-method-option.selected,.login-method-option[aria-pressed="true"]{border-color:#bcd8ce;background:#fff;color:#0f574a;box-shadow:0 2px 5px #082b2410}
.login-password-actions{border-top:1px solid #dfece7;padding-top:12px}
.login-auth-card p.tiny{margin:3px 0 0;line-height:1.45}
@media(max-width:719px){.login-method-option{font-size:14px}}

/* v1.5.4: stop header logo resizing during page transitions and asset refreshes. */
.topbar{height:68px;min-height:68px;max-height:68px;overflow:visible}
.topbar .top-inner{height:68px;min-height:68px;max-height:68px}
.topbar .brand{min-width:0;flex:0 1 auto;align-items:center;gap:9px}
.topbar .brand-logo-img{display:block;width:104px!important;height:39px!important;min-width:104px!important;max-width:104px!important;min-height:39px!important;max-height:39px!important;object-fit:contain;flex:0 0 104px;transform:none!important;transition:none!important}
.topbar .brand strong{font-size:15px;line-height:17px}
.topbar .brand small{font-size:8px;line-height:11px;letter-spacing:1.5px}
@media(max-width:360px){.topbar .brand-logo-img{width:90px!important;min-width:90px!important;max-width:90px!important;height:35px!important;min-height:35px!important;max-height:35px!important;flex-basis:90px}}

/* v1.5.5: consistent pending-state indicator for real navigation/POST/API work. */
.wd-busy-overlay[hidden] {display:none!important}
.wd-busy-overlay {position:fixed;inset:0;z-index:9999;background:rgba(11,37,33,.25);
  display:flex;align-items:center;justify-content:center;padding:24px;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.wd-busy-card {width:min(300px,100%);background:#fff;border-radius:17px;padding:24px 20px;
  text-align:center;box-shadow:0 18px 65px rgba(0,0,0,.16);display:flex;align-items:center;
  flex-direction:column;gap:12px;color:#163b38;}
.wd-busy-card p{font-weight:750;font-size:14px;line-height:1.35;margin:0}
.wd-busy-card small{color:#647a73;font-size:12px;line-height:1.35}
.wd-busy-wheel{width:39px;height:39px;border:4px solid #e1eee7;border-top-color:#16765b;
  border-radius:50%;animation:wd-rotate .78s linear infinite;flex:none}
@keyframes wd-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.wd-busy-wheel{animation-duration:2.2s}}

/* v1.5.6: stable footer DOM for soft tab changes and a small content-only activity bar. */
nav[data-workdesk-tabs]{transition:none!important;animation:none!important;will-change:auto}
nav[data-workdesk-tabs] a,nav[data-workdesk-tabs] svg{transition:none!important;animation:none!important}
main.container{position:relative}
main.container.wd-tab-loading::before{content:"";position:fixed;z-index:11;top:68px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#17846c,transparent);background-size:200% 100%;animation:wd-tab-progress 1s ease-in-out infinite;pointer-events:none}
@keyframes wd-tab-progress{to{background-position-x:-200%}}
@media(prefers-reduced-motion:reduce){main.container.wd-tab-loading::before{animation:none;background:#17846c}}

/* v1.5.7: Show the centered spinner for slow persistent-tab fetches, but
   leave both navigation bars visible and tappable throughout the request. */
.wd-busy-overlay.wd-busy-tab {
  inset: 68px 0 calc(76px + env(safe-area-inset-bottom));
  z-index: 9; /* below bottom nav (10), above main content */
  background: rgba(243,246,245,.74);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  padding: 16px;
}
.wd-busy-tab .wd-busy-card {width:min(242px,100%);padding:19px 15px;gap:10px}
.wd-busy-tab .wd-busy-card small {display:none}
