:root{font-family:'Schibsted Grotesk',Arial,sans-serif;color:#1b2733;background:#e9eef1;font-size:14px;font-synthesis:none;--navy:#1b2733;--sub:#667884;--line:#d1dbe1;--pale:#f5f7f8;--yellow:#ffcf33;--green:#1b7348;--blue:#2b5c8a;--red:#b8362a;--white:#fff;--font:'Schibsted Grotesk',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:27px;letter-spacing:-.9px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:14px}h4{font-size:12px;margin:0}p{line-height:1.6}small,.muted{color:var(--sub)}.tabnums,.score-num,.metric-value,.mono{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.hidden{display:none!important}.initial-loader{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--sub)}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--yellow);color:var(--navy);font-size:28px;font-weight:900;border:2px solid var(--navy)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(350px,1fr) minmax(350px,1fr)}.auth-left{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:45px 60px;min-height:560px}.auth-brand{display:flex;gap:13px;align-items:center;font-weight:800;font-size:19px}.auth-brand .brand-icon{width:43px;height:43px}.auth-left h1{font-weight:900;font-size:clamp(39px,5vw,70px);line-height:1.04;letter-spacing:-2.6px;max-width:650px}.auth-left h1 span{color:var(--yellow)}.auth-left p{color:#b9c9d4;max-width:430px}.auth-small{color:#a6b8c3;font-size:12px}.auth-right{padding:55px 40px;display:flex;align-items:center;justify-content:center}.auth-card{width:min(100%,435px);background:white;border:1px solid var(--line);padding:34px}.auth-card h2{font-size:25px;margin-bottom:9px}.auth-card .btn{width:100%;margin-top:8px}.auth-foot{font-size:12px;color:var(--sub);margin-top:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:25px 14px 20px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .auth-brand{padding:0 12px 28px;font-size:17px}.sidebar .auth-brand small{display:block;color:#a6bac6;font-size:10px;font-weight:500;margin-top:3px;letter-spacing:0}.nav-label{font-size:10px;color:#8fa4b0;text-transform:uppercase;letter-spacing:1.2px;padding:18px 14px 9px;font-weight:700}.nav-item{background:transparent;border:0;color:#b9c9d3;width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;margin:2px 0;font-weight:600;font-size:13px;border-left:3px solid transparent}.nav-item svg{width:18px;height:18px;stroke-width:1.8}.nav-item:hover{background:#2c3a47;color:white}.nav-item.active{color:#1b2733;background:var(--yellow);border-left-color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #40505a;padding:19px 12px 0;color:#a3b6c2;display:grid;gap:10px}.user-label{display:grid;gap:3px}.user-label b{color:#fff;font-size:13px}.sidebar-logout{background:transparent;border:1px solid #52616e;color:#dce5e9;padding:8px 10px;text-align:left}.main-wrap{min-width:0}.topbar{min-height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 35px}.topbar-left small{display:block;color:var(--sub);font-size:11px;letter-spacing:.2px}.topbar-left b{font-size:14px}.topbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f9b6b;margin-right:6px}.topbar-chip{border:1px solid var(--line);padding:8px 11px;font-size:11px;font-weight:700;background:#fafbfc}.container{max-width:1590px;margin:auto;padding:34px 35px 65px}.eyebrow{text-transform:uppercase;letter-spacing:1.3px;font-weight:800;font-size:10px;color:var(--sub);margin:0 0 9px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:24px}.page-heading h1{margin:0 0 8px}.page-heading p{margin:0;color:var(--sub);max-width:670px}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--navy);border-radius:3px;background:var(--navy);color:white;min-height:38px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:12px;text-decoration:none;line-height:1.2;white-space:nowrap}.btn:hover{filter:brightness(1.12)}.btn.yellow{color:var(--navy);background:var(--yellow);border-color:#e4b42a}.btn.secondary{color:var(--navy);background:#fff;border-color:#bccbd3}.btn.danger{background:#fff;color:var(--red);border-color:#dfb5b0}.btn.ghost{background:transparent;color:var(--blue);border-color:transparent}.btn.tiny{min-height:30px;padding:6px 9px}.btn.wide{width:100%}.btn-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--line);margin-bottom:18px}.panel-head{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:15px}.panel-body{padding:21px 22px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--line);padding:21px 22px;min-width:0}.metric-label{font-size:11px;color:var(--sub);font-weight:700;margin-bottom:19px}.metric-value{font-weight:900;font-size:33px;line-height:1;letter-spacing:-1.3px}.metric-value .unit{font-size:17px;font-weight:700;color:var(--sub)}.metric-meta{margin-top:11px;color:var(--sub);font-size:11px;min-height:15px}.metric.yellowish{background:#fff8df;border-color:#eccb56}.score-sticker{background:var(--yellow);border:1px solid #e3b51d;padding:4px 9px;color:var(--navy);font-weight:900;font-size:17px;min-width:62px;display:inline-block;text-align:center;font-variant-numeric:tabular-nums}.score-sticker.small{font-size:12px;min-width:49px}.tag{display:inline-block;font-size:10px;font-weight:800;padding:5px 8px;border:1px solid transparent;line-height:1.1;white-space:nowrap}.tag.success{color:var(--green);background:#eaf5ed;border-color:#c6e4d0}.tag.info{color:var(--blue);background:#edf4fa;border-color:#c8ddeb}.tag.danger{color:var(--red);background:#fbefee;border-color:#eccfca}.tag.warning{background:#fff4cd;color:#886100;border-color:#f2df9a}.tag.neutral{background:#f1f4f5;color:#5a6c76;border-color:#d8e2e5}.table-scroll{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.5px;text-transform:uppercase;font-weight:800;color:#61727b;background:#f3f6f7;padding:12px 16px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:13px 16px;border-bottom:1px solid #e7ecef;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfc}.rank{display:inline-grid;place-items:center;width:24px;height:24px;background:#eef2f4;color:var(--navy);font-size:11px;font-weight:800;border:1px solid #dce5ea}.store-name{font-weight:800}.progress-track{height:6px;max-width:180px;min-width:90px;background:#e3eaed;overflow:hidden}.progress-fill{height:100%;background:var(--green)}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px;align-items:start}.mini-list{display:grid;gap:0}.mini-item{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e8edef}.mini-item:last-child{border:0}.mini-item strong{font-size:12px}.mini-item small{display:block;margin-top:4px;font-size:10px}.empty{padding:39px 18px;text-align:center;color:var(--sub)}.empty strong{display:block;color:var(--navy);font-size:15px;margin-bottom:8px}.empty-art{width:51px;height:51px;display:grid;place-items:center;border:1px solid var(--line);background:#f4f7f9;margin:0 auto 15px;font-size:24px;color:#738a98}.field{display:grid;gap:7px;margin-bottom:15px}.field label,.fieldset-legend{font-size:11px;font-weight:800;color:#455965}.field input,.field textarea,.field select,.select{border:1px solid #bdccd4;border-radius:2px;outline:0;background:#fff;color:var(--navy);width:100%;padding:10px 11px;min-height:39px;font-size:13px}.field textarea{resize:vertical;min-height:73px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#24638e;box-shadow:0 0 0 2px #24638e1a}.field small{font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.field.checkbox-field{display:flex;align-items:center;flex-direction:row;gap:8px}.checkbox-field input{width:auto;min-height:0}.field-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-inline .select{width:auto}.day-checks{display:flex;gap:6px;flex-wrap:wrap}.day-checks label{border:1px solid var(--line);background:#f6f8f9;min-width:43px;padding:8px 7px;font-size:11px;font-weight:700;text-align:center;cursor:pointer}.day-checks input{accent-color:#1b2733;margin-right:4px}.field-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-choices label{font-size:11px;font-weight:600}.field-choices input{accent-color:var(--navy)}.notice{padding:15px 16px;background:#f9fbfc;border:1px solid #cfdbe1;font-size:12px;line-height:1.6;margin-bottom:18px}.notice.warning{background:#fff8e7;border-color:#eedb95}.notice.error{background:#fff3f1;border-color:#e8c4be}.notice b{display:block;margin-bottom:4px}.chart{display:flex;align-items:flex-end;height:180px;gap:7px;border-bottom:1px solid #a8b8c1;padding:6px 0 0}.chart-col{flex:1;min-width:6px;display:flex;align-items:flex-end;justify-content:center;height:100%;position:relative}.chart-bar{width:100%;max-width:20px;background:#517c91;min-height:3px}.chart-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--sub);margin-top:13px}.title-with-count{display:flex;align-items:center;gap:10px}.badge-count{font-size:10px;background:#eef1f3;border:1px solid #cad7dd;padding:3px 7px;font-weight:700}.task-list{display:grid;gap:12px}.task-card{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:17px;border:1px solid var(--line);background:white;padding:20px;min-height:116px}.task-time{font-weight:800;font-size:13px;border-right:1px solid var(--line);padding-right:16px;align-self:stretch;display:flex;align-items:center}.task-main h3{margin:0 0 7px;font-size:15px}.task-main p{color:var(--sub);font-size:12px;margin-bottom:9px}.task-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.task-side{text-align:right;display:grid;gap:10px;justify-items:end}.task-bob{font-weight:800;font-size:12px}.task-detail{font-size:11px;color:var(--sub)}.date-strip{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;margin:0 0 20px;background:#fff;border:1px solid var(--line);padding:16px 19px}.date-big{font-size:17px;font-weight:900}.status-box{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);padding:17px 20px;margin-bottom:20px}.status-box .status-accent{width:8px;height:44px;background:var(--yellow);flex:none}.status-box b{display:block;font-size:12px}.status-box p{font-size:11px;color:var(--sub);margin:4px 0 0}.review-card{background:white;border:1px solid var(--line);margin-bottom:13px;display:grid;grid-template-columns:minmax(180px,32%) minmax(0,1fr)}.review-photo{min-height:208px;background:#e7eef1;display:flex;justify-content:center;align-items:center;gap:4px;overflow:hidden}.review-photo img{object-fit:cover;width:100%;height:210px}.review-body{padding:18px 22px}.review-body h3{margin:9px 0;font-size:15px}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.review-details{font-size:11px;color:var(--sub);line-height:1.7}.range-row{display:flex;align-items:center;gap:13px;margin:15px 0 12px}.range-row input{flex:1;accent-color:var(--navy)}.range-row .val{min-width:54px;font-size:20px;font-weight:900}.inline-score{font-size:11px;color:var(--sub)}.review-foot{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.review-foot input{flex:1;min-width:140px}.click-image{cursor:zoom-in}.modal-overlay{position:fixed;inset:0;background:#111f29a8;z-index:10;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.modal{background:white;border:1px solid #9caeb8;width:min(100%,690px);max-height:calc(100vh - 32px);overflow:auto}.modal.small{max-width:450px}.modal.big{max-width:930px}.modal-head{padding:18px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;background:white;z-index:1}.modal-head h2{margin:0;font-size:16px}.close{background:transparent;color:var(--navy);font-size:24px;border:0;line-height:1}.modal-body{padding:22px 23px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:18px 23px;border-top:1px solid var(--line);background:#f8fafb}.camera-stream{width:100%;aspect-ratio:4/3;object-fit:cover;background:#16242c;border:1px solid var(--line);display:block}.camera-gallery{display:flex;gap:9px;overflow-x:auto;margin-top:12px}.camera-gallery img{height:80px;width:100px;object-fit:cover;border:1px solid var(--line)}.camera-gallery .preview{position:relative}.camera-gallery .preview button{position:absolute;top:0;right:0;background:#b8362a;color:white;border:0}.camera-buttons{display:flex;gap:9px;margin-top:13px}.camera-note{background:#f1f5f7;font-size:11px;padding:10px 13px;color:var(--sub);line-height:1.5;margin:12px 0}.scan-box{min-height:250px;background:#f0f4f6;display:grid;place-items:center;border:1px solid var(--line)}#qr-reader{width:100%}.qr-print{padding:20px;background:white;border:1px dashed var(--line);text-align:center;display:grid;justify-items:center;gap:12px}.qr-print img{width:220px;height:220px;max-width:100%}.qr-print h2{margin:0}.qr-print span{font-size:11px}.qr-data{word-break:break-all}.table-actions{display:flex;gap:5px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}.auth-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:19px}.quiet-link{font-weight:700;font-size:11px;background:none;border:0;color:var(--blue);padding:0;text-decoration:underline}.footnote{margin-top:10px;font-size:11px;color:var(--sub)}#toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:min(420px,calc(100vw - 36px));pointer-events:none}#toast>div{padding:13px 16px;border:1px solid #c6d4db;background:#fff;box-shadow:0 10px 36px #13253230;line-height:1.5;font-size:12px;margin-top:9px}#toast .error{border-left:4px solid var(--red)}#toast .ok{border-left:4px solid var(--green)}.loading{padding:60px;text-align:center;color:var(--sub)}.mobilebar{display:none}.top-logout{display:none}
@media(max-width:1120px){.app-shell{grid-template-columns:208px minmax(0,1fr)}.container{padding:25px 22px}.topbar{padding:14px 22px}.sidebar .auth-brand{font-size:15px}.split{grid-template-columns:1fr}.metric-grid{gap:9px}.metric{padding:17px}.metric-value{font-size:27px}}
@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.auth-left{min-height:215px;padding:24px 24px}.auth-left h1{font-size:35px;max-width:500px;line-height:1.05;margin:17px 0}.auth-left p{font-size:12px}.auth-small{display:none}.auth-right{padding:22px}.auth-card{padding:26px 24px}.app-shell{display:block;padding-bottom:65px}.sidebar{display:none}.topbar{min-height:63px;padding:11px 16px}.topbar-left small{font-size:10px}.topbar-right .topbar-chip{display:none}.top-logout{display:block;border:0;background:transparent;color:var(--sub);font-size:10px;text-decoration:underline}.container{padding:24px 13px 45px}.page-heading{display:block;margin-bottom:17px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.page-actions{margin-top:13px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.metric{padding:16px}.metric-label{font-size:10px;margin-bottom:15px;min-height:25px}.metric-value{font-size:27px}.metric-meta{font-size:10px}.panel-head,.panel-body{padding:15px}.review-card{grid-template-columns:1fr}.review-photo{min-height:180px}.review-photo img{height:180px}.review-body{padding:17px}.task-card{grid-template-columns:1fr auto;gap:8px;padding:15px}.task-time{grid-column:1/-1;align-self:auto;border:0;padding:0;font-size:11px;color:var(--sub)}.task-main h3{font-size:14px}.task-main p{font-size:11px}.task-side{align-self:center}.task-bob{font-size:10px}.form-grid,.two-col{grid-template-columns:1fr}.field-choices{grid-template-columns:repeat(2,1fr)}.table-scroll{margin:0 -1px}.mobilebar{display:flex;position:fixed;z-index:7;bottom:0;left:0;right:0;height:65px;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:5px 2px env(safe-area-inset-bottom,0)}.mobile-nav{flex:1;min-width:0;display:grid;justify-items:center;align-content:center;gap:3px;border:0;background:white;color:#748692;font-size:9px;font-weight:800;max-width:95px}.mobile-nav.active{color:#1b2733;border-top:3px solid var(--yellow);background:#fffbe8}.mobile-nav svg{width:20px;height:20px}.modal-overlay{padding:6px;align-items:flex-end}.modal{max-height:calc(100vh - 20px);width:100%}.modal-head{padding:15px}.modal-body{padding:15px}.modal-actions{padding:14px}.mini-item{gap:6px}#toast{bottom:77px}}
@media print{.sidebar,.mobilebar,.topbar,.btn,.modal-actions,#toast{display:none!important}.app-shell{display:block}.container{padding:0}.panel{border:none}.modal-overlay{position:relative;background:white;padding:0}.modal{max-height:none;border:0}body{background:white}}
@media print{body:has(.qr-print) .app-shell,body:has(.qr-print) .mobilebar,body:has(.qr-print) .modal-head,body:has(.qr-print) .modal-actions,body:has(.qr-print) .modal-body > p,body:has(.qr-print) .qr-print + div{display:none!important}body:has(.qr-print) .modal-overlay{position:static;padding:0;background:#fff}body:has(.qr-print) .modal-body{padding:30px}}
