:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1a2635;background:#f6f8fb;font-synthesis:none;font-smooth:always}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit;text-decoration:none}.muted{color:#8793a3}.small{font-size:12px;color:#8190a0}.app-shell{min-height:100vh;display:grid;grid-template-columns:247px minmax(0,1fr)}.sidebar{background:#142338;color:#dbe8f7;display:flex;flex-direction:column;padding:26px 16px 16px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 33px}.brand-mark{border-radius:12px;width:40px;height:40px;background:#3986e3;display:flex;align-items:center;justify-content:center;color:white;font-size:28px;box-shadow:0 6px 17px #0003}.brand strong{display:block;font-size:17px;letter-spacing:-.45px;color:white}.brand small{display:block;font-size:11px;color:#99adc4;margin-top:4px}.sidebar-label{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#7089a5;padding:0 12px;margin:0 0 14px}.nav{display:flex;flex-direction:column;gap:6px}.nav-item{padding:12px 13px;border-radius:9px;text-align:left;border:0;background:transparent;color:#c4d4e6;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;width:100%}.nav-item span:first-child{font-size:17px;opacity:.83}.nav-item:hover{background:#203a56;color:white}.nav-item.active{background:#2e5177;color:white}.sidebar-spacer{flex:1}.role-switch{background:#1b3049;border:1px solid #2c4560;border-radius:12px;padding:12px;margin-bottom:16px}.role-switch label{font-size:11px;color:#96acc4;display:block;margin-bottom:8px}.role-switch select{width:100%;min-width:0;background:#fff;color:#1c3145;border:0;padding:10px 9px;border-radius:7px;font-size:12px;font-weight:600}.role-help{font-size:11px;color:#96acc4;line-height:1.5;margin-top:8px}.sidebar-footer{border-top:1px solid #30435b;padding:15px 4px 0;font-size:11px;color:#a7bad1;white-space:nowrap}.offline-dot{display:inline-block;width:7px;height:7px;background:#7ccea9;border-radius:50%;margin-right:5px}.main-col{min-width:0}.topbar{background:white;border-bottom:1px solid #e7edf2;display:flex;justify-content:space-between;align-items:center;min-height:66px;padding:0 35px}.crumb{font-size:13px;color:#617286;font-weight:600}.topbar-right{display:flex;align-items:center;gap:20px;font-size:12px}.local-label{font-size:10px;background:#eaf7ef;color:#32825b;padding:6px 9px;border-radius:6px;font-weight:800;letter-spacing:.6px}.top-user{color:#6a7a8b}.main-content{max-width:1540px;margin:auto;padding:36px 38px 70px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#4e88c7;font-weight:800;text-transform:uppercase;margin:0 0 9px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:30px}.page-head h1{font-size:29px;letter-spacing:-.95px;margin:0 0 7px;font-weight:750}.page-head p{color:#7a8b9c;margin:0;font-size:13px}.btn{border:1px solid #dbe4ed;background:white;color:#33495f;border-radius:9px;padding:10px 14px;font-size:12.5px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .12s,transform .12s;white-space:nowrap}.btn:hover:not(:disabled){background:#eff5fa}.btn-primary{background:#287cd9;color:white;border-color:#287cd9;box-shadow:0 5px 11px #2475c01c}.btn-primary:hover:not(:disabled){background:#176cbe}.btn-quiet{border-color:transparent;box-shadow:none;background:transparent}.btn-danger{color:#bf3d43;border-color:#f4d4d6;background:#fff8f8}.btn-success{color:#24845a;background:#ebf9f1;border-color:#d2ebdf}.btn-sm{padding:7px 11px;font-size:11px;border-radius:7px}.btn-block{width:100%}.btn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat{background:#fff;border:1px solid #e5ebf1;border-radius:13px;padding:20px;box-shadow:0 3px 12px #152b3c06;min-height:118px}.stat .s-top{display:flex;justify-content:space-between;align-items:center}.stat .s-icon{background:#edf4fb;color:#387cc8;border-radius:9px;padding:8px;font-size:19px}.stat .label{font-size:12px;color:#7e8c9e;font-weight:650}.stat .number{font-size:30px;letter-spacing:-1.2px;margin:12px 0 2px;font-weight:760}.stat .meta{font-size:11px;color:#96a2af}.surface{background:#fff;border:1px solid #e3eaf0;border-radius:13px;box-shadow:0 4px 20px #1f3b5706}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px;border-bottom:1px solid #eaf0f4}.section-head h2{font-size:15px;margin:0;font-weight:750}.section-head .subtitle{font-size:11px;color:#8fa0b0;margin-left:10px}.filter-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.input,.select,textarea{border:1px solid #dbe3eb;background:#fff;color:#293e51;border-radius:9px;padding:10px 12px;outline:none;font-size:13px;width:100%}.input:focus,.select:focus,textarea:focus{border-color:#498ddd;box-shadow:0 0 0 3px #4388db1b}.filter-row .select{min-width:155px;width:auto;padding:8px 9px}.table-overflow{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;text-align:left}.report-table th{font-size:10px;letter-spacing:1px;color:#91a0ae;text-transform:uppercase;font-weight:800;background:#fbfcfe;padding:13px 20px;border-bottom:1px solid #eef1f5}.report-table td{font-size:13px;padding:17px 20px;border-bottom:1px solid #eef1f5;vertical-align:middle}.report-table tr:last-child td{border-bottom:0}.report-table tbody tr{cursor:pointer}.report-table tbody tr:hover{background:#f7fbff}.store-name{font-weight:750;color:#223447}.store-sub{font-size:11px;color:#9ba8b7;margin-top:4px}.avatar{width:35px;height:35px;background:#edf4fc;color:#5d87ae;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:750;flex-shrink:0}.store-cell{display:flex;align-items:center;gap:11px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.st-draft{color:#7b8998;background:#f2f4f6}.st-in_review,.st-resubmitted{color:#2d7db9;background:#eaf4fc}.st-changes_requested{color:#bd6e23;background:#fff2e2}.st-approved{color:#2d986c;background:#eaf8f0}.empty{padding:55px 24px;color:#8e9cac;text-align:center}.empty .empty-icon{font-size:36px;margin-bottom:12px}.empty strong{display:block;color:#405367;font-size:15px}.muted-link{font-size:12px;color:#397bc4;font-weight:700}.demo-strip{display:flex;align-items:center;gap:9px;border:1px solid #dbeafd;background:#f1f7ff;color:#567496;padding:13px 16px;font-size:12px;border-radius:10px;margin-bottom:24px}.report-heading{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.report-heading h1{margin:0}.report-meta{display:flex;gap:12px;align-items:center;color:#8a9bab;font-size:12px;margin-top:10px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.84fr);gap:16px;align-items:start}.workspace-main{display:flex;flex-direction:column;gap:14px;min-width:0}.report-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.info-tile{background:#fff;border:1px solid #e7edf3;border-radius:10px;padding:13px}.info-tile strong{display:block;font-size:17px}.info-tile span{font-size:11px;color:#8595a5;display:block;margin-top:4px}.photo-toolbar{padding:13px 17px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-toolbar strong{font-size:13px}.photo-toolbar span{font-size:11px;color:#9ca9b7}.tool-group{display:flex;gap:5px;flex-wrap:wrap}.tool{width:34px;height:34px;border-radius:7px;background:#f5f8fa;border:1px solid transparent;font-size:16px;color:#446079;display:flex;align-items:center;justify-content:center}.tool:hover{background:#e7f1fb}.tool.active{border-color:#4b94e1;background:#eaf4ff;color:#1675ce}.tool.disabled{opacity:.4}.tool-tip{font-size:11px;color:#8091a2}.image-stage{min-height:420px;display:flex;align-items:center;justify-content:center;padding:18px 17px;background:repeating-linear-gradient(45deg,#f3f6f8 0px,#f3f6f8 10px,#f7f9fb 10px,#f7f9fb 20px)}.photo-surface{position:relative;display:inline-block;max-width:100%;line-height:0;box-shadow:0 8px 26px #30435426;border-radius:4px;overflow:hidden}.photo-surface img{display:block;max-width:100%;max-height:60vh;height:auto;width:auto}.annotation-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none}.tool-hint{font-size:12px;color:#7b8fa4;padding:10px 16px;border-top:1px solid #eef0f3;background:white;min-height:37px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;padding:14px}.thumb{background:#f7f9fb;border:2px solid transparent;border-radius:9px;overflow:hidden;text-align:left;padding:0;color:#33485d;position:relative}.thumb:hover{border-color:#a5c7e8}.thumb.active{border-color:#2584db;background:#eef7ff}.thumb img{width:100%;height:82px;object-fit:cover;display:block}.thumb-meta{padding:7px 8px}.thumb-meta b{display:block;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.thumb-meta small{font-size:10px;color:#8c9aa8}.thumb-num{position:absolute;top:5px;left:5px;background:#182e42ce;color:white;padding:4px 6px;border-radius:5px;font-size:10px;font-weight:700}.uploadbox{background:#fff;border:1px dashed #b9cfe1;border-radius:11px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;align-items:end}.uploadbox .input{margin-top:6px}.uploadbox label{font-size:11px;color:#788b9c;font-weight:700}.file-trigger input{display:none}.upload-note{font-size:11px;color:#8193a4;grid-column:1/-1}.checkbox-line{display:flex;align-items:center;gap:7px;color:#536b80;font-size:11px;grid-column:1/-1}.checkbox-line input{width:15px;height:15px;accent-color:#3184d6}.review-panel{position:sticky;top:20px;max-height:calc(100vh - 110px);overflow:auto}.review-head{padding:17px;border-bottom:1px solid #ebf1f5;display:flex;justify-content:space-between;align-items:center}.review-head strong{font-size:14px}.review-head small{font-size:11px;color:#8a9aab}.issue-list{max-height:210px;overflow:auto;padding:10px}.issue-item{width:100%;text-align:left;display:flex;align-items:flex-start;gap:10px;border:1px solid #e5ebf1;background:#fff;padding:10px;border-radius:9px;margin-bottom:7px}.issue-item:hover{background:#f7fbff}.issue-item.active{border-color:#8fbde9;background:#f0f7fe}.issue-no{width:24px;height:24px;flex-shrink:0;border-radius:7px;background:#ec6761;color:white;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.issue-item.resolved .issue-no{background:#5caf88}.issue-text{min-width:0;flex:1}.issue-text b{font-size:11px;color:#334c61;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-text small{font-size:10px;color:#899aa9;margin-top:4px;display:block}.thread{padding:14px 15px 18px;border-top:1px solid #edf1f5}.thread-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.thread-title strong{font-size:13px}.thread-list{display:flex;flex-direction:column;gap:12px;margin:12px 0 17px}.message{padding:10px 11px;border-radius:9px;background:#f3f6fa;border:1px solid #e8edf2}.message.mine{background:#eef6ff;border-color:#d9eafc}.message-top{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:10px;color:#8393a3;margin-bottom:6px}.message-top b{color:#4a6378}.message p{margin:0;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.thread textarea{resize:vertical;min-height:74px}.thread-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.counter-circle{font-size:11px;border-radius:50%;padding:5px 9px;background:#f1f4f7;color:#657586}.action-bar{margin-bottom:19px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.activity{margin-top:18px}.activity-inner{padding:16px 20px}.activity-row{display:flex;align-items:center;gap:10px;font-size:12px;color:#7890a3;padding:8px 0;border-bottom:1px solid #f1f3f6}.activity-row:last-child{border:0}.activity-row b{color:#3f5970}.form-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;padding:20px}.form-grid label{font-size:12px;color:#708395;font-weight:600;display:block;margin-bottom:6px}.helper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.helper-box{padding:22px}.helper-box h3{font-size:14px;margin:0 0 9px}.helper-box p,.helper-box li{font-size:13px;line-height:1.65;color:#73869a}.modal-backdrop{position:fixed;inset:0;background:#15243b95;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal{background:white;border-radius:15px;width:100%;max-width:510px;padding:26px;box-shadow:0 22px 60px #0a132d50}.modal h2{margin:0;font-size:20px}.modal p{color:#708395;font-size:12px;line-height:1.5;margin:9px 0 17px}.modal textarea{min-height:125px;resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.toast{position:fixed;right:22px;bottom:22px;z-index:1100;padding:13px 18px;border-radius:9px;background:#1c3955;color:white;font-size:13px;box-shadow:0 10px 34px #13283a40;max-width:360px}.toast.error{background:#a93d45}.loading{min-height:320px;display:flex;align-items:center;justify-content:center;gap:13px;color:#798a9e}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid #d0dfec;border-top-color:#3789d9;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.note{background:#f0f6fd;border:1px solid #d8eafb;color:#536f8d;padding:12px 15px;border-radius:9px;font-size:12px;line-height:1.55}.nowrap{white-space:nowrap}.hide{display:none!important}.inline-flag{font-size:10px;padding:4px 6px;border-radius:6px;color:#2c8562;background:#eaf8f1;font-weight:700}.photo-empty{min-height:390px;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#98a9b8;gap:7px}.photo-empty strong{color:#556c80}.photo-empty .empty-illustration{font-size:45px}.crop-check{display:flex;align-items:center;gap:8px}.horizontal-dots{color:#91a2af}
@media(max-width:1190px){.workspace{grid-template-columns:minmax(0,1fr)}.review-panel{position:static;max-height:none}.image-stage{min-height:340px}.photo-surface img{max-height:68vh}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;min-height:unset;height:auto;padding:13px 18px;display:grid;grid-template-columns:1fr auto;gap:8px}.brand{padding:0}.brand-mark{width:35px;height:35px}.sidebar-label,.sidebar-spacer,.sidebar-footer,.role-help{display:none}.nav{grid-column:1/-1;flex-direction:row;overflow:auto}.nav-item{width:auto;padding:10px 11px;white-space:nowrap}.role-switch{grid-column:2;grid-row:1;max-width:230px;margin:0;padding:5px;border:0;background:transparent}.role-switch label{display:none}.role-switch select{font-size:11px;padding:8px 6px}.topbar{padding:12px 22px;min-height:49px}.main-content{padding:25px 22px 55px}.cards-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.top-user{display:none}.main-content{padding:22px 13px 55px}.page-head h1{font-size:24px}.page-head{margin-bottom:20px}.cards-4{gap:8px}.stat{min-height:105px;padding:13px}.stat .number{font-size:25px}.stat .label{font-size:11px}.stat .s-icon{padding:6px}.report-table th,.report-table td{padding:11px 9px}.report-table .hide-small{display:none}.report-table td{font-size:11px}.report-table th{font-size:9px}.report-info{grid-template-columns:repeat(3,minmax(0,1fr))}.info-tile{padding:9px}.info-tile strong{font-size:13px}.info-tile span{font-size:10px}.photo-toolbar{flex-wrap:wrap}.image-stage{padding:9px;min-height:270px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px}.thumb img{height:70px}.uploadbox{grid-template-columns:1fr}.uploadbox .btn{width:100%}.helper-grid{grid-template-columns:1fr}.brand small{display:none}.brand strong{font-size:14px}.sidebar{padding:9px}.sidebar .nav-item{font-size:12px}.role-switch{max-width:165px}.role-switch select{width:160px;white-space:nowrap}.form-grid{grid-template-columns:1fr}}

