:root{color-scheme:light;font-family:Segoe UI,system-ui,sans-serif;background:#f4f6f8;color:#1a1a1a}*{box-sizing:border-box}body{margin:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:32px;width:min(420px,100%);box-shadow:0 8px 24px rgba(0,0,0,.06)}.auth-title{margin:0 0 8px;font-size:1.75rem}.auth-hint{margin:0 0 20px;color:#5a6472}.auth-cta{width:100%;border:0;border-radius:8px;padding:12px 16px;background:#0078d4;color:#fff;font-size:1rem;cursor:pointer}.auth-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #d8dee4}.auth-bar button{border:1px solid #c8d0d8;background:#fff;border-radius:6px;padding:6px 12px;cursor:pointer}.hello-page{max-width:720px;margin:48px auto;padding:0 20px}.hello-page h1{font-size:3rem;margin:0 0 12px}.hello-sub{color:#5a6472;font-size:1.1rem}.hello-api{background:#e8f5e9}.hello-api,.hello-error{margin-top:24px;padding:12px 16px;border-radius:8px}.hello-error{background:#fdecea;color:#b42318}:root{--navy:#1e3a6e;--pink:#e91e8c;--navy-light:#2a4f96;--border:#d0d7e2;--row-hover:#f0f4fb}.admin-page{max-width:1100px;margin:0 auto;padding:32px 24px}.admin-header{margin-bottom:24px}.admin-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;margin-bottom:8px;color:#5a6472}.breadcrumb-link{background:none;border:none;padding:0;color:var(--navy);font-size:inherit;cursor:pointer;text-decoration:underline}.breadcrumb-link:hover{color:var(--pink)}.breadcrumb-sep{color:#aab}.breadcrumb-current{color:#444;font-weight:500}.admin-title{margin:0;font-size:1.6rem;color:var(--navy)}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.btn-add{background:var(--pink);color:#fff;border:none;border-radius:6px;padding:9px 18px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-add:hover{background:#c4177a}.btn-primary{background:var(--navy);color:#fff;border:none;border-radius:6px;padding:9px 20px;font-size:.95rem;font-weight:600;cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--navy-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#333;border:1px solid var(--border);border-radius:6px;padding:9px 20px;font-size:.95rem;cursor:pointer}.btn-secondary:hover:not(:disabled){background:#f4f6f8}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-icon{background:none;border:1px solid var(--border);border-radius:4px;padding:3px 9px;font-size:.82rem;cursor:pointer;color:var(--navy);margin:0 2px}.btn-icon:hover:not(:disabled){background:var(--row-hover);border-color:var(--navy)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon.btn-danger{color:#b42318;border-color:#f4b8b4}.btn-icon.btn-danger:hover{background:#fdecea;border-color:#b42318}.btn-link{background:none;border:none;padding:0;color:var(--navy);font-size:inherit;cursor:pointer;font-weight:500;text-decoration:underline;text-align:left}.btn-link:hover{color:var(--pink)}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-table th{background:var(--navy);color:#fff;text-align:left;padding:10px 14px;font-weight:600;font-size:.85rem;letter-spacing:.02em}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--row-hover)}.col-order{width:50px;text-align:center}.col-actions{width:200px;white-space:nowrap}.col-points{width:80px;text-align:right}.col-sop{width:60px;text-align:center}.col-desc{color:#5a6472;max-width:320px}.muted{color:#aab}.sop-link{color:var(--navy);font-size:.85rem;font-weight:500}.admin-empty,.admin-loading{color:#5a6472;padding:32px 0;text-align:center}.admin-error{color:#b42318;background:#fdecea;border-radius:8px;padding:16px 20px;margin:24px 0}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:#fff;border-radius:10px;width:min(560px,100%);box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.15rem;color:var(--navy)}.modal-close{background:none;border:none;font-size:1rem;cursor:pointer;color:#888;padding:4px 8px;border-radius:4px}.modal-close:hover{background:#f4f6f8;color:#333}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 18px;border-top:1px solid var(--border)}.form-group{display:flex;flex-direction:column;gap:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group label{font-size:.85rem;font-weight:600;color:#333}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.93rem;font-family:inherit;outline:none;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--navy);box-shadow:0 0 0 2px rgba(30,58,110,.12)}.assess-loading{display:grid;place-items:center;min-height:100vh;color:#5a6472;font-size:1.1rem}.assess-landing{min-height:100vh;background:#f4f6f8;display:flex;flex-direction:column}.assess-landing-header{background:var(--navy);color:#fff;padding:24px 20px 20px}.assess-landing-title{margin:0 0 4px;font-size:1.6rem}.assess-landing-sub{margin:0;font-size:.95rem;opacity:.8}.assess-search-wrap{padding:12px 16px;background:#fff;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.assess-search{width:100%;padding:10px 14px;font-size:1rem;border:1px solid var(--border);border-radius:8px;outline:none;font-family:inherit}.assess-search:focus{border-color:var(--navy);box-shadow:0 0 0 2px rgba(30,58,110,.12)}.assess-branch-list{flex:1 1;overflow-y:auto;padding-bottom:220px}.assess-district-group{border-bottom:1px solid var(--border)}.assess-district-label{padding:8px 16px 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a6472;background:#f4f6f8}.assess-branch-row{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:#fff;border:none;border-bottom:1px solid var(--border);padding:14px 16px;min-height:52px;font-size:1rem;font-family:inherit;cursor:pointer;transition:background .1s}.assess-branch-row:hover{background:var(--row-hover)}.assess-branch-row.selected{background:#e8edf7;border-left:3px solid var(--navy)}.assess-branch-name{font-weight:500;color:#1a1a1a}.assess-branch-code{font-size:.82rem;color:#888;margin-left:8px}.assess-period-panel{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:16px 20px 28px;box-shadow:0 -4px 16px rgba(0,0,0,.1);z-index:20}.assess-period-panel-top{background:#fff;border-bottom:1px solid var(--border);padding:16px 20px 24px;box-shadow:0 4px 16px rgba(0,0,0,.08)}.assess-period-branch{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem}.assess-period-label{font-size:.82rem;font-weight:600;color:#5a6472;margin-bottom:8px}.assess-period-options{display:flex;gap:10px;margin-bottom:14px}.assess-period-btn{flex:1 1;padding:10px 0;border:2px solid var(--border);border-radius:8px;background:#fff;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .1s}.assess-period-btn.selected{border-color:var(--navy);background:var(--navy);color:#fff}.assess-start-btn{width:100%;padding:15px 0;background:var(--pink);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s}.assess-start-btn:hover:not(:disabled){background:#c4177a}.assess-start-btn:disabled{opacity:.6;cursor:not-allowed}.assess-draft-progress{text-align:center;font-size:.82rem;color:#5a6472;margin-bottom:8px}.assess-form-page{display:flex;flex-direction:column;min-height:100vh;background:#f4f6f8}.assess-header{position:-webkit-sticky;position:sticky;top:0;background:var(--navy);color:#fff;padding:12px 16px 10px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.15)}.assess-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assess-back-link{background:none;border:none;color:hsla(0,0%,100%,.85);font-size:.9rem;font-family:inherit;cursor:pointer;padding:0}.assess-back-link:hover{color:#fff}.assess-header-period{font-size:.9rem;font-weight:600;opacity:.85}.assess-score-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.assess-score-label{font-size:.85rem;opacity:.9}.assess-score-pct{font-size:1.3rem;font-weight:700}.assess-progress-track{height:6px;background:hsla(0,0%,100%,.3);border-radius:3px;overflow:hidden}.assess-progress-fill{height:100%;background:var(--pink);border-radius:3px;transition:width .3s ease}.assess-criteria-list{padding:12px 12px 80px}.assess-element-group{margin-bottom:8px}.assess-element-label{padding:6px 4px 4px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5a6472}.assess-card{background:#fff;border-radius:10px;margin-bottom:10px;box-shadow:0 1px 4px rgba(0,0,0,.08);overflow:hidden;border:2px solid transparent;transition:border-color .15s}.assess-card.assess-yes{border-color:#2e7d32}.assess-card.assess-no{border-color:#c62828}.assess-card-body{padding:14px 14px 10px}.assess-criteria-name{font-size:1rem;font-weight:600;color:#1a1a1a;line-height:1.35;margin-bottom:4px}.assess-criteria-desc{font-size:.85rem;color:#5a6472;line-height:1.4;margin-bottom:6px}.assess-sop-link{display:inline-block;font-size:.8rem;color:var(--navy);text-decoration:none;font-weight:500}.assess-sop-link:hover{text-decoration:underline}.assess-answer-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #f0f0f0}.assess-btn-no,.assess-btn-yes{padding:14px 0;border:none;font-size:1.05rem;font-weight:700;font-family:inherit;letter-spacing:.04em;cursor:pointer;transition:all .1s}.assess-btn-yes{background:#f1f8f1;color:#2e7d32;border-right:1px solid #f0f0f0;border-radius:0 0 0 8px}.assess-btn-yes.selected{background:#2e7d32;color:#fff}.assess-btn-yes:not(.selected):hover{background:#c8e6c9}.assess-btn-no{background:#fdf1f1;color:#c62828;border-radius:0 0 8px 0}.assess-btn-no.selected{background:#c62828;color:#fff}.assess-btn-no:not(.selected):hover{background:#ffcdd2}.assess-btn-no:disabled,.assess-btn-yes:disabled{opacity:.5;cursor:wait}.assess-submit-section{margin-top:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.assess-submit-score{text-align:center;font-size:1.1rem;color:#333;margin-bottom:16px}.assess-submit-btn{width:100%;padding:16px 0;background:var(--navy);color:#fff;border:none;border-radius:10px;font-size:1.15rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s}.assess-submit-btn:hover:not(:disabled){background:var(--navy-light)}.assess-submit-btn:disabled{opacity:.6;cursor:not-allowed}.assess-submitted{flex-direction:column;min-height:100vh;padding:40px 24px;text-align:center;background:#f4f6f8}.assess-submitted,.assess-submitted-icon{display:flex;align-items:center;justify-content:center}.assess-submitted-icon{width:72px;height:72px;border-radius:50%;background:#2e7d32;color:#fff;font-size:2.5rem;margin-bottom:20px}.assess-submitted h1{margin:0 0 8px;font-size:1.8rem;color:var(--navy)}.assess-submitted-branch{color:#5a6472;margin-bottom:32px}.assess-final-score{font-size:5rem;font-weight:800;color:var(--navy);line-height:1;margin-bottom:4px}.assess-final-label{color:#5a6472;font-size:1rem;margin-bottom:32px}.assess-back-btn{display:block;width:100%;max-width:320px;padding:14px 0;margin:0 auto 12px;background:var(--navy);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;text-align:center}.assess-back-btn:hover{background:var(--navy-light)}.assess-back-btn.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--border)}.assess-back-btn.btn-secondary:hover{background:var(--row-hover)}.home-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-top:32px}.home-nav-card{display:block;padding:18px 20px;background:var(--navy);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:background .15s}.home-nav-card:hover{background:var(--navy-light)}.home-nav-card-title{display:block;margin-bottom:4px}.home-nav-card-sub{display:block;font-size:.8rem;font-weight:400;opacity:.8}.oneup-shell{max-width:480px;margin:0 auto;min-height:100vh;flex-direction:column;position:relative}.oneup-shell,.oneup-topbar{display:flex;background:#fff}.oneup-topbar{align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10;min-height:52px}.oneup-back{background:none;border:none;font-size:1.5rem;color:var(--navy);cursor:pointer;padding:4px 8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-family:inherit}.oneup-topbar-center{font-size:.88rem;font-weight:600;color:#555;text-align:center;flex:1 1}.oneup-topbar-title{font-size:1rem;font-weight:700;color:var(--navy);flex:1 1;text-align:center}.oneup-review-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;min-height:36px}.oneup-review-btn:hover{background:var(--row-hover)}.oneup-progress-track{height:4px;background:#e8edf7}.oneup-progress-fill{height:100%;background:var(--pink);transition:width .35s ease}.oneup-question-body{flex:1 1;padding:20px 20px 12px;overflow-y:auto}.oneup-element-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#999;margin-bottom:10px}.oneup-criteria-name{font-size:1.25rem;font-weight:700;color:#111;line-height:1.35;margin-bottom:10px}.oneup-criteria-desc{font-size:.9rem;color:#666;line-height:1.55;margin-bottom:18px}.oneup-image-placeholder{background:#f0f2f5;border-radius:12px;height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:18px}.oneup-image-icon{font-size:2rem}.oneup-image-text{font-size:.8rem;color:#aaa}.oneup-sop-btn{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--navy);border-radius:8px;padding:9px 16px;font-size:.9rem;font-weight:600;color:var(--navy);background:#fff;cursor:pointer;font-family:inherit;margin-bottom:8px}.oneup-sop-btn:hover{background:var(--row-hover)}.oneup-answers{display:flex;flex-direction:column;gap:10px;padding:14px 20px 32px;background:#fff;border-top:1px solid #f0f0f0}.oneup-btn-no,.oneup-btn-yes{width:100%;min-height:64px;border:3px solid transparent;border-radius:14px;font-size:1.3rem;font-weight:800;font-family:inherit;letter-spacing:.08em;cursor:pointer;transition:all .12s}.oneup-btn-yes{background:#dcfce7;color:#16a34a;border-color:#dcfce7}.oneup-btn-yes.selected{background:#22c55e;color:#fff;border-color:#16a34a;box-shadow:0 0 0 4px rgba(34,197,94,.25)}.oneup-btn-yes:not(.selected):hover{background:#bbf7d0;border-color:#86efac}.oneup-btn-no{background:#fee2e2;color:#dc2626;border-color:#fee2e2}.oneup-btn-no.selected{background:#ef4444;color:#fff;border-color:#dc2626;box-shadow:0 0 0 4px rgba(239,68,68,.25)}.oneup-btn-no:not(.selected):hover{background:#fecaca;border-color:#fca5a5}.oneup-skip{background:none;border:none;color:#aaa;font-size:.85rem;cursor:pointer;padding:6px 0;text-align:center;font-family:inherit;text-decoration:underline}.oneup-skip:hover{color:#666}.oneup-flash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:500}.oneup-flash.flash-yes{background:#22c55e}.oneup-flash.flash-no{background:#ef4444}.oneup-flash-icon{font-size:6rem;color:#fff;line-height:1}.oneup-flash-label{font-size:2.5rem;font-weight:800;color:#fff;letter-spacing:.1em}.oneup-summary-content{flex:1 1;overflow-y:auto;padding:16px 20px 96px}.oneup-summary-score{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding:16px;background:#f0f4fb;border-radius:10px}.oneup-summary-score-pct{font-size:2.6rem;font-weight:800;color:var(--navy)}.oneup-summary-score-label{font-size:.88rem;color:#5a6472}.oneup-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;font-size:.87rem;color:#c2410c;margin-bottom:10px}.oneup-improvement-note{background:#fdf4ff;border:1px solid #e9d5ff;border-radius:8px;padding:10px 14px;font-size:.87rem;color:#7e22ce;margin-bottom:16px}.oneup-summary-group{margin-bottom:8px}.oneup-summary-group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#999;padding:8px 0 2px}.oneup-summary-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 4px;border:none;background:none;border-bottom:1px solid var(--border);font-family:inherit;font-size:.92rem;cursor:pointer;text-align:left;min-height:56px}.oneup-summary-row:hover{background:var(--row-hover);padding-left:8px}.oneup-summary-row-name{flex:1 1;color:#1a1a1a;padding-right:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.oneup-summary-badge{flex-shrink:0;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.03em}.oneup-summary-badge.badge-yes{background:#dcfce7;color:#16a34a}.oneup-summary-badge.badge-no{background:#fee2e2;color:#dc2626}.oneup-summary-badge.badge-skip{background:#f3f4f6;color:#9ca3af}.oneup-cta{display:block;width:100%;padding:18px 0;background:var(--pink);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:12px;text-align:center;transition:background .15s}.oneup-cta:hover:not(:disabled){background:#c4177a}.oneup-cta:disabled{opacity:.5;cursor:not-allowed}.oneup-cta-secondary{background:#fff;color:var(--navy);border:1.5px solid var(--border)}.oneup-cta-secondary:hover:not(:disabled){background:var(--row-hover)}.oneup-submitted{text-align:center;padding:40px 24px}.oneup-submitted,.oneup-submitted-icon{justify-content:center;align-items:center}.oneup-submitted-icon{width:88px;height:88px;border-radius:50%;background:#22c55e;color:#fff;font-size:3rem;display:flex;margin:0 auto 20px}.oneup-submitted-title{font-size:2rem;font-weight:800;color:var(--navy);margin:0 0 16px}.oneup-submitted-score{font-size:5rem;font-weight:800;color:var(--navy);line-height:1;margin-bottom:4px}.oneup-submitted-label{color:#5a6472;font-size:1rem;margin-bottom:40px}.oneup-sop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;display:flex;align-items:flex-end}.oneup-sop-modal{width:100%;max-width:480px;margin:0 auto;height:88vh;background:#fff;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}.oneup-sop-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem;color:var(--navy);flex-shrink:0}.oneup-sop-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#555;padding:6px 10px;border-radius:6px;font-family:inherit;min-height:40px}.oneup-sop-close:hover{background:#f4f6f8;color:#111}.oneup-sop-frame{flex:1 1;border:none;width:100%}.oneup-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:440px;width:calc(100% - 32px);background:#1a1a1a;color:#fff;padding:12px 16px;border-radius:8px;font-size:.88rem;z-index:400;box-shadow:0 4px 16px rgba(0,0,0,.2);text-align:center}.db-page{max-width:1200px;margin:0 auto;padding:24px 24px 48px}.db-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.db-title{margin:0 0 2px;font-size:1.6rem;color:var(--navy)}.db-period-badge{display:inline-block;padding:3px 10px;background:#e8edf7;border-radius:12px;font-size:.8rem;font-weight:600;color:var(--navy)}.db-category-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.db-cat-btn{padding:5px 14px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:.85rem;font-weight:500;color:#444;cursor:pointer;font-family:inherit;transition:all .1s}.db-cat-btn:hover{border-color:var(--navy);color:var(--navy)}.db-cat-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.db-compliance-bar{display:flex;align-items:center;gap:20px;padding:10px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:.88rem;color:#444;margin-bottom:20px;flex-wrap:wrap}.db-compliance-item strong{color:var(--navy)}.db-compliance-sep{color:var(--border);font-size:1.2rem}.db-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:20px;gap:0}.db-tab{padding:10px 20px;background:none;font-size:.95rem;font-weight:600;color:#666;cursor:pointer;font-family:inherit;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .1s}.db-tab.active,.db-tab:hover{color:var(--navy)}.db-tab.active{border-bottom-color:var(--navy)}.db-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.db-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:.88rem;font-family:inherit;color:#333;background:#fff;cursor:pointer;min-width:160px}.db-subtabs{display:flex;gap:4px;margin-left:auto}.db-subtab{padding:5px 14px;border:1.5px solid var(--border);border-radius:6px;background:#fff;font-size:.85rem;font-weight:500;color:#555;cursor:pointer;font-family:inherit;transition:all .1s}.db-subtab:hover{border-color:var(--navy);color:var(--navy)}.db-subtab.active{background:var(--navy);border-color:var(--navy);color:#fff}.db-table{width:100%;border-collapse:collapse;font-size:.9rem}.db-table th{text-align:left;padding:8px 10px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#666;border-bottom:2px solid var(--border);white-space:nowrap}.db-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}.db-table tr:last-child td{border-bottom:none}.db-table tr:hover td{background:var(--row-hover)}.db-row-no-score td{opacity:.5}.db-rank{width:44px;text-align:center;font-weight:700;font-size:1rem;color:var(--navy)}.db-name-primary{font-weight:600;color:#1a1a1a}.db-name-secondary{font-size:.78rem;color:#888;margin-top:1px}.db-bar-cell{width:180px;min-width:140px}.db-bar-track{height:8px;background:#e8edf7;border-radius:4px;overflow:hidden}.db-bar-fill{height:100%;background:var(--navy);border-radius:4px;transition:width .4s ease}.db-score-pct{font-weight:700;color:var(--navy);font-size:.95rem;white-space:nowrap}.db-change-up{color:#16a34a}.db-change-down,.db-change-up{font-weight:600;white-space:nowrap}.db-change-down{color:#dc2626}.db-change-none{color:#aaa}.db-dot-yes{color:#16a34a;font-size:1rem}.db-dot-none{color:#ccc;font-size:1rem}.db-badge{font-size:1.1rem;margin-right:3px}.db-row-link{cursor:pointer}.db-row-link:hover td{background:#e8edf7!important}.db-sub-count{font-size:.85rem;color:#555;white-space:nowrap}.db-audit-green{color:#1a7a3a}.db-audit-green,.db-audit-red{font-size:.82rem;white-space:nowrap}.db-audit-red{color:#c0392b}.db-audit-none{color:#8b929e;font-size:.82rem}.db-bar-group{display:flex;flex-direction:column;gap:3px}.db-bar-row{display:flex;align-items:center;gap:6px}.db-bar-row .db-bar-track{flex:1 1 auto}.db-bar-label{font-size:.7rem;color:#5a6472;white-space:nowrap;min-width:70px}.db-bar-fill-assessed{background:rgba(30,58,110,.6)}.db-bar-fill-assessed,.db-bar-fill-audited{height:100%;border-radius:4px;transition:width .4s ease}.db-bar-fill-audited{background:rgba(233,30,140,.7)}.sc-page{max-width:960px;margin:0 auto;padding:24px 24px 48px}.sc-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#5a6472;margin-bottom:12px}.sc-breadcrumb-link{background:none;border:none;padding:0;color:var(--navy);font-size:inherit;cursor:pointer;text-decoration:underline;font-family:inherit}.sc-breadcrumb-link:hover{color:var(--pink)}.sc-header{margin-bottom:24px}.sc-branch-name{font-size:1.8rem;font-weight:700;color:var(--navy);margin:0 0 4px}.sc-location{font-size:.95rem;color:#5a6472}.sc-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-bottom:28px}.sc-stat-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 20px}.sc-stat-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:6px}.sc-stat-value{font-size:2rem;font-weight:800;color:var(--navy);line-height:1;margin-bottom:4px}.sc-stat-sub{font-size:.8rem;color:#5a6472}.sc-stat-na{font-size:1.4rem;color:#bbb;font-weight:700}.sc-stat-good{color:#16a34a}.sc-stat-warn{color:#ca8a04}.sc-stat-bad{color:#dc2626}.sc-section-title{font-size:1rem;font-weight:700;color:var(--navy);margin:0 0 12px}.sc-chart-wrap{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:24px}.sc-history-table{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:28px}.sc-history-table th{background:var(--navy);color:#fff;padding:9px 14px;text-align:left;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sc-history-table td{padding:9px 14px;border-bottom:1px solid var(--border)}.sc-history-table tr:last-child td{border-bottom:none}.sc-ip-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:12px;flex-wrap:wrap}.sc-ip-count{font-size:2rem;font-weight:800;color:var(--navy)}.sc-ip-label{font-size:.85rem;color:#5a6472}.sc-ip-link{padding:7px 16px;background:var(--pink);color:#fff;border:none;border-radius:6px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit}.sc-ip-link:hover{background:#c4177a}.ip-page{max-width:860px;margin:0 auto;padding:24px 24px 48px}.ip-header{margin-bottom:20px}.ip-title{font-size:1.6rem;font-weight:700;color:var(--navy);margin:0 0 12px}.ip-branch-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ip-branch-select{padding:7px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;font-family:inherit;color:#333;background:#fff;min-width:220px}.ip-group{margin-bottom:8px}.ip-group-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;padding:10px 0 4px}.ip-item{background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:8px;display:flex;align-items:flex-start;gap:14px}.ip-item-body{flex:1 1;min-width:0}.ip-item-name{font-weight:600;font-size:.95rem;color:#1a1a1a;margin-bottom:4px}.ip-item-desc{font-size:.82rem;color:#5a6472;margin-bottom:4px}.ip-item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#999}.ip-sop-link{color:var(--navy);font-size:.78rem;font-weight:500;text-decoration:none}.ip-sop-link:hover{text-decoration:underline}.ip-resolve-btn{flex-shrink:0;padding:6px 14px;background:#fff;border:1.5px solid var(--navy);border-radius:6px;font-size:.82rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;white-space:nowrap}.ip-resolve-btn:hover:not(:disabled){background:var(--navy);color:#fff}.ip-resolve-btn:disabled{opacity:.5;cursor:not-allowed}.ip-resolved-toggle{background:none;border:none;font-size:.88rem;font-weight:600;color:#666;cursor:pointer;font-family:inherit;padding:8px 0;display:flex;align-items:center;gap:6px;margin-top:16px}.ip-resolved-toggle:hover{color:var(--navy)}.ip-item.resolved{opacity:.6;border-color:#e0e0e0}.ip-empty{text-align:center;padding:40px 0;color:#888;font-size:.95rem}.ip-cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.ip-cat-tab{padding:6px 16px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:.88rem;font-weight:500;color:#444;cursor:pointer;font-family:inherit;transition:all .1s}.ip-cat-tab:hover{border-color:var(--navy);color:var(--navy)}.ip-cat-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.ip-summary-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:.88rem;margin-bottom:20px;flex-wrap:wrap}.ip-summary-passing strong{color:#16a34a}.ip-summary-failing strong{color:#dc2626}.ip-summary-na strong{color:#888}.ip-summary-total{color:#aaa;margin-left:auto;font-size:.82rem}.ip-summary-sep{color:var(--border)}.ip-section{margin-bottom:20px}.ip-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:6px;font-size:.88rem;font-weight:700;margin-bottom:8px}.ip-section-hdr-failing{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.ip-section-hdr-na{background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb}.ip-section-count{background:rgba(0,0,0,.1);border-radius:12px;padding:1px 9px;font-size:.78rem}.ip-criterion{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:6px}.ip-criterion-failing{border-left:3px solid #ef4444}.ip-criterion-na{border-left:3px solid #d1d5db}.ip-criterion-passing{border-left:3px solid #22c55e}.ip-criterion-icon{flex-shrink:0;width:22px;text-align:center;font-size:1rem;margin-top:2px;font-weight:700}.ip-icon-failing{color:#ef4444}.ip-icon-na{color:#9ca3af}.ip-icon-passing{color:#22c55e}.ip-criterion-body{flex:1 1;min-width:0}.ip-criterion-name{font-weight:600;font-size:.95rem;color:#1a1a1a;margin-bottom:2px}.ip-criterion-desc{font-size:.82rem;color:#5a6472;margin-bottom:4px;line-height:1.4}.ip-criterion-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.75rem;color:#9ca3af}.ip-criterion-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.ip-reassess-btn{padding:5px 12px;background:#fff;border:1.5px solid var(--navy);border-radius:6px;font-size:.8rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;white-space:nowrap;min-width:80px;text-align:center;transition:all .1s}.ip-reassess-btn:hover:not(:disabled){background:var(--navy);color:#fff}.ip-reassess-btn:disabled{opacity:.5;cursor:not-allowed}.ip-override-btn{padding:5px 12px;background:#fff;border:1.5px solid var(--pink);border-radius:6px;font-size:.8rem;font-weight:600;color:var(--pink);cursor:pointer;font-family:inherit;white-space:nowrap;min-width:80px;text-align:center;transition:all .1s}.ip-override-btn:hover{background:var(--pink);color:#fff}.ip-passing-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;font-family:inherit;text-align:left;margin-bottom:8px;transition:background .1s}.ip-passing-toggle:hover{background:#dcfce7}.ip-passing-toggle-icon{font-size:.65rem;color:#16a34a}.ip-section-hdr-passing{font-size:.88rem;font-weight:700;color:#15803d}.ip-empty-section{text-align:center;padding:18px;color:#888;font-size:.88rem;background:#fafafa;border-radius:6px;border:1px dashed var(--border);margin-bottom:6px}.assess-category-options{display:flex;flex-direction:column;gap:0;margin-bottom:14px;max-height:260px;overflow-y:auto;border-radius:8px;border:1px solid var(--border)}.assess-category-options .assess-branch-row{border-radius:0;border:none;border-bottom:1px solid var(--border)}.assess-category-options .assess-branch-row:last-child{border-bottom:none}.access-denied{max-width:480px;margin:80px auto;padding:40px 32px;background:#fff;border:1px solid var(--border);border-radius:12px;text-align:center}.access-denied h1{margin:0 0 12px;font-size:1.5rem;color:var(--navy)}.access-denied p{color:#5a6472;margin:8px 0}.audit-progress{background:#e91e8c}.audit-answers{padding:12px 16px 24px;display:flex;flex-direction:column;gap:10px}.audit-btn-fail,.audit-btn-pass{width:100%;min-height:56px;border:2.5px solid transparent;border-radius:12px;font-size:1.1rem;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.05em;transition:opacity .12s,box-shadow .12s}.audit-btn-pass{background:#22c55e;color:#fff}.audit-btn-pass.selected{box-shadow:0 0 0 3px #fff,0 0 0 5px #22c55e}.audit-btn-pass:active{opacity:.85}.audit-btn-fail{background:#ef4444;color:#fff}.audit-btn-fail.selected{box-shadow:0 0 0 3px #fff,0 0 0 5px #ef4444}.audit-btn-fail:active{opacity:.85}.audit-notes-field{display:block;width:100%;margin-top:14px;padding:10px 12px;border:1px solid #d0d7de;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;background:#fafbfc;color:#1a1a1a;line-height:1.5;box-sizing:border-box}.audit-notes-field:focus{outline:none;border-color:#e91e8c;box-shadow:0 0 0 3px rgba(233,30,140,.15)}.audit-submit-btn{background:#e91e8c!important}.audit-submit-btn:hover:not(:disabled){background:#c2177a!important}.audit-summary-score{display:flex;gap:20px;justify-content:center;padding:14px 16px;font-size:1rem;font-weight:600;margin-bottom:4px}.audit-submitted-score{font-size:1.1rem;font-weight:600;text-align:center;margin:8px 0 28px}.audit-score-pass{color:#16a34a}.audit-score-fail{color:#dc2626}.audit-score-na{color:#94a3b8}.audit-summary-notes{display:block;font-size:.75rem;color:#8b929e;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.oneup-summary-badge.badge-na{background:#e5e7eb;color:#6b7280}.assess-back-home{background:none;border:none;color:hsla(0,0%,100%,.75);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;padding:0 0 8px;display:block;text-align:left}.assess-back-home:hover{color:#fff}.sv-page{max-width:860px;margin:0 auto;padding:24px 24px 60px}.sv-back{background:none;border:none;font-size:.88rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;padding:0 0 12px;display:block}.sv-back:hover{text-decoration:underline}.sv-header{margin-bottom:4px}.sv-title{font-size:1.6rem;font-weight:700;color:var(--navy);margin:0 0 4px}.sv-sub{font-size:.9rem;color:#5a6472;margin:0 0 20px}.sv-cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.sv-cat-tab{padding:7px 18px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:.88rem;font-weight:500;color:#444;cursor:pointer;font-family:inherit;transition:all .1s}.sv-cat-tab:hover{border-color:var(--navy);color:var(--navy)}.sv-cat-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.sv-element-group{margin-bottom:32px}.sv-element-header{font-size:.8rem;font-weight:700;color:#5a6472;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;padding-bottom:6px;border-bottom:1.5px solid var(--border)}.sv-criterion-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 18px 14px;margin-bottom:12px}.sv-criterion-name{font-size:1.05rem;font-weight:700;color:#1a1a1a;margin:0 0 6px}.sv-criterion-desc{font-size:.88rem;color:#5a6472;line-height:1.5;margin:0 0 14px}.sv-image-placeholder{background:#f0f2f5;border-radius:8px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-bottom:14px;color:#9ca3af}.sv-image-icon{font-size:1.5rem}.sv-image-text{font-size:.78rem}.sv-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sv-sop-btn{padding:6px 14px;background:#fff;border:1.5px solid var(--navy);border-radius:6px;font-size:.82rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;transition:all .1s}.sv-sop-btn:hover{background:var(--navy);color:#fff}.home-dt-page{min-height:100vh;background:#f4f6f8;display:flex;flex-direction:column}.home-dt-header{background:var(--navy);color:#fff;padding:32px 24px 28px;text-align:center}.home-dt-logo{font-size:2.2rem;font-weight:800;margin:0 0 6px;letter-spacing:-.02em}.home-dt-tagline{font-size:.95rem;opacity:.72;margin:0}.home-dt-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;padding:24px;max-width:680px;margin:0 auto;width:100%;flex:1 1;align-content:start}@media (max-width:500px){.home-dt-grid{grid-template-columns:1fr}}.home-dt-door{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 18px 16px;display:flex;flex-direction:column;align-items:flex-start;min-height:210px;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:box-shadow .18s,transform .18s}.home-dt-door:hover{box-shadow:0 6px 22px rgba(0,0,0,.1);transform:translateY(-2px)}.home-dt-door-icon{font-size:2.6rem;line-height:1;margin-bottom:12px}.home-dt-door-title{font-size:1.1rem;font-weight:700;color:var(--navy);margin:0 0 6px}.home-dt-door-desc{font-size:.86rem;color:#5a6472;line-height:1.45;margin:0;flex:1 1;padding-bottom:14px}.home-dt-door-btn{display:block;width:100%;padding:11px 0;border:none;border-radius:8px;font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer;color:#fff;text-align:center;transition:opacity .15s;flex-shrink:0}.home-dt-door-btn:hover{opacity:.86}.home-dt-foot{padding:16px 24px 32px;text-align:center;display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.home-dt-foot-link{background:none;border:none;color:#6b7280;font-size:.82rem;cursor:pointer;font-family:inherit;text-decoration:underline;padding:4px 0}.home-dt-foot-link:hover{color:var(--navy)}.ip-audit-note{margin:6px 0 4px;padding:7px 10px 7px 12px;background:#fef3c7;border-left:3px solid #f59e0b;font-size:.85rem;font-style:italic;color:#78350f;border-radius:0 6px 6px 0;line-height:1.45}.ip-summary-audit strong{color:#e91e8c}.ip-summary-improved strong,.ip-summary-verified strong{color:#166534}.ip-summary-overridden strong{color:#92400e}.ip-badge-verified{background:#dcfce7}.ip-badge-improved,.ip-badge-verified{display:inline-block;margin-left:8px;padding:2px 8px;color:#166534;border-radius:12px;font-size:.72rem;font-weight:700;vertical-align:middle;white-space:nowrap;letter-spacing:.02em}.ip-badge-improved{background:#bbf7d0}.ip-badge-override{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.ip-badge-audit-only,.ip-badge-override{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:700;vertical-align:middle;white-space:nowrap;letter-spacing:.02em}.ip-badge-audit-only{background:#f1f5f9;color:#475569}.audit-rsd-notice{background:#fef3c7;border-left:3px solid #f59e0b;padding:12px 16px;font-size:.9rem;color:#92400e;margin:0 16px 16px;border-radius:6px}.top-nav{position:fixed;top:0;left:0;right:0;height:48px;background:#1e3a6e;z-index:200}.top-nav,.top-nav-content{display:flex;align-items:center}.top-nav-content{max-width:1200px;width:100%;margin:0 auto;padding:0 20px;justify-content:space-between}.top-nav-brand{color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;letter-spacing:-.01em}.top-nav-brand:hover{opacity:.85}.top-nav-links{display:flex;align-items:center;gap:24px;overflow-x:auto}.top-nav-link{color:hsla(0,0%,100%,.82);font-size:.9rem;text-decoration:none;font-weight:500;white-space:nowrap;transition:color .1s}.top-nav-link:hover{color:#fff;opacity:.8}.top-nav-link.active{color:#fff;text-decoration:underline;text-underline-offset:3px}.oneup-reference-img{max-height:600px}.oneup-reference-img,.sv-reference-img{width:100%;object-fit:contain;border-radius:8px;margin:12px 0;display:block}.col-image{width:72px;text-align:center}.admin-img-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.admin-img-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid #d8dee4}.admin-img-upload-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px dashed #94a3b8;border-radius:6px;background:#f8fafc;color:#475569;font-size:1rem;cursor:pointer;transition:background .15s}.admin-img-upload-btn:hover{background:#e2e8f0}.audit-photo-section{margin-top:12px}.audit-photo-preview-wrap{position:relative;display:inline-block;width:100%}.audit-photo-preview{width:100%;max-height:200px;object-fit:cover;border-radius:8px;display:block}.audit-photo-delete-btn{margin-top:6px;padding:4px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#dc2626;font-size:.8rem;cursor:pointer}.audit-photo-delete-btn:hover{background:#fef2f2}.audit-photo-upload-label{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;color:#475569;font-size:.875rem;cursor:pointer;transition:background .15s}.audit-photo-upload-label:hover{background:#e2e8f0}.audit-photo-evidence{display:block;width:100%;max-height:500px;object-fit:contain;border-radius:6px;margin-top:8px}