:root{--dark:#213b47;--deep:#172c35;--ivory:#f5f2eb;--copper:#956b40;--text:#263034;--muted:#586b73;--line:#d1d8d8;--warm:#eae4d9;--danger:#9b3329;--ok:#345b4a;font-family:Manrope,Segoe UI,sans-serif;color:var(--text);background:var(--ivory);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:var(--dark);text-underline-offset:4px}button,.button{cursor:pointer;border:1px solid var(--dark);background:var(--dark);color:white;padding:11px 17px;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:14px}button:hover,.button:hover{background:var(--deep)}button:disabled{opacity:.5;cursor:wait}.quiet,.secondary{background:transparent;color:var(--dark);border-color:var(--line)}.quiet:hover,.secondary:hover{background:var(--warm)}.danger{color:var(--danger);border-color:#d5b7b3;background:transparent}*:focus-visible{outline:3px solid #aa713c;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}h1{font-size:38px;line-height:1.15;margin-bottom:16px}h2{font-size:27px;margin-bottom:20px}h3{font-size:17px;line-height:1.45;margin-bottom:12px}p{line-height:1.65}.muted,small{color:var(--muted)}small{font-size:12px;line-height:1.5}.app-header{height:86px;display:flex;align-items:center;gap:24px;padding:18px 32px;background:var(--deep);color:var(--ivory);position:sticky;top:0;z-index:10;border-bottom:3px solid var(--copper)}.brand{font:25px Georgia,serif;color:inherit;text-decoration:none;letter-spacing:-.03em}.brand small{display:block;color:#becbd0;font:12px Segoe UI,sans-serif;letter-spacing:.04em;margin-top:5px}.local-badge{font-size:12px;border:1px solid #647781;padding:7px 10px;margin-left:auto;color:#e2e8e9}.app-header .quiet{color:var(--ivory)}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 86px)}nav{border-right:1px solid var(--line);padding:30px 22px;background:#ece9e1}nav a{display:block;padding:13px 10px;font-size:14px;text-decoration:none;margin-bottom:5px}nav a:hover,nav a.active{background:var(--dark);color:white}nav p{font-size:12px;color:var(--muted);margin:30px 10px}main#app{padding:38px;max-width:1640px;width:100%;min-width:0}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:25px}.heading p{max-width:680px;color:var(--muted);margin-bottom:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto;min-width:160px}input,select,textarea{width:100%;border:1px solid #aebbc1;background:#fff;color:var(--text);padding:11px 12px;min-height:44px;border-radius:0}textarea{resize:vertical;min-height:100px;line-height:1.5}input[type=checkbox],input[type=radio]{width:20px;min-height:20px;height:20px;accent-color:var(--dark);flex-shrink:0}label{display:grid;gap:8px;font-size:13px;font-weight:600;min-width:0}label.check{display:flex;align-items:center;font-weight:400;line-height:1.5}.field-note{font-size:12px;font-weight:400;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field-grid .wide{grid-column:1/-1}.panel{background:#fffdf9;border:1px solid var(--line);padding:26px;margin-bottom:22px;min-width:0}.panel.dark{background:var(--dark);color:var(--ivory);border:0}.panel.dark p{color:#d1dbde}.panel.dark a{color:white}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-head h2{margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);background:#fffdf9}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600}thead th{font-size:12px;color:var(--muted);background:#eae8e0}.product-name{font-weight:600;font-size:16px}.thumb{width:76px;height:62px;object-fit:cover;background:var(--warm);display:block}.status{display:inline-block;font-size:11px;letter-spacing:.02em;padding:5px 8px;background:var(--warm);color:var(--dark)}.status.published{background:#dce8df;color:#24503a}.status.archived{background:#ececec;color:#666}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.table-actions button{min-height:34px;font-size:12px;padding:5px 9px}.empty{padding:55px 25px;text-align:center;color:var(--muted);background:var(--warm)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.editor-sidebar{position:sticky;top:110px;max-height:calc(100vh - 135px);overflow:auto}.editor-sidebar .panel{padding:20px}.editor-sidebar h2{font:600 16px Segoe UI,sans-serif}.editor-sidebar a{display:block;margin:12px 0;font-size:13px}.issue{border-left:3px solid var(--copper);padding:12px 14px;background:#f6eee2;margin-bottom:12px;font-size:13px;line-height:1.55}.issue.blocking{border-left-color:var(--danger);background:#faf0ed}.issue p{margin:0 0 8px}.issue label{font-size:12px}.sticky-actions{position:sticky;top:86px;background:var(--ivory);padding:12px 0;border-block:1px solid var(--line);z-index:5;margin-bottom:26px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.save-state{font-size:12px;margin-left:auto;color:var(--muted)}.source-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.source-frame{width:100%;height:650px;border:1px solid var(--line)}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600;line-height:1.6}.reference{background:var(--warm);padding:15px;margin:12px 0;line-height:1.5;font-size:13px;overflow-wrap:anywhere}.reference pre{white-space:pre-wrap;font:12px/1.5 Consolas,monospace}.spec-editor{display:grid;grid-template-columns:170px minmax(150px,1fr) 140px 42px;gap:10px;margin-bottom:14px}.spec-editor textarea{min-height:90px}.icon-button{padding:8px;min-width:40px}.stage{border-left:3px solid var(--copper);padding:20px;background:var(--ivory);margin:18px 0}.payments{margin-top:18px}.payment{display:grid;grid-template-columns:75px 130px 1fr 40px;gap:9px;margin:12px 0}.payment input{font-size:13px;padding:9px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.photo{border:1px solid var(--line);padding:12px;background:var(--ivory)}.photo img{width:100%;aspect-ratio:1.4;object-fit:cover;margin-bottom:12px}.photo input{margin-top:8px}.photo .actions{margin-top:12px}.photo button{padding:5px 9px;min-height:36px;font-size:12px}.progress{padding:20px;border-left:3px solid var(--copper);background:var(--warm);margin-top:20px}.progress progress{width:100%;height:10px;accent-color:var(--dark)}.error{color:var(--danger);white-space:pre-line}.login{max-width:620px;margin:50px auto}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--copper)}#notice{position:fixed;bottom:24px;right:24px;max-width:min(480px,calc(100vw - 48px));background:var(--dark);color:white;padding:16px 22px;box-shadow:0 8px 30px #172c3530;z-index:30;display:none}#notice.visible{display:block}.preview{max-width:1200px;padding:45px 30px;margin:auto}.preview-bar{background:var(--deep);color:white;padding:17px 25px;font-size:13px;line-height:1.6}.preview-bar a{color:white;margin-left:15px}.preview h1{font-size:54px}.preview-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;margin:35px 0 50px}.preview-hero img{width:100%;max-height:550px;object-fit:contain;background:var(--warm)}.price{font:32px Georgia,serif;display:block;margin:25px 0}.spec-list{margin:0 0 40px}.spec-list>div{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.spec-list dd{margin:0}.multiline{white-space:pre-line}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.gallery img{width:100%}.gallery figure{margin:0}.gallery figcaption{font-size:12px;color:var(--muted)}.revision{padding:18px 0;border-bottom:1px solid var(--line)}.diff{font-size:12px;overflow-wrap:anywhere}.diff del{color:var(--danger)}.diff ins{color:var(--ok);text-decoration:none}.structural-group{padding:20px;background:var(--ivory);margin:18px 0}.structural-group>.field-grid{margin-top:20px}.separator{height:1px;background:var(--line);margin:22px 0}[hidden]{display:none!important}@media(max-width:1200px){.editor-layout{grid-template-columns:1fr}.editor-sidebar{position:static;max-height:none}.editor-sidebar .panel{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:195px minmax(0,1fr)}main#app{padding:28px}.spec-editor{grid-template-columns:1fr 1fr}.spec-editor textarea{grid-column:1/-1}.payment{grid-template-columns:75px 1fr 40px}.payment input:nth-child(3){grid-column:1/-1;grid-row:2}}@media(max-width:760px){.app-header{padding:16px 20px;height:80px}.brand{font-size:22px}.local-badge{display:none}.app-shell{display:block}nav{padding:10px;display:flex;flex-wrap:wrap;gap:3px;border-right:0;border-bottom:1px solid var(--line)}nav a{font-size:12px;padding:10px;margin:0}nav p{display:none}main#app{padding:25px 18px}h1{font-size:33px}.heading{display:block}.heading .actions{margin-top:20px}.field-grid{grid-template-columns:1fr}.panel{padding:20px 17px}.sticky-actions{top:80px;gap:8px}.sticky-actions button,.sticky-actions .button{font-size:12px;padding:10px}.save-state{width:100%;margin:0}.source-layout{grid-template-columns:1fr}.source-frame{height:500px}.photo-grid{grid-template-columns:1fr 1fr}.photo{padding:8px}.photo .actions{gap:5px}.photo button{font-size:11px}.preview h1{font-size:39px}.preview-hero{grid-template-columns:1fr}.preview{padding:30px 20px}.spec-list>div{grid-template-columns:1fr;gap:8px}.gallery{grid-template-columns:1fr}table{font-size:12px}th,td{padding:12px 10px}.thumb{width:55px;height:50px}.source-frame{height:480px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background 160ms,color 160ms,border-color 160ms}}
.editor-layout.source-open{grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}.source-open .editor-sidebar{max-height:none;overflow:visible}.source-open .source-inspector{display:block!important;padding:14px}.source-inspector .source-frame{height:calc(100vh - 260px)}.source-open .field-grid{grid-template-columns:1fr}.source-open .spec-editor{grid-template-columns:1fr}.source-open .spec-editor textarea{grid-column:auto}section[id]{scroll-margin-top:165px}@media(max-width:950px){.editor-layout.source-open{grid-template-columns:1fr}.source-open .editor-sidebar{grid-row:1}.source-inspector .source-frame{height:500px}}

.source-document{padding:12px;background:#e7e3db}.source-document figure{margin:12px 0}.source-document img{display:block;width:100%;height:auto;background:white}.source-document figcaption{font-size:13px;padding:6px 0}

.source-document:has(#source-zoom:checked) img{width:1100px;max-width:none}
.editor-layout>div{min-width:0}.error:empty{display:none}@media(max-width:1200px){.editor-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.panel-head{flex-wrap:wrap}.spec-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel-head h2{overflow-wrap:anywhere}}

.auth-mode .app-shell{display:block}.auth-mode main#app{max-width:620px;margin:30px auto}.login{margin:0}.login form,.account-panel form{display:grid;gap:20px}.login h1{font-size:36px}.login .field-note{margin:12px 0 0}.account-panel{max-width:650px}.structure-controls{display:grid;grid-template-columns:minmax(180px,1fr) 1.2fr;gap:24px;align-items:start;margin-bottom:20px}.structure-evidence{border-left:2px solid var(--copper);padding-left:20px}.structure-evidence strong{font:28px Georgia,serif}.structure-evidence p{margin:8px 0 0}.structure-details{border-block:1px solid var(--line);padding:22px 0;margin:20px 0}.structure-summary{padding:16px 0;margin:0}.structure-summary p{margin:8px 0}.structural-question blockquote{margin:12px 0;color:var(--muted);font-size:13px;line-height:1.6}.structural-question button{align-self:end}.structure-details .eyebrow{font-size:11px}.structure-details p{margin-top:10px}#structure details>.field-grid{padding-top:20px}@media(max-width:760px){.structure-controls{grid-template-columns:1fr;gap:18px}.auth-mode main#app{margin:8px auto}.login h1{font-size:32px}}

#effective-seo{border:1px solid var(--line);background:var(--ivory);padding:18px;margin-bottom:24px}.seo-value+.seo-value{border-top:1px solid var(--line);padding-top:18px}.seo-value .panel-head{margin-bottom:10px}.seo-value p{overflow-wrap:anywhere;font-size:14px}.seo-value details{font-size:13px}code{overflow-wrap:anywhere}

/* Publication requirements stay beside the action, with direct field links. */
.publication-summary{padding:20px 24px;background:var(--ivory);border:1px solid var(--line);margin:0 0 26px;scroll-margin-top:180px}.publication-summary.has-blockers{border-left:3px solid var(--danger)}.publication-summary ul{padding-left:20px;margin-bottom:0}.publication-summary li+li{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.publication-summary li p{margin:0 0 6px;font-size:14px}.publication-summary .field-note{margin:8px 0}.scope-difference{padding:16px 0;border-bottom:1px solid var(--line)}.scope-difference blockquote{margin:10px 0;font-size:13px;line-height:1.6;color:var(--muted)}#scope-review{scroll-margin-top:180px}label[id]{scroll-margin-top:180px}button:disabled{opacity:.55;cursor:wait}button:focus-visible{outline:3px solid var(--copper);outline-offset:3px}@media(max-width:760px){.publication-summary{padding:16px}.publication-summary .panel-head{gap:10px}.publication-summary li p{overflow-wrap:anywhere}}

.issue.confirmed{border-color:var(--ok);background:var(--ivory)}
[hidden]{display:none!important}.pending-photos:empty{display:none}.pending-photos figure{margin:0;border:1px solid var(--line);padding:10px;background:var(--warm)}.pending-photos img{width:100%;aspect-ratio:1.4;object-fit:contain}.pending-photos figcaption{font-size:12px;overflow-wrap:anywhere;padding-top:8px}
.structure-controls>label.check{font-size:16px;font-weight:600;min-height:44px;gap:12px;cursor:pointer}
#upper-level-toggle{appearance:none;position:relative;width:48px;height:28px;min-height:28px;padding:3px;border:0;border-radius:20px;background:var(--muted);cursor:pointer}
#upper-level-toggle::before{content:"";display:block;width:22px;height:22px;border-radius:50%;background:white}
#upper-level-toggle:checked{background:var(--dark)}
#upper-level-toggle:checked::before{transform:translateX(20px)}
.structure-attributes{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}@media(max-width:760px){.structure-attributes{grid-template-columns:1fr}}