/* v1.2: separate shop selector for the single simulated store role */
.store-switch{padding:12px;margin-bottom:12px;background:#203a55;border:1px solid #315273;border-radius:11px}
.store-switch label{display:block;font-size:11px;color:#a3bfdc;margin-bottom:8px}
.store-switch select{width:100%;min-width:0;padding:10px 8px;background:#fff;border:0;border-radius:7px;font-size:12px;color:#1d354d}
.modal .input{min-height:40px}.modal label{display:block}.empty .btn{margin-top:16px}.empty p{line-height:1.6;max-width:500px;margin:9px auto}
@media(max-width:900px){#store-switch-area{grid-column:1/-1;grid-row:3}.store-switch{margin-bottom:0;padding:6px 10px}.store-switch label{display:none}.store-switch select{max-width:100%;padding:7px}}

/* v1.3 — clearer uploads, global issue/correction navigation and actions. */
.uploadbox-simple{grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1.5px dashed #80b0df;background:#f6fbff;gap:12px;padding:18px}
.upload-intro strong{font-size:15px;color:#243d56}.upload-intro p{font-size:12px;line-height:1.55;color:#647f99;margin:6px 0 0}
.btn-upload{background:linear-gradient(125deg,#1878e0,#065db8);color:#fff!important;border:2px solid #075aad;border-radius:10px;padding:13px 20px;font-weight:750;font-size:14px;box-shadow:0 5px 14px #165fab36;white-space:nowrap;transition:transform .16s,box-shadow .16s;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}
.btn-upload:hover{background:linear-gradient(125deg,#096ccf,#034c99);transform:translateY(-1px);box-shadow:0 7px 16px #165fab52}
.btn-outline{border:1px solid #92b5d9;background:#fff;color:#25629a}
.btn-outline:hover{background:#e7f3ff}
.btn-success{background:#259866;color:white;border:1px solid #1d895b}
.btn-success:hover{background:#1d7a53;color:white}
.btn-danger-outline{color:#b9504c;border:1px solid #e8b5ad;background:#fff}
.btn-danger-outline:hover{background:#fff0ec}
.upload-note{line-height:1.5}
.classifier-warning,.classifier-ok{grid-column:1/-1;border-radius:8px;padding:11px 13px;font-size:12px;line-height:1.6}
.classifier-warning{background:#fff6eb;border:1px solid #f5d4a1;color:#9c672c}
.classifier-ok{background:#eef8f2;border:1px solid #c9e5d3;color:#36774e;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.global-issues{margin-top:18px;overflow:hidden}.global-issue-list{display:flex;flex-direction:column;gap:0;padding:0 15px 12px}
.section-head-stack{gap:10px}.section-head-stack p{margin:4px 0 0}.global-issue{width:100%;background:#fff;text-align:left;color:#253b50;border:1px solid #ebf0f4;border-radius:9px;padding:11px 13px;display:flex;align-items:center;gap:12px;margin:5px 0}
.global-issue:hover{background:#f5faff;border-color:#a2c6e8}.global-issue.active{background:#eaf5ff;border-color:#519bdd;box-shadow:inset 3px 0 #2c82d0}
.issue-photo-no{font-size:11px;font-weight:800;white-space:nowrap;background:#eaf0f7;padding:7px 9px;border-radius:6px;min-width:72px;text-align:center}
.global-issue-main{flex:1;min-width:0}.global-issue-main b{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.global-issue-main small{display:block;font-size:11px;margin-top:4px;color:#8999a8}
.issue-state{padding:6px 9px;border-radius:7px;font-size:10px;font-weight:750;white-space:nowrap}.state-open{background:#fff0e8;color:#a96b33}.state-sent{background:#ebf4ff;color:#316cb0}.state-done{background:#e6f7ec;color:#27845f}
.empty-small{padding:22px;text-align:center}.flag-open{background:#fff0e8;color:#ae7139}
.correction-photos{margin-bottom:12px}.correction-photos>strong{font-size:12px;display:block;margin:0 0 8px}.correction-images{display:flex;gap:9px;flex-wrap:wrap}.correction-images button{padding:0;border:1px solid #dae6f1;background:#f6f8fa;border-radius:7px;overflow:hidden;text-align:center}.correction-images img{display:block;width:86px;height:63px;object-fit:cover}.correction-images span{font-size:10px;padding:4px;display:block;color:#638099}
@media(max-width:650px){.uploadbox-simple{grid-template-columns:1fr}.btn-upload{width:100%;white-space:normal}.global-issue{align-items:flex-start;flex-wrap:wrap}.global-issue-main{flex-basis:calc(100% - 90px)}.issue-state{margin-left:83px}.section-head-stack{flex-wrap:wrap}.action-bar .btn{max-width:100%}}

/* Checklist v1.4 */
.checklist-section,.checklist-settings{margin-top:18px}.checklist-total{display:flex;flex-direction:column;align-items:flex-end}.checklist-total strong{font-size:24px}.checklist-total span{font-size:12px;color:#718397}.checklist-progress{height:7px;border-radius:8px;background:#e8eff4;margin:0 20px 8px;overflow:hidden}.checklist-progress span{display:block;height:100%;background:#22a077}.checklist-row{display:flex;gap:14px;padding:16px 20px;border-top:1px solid #e8edf3}.checklist-number{border-radius:50%;background:#eaf1f9;color:#456581;width:28px;height:28px;line-height:28px;text-align:center;flex:none;font-weight:700}.checklist-content{flex:1;min-width:0}.checklist-help{margin:8px 0;color:#607487;font-size:13px}.checklist-help summary{cursor:pointer;color:#3577bb;font-weight:600}.checklist-help div{padding:9px 0;white-space:normal}.checklist-score-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.score-button,.score-clear{border:1px solid #d6e0e9;background:#fff;border-radius:7px;padding:8px 12px;cursor:pointer;font-weight:600}.score-button:disabled{cursor:default;opacity:.7}.score-yes{background:#e2f6ed;border-color:#1d9d6e;color:#116a4a}.score-no{background:#fff0ed;border-color:#d66356;color:#a23e37}.score-clear{color:#748698}.checklist-note-label{display:block;margin-top:8px;font-size:12px;color:#758598}.checklist-note-label input{margin-top:4px}.checklist-settings-body{padding:20px}.checklist-settings-body textarea{font-family:inherit;min-height:240px;resize:vertical;white-space:pre;overflow:auto}.checklist-settings-body p{margin-bottom:14px;line-height:1.5}@media(max-width:720px){.checklist-row{padding:13px}.checklist-total strong{font-size:19px}}

/* v1.5: title + expandable explanatory text in parentheses. */
.criteria-heading{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;line-height:1.5}
.criteria-heading>b{font-size:14px;color:#23354b}
.criteria-heading .checklist-help{display:inline;margin:0;font-size:12px}
.criteria-heading .checklist-help summary{display:list-item;list-style:none;color:#3778b9;font-weight:600;cursor:pointer}
.criteria-heading .checklist-help summary::-webkit-details-marker{display:none}
.criteria-heading .checklist-help[open]{flex-basis:100%;margin:6px 0}
.criteria-heading .checklist-help div{color:#526b83;padding:9px 12px;background:#f5f8fc;border-left:3px solid #6da9dd;border-radius:4px;line-height:1.6}
.template-advanced{margin-top:20px;border-top:1px solid #e8edf3;padding-top:12px}
.template-advanced>summary{cursor:pointer;color:#2e70ad;font-weight:700}

/* v1.6 — weekly scores and per-criterion performance */
.score-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.score-stat{background:#fff;border:1px solid #e5ebf1;border-radius:12px;padding:18px;min-width:0}
.score-stat-label{display:flex;justify-content:space-between;gap:8px;color:#74889b;font-size:12px;font-weight:650}
.score-stat-label i{font-size:18px;font-style:normal;color:#4483bd}
.score-stat>strong{display:block;font-size:27px;line-height:1.2;margin-top:10px;color:#1c354f}
.score-stat>small{display:block;font-size:11px;color:#8798a8;margin-top:6px}
.score-summary-panel,.score-criteria-panel{overflow:hidden;margin-bottom:18px}
.score-head{align-items:flex-end;flex-wrap:wrap}.score-head h2{margin-bottom:5px}.score-head .small{line-height:1.55;margin:0}
.score-filter-row{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.score-filter-row label,.score-week-picker{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#647f98;font-weight:700}
.score-filter-row .select,.score-week-picker .select{width:auto;min-width:160px;max-width:250px;padding:8px 10px}
.score-filter-row .input{width:190px;padding:8px 10px;max-width:100%}
.score-matrix-wrap{overflow-x:auto;max-width:100%;position:relative}
.score-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:12px;text-align:center}
.score-matrix th,.score-matrix td{padding:10px;border-bottom:1px solid #eaf0f4;border-right:1px solid #f0f3f7;min-width:132px}
.score-matrix thead th{background:#f6f9fc;color:#526980;font-weight:750;position:sticky;top:0;z-index:1}
.score-matrix .score-store-col{position:sticky;left:0;z-index:2;text-align:left;min-width:225px;max-width:225px;background:#fff;box-shadow:3px 0 8px #263e5210}
.score-matrix thead .score-store-col{z-index:3;background:#f6f9fc}
.score-matrix .score-week-col{min-width:137px}.score-week-date{display:block;white-space:nowrap}
.score-week-col small{display:block;margin-top:3px;color:#9baabb;font-weight:500}
.score-store-name{display:block;white-space:normal;overflow-wrap:anywhere;color:#283f55;font-size:13px}
.score-store-col small{display:block;color:#97a5b2;font-size:10px;margin-top:5px;font-weight:500}
.score-matrix tbody tr:hover .score-store-col,.score-matrix tbody tr:hover td{background-color:#f9fcff}
.score-matrix .score-avg-col,.score-matrix .score-avg-cell{min-width:112px;background:#f8fbfd}
.score-avg-cell b{font-size:14px;color:#294762}.score-avg-cell b span{font-size:11px;color:#8393a5}
.score-avg-cell small{display:block;margin-top:5px;font-size:10px;color:#8c9cb0}
.matrix-score{width:100%;min-width:116px;min-height:61px;border:1px solid transparent;border-radius:8px;padding:8px 7px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;background:#f0f5fa;transition:border-color .15s,box-shadow .15s}
.matrix-score:hover{border-color:#438dda;box-shadow:0 0 0 2px #4391de22}
.matrix-score strong{font-size:17px;color:#25577e}.matrix-score strong span{font-size:11px;color:#6c8296;margin-left:2px}
.matrix-score small{font-size:10px;color:#75899b;white-space:normal;line-height:1.2}
.matrix-final{background:#e9f7f1}.matrix-final strong{color:#1d7f5f}.matrix-final small{color:#45846c}
.matrix-legacy{background:#eff2fc}.matrix-legacy strong{color:#6574a5}
.matrix-partial{background:#fff2da}.matrix-partial strong{color:#aa7326}.matrix-partial small{color:#967243}
.matrix-draft,.matrix-pending{background:#f1f4f7}.matrix-draft strong,.matrix-pending strong{color:#8b9aaa}
.matrix-empty{display:flex;min-height:61px;justify-content:center;align-items:center;flex-direction:column;color:#afbac6}
.matrix-empty small{font-size:10px;color:#aeb9c5;margin-top:4px}
.score-matrix tfoot th,.score-matrix tfoot td{background:#edf4fb;font-weight:800;color:#355c7d;border-top:1px solid #dae7f3;white-space:nowrap}
.score-matrix tfoot .score-store-col{background:#edf4fb}
.score-legend{display:flex;flex-wrap:wrap;gap:11px 17px;padding:14px 18px;color:#71869a;font-size:11px;line-height:1.6;border-top:1px solid #eaf0f4}
.score-legend span{display:flex;gap:6px;align-items:center}.score-legend i{width:11px;height:11px;display:inline-block;border-radius:3px}
.legend-done{background:#b3e4ce}.legend-partial{background:#f2db9b}.legend-unknown{background:#dce3ea}
.score-criteria-body{padding:12px 20px 18px}.score-criterion-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(110px,2fr) 55px;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f5}
.score-criterion-row:last-child{border-bottom:0}.score-criterion-title b{font-size:12px;color:#334a61;display:block}.score-criterion-title small{display:block;font-size:11px;color:#94a2b0;margin-top:4px}
.score-criterion-bar{height:10px;background:#e9f0f5;border-radius:99px;overflow:hidden}
.score-criterion-bar span{display:block;background:#4592d4;height:100%;border-radius:99px}
.score-criterion-row>strong{text-align:right;font-size:13px;color:#40678d}
@media(max-width:1050px){.score-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.score-summary-cards{grid-template-columns:1fr 1fr;gap:8px}.score-stat{padding:12px}.score-stat>strong{font-size:21px}.score-head{align-items:flex-start}.score-criterion-row{grid-template-columns:1fr 60px;gap:9px}.score-criterion-bar{grid-column:1/-1;grid-row:2}.score-criterion-row>strong{grid-column:2;grid-row:1}.score-filter-row .input{width:160px}}

/* v1.7: Login and admin invitations */
#auth-root{min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(155deg,#edf4f9,#f8fafc);padding:24px}
.auth-card{width:min(100%,440px);background:white;border:1px solid #dae4ed;border-radius:18px;padding:34px;box-shadow:0 18px 55px rgba(35,58,78,.13)}
.auth-brand{font-size:20px;font-weight:800;color:#257cb3;margin-bottom:22px}
.auth-card h1{font-size:27px;margin:0 0 10px}.auth-card p{color:#688193;margin:0 0 24px;font-size:14px;line-height:1.6}
.auth-card label{display:block;font-size:13px;font-weight:600;margin:15px 0}.auth-card .input{display:block;width:100%;margin-top:6px}
.auth-card button{width:100%;margin-top:15px;padding:12px}.auth-error{color:#b84b37;margin-top:14px;font-size:13px}
.invite-results{margin-top:22px;border-top:1px solid #e1e9ef;padding-top:10px}
.invite-result{margin:12px 0;padding:12px;background:#eef6fa;border-radius:8px;font-size:13px;overflow-wrap:anywhere}
.invite-link{display:flex;gap:8px;margin-top:8px;min-width:0}.invite-link input{flex:1;min-width:0}.invite-link button{flex-shrink:0}


/* v1.8 — weekly folder-tree calendar and region-based account administration */
.calendar-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.calendar-tree{padding:17px;position:sticky;top:20px;max-height:calc(100vh - 110px);overflow:auto}
.calendar-tree h2{font-size:16px;color:#213c56;margin:0 0 15px;padding:2px 4px 12px;border-bottom:1px solid #e5edf3}
.calendar-branch{margin:4px 0}
.calendar-branch summary{cursor:pointer;list-style:none;font-size:14px;font-weight:750;color:#405c76;padding:10px 8px;border-radius:8px;user-select:none}
.calendar-branch summary::-webkit-details-marker{display:none}
.calendar-branch summary:hover{background:#edf5fc}
.calendar-branch summary::before{content:'▸';font-size:11px;margin-right:7px;color:#8ca7bd}
.calendar-branch[open]>summary::before{content:'▾'}
.calendar-month{margin-left:13px}
.calendar-month summary{font-size:12px;color:#54728c}
.calendar-week{display:flex;width:calc(100% - 17px);margin:4px 0 4px 17px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:#f6f9fc;color:#43617b;font-size:12px;text-align:left;align-items:center;gap:8px;justify-content:space-between}
.calendar-week:hover{background:#eaf3fc;border-color:#c8dfef}
.calendar-week.selected{background:#e8f3ff;color:#166aae;border-color:#8ebfe9;font-weight:800}
.calendar-week small{color:#829ab1;font-size:11px}
.calendar-results{min-height:300px;overflow:hidden}
.calendar-results .section-head{gap:15px;flex-wrap:wrap}
.calendar-results .section-head .select{width:auto;min-width:195px;max-width:100%}
.calendar-results .report-table td{line-height:1.5}
.region-management{padding:18px 20px}
.region-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.region-chip{border-radius:50px;padding:7px 11px;border:1px solid #dce6f0;background:#f5f9fd;font-size:12px;color:#43627d;font-weight:650}
.region-create-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.region-create-form input{width:min(400px,100%);flex:1 1 210px}
.account-actions{display:flex;flex-wrap:wrap;gap:6px}
.account-active,.account-inactive{display:inline-block;padding:5px 8px;font-size:11px;border-radius:6px;font-weight:800;white-space:nowrap}
.account-active{color:#24795d;background:#e9f8f2}.account-inactive{color:#a25952;background:#fff0ed}
.account-modal{max-height:90vh;overflow:auto;width:min(100%,560px)}
.account-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.account-form>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#526d87}
.account-form .input,.account-form .select{width:100%;min-width:0}
.account-access-label{grid-column:1/-1;padding-top:11px;border-top:1px solid #e5edf5;font-size:11px;letter-spacing:1px;color:#4a83b5;font-weight:800}
.account-form>.small,.account-form>.modal-footer{grid-column:1/-1}
.admin-explanation{line-height:1.65;padding:16px 3px}
.store-region-select{max-width:210px;min-width:155px}
@media(max-width:950px){.calendar-layout{grid-template-columns:1fr}.calendar-tree{position:static;max-height:none}.calendar-branch{display:inline-block;vertical-align:top;min-width:170px}.calendar-month{display:block}.calendar-week{display:flex}}
@media(max-width:580px){.account-form{grid-template-columns:1fr}.calendar-tree{padding:13px}.calendar-results .section-head .select{width:100%}.calendar-branch{display:block}.region-create-form button{width:100%}}


/* v1.9: merchandising standards library & precheck */
.std-card,.std-analysis{overflow:hidden;margin:0 0 18px}
.std-form{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.std-form>label,.std-edit-fields>label,.std-analysis-form>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b657e}
.std-form .input,.std-edit-fields .input,.std-form .select,.std-edit-fields .select{width:100%;min-width:0}
.std-span{grid-column:1/-1}
.std-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.std-card .report-table td{vertical-align:middle}
.std-card .small{line-height:1.5}
.std-label{display:inline-block;font-size:11px;font-weight:750;padding:5px 9px;border:1px solid #dbe6ef;border-radius:7px;background:#f1f6fa;color:#4b6984;margin:4px 0}
.std-explain{line-height:1.6;margin-bottom:16px}
.std-edit-modal{max-width:625px;max-height:92vh;overflow:auto}
.std-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}
.std-edit-fields .modal-footer{grid-column:1/-1}
.std-edit-fields>label:nth-last-child(3),.std-edit-fields>label:nth-last-child(2){grid-column:1/-1}
.std-analysis-form{padding:20px;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid #e8eef3}
.std-analysis-form>label:first-child{max-width:580px}
.std-analysis-form b{color:#304a63}
.std-check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;line-height:1.5;cursor:pointer}
.std-check input,.std-choice input,.std-photo-choice input{accent-color:#277fd6;width:16px;height:16px;flex:none}
.std-choice-list{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.std-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #e6edf3;border-radius:9px;padding:10px 12px;background:#f9fbfe;cursor:pointer}
.std-choice span{display:flex;flex-direction:column;gap:3px}
.std-choice small{font-size:11px;color:#7d91a3}
.std-photo-list{display:flex;gap:9px;margin-top:10px;max-width:100%;overflow-x:auto;padding-bottom:5px}
.std-photo-choice{min-width:95px;width:95px;border:1px solid #e0e9f2;border-radius:8px;padding:7px;background:#f8fafc;display:grid;gap:4px;cursor:pointer;font-size:11px;color:#5b748d}
.std-photo-choice img{display:block;width:79px;height:67px;object-fit:cover;border-radius:4px}
.std-photo-choice input{justify-self:start}
.std-run-list{padding:17px 20px}
.std-run-list h3{font-size:15px;margin:0 0 12px;color:#2a445d}
.std-run{border:1px solid #e0e8f0;border-radius:10px;margin:9px 0;background:white}
.std-run>summary{font-size:13px;font-weight:750;color:#3e617e;cursor:pointer;padding:13px}
.std-run-body{border-top:1px solid #e7eef5;padding:15px;font-size:13px;line-height:1.6}
.std-finding{border-left:3px solid #c6a85c;background:#f9fbfe;padding:12px;margin:12px 0;border-radius:7px}
.std-finding p{margin:6px 0}
.std-finding textarea{margin:10px 0;min-height:64px}
.std-finding .account-actions{margin:8px 0}
@media(max-width:650px){.std-form,.std-edit-fields{grid-template-columns:1fr}.std-form-actions{flex-direction:column;align-items:stretch}.std-form-actions button{width:100%}}
