:root{--bg:#f3f4f6;--panel:#fff;--ink:#18202a;--muted:#6b7280;--line:#dfe3e8;--accent:#1d4ed8;--accent2:#0f172a;--ok:#177245;--okbg:#e9f8f0;--warn:#9a6700;--warnbg:#fff7df;--bad:#b42318;--badbg:#fff0ee;--shadow:0 10px 30px rgba(15,23,42,.08)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px}.topbar{height:58px;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{color:white;text-decoration:none;letter-spacing:.11em;font-size:14px}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a{color:#dbe3ef;text-decoration:none;font-size:13px}.user-chip{font-size:12px;color:#aeb8c7;border-left:1px solid #384152;padding-left:18px}.container{max-width:1120px;margin:0 auto;padding:34px 24px 70px}.wide{max-width:1760px;margin:0 auto;padding:18px 20px 36px}.page-title,.proof-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.page-title h1,.proof-head h1{margin:3px 0 0;font-size:28px;line-height:1.15}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:#758095}.card,.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.card{padding:20px}.login-card{max-width:420px;margin:80px auto;padding:30px}.login-card h1{font-size:32px;margin:4px 0 4px}.muted,.sub,small{color:var(--muted)}.sub{font-size:12px;margin-top:3px}.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span2{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:650}input,select,textarea,button,.button{font:inherit}input,select,textarea{width:100%;border:1px solid #ccd2da;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink)}textarea{resize:vertical}button,.button{border:1px solid #cbd2dc;border-radius:8px;background:#fff;color:#1f2937;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px}.button.small{padding:6px 9px;font-size:12px}button:hover,.button:hover{background:#f7f8fa}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#173fae}.actions{display:flex;justify-content:flex-end;gap:10px}.data{width:100%;border-collapse:collapse}.data th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#778191;text-align:left;border-bottom:1px solid var(--line);padding:10px}.data td{padding:14px 10px;border-bottom:1px solid #edf0f3;vertical-align:middle}.data tr:last-child td{border-bottom:0}.row-title{font-weight:700;color:#172033;text-decoration:none}.row-title:hover{color:var(--accent)}.empty{text-align:center!important;color:var(--muted);padding:40px!important}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}.pill.big{padding:7px 11px}.pill.ok{color:var(--ok);background:var(--okbg)}.pill.warn{color:var(--warn);background:var(--warnbg)}.pill.bad{color:var(--bad);background:var(--badbg)}.pill.muted{color:#596274;background:#eef1f5}.flash{border-radius:9px;padding:11px 13px;margin-bottom:16px;border:1px solid}.flash.ok{background:var(--okbg);border-color:#b8e6cd;color:var(--ok)}.flash.bad{background:var(--badbg);border-color:#f2c3bd;color:var(--bad)}.backlink{font-size:12px;color:#657185;text-decoration:none}.meta-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.meta-line span{background:#e9edf3;border-radius:6px;padding:4px 7px;font-size:12px;color:#4c5768}.proof-grid{display:grid;grid-template-columns:minmax(600px,1fr) 430px;gap:16px;align-items:start}.viewer-panel,.review-panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.viewer-toolbar{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 10px;background:#fbfcfd;font-size:12px}.viewer-toolbar button{padding:5px 9px}.viewer-toolbar .sep{width:1px;height:22px;background:var(--line);margin:0 3px}.canvas-wrap{position:relative;background:#cdd2d8;min-height:720px;padding:18px;overflow:auto;text-align:center}.canvas-wrap canvas{display:block;margin:0 auto;background:#fff;box-shadow:0 6px 25px rgba(0,0,0,.22)}.viewer-message{position:absolute;top:26px;left:50%;transform:translateX(-50%);background:#111827;color:white;padding:8px 11px;border-radius:7px;font-size:12px}.review-panel{position:sticky;top:76px;max-height:calc(100vh - 92px);display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid var(--line);background:#fafbfc}.tab{flex:1;border:0;border-radius:0;background:transparent;padding:13px 8px;font-size:12px;color:#5e6878}.tab.active{color:#111827;box-shadow:inset 0 -2px 0 var(--accent)}.tab span{background:#e9edf3;border-radius:10px;padding:1px 5px}.tabpane{display:none;padding:18px;overflow:auto;flex:1}.tabpane.active{display:block}.section-head h2{margin:3px 0 12px;font-size:20px}.info-box{background:#f3f6fb;border:1px solid #dce4f1;border-radius:8px;padding:11px;font-size:12px}.info-box p{margin:4px 0 0;color:#59677a;line-height:1.4}.ocr-actions{display:flex;align-items:center;gap:10px;margin:14px 0}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.metric-row div{background:#f7f8fa;border:1px solid #e5e8ec;border-radius:8px;padding:9px}.metric-row b{display:block;font-size:17px}.metric-row span{display:block;color:#778191;font-size:10px;line-height:1.2;margin-top:2px}details{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}summary{font-weight:700;font-size:12px;cursor:pointer}pre{white-space:pre-wrap;word-break:break-word;background:#111827;color:#e5edf7;border-radius:7px;padding:11px;font-size:11px;line-height:1.45;max-height:290px;overflow:auto}.review-actions{border-top:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fafbfc}.review-actions>a{grid-column:1/-1}.review-actions form{display:block}.review-actions button{width:100%}.approve{border-color:#8bd0ad;color:var(--ok);background:var(--okbg)}.reject{border-color:#efb2aa;color:var(--bad);background:var(--badbg)}.comment-list{margin-top:18px;display:grid;gap:10px}.comment{border:1px solid var(--line);border-radius:8px;padding:11px}.comment>div{display:flex;justify-content:space-between;gap:8px}.comment span,.comment time,.decision small,.history-item small{font-size:11px;color:var(--muted)}.comment p{margin:8px 0;line-height:1.45}.history-list{display:grid;gap:8px}.history-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f3;padding:8px 0}.history-item small{display:block;margin-top:2px}.decision{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #edf0f3}.decision small{display:block}.decision p{margin:5px 0}.inline{display:inline-flex;gap:6px;align-items:center;margin-left:8px}.inline input{width:160px;padding:6px 8px}.inline button{padding:6px 8px}.link-button{border:0;padding:0;background:transparent;color:var(--accent);font-size:12px}@media(max-width:1050px){.proof-grid{grid-template-columns:1fr}.review-panel{position:static;max-height:none}.canvas-wrap{min-height:500px}}@media(max-width:720px){.topbar{padding:0 12px}.topbar nav a:not(:last-child){display:none}.user-chip{display:none}.container,.wide{padding:18px 12px 40px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.page-title,.proof-head{align-items:flex-start;flex-direction:column}.card{padding:14px;overflow:auto}.data{min-width:680px}.proof-grid{display:block}.viewer-panel{margin-bottom:12px}.canvas-wrap{padding:8px;min-height:420px}.review-actions{position:sticky;bottom:0}.metric-row{grid-template-columns:1fr}.viewer-toolbar{overflow:auto;white-space:nowrap}}

/* v0.2 artwork annotations */
.viewer-toolbar{height:auto;min-height:48px;flex-wrap:wrap;padding:7px 10px}.viewer-nav-group{display:flex;align-items:center;gap:8px}.annotation-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;border-left:1px solid var(--line);padding-left:9px}.tool-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a8493;font-weight:800;margin-right:2px}.tool-button{padding:5px 8px!important;font-size:11px}.tool-button.active{background:#e8eefc;border-color:#9cb5ef;color:#173d91}.danger-tool:not(:disabled){color:var(--bad);border-color:#efb2aa}.danger-tool:disabled{opacity:.45;cursor:not-allowed}.viewer-toolbar>a.button{margin-left:auto}.page-stack{position:relative;display:block;margin:0 auto;background:#fff;box-shadow:0 6px 25px rgba(0,0,0,.22)}.canvas-wrap canvas#pdfCanvas{display:block;margin:0;box-shadow:none}.page-stack #annotationStage{position:absolute;inset:0;z-index:3}.page-stack #annotationStage>div,.page-stack #annotationStage canvas{position:absolute!important;inset:0}.annotation-list{display:grid;gap:8px;margin-top:14px}.annotation-card{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:10px 11px;border-radius:8px;font-weight:400}.annotation-card:hover{background:#f8fafc}.annotation-card.selected{border-color:#7da0ed;background:#f1f5ff;box-shadow:inset 3px 0 0 #2563eb}.annotation-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.annotation-card-top strong{font-size:12px}.annotation-card-top span{font-size:10px;color:var(--muted)}.annotation-card p{margin:7px 0 5px;font-size:12px;line-height:1.35;white-space:pre-wrap}.annotation-card .muted-note{color:#8a93a1;font-style:italic}.annotation-card small{font-size:10px}.annotation-empty{margin-top:14px;border:1px dashed #d5dae1;border-radius:8px;padding:18px;text-align:center;color:var(--muted);font-size:12px}.annotation-editor{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.editor-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:12px}.annotation-editor-actions{display:flex;gap:8px;margin-top:9px}.danger-outline{color:var(--bad);border-color:#efb2aa;background:#fff}.danger-outline:hover{background:var(--badbg)}.small-status{font-size:11px;margin-top:7px;min-height:15px}
@media(max-width:1050px){.viewer-toolbar>a.button{margin-left:0}}
@media(max-width:720px){.annotation-tools{order:3;width:100%;border-left:0;border-top:1px solid var(--line);padding:6px 0 0}.viewer-toolbar{white-space:normal}.tool-label{width:100%}.page-stack{margin:0 auto}}

.markup-status{font-size:10px;font-weight:750;color:#64748b;background:#eef1f5;border-radius:999px;padding:3px 6px;margin-right:2px}.markup-status.ready{color:#177245;background:#e9f8f0}.markup-status.error{color:#b42318;background:#fff0ee}

/* v0.2.2 annotation color picker */
.annotation-color-control{display:flex;align-items:center;gap:6px;margin-left:2px;padding-left:7px;border-left:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6f7a8a;font-weight:800;cursor:pointer}.annotation-color-control input[type=color]{width:30px;height:26px;padding:2px;border:1px solid #cbd2dc;border-radius:7px;background:#fff;cursor:pointer}.annotation-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.annotation-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.annotation-color-control input[type=color]::-moz-color-swatch{border:0;border-radius:4px}.annotation-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.18);margin-right:6px;vertical-align:-1px}.annotation-card-top strong{display:flex;align-items:center}
@media(max-width:720px){.annotation-color-control{border-left:0;padding-left:0;margin-left:0}}

/* v0.3 projects / artwork routes / review cycles */
.project-search-wrap{margin-bottom:14px}.project-search-wrap input{font-size:15px;padding:12px 14px;background:#fff}.project-list{display:grid;gap:10px}.project-folder{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:0;margin:0;overflow:hidden}.project-folder>summary{border:0;margin:0;padding:15px 18px;display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer}.project-folder>summary::-webkit-details-marker{display:none}.project-folder>summary .folder-icon{font-size:13px;color:#7a8493;transition:transform .15s}.project-folder:not([open])>summary .folder-icon{transform:rotate(-90deg)}.project-folder>summary strong{font-size:17px}.project-folder>summary>span:not(.folder-icon){font-size:12px;color:var(--muted)}.project-open-link{margin-left:auto;font-size:12px;color:var(--accent);text-decoration:none;font-weight:700}.route-list{border-top:1px solid var(--line)}.route-row{display:grid;grid-template-columns:90px minmax(0,1fr) 86px 112px;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf0f3;text-decoration:none;color:var(--ink)}.route-row:last-child{border-bottom:0}.route-row:hover{background:#f8fafc}.route-type-badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5e6878;background:#eef1f5;border-radius:6px;padding:5px 7px;text-align:center}.route-main{min-width:0}.route-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-main span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.route-cycle{font-size:12px;color:#596274;text-align:right}.legacy-section{margin-top:28px}.legacy-section h2{margin:4px 0}.empty-state{padding:40px;text-align:center;color:var(--muted)}
.identity-card{display:grid;grid-template-columns:180px 1fr;gap:0;background:#111827;color:white;border-radius:10px;margin-bottom:14px;overflow:hidden}.identity-card>div{padding:14px 16px;border-right:1px solid #334155}.identity-card>div:last-child{border-right:0}.identity-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#aab4c4;margin-bottom:4px}.identity-card strong{font-size:15px;word-break:break-word}.imported-meta{background:#f7f8fa;border:1px solid var(--line);border-radius:8px;padding:12px}.imported-meta>strong{font-size:12px}.imported-meta>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.imported-meta span{font-size:11px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:5px 7px}.imported-meta b{margin-right:4px}
.historical-banner{background:#fff7df;border:1px solid #ead39d;color:#765500;border-radius:9px;padding:10px 13px;margin-bottom:12px;font-size:12px}.historical-banner a{color:inherit;font-weight:800}.approved-banner{background:var(--okbg);border-color:#b8e6cd;color:var(--ok)}.cycle-switcher{display:flex;align-items:center;gap:7px;padding-right:8px;border-right:1px solid var(--line)}.cycle-switcher strong{font-size:11px;white-space:nowrap}.cycle-button{border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:#1f2937;padding:5px 8px;text-decoration:none;font-weight:700;white-space:nowrap}.cycle-button:hover{background:#f7f8fa}.cycle-button.disabled{color:#9aa3af;background:#f5f6f8;cursor:default}.history-link{text-decoration:none;color:inherit;border-radius:7px;padding-left:7px;padding-right:7px}.history-link:hover{background:#f7f8fa}.route-actions{grid-template-columns:1fr 1fr}.route-actions>a{grid-column:auto}.route-actions form{grid-column:1/-1}.route-actions .approve{width:100%}
@media(max-width:900px){.route-row{grid-template-columns:72px minmax(0,1fr) 90px}.route-row>.pill{grid-column:2/4;justify-self:start}.route-cycle{text-align:left}.identity-card{grid-template-columns:1fr}.identity-card>div{border-right:0;border-bottom:1px solid #334155}.identity-card>div:last-child{border-bottom:0}}
@media(max-width:720px){.project-folder>summary{padding:13px 12px;flex-wrap:wrap}.project-open-link{width:100%;margin-left:23px}.route-row{grid-template-columns:72px 1fr;padding:12px}.route-cycle{grid-column:1}.route-row>.pill{grid-column:2;justify-self:start}.cycle-switcher{width:100%;border-right:0;border-bottom:1px solid var(--line);padding:0 0 6px;justify-content:space-between;order:-1}.viewer-nav-group{flex-wrap:wrap}.route-actions{grid-template-columns:1fr}.route-actions>a,.route-actions form{grid-column:auto}}

/* v0.4 multi-artwork routes */
.artwork-strip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px;box-shadow:var(--shadow);min-width:0}.artwork-strip-label{min-width:160px;border-right:1px solid var(--line);padding-right:12px}.artwork-strip-label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.artwork-strip-label strong{display:block;margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artwork-tabs{display:flex;gap:6px;overflow:auto;min-width:0;padding:1px}.artwork-tab{display:inline-flex;align-items:center;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:#384152;padding:6px 9px;text-decoration:none;font-size:11px;font-weight:700}.artwork-tab:hover{background:#f7f8fa}.artwork-tab.active{background:#e8eefc;border-color:#9cb5ef;color:#173d91}.history-cycle{border-bottom:1px solid #edf0f3;padding:9px 0}.history-cycle-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.history-cycle-head a{color:var(--ink);text-decoration:none}.history-cycle small{display:block;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-actions{grid-template-columns:1fr 1fr}.route-actions>a{grid-column:auto}.route-actions form{grid-column:auto}.route-actions .approve,.route-actions .reject{width:100%}
@media(max-width:720px){.artwork-strip{align-items:stretch;flex-direction:column}.artwork-strip-label{min-width:0;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}.artwork-tabs{width:100%}.route-actions{grid-template-columns:1fr}.route-actions>a,.route-actions form{grid-column:auto}}

/* v0.4.1 folder navigation: project -> artwork route -> artwork file */
.route-folder-head{margin-bottom:14px}.route-folder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px}.cycle-folder-nav{min-width:0}.cycle-folder-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.cycle-folder-link{display:inline-flex;padding:6px 9px;border:1px solid #cbd2dc;border-radius:7px;text-decoration:none;color:#4b5563;background:#fff;font-size:11px;font-weight:700}.cycle-folder-link:hover{background:#f7f8fa}.cycle-folder-link.active{background:#e8eefc;border-color:#9cb5ef;color:#173d91}.route-folder-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.route-file-card,.cycle-summary-card{margin-bottom:14px}.folder-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.folder-section-head h2{margin:3px 0 0;font-size:20px}.route-file-list{border-top:1px solid var(--line)}.route-file-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.7fr) minmax(160px,.7fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f3}.route-file-row:last-child{border-bottom:0}.file-main{display:flex;gap:11px;align-items:center;min-width:0;text-decoration:none;color:var(--ink)}.file-main>span:last-child{min-width:0}.file-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-main small,.file-upload-meta small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:42px;border:1px solid #d6dce5;border-radius:7px;background:#f7f8fa;font-size:9px;font-weight:900;letter-spacing:.05em;color:#596274}.file-review-counts{display:flex;flex-direction:column;gap:3px;color:#596274;font-size:11px}.file-upload-meta{font-size:11px;min-width:0}.file-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.cycle-summary-card{margin-top:14px}.route-decision-actions{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.route-decision-actions form{margin:0}.viewer-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.history-item a{text-decoration:none;color:var(--ink)}
@media(max-width:980px){.route-file-row{grid-template-columns:minmax(220px,1fr) 150px auto}.file-review-counts{grid-column:2}.file-upload-meta{display:none}.route-folder-toolbar{align-items:flex-start;flex-direction:column}.route-folder-actions{justify-content:flex-start}}
@media(max-width:720px){.route-file-row{grid-template-columns:1fr;gap:9px}.file-review-counts{grid-column:auto;flex-direction:row;gap:12px}.file-actions{justify-content:flex-start}.folder-section-head{align-items:flex-start;flex-direction:column}.viewer-head-actions{justify-content:flex-start}.route-decision-actions{flex-direction:column}}

/* v0.5 per-artwork revisions */
.pill.info{color:#315a8a;background:#e9f2fb}.file-revision-flag{display:inline-flex;margin-top:5px;width:max-content}.revision-explainer{margin-bottom:14px}.revision-form{margin-bottom:18px}.revision-file-list{border-top:1px solid var(--line)}.revision-file-row{display:grid;grid-template-columns:minmax(240px,1fr) 36px minmax(280px,1.2fr);gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f3}.revision-file-row.target{background:#fff9e8;margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px}.revision-source{display:flex;gap:11px;align-items:center;min-width:0}.revision-source>span:last-child{min-width:0}.revision-source strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revision-source small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revision-arrow{text-align:center;color:#8b95a5;font-weight:800}.revision-upload{font-size:12px}.revision-upload input{margin-top:2px}.revision-upload small{font-weight:400;line-height:1.35}.route-file-row .file-main .pill{font-size:9px;padding:3px 6px}
@media(max-width:760px){.revision-file-row{grid-template-columns:1fr}.revision-arrow{display:none}.revision-file-row.target{margin:0}.revision-upload{padding-left:51px}}

/* v0.5.4 simplified previous-version comparison popup */
.inline-action-form{display:inline-flex;margin:0}.directive-info{border-color:#e4c77f;background:#fff9e8}.directive-info strong{color:#6f4f00}
.compare-button{white-space:nowrap}
.compare-dialog{width:min(96vw,1540px);max-width:none;height:auto;max-height:94vh;border:0;border-radius:12px;padding:0;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(15,23,42,.34)}
.compare-dialog::backdrop{background:rgba(15,23,42,.58)}
.compare-dialog-shell{display:flex;flex-direction:column;max-height:94vh;margin:0}
.compare-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid var(--line)}
.compare-dialog-head h2{margin:2px 0 0;font-size:22px}.compare-dialog-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.compare-close{flex:0 0 auto;width:38px;height:38px;border:1px solid #cbd2dc;border-radius:8px;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}.compare-close:hover{background:#f6f7f9}
.compare-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);background:#f8fafc}
.compare-page-nav{display:flex;align-items:center;gap:7px;font-size:11px}.compare-page-nav button{border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:#374151;padding:6px 9px;font:inherit;font-weight:750;cursor:pointer}.compare-page-nav button:disabled{opacity:.4;cursor:default}
.compare-version-toggle{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:#465164;cursor:pointer;user-select:none}.compare-version-toggle .switch{display:inline-flex;align-items:center}.compare-version-toggle input{position:absolute;opacity:0;pointer-events:none}.switch-track{display:inline-flex;align-items:center;width:46px;height:26px;padding:3px;border-radius:999px;background:#94a3b8;transition:background .15s ease}.switch-thumb{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.28);transform:translateX(0);transition:transform .15s ease}.compare-version-toggle input:checked + .switch-track{background:var(--accent)}.compare-version-toggle input:checked + .switch-track .switch-thumb{transform:translateX(20px)}.compare-version-toggle input:focus-visible + .switch-track{outline:3px solid rgba(29,78,216,.22);outline-offset:2px}
.compare-message{margin:12px 20px 0;padding:9px 11px;border:1px solid #d9e1ec;border-radius:8px;background:#f8fafc;color:#596274;font-size:11px}.compare-message.error{border-color:#efc2c2;background:#fff1f1;color:#9b2525}
.compare-stage-scroller{margin:12px 20px 0;overflow:auto;min-height:260px;max-height:68vh;border:1px solid #cfd6df;border-radius:8px;background:#dfe3e8;padding:14px}
.compare-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 2px 9px rgba(15,23,42,.16);overflow:hidden}.compare-stage>canvas{position:absolute;inset:0;display:block}.compare-current-layer{position:absolute;left:0;top:0;z-index:2;overflow:visible;transition:opacity .08s linear}.compare-current-layer canvas{position:absolute;left:0;top:0;display:block;max-width:none}
.compare-alignment-note{margin:9px 20px 0;padding:8px 10px;border-radius:7px;background:#fff7df;border:1px solid #ead39d;color:#765500;font-size:10px}.compare-legend{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 20px 16px;color:#596274;font-size:10px}.compare-legend span{display:flex;align-items:center;gap:5px;min-width:0}.compare-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.compare-dot.previous{background:#64748b}.compare-dot.current{background:#2563eb}
@media(max-width:760px){.compare-dialog{width:98vw;max-height:96vh}.compare-dialog-shell{max-height:96vh}.compare-toolbar{align-items:flex-start;flex-direction:column}.compare-stage-scroller{margin-left:10px;margin-right:10px;padding:8px}.compare-legend{padding-left:10px;padding-right:10px;flex-direction:column;gap:6px}}

/* v0.5.5 compare flip: only one version canvas is visible at a time. */
.compare-stage{position:relative!important;overflow:hidden!important}
.compare-stage>canvas{position:absolute!important;left:0!important;top:0!important;display:block;max-width:none}
.compare-version-headband{display:flex;align-items:center;gap:10px;padding:9px 13px;margin:0 auto 10px;border-radius:8px;font-size:11px;font-weight:700}
.compare-version-headband strong{font-size:11px;letter-spacing:.08em}
.compare-version-headband span{font-weight:600;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v0.5.6 annotation navigation */
.annotation-section-head{align-items:flex-start;gap:12px}.annotation-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.annotation-nav-button{white-space:nowrap}.annotation-nav-button:disabled{opacity:.45;cursor:not-allowed}.annotation-position{min-width:72px;text-align:center;font-size:11px;font-weight:800;color:#5f6b7a}.annotation-card.selected{border-color:#2563eb;background:#eef4ff;box-shadow:inset 4px 0 0 #2563eb,0 0 0 1px rgba(37,99,235,.08)}
@media(max-width:720px){.annotation-section-head{flex-direction:column}.annotation-nav{justify-content:flex-start;width:100%}.annotation-position{min-width:64px}}

/* v0.5.7 viewer polish: CTA annotation tools, logical layers, compare zoom, PDF export */
.history-item{align-items:flex-start;min-width:0}.history-item>div{min-width:0;flex:1}.history-open-pill{flex:0 0 auto;align-self:flex-start;white-space:nowrap;line-height:1}
.annotation-tools-cta{border:1px solid #cbdaf8;border-left:1px solid #cbdaf8;background:#f1f6ff;border-radius:9px;padding:5px 6px;gap:5px}.annotation-cta-label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#2450a6;margin:0 2px 0 1px}.annotation-tools-cta .tool-button.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(29,78,216,.18)}.annotation-tools-cta .select-tool{background:#fff}.annotation-tools-cta .select-tool.active{background:#344054;border-color:#344054;color:#fff}.annotation-tools-cta .annotation-color-control{border-left:1px solid #cbdaf8}.annotation-tools-cta .annotation-color-control span{color:#53627a}

.pdf-layers-menu{position:relative;margin:0}.pdf-layers-menu>summary{list-style:none;cursor:pointer}.pdf-layers-menu>summary::-webkit-details-marker{display:none}.pdf-layers-menu[open]>.pdf-layers-summary{background:#e8eefc;border-color:#9cb5ef;color:#173d91}.pdf-layers-summary{display:inline-flex;align-items:center;gap:6px}.pdf-layers-summary span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#e5e7eb;font-size:9px;font-weight:800}.pdf-layers-menu[open]>.pdf-layers-summary span{background:#fff}.pdf-layers-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:320px;max-height:390px;overflow:auto;background:#fff;border:1px solid #ccd4df;border-radius:10px;box-shadow:0 16px 38px rgba(15,23,42,.18);padding:10px}.pdf-layers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 9px;border-bottom:1px solid #edf0f3}.pdf-layers-head>div{display:grid;gap:1px}.pdf-layers-head strong{font-size:12px}.pdf-layers-head span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.pdf-layer-list{display:grid;padding-top:5px}.pdf-layer-row{display:flex;align-items:center;gap:9px;min-height:36px;padding:6px 7px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer}.pdf-layer-row:hover{background:#f3f6fb}.pdf-layer-row input{width:16px;height:16px;margin:0;accent-color:#2555d9;flex:0 0 auto}.pdf-layer-row span{min-width:0;overflow-wrap:anywhere}

.annotation-export{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.annotation-export .export-annotations-button{width:100%;background:#172033;border-color:#172033;color:#fff}.annotation-export .export-annotations-button:hover{background:#0f172a}.annotation-export .export-annotations-button:disabled{opacity:.4;cursor:not-allowed}.annotation-export p{margin:7px 2px 0;color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:900px){.pdf-layers-popover{right:auto;left:0}.annotation-tools-cta{width:100%}.compare-nav-tools{width:100%;justify-content:space-between}}
@media(max-width:720px){.annotation-cta-label{width:100%;margin-bottom:1px}.pdf-layers-popover{position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:42vh}.compare-toolbar-sep{display:none}.compare-nav-tools{align-items:flex-start;flex-direction:column}}

/* v0.5.9 toolbar + PDF production layer controls */
.viewer-toolbar{display:block;padding:0;background:#fbfcfd;font-size:12px}
.viewer-toolbar-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0}
.viewer-toolbar-primary{min-height:54px;padding:8px 10px}
.viewer-toolbar-primary .cycle-switcher{flex:0 1 auto;min-width:0}
.viewer-toolbar-primary .viewer-nav-group{flex:0 0 auto}
.viewer-document-tools{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.viewer-document-tools>.button,.viewer-document-tools .pdf-layers-summary{min-height:36px;padding:7px 11px;font-size:12px}

.annotation-workbar{min-height:76px;padding:10px 12px;border-top:1px solid #dce4f2;background:linear-gradient(180deg,#f6f9ff 0%,#f1f6ff 100%)}
.annotation-workbar-title{display:grid;gap:1px;min-width:132px;padding-right:12px;border-right:1px solid #ccd8ec;align-self:stretch;align-content:center}
.annotation-workbar-title strong{font-size:13px;color:#172033;white-space:nowrap}
.annotation-workbar-kicker{font-size:9px;letter-spacing:.1em;color:#49658e;font-weight:900}
.annotation-workbar .annotation-tools{border:0;padding:0;flex:1;display:flex;align-items:stretch;gap:7px;flex-wrap:nowrap;background:transparent}
.annotation-workbar .annotation-tools-cta{border:0;background:transparent;border-radius:0}
.annotation-workbar .tool-button{min-height:48px!important;min-width:84px!important;padding:7px 13px!important;border-radius:9px;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border-color:#c8d2df;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.annotation-workbar .tool-button:hover{background:#f8fbff;border-color:#9fb4d3}
.annotation-workbar .tool-button.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 8px rgba(29,78,216,.18)}
.annotation-workbar .tool-icon{font-size:17px;line-height:1;font-weight:800}
.annotation-workbar .select-tool.active{background:#344054;border-color:#344054;color:#fff}
.annotation-workbar .annotation-color-control{min-width:116px;min-height:48px;padding:5px 12px;border:1px solid #c8d2df!important;border-radius:9px;background:#fff;display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#53627a}
.annotation-workbar .annotation-color-control span{max-width:62px;line-height:1.15}
.annotation-workbar .annotation-color-control input{width:34px;height:34px;padding:2px;border-radius:8px;flex:0 0 auto}
.annotation-workbar .danger-tool{margin-left:auto}
.annotation-workbar .danger-tool:disabled{background:#f5f6f8}

.pdf-layers-menu{position:relative;margin:0}
.pdf-layers-summary{border-color:#adc2ef;background:#f1f6ff;color:#214d9d}
.pdf-layers-menu[open]>.pdf-layers-summary{background:#dfe9ff;border-color:#7da0ed;color:#173d91}
.pdf-layers-summary span{background:#fff;border:1px solid #d6dfef;min-width:20px;height:20px;font-size:10px}
.pdf-layers-popover{top:calc(100% + 7px);right:0;width:380px;max-height:430px;padding:12px;overflow:auto}
.pdf-layers-head{padding:1px 1px 11px}
.pdf-layers-head strong{font-size:13px}
.pdf-layers-head span{font-size:9px}
.pdf-layer-list{display:grid;gap:2px;padding-top:7px}
.pdf-layer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:7px 8px;border-radius:8px;font-size:12px;font-weight:700;cursor:default}
.pdf-layer-row:hover{background:#f4f7fb}
.pdf-layer-name{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.25;color:#1d2939}
.pdf-layer-toggle{position:relative;display:inline-flex!important;flex:0 0 auto;width:44px;height:26px;cursor:pointer}
.pdf-layer-toggle input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;margin:0!important;padding:0!important;pointer-events:none}
.pdf-layer-toggle-track{display:block;position:relative;width:44px;height:26px;border-radius:999px;background:#cfd5dd;border:1px solid #bcc4cf;transition:background .15s ease,border-color .15s ease}
.pdf-layer-toggle-track::after{content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.28);transition:transform .15s ease}
.pdf-layer-toggle input:checked + .pdf-layer-toggle-track{background:#2563eb;border-color:#2563eb}
.pdf-layer-toggle input:checked + .pdf-layer-toggle-track::after{transform:translateX(18px)}
.pdf-layer-toggle input:focus-visible + .pdf-layer-toggle-track{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.pdf-layer-toggle input:disabled + .pdf-layer-toggle-track{opacity:.55;cursor:wait}

@media(max-width:1250px){
  .viewer-toolbar-primary{flex-wrap:wrap}
  .viewer-document-tools{margin-left:0}
  .annotation-workbar{align-items:flex-start}
  .annotation-workbar .annotation-tools{flex-wrap:wrap}
  .annotation-workbar .danger-tool{margin-left:0}
}
@media(max-width:900px){
  .annotation-workbar{flex-direction:column}
  .annotation-workbar-title{border-right:0;border-bottom:1px solid #ccd8ec;width:100%;padding:0 0 8px;min-width:0}
  .annotation-workbar .annotation-tools{width:100%}
  .pdf-layers-popover{right:0;left:auto}
}
@media(max-width:720px){
  .viewer-toolbar-primary{align-items:flex-start;flex-direction:column}
  .viewer-document-tools{width:100%;justify-content:space-between}
  .annotation-workbar .tool-button{min-width:76px!important;flex:1 1 76px}
  .annotation-workbar .annotation-color-control{flex:1 1 130px}
  .pdf-layers-popover{position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:50vh}
}

/* v0.5.10 — reviewer colors, roomier annotation actions, resilient PDF layer UI */
.annotation-workbar{min-height:84px;padding:12px 14px;gap:14px}
.annotation-workbar-title{min-width:148px;padding-right:14px}
.annotation-workbar-title strong{font-size:14px}
.annotation-workbar .annotation-tools{gap:9px;align-items:stretch;min-width:0}
.annotation-workbar .tool-button:not(.danger-tool){flex:1 1 0;min-width:96px!important;min-height:56px!important;padding:8px 12px!important;font-size:13px}
.annotation-workbar .tool-icon{font-size:18px}
.annotation-workbar .danger-tool{flex:0 0 88px;min-width:88px!important;min-height:56px!important;margin-left:0}
.annotation-user-color{flex:0 0 auto;min-width:132px;min-height:56px;padding:7px 11px;border:1px solid #c8d2df;border-radius:9px;background:#fff;display:flex;align-items:center;gap:9px;color:#344054}
.annotation-user-color-dot{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #b9c2cf,0 1px 3px rgba(15,23,42,.18);flex:0 0 auto}
.annotation-user-color>span:last-child{display:grid;gap:1px;min-width:0}
.annotation-user-color small{font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#7a8596}
.annotation-user-color strong{font-size:11px;line-height:1.15;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#243247}

.pdf-layers-menu.loading>.pdf-layers-summary{opacity:.72;cursor:wait}
.pdf-layers-summary{font-weight:800;white-space:nowrap}
.pdf-layers-popover{width:400px}
.pdf-layer-row{border-bottom:1px solid #f0f2f5}
.pdf-layer-row:last-child{border-bottom:0}
.pdf-layer-name{font-size:12px;font-weight:700;white-space:normal}

@media(max-width:1250px){
  .annotation-workbar .tool-button:not(.danger-tool){flex:1 1 120px}
  .annotation-user-color{flex:1 1 132px}
  .annotation-workbar .danger-tool{flex:1 1 90px}
}
@media(max-width:900px){
  .annotation-workbar-title{min-width:0}
  .annotation-user-color{min-width:126px}
}

/* v0.5.11 — PDF layer interaction, compact document tools, changeable random annotation color */
.viewer-document-tools{align-self:center;align-items:center;gap:7px;min-height:36px}
.pdf-layers-menu{border-top:0!important;padding-top:0!important;margin-top:0!important;align-self:center;display:flex;align-items:center}
.pdf-layers-menu>summary{margin:0!important;align-self:center}
.viewer-document-tools>.button,.viewer-document-tools .pdf-layers-summary{height:36px;min-height:36px;line-height:1;padding-top:0;padding-bottom:0}
.pdf-download-button{width:36px!important;min-width:36px!important;padding:0!important;font-size:18px!important;font-weight:800;line-height:1;text-decoration:none}

/* Make the real checkbox occupy the full switch so pointer interaction is reliable. */
.pdf-layer-toggle{position:relative;display:inline-flex!important;flex:0 0 auto;width:46px;height:27px;cursor:pointer}
.pdf-layer-toggle input{position:absolute!important;inset:0!important;z-index:2!important;opacity:0!important;width:46px!important;height:27px!important;margin:0!important;padding:0!important;cursor:pointer!important;pointer-events:auto!important}
.pdf-layer-toggle-track{width:46px;height:27px;pointer-events:none}
.pdf-layer-toggle-track::after{width:21px;height:21px;left:2px;top:2px}
.pdf-layer-toggle input:checked + .pdf-layer-toggle-track::after{transform:translateX(19px)}

/* Color is a small tool, not a reviewer identity card. */
.annotation-user-color{display:none!important}
.annotation-color-picker{flex:0 0 92px;min-width:92px;min-height:56px;padding:6px 8px;border:1px solid #c8d2df;border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#667085;cursor:pointer}
.annotation-color-picker:hover{border-color:#9fb4d3;background:#f8fbff}
.annotation-color-picker span{line-height:1}
.annotation-color-picker input[type="color"]{width:44px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer;overflow:hidden}
.annotation-color-picker input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.annotation-color-picker input[type="color"]::-webkit-color-swatch{border:1px solid #aeb8c5;border-radius:6px}
.annotation-color-picker input[type="color"]::-moz-color-swatch{border:1px solid #aeb8c5;border-radius:6px}

@media(max-width:1250px){.annotation-color-picker{flex:1 1 92px;max-width:120px}}
@media(max-width:720px){.viewer-document-tools{justify-content:flex-start!important}.annotation-color-picker{flex:1 1 92px;max-width:none}}
\n/* v0.5.12 — clearer viewer actions and compact download */\n.proof-head{align-items:flex-end}\n.route-back-button{margin-bottom:8px;background:#fff;border-color:#c7d0dc;color:#536176;font-weight:750;box-shadow:0 1px 2px rgba(15,23,42,.03)}\n.route-back-button:hover{background:#f8fafc;border-color:#aeb9c7}\n.viewer-head-actions{gap:10px}\n.button-icon{font-size:1.08em;line-height:1;font-weight:900}\n.compare-cta{background:#e8f0ff!important;border-color:#85a8f4!important;color:#173f99!important;font-weight:850!important;box-shadow:0 2px 5px rgba(29,78,216,.10)}\n.compare-cta:hover{background:#dce8ff!important;border-color:#658fe8!important}\n.inline-action-form:has(.approve-cta){margin-left:18px}\n.approve-cta{background:#168447!important;border-color:#0c6b37!important;color:#fff!important;font-weight:900!important;box-shadow:0 3px 8px rgba(13,111,59,.20);padding-left:16px!important;padding-right:16px!important}\n.approve-cta:hover{background:#0f713b!important;border-color:#095b2e!important}\n.pdf-download-button{width:auto!important;min-width:0!important;height:32px!important;padding:0 10px!important;font-size:11px!important;font-weight:800!important;line-height:1!important;gap:5px!important;white-space:nowrap}\n.annotation-workbar .select-tool{min-width:126px!important}\n@media(max-width:900px){.inline-action-form:has(.approve-cta){margin-left:0}.proof-head{align-items:flex-start}.viewer-head-actions{justify-content:flex-start}}\n
/* v0.5.13 — compact download + contextual destructive action */
.viewer-document-tools {
  align-items: center;
}
.pdf-download-button {
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 9px !important;
  gap: 4px !important;
  border-color: #c8d2df !important;
  background: #fff !important;
  color: #465569 !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  white-space: nowrap;
}
.pdf-download-button:hover {
  background: #f8fafc !important;
  border-color: #aeb9c7 !important;
  color: #243247 !important;
}
.download-file-icon {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.delete-annotation-action {
  flex: 0 0 auto !important;
  min-width: 144px !important;
  min-height: 56px !important;
  margin-left: auto !important;
  background: #c62828 !important;
  border-color: #a91f1f !important;
  color: #fff !important;
  font-weight: 850 !important;
  box-shadow: 0 2px 6px rgba(198, 40, 40, .18) !important;
}
.delete-annotation-action:hover {
  background: #ab2020 !important;
  border-color: #8f1818 !important;
}
.delete-annotation-action[hidden] {
  display: none !important;
}
@media(max-width:900px) {
  .delete-annotation-action { margin-left: 0 !important; }
}

/* v0.5.14 recycle-bin controls */
.inline-action-form.recycle-form{display:inline-flex;margin:0}
.recycle-button{color:var(--bad);border-color:#efb2aa;background:#fff}
.recycle-button:hover{color:#8f1c14;background:var(--badbg);border-color:#df8f85}
.route-folder-actions .recycle-form{margin-left:6px}
.file-actions .recycle-form{margin-left:2px}

/* v0.6 stable route + prepress workflow */
.pill.updated{color:#1559a8;background:#e7f1ff}.file-updated-flag{margin-left:4px}.updated-note{color:#2764a5;font-weight:750}.route-simple-toolbar{align-items:center}.prepress-button{border-color:#8ca6c8;background:#f2f7fd;color:#234d7f;font-weight:800}.prepress-button:hover{background:#e8f1fc}.component-file-icon,.route-type-icon,.component-mini-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#4d5c72;background:#f6f8fb;border:1px solid #d8dee7;border-radius:9px}.component-file-icon{width:46px;height:46px}.route-type-icon{width:38px;height:38px}.component-mini-icon{width:34px;height:34px}.component-icon-svg{width:25px;height:25px}.component-table-icon{width:46px}.component-table-icon .component-icon-svg{width:28px;height:28px;color:#536176}.project-route-table th:first-child{width:48px}.route-row{grid-template-columns:42px minmax(0,1fr) auto!important}.route-main{min-width:0}.route-main strong{display:block}.route-main span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.current-file-row .file-title-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.prepress-dashboard{margin-top:14px}.prepress-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.prepress-dashboard-head h2{margin:3px 0 4px;font-size:21px}.prepress-role-pill{background:#172c49;color:#fff;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}.prepress-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.prepress-file-summary{border:1px solid #dfe4eb;border-radius:10px;padding:13px;background:#fbfcfd}.prepress-file-summary.needs-change{border-color:#e4c77f;background:#fffdf7}.prepress-file-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center}.prepress-file-head strong,.prepress-file-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prepress-file-head small{font-size:10px;margin-top:2px}.directive-list{margin:12px 0;padding-left:21px}.directive-list li{padding:7px 0;border-top:1px solid rgba(111,79,0,.12);font-size:12px}.directive-list li:first-child{border-top:0}.directive-list li span,.directive-list li small{display:block}.directive-list li small{font-size:10px;margin-top:3px}.prepress-no-directives{margin:14px 0}.prepress-file-actions{display:flex;gap:6px;margin-top:10px}.bulk-revision-inline{display:flex;align-items:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.bulk-revision-inline label{flex:1}.prepress-upload-cta{white-space:nowrap;min-height:42px}.current-filename-list{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.current-filename-list strong{width:100%;font-size:12px}.current-filename-list code{background:#f1f4f8;border:1px solid #dce2ea;border-radius:6px;padding:5px 7px;font-size:11px}.approve-spacer{margin-left:18px!important}.role-form select{width:auto;min-width:110px;padding:6px 8px}.revision-source .component-file-icon{margin-right:4px}
@media(max-width:1000px){.prepress-summary-grid{grid-template-columns:1fr}.bulk-revision-inline{align-items:stretch;flex-direction:column}.prepress-upload-cta{width:100%}.route-row{grid-template-columns:42px minmax(0,1fr) auto!important}}
@media(max-width:720px){.prepress-dashboard-head{flex-direction:column}.prepress-file-head{grid-template-columns:36px minmax(0,1fr)}.prepress-file-head .pill{grid-column:2;width:max-content}.route-row{grid-template-columns:36px minmax(0,1fr)!important}.route-row>.pill{grid-column:2;width:max-content}}

/* v0.6.1 — route banner, folder surface, compact prepress modal, deletion language */
.route-page-back{display:inline-flex;margin:2px 0 10px;font-weight:750;color:#526176;text-decoration:none}
.route-page-back:hover{color:#1f3554}
.route-hero-banner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;
  margin-bottom:22px;padding:22px 24px;border:1px solid #203c61;border-radius:16px;
  background:linear-gradient(118deg,#162942 0%,#203d61 62%,#294e78 100%);color:#fff;
  box-shadow:0 8px 24px rgba(18,39,66,.12);overflow:hidden;position:relative
}
.route-hero-banner::after{content:"";position:absolute;right:-70px;top:-95px;width:260px;height:260px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 36px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018);pointer-events:none}
.route-hero-icon{width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);position:relative;z-index:1}
.route-hero-svg{width:38px;height:38px;color:#fff}
.route-hero-copy{min-width:0;position:relative;z-index:1}.route-hero-kicker{font-size:10px;letter-spacing:.14em;font-weight:900;color:#bdd0e7;margin-bottom:5px}
.route-hero-copy h1{margin:0;font-size:29px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
.route-hero-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.route-hero-meta span{font-size:11px;font-weight:750;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);color:#e8f0f8}
.route-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:330px;position:relative;z-index:1}
.route-hero-actions .pill.warn{background:#ffedbd;color:#705500;border-color:#e4c46f}
.prepress-launch{background:#fff!important;color:#203b5e!important;border-color:#fff!important;font-weight:850!important;box-shadow:0 2px 7px rgba(0,0,0,.08)}
.prepress-launch:hover{background:#eef4fb!important;border-color:#eef4fb!important}
.delete-route-button{background:transparent!important;color:#ffd8d4!important;border-color:rgba(255,194,187,.45)!important;font-size:11px!important;font-weight:750!important}
.delete-route-button:hover{background:rgba(133,22,14,.27)!important;color:#fff!important;border-color:#ffb9b1!important}

.route-files-folder{position:relative;margin-top:10px;padding-top:19px}
.route-folder-tab{position:absolute;z-index:2;left:18px;top:0;height:34px;display:flex;align-items:center;gap:6px;padding:0 15px;border:1px solid #c7d2df;border-bottom:0;border-radius:10px 10px 0 0;background:#e8edf3;color:#35465c;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.folder-tab-icon{font-size:12px;color:#748399}
.route-folder-body{position:relative;z-index:1;padding:20px 18px 18px;border:1px solid #c7d2df;border-radius:11px;background:linear-gradient(#f2f5f8,#edf1f5);box-shadow:0 4px 14px rgba(28,45,65,.05)}
.route-folder-body .folder-section-head{padding:0 3px 13px;margin-bottom:7px;border-bottom:1px solid #d7dee7}.route-folder-body .folder-section-head h2{margin:0 0 3px;font-size:19px}.route-folder-body .folder-section-head p{margin:0;font-size:11px}
.folder-file-list{display:flex;flex-direction:column;gap:8px}.folder-file-row{border:1px solid #d6dde6!important;background:#fff!important;border-radius:10px!important;box-shadow:0 1px 3px rgba(34,51,71,.035);padding:11px 12px!important}.folder-file-row:hover{border-color:#b7c4d3!important;box-shadow:0 3px 10px rgba(34,51,71,.06)}
.file-updated-flag{margin-left:4px}.pill.updated{font-weight:850;letter-spacing:.025em}.updated-note{font-size:10px}
.delete-file-button{background:#fff!important;color:#a12a22!important;border-color:#e2b1ac!important;font-size:10px!important;font-weight:800!important;padding-left:8px!important;padding-right:8px!important;gap:4px!important}.delete-file-button:hover{background:#fff1ef!important;border-color:#cf8179!important;color:#851d17!important}

.prepress-dialog{width:min(1080px,calc(100% - 36px));max-height:88vh;padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 26px 80px rgba(11,27,47,.28);overflow:hidden}
.prepress-dialog::backdrop{background:rgba(15,28,45,.58);backdrop-filter:blur(2px)}
.prepress-dialog-shell{padding:20px 22px 22px;max-height:88vh;overflow:auto}
.prepress-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.prepress-dialog-head h2{margin:3px 0 4px;font-size:22px}.prepress-dialog-head p{margin:0;max-width:720px}
.dialog-close{width:34px;height:34px;border:1px solid #d3dae3;border-radius:8px;background:#fff;color:#536176;font-size:22px;line-height:1;cursor:pointer}.dialog-close:hover{background:#f3f5f8;color:#1e2e43}
.prepress-dialog-actions{display:flex;align-items:center;justify-content:flex-end;margin:13px 0 4px}.annotation-xls-button{background:#218b4a!important;border-color:#19733c!important;color:#fff!important;font-size:10px!important;font-weight:850!important;padding:6px 9px!important;min-height:29px!important;box-shadow:0 2px 5px rgba(30,130,70,.12)}.annotation-xls-button:hover{background:#19773f!important;border-color:#145f33!important}
.prepress-modal-grid{margin-top:10px;max-height:430px;overflow:auto;padding-right:3px}.prepress-modal-upload{margin-top:14px;background:#f7f9fb;border:1px solid #dce3eb;border-radius:10px;padding:12px}

@media(max-width:900px){
  .route-hero-banner{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:18px}.route-hero-icon{width:58px;height:58px}.route-hero-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.route-hero-copy h1{font-size:24px}
  .route-folder-body{padding:18px 10px 12px}.folder-file-row{padding:10px!important}.prepress-dialog{width:calc(100% - 20px)}
}
@media(max-width:620px){.route-hero-banner{grid-template-columns:1fr}.route-hero-icon{display:none}.route-folder-tab{left:10px}.prepress-dialog-shell{padding:16px}.prepress-dialog-head{gap:10px}.prepress-summary-grid{grid-template-columns:1fr}}
.trash-icon{width:13px;height:13px;flex:0 0 auto;vertical-align:-2px}

/* v0.6.2 — newReview brand system, version color chips, centered compare zoom */
:root{
  --brand-charcoal:#34383d;
  --brand-charcoal-2:#292d31;
  --brand-cream:#f6f2e8;
  --accent:#2b6f89;
  --accent2:#25323a;
}
.topbar{
  min-height:66px;height:66px;background:linear-gradient(90deg,var(--brand-charcoal-2),var(--brand-charcoal));
  border-bottom:1px solid rgba(255,255,255,.08);padding:0 22px;box-shadow:0 2px 10px rgba(20,24,28,.16)
}
.newreview-brand{display:flex;align-items:center;gap:11px;min-width:0;color:#fff!important;letter-spacing:normal!important;text-decoration:none}
.suntory-wordmark{font-size:12px;font-weight:900;letter-spacing:.16em;line-height:1;color:#fff;white-space:nowrap}
.brand-separator{width:1px;height:28px;background:rgba(255,255,255,.23);flex:0 0 auto}
.newreview-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}
.newreview-icon svg{width:28px;height:28px;display:block}
.newreview-wordmark{display:inline-flex;align-items:baseline;gap:1px;color:var(--brand-cream);line-height:1;white-space:nowrap;transform:rotate(-2deg);transform-origin:left center}
.newreview-wordmark span,.newreview-wordmark strong{font-family:"Cooper Black","Cooper Std Black","Bookman Old Style",Georgia,serif;font-style:italic;text-transform:none}
.newreview-wordmark span{font-size:19px;font-weight:500;letter-spacing:-.045em}
.newreview-wordmark strong{font-size:23px;font-weight:900;letter-spacing:-.055em}
.login-newreview-logo-image{width:min(340px,100%);aspect-ratio:5/1;overflow:hidden;margin:8px 0 10px!important}
.login-newreview-logo-image img{display:block;width:calc(100% + 20px);max-width:none;height:auto;transform:translate(-10px,-13%)}
.topbar-newreview-image{display:block;width:132px;aspect-ratio:3/1;overflow:hidden;flex:0 0 auto}
.topbar-newreview-image img{display:block;width:100%;height:100%;object-fit:contain}
.topbar nav{gap:17px}.topbar nav a{color:#e8ecef}.topbar nav a:hover{color:#fff}.user-chip{color:#c7ced3;border-left-color:#5b6167}
.primary{background:var(--accent);border-color:var(--accent)}.primary:hover{background:#225c72;border-color:#225c72}
.tab.active{box-shadow:inset 0 -2px 0 var(--accent)}
.annotation-workbar .tool-button.active{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 8px rgba(43,111,137,.20)}
.compare-version-toggle input:checked + .switch-track{background:var(--accent)}
.route-hero-banner{border-color:#3f464c;background:linear-gradient(118deg,#303438 0%,#3a3f44 62%,#454b50 100%);box-shadow:0 8px 24px rgba(22,25,28,.13)}
.route-hero-kicker{color:#d4d9dd}.prepress-launch{color:#32383d!important}

/* Stable, standardized version colors. Colors repeat every six versions. */
.version-badge{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:21px;padding:0 7px;margin-left:5px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.03em;line-height:1;border:1px solid transparent;vertical-align:middle;text-decoration:none!important}
.version-tone-1{background:#e7efff;color:#2450a5;border-color:#b9cff5}
.version-tone-2{background:#f0e9ff;color:#6b3fb1;border-color:#d4c2f1}
.version-tone-3{background:#e1f4ef;color:#176b5a;border-color:#addacd}
.version-tone-4{background:#fff0df;color:#a35412;border-color:#efc99f}
.version-tone-5{background:#fde8ee;color:#a83257;border-color:#efb8c9}
.version-tone-6{background:#e9ebff;color:#4f50a6;border-color:#c2c4ee}
.meta-line .version-badge{padding:0 8px;background-clip:padding-box;color:inherit}
.meta-line .version-tone-1{background:#e7efff;color:#2450a5}.meta-line .version-tone-2{background:#f0e9ff;color:#6b3fb1}.meta-line .version-tone-3{background:#e1f4ef;color:#176b5a}.meta-line .version-tone-4{background:#fff0df;color:#a35412}.meta-line .version-tone-5{background:#fde8ee;color:#a83257}.meta-line .version-tone-6{background:#e9ebff;color:#4f50a6}
.folder-file-row small .version-badge{margin-left:6px}
.history-link{display:inline-flex;align-items:center;text-decoration:none}.history-link .version-badge{margin-left:0}

/* Compare utility: zoom is visually centered; version toggle left, page nav right. */
.simple-compare-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;flex-wrap:nowrap!important}
.simple-compare-toolbar .compare-version-toggle{justify-self:start}
.compare-zoom-centered{justify-self:center;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}
.compare-zoom-centered button{width:34px;height:32px;padding:0;border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:#374151;font:inherit;font-weight:850;cursor:pointer}
.compare-zoom-centered button:hover{background:#f3f6f8}
.compare-zoom-centered #compareZoomLabel{min-width:48px;text-align:center;color:#475467}
.compare-page-right{justify-self:end}

@media(max-width:760px){
  .topbar{height:auto;min-height:64px;padding:8px 12px}.newreview-brand{gap:8px}.suntory-wordmark{font-size:10px}.brand-separator{height:24px}.newreview-icon{width:26px;height:26px}.newreview-icon svg{width:24px;height:24px}.newreview-wordmark span{font-size:16px}.newreview-wordmark strong{font-size:19px}
  .simple-compare-toolbar{grid-template-columns:1fr auto!important;gap:10px!important}.simple-compare-toolbar .compare-version-toggle{grid-column:1}.compare-zoom-centered{grid-column:2;justify-self:end}.compare-page-right{grid-column:1/-1;justify-self:center}
}
.version-tone-7{background:#e3f6fb;color:#17657a;border-color:#addbe6}
.version-tone-8{background:#edf7df;color:#55751f;border-color:#cfdfaa}
.version-tone-9{background:#fff5d9;color:#91620b;border-color:#ead095}
.version-tone-10{background:#f8e8f7;color:#913c88;border-color:#e3bce0}
.meta-line .version-tone-7{background:#e3f6fb;color:#17657a}.meta-line .version-tone-8{background:#edf7df;color:#55751f}.meta-line .version-tone-9{background:#fff5d9;color:#91620b}.meta-line .version-tone-10{background:#f8e8f7;color:#913c88}


/* v0.6.4 — annotation panel readability + compact guidance */
.annotation-nav-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:7px 0 9px;
  text-align:center;
}
.annotation-nav-label{
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#748094;
}
.annotation-nav-block .annotation-nav{
  justify-content:center;
  width:100%;
}
.annotation-nav-block .annotation-position{
  min-width:92px;
  font-size:11px;
}
.directive-hint{
  margin:7px 0 9px;
  padding:7px 9px;
  border:1px solid #e4c77f;
  border-radius:7px;
  background:#fff9e8;
  color:#6f4f00;
  font-size:10.5px;
  line-height:1.3;
}
.directive-hint[hidden]{display:none!important}
.annotation-card{
  padding:11px 12px;
}
.annotation-card-top strong{
  font-size:12px;
}
.annotation-card-top>span:last-child{
  font-size:12px;
  font-weight:750;
  color:#435066;
}
.annotation-card p{
  margin:8px 0 7px;
  font-size:14px;
  line-height:1.45;
  color:#1f2937;
}
.annotation-card small{
  font-size:10.5px;
}
.review-panel .tabs .tab{
  min-width:0;
}
.prepress-dialog-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.route-annotated-pdf-button{
  background:#162238;
  border-color:#162238;
  color:#fff;
  font-weight:800;
}
.route-annotated-pdf-button:hover{
  background:#0f1a2d;
  border-color:#0f1a2d;
}
#routeExportAnnotationState{
  margin:0;
  min-height:0;
}
@media(max-width:720px){
  .annotation-nav-block .annotation-nav{justify-content:center}
}

/* v0.6.3 — supplied Suntory lockup + flatter folder tab */
:root{--suntory-teal:#5bc2dc;--suntory-teal-deep:#168ba8;--brand-charcoal:#34383d;--brand-charcoal-2:#292d31}
.topbar{background:linear-gradient(90deg,#292d31 0%,#34383d 72%,#3c4146 100%);border-bottom:3px solid var(--suntory-teal);box-shadow:0 3px 12px rgba(20,25,30,.15)}
.newreview-brand{gap:13px}
.suntory-lockup{display:flex;align-items:center;justify-content:flex-start;width:118px;height:47px;flex:0 0 118px}
.suntory-lockup img{display:block;width:112px;max-height:43px;object-fit:contain;object-position:left center}
.brand-separator{height:34px;background:rgba(255,255,255,.24)}
.newreview-icon,.suntory-wordmark{display:none!important}
.newreview-wordmark{transform:rotate(-2deg) translateY(-1px)}
.newreview-wordmark span{color:#fff}
.newreview-wordmark strong{color:var(--suntory-teal);text-shadow:0 1px 0 rgba(0,0,0,.16)}
.topbar nav a:hover{color:#fff}
.primary{background:var(--suntory-teal-deep);border-color:var(--suntory-teal-deep)}
.primary:hover{background:#11758d;border-color:#11758d}
.tab.active{box-shadow:inset 0 -2px 0 var(--suntory-teal-deep)}
.row-title:hover,.link-button,.backlink:hover,.route-page-back:hover{color:var(--suntory-teal-deep)}

/* Keep the folder cue but reduce the protruding tab so content below reads cleanly. */
.route-files-folder{margin-top:10px;padding-top:10px}
.route-folder-tab{left:18px;top:1px;height:22px;padding:0 10px;gap:4px;border-radius:6px 6px 0 0;background:#e9edf1;border-color:#cbd4de;color:#45556a;font-size:9px;letter-spacing:.07em;box-shadow:none}
.folder-tab-icon{font-size:10px}
.route-folder-body{padding-top:17px;border-radius:9px;box-shadow:0 3px 10px rgba(28,45,65,.045)}
.route-folder-body .folder-section-head{padding-top:0}

@media(max-width:720px){.suntory-lockup{width:94px;height:40px;flex-basis:94px}.suntory-lockup img{width:90px;max-height:36px}.brand-separator{height:28px}.newreview-brand{gap:8px}.topbar-newreview-image{width:112px}}


/* v0.6.10 — review log */
.review-log-head{
  margin-bottom:12px;
}
.review-log-head h3{
  margin:2px 0 4px;
}
.review-log-head p{
  margin:0;
  font-size:11px;
  line-height:1.35;
}
.review-log-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.review-log-list[hidden],
.review-log-empty[hidden]{
  display:none!important;
}
.review-log-confirmation-entities{
  display:contents;
}
.review-log-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e1e6eb;
  border-radius:9px;
  background:#fff;
}
.review-log-user{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.review-log-user strong{
  font-size:13px;
  line-height:1.2;
  color:#1f2937;
}
.review-log-count{
  font-size:10.5px;
  color:#718096;
}
.review-log-action{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:4px;
}
.review-log-action time{
  font-size:9.5px;
  color:#7a8492;
  white-space:nowrap;
}
.review-log-confirmation-entity{
  align-items:flex-start;
}
.review-log-confirmation-entity .review-log-user{
  flex:1 1 auto;
}
.review-log-confirmation-list{
  display:grid;
  gap:7px;
  list-style:none;
  margin:5px 0 0;
  padding:0;
}
.review-log-confirmation-list li{
  border-left:2px solid #b8e6cd;
  color:#374151;
  font-size:11px;
  line-height:1.35;
  padding-left:8px;
}
.review-log-confirmation-list li>span{
  display:block;
}
.review-log-confirmation-list li>time{
  display:block;
  color:#7a8492;
  font-size:9.5px;
  margin-top:2px;
}
.review-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.055em;
}
.review-status.annotated{
  background:#fff3c4;
  border:1px solid #e4bd52;
  color:#795400;
}
.review-status.approved{
  background:#dcfce7;
  border:1px solid #76c990;
  color:#126531;
}
.review-status.confirmed{
  background:#e9f8f0;
  border:1px solid #76c990;
  color:#126531;
}
.review-log-empty{
  padding:16px 12px;
  border:1px dashed #d4dae2;
  border-radius:9px;
  color:#7a8492;
  font-size:11px;
  text-align:center;
}
@media(max-width:520px){
  .review-log-item{
    align-items:flex-start;
    flex-direction:column;
  }
  .review-log-action{
    align-items:flex-start;
  }
}




/* v0.7.13 — compare annotations */
.compare-left-tools{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  justify-self:start;
}
.compare-annotation-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  color:#536176;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
.compare-annotation-toggle .switch{
  display:inline-flex;
  align-items:center;
}
.compare-annotation-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.compare-annotation-toggle input:checked + .switch-track{
  background:#d97706;
}
.compare-annotation-toggle input:checked + .switch-track .switch-thumb{
  transform:translateX(20px);
}
#compareAnnotationCanvas{
  z-index:4!important;
  pointer-events:none!important;
}
.compare-stage-scroller{
  max-height:64vh;
}
@media(max-width:900px){
  .compare-left-tools{
    flex-wrap:wrap;
    gap:10px 14px;
  }
}
@media(max-width:760px){
  .compare-left-tools{
    width:100%;
  }
}


/* v0.7.17 — compare annotation comments + clearer Current toggle */
.compare-version-toggle .switch-track{
  background:#94a3b8;
}
.compare-version-toggle input:checked + .switch-track{
  background:#69a9e8 !important;
}
.compare-version-name{
  color:#788596;
  transition:color .15s ease,background .15s ease,border-color .15s ease;
  padding:3px 5px;
  border-radius:5px;
}
.compare-version-name.active{
  color:#185f9f;
  background:#e9f4ff;
  box-shadow:inset 0 0 0 1px #c8e2f8;
}
#comparePreviousLabel.active{
  color:#475569;
  background:#eef1f5;
  box-shadow:inset 0 0 0 1px #d5dbe3;
}

.compare-content{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  min-height:0;
  padding:12px 20px 16px;
}
.compare-content.annotations-open{
  grid-template-columns:minmax(0,1fr) 310px;
}
.compare-content .compare-stage-scroller{
  margin:0;
  max-height:62vh;
  min-width:0;
}
.compare-annotation-sidebar{
  min-width:0;
  max-height:62vh;
  overflow:hidden;
  border:1px solid #cfd6df;
  border-radius:8px;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.compare-annotation-sidebar[hidden]{
  display:none!important;
}
.compare-annotation-sidebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px;
  border-bottom:1px solid #e0e5eb;
  background:#f8fafc;
}
.compare-annotation-sidebar-head .eyebrow{
  margin-bottom:2px;
  font-size:9px;
}
.compare-annotation-sidebar-head strong{
  font-size:12px;
}
.compare-annotation-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#e8eef6;
  color:#46566b;
  font-size:10px;
  font-weight:900;
}
.compare-annotation-list{
  overflow:auto;
  padding:9px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.compare-annotation-card{
  width:100%;
  border:1px solid #d6dce5;
  border-radius:8px;
  background:#fff;
  color:#263244;
  padding:9px 10px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.compare-annotation-card:hover{
  border-color:#b7c4d6;
  background:#fbfcfe;
}
.compare-annotation-card.on-page{
  border-color:#9bc3e8;
  box-shadow:inset 3px 0 0 #69a9e8;
}
.compare-annotation-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
  font-size:10px;
}
.compare-annotation-card-top strong{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#2d3a4c;
}
.compare-annotation-card-top>span{
  flex:0 0 auto;
  color:#6f7b8b;
  font-size:9.5px;
}
.compare-annotation-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 auto;
}
.compare-annotation-card p{
  margin:0 0 6px;
  color:#283548;
  font-size:11.5px;
  line-height:1.4;
  white-space:pre-wrap;
}
.compare-annotation-card p.muted-note{
  color:#8791a0;
  font-style:italic;
}
.compare-annotation-card small{
  color:#8993a2;
  font-size:9px;
}
.compare-annotation-empty{
  padding:18px 10px;
  color:#7e8998;
  font-size:11px;
  text-align:center;
}

@media(max-width:900px){
  .compare-content.annotations-open{
    grid-template-columns:minmax(0,1fr) 260px;
  }
}
@media(max-width:720px){
  .compare-content,
  .compare-content.annotations-open{
    grid-template-columns:1fr;
    padding-left:10px;
    padding-right:10px;
  }
  .compare-annotation-sidebar{
    max-height:34vh;
  }
}


/* v0.7.18 — compare annotations slide-over sidebar */
.compare-content{
  position:relative;
  display:block !important;
  padding:12px 20px 16px;
  min-height:0;
}

.compare-content.annotations-open{
  display:block !important;
}

.compare-content .compare-stage-scroller{
  margin:0;
  max-height:62vh;
  min-width:0;
}

.compare-annotation-sidebar{
  position:absolute;
  top:12px;
  right:20px;
  bottom:16px;
  width:320px;
  max-width:min(320px, calc(100% - 32px));
  max-height:none !important;
  overflow:hidden;
  border:1px solid #cfd6df;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 32px rgba(15,23,42,.18);
  display:flex;
  flex-direction:column;
  z-index:20;
  transform:translateX(calc(100% + 12px));
  opacity:0;
  pointer-events:none;
  transition:transform .22s ease, opacity .18s ease;
  backdrop-filter:blur(4px);
}

.compare-content.annotations-open .compare-annotation-sidebar{
  transform:translateX(0);
  opacity:1;
  pointer-events:auto;
}

.compare-annotation-sidebar[hidden]{
  display:flex !important;
  transform:translateX(calc(100% + 12px));
  opacity:0;
  pointer-events:none;
}

.compare-annotation-sidebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px;
  border-bottom:1px solid #e0e5eb;
  background:rgba(248,250,252,.96);
  backdrop-filter:blur(4px);
}

.compare-annotation-list{
  overflow:auto;
  padding:9px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.compare-annotation-card{
  width:100%;
  border:1px solid #d6dce5;
  border-radius:8px;
  background:#fff;
  color:#263244;
  padding:9px 10px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}

.compare-annotation-card:hover{
  border-color:#b7c4d6;
  background:#fbfcfe;
}

.compare-annotation-card.on-page{
  border-color:#9bc3e8;
  box-shadow:inset 3px 0 0 #69a9e8;
}

@media(max-width:900px){
  .compare-annotation-sidebar{
    width:280px;
    max-width:min(280px, calc(100% - 24px));
    right:12px;
    top:10px;
    bottom:10px;
  }
  .compare-content{
    padding:10px 12px 12px;
  }
}

@media(max-width:720px){
  .compare-content{
    padding:10px;
  }
  .compare-annotation-sidebar{
    right:10px;
    left:10px;
    width:auto;
    max-width:none;
    top:auto;
    bottom:10px;
    height:42vh;
  }
}


/* v0.7.19 — cleaner stacked annotation cards in compare sidebar */
.compare-annotation-card{
  padding:10px 11px 11px;
}

.compare-annotation-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  margin-bottom:8px;
  border-bottom:1px solid #edf1f5;
}

.compare-annotation-card-title{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#263244;
  font-size:10.5px;
  line-height:1.25;
}

.compare-annotation-card-time{
  flex:0 0 auto;
  color:#8792a1;
  font-size:9px;
  line-height:1.25;
  text-align:right;
  white-space:nowrap;
}

.compare-annotation-card-meta,
.compare-annotation-card-note-wrap{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:start;
  gap:7px;
}

.compare-annotation-card-meta{
  margin-bottom:7px;
}

.compare-annotation-card-meta-label{
  color:#929cab;
  font-size:8.5px;
  font-weight:800;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.compare-annotation-card-author{
  min-width:0;
  color:#536176;
  font-size:10px;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.compare-annotation-card-note-wrap p{
  margin:0;
  min-width:0;
  color:#263244;
  font-size:11px;
  line-height:1.4;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.compare-annotation-card-note-wrap p.muted-note{
  color:#8791a0;
  font-style:italic;
}

.compare-annotation-card-top{
  display:none!important;
}

.compare-annotation-card>small{
  display:none!important;
}


/* v0.7.20 — fix narrow compare annotation card layout */
.compare-annotation-card{
  display:block !important;
  min-width:0 !important;
}

.compare-annotation-card-header{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:8px !important;
}

.compare-annotation-card-title{
  min-width:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:6px !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.compare-annotation-card-title > span:last-child{
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

.compare-annotation-card-time{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.compare-annotation-card-meta,
.compare-annotation-card-note-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:2px !important;
  min-width:0 !important;
}

.compare-annotation-card-meta{
  margin-bottom:8px !important;
}

.compare-annotation-card-meta-label{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.compare-annotation-card-author{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

.compare-annotation-card-note-wrap p{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  white-space:pre-wrap !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}


/* v0.7.21 — compare annotation selection + previous/next cycling */
.compare-annotation-sidebar-nav{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}

.compare-annotation-nav-btn{
  width:25px;
  height:25px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  color:#4b5b70;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.compare-annotation-nav-btn:hover:not(:disabled){
  border-color:#91b9dc;
  background:#edf6ff;
  color:#1769aa;
}

.compare-annotation-nav-btn:disabled{
  opacity:.4;
  cursor:default;
}

.compare-annotation-position{
  min-width:34px;
  color:#718096;
  font-size:9px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}

.compare-annotation-card.selected{
  border-color:#2589d8 !important;
  background:#f3f9ff !important;
  box-shadow:
    inset 3px 0 0 #2589d8,
    0 0 0 1px rgba(37,137,216,.08) !important;
}

.compare-annotation-card.selected .compare-annotation-card-title{
  color:#1769aa;
}

#compareAnnotationCanvas{
  z-index:4!important;
}

#compareAnnotationCanvas[style*="pointer-events: auto"]{
  cursor:pointer!important;
}


/* v0.8.0 — isolated DrinkSmart QR validation status */
.drinksmart-qr-status{
  flex:0 0 auto;
  align-self:flex-end;
  min-width:230px;
  margin-left:auto;
  margin-right:2px;
  padding:8px 11px;
  border:1px solid;
  border-radius:9px;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.05);
}

.drinksmart-qr-label{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:3px;
  color:#576579;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.035em;
  white-space:nowrap;
}

.drinksmart-qr-icon{
  font-size:12px;
  line-height:1;
}

.drinksmart-qr-result{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
}

.drinksmart-qr-status.valid{
  border-color:#9bd9b7;
  background:#f2fbf6;
}

.drinksmart-qr-status.valid .drinksmart-qr-result{
  color:#08733a;
}

.drinksmart-qr-status.mismatch{
  border-color:#efaaa6;
  background:#fff5f4;
}

.drinksmart-qr-status.mismatch .drinksmart-qr-result{
  color:#b42318;
}

@media(max-width:1100px){
  .drinksmart-qr-status{
    order:3;
    margin-left:0;
  }
}

@media(max-width:720px){
  .drinksmart-qr-status{
    align-self:flex-start;
    width:auto;
    min-width:0;
  }
}


/* v0.8.5 — non-blocking QR status slot */
.drinksmart-qr-slot{
  display:contents;
}
.drinksmart-qr-slot:empty{
  display:none;
}


/* v0.8.7 — QR status behind a low-clutter artwork menu */
.artwork-more-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:24px;
  margin-left:6px;
  padding:0 0 5px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#7a8796;
  font-size:15px;
  font-weight:900;
  line-height:1;
  letter-spacing:1px;
  cursor:pointer;
  vertical-align:middle;
}

.artwork-more-button:hover{
  border-color:#d6dde6;
  background:#f5f7fa;
  color:#39495d;
}

.qr-status-dialog{
  width:min(430px,calc(100vw - 28px));
  padding:0;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.24);
}

.qr-status-dialog::backdrop{
  background:rgba(15,23,42,.28);
}

.qr-status-shell{
  overflow:hidden;
  border-radius:12px;
}

.qr-status-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 17px 13px;
  border-bottom:1px solid #e2e7ed;
  background:#fafbfc;
}

.qr-status-head .eyebrow{
  margin-bottom:3px;
}

.qr-status-head h2{
  margin:0;
  font-size:17px;
}

.qr-status-body{
  padding:15px 17px 17px;
}

.qr-status-state{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 12px;
  margin-bottom:14px;
  border:1px solid #d7dee7;
  border-radius:9px;
  background:#f7f9fb;
}

.qr-status-indicator{
  flex:0 0 auto;
  width:10px;
  height:10px;
  margin-top:4px;
  border-radius:50%;
  background:#91a0b0;
}

.qr-status-state>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.qr-status-state strong{
  font-size:12px;
  line-height:1.3;
  color:#2f3c4e;
}

.qr-status-state span:not(.qr-status-indicator){
  color:#6f7c8c;
  font-size:10.5px;
  line-height:1.35;
}

.qr-status-state.scanning .qr-status-indicator{
  background:#4f8fc2;
  box-shadow:0 0 0 4px rgba(79,143,194,.12);
  animation:qr-status-pulse 1.1s ease-in-out infinite;
}

.qr-status-state.valid{
  border-color:#a7d9bb;
  background:#f2faf5;
}
.qr-status-state.valid .qr-status-indicator{background:#168447;}
.qr-status-state.valid strong{color:#08733a;}

.qr-status-state.mismatch{
  border-color:#edb2ae;
  background:#fff5f4;
}
.qr-status-state.mismatch .qr-status-indicator{background:#c43d32;}
.qr-status-state.mismatch strong{color:#b42318;}

.qr-status-state.warning{
  border-color:#e6cf96;
  background:#fff9e9;
}
.qr-status-state.warning .qr-status-indicator{background:#b7831d;}
.qr-status-state.warning strong{color:#846217;}

.qr-status-details{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0;
}

.qr-status-details>div{
  display:grid;
  grid-template-columns:105px minmax(0,1fr);
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid #edf1f5;
}

.qr-status-details>div:last-child{
  border-bottom:0;
}

.qr-status-details dt{
  color:#8a95a4;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.qr-status-details dd{
  margin:0;
  min-width:0;
  color:#39485b;
  font-size:10.5px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

@keyframes qr-status-pulse{
  0%,100%{opacity:.55}
  50%{opacity:1}
}


/* v0.8.8 — compact QR options button beside artwork title */
.artwork-title-line{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}

.artwork-title-line h1{
  margin:0;
  min-width:0;
}

.artwork-title-line .artwork-more-button{
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin:1px 0 0 0;
  padding:0 0 4px 0;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#7c8795;
  font-size:14px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  vertical-align:middle;
}

.artwork-title-line .artwork-more-button:hover{
  border:0;
  background:#eef2f6;
  color:#354459;
}


/* v0.8.9 — explicit QR run/re-run control */
.qr-status-actions{
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:12px;
  margin-top:3px;
  border-top:1px solid #edf1f5;
}

.qr-status-actions .button{
  flex:0 0 auto;
}

.qr-scanner-message{
  min-width:0;
  color:#8a95a4;
  font-size:9.5px;
  line-height:1.3;
}


/* v0.9.0 — setup environment readiness */
.setup-environment{
  margin:14px 0;
  padding:12px;
  border:1px solid #dbe2e9;
  border-radius:9px;
  background:#f8fafc;
}
.setup-environment h3{margin:0 0 8px;font-size:12px}
.setup-check{
  display:grid;
  grid-template-columns:20px 150px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:6px 0;
  border-top:1px solid #e7ebef;
  font-size:10px;
}
.setup-check:first-of-type{border-top:0}
.setup-check>span{
  width:17px;height:17px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:900;
}
.setup-check.ok>span{background:#e7f7ed;color:#08733a}
.setup-check.bad>span{background:#fff0ef;color:#b42318}
.setup-check strong{font-size:10px}
.setup-check small{color:#778496;overflow-wrap:anywhere}


/* v0.9.5 — centered Drink Smart logo + relevant-only validation pill */
.proof-head{
  position:relative;
}

.qr-header-status{
  position:absolute;
  left:47%;
  bottom:0;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:auto;
  min-width:190px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#4c5b6e;
  text-align:center;
  font:inherit;
  cursor:pointer;
  box-shadow:none;
}

.qr-header-status.hidden{
  display:none;
}

.qr-header-status:hover{
  background:transparent;
}

.qr-header-logo{
  display:block;
  width:118px;
  height:auto;
  max-height:29px;
  object-fit:contain;
  opacity:1;
  image-rendering:auto;
}

.qr-header-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:164px;
  min-height:30px;
  padding:6px 12px;
  border:1px solid #d8e0e8;
  border-radius:8px;
  background:#f8fafc;
  box-shadow:0 2px 6px rgba(15,23,42,.035);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.qr-header-status:hover .qr-header-pill{
  box-shadow:0 3px 9px rgba(15,23,42,.07);
}

.qr-status-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  flex:0 0 auto;
}

.qr-header-result{
  display:block;
  font-size:12px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
}

.qr-header-status.valid .qr-header-pill{
  border-color:#9bd9b7;
  background:#f2fbf6;
}
.qr-header-status.valid .qr-status-dot{background:#118a43}
.qr-header-status.valid .qr-header-result{color:#08733a}

.qr-header-status.mismatch .qr-header-pill{
  min-width:178px;
  border-color:#efaaa6;
  background:#fff5f4;
}
.qr-header-status.mismatch .qr-status-dot{background:#c53f35}
.qr-header-status.mismatch .qr-header-result{color:#b42318}

/* The title ellipsis is no longer used for QR status. */
.artwork-more-button{
  display:none !important;
}

@media(max-width:1100px){
  .proof-head{
    flex-wrap:wrap;
  }
  .qr-header-status{
    position:static;
    transform:none;
    order:3;
    margin:0 auto;
    min-width:190px;
  }
}

@media(max-width:720px){
  .qr-header-status{
    width:auto;
    max-width:100%;
  }
}


/* v0.9.6 — QR GTIN comparison details */
.qr-mismatch-summary{
  margin-top:12px;
  padding:10px 11px;
  border:1px solid #efc0bc;
  border-radius:8px;
  background:#fff7f6;
}

.qr-mismatch-summary strong{
  display:block;
  margin-bottom:3px;
  color:#a8281f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.qr-mismatch-summary span{
  display:block;
  color:#68413e;
  font-size:10.5px;
  line-height:1.45;
}

#qrStatusArtworkGtin,
#qrStatusGtin{
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:10px;
  letter-spacing:.015em;
}


/* v0.9.7 — keep click-drag artwork panning inside the PDF viewer */
.canvas-wrap{
  height:clamp(520px,calc(100vh - 220px),780px);
  min-height:0;
  max-height:none;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.page-stack #annotationStage{
  touch-action:none;
}

@media(max-width:1050px){
  .canvas-wrap{
    height:clamp(480px,calc(100vh - 190px),700px);
    min-height:0;
  }
}

@media(max-width:720px){
  .canvas-wrap{
    height:clamp(420px,calc(100vh - 170px),620px);
    min-height:0;
  }
}


/* v0.9.8 — subtle route/prepress DrinkSmart mismatch alerts */
.route-qr-mismatch-alert{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  margin-left:4px;
  color:#c93b32;
  vertical-align:-2px;
  cursor:help;
  flex:0 0 auto;
}

.route-qr-mismatch-alert[hidden]{
  display:none !important;
}

.route-qr-mismatch-alert svg{
  display:block;
  width:13px;
  height:13px;
}

.prepress-qr-mismatch-alert{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:5px 8px;
  border:1px solid #efc0bc;
  border-radius:7px;
  background:#fff7f6;
  color:#a82e25;
  font-size:9.5px;
  line-height:1.2;
}

.prepress-qr-mismatch-alert[hidden]{
  display:none !important;
}

.prepress-qr-mismatch-alert strong{
  font-size:9.5px;
  font-weight:850;
}

.prepress-qr-alert-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#c93b32;
  color:#fff;
  font-size:9px;
  font-weight:900;
  line-height:1;
}


/* v0.9.9 — slightly larger, more polished DrinkSmart mismatch alert icon */
.route-qr-mismatch-alert{
  width:18px;
  height:18px;
  margin-left:5px;
  border-radius:6px;
  background:#fff1f0;
  color:#c9362d;
  box-shadow:
    inset 0 0 0 1px rgba(201,54,45,.16),
    0 1px 2px rgba(15,23,42,.05);
  transform:translateY(1px);
  transition:background .12s ease, box-shadow .12s ease, transform .12s ease;
}

.route-qr-mismatch-alert:hover{
  background:#ffe8e6;
  box-shadow:
    inset 0 0 0 1px rgba(201,54,45,.24),
    0 2px 4px rgba(15,23,42,.08);
  transform:translateY(0);
}

.route-qr-mismatch-alert svg{
  width:15px;
  height:15px;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.45));
}

.prepress-qr-alert-icon{
  width:17px;
  height:17px;
  border-radius:6px;
  background:#c9362d;
  box-shadow:0 1px 2px rgba(15,23,42,.09);
  font-size:10px;
}


/* v0.9.10 — attach DrinkSmart mismatch alert to the matching Prepress file card */
.prepress-file-badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
  margin-left:auto;
}

.prepress-file-head .prepress-qr-mismatch-alert{
  margin:0;
  padding:4px 7px;
  border-radius:6px;
  font-size:9px;
  white-space:nowrap;
}

.prepress-file-head .prepress-qr-mismatch-alert strong{
  font-size:9px;
}

.prepress-file-head .prepress-qr-alert-icon{
  width:15px;
  height:15px;
  border-radius:5px;
  font-size:9px;
}

@media(max-width:720px){
  .prepress-file-badges{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
}


/* v0.9.11 — keep route alert + ANNOTATED together with instant tooltip */
.file-title-line{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex-wrap:nowrap;
}

.file-title-line>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.file-title-statuses{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  white-space:nowrap;
}

.file-title-statuses .route-qr-mismatch-alert{
  margin-left:0;
  position:relative;
}

.route-qr-mismatch-alert[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  z-index:1000;
  width:max-content;
  max-width:300px;
  padding:6px 8px;
  border-radius:6px;
  background:#20252d;
  color:#fff;
  font-size:10px;
  font-weight:650;
  line-height:1.25;
  text-align:left;
  white-space:normal;
  box-shadow:0 4px 12px rgba(15,23,42,.18);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,2px);
  transition:opacity .05s linear, transform .05s linear, visibility 0s linear .05s;
}

.route-qr-mismatch-alert[data-tooltip]::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  z-index:1001;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:5px solid #20252d;
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%);
  transition:opacity .05s linear, visibility 0s linear .05s;
}

.route-qr-mismatch-alert[data-tooltip]:hover::after,
.route-qr-mismatch-alert[data-tooltip]:focus-visible::after,
.route-qr-mismatch-alert[data-tooltip]:hover::before,
.route-qr-mismatch-alert[data-tooltip]:focus-visible::before{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}

.route-qr-mismatch-alert[data-tooltip]:hover::after,
.route-qr-mismatch-alert[data-tooltip]:focus-visible::after{
  transform:translate(-50%,0);
}


/* v0.9.13 — batch upload processing indicator */
.upload-processing-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(21,28,38,.26);
  backdrop-filter:blur(1.5px);
}

.upload-processing-overlay[hidden]{
  display:none !important;
}

.upload-processing-card{
  width:min(390px,calc(100vw - 32px));
  padding:17px 18px 15px;
  border:1px solid #d8e0e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.18);
}

.upload-processing-head{
  display:flex;
  align-items:center;
  gap:11px;
}

.upload-processing-head>div{
  min-width:0;
}

.upload-processing-head strong{
  display:block;
  color:#253449;
  font-size:13px;
  line-height:1.25;
}

.upload-processing-head span:not(.upload-processing-spinner){
  display:block;
  margin-top:2px;
  color:#758296;
  font-size:10px;
}

.upload-processing-spinner{
  flex:0 0 auto;
  width:20px;
  height:20px;
  border:2px solid #d5e0ea;
  border-top-color:#367cae;
  border-radius:50%;
  animation:upload-processing-spin .75s linear infinite;
}

.upload-processing-track{
  position:relative;
  height:5px;
  margin:14px 0 10px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1f5;
}

.upload-processing-track>span{
  position:absolute;
  top:0;
  bottom:0;
  left:-34%;
  width:34%;
  border-radius:999px;
  background:#4f86ae;
  animation:upload-processing-progress 1.15s ease-in-out infinite;
}

.upload-processing-card small{
  display:block;
  color:#7b8797;
  font-size:9.5px;
  line-height:1.4;
}

.upload-processing-active{
  cursor:progress;
}

@keyframes upload-processing-spin{
  to{transform:rotate(360deg)}
}

@keyframes upload-processing-progress{
  0%{left:-34%;width:34%}
  50%{left:33%;width:42%}
  100%{left:100%;width:34%}
}


/* v0.9.14 — center upload processing with native modal dialog */
.upload-processing-dialog{
  width:min(390px,calc(100vw - 32px));
  max-width:none;
  margin:auto;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  overflow:visible;
  box-shadow:none;
}

.upload-processing-dialog::backdrop{
  background:rgba(21,28,38,.26);
  backdrop-filter:blur(1.5px);
}

.upload-processing-dialog .upload-processing-card{
  width:100%;
  box-sizing:border-box;
}

/* Neutralize the v0.9.13 full-screen div rules now that this is a dialog. */
.upload-processing-dialog.upload-processing-overlay{
  position:static;
  inset:auto;
  display:block;
  padding:0;
  background:transparent;
  backdrop-filter:none;
}

/* Fallback for older browsers without showModal(). */
.upload-processing-dialog[open]{
  position:fixed;
  inset:0;
  z-index:5000;
}


/* v0.9.15 — Admin recycle bin */
.recycle-section{
  margin-top:16px;
}

.recycle-retention-note{
  margin-bottom:16px;
}

.recycle-list{
  display:flex;
  flex-direction:column;
}

.recycle-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px auto;
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-top:1px solid #e8edf2;
}

.recycle-row:first-child{
  border-top:0;
}

.recycle-main{
  min-width:0;
}

.recycle-main strong,
.recycle-expiry strong{
  display:block;
  color:#324154;
  font-size:11px;
  line-height:1.3;
}

.recycle-main small,
.recycle-expiry small{
  display:block;
  margin-top:3px;
  color:#7c8897;
  font-size:9.5px;
  line-height:1.35;
}

.recycle-expiry{
  text-align:right;
}

.recycle-expiry strong{
  color:#8a5d17;
}

@media(max-width:720px){
  .recycle-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .recycle-expiry{
    text-align:left;
  }
}


/* v0.9.16 — compact Admin dropdown in top navigation */
.top-admin-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.top-admin-menu>summary{
  display:inline-flex;
  align-items:center;
  gap:4px;
  list-style:none;
  cursor:pointer;
  user-select:none;
  color:inherit;
  font:inherit;
}

.top-admin-menu>summary::-webkit-details-marker{
  display:none;
}

.top-admin-caret{
  display:inline-block;
  font-size:9px;
  opacity:.72;
  transition:transform .12s ease;
}

.top-admin-menu[open] .top-admin-caret{
  transform:rotate(180deg);
}

.top-admin-dropdown{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:3000;
  min-width:150px;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:#252d36;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}

.top-admin-dropdown::before{
  content:"";
  position:absolute;
  top:-5px;
  right:18px;
  width:9px;
  height:9px;
  background:#252d36;
  border-left:1px solid rgba(255,255,255,.12);
  border-top:1px solid rgba(255,255,255,.12);
  transform:rotate(45deg);
}

.top-admin-dropdown a{
  position:relative;
  z-index:1;
  display:block;
  padding:8px 9px;
  border-radius:6px;
  color:#f1f5f8;
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
}

.top-admin-dropdown a:hover{
  background:rgba(255,255,255,.08);
  text-decoration:none;
}


/* v0.9.17 — Admin trigger should look exactly like the other top-nav links */
.topbar nav .top-admin-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
  border:0;
  margin:0;
  padding:0;
  min-width:0;
}

.topbar nav .top-admin-menu>summary{
  display:inline-flex;
  align-items:center;
  gap:3px;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#dbe3ef;
  font-size:13px;
  font-weight:400;
  line-height:normal;
  list-style:none;
  cursor:pointer;
  user-select:none;
}

.topbar nav .top-admin-menu>summary:hover{
  color:#dbe3ef;
  text-decoration:none;
}

.topbar nav .top-admin-menu>summary:focus,
.topbar nav .top-admin-menu>summary:focus-visible{
  outline:0;
  box-shadow:none;
}

.topbar nav .top-admin-caret{
  margin:0;
  font-size:8px;
  line-height:1;
  opacity:.65;
}


/* v0.9.18 — center and emphasize previous/next artwork navigation */
.viewer-toolbar-primary{
  position:relative;
}

.route-artwork-nav{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}

.route-artwork-nav .route-artwork-nav-button{
  min-height:32px;
  padding:6px 11px;
  border:1px solid rgba(43,111,137,.48);
  border-radius:7px;
  background:#eaf4f7;
  color:#245f75;
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  box-shadow:0 1px 3px rgba(31,75,92,.08);
  transition:
    background .12s ease,
    border-color .12s ease,
    color .12s ease,
    box-shadow .12s ease,
    transform .12s ease;
}

.route-artwork-nav .route-artwork-nav-button:hover{
  background:#dceef3;
  border-color:#2b6f89;
  color:#174b60;
  box-shadow:0 2px 6px rgba(31,75,92,.14);
  transform:translateY(-1px);
  text-decoration:none;
}

/* If the toolbar becomes too narrow to safely hold the centered group,
   keep it centered on its own toolbar row rather than overlapping controls. */
@media(max-width:1380px){
  .viewer-toolbar-primary{
    flex-wrap:wrap;
  }

  .route-artwork-nav{
    position:static;
    transform:none;
    order:10;
    width:100%;
    margin:2px 0 0;
    padding-top:7px;
    border-top:1px solid #e3e9ee;
  }
}

@media(max-width:720px){
  .route-artwork-nav{
    display:flex;
    gap:5px;
  }

  .route-artwork-nav .route-artwork-nav-button{
    flex:1 1 0;
    min-width:0;
    justify-content:center;
    text-align:center;
    font-size:10px;
    padding-left:8px;
    padding-right:8px;
  }
}


/* v0.9.19 — artwork navigation separator aligned with page/zoom groups */
@media(min-width:1381px){
  .viewer-toolbar-primary{
    position:relative;
  }

  .route-artwork-nav{
    position:static;
    left:auto;
    top:auto;
    transform:none;
    z-index:auto;
    width:auto;
    margin:0 0 0 -2px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex:0 0 auto;
    white-space:nowrap;
  }

  /* Match the existing .viewer-toolbar .sep geometry exactly:
     1px line + 3px side margin. With the toolbar/nav gaps this leaves
     ~11px from the separator to the adjacent controls on both sides. */
  .route-artwork-nav::before{
    content:"";
    display:block;
    width:1px;
    height:22px;
    margin:0 3px;
    background:var(--line);
    flex:0 0 1px;
  }

  .route-artwork-nav .route-artwork-nav-button{
    margin:0;
  }
}

/* Narrow layouts keep the dedicated navigation row from v0.9.18;
   no vertical divider is needed once the controls wrap below. */
@media(max-width:1380px){
  .route-artwork-nav::before{
    content:none;
  }
}


/* v0.9.20 — renamed-revision mapping confirmation */
.revision-mapping-explainer p{
  max-width:920px;
}

.revision-mapping-summary{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:12px 0;
}

.revision-mapping-form{
  margin-top:0;
}

.revision-mapping-list{
  display:flex;
  flex-direction:column;
  gap:0;
}

.revision-mapping-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px minmax(320px,1fr);
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-top:1px solid #e4e9ee;
}

.revision-mapping-row:first-child{
  border-top:0;
}

.revision-new-file{
  min-width:0;
}

.revision-new-file strong{
  display:block;
  overflow:hidden;
  color:#233247;
  font-size:11.5px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.revision-map-label{
  display:block;
  margin-bottom:5px;
  color:#7b8796;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.08em;
}

.revision-map-arrow{
  color:#7a8795;
  font-size:18px;
  font-weight:700;
  text-align:center;
}

.revision-mapping-row label{
  margin:0;
}

.revision-mapping-row select{
  width:100%;
}

.revision-mapping-actions{
  display:flex;
  justify-content:flex-end;
  padding-top:14px;
  border-top:1px solid #e4e9ee;
}

.revision-mapping-cancel{
  display:flex;
  justify-content:flex-end;
  margin-top:8px;
}

@media(max-width:760px){
  .revision-mapping-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .revision-map-arrow{
    display:none;
  }
}


/* v0.9.22 — US deterministic rule test harness */
.rule-test-note{
  margin-bottom:16px;
}

.rule-test-upload{
  padding:16px;
}

.rule-test-drop{
  position:relative;
  display:flex;
  min-height:170px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:22px;
  border:1.5px dashed #b8c7d5;
  border-radius:12px;
  background:#f8fafc;
  text-align:center;
  cursor:pointer;
  transition:border-color .12s ease, background .12s ease, box-shadow .12s ease;
}

.rule-test-drop:hover,
.rule-test-drop.is-dragging{
  border-color:#3b839f;
  background:#f1f8fa;
  box-shadow:inset 0 0 0 1px rgba(59,131,159,.08);
}

.rule-test-drop input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}

.rule-test-drop-icon{
  display:flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  margin-bottom:3px;
  border:1px solid #b8d6e0;
  border-radius:9px;
  background:#eaf5f8;
  color:#286c84;
  font-size:18px;
  font-weight:800;
}

.rule-test-drop strong{
  color:#233247;
  font-size:13px;
}

.rule-test-drop>span:not(.rule-test-drop-icon){
  color:#758296;
  font-size:10px;
}

.rule-test-drop small{
  margin-top:6px;
  color:#657487;
  font-size:9.5px;
}

.rule-test-actions{
  justify-content:flex-end;
  margin-top:12px;
}

.rule-test-results{
  margin-top:18px;
  padding:0;
  overflow:hidden;
}

.rule-test-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-bottom:1px solid #e3e9ee;
}

.rule-test-result-head h2{
  margin:3px 0 4px;
  font-size:16px;
}

.rule-test-summary{
  min-width:210px;
  padding:9px 11px;
  border:1px solid;
  border-radius:8px;
  text-align:right;
}

.rule-test-summary strong,
.rule-test-summary small{
  display:block;
}

.rule-test-summary strong{
  font-size:11px;
}

.rule-test-summary small{
  margin-top:3px;
  font-size:9px;
}

.rule-test-summary.clear{
  border-color:#bfd8d1;
  background:#f5faf8;
  color:#356d5d;
}

.rule-test-summary.has-issues{
  border-color:#edbeb9;
  background:#fff6f5;
  color:#a53128;
}

.rule-test-checks{
  padding:4px 18px 12px;
}

.rule-test-check{
  display:grid;
  grid-template-columns:125px minmax(0,1fr);
  gap:14px;
  padding:13px 0;
  border-top:1px solid #e8edf1;
}

.rule-test-check:first-child{
  border-top:0;
}

.rule-test-check-status{
  display:flex;
  align-items:flex-start;
  gap:6px;
  padding-top:2px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.04em;
}

.rule-test-status-dot{
  width:8px;
  height:8px;
  margin-top:1px;
  border-radius:50%;
  background:#9ca8b5;
}

.rule-test-check.issue .rule-test-check-status{
  color:#ae342b;
}

.rule-test-check.issue .rule-test-status-dot{
  background:#c83b31;
}

.rule-test-check.no_issue .rule-test-check-status{
  color:#507267;
}

.rule-test-check.no_issue .rule-test-status-dot{
  background:#6f998c;
}

.rule-test-check.not_run .rule-test-check-status{
  color:#7f8a98;
}

.rule-test-check-title{
  display:flex;
  align-items:center;
  gap:8px;
}

.rule-test-check-title code{
  padding:2px 5px;
  border:1px solid #dce4eb;
  border-radius:5px;
  background:#f7f9fb;
  color:#627084;
  font-size:8.5px;
}

.rule-test-check-title strong{
  color:#29384a;
  font-size:11px;
}

.rule-test-check-body p{
  margin:5px 0 0;
  color:#657386;
  font-size:9.5px;
  line-height:1.45;
}

.rule-test-evidence{
  display:flex;
  align-items:flex-start;
  gap:5px;
  flex-wrap:wrap;
  margin-top:7px;
}

.rule-test-evidence>span{
  padding-top:3px;
  color:#7d8897;
  font-size:8.5px;
  font-weight:800;
}

.rule-test-evidence code{
  padding:3px 6px;
  border-radius:5px;
  background:#f1f4f7;
  color:#35475b;
  font-size:8.5px;
}

.rule-test-check.issue .rule-test-evidence code{
  background:#fff0ee;
  color:#9d322a;
}

.rule-test-extraction{
  margin:0;
  padding:12px 18px 16px;
  border-top:1px solid #e3e9ee;
}

.rule-test-extraction>summary{
  cursor:pointer;
  color:#536377;
  font-size:10px;
  font-weight:800;
}

.rule-test-extraction-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 8px;
  color:#6f7d8e;
  font-size:9px;
}

.rule-test-extraction pre{
  max-height:320px;
  margin:0;
  padding:11px;
  overflow:auto;
  border:1px solid #e1e7ec;
  border-radius:8px;
  background:#f8fafb;
  color:#37475a;
  font-size:8.5px;
  line-height:1.45;
  white-space:pre-wrap;
}

@media(max-width:720px){
  .rule-test-result-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .rule-test-summary{
    width:100%;
    box-sizing:border-box;
    text-align:left;
  }

  .rule-test-check{
    grid-template-columns:1fr;
    gap:6px;
  }
}


/* v0.9.22b — US rule test uses existing database artwork */
.rule-test-existing-form{padding:16px;}
.rule-test-existing-form label{display:block;}
.rule-test-existing-form select{width:100%;}
.rule-test-existing-meta{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:12px;padding:9px 11px;border:1px solid #e0e7ed;border-radius:8px;background:#f8fafb;color:#6f7d8d;font-size:9.5px;}
.rule-test-existing-meta strong{color:#405166;}

/* v0.9.24 — US Rule Test: main-viewer parity + US reference-logo diagnostics */
.rule-test-visual-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:16px;
  align-items:start;
  margin:18px 0;
}

.rule-test-viewer-panel{
  min-width:0;
}

.rule-test-viewer-toolbar .viewer-toolbar-primary{
  min-height:54px;
}

.rule-test-viewer-toolbar .rule-logo-scan-status{
  margin-left:2px;
  font-size:11px;
  white-space:nowrap;
}

.rule-test-viewer-panel .canvas-wrap{
  position:relative;
  text-align:center;
  cursor:default;
}

.rule-test-viewer-panel .canvas-wrap.is-pannable{
  cursor:grab;
}

.rule-test-viewer-panel .canvas-wrap.is-panning{
  cursor:grabbing;
  user-select:none;
}

.rule-test-viewer-panel .page-stack{
  position:relative;
  display:block;
  margin:0 auto;
}

.rule-test-viewer-panel #ruleLogoOverlay{
  position:absolute;
  inset:0;
  z-index:4;
  display:block;
  margin:0;
  pointer-events:none;
  background:transparent;
  box-shadow:none;
}

.rule-logo-diagnostics-panel{
  position:sticky;
  top:76px;
  max-height:calc(100vh - 92px);
  overflow:auto;
}

.rule-logo-diagnostics-panel h2,
.rule-logo-library h2{
  margin:4px 0 7px;
  font-size:20px;
}

.rule-logo-diagnostics-panel>p,
.rule-logo-library-head p{
  margin:0;
  font-size:11px;
  line-height:1.5;
}

.rule-logo-selected-file{
  display:grid;
  gap:3px;
  margin:14px 0;
  padding:10px 11px;
  border:1px solid #e0e6ec;
  border-radius:8px;
  background:#f8fafb;
}

.rule-logo-selected-file strong{
  color:#27364a;
  font-size:12px;
}

.rule-logo-selected-file span{
  color:#728093;
  font-size:9.5px;
  line-height:1.35;
}

.logo-diagnostic-results{
  display:grid;
  gap:9px;
}

.logo-diagnostic{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  width:100%;
  padding:10px;
  border:1px solid #e1e6eb;
  border-radius:9px;
  background:#fff;
  text-align:left;
}

button.logo-diagnostic{
  font-weight:400;
  align-items:stretch;
  justify-content:stretch;
}

button.logo-diagnostic:hover{
  background:#f8fafb;
}

.logo-diagnostic.detected{
  border-color:#b7d7ca;
  background:#f5faf8;
}

.logo-diagnostic.not-detected{
  border-color:#e1e6eb;
  background:#fbfcfd;
}

.logo-diagnostic.not-run{
  border-style:dashed;
  color:#7b8796;
}

.logo-diagnostic-thumb{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #e1e6eb;
  border-radius:7px;
  background:#fff;
}

.logo-diagnostic-thumb img{
  display:block;
  max-width:42px;
  max-height:42px;
  object-fit:contain;
}

.logo-diagnostic-body{
  min-width:0;
}

.logo-diagnostic-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.logo-diagnostic-title strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:#29384a;
  font-size:11px;
}

.logo-diagnostic-title code,
.rule-logo-reference-title code{
  flex:0 0 auto;
  padding:2px 5px;
  border:1px solid #dce4eb;
  border-radius:5px;
  background:#f7f9fb;
  color:#627084;
  font-size:8.5px;
}

.logo-diagnostic-status{
  margin-top:5px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}

.logo-diagnostic.detected .logo-diagnostic-status{
  color:#356d5d;
}

.logo-diagnostic.not-detected .logo-diagnostic-status{
  color:#687587;
}

.logo-diagnostic.not-run .logo-diagnostic-status{
  color:#8791a0;
}

.logo-diagnostic-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  margin-top:5px;
  color:#6f7d8f;
  font-size:9px;
  line-height:1.35;
}

.rule-logo-library{
  margin-top:18px;
}

.rule-logo-library-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.rule-logo-library-head>div{
  min-width:0;
}

.rule-logo-reference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.rule-logo-reference-card{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  padding:13px;
  border:1px solid #e0e6ec;
  border-radius:10px;
  background:#fbfcfd;
}

.rule-logo-reference-card.disabled{
  opacity:.68;
}

.rule-logo-reference-preview{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border:1px solid #dfe5eb;
  border-radius:8px;
  background:#fff;
}

.rule-logo-reference-preview img{
  display:block;
  max-width:90px;
  max-height:84px;
  object-fit:contain;
}

.rule-logo-reference-body{
  min-width:0;
}

.rule-logo-reference-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.rule-logo-reference-title strong{
  color:#29384a;
  font-size:12px;
}

.rule-logo-reference-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 10px;
  margin-top:6px;
  color:#758193;
  font-size:9px;
  font-weight:700;
}

.rule-logo-reference-body>p{
  margin:8px 0 0;
  color:#657386;
  font-size:9.5px;
  line-height:1.45;
}

.rule-logo-reference-edit{
  margin-top:10px;
}

.rule-logo-reference-form,
.rule-logo-add-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:11px;
}

.rule-logo-reference-form label,
.rule-logo-add-form label{
  font-size:10px;
}

.rule-logo-reference-form input,
.rule-logo-reference-form textarea,
.rule-logo-add-form input,
.rule-logo-add-form textarea{
  padding:8px 9px;
  font-size:11px;
}

.rule-logo-enabled{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  font-weight:650;
}

.rule-logo-enabled input{
  width:auto!important;
  height:auto;
  margin:0;
  flex:0 0 auto;
}

.rule-logo-reference-form .actions{
  grid-column:1/-1;
}

.rule-logo-delete-form{
  margin-top:9px;
}

.rule-logo-delete-form button{
  font-size:10px;
  padding:6px 9px;
}

.rule-logo-add{
  margin-top:18px;
}

.rule-logo-add-form .span2{
  grid-column:1/-1;
}

@media(max-width:1100px){
  .rule-test-visual-workspace{
    grid-template-columns:1fr;
  }
  .rule-logo-diagnostics-panel{
    position:static;
    max-height:none;
  }
}

@media(max-width:820px){
  .rule-logo-reference-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .rule-logo-reference-card{
    grid-template-columns:1fr;
  }
  .rule-logo-reference-preview{
    min-height:82px;
  }
  .rule-logo-reference-form,
  .rule-logo-add-form{
    grid-template-columns:1fr;
  }
  .rule-logo-reference-form .actions,
  .rule-logo-add-form .span2{
    grid-column:auto;
  }
  .rule-logo-library-head{
    flex-direction:column;
  }
}
.logo-diagnostic-empty{
  padding:18px;
  border:1px dashed #d7dee6;
  border-radius:8px;
  color:#7a8797;
  font-size:10px;
  text-align:center;
}
.logo-scan-limit{
  margin:2px 0 0;
  font-size:9px;
  line-height:1.4;
}

/* v0.10.0 unified US Market Checker */
.us-checker-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
}
.us-checker-page-head>div:first-child{max-width:860px;}
.us-tech-stack{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  max-width:390px;
}
.us-tech-stack span,
.us-evidence-badges span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid #dce4eb;
  border-radius:999px;
  background:#f7f9fb;
  color:#5f6f82;
  font-size:9px;
  font-weight:750;
  line-height:1;
}
.us-checker-picker{margin-top:14px;}
.us-checker-picker .rule-test-existing-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  padding:0;
}
.us-checker-picker .rule-test-existing-form .span2{grid-column:auto;}
.us-checker-picker .actions{margin:0;}
.us-checker-picker>p{margin:8px 0 0;}
.us-checker-context-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:16px;
  margin-top:16px;
  align-items:start;
}
.us-checker-section-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.us-checker-section-head h2,
.us-checker-bulk-tags h2,
.us-run-check-form h2{margin-bottom:5px;}
.us-selected-artwork{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 10px;
  margin:12px 0 14px;
  padding:9px 11px;
  border:1px solid #e1e7ed;
  border-radius:8px;
  background:#f9fbfc;
  font-size:10px;
}
.us-selected-artwork strong{color:#29384a;}
.us-selected-artwork span{color:#728094;}
.us-selected-artwork code{
  margin-left:auto;
  color:#66768a;
  font-size:8.5px;
}
.us-tag-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px 13px;
}
.us-tag-form label,
.us-tag-import-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:10px;
  font-weight:700;
  color:#4f5f73;
}
.us-tag-form input,
.us-tag-form select,
.us-tag-form textarea,
.us-tag-import-form input{
  width:100%;
  padding:8px 9px;
  font-size:11px;
}
.us-tag-form .span2{grid-column:1/-1;}
.us-tag-form .actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:2px;
}
.us-checker-bulk-tags{
  position:sticky;
  top:14px;
}
.us-checker-bulk-tags p{font-size:10.5px;line-height:1.5;}
.button-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid #bfcbd6;
  border-radius:7px;
  background:#fff;
  color:#35465a;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
}
.button-link:hover{background:#f5f8fa;}
.us-tag-import-form{
  display:grid;
  gap:9px;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #e6ebef;
}
.us-csv-rules{
  display:grid;
  gap:6px;
  margin-top:14px;
  padding:10px;
  border:1px solid #e1e7ed;
  border-radius:8px;
  background:#f8fafb;
  color:#69788a;
  font-size:9.5px;
  line-height:1.4;
}
.us-csv-rules strong{color:#405166;font-size:10px;}
.us-run-check-form{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:16px;
  border-color:#cbdde1;
  background:linear-gradient(180deg,#fbfefe,#f7fbfc);
}
.us-run-check-form p{margin-bottom:0;}
.us-run-button{flex:0 0 auto;min-width:180px;min-height:38px;font-weight:850;}
.us-evidence-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:14px 0 18px;
}
.us-evidence-summary>div{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid #e1e7ed;
  border-radius:8px;
  background:#fafcfd;
}
.us-evidence-summary strong{font-size:9.5px;color:#405166;}
.us-evidence-summary span{font-size:8.75px;line-height:1.4;color:#758295;}
.us-rule-group{
  margin-top:18px;
  border:1px solid #e1e7ed;
  border-radius:10px;
  overflow:hidden;
}
.us-rule-group>h3{
  margin:0;
  padding:8px 12px;
  border-bottom:1px solid #e1e7ed;
  background:#f7f9fb;
  color:#4d5e72;
  font-size:10px;
  font-weight:850;
  letter-spacing:.02em;
}
.us-rule-group .rule-test-checks{margin:0;}
.us-rule-group .rule-test-check:first-child{border-top:0;}
.us-evidence-badges{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}
.us-evidence-badges span{min-height:19px;padding:2px 6px;font-size:8px;}
.us-symbol-knowledge{margin-top:16px;}
.us-symbol-knowledge>summary{cursor:pointer;}
.us-symbol-knowledge-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}
.us-symbol-knowledge-grid>div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 7px;
  padding:8px;
  border:1px solid #e4e9ee;
  border-radius:7px;
  background:#fafbfc;
  font-size:9px;
}
.us-symbol-knowledge-grid code{grid-row:1/3;color:#64748b;font-size:8px;}
.us-symbol-knowledge-grid strong{color:#405166;}
.us-symbol-knowledge-grid span{color:#788597;}

@media(max-width:1050px){
  .us-checker-context-grid{grid-template-columns:1fr;}
  .us-checker-bulk-tags{position:static;}
  .us-evidence-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .us-symbol-knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .us-checker-page-head,.us-run-check-form{flex-direction:column;align-items:stretch;}
  .us-tech-stack{justify-content:flex-start;max-width:none;}
  .us-checker-picker .rule-test-existing-form{grid-template-columns:1fr;}
  .us-tag-form{grid-template-columns:1fr;}
  .us-tag-form .span2{grid-column:auto;}
  .us-evidence-summary,.us-symbol-knowledge-grid{grid-template-columns:1fr;}
  .us-run-button{width:100%;}
  .us-selected-artwork code{margin-left:0;width:100%;overflow-wrap:anywhere;}
}
.us-tag-suggestion{
  margin:-7px 0 12px;
  padding-left:2px;
  font-size:9px;
}

/* v0.10.1 — US Market Checker inspection-workspace UX */
.us-checker-page-head{
  margin-bottom:12px;
}
.us-checker-page-head>div:first-child{
  max-width:900px;
}
.us-checker-page-head p{
  max-width:900px;
}
.us-evidence-methods{
  flex:0 0 auto;
  min-width:160px;
  padding:7px 9px;
  border:1px solid #dfe6ec;
  border-radius:8px;
  background:#fafcfd;
}
.us-evidence-methods>summary{
  cursor:pointer;
  color:#596a7e;
  font-size:10px;
  font-weight:800;
  text-align:right;
}
.us-evidence-methods .us-tech-stack{
  margin-top:8px;
  max-width:330px;
}

.us-checker-commandbar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:12px;
  margin-top:12px;
  padding:14px;
}
.us-checker-artwork-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  min-width:0;
  width:100%;
}
.us-checker-artwork-picker label{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  color:#506075;
  font-size:9.5px;
  font-weight:800;
}
.us-checker-artwork-picker select{
  width:100%;
  min-width:0;
  padding:8px 9px;
  font-size:10.5px;
}
.us-checker-command-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:10px;
  min-width:0;
  padding-top:10px;
  border-top:1px solid #e5ebf0;
}
.us-checker-command-actions button{
  white-space:nowrap;
}
.us-checker-command-actions>button,
.us-checker-command-actions>form{
  flex:0 0 auto;
}
.us-checker-command-actions>button:not(.us-context-coverage-button){
  min-height:36px;
  padding-left:14px;
  padding-right:14px;
}
.us-top-tag-form button{
  min-width:148px;
  min-height:36px;
}
.us-browser-evidence-status{
  margin-left:auto;
  min-width:180px;
  max-width:360px;
  text-align:right;
  line-height:1.3;
}
.us-top-run-form{margin:0;}
.us-run-button{
  min-width:154px;
  min-height:36px;
}
.us-context-coverage-button{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:6px 11px;
  border-color:#d6dfe7;
  background:#f8fafb;
  color:#536579;
}
.us-context-coverage-button strong{
  color:#2e4157;
  font-size:11px;
}
.us-context-coverage-button span{
  font-size:9px;
  font-weight:750;
}
.us-selected-artwork-strip{
  display:flex;
  align-items:center;
  gap:5px 10px;
  flex-wrap:wrap;
  margin:9px 2px 12px;
  color:#748195;
  font-size:9.5px;
}
.us-selected-artwork-strip strong{
  color:#324257;
  font-size:10.5px;
}
.us-selected-artwork-strip code{
  margin-left:auto;
  color:#8190a1;
  font-size:8px;
}

.us-checker-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px);
  gap:14px;
  align-items:start;
  margin:0 0 16px;
}
.us-checker-pdf-panel{
  position:sticky;
  top:76px;
  min-width:0;
  align-self:start;
}
.us-checker-pdf-panel .canvas-wrap{
  height:clamp(560px,calc(100vh - 154px),820px);
}
.us-checker-side-panel{
  position:sticky;
  top:76px;
  align-self:start;
  min-width:0;
  max-height:calc(100vh - 92px);
  padding:0;
  overflow:auto;
  overscroll-behavior:contain;
}
.us-checker-tabs{
  position:sticky;
  top:0;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid #e1e7ed;
  background:#fff;
}
.us-checker-tabs button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:43px;
  padding:8px 6px;
  border:0;
  border-right:1px solid #edf0f3;
  border-radius:0;
  background:#fafbfc;
  color:#687789;
  font-size:10px;
  font-weight:800;
}
.us-checker-tabs button:last-child{border-right:0;}
.us-checker-tabs button:hover{background:#f5f8fa;}
.us-checker-tabs button.active{
  background:#fff;
  color:#2f4358;
  box-shadow:inset 0 -2px 0 #477a8e;
}
.us-checker-tabs button span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  background:#edf2f5;
  color:#66778a;
  font-size:8px;
}
.us-checker-tab-panel{
  display:none;
  padding:14px;
}
.us-checker-tab-panel.active{display:block;}
.us-checker-tab-panel h2{
  margin:3px 0 5px;
  font-size:16px;
}
.us-checker-tab-panel p{
  font-size:9.75px;
  line-height:1.5;
}

.us-results-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
  padding-bottom:11px;
  border-bottom:1px solid #e6ebef;
}
.us-results-head .rule-test-summary{
  min-width:150px;
  padding:7px 8px;
}
.us-result-status-section{
  margin:13px 0 0;
  border:1px solid #e1e7ed;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.us-result-status-section.issues{border-color:#ecc9c5;}
.us-result-status-section.not-run{border-color:#dfe5ea;}
.us-result-status-section.no-issue{border-color:#d6e5df;}
.us-status-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:8px 10px;
  background:#f8fafb;
}
summary.us-status-section-head{cursor:pointer;list-style:none;}
summary.us-status-section-head::-webkit-details-marker{display:none;}
.us-result-status-section.issues .us-status-section-head{background:#fff8f7;}
.us-result-status-section.no-issue .us-status-section-head{background:#f7fbf9;}
.us-status-section-head h3{
  margin:0;
  color:#46586d;
  font-size:10px;
  font-weight:850;
}
.us-result-status-section.issues .us-status-section-head h3{color:#94362e;}
.us-result-status-section.no-issue .us-status-section-head h3{color:#496f62;}
.us-result-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#e9eef2;
  color:#627185;
  font-size:8.5px;
  font-weight:900;
}
.us-result-status-list.rule-test-checks{
  padding:0 10px 5px;
}
.us-checker-side-panel .rule-test-check{
  grid-template-columns:88px minmax(0,1fr);
  gap:8px;
  padding:10px 0;
}
.us-checker-side-panel .rule-test-check-status{
  font-size:7.75px;
}
.us-checker-side-panel .rule-test-check-title{
  align-items:flex-start;
  flex-wrap:wrap;
  gap:5px 6px;
}
.us-checker-side-panel .rule-test-check-title strong{
  flex:1 1 180px;
  font-size:10.5px;
}
.us-rule-group-chip{
  display:inline-flex;
  max-width:100%;
  padding:2px 5px;
  border-radius:999px;
  background:#f1f4f7;
  color:#758295;
  font-size:7.5px;
  font-weight:700;
  line-height:1.2;
}
.us-status-empty{
  padding:10px;
  border-top:1px solid #edf0f3;
  color:#8792a0;
  font-size:9px;
}
.us-evidence-details{
  margin-top:13px;
  padding-top:10px;
  border-top:1px solid #e6ebef;
}
.us-evidence-details>summary{
  cursor:pointer;
  color:#5f7083;
  font-size:9.5px;
  font-weight:800;
}
.us-evidence-details .us-evidence-summary{
  grid-template-columns:1fr;
  margin:10px 0 0;
}
.us-evidence-details .rule-test-extraction{
  margin-top:8px;
  padding:9px 0 0;
}
.us-checker-empty-results{
  display:grid;
  justify-items:start;
  gap:7px;
  padding:20px 5px 10px;
}
.us-checker-empty-results h2{margin:0;}
.us-checker-empty-results p{margin:0 0 5px;}
.us-context-readiness{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  padding:6px 8px;
  border:1px solid #dfe6ec;
  border-radius:7px;
  background:#f8fafb;
}
.us-context-readiness strong{color:#2f4358;font-size:12px;}
.us-context-readiness span{color:#728094;font-size:8.5px;font-weight:700;}

.us-context-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.us-context-head p{margin:0;}
.us-context-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:12px;
}
.us-context-summary>div:not(.us-context-summary-empty){
  display:grid;
  gap:2px;
  min-width:0;
  padding:7px 8px;
  border:1px solid #e4e9ee;
  border-radius:7px;
  background:#fafcfd;
}
.us-context-summary span{
  color:#7a8797;
  font-size:7.75px;
  font-weight:750;
}
.us-context-summary strong{
  overflow-wrap:anywhere;
  color:#3d5065;
  font-size:9px;
}
.us-context-summary-empty{
  grid-column:1/-1;
  padding:9px;
  border:1px dashed #dce3e9;
  border-radius:7px;
  color:#8390a0;
  font-size:9px;
}
.us-tag-suggestions{
  display:grid;
  gap:4px;
  margin-top:11px;
  padding:9px;
  border:1px solid #cfe0e5;
  border-radius:8px;
  background:#f6fafb;
  color:#5e7184;
  font-size:8.75px;
  line-height:1.4;
}
.us-tag-suggestions strong{color:#36566a;font-size:9.25px;}
.us-tag-suggestions small{color:#7e8b99;font-size:8px;}
.us-context-editor{
  margin-top:12px;
  border-top:1px solid #e5eaee;
  padding-top:10px;
}
.us-context-editor>summary{
  cursor:pointer;
  color:#43566c;
  font-size:10px;
  font-weight:850;
}
.us-context-editor .us-tag-form{
  grid-template-columns:1fr;
  gap:9px;
  margin-top:11px;
}
.us-context-editor .us-tag-form .span2{grid-column:auto;}
.us-context-editor .us-tag-form label{
  position:relative;
}
.us-field-suggestion{
  position:absolute;
  top:0;
  right:0;
  color:#3d7385;
  font-size:7.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.us-tag-actions{
  display:flex!important;
  align-items:center;
  gap:6px!important;
  flex-wrap:wrap;
}
.us-tag-actions button{font-size:9px;}
.us-tag-meta{margin:0;font-size:8.5px;}

.us-symbol-tab-head p{margin:0;}
.us-symbol-scan-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0;
  padding-bottom:11px;
  border-bottom:1px solid #e6ebef;
}
.us-symbol-scan-actions .rule-logo-scan-status{font-size:9px;}
.us-checker-side-panel .logo-diagnostic-results{gap:7px;}
.us-checker-side-panel .logo-diagnostic{grid-template-columns:42px minmax(0,1fr);padding:8px;}
.us-checker-side-panel .logo-diagnostic-thumb{width:42px;height:42px;}
.us-checker-side-panel .logo-diagnostic-thumb img{max-width:37px;max-height:37px;}

.us-checker-manage{
  margin-top:14px;
  padding:0;
  scroll-margin-top:82px;
}
.us-checker-manage>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
}
.us-checker-manage>summary::-webkit-details-marker{display:none;}
.us-checker-manage>summary strong{color:#34465b;font-size:11px;}
.us-checker-manage>summary span{color:#7a8797;font-size:9px;}
.us-manage-content{
  display:grid;
  grid-template-columns:minmax(270px,.7fr) minmax(0,1.5fr);
  gap:14px;
  padding:14px;
  border-top:1px solid #e3e8ed;
}
.us-manage-section{
  min-width:0;
  padding:12px;
  border:1px solid #e2e7ec;
  border-radius:9px;
  background:#fbfcfd;
}
.us-manage-section h2{margin:4px 0 6px;font-size:16px;}
.us-manage-section>p{margin-top:0;font-size:9.5px;line-height:1.5;}
.us-manage-section.rule-logo-library{margin-top:0;}
.us-manage-section .rule-logo-reference-grid{grid-template-columns:1fr;}
.us-manage-section.us-symbol-knowledge{grid-column:1/-1;margin-top:0;}
.us-manage-section.us-symbol-knowledge>summary{cursor:pointer;}

@media(max-width:1180px){
  .us-checker-workspace{grid-template-columns:minmax(0,1fr) minmax(350px,400px);}
}
@media(max-width:1000px){
  .us-checker-workspace{grid-template-columns:1fr;}
  .us-checker-pdf-panel,.us-checker-side-panel{position:static;max-height:none;}
  .us-checker-pdf-panel .canvas-wrap{height:clamp(500px,65vh,720px);}
  .us-manage-content{grid-template-columns:1fr;}
  .us-manage-section.us-symbol-knowledge{grid-column:auto;}
}
@media(max-width:760px){
  .us-checker-page-head{flex-direction:column;}
  .us-evidence-methods{width:100%;box-sizing:border-box;}
  .us-evidence-methods>summary{text-align:left;}
  .us-checker-commandbar{align-items:stretch;}
  .us-checker-artwork-picker{grid-template-columns:1fr;}
  .us-checker-artwork-picker>button{width:100%;}
  .us-checker-command-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
  }
  .us-checker-command-actions>button,
  .us-checker-command-actions>form{width:100%;min-width:0;}
  .us-checker-command-actions form button,
  .us-checker-command-actions>button{width:100%;min-width:0;}
  .us-browser-evidence-status{grid-column:1/-1;width:auto;max-width:none;margin-left:0;text-align:left;}
  .us-selected-artwork-strip code{width:100%;margin-left:0;overflow-wrap:anywhere;}
  .us-context-summary{grid-template-columns:1fr;}
  .us-results-head{flex-direction:column;}
  .us-results-head .rule-test-summary{width:100%;box-sizing:border-box;text-align:left;}
  .us-checker-side-panel .rule-test-check{grid-template-columns:1fr;gap:4px;}
  .us-checker-tabs button{font-size:9px;}
  .us-checker-manage>summary{align-items:flex-start;flex-direction:column;}
}

@media(max-width:480px){
  .us-checker-command-actions{grid-template-columns:1fr;}
  .us-browser-evidence-status{grid-column:auto;}
}

/* v0.10.2 — resilient evidence + machine tag suggestions */
.us-top-tag-form{margin:0;}
.us-tag-suggestion-warning{
  padding-top:5px;
  border-top:1px solid #e3d9bd;
  color:#765f2f;
  font-weight:700;
}
.us-tag-evidence{
  margin-top:10px;
  padding:8px 9px;
  border:1px solid #e1e7ed;
  border-radius:8px;
  background:#fbfcfd;
}
.us-tag-evidence>summary{
  cursor:pointer;
  color:#506176;
  font-size:9px;
  font-weight:800;
}
.us-tag-evidence .us-evidence-summary{
  grid-template-columns:1fr;
  margin-top:8px;
}
.us-evidence-degraded{
  display:grid;
  gap:2px;
  margin-top:10px;
  padding:8px 9px;
  border:1px solid #e2d6b7;
  border-radius:8px;
  background:#fffaf0;
  color:#6d5b34;
  font-size:8.75px;
  line-height:1.4;
}
.us-evidence-degraded strong{font-size:9.25px;}

/* v0.10.3 — browser-rendered server OCR bridge */
.us-browser-evidence-status{
  display:none;
  margin-left:auto;
  min-width:180px;
  max-width:360px;
  text-align:right;
  font-size:9px;
  line-height:1.35;
}
.us-browser-evidence-status:not(:empty){display:block;}
@media(max-width:760px){
  .us-browser-evidence-status{grid-column:1/-1;width:auto;max-width:none;margin-left:0;text-align:left;}
}
@media(max-width:480px){
  .us-browser-evidence-status{grid-column:auto;}
}

/* v0.10.4 — visual-first US checker POC */
.us-found-facts{
  margin:0 0 12px;
  padding:10px;
  border:1px solid #dfe7ee;
  border-radius:10px;
  background:#f8fafc;
}
.us-found-facts-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.us-found-facts-head strong{font-size:10.5px;color:#34465b;}
.us-found-facts-head button{padding:5px 8px;font-size:8.5px;}
.us-found-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.us-found-facts-grid>div{display:grid;gap:2px;padding:7px 8px;border:1px solid #e3e9ef;border-radius:7px;background:#fff;min-width:0;}
.us-found-facts-grid>div.suggested{border-style:dashed;}
.us-found-facts-grid span{font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#8190a0;}
.us-found-facts-grid strong{font-size:10px;color:#34465b;overflow-wrap:anywhere;}
.us-found-facts-grid small{font-size:7.5px;color:#7a8797;}
.us-visual-poc-summary{margin:0 0 12px;padding:9px 10px;border:1px solid #dbe7ec;border-radius:9px;background:#f7fbfc;color:#4c6174;font-size:9px;line-height:1.45;}
.us-visual-poc-summary strong{color:#30495a;}
.us-visual-poc-summary button{margin-left:6px;padding:4px 7px;font-size:8px;}
.us-visual-placeholder{display:grid;gap:5px;padding:10px;border:1px dashed #d9e2e9;border-radius:9px;background:#fafcfd;color:#69798a;font-size:9px;line-height:1.45;}
.us-visual-placeholder strong{color:#405166;font-size:10px;}
.us-visual-diagnostic-results{display:grid;gap:10px;margin-top:10px;}
.us-visual-diagnostic-section{display:grid;gap:7px;}
.us-visual-diagnostic-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:5px;border-bottom:1px solid #e7edf2;}
.us-visual-diagnostic-section-head strong{font-size:10px;color:#3f5164;}
.us-visual-diagnostic-section-head span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#edf2f6;color:#5f7082;font-size:8px;font-weight:800;}
.us-visual-diagnostic-section>p{margin:-2px 0 0;font-size:8px;line-height:1.45;}
.us-visual-diagnostic-grid{display:grid;gap:6px;}
.us-visual-diagnostic{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:start;padding:8px;border:1px solid #e1e8ee;border-radius:8px;background:#fff;cursor:pointer;}
.us-visual-diagnostic:hover{background:#f8fafb;}
.us-visual-diagnostic-status{font-size:7.5px;font-weight:900;letter-spacing:.05em;color:#566b7d;padding-top:2px;}
.us-visual-diagnostic.candidate .us-visual-diagnostic-status{color:#8a6200;}
.us-visual-diagnostic-body{min-width:0;display:grid;gap:4px;}
.us-visual-diagnostic-title{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.us-visual-diagnostic-title strong{font-size:9.5px;color:#35485c;}
.us-visual-diagnostic-title span{font-size:7.5px;color:#7d8996;white-space:nowrap;}
.us-visual-diagnostic-body p{margin:0;font-size:8px;line-height:1.45;color:#69798a;overflow-wrap:anywhere;}
.us-visual-diagnostic-empty{padding:8px 9px;border:1px dashed #e0e7ec;border-radius:7px;color:#8793a0;font-size:8px;}
.us-reference-matching{margin-top:14px;border-top:1px solid #e4eaef;padding-top:10px;}
.us-reference-matching>summary{cursor:pointer;color:#506174;font-size:9px;font-weight:800;}
.us-reference-matching>p{font-size:8px;line-height:1.45;}
@media(max-width:680px){
  .us-found-facts-grid{grid-template-columns:1fr;}
  .us-visual-diagnostic{grid-template-columns:1fr;gap:4px;}
}

/* v0.10.8 — local TTB class/type master */
.us-ttb-master > summary{cursor:pointer}
.us-ttb-master-table-wrap{overflow:auto;max-height:560px;border:1px solid var(--line,#d9dee7);border-radius:10px;background:var(--panel,#fff)}
.us-ttb-master-table{width:100%;border-collapse:collapse;min-width:920px;font-size:12px}
.us-ttb-master-table th,.us-ttb-master-table td{padding:9px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#e2e6ec)}
.us-ttb-master-table th{position:sticky;top:0;z-index:1;background:var(--panel,#fff);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.us-ttb-master-table td strong{display:block;font-size:13px;margin-bottom:2px}
.us-ttb-master-table td small{display:block;max-width:420px;color:var(--muted,#667085);line-height:1.35;margin-top:4px}
.us-ttb-master-table td:nth-child(3){max-width:420px;line-height:1.45}
.us-visual-diagnostic-title strong{min-width:0}

/* v0.10.9 — stripped US Element Identification workbench + slug POC */
.us-ident-page-head{align-items:flex-start;margin-bottom:14px;}
.us-ident-page-head p{max-width:840px;margin-top:6px;}
.us-ident-commandbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:12px 14px;margin-bottom:9px;}
.us-ident-artwork-picker{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:9px;align-items:end;margin:0;}
.us-ident-artwork-picker label{display:grid;gap:5px;margin:0;font-size:8px;font-weight:800;letter-spacing:.04em;color:#66768a;text-transform:uppercase;}
.us-ident-artwork-picker select{width:100%;min-width:0;height:38px;}
.us-ident-artwork-picker button,.us-ident-actions button{height:38px;white-space:nowrap;}
.us-ident-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:260px;}
.us-ident-analysis-status{max-width:245px;font-size:8.5px;line-height:1.35;text-align:right;}
.us-ident-selected-strip{margin-bottom:10px;}
.us-ident-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:14px;align-items:start;}
.us-ident-pdf-panel{position:sticky;top:10px;min-width:0;}
.us-ident-pdf-panel .canvas-wrap{height:clamp(560px,73vh,850px);background:#d7dde2;}
.us-ident-side-panel{position:sticky;top:10px;max-height:calc(100vh - 22px);overflow:auto;padding:0;}
.us-ident-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 15px 8px;}
.us-ident-side-head h2{margin:2px 0 0;font-size:17px;line-height:1.2;color:#26384b;}
.us-ident-count{display:inline-flex;min-width:31px;height:31px;align-items:center;justify-content:center;border-radius:999px;background:#eef3f6;color:#41576b;font-size:11px;font-weight:900;}
.us-ident-intro{margin:0;padding:0 15px 12px;color:#68798a;font-size:8.5px;line-height:1.5;border-bottom:1px solid #e5ebef;}
.us-ident-results{padding:12px 13px 14px;margin:0;}
.us-ident-results .us-visual-diagnostic-section:first-child{padding:8px;border:1px solid #d7dfe5;border-radius:9px;background:#f5f7f9;}
.us-ident-results .us-visual-diagnostic.slug{border-color:#cbd4dc;background:#f4f6f8;}
.us-ident-results .us-visual-diagnostic.slug:hover{background:#edf1f4;}
.us-ident-results .us-visual-diagnostic.slug .us-visual-diagnostic-status{color:#4b5563;}
.us-ident-results .us-visual-diagnostic.slug.possible{border-style:dashed;background:#fff8eb;}
.us-ident-results .us-visual-diagnostic.slug.possible .us-visual-diagnostic-status{color:#946200;}
.us-ident-results .us-visual-diagnostic.text{border-left:3px solid #1b879a;}
.us-ident-results .us-visual-diagnostic.candidate{border-left:3px dashed #b7791f;}
.us-ident-diagnostics{border-top:1px solid #e5ebef;padding:0 14px 14px;}
.us-ident-diagnostics>summary{cursor:pointer;padding:11px 0 8px;color:#506477;font-size:9px;font-weight:800;}
.us-ident-diagnostic-grid{display:grid;gap:7px;margin-bottom:8px;}
.us-ident-diagnostic-grid>div{display:grid;gap:2px;padding:8px;border:1px solid #e1e7ec;border-radius:7px;background:#fafcfd;}
.us-ident-diagnostic-grid strong{font-size:8px;color:#4c6073;text-transform:uppercase;letter-spacing:.04em;}
.us-ident-diagnostic-grid span{font-size:8.5px;color:#65778a;line-height:1.4;overflow-wrap:anywhere;}
.us-ident-diagnostics p{margin:0;color:#7b8997;font-size:8px;line-height:1.5;}

@media (max-width:1100px){
  .us-ident-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,350px);}
  .us-ident-commandbar{grid-template-columns:1fr;align-items:stretch;}
  .us-ident-actions{justify-content:flex-start;min-width:0;}
  .us-ident-analysis-status{text-align:left;max-width:none;}
}
@media (max-width:860px){
  .us-ident-workspace{grid-template-columns:1fr;}
  .us-ident-pdf-panel,.us-ident-side-panel{position:static;max-height:none;}
  .us-ident-pdf-panel .canvas-wrap{height:clamp(480px,66vh,720px);}
}
@media (max-width:620px){
  .us-ident-artwork-picker{grid-template-columns:1fr;}
  .us-ident-artwork-picker button{width:100%;}
  .us-ident-actions{align-items:stretch;flex-direction:column;}
  .us-ident-actions button{width:100%;}
}

/* v0.11.0 — native CV slug controls for the stripped element workbench */
.us-ident-cv-settings{margin-top:14px;border:1px solid #dce3e8;border-radius:10px;background:#f8fafb;overflow:hidden;}
.us-ident-cv-settings>summary{cursor:pointer;padding:11px 13px;font-weight:800;color:#1f2937;list-style-position:inside;}
.us-ident-cv-settings[open]>summary{border-bottom:1px solid #e1e7eb;background:#fff;}
.us-ident-cv-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:14px 14px 8px;}
.us-ident-cv-settings-grid>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#374151;}
.us-ident-cv-toggle{justify-content:center;flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:38px;}
.us-ident-cv-toggle input{margin:0;}
.us-ident-cv-range{display:grid;grid-template-columns:minmax(120px,1fr) 48px;align-items:center;gap:9px;}
.us-ident-cv-range input[type="range"]{width:100%;}
.us-ident-cv-range output{font-variant-numeric:tabular-nums;font-weight:800;text-align:right;color:#0f6174;}
.us-ident-cv-families{grid-column:1/-1;display:flex;align-items:center;gap:16px;border:1px solid #d9e1e6;border-radius:8px;padding:9px 11px;background:#fff;}
.us-ident-cv-families legend{padding:0 5px;font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;}
.us-ident-cv-families label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;}
.us-ident-cv-reference{margin:4px 14px 10px;padding:12px;border:1px solid #dce3e8;border-radius:8px;background:#fff;}
.us-ident-cv-reference>strong{font-size:12px;}
.us-ident-cv-reference>p{margin:4px 0 9px;font-size:11px;line-height:1.35;}
.us-ident-cv-reference-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr) auto;gap:8px;align-items:center;}
.us-ident-cv-reference-row input[type="text"],.us-ident-cv-reference-row input[type="file"]{min-width:0;width:100%;}
.us-ident-cv-reference-list{display:grid;gap:6px;margin-top:9px;}
.us-ident-cv-reference-builtins{font-size:11px;}
.us-ident-cv-reference-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:7px;background:#f4f7f9;font-size:11px;font-weight:700;}
.us-ident-cv-settings-actions{display:flex;justify-content:flex-end;padding:0 14px 14px;}
.us-ident-cv-debug{white-space:pre-line;line-height:1.45;margin-top:9px;font-size:11px;}
@media(max-width:920px){.us-ident-cv-settings-grid{grid-template-columns:1fr}.us-ident-cv-reference-row{grid-template-columns:1fr}.us-ident-cv-families{grid-column:1}.us-ident-cv-families{flex-wrap:wrap}}

/* v0.11.1 — US Element Identification: CV settings sidebar layout cleanup */
.us-ident-cv-settings,
.us-ident-cv-settings *{
  min-width:0;
}
.us-ident-cv-settings-grid{
  grid-template-columns:1fr;
  gap:10px;
}
.us-ident-cv-settings-grid>label{
  width:100%;
}
.us-ident-cv-toggle{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  min-height:0;
  width:100%;
  padding:4px 0;
  line-height:1.3;
}
.us-ident-cv-toggle input[type="checkbox"]{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:1px 0 0!important;
}
.us-ident-cv-families{
  grid-column:1;
  width:100%;
  flex-wrap:wrap;
  gap:10px 16px;
}
.us-ident-cv-families label{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:7px;
  min-width:max-content;
}
.us-ident-cv-families input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
}
.us-ident-cv-reference{
  overflow:hidden;
}
.us-ident-cv-reference-row{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  align-items:stretch;
  width:100%;
}
.us-ident-cv-reference-row>*{
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}
.us-ident-cv-reference-row input[type="file"]{
  display:block;
  width:100%;
  max-width:100%;
  overflow:hidden;
  padding:6px;
  font-size:12px;
}
.us-ident-cv-reference-row input[type="file"]::file-selector-button{
  margin-right:8px;
  max-width:48%;
  border:1px solid #cbd2dc;
  border-radius:7px;
  background:#f8fafc;
  color:#1f2937;
  padding:7px 9px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.us-ident-cv-reference-row #slugCvAddReference{
  justify-self:stretch;
  white-space:normal;
}
.us-ident-cv-settings-actions{
  justify-content:stretch;
}
.us-ident-cv-settings-actions button{
  width:100%;
}
@media(min-width:1180px){
  .us-ident-cv-settings-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .us-ident-cv-settings-grid>.us-ident-cv-toggle,
  .us-ident-cv-settings-grid>.us-ident-cv-families{
    grid-column:1/-1;
  }
}

/* v0.14.9 — required annotation comments + one-level reply threads */
.annotation-card{cursor:pointer}
.annotation-comment-thread{margin-top:8px;display:grid;gap:7px}
.annotation-comment{position:relative;padding-top:7px;border-top:1px solid #edf1f5;cursor:default}
.annotation-comment.root:first-child{padding-top:0;border-top:0}
.annotation-comment.reply{margin-left:18px;padding:8px 9px 7px;border:1px solid #e1e7ee;border-left:3px solid #c4cfdd;border-radius:7px;background:#f8fafc}
.annotation-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.annotation-comment-meta strong{font-size:10.5px;color:#334155}
.annotation-comment-meta span{font-size:9.5px;color:#8a94a3;white-space:nowrap}
.annotation-comment p{margin:0;font-size:12px;line-height:1.4;white-space:pre-wrap;color:#263244}
.annotation-comment p.deleted-comment{color:#8a94a3;font-style:italic}
.annotation-comment-actions{display:flex;align-items:center;gap:8px;margin-top:5px}
.annotation-comment-action{appearance:none;border:0;background:transparent;padding:0;color:#496582;font:inherit;font-size:10.5px;font-weight:750;cursor:pointer}
.annotation-comment-action:hover{text-decoration:underline;color:#254f78}
.annotation-comment-action.danger{color:#b42318}
.annotation-inline-comment-editor{margin-top:8px;padding-top:8px;border-top:1px dashed #d8e0e8}
.annotation-inline-comment-editor textarea{width:100%;min-height:58px;resize:vertical;box-sizing:border-box}
.annotation-inline-comment-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}
.annotation-inline-comment-actions .small-status{margin:0;min-height:0}
.annotation-missing-comment{margin:0!important;padding:6px 0;color:#8a94a3!important;font-style:italic}
.annotation-editor textarea:disabled{background:#f5f7fa;color:#8a94a3;cursor:not-allowed}
.annotation-editor-actions button:disabled,.annotation-inline-comment-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.annotation-comment.reply{margin-left:12px}}

/* Open-source attribution */
.open-source-footer{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:28px 0 18px;padding-top:14px;border-top:1px solid #dfe5e9;color:#697786;font-size:10px;font-weight:650;letter-spacing:.01em;text-align:center;line-height:1.45}
.open-source-footer a{color:#315f78;text-decoration:none;font-weight:800}
.open-source-footer a:hover,.open-source-footer a:focus-visible{text-decoration:underline;color:#17475f}
.notices-page{max-width:900px;margin:36px auto 48px;padding:0 24px;color:#263442}
.notices-page h1{margin:0 0 8px;font-size:28px;color:#1f2b34}
.notices-page h2{margin:28px 0 10px;font-size:16px;color:#244c60}
.notices-page p,.notices-page li{font-size:13px;line-height:1.55}
.notices-page .notice-intro{max-width:720px;color:#526575}
.notices-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dfe5e9;border-radius:8px;overflow:hidden}
.notices-table th,.notices-table td{padding:10px 12px;border-bottom:1px solid #e7ecef;text-align:left;vertical-align:top;font-size:12px;line-height:1.45}
.notices-table th{background:#f4f7f8;color:#405260;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.notices-table tr:last-child td{border-bottom:0}
.notices-table a,.notices-page a{color:#1d6179}
.notices-note{padding:12px 14px;border-left:3px solid var(--suntory-teal);background:#f4f9fa;color:#4e6170}
@media(max-width:620px){.notices-page{margin-top:24px;padding:0 16px}.notices-table{display:block;overflow-x:auto}.notices-table th,.notices-table td{min-width:125px}.open-source-footer{margin-top:22px}}

/* v0.16.60 — persistent light/dark appearance
   PDF and annotation canvas pixels are never filtered or transformed. Only the
   CSS fallback visible through transparent PDF page regions changes by theme. */
:root{
  --surface:#fff;
  --surface-soft:#f8fafc;
  --surface-raised:#fbfcfd;
  --control-bg:#fff;
  --control-hover:#f3f6f8;
  --control-line:#cbd2dc;
  --pdf-page-bg:#fff;
  --pdf-surround:#cdd2d8;
  --topbar-gradient:linear-gradient(105deg,#262b30 0%,#30383f 58%,#263d49 100%);
}

.topbar{background:var(--topbar-gradient)}
.canvas-wrap{background:var(--pdf-surround)}
.page-stack,
.canvas-wrap canvas#pdfCanvas,
.compare-stage{background:var(--pdf-page-bg)!important}

/* Compact sun/moon switch in the authenticated top navigation. */
.theme-toggle{
  appearance:none;
  width:auto;
  min-width:72px;
  height:34px;
  margin:0;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  border:1px solid rgba(219,232,241,.35);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#dce6ed;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  cursor:pointer;
}
.theme-toggle:hover{background:rgba(255,255,255,.13);border-color:rgba(219,232,241,.55)}
.theme-toggle:focus-visible{outline:2px solid var(--suntory-teal);outline-offset:3px}
.theme-icon{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.72;transition:opacity .15s ease,color .15s ease}
.theme-icon-sun{color:#ffe08a;opacity:1}
.theme-icon-moon{color:#b9c9dc}
.theme-toggle-track{position:relative;width:28px;height:16px;display:block;flex:0 0 auto;border-radius:999px;background:#7a8792;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:background .18s ease}
.theme-toggle-thumb{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .18s ease}
[data-theme="dark"] .theme-icon-sun{opacity:.55}
[data-theme="dark"] .theme-icon-moon{color:#c9dcff;opacity:1}
[data-theme="dark"] .theme-toggle-track{background:#168ba8}
[data-theme="dark"] .theme-toggle-thumb{transform:translateX(12px)}

@media(max-width:720px){
  .topbar nav{gap:8px}
  .topbar nav .sign-out-link{display:inline-flex!important}
  .theme-toggle{min-width:64px;height:32px;padding:0 5px;gap:4px}
}
@media(max-width:420px){
  .suntory-lockup{width:76px;flex-basis:76px}
  .suntory-lockup img{width:74px}
  .topbar-newreview-image{width:82px}
  .topbar nav{gap:5px}
  .topbar nav .sign-out-link{font-size:11px}
  .theme-toggle{min-width:56px;padding:0 4px;gap:3px}
  .theme-icon{width:12px;height:12px}
}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07131c;
  --panel:#101c27;
  --ink:#edf4f8;
  --muted:#9babb9;
  --line:#2c4050;
  --accent:#28adca;
  --accent2:#d9edf4;
  --ok:#74deb2;
  --okbg:#0c2d27;
  --warn:#ffd36b;
  --warnbg:#32290e;
  --bad:#ff918b;
  --badbg:#351b1f;
  --shadow:0 12px 34px rgba(0,0,0,.3);
  --surface:#101c27;
  --surface-soft:#111f2b;
  --surface-raised:#142431;
  --control-bg:#152431;
  --control-hover:#1b3040;
  --control-line:#3a5162;
  --pdf-page-bg:#484d50;
  --pdf-surround:#08131c;
  --topbar-gradient:linear-gradient(105deg,#0b1118 0%,#101b26 58%,#112431 100%);
  background:#07131c;
}

[data-theme="dark"] body{
  min-height:100vh;
  background:
    radial-gradient(circle at 74% 22%,rgba(25,78,102,.16),transparent 36rem),
    linear-gradient(118deg,#07131c 0%,#091822 58%,#07141e 100%);
  color:var(--ink);
}
[data-theme="dark"] .topbar{border-bottom-color:#16bbd8;box-shadow:0 3px 15px rgba(0,0,0,.38)}
[data-theme="dark"] .topbar nav a{color:#d7e2e9}
[data-theme="dark"] .topbar nav a:hover{color:#fff}
[data-theme="dark"] .user-chip{color:#aebdc8;border-left-color:#395064}
[data-theme="dark"] .theme-toggle{background:rgba(18,43,58,.86);border-color:#415b6c;color:#e4edf3}
[data-theme="dark"] .theme-toggle:hover{background:#1a3546;border-color:#5a7586}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] strong{color:inherit}
[data-theme="dark"] .eyebrow{color:#a8c4d4}
[data-theme="dark"] .muted,
[data-theme="dark"] .sub,
[data-theme="dark"] small{color:var(--muted)}
[data-theme="dark"] a{color:#8fd7e8}
[data-theme="dark"] .backlink,
[data-theme="dark"] .route-page-back{color:#9ec6d7}

/* Shared panels, cards, tables, and form controls. */
[data-theme="dark"] .card,
[data-theme="dark"] .login-card,
[data-theme="dark"] .viewer-panel,
[data-theme="dark"] .review-panel,
[data-theme="dark"] .artwork-strip,
[data-theme="dark"] .project-folder,
[data-theme="dark"] .route-folder-toolbar,
[data-theme="dark"] .cycle-summary-card,
[data-theme="dark"] .route-file-card,
[data-theme="dark"] .folder-file-row,
[data-theme="dark"] .prepress-dialog,
[data-theme="dark"] .prepress-dialog-shell,
[data-theme="dark"] .compare-dialog,
[data-theme="dark"] .compare-dialog-shell,
[data-theme="dark"] .compare-annotation-sidebar,
[data-theme="dark"] .metadata-card,
[data-theme="dark"] .admin-card,
[data-theme="dark"] .rule-test-card,
[data-theme="dark"] .us-ident-side-panel,
[data-theme="dark"] .us-checker-side-panel{
  background:var(--surface);
  border-color:var(--line);
  color:var(--ink);
  box-shadow:var(--shadow);
}
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea{
  background:var(--control-bg);
  border-color:var(--control-line);
  color:var(--ink);
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder{color:#788b9a}
[data-theme="dark"] input:disabled,
[data-theme="dark"] select:disabled,
[data-theme="dark"] textarea:disabled{background:#101a23;color:#748491}
[data-theme="dark"] button,
[data-theme="dark"] .button,
[data-theme="dark"] .cycle-button,
[data-theme="dark"] .artwork-tab,
[data-theme="dark"] .route-folder-link,
[data-theme="dark"] .rb-choice-button{
  background:var(--control-bg);
  border-color:var(--control-line);
  color:#e7eff4;
}
[data-theme="dark"] button:hover,
[data-theme="dark"] .button:hover,
[data-theme="dark"] .cycle-button:hover,
[data-theme="dark"] .artwork-tab:hover,
[data-theme="dark"] .route-folder-link:hover,
[data-theme="dark"] .rb-choice-button:hover{background:var(--control-hover);border-color:#567084}
[data-theme="dark"] button:disabled,
[data-theme="dark"] .button:disabled{color:#738391;background:#101a23;border-color:#293b49}
[data-theme="dark"] .primary{background:#168ba8;border-color:#20a7c4;color:#fff}
[data-theme="dark"] .primary:hover{background:#1aa0be;border-color:#4bc1d8}
[data-theme="dark"] .approve,
[data-theme="dark"] .approve-cta{background:#0b3028;border-color:#319b76;color:#7aebbd}
[data-theme="dark"] .approve:hover,
[data-theme="dark"] .approve-cta:hover{background:#104337;border-color:#55bc96;color:#a1f2d0}
[data-theme="dark"] .reject{background:#351b1f;border-color:#925054;color:#ffaaa4}
[data-theme="dark"] .danger-outline{background:#28181c;border-color:#7e444a;color:#ff9c97}

[data-theme="dark"] .data,
[data-theme="dark"] .notices-table{background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .data th,
[data-theme="dark"] .notices-table th{background:#142431;color:#aebfcb;border-color:var(--line)}
[data-theme="dark"] .data td,
[data-theme="dark"] .notices-table td{border-color:#243846}
[data-theme="dark"] .data tr:hover td{background:#13232f}
[data-theme="dark"] .row-title{color:#edf4f8}
[data-theme="dark"] .row-title:hover{color:#72d0e3}

/* Viewer and annotation workspace — visual target hierarchy. */
[data-theme="dark"] .proof-head h1{color:#f5f8fb}
[data-theme="dark"] .meta-line span{background:#14283a;color:#c0ced8;border:1px solid #253d50}
[data-theme="dark"] .viewer-panel,
[data-theme="dark"] .review-panel{border-color:#2e4555;background:#0f1c26}
[data-theme="dark"] .viewer-toolbar{background:#111f2a;border-color:#2d4353;color:#d9e4ea}
[data-theme="dark"] .viewer-toolbar-row{border-color:#2b4050}
[data-theme="dark"] .viewer-toolbar .sep,
[data-theme="dark"] .cycle-switcher,
[data-theme="dark"] .annotation-tools{border-color:#304858}
[data-theme="dark"] .annotation-workbar{background:#111f2a;border-color:#293f4e}
[data-theme="dark"] .annotation-workbar-title{border-color:#304858}
[data-theme="dark"] .annotation-workbar-kicker,
[data-theme="dark"] .tool-label,
[data-theme="dark"] .annotation-color-picker>span{color:#a7c0cf}
[data-theme="dark"] .annotation-tools-cta .tool-button,
[data-theme="dark"] .annotation-color-picker{background:#172735!important;border-color:#40586a!important;color:#e9f0f4!important}
[data-theme="dark"] .annotation-tools-cta .tool-button:hover{background:#203747!important;border-color:#5a7587!important}
[data-theme="dark"] .annotation-tools-cta .tool-button.active{background:#113f4c!important;border-color:#24b6d2!important;color:#effcff!important}
[data-theme="dark"] .route-artwork-nav-button{background:#12313a!important;border-color:#287b89!important;color:#c8f2f7!important}
[data-theme="dark"] .pdf-layers-summary{background:#162843!important;border-color:#466fc0!important;color:#dce9ff!important}
[data-theme="dark"] .pdf-layers-popover{background:#121f2b;border-color:#405768;color:#e7eef3;box-shadow:0 16px 38px rgba(0,0,0,.4)}
[data-theme="dark"] .pdf-layers-head,
[data-theme="dark"] .pdf-layer-row{border-color:#2b4150}
[data-theme="dark"] .pdf-layer-row:hover{background:#1a2d3a}
[data-theme="dark"] .pdf-download-button{background:#152431!important;border-color:#3b5263!important;color:#e6eef3!important}
[data-theme="dark"] .canvas-wrap{border-color:#213542}
[data-theme="dark"] .page-stack{box-shadow:0 7px 28px rgba(0,0,0,.42)}
[data-theme="dark"] .viewer-message{background:#0d1922;color:#f0f5f8;border:1px solid #304756}

[data-theme="dark"] .tabs{background:#111f2a;border-color:#304554}
[data-theme="dark"] .tab{color:#a7b8c6}
[data-theme="dark"] .tab:hover{background:#162936;color:#e7f0f5}
[data-theme="dark"] .tab.active{background:#142634;color:#f2f7fa;box-shadow:inset 0 -2px 0 #18bfdc}
[data-theme="dark"] .tab span{background:#253b4c;color:#c9d7e1}
[data-theme="dark"] .tabpane{color:#d9e3e9}
[data-theme="dark"] .section-head,
[data-theme="dark"] .annotation-editor,
[data-theme="dark"] .annotation-export,
[data-theme="dark"] .review-actions{border-color:#2a3e4d}
[data-theme="dark"] .annotation-nav-label{color:#a8c0cf}
[data-theme="dark"] .directive-info,
[data-theme="dark"] .directive-hint{background:#28240f;border-color:#aa8521;color:#ffe19a}
[data-theme="dark"] .annotation-empty,
[data-theme="dark"] .review-log-empty{background:#101f2a;border-color:#466175;color:#c0d0db}
[data-theme="dark"] .annotation-card{background:#142430;border-color:#304858;color:#e7eef3}
[data-theme="dark"] .annotation-card:hover{background:#182d3a}
[data-theme="dark"] .annotation-card.selected{background:#123342;border-color:#29a8c2;box-shadow:inset 3px 0 0 #20b7d3}
[data-theme="dark"] .annotation-card p{color:#dbe5eb}
[data-theme="dark"] .annotation-comment{border-color:#2c4352}
[data-theme="dark"] .annotation-comment.reply{background:#111f2b;border-color:#304756;border-left-color:#567084}
[data-theme="dark"] .annotation-comment-meta strong,
[data-theme="dark"] .annotation-comment p{color:#dbe5eb}
[data-theme="dark"] .annotation-comment-meta span,
[data-theme="dark"] .annotation-comment p.deleted-comment{color:#8698a7}
[data-theme="dark"] .annotation-comment-action{color:#8fc8dd}
[data-theme="dark"] .annotation-comment-action:hover{color:#b9e7f3}
[data-theme="dark"] .history-item,
[data-theme="dark"] .decision,
[data-theme="dark"] .review-log-item,
[data-theme="dark"] .review-log-confirmation-list li{border-color:#293e4d}
[data-theme="dark"] .review-log-item{background:#12212d;color:#dbe5eb}
[data-theme="dark"] .export-annotations-button{background:#1b2c3c;border-color:#506a7e;color:#dfeaf1}

/* Route/project cards retain their structure while losing light islands. */
[data-theme="dark"] .project-folder>summary,
[data-theme="dark"] .route-row,
[data-theme="dark"] .route-file-row,
[data-theme="dark"] .folder-file-row{color:var(--ink);border-color:#263b49}
[data-theme="dark"] .project-folder>summary:hover,
[data-theme="dark"] .route-row:hover,
[data-theme="dark"] .route-file-row:hover,
[data-theme="dark"] .folder-file-row:hover{background:#162835!important;border-color:#3c5668!important}
[data-theme="dark"] .route-type-badge,
[data-theme="dark"] .artwork-strip-label span,
[data-theme="dark"] .route-main span,
[data-theme="dark"] .file-upload-meta small{color:#9baeba}
[data-theme="dark"] .route-type-badge{background:#223644}
[data-theme="dark"] .artwork-tab.active,
[data-theme="dark"] .cycle-button.active,
[data-theme="dark"] .route-folder-link.active{background:#123946;border-color:#259ab2;color:#d5f6fb}
[data-theme="dark"] .route-folder-tab{background:#182a36;border-color:#3a5263;color:#b9cad5}
[data-theme="dark"] .route-folder-body{background:linear-gradient(#101f2a,#0d1a24);border-color:#314858}
[data-theme="dark"] .route-hero-banner{background:linear-gradient(118deg,#101923 0%,#162733 62%,#17313e 100%);border-color:#385363;box-shadow:0 9px 26px rgba(0,0,0,.34)}

/* Dialogs, compare controls, and PDF comparison fallback. */
[data-theme="dark"] dialog::backdrop{background:rgba(0,5,10,.72)}
[data-theme="dark"] .compare-dialog-head,
[data-theme="dark"] .compare-toolbar,
[data-theme="dark"] .compare-message,
[data-theme="dark"] .compare-annotation-sidebar-head,
[data-theme="dark"] .compare-annotation-list,
[data-theme="dark"] .prepress-dialog-head,
[data-theme="dark"] .prepress-dialog-actions{background:#111f2b;border-color:#2e4454;color:#e7eef3}
[data-theme="dark"] .compare-dialog-head p,
[data-theme="dark"] .compare-message{color:#a8b8c4}
[data-theme="dark"] .compare-close,
[data-theme="dark"] .dialog-close,
[data-theme="dark"] .compare-zoom-centered button,
[data-theme="dark"] .compare-page-nav button,
[data-theme="dark"] .compare-annotation-nav-btn{background:#172936;border-color:#40596a;color:#e5edf2}
[data-theme="dark"] .compare-stage-scroller{background:#08131c;border-color:#2d4352}
[data-theme="dark"] .compare-version-headband{background:#132531;border-color:#355063;color:#dfe9ef}
[data-theme="dark"] .compare-version-name{color:#8fa1af}
[data-theme="dark"] .compare-version-name.active,
[data-theme="dark"] #comparePreviousLabel.active{background:#193548;color:#bdeaff;box-shadow:inset 0 0 0 1px #35627a}
[data-theme="dark"] .compare-annotation-card{background:#142531;border-color:#324b5b;color:#e0e9ee}
[data-theme="dark"] .compare-annotation-card:hover{background:#19303e}

/* Admin, metadata, setup, diagnostics, and informational surfaces. */
[data-theme="dark"] .info-box,
[data-theme="dark"] .imported-meta,
[data-theme="dark"] .metric-row div,
[data-theme="dark"] .rb-help,
[data-theme="dark"] .rb-source,
[data-theme="dark"] .rb-review-state,
[data-theme="dark"] .rb-map,
[data-theme="dark"] .us-ident-cv-settings,
[data-theme="dark"] .us-ident-cv-reference,
[data-theme="dark"] .us-ident-cv-reference-item,
[data-theme="dark"] .us-ident-diagnostic-grid>div,
[data-theme="dark"] .us-visual-placeholder,
[data-theme="dark"] .us-visual-diagnostic,
[data-theme="dark"] .us-found-facts-grid>div,
[data-theme="dark"] .us-visual-poc-summary,
[data-theme="dark"] .notices-note{
  background:#12212d;
  border-color:#2e4555;
  color:#c8d4dc;
}
[data-theme="dark"] .rb-map-node,
[data-theme="dark"] .rb-choice-button,
[data-theme="dark"] .us-ident-cv-families{background:#172936;border-color:#3a5364;color:#e2ebf0}
[data-theme="dark"] .rb-warning{background:#32290e;border-color:#8f7327;color:#f8dc93}
[data-theme="dark"] pre{background:#071018;color:#dce9f1;border:1px solid #263e4e}
[data-theme="dark"] .open-source-footer{border-color:#273c4a;color:#8296a5}
[data-theme="dark"] .open-source-footer a{color:#82c9da}
[data-theme="dark"] .notices-page,
[data-theme="dark"] .notices-page h1,
[data-theme="dark"] .notices-page h2{color:var(--ink)}
[data-theme="dark"] .notices-page .notice-intro{color:#a6b6c2}
[data-theme="dark"] .notices-table a,
[data-theme="dark"] .notices-page a{color:#82d0e1}
[data-theme="dark"] .us-checker-pdf-panel .canvas-wrap,
[data-theme="dark"] .us-ident-pdf-panel .canvas-wrap,
[data-theme="dark"] .rule-test-viewer-panel .canvas-wrap{background:var(--pdf-surround)}

[data-theme="dark"] .pill.muted{background:#243745;color:#b7c6d0}
[data-theme="dark"] .pill.ok{background:#0c2d27;color:#7fe3ba}
[data-theme="dark"] .pill.warn{background:#32290e;color:#ffd97d}
[data-theme="dark"] .pill.bad{background:#351b1f;color:#ff9b95}
[data-theme="dark"] .flash.ok{background:#0c2d27;border-color:#286b54;color:#8ae7c0}
[data-theme="dark"] .flash.bad{background:#351b1f;border-color:#79434a;color:#ffaaa4}

/* v0.16.63 — dark-mode coverage for page-specific application surfaces. */

/* Decision Engine, rule builder, checks, and Lists of Values. */
[data-theme="dark"] .de-tabs{border-color:#334b5c}
[data-theme="dark"] .de-tabs a{color:#b8c8d3}
[data-theme="dark"] .de-tabs a:hover{background:#172936;color:#f0f6f9}
[data-theme="dark"] .de-tabs a.active{background:#26333d;color:#fff}
[data-theme="dark"] .de-help,
[data-theme="dark"] .de-code,
[data-theme="dark"] .de-note,
[data-theme="dark"] .ck-help,
[data-theme="dark"] .ck-flow,
[data-theme="dark"] .rb-check-card,
[data-theme="dark"] .rb-lov-dialog,
[data-theme="dark"] .rb-lov-inner{
  background:#142531;
  border-color:#334b5c;
  color:#d5e1e8;
}
[data-theme="dark"] .de-table{color:#e1e9ee}
[data-theme="dark"] .de-table th,
[data-theme="dark"] .ck-table th{
  background:#1a2d3a;
  border-color:#344c5c;
  color:#dce7ed;
}
[data-theme="dark"] .de-table td,
[data-theme="dark"] .ck-table td{border-color:#2b4050}
[data-theme="dark"] .de-warning,
[data-theme="dark"] .ck-warning,
[data-theme="dark"] .rb-warning,
[data-theme="dark"] .de-result-unknown{background:#352d13;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .de-result-true{background:#12362b;color:#b0f0d0}
[data-theme="dark"] .ck-node,
[data-theme="dark"] .rb-map-node,
[data-theme="dark"] .rb-choice-button{background:#1a2d3a;border-color:#40596a;color:#e5edf2}
[data-theme="dark"] .rb-map,
[data-theme="dark"] .rb-help,
[data-theme="dark"] .rb-source,
[data-theme="dark"] .rb-review-state{background:#142531;border-color:#334b5c;color:#d5e1e8}
[data-theme="dark"] .rb-review-state.reviewed{background:#12362b;border-color:#367b5f;color:#b8efd2}
[data-theme="dark"] .rb-review-state.needs-review{background:#352d13;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .de-pill,
[data-theme="dark"] .rb-pill,
[data-theme="dark"] .ck-pill{border-color:#4a6171;color:#dbe5eb}
[data-theme="dark"] .de-pill.automatic,
[data-theme="dark"] .rb-pill.automatic,
[data-theme="dark"] .ck-pill.automatic,
[data-theme="dark"] .de-pill.active{background:#12362b;border-color:#367b5f;color:#b8efd2}
[data-theme="dark"] .de-pill.partial,
[data-theme="dark"] .rb-pill.partial,
[data-theme="dark"] .ck-pill.partial,
[data-theme="dark"] .de-pill.draft{background:#352d13;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .de-pill.human,
[data-theme="dark"] .rb-pill.human,
[data-theme="dark"] .ck-pill.human,
[data-theme="dark"] .de-pill.disabled{background:#263541;color:#c4d0d8}
[data-theme="dark"] .de-pill.experimental,
[data-theme="dark"] .rb-pill.experimental,
[data-theme="dark"] .ck-pill.experimental{background:#202e4b;border-color:#526a9a;color:#cfdbff}

/* Mandatory Element Detector Registry. */
[data-theme="dark"] .detector-card,
[data-theme="dark"] .detector-editor,
[data-theme="dark"] .detector-create,
[data-theme="dark"] .detector-row,
[data-theme="dark"] .detector-guide,
[data-theme="dark"] .asset-card{
  background:#142531;
  border-color:#334b5c;
  color:#dce6ec;
}
[data-theme="dark"] .detector-row:hover,
[data-theme="dark"] .detector-row.active{background:#1a3040;border-color:#557084}
[data-theme="dark"] .detector-note{background:#192b37;border-left-color:#7890a1;color:#c7d5de}
[data-theme="dark"] .detector-note.safety{background:#352d13;border-left-color:#c69f35;color:#ffe09a}
[data-theme="dark"] .detector-section,
[data-theme="dark"] .history-row{border-color:#2e4555}
[data-theme="dark"] .asset-card img{background:#0c1821}
[data-theme="dark"] .small-help,
[data-theme="dark"] .detector-empty{color:#9fb0bc}
[data-theme="dark"] .detector-badge{background:#223542;border-color:#496172;color:#cbd8e0}
[data-theme="dark"] .detector-badge.system{background:#1b3150;border-color:#4e73aa;color:#c9dcff}
[data-theme="dark"] .detector-badge.off{background:#3a2023;border-color:#885057;color:#ffb0aa}

/* Artwork Route files and artwork-tinted hero. */
[data-theme="dark"] .route-folder-body .folder-file-row,
[data-theme="dark"] .route-file-row.folder-file-row{
  background:#12212d!important;
  border-color:#304858!important;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
[data-theme="dark"] .route-folder-body .folder-file-row:hover,
[data-theme="dark"] .route-file-row.folder-file-row:hover{
  background:#1a3040!important;
  border-color:#557084!important;
  box-shadow:0 4px 13px rgba(0,0,0,.25);
}
[data-theme="dark"] .file-main strong{color:#e8f0f4}
[data-theme="dark"] .file-review-counts{color:#b5c5cf}
[data-theme="dark"] .file-icon,
[data-theme="dark"] .component-file-icon,
[data-theme="dark"] .route-type-icon,
[data-theme="dark"] .component-mini-icon{background:#192c39;border-color:#3d5668;color:#b9cbd7}
[data-theme="dark"] .delete-file-button{background:#2b1b1e!important;border-color:#74464b!important;color:#ff9f99!important}
[data-theme="dark"] .delete-file-button:hover{background:#3b2024!important;border-color:#a75c61!important;color:#ffc1bd!important}
[data-theme="dark"] .route-hero-collage-veil{
  background:
    linear-gradient(90deg,rgba(8,28,43,.91) 0%,rgba(8,42,61,.78) 36%,rgba(8,57,78,.62) 72%,rgba(8,45,64,.72) 100%),
    linear-gradient(rgba(20,108,145,.16),rgba(7,28,42,.22));
}

/* Prepress dashboard and upload surfaces. */
[data-theme="dark"] .prepress-dialog,
[data-theme="dark"] .prepress-dialog-shell{background:#0f1d27;color:#e5edf2}
[data-theme="dark"] .prepress-file-summary{background:#172a36;border-color:#385062;color:#dce7ed}
[data-theme="dark"] .prepress-file-summary.needs-change{background:#2a2719;border-color:#9b7d2b;color:#f4e7bd}
[data-theme="dark"] .prepress-modal-upload{background:#152735;border-color:#354f61;color:#dce7ed}
[data-theme="dark"] .prepress-no-directives,
[data-theme="dark"] .directive-list li,
[data-theme="dark"] .directive-list li span{color:#c5d2da;border-color:#3e4534}
[data-theme="dark"] .current-filename-list code{background:#0d1b25;border-color:#334b5c;color:#c9d7df}

/* Artwork Scope, including the shared New Artwork Route form. */
[data-theme="dark"] .scope-dialog,
[data-theme="dark"] .scope-dialog-shell{background:#13232f;color:#e5edf2}
[data-theme="dark"] .scope-dialog-head,
[data-theme="dark"] .scope-dialog-actions{border-color:#3a5263}
[data-theme="dark"] .scope-form-panel{background:#192b37;color:#e6eef3}
[data-theme="dark"] .scope-pm-panel{border-color:#b95866}
[data-theme="dark"] .scope-production-panel{border-color:#2db5d2}
[data-theme="dark"] .scope-top-fields label,
[data-theme="dark"] .scope-form-panel>label,
[data-theme="dark"] .scope-form-panel legend{color:#c8d5dd}
[data-theme="dark"] .scope-owner,
[data-theme="dark"] .scope-last-saved{color:#93a8b6}
[data-theme="dark"] .scope-check{color:#e1e9ee!important}
[data-theme="dark"] .scope-form-panel input:disabled,
[data-theme="dark"] .scope-form-panel textarea:disabled,
[data-theme="dark"] .scope-top-fields input:disabled{background:#101f2a;color:#8fa2af}
[data-theme="dark"] .upload-kind-option{background:#182b38;border-color:#3a5364;color:#dfe8ed}
[data-theme="dark"] .upload-kind-option small{color:#9fb2bf}
[data-theme="dark"] .new-route-scope-row{background:#142a36;border-color:#2f6574;color:#e3edf2}
[data-theme="dark"] .new-route-scope-row small{color:#9eb1bd}

/* Mandatory Elements is deliberately raised and softer than the page background. */
[data-theme="dark"] .mandatory-elements-panel{background:#1a2d3a;border-color:#486173;color:#edf4f7;box-shadow:0 18px 42px rgba(0,0,0,.45)}
[data-theme="dark"] .me-review-sticky-header,
[data-theme="dark"] .me-results-footer{background:#1a2d3a;border-color:#405767}
[data-theme="dark"] .me-result-row{background:#213946;color:#edf3f6}
[data-theme="dark"] .me-result-row:hover{background:#294653}
[data-theme="dark"] .me-result-row.manual-confirmed{background:#193c31;border-color:#4f9575}
[data-theme="dark"] .me-context-note,
[data-theme="dark"] .me-human-review{background:#203541;border-color:#496172;color:#d6e1e7}
[data-theme="dark"] .me-context-note strong,
[data-theme="dark"] .me-human-review h4{color:#edf4f7}
[data-theme="dark"] .me-human-review-row{border-color:#405767}
[data-theme="dark"] .me-market-badge{background:#172a36;border-color:#526b7c;color:#c5d5de}
[data-theme="dark"] .me-subtle,
[data-theme="dark"] .me-analysis-note,
[data-theme="dark"] .me-not-scanned-copy p,
[data-theme="dark"] .me-empty-result p,
[data-theme="dark"] .me-ocr-disclaimer,
[data-theme="dark"] .me-compliance-disclaimer,
[data-theme="dark"] .me-analysis-timing,
[data-theme="dark"] .me-result-explanation{color:#aebfca}
[data-theme="dark"] .me-manual-meta{color:#9fdab7}

/* PDF Layers and Review Log text contrast. */
[data-theme="dark"] .pdf-layer-name{color:#dce7ed}
[data-theme="dark"] .review-log-user strong{color:#edf4f7}
[data-theme="dark"] .review-log-count{color:#aebfca}
[data-theme="dark"] .review-log-action time,
[data-theme="dark"] .review-log-confirmation-list li>time{color:#91a5b3}
[data-theme="dark"] .review-log-confirmation-list li{border-left-color:#4a8b70;color:#cbd8df}
[data-theme="dark"] .review-status.annotated{background:#3a2e0d;border-color:#9f812c;color:#ffe09a}
[data-theme="dark"] .review-status.approved,
[data-theme="dark"] .review-status.confirmed{background:#133a2d;border-color:#438b6a;color:#aef0cc}

/* Artwork Metadata: remove light islands while keeping state colors distinct. */
[data-theme="dark"] .meta-section-card,
[data-theme="dark"] .meta-advanced,
[data-theme="dark"] .meta-technical-card,
[data-theme="dark"] .meta-edit-popover,
[data-theme="dark"] .meta-thumbnail,
[data-theme="dark"] .meta-debug-observation{
  background:#12212d;
  border-color:#334b5c;
  color:#dce6ec;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
[data-theme="dark"] .meta-section-card.rule-profile-card{background:linear-gradient(100deg,#123129 0%,#132832 100%);border-color:#397a62}
[data-theme="dark"] .rule-profile-why{border-color:#345849}
[data-theme="dark"] .rule-profile-count small,
[data-theme="dark"] .rule-review-head p,
[data-theme="dark"] .rule-review-meta,
[data-theme="dark"] .rule-review-reason{color:#a9bac5}
[data-theme="dark"] .meta-business-row,
[data-theme="dark"] .meta-route-scope,
[data-theme="dark"] .rule-review-item,
[data-theme="dark"] .meta-table th,
[data-theme="dark"] .meta-table td,
[data-theme="dark"] .meta-candidate,
[data-theme="dark"] .meta-unknown-rule,
[data-theme="dark"] .meta-found-elements{border-color:#2d4352}
[data-theme="dark"] .meta-source{background:#1a2d3a;border-color:#4a6171;color:#c4d2db}
[data-theme="dark"] .meta-source.needs,
[data-theme="dark"] .meta-rule-pill.conditional,
[data-theme="dark"] .meta-auto-chip.partial{background:#3a2f11;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .meta-source.verified,
[data-theme="dark"] .meta-rule-pill.verifiable,
[data-theme="dark"] .meta-auto-chip.verifiable,
[data-theme="dark"] .rule-profile-state{background:#143a2e;border-color:#438b6a;color:#aef0cc}
[data-theme="dark"] .rule-profile-state.manual{background:#3a2f11;color:#ffe09a}
[data-theme="dark"] .meta-rule-pill.na,
[data-theme="dark"] .meta-auto-chip.human{background:#263541;color:#c4d0d8}
[data-theme="dark"] .meta-manual-banner,
[data-theme="dark"] .meta-note{background:#352d13;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .rule-review-section{border-color:#334b5c;background:#13232f}
[data-theme="dark"] .rule-review-list{background:#12212d}
[data-theme="dark"] .rule-review-section.verifiable{border-color:#397a62}
[data-theme="dark"] .rule-review-section.verifiable .rule-review-head{background:#14352c}
[data-theme="dark"] .rule-review-section.conditional{border-color:#8f7629}
[data-theme="dark"] .rule-review-section.conditional .rule-review-head{background:#352d13}
[data-theme="dark"] .rule-review-section.not-applicable,
[data-theme="dark"] .rule-review-section.not-applicable .rule-review-list{background:#17242e;border-color:#364a58;color:#aebcc5}
[data-theme="dark"] .rule-review-section.not-applicable .rule-review-head{background:#1e2c36;color:#b7c5ce}
[data-theme="dark"] .rule-review-section.not-applicable .rule-review-item,
[data-theme="dark"] .rule-review-section.not-applicable .rule-review-meta,
[data-theme="dark"] .rule-review-section.not-applicable .rule-review-reason{color:#9fafba}
[data-theme="dark"] .meta-pdf,
[data-theme="dark"] .meta-debug-text{background:#09151e;border:1px solid #2a4150;color:#d7e5ed}
[data-theme="dark"] .meta-empty{background:#101f2a;border-color:#486173;color:#aebfca}
[data-theme="dark"] .meta-lifecycle{background:#172936;border-color:#3a5364;color:#dce6ec}
[data-theme="dark"] .meta-lifecycle.refreshing{background:#173149;border-color:#3e7098}
[data-theme="dark"] .meta-lifecycle.warn{background:#352d13;border-color:#8f7629;color:#ffe09a}
[data-theme="dark"] .meta-lifecycle.bad{background:#3a2023;border-color:#885057;color:#ffb0aa}
[data-theme="dark"] .meta-debug-card{background:#132735;border-color:#41627a}
[data-theme="dark"] .meta-debug-table .selected{background:#15382d}
[data-theme="dark"] .meta-found-chip{background:#143a2e;border-color:#438b6a;color:#aef0cc}

@media(prefers-reduced-motion:reduce){
  .theme-icon,.theme-toggle-track,.theme-toggle-thumb{transition:none}
}
.annotation-workbar.annotation-workbar{background:#f4f7fc;border-color:#d5deeb}
.annotation-workbar .annotation-workbar-title{border-color:#d5deeb}
.annotation-workbar .annotation-workbar-title strong{font-size:13px;line-height:1.35;font-weight:500;white-space:normal;color:#172338}
.annotation-workbar .annotation-workbar-kicker{font-size:10px;font-weight:500;letter-spacing:.1em;color:#61728b}
.annotation-workbar .tool-button:not(.danger-tool){gap:5px;padding:6px 12px!important;font-weight:500;background:#fff;border-color:#d5deeb;color:#172338;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.annotation-workbar .tool-button:not(.danger-tool):hover{background:#edf2fa;border-color:#a5b7d1}
.annotation-workbar .tool-button:not(.danger-tool).active{background:#e9f1ff;border-color:#285cac;color:#285cac;box-shadow:none}
.annotation-workbar svg.tool-icon{display:block;width:21px;height:21px;flex:0 0 21px}
.annotation-workbar .tool-button:focus-visible,.annotation-workbar .annotation-color-picker:focus-within{outline:2px solid #285cac;outline-offset:2px}
.annotation-workbar .annotation-color-picker{background:#fff;border-color:#d5deeb;color:#61728b;font-weight:500}
.annotation-workbar .annotation-color-picker:hover{background:#edf2fa;border-color:#a5b7d1}
[data-theme="dark"] .annotation-workbar.annotation-workbar{background:#17202e;border-color:#38465c}
[data-theme="dark"] .annotation-workbar .annotation-workbar-title{border-color:#38465c}
[data-theme="dark"] .annotation-workbar .annotation-workbar-title strong{color:#edf2fa}
[data-theme="dark"] .annotation-workbar .annotation-workbar-kicker,[data-theme="dark"] .annotation-workbar .annotation-color-picker>span{color:#a8b7cd}
[data-theme="dark"] .annotation-workbar .tool-button:not(.danger-tool),[data-theme="dark"] .annotation-workbar .annotation-color-picker{background:#202b3c!important;border-color:#38465c!important;color:#edf2fa!important}
[data-theme="dark"] .annotation-workbar .tool-button:not(.danger-tool):hover,[data-theme="dark"] .annotation-workbar .annotation-color-picker:hover{background:#2a374b!important;border-color:#647a99!important}
[data-theme="dark"] .annotation-workbar .tool-button:not(.danger-tool).active{background:#263e62!important;border-color:#accbff!important;color:#accbff!important}
[data-theme="dark"] .annotation-workbar .tool-button:focus-visible,[data-theme="dark"] .annotation-workbar .annotation-color-picker:focus-within{outline-color:#accbff}
