/* Approved navy/yellow mock-ups: office grid and bright mobile work cards. */
:root{--bg:#03172f;--card:#09213e;--card2:#102b4c;--line:#234a70;--yellow:#ffdc00;--text:#f6f8ff;--muted:#afc3e2;--shadow:0 12px 30px #00102328;font-family:'Segoe UI',Arial,sans-serif}
body{background:radial-gradient(ellipse at 94% -15%,#234bb486,transparent 42%),radial-gradient(ellipse at -10% 100%,#0f387964,transparent 50%),var(--bg);background-attachment:fixed}
h1,h2,h3{font-weight:750;letter-spacing:-.035em}h2{font-size:1.45rem;margin-bottom:16px}button,.button{border-radius:8px}button.primary,.button.primary{background:linear-gradient(115deg,#ffdf00,#ffe624 60%,#ffd200);box-shadow:0 5px 16px #ffdb0014;color:#04182f}button.primary:hover{filter:brightness(1.045)}.card{background:linear-gradient(115deg,var(--card),#071c37);border-radius:10px;padding:20px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.test-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;line-height:1.45}.separator{display:inline-block;margin:0 12px;color:var(--line)}
.office-shell{grid-template-columns:225px minmax(0,1fr)}.office-shell .main{padding:24px;max-width:1850px;width:100%}.sidebar{position:sticky;top:0;height:100dvh;padding:22px 14px;background:linear-gradient(150deg,#001328,#061e3c 80%,#10397140);gap:32px;border-color:#163e65}.sidebar .logo{height:90px;max-height:100px}.sidebar nav{gap:16px}.sidebar nav button{min-height:52px;padding:12px 16px;font-weight:500;font-size:.92rem;gap:15px}.sidebar nav .icon{width:25px;height:25px}.sidebar nav button.active{box-shadow:0 4px 20px #ffdb001a}.sidebar footer{border-top:1px solid var(--line);padding-top:20px}.sidebar footer button{background:transparent;border-color:transparent;justify-content:flex-start}.sidebar footer p{font-size:.8rem;margin:12px 6px}.topbar{margin-bottom:20px;gap:14px;align-items:center}.topbar h1{font-size:clamp(1.6rem,2.55vw,2.35rem);margin-bottom:4px}.topbar .muted{font-size:.88rem}.tools{align-items:center;flex-wrap:nowrap}.tools button{background:transparent;border-color:transparent}.tools .view-switch{border-color:var(--line);font-weight:500;white-space:nowrap;font-size:.82rem}.outline-yellow{border-color:var(--yellow);background:transparent;font-weight:500}.text-button{background:transparent;border-color:transparent;color:inherit;padding:8px 0;box-shadow:none;font-size:.85rem}.data-footnote{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:.74rem}.data-footnote .icon{height:16px;width:16px}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,2.12fr) minmax(300px,1fr);gap:16px;align-items:start}.dashboard-main,.dashboard-aside{display:grid;gap:16px;min-width:0}.dashboard-main .stats{margin:0;gap:12px}.stat{padding:16px;gap:16px;min-height:98px;background:linear-gradient(120deg,#0b353b66,#0c2440)}.stat .bubble{padding:13px;background:#0c71424f;border-color:#14876280;color:#49e88b}.stat-1{background:linear-gradient(120deg,#5b4d134d,#0c2440)}.stat-1 .bubble{background:#77641255;border-color:#98822080;color:#ffdf38}.stat-2{background:linear-gradient(120deg,#5d30274d,#0c2440)}.stat-2 .bubble{background:#8744234d;border-color:#9c543980;color:#ff9356}.stat strong{font-size:2.4rem}.stat small{color:#e5edfa;font-size:.83rem}.stat .icon{width:27px;height:27px}.team-heading{margin-bottom:12px;flex-wrap:wrap}.team-heading h2{margin:0}.team-search{margin:0;flex:1;max-width:330px;min-width:180px}.team-search input{min-height:40px;font-size:.8rem;padding:10px 12px;background:#061a33}.team-card .tablewrap{max-height:310px;border:1px solid var(--line);border-radius:8px}.team-card table{font-size:.8rem;min-width:620px}.team-card th{position:sticky;top:0;background:#10274b;color:#e6ecfa;z-index:1;font-weight:650}.team-card td,.team-card th{padding:8px 10px}.team-card th{padding-block:12px}.team-card td{height:55px}.person-name{display:flex;align-items:center;max-width:220px;gap:7px}.person-name>span:last-child{overflow-wrap:anywhere}.avatar{flex:none;margin:0;background:linear-gradient(135deg,#4969c2,#315197);border:1px solid #6787d966}.badge{white-space:nowrap;border:1px solid #4d6a9e38;background:#172d4b;color:#b9cce7;font-size:.76rem;font-weight:500}.badge.good{background:#0c6d453b;color:#75ef9d;border-color:#13876a55}.badge.warn{background:#584b243b;color:#ffe081;border-color:#b69a3944}.table-action{font-size:.73rem;padding:7px;min-height:36px;background:transparent;border-color:transparent}.dashboard-bottom{gap:14px}.dashboard-bottom .card{min-height:300px}.dashboard-bottom h2{font-size:clamp(1.1rem,1.65vw,1.6rem)}.dashboard-bottom .photos{gap:8px}.dashboard-bottom .photo img{height:145px}.dashboard-bottom .photo p{font-size:.75rem}.dashboard-bottom .photo small{font-size:.65rem}.dashboard-bottom .photo{border-radius:7px}.dashboard-bottom .space{text-align:right}.dashboard-bottom p{font-size:.87rem}.location-empty{min-height:195px;border:1px dashed #315575;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;border-radius:8px;background:radial-gradient(ellipse,#13386077,transparent);text-align:center;color:var(--muted);gap:14px}.location-empty>.icon{width:38px;height:38px;color:var(--yellow)}.location-empty p{font-size:.78rem;max-width:280px;margin:0}.mapplaceholder{background:radial-gradient(ellipse,#163d6844,transparent);padding:20px}.mapplaceholder p{font-variant-numeric:tabular-nums}.mapplaceholder small{font-size:.7rem}.review-list{display:grid;gap:12px}.review-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;background:linear-gradient(120deg,#112b4b,#081b34);border:1px solid #1b3a5b;border-radius:8px;padding:15px;align-items:center}.review-item h3{font-size:.92rem;letter-spacing:-.01em;margin:0 0 5px}.review-item p{font-size:.76rem;line-height:1.45;margin:0;color:var(--muted);overflow-wrap:anywhere}.review-item>button{grid-column:2;justify-self:start;font-size:.76rem;min-height:36px;padding:7px 12px}.review-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0a385344;border:1px solid #2d72a4;color:#acd4ff}.review-warn .review-icon{color:#ffe01e;background:#77641444;border-color:#a18b36}.review-orange .review-icon{color:#ff975b;background:#87442344;border-color:#a96748}.qr-dashboard{text-align:center}.qr-dashboard h2{text-align:left}.qr-dashboard select{min-height:42px;padding:9px;font-size:.85rem}.dashboard-qr-art{background:white;border:12px solid white;border-radius:12px;max-width:185px;aspect-ratio:1;margin:22px auto 16px;box-shadow:0 0 0 1px #426b97,0 10px 25px #00132380}.dashboard-qr-art svg{display:block;width:100%;height:auto}.qr-dashboard p{font-size:.9rem}.qr-dashboard .big{width:100%;margin-top:8px}
/* Employee view: a focused mobile canvas rather than the office dashboard. */
#app[data-mode=employee]{max-width:650px;margin:auto;border-left:1px solid #234367;border-right:1px solid #234367;min-height:100dvh;background:linear-gradient(180deg,#03172f,#092345 70%,#03172f)}
#app[data-mode=employee]>.mobilehead{display:flex;padding:14px 20px;min-height:86px;border-bottom:1px solid #24466c;background:#02162dde}
#app[data-mode=employee] .mobilehead .logo{width:205px;height:68px;max-width:60%;object-position:left center}
#app[data-mode=employee] .mobilehead .tools button{border:1px solid #2c527b;border-radius:9px;background:#0b2748}
.employee-shell .main{padding:0 18px 95px;max-width:none}.employee-shell .topbar{padding-top:10px;margin:0 0 10px;justify-content:flex-end}.employee-shell .topbar>div:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.employee-shell .topbar .tools{gap:4px}.employee-shell .topbar .view-switch{display:none}.employee-shell .topbar .tools button{min-height:36px;min-width:36px;padding:7px}.employee-shell .topbar .icon{width:19px;height:19px}.employee-shell .test-label{font-size:.6rem;letter-spacing:.01em;margin-bottom:10px}.employee{max-width:none;padding-bottom:0;gap:15px}.employee h1,.employee h2{font-family:'Arial Narrow','Roboto Condensed','Segoe UI',sans-serif;font-stretch:condensed;letter-spacing:-.045em}.employee h2{font-size:1.45rem}.employee .big{min-height:59px;font-size:1.04rem;font-weight:800;letter-spacing:-.01em}.employee .big .icon{height:25px;width:25px}.employee button.primary{text-transform:uppercase}.employee .white-card{--text:#051b3a;--muted:#4b6079;--line:#d5dfed;--bg:#f6f8fc;--card2:#eef3fa;--green:#18763e;--warn:#8c4800;color:var(--text);color-scheme:light;background:linear-gradient(115deg,#fff,#f3f6fb);border:1px solid white;border-radius:13px;padding:17px;box-shadow:0 6px 20px #0013283b}.white-card .badge.good{color:#107837;background:#d8f2e3}.white-card .badge.warn{color:#7f4a00;background:#fff1d4}.white-card .badge{white-space:normal}.white-card button:not(.primary){background:#092748;color:white;border-color:#254c7c}.white-card .text-button{background:transparent!important;border-color:transparent!important;color:#084695!important}.white-card input,.white-card textarea,.white-card select{background:#fff;color:#082441}.white-card .object-link{background:#fff!important;color:#0d2c52!important;border-color:#cad9eb!important;width:100%;min-height:46px;justify-content:center}.welcome-hero{height:268px;position:relative;isolation:isolate;overflow:hidden;margin-top:-12px;border-radius:0 0 12px 12px;background:linear-gradient(90deg,#061b36 8%,#061b36cc 40%,#061b3618),linear-gradient(0deg,#061b36,transparent 75%),url('welcome-garden.jpg') center/cover}.welcome-hero .hero-motto{position:absolute;left:12px;top:19px;color:var(--yellow);font-size:1.08rem;line-height:1.18;font-style:italic;font-weight:700;transform:rotate(-5deg)}.welcome-hero .mascot{position:absolute!important;right:0;bottom:-6px;width:49%!important;height:260px!important;object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 10px #00172d)}.welcome-text{position:absolute;left:12px;bottom:14px;z-index:1;max-width:65%}.welcome-text h1{font-size:1.75rem;line-height:1.15;margin:0 0 10px;text-shadow:0 2px 8px #00152f}.welcome-text em{font-size:2.35rem;font-style:normal;color:var(--yellow);font-weight:850;overflow-wrap:anywhere}.welcome-text p{margin:0;font-size:.86rem;text-shadow:0 1px 5px #00152f}.clock-section{display:grid;gap:10px;margin-top:-6px}.clock-strip{display:flex;gap:15px;align-items:center;padding:15px 17px;border:1px solid #3b5d84;border-radius:10px;background:linear-gradient(130deg,#17375d,#0d2444);box-shadow:inset 0 1px 14px #5887c41a}.clock-icon>.icon{width:39px;height:39px;stroke-width:1.7}.clock-strip strong{font-size:1rem}.clock-strip p{font-size:.78rem;color:#d4e3f5;margin:4px 0 0}.next-object h2{font-size:1.18rem;margin:0}.next-object>.row{margin-bottom:14px;gap:8px}.next-object .text-button{font-size:.75rem;min-height:35px}.next-object .text-button .icon{width:15px}.object-summary{display:flex;align-items:center;gap:15px;margin:16px 0;min-width:0}.object-summary>div{min-width:0}.object-summary h2{margin:0 0 8px;font-size:1.45rem;overflow-wrap:anywhere}.object-summary p{font-size:.83rem;line-height:1.45;margin:0;display:flex;gap:6px;color:#264162}.object-summary p .icon{width:18px;height:18px;margin-top:2px}.object-symbol{flex:none;display:grid;place-items:center;background:linear-gradient(140deg,#dce7f6,#f8fbff);border:1px solid #c5d7ed;border-radius:10px;width:74px;height:83px;color:#205694}.object-symbol>.icon{width:41px;height:41px;stroke-width:1.2}.next-object>p{font-size:.78rem;line-height:1.5}.next-object .object-summary{background:#eef3f9;border-radius:10px;padding:10px;gap:11px}.next-object .object-symbol{width:62px;height:76px}.next-object .object-summary h2{font-size:1.13rem}.next-object .object-summary p{font-size:.76rem}.employee-links{display:flex;gap:18px;justify-content:center}.employee-links .text-button{font-size:.78rem}.next-waste h2{font-size:1.15rem}.next-waste .row h2{margin:0}.next-waste p{font-size:.8rem;margin:10px 0 0}.visit-layout{display:grid;gap:15px}.visit-card>.badge{margin-bottom:5px;padding:9px 14px;font-weight:750}.visit-card .object-summary{border-bottom:1px solid #d3dfed;padding-bottom:18px}.current-job small{font-size:.78rem;color:#1b3352}.current-job h2{margin:4px 0 13px;font-size:1.5rem}.visit-time{border-top:1px solid #d3dfed;padding-top:14px;display:flex;gap:15px;align-items:center;margin-bottom:14px}.visit-time>.icon{width:35px;height:35px}.visit-time strong{display:block;font-size:2rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.main-book-actions button{min-height:54px}.proof-panel{padding:13px;background:linear-gradient(120deg,#123055,#071c37);border-color:#305681;border-radius:12px}.proof-panel .row h2{font-size:1.28rem;margin-bottom:10px}.proof-panel .row small{font-size:.72rem}.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pair-tile{position:relative;min-width:0;height:190px;border:1px dashed #567ba8;border-radius:10px;background:#08213e;overflow:hidden}.pair-tile.has-photo{border:1px solid #d6dfeb}.pair-tile img{width:100%;height:100%;object-fit:cover}.pair-tile>a{display:block;height:100%}.pair-label{position:absolute;bottom:8px;left:8px;right:8px;min-height:42px;background:#001b38bf;color:white;padding:8px;font-size:.81rem;text-align:center;border:1px solid #7e9ab455}.pair-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:43px;gap:10px;color:#bbcee8}.pair-empty>.icon{height:42px;width:42px;stroke-width:1.4}.pair-empty>span{font-size:.7rem}.task-card .check{border-bottom:1px solid #dde5ef;padding-bottom:13px}.task-card .check input{accent-color:#0d944d}.task-card label{font-size:.86rem}.object-choice{padding-block:10px 18px;border-bottom:1px solid #d8e3f1}.object-choice:last-child{border:0}.proof-checklist{border-top:1px solid #dbe4f0;padding-top:17px;margin:16px 0}.proof-checklist h2{margin-bottom:17px}.proof-row{display:flex;gap:13px;align-items:center;font-size:.9rem}.proof-row>span{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex:none;background:#c1cad7;color:white}.proof-row.complete>span{background:linear-gradient(130deg,#6bdf70,#0bb138);border:1px solid #8be38f}.proof-row>span .icon{width:21px;height:21px}.proof-warning{display:flex;gap:12px;padding:14px;background:#fff0e4;color:#904200;border:1px solid #ffdfc7;border-radius:10px;margin:17px 0}.proof-warning>.icon{width:28px;height:28px;flex:none}.proof-warning strong{font-size:.87rem}.proof-warning p{font-size:.75rem;line-height:1.45;margin:5px 0 0;color:#66472d}.bottomnav{background:#02162ff5;backdrop-filter:blur(10px);border-color:#284d75}.bottomnav button{position:relative;color:#c0cee5}.bottomnav button.active{color:var(--yellow)}.bottomnav button.active:after{content:'';position:absolute;bottom:0;width:34px;height:4px;background:var(--yellow);border-radius:4px}.bottomnav button .icon{width:25px;height:25px}.employee-shell+.bottomnav{max-width:650px;margin:auto}.employee-shell+.bottomnav button{min-height:64px;gap:6px;font-size:.8rem}.employee .plan-page h2{font-family:inherit}.employee-shell .waste-tile{background:linear-gradient(125deg,#0f3052,#08213d);border-color:#30557c}
.light{--card:#fff;--card2:#edf3fa;--bg:#f0f5fa;--line:#b7cbe0;--text:#0b2543;--muted:#415c78;background:#edf3f9}.light .card,.light .review-item{background:white}.light .stat small{color:#284262}.light .stat{background:#fff}.light .team-search input,.light .team-card th{background:#eef4fa;color:#203c5d}.light .review-item p{color:#435f7e}.light .review-icon{color:#204e7a}.light .outline-yellow{border-color:#8a7000;color:#564700}.light #app[data-mode=employee]{background:#e5edf6}.light .welcome-hero,.light .clock-strip,.light .proof-panel{color:white}.light .employee .white-card{background:white}.light .proof-panel{background:#0b2849}.light .proof-panel h2,.light .proof-panel small{color:white}.light .bottomnav{background:#f5f9fd}.light .bottomnav button{color:#294563}.light .bottomnav button.active{color:#604900}.light .employee-shell .waste-tile{background:white}.light .stat .bubble{color:#047849}.light .stat-1 .bubble{color:#8a6a00}.light .stat-2 .bubble{color:#ac4f12}
@media(min-width:1500px){.review-item{grid-template-columns:44px minmax(0,1fr) auto}.review-item>button{grid-column:auto}.dashboard-layout{grid-template-columns:minmax(0,2.1fr) minmax(390px,1fr)}}
@media(max-width:1250px){.office-shell{grid-template-columns:190px minmax(0,1fr)}.office-shell .main{padding:20px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 285px}.stat{padding:12px;gap:9px}.stat .bubble{padding:10px}.stat strong{font-size:2rem}.stat small{font-size:.75rem}.dashboard-bottom{grid-template-columns:1fr}.office-shell .topbar .view-switch{font-size:0;gap:0}.office-shell .topbar .view-switch .icon{width:22px;height:22px}.team-heading{align-items:start}.team-heading h2{font-size:1.3rem}.dashboard-aside .card{padding:15px}}
@media(max-width:1000px){.dashboard-layout{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr 1fr}.dashboard-bottom{grid-template-columns:1fr 1fr}.office-shell .main{padding:18px}.office-shell .topbar{flex-wrap:wrap}.team-search{max-width:none}.dashboard-bottom .card{min-height:270px}}
@media(max-width:700px){.office-shell{display:block}.office-shell .main{padding:16px 12px 110px}.office-shell .sidebar{display:none}.dashboard-aside,.dashboard-bottom{grid-template-columns:1fr}.dashboard-main .stats{gap:7px}.dashboard-main .stat{min-height:90px;padding:12px 9px}.dashboard-main .stat small{font-size:.68rem}.dashboard-main .stat .bubble{display:none}.dashboard-main .stat strong{font-size:1.9rem}.office-shell .topbar h1{font-size:1.5rem}.office-shell .topbar .muted{font-size:.78rem}.test-label{font-size:.63rem;letter-spacing:0}.team-search{width:100%;max-width:none}.team-card{padding:15px}.team-card .tablewrap{max-height:350px}.team-card table{min-width:610px}.dashboard-aside .card{padding:20px}.review-item{grid-template-columns:44px minmax(0,1fr) auto}.review-item>button{grid-column:auto;padding:7px;font-size:.7rem}.review-item{padding:12px;gap:9px}.mobilehead .logo{height:58px;width:185px}.mobilehead .view-switch{max-width:105px;white-space:normal;font-size:.69rem;padding:8px}.mobilehead .view-switch .icon{display:none}.office-shell+.bottomnav button{font-size:.63rem;padding-inline:1px}.office-shell+.bottomnav .icon{width:21px;height:21px}.employee-shell .main{padding-inline:14px}.employee-shell .topbar{padding-top:4px;margin-bottom:3px}.employee-shell .test-label{margin-bottom:9px}.employee-shell .main:has(.plan-page){padding-top:10px}.employee-shell .main:has(.plan-page)>.topbar{display:none}#app[data-mode=employee]>.mobilehead{min-height:75px;padding:9px 16px}#app[data-mode=employee] .mobilehead .logo{height:57px;width:190px}.welcome-hero{height:245px}.welcome-hero .mascot{height:236px!important;right:-4px}.welcome-text h1{font-size:1.55rem}.welcome-text em{font-size:2.25rem}.welcome-text p{font-size:.76rem}.welcome-hero .hero-motto{font-size:.97rem}.employee{gap:13px}.employee .white-card{padding:15px}.employee h2{font-size:1.32rem}.employee .big{font-size:1rem}.employee-shell .waste-tile{min-height:122px}.employee-shell .waste-tile>span{font-size:.75rem}.pair-tile{height:173px}}
@media(max-width:360px){.welcome-text h1{font-size:1.35rem}.welcome-text em{font-size:1.95rem}.welcome-text{max-width:69%;left:8px}.welcome-hero .hero-motto{left:8px}.welcome-hero .mascot{width:46%!important;right:-6px}.employee-shell .main{padding-inline:10px}.clock-strip{padding:13px 12px;gap:11px}.clock-strip strong{font-size:.88rem}.clock-strip p{font-size:.72rem}.clock-icon>.icon{width:33px}.object-summary{gap:10px}.object-symbol{width:60px;height:70px}.object-summary h2{font-size:1.22rem}.next-object .object-summary{padding:8px;gap:8px}.next-object .object-symbol{width:45px;height:62px}.next-object .object-symbol>.icon{width:32px}.next-object .text-button{font-size:.66rem}.next-object h2{font-size:1.06rem}.review-item{grid-template-columns:38px minmax(0,1fr)}.review-item>button{grid-column:2}.employee .helpbar button{padding:10px;font-size:.82rem}.pair-tile{height:157px}}
@media print{body,#app[data-mode=employee]{background:white!important;border:0}.test-label,.tools,.employee-links{display:none!important}.card{box-shadow:none}.print-sheet{color:#12243a}.print-sheet .photo p,.print-sheet .photo small{color:#12243a}.sidebar{position:static}}
