/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 · genre: editorial · macrostructure: Workbench · theme: custom JUNX · nav: N3 · footer: Ft4 · enrichment: none */
.shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:var(--color-paper);color:var(--color-ink)}
.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 19px 22px;border-right:1px solid var(--color-rule);background:var(--color-paper-raised)}
.brand{font:400 26px/1 var(--font-display);letter-spacing:-.03em}.brand span{color:var(--color-accent)}.brand small{display:block;margin-top:9px;font:600 9px/1.4 var(--font-body);letter-spacing:.18em;color:var(--color-ink-soft)}
.railLabel,.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--color-ink-soft)}.railLabel{margin:55px 0 12px}.rail nav{display:grid;gap:4px}.navItem{width:100%;display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:12px 10px;text-align:left;font-size:13px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.navItem>span{font:600 10px var(--font-body);color:var(--color-ink-soft)}.navActive{background:var(--color-ink);color:var(--color-paper)}.navActive>span{color:var(--color-champagne)}.railBottom{margin-top:auto;border-top:1px solid var(--color-rule);padding-top:17px;font:600 9px/2 var(--font-body);letter-spacing:.08em;color:var(--color-ink-soft)}.liveDot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#5c7c53}
.main{min-width:0}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-rule);padding:0 clamp(18px,4vw,54px);font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--color-ink-soft)}.topbar>div{display:flex;align-items:center;gap:20px;letter-spacing:0}.topbar button,.panelHead button,.tableWrap td button,.taxonomyRow button,.partnerRow button{border:0;background:transparent;font-size:10px;font-weight:700;letter-spacing:.06em}.content{max-width:1420px;margin:0 auto;padding:clamp(27px,4vw,56px) clamp(18px,4vw,54px) 20px}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{margin:0 0 13px}.heading h1,.loginCard h1{margin:0;font:400 clamp(42px,6.4vw,82px)/.98 var(--font-display);letter-spacing:-.045em}.heading h1{letter-spacing:0;line-height:1.08;font-stretch:normal;transform:none}.heading h1 em,.loginCard h1 em{color:var(--color-accent)}.subhead{margin:15px 0 0;color:var(--color-ink-soft);font-size:14px}.index{font:400 32px/1 var(--font-display);color:var(--color-accent);white-space:nowrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--color-ink);margin-bottom:25px}.metrics article{min-height:134px;display:flex;flex-direction:column;padding:17px 19px;border-right:1px solid var(--color-rule)}.metrics article:first-child{padding-left:0}.metrics article:last-child{border:0}.metrics article span,.metrics article small{font-size:9px;font-weight:700;letter-spacing:.11em;color:var(--color-ink-soft)}.metrics strong{margin:auto 0 3px;font:400 clamp(36px,5vw,54px)/1 var(--font-display)}.metrics article small{font-size:8px;font-weight:500;letter-spacing:.06em;opacity:.72}.overviewGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(245px,.8fr);gap:18px}.panel{min-width:0;border:1px solid var(--color-rule);padding:21px;background:var(--color-paper-raised)}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--color-rule);padding-bottom:13px}.panelHead h2,.sectionToolbar h2{margin:0;font-size:11px;font-weight:750;letter-spacing:.1em}.panelHead span{font-size:9px;font-weight:700;letter-spacing:.07em}.recent,.taxonomyRow,.partnerRow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--color-paper-inset);font-size:13px}.recent:last-child,.taxonomyRow:last-child,.partnerRow:last-child{border-bottom:0}.recent small,.taxonomyRow small,.partnerRow small,.tableWrap td small{display:block;margin-top:3px;font-size:10px;color:var(--color-ink-soft)}.liveBadge{color:#526b43}.systemText{display:flex;justify-content:space-between;border-bottom:1px solid var(--color-paper-inset);padding:11px 0;font-size:12px}.storageNote{margin:19px 0 0;padding:11px;border:1px dashed var(--color-rule);font-size:9px;line-height:1.6;font-weight:700;letter-spacing:.08em;color:var(--color-ink-soft)}
.sectionToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:5px 0 16px}.sectionToolbar h2 span{margin-left:8px;color:var(--color-accent)}.primaryButton{min-height:42px;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);padding:0 16px;font-size:10px;font-weight:700;letter-spacing:.08em;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.primaryButton:hover{background:var(--color-accent);border-color:var(--color-accent);color:white}.editForm{margin-bottom:17px;padding:20px;border:1px solid var(--color-ink);background:var(--color-paper-raised)}.editForm h3{margin:0 0 17px;font-size:11px;letter-spacing:.1em}.formGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.editForm label,.panel label,.loginCard label{display:grid;gap:6px;font-size:10px;font-weight:700;letter-spacing:.03em}.editForm input,.editForm select,.panel input,.loginCard input{width:100%;min-height:41px;border:1px solid var(--color-rule);border-radius:0;background:var(--color-paper);padding:8px 10px;font-size:13px;letter-spacing:0}.checkLabel{display:flex!important;align-items:center;grid-template-columns:16px auto!important;gap:8px!important}.checkLabel input{width:16px!important;min-height:16px!important;accent-color:var(--color-accent)}.formActions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.formActions>button:first-child{border:0;background:transparent;font-size:10px;font-weight:700}.tableWrap{width:100%;overflow-x:auto;border:1px solid var(--color-rule)}.tableWrap table{width:100%;border-collapse:collapse;text-align:left}.tableWrap th{padding:12px;border-bottom:1px solid var(--color-ink);font-size:9px;letter-spacing:.1em}.tableWrap td{padding:13px 12px;border-bottom:1px solid var(--color-paper-inset);font-size:12px;white-space:nowrap}.tableWrap td button{padding:7px 5px}.status{font-size:9px;font-weight:700;letter-spacing:.06em}.empty{padding:15px 0;color:var(--color-ink-soft);font-size:12px}.taxonomyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.inlineForm{display:flex;gap:7px;padding:14px 0;border-bottom:1px solid var(--color-rule)}.inlineForm input{min-width:0;min-height:38px;flex:1;border:1px solid var(--color-rule);padding:7px;font-size:11px}.inlineForm button{border:0;background:var(--color-ink);color:var(--color-paper);padding:0 12px;font-size:10px;font-weight:700}.taxonomyRow button,.partnerRow button{white-space:nowrap;font-size:9px}.bannerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bannerGrid .panel{display:grid;align-content:start;gap:13px}.bannerGrid h2{margin:0;font:400 30px var(--font-display)}.bannerGrid .primaryButton{justify-self:start}.partnerRow div{min-width:0}.partnerRow small{max-width:48vw;overflow:hidden;text-overflow:ellipsis}.notice,.error{padding:11px 14px;border-left:3px solid #526b43;background:var(--color-paper-raised);font-size:12px}.error{border-color:var(--color-error);color:var(--color-error)}.muted{font-size:12px;color:var(--color-ink-soft)}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:36px;padding:14px 0;border-top:1px solid var(--color-rule);font-size:8px;letter-spacing:.1em;color:var(--color-ink-soft)}.loading{min-height:100vh;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.14em}
.loginPage{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;padding:28px var(--page-gutter) 18px;background:var(--color-paper)}.loginMark{width:min(100%,480px);font:400 24px var(--font-display)}.loginMark span{color:var(--color-accent)}.loginMark small{float:right;padding-top:8px;font:700 9px var(--font-body);letter-spacing:.12em;color:var(--color-ink-soft)}.loginCard{align-self:center;width:min(100%,480px);padding:clamp(24px,5vw,48px);border:1px solid var(--color-rule);background:var(--color-paper-raised)}.loginCard h1{font-size:clamp(48px,10vw,76px);margin-bottom:27px}.loginCard label{margin:15px 0}.loginCard input{min-height:48px}.loginCard .primaryButton{width:100%;margin-top:7px}.loginNote{margin:15px 0 0;text-align:center;font-size:10px;color:var(--color-ink-soft)}.loginPage>.footer{width:min(100%,480px)}
.uploadBox{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:8px 14px;margin:0 0 17px;padding:13px;border:1px dashed var(--color-rule);background:var(--color-paper)}.uploadBox>span{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--color-ink-soft)}.fileInput{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.fileInput:focus-visible+.primaryButton{outline:3px solid var(--color-focus);outline-offset:3px}.uploadBox>.primaryButton{display:inline-flex;align-items:center;justify-content:center;min-height:38px;cursor:pointer}.uploadPreview{grid-column:1/-1;display:block;max-width:min(100%,620px);max-height:360px;object-fit:contain;object-position:left center;background:var(--color-paper-inset)}.previewBackdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--color-scrim)}.previewDialog{width:min(100%,980px);max-height:92vh;overflow:auto;padding:16px;background:var(--color-paper-raised);box-shadow:0 14px 55px var(--color-shadow)}.previewHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--color-rule)}.previewHeader button{border:0;background:none;font-size:10px;font-weight:700}.previewDialog>img{display:block;width:100%;max-height:76vh;margin:12px auto 0;object-fit:contain}.previewDialog>p{margin:10px 0 0;font-size:10px;color:var(--color-ink-soft)}
@media(max-width:1000px){.shell{grid-template-columns:190px minmax(0,1fr)}.rail{padding-inline:13px}.content{padding-inline:24px}.taxonomyGrid{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.shell{display:block}.rail{position:relative;width:100%;height:auto;padding:13px 16px 10px;border-right:0;border-bottom:1px solid var(--color-rule)}.brand{font-size:22px}.brand small{display:inline;margin:0 0 0 9px;font-size:8px}.railLabel,.railBottom{display:none}.rail nav{display:flex;overflow-x:auto;gap:4px;margin-top:12px;padding-bottom:3px}.navItem{flex:0 0 auto;width:auto;gap:7px;padding:9px 10px;font-size:11px}.navItem>span{font-size:8px}.topbar{height:auto;min-height:50px;padding:10px 16px;font-size:8px}.topbar>div{gap:8px}.topbar>div>span{display:none}.topbar button{font-size:8px}.content{padding:27px 16px 15px}.heading{margin-bottom:24px}.heading h1{font-size:clamp(43px,12vw,66px)}.index{font-size:22px}.subhead{max-width:32ch;font-size:12px}.metrics{grid-template-columns:1fr 1fr}.metrics article{min-height:103px;padding:12px;border-bottom:1px solid var(--color-rule)}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(3){padding-left:0;border-bottom:0}.metrics article:last-child{border-bottom:0}.metrics strong{font-size:38px}.overviewGrid,.taxonomyGrid,.bannerGrid{grid-template-columns:1fr}.panel{padding:16px}.formGrid{grid-template-columns:1fr 1fr}.sectionToolbar{align-items:flex-start;flex-wrap:wrap}.sectionToolbar h2{padding-top:10px}.sectionToolbar .primaryButton{min-height:38px}.inlineForm{flex-wrap:wrap}.inlineForm input{flex-basis:38%}.tableWrap th,.tableWrap td{padding:10px 8px}.footer{font-size:7px}}
@media(max-width:400px){.formGrid{grid-template-columns:1fr}.heading{align-items:flex-start}.index{font-size:18px}.topbar{letter-spacing:.06em}.panelHead h2{font-size:10px}.footer span{display:none}}
.dropZone{display:grid;justify-items:center;gap:9px;margin:0 0 16px;padding:25px 18px;border:1px dashed var(--color-rule);background:var(--color-paper);text-align:center;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.dropZone label{display:grid;gap:7px;cursor:pointer}.dropZone label strong{font-size:12px;letter-spacing:.09em}.dropZone label span,.dropZone small{font-size:10px;color:var(--color-ink-soft)}.dropActive{border-color:var(--color-accent);background:var(--color-paper-inset)}.uploadList{margin:0 0 17px;border:1px solid var(--color-rule);background:var(--color-paper)}.uploadListHead{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--color-rule);font-size:10px;letter-spacing:.07em}.uploadListHead button,.uploadActions button{border:0;background:none;font-size:9px;font-weight:700;letter-spacing:.05em}.uploadRow{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--color-paper-inset)}.uploadRow:last-child{border-bottom:0}.thumbButton{width:68px;height:58px;padding:0;border:0;background:var(--color-paper-inset)}.thumbButton img{width:100%;height:100%;object-fit:cover}.uploadMeta{display:grid;gap:4px;min-width:0}.uploadMeta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.uploadMeta span,.uploadMeta small{font-size:9px;color:var(--color-ink-soft)}.uploadMeta progress{width:100%;height:5px;accent-color:var(--color-accent)}.uploadMeta .uploadSuccess{color:#526b43}.uploadMeta .uploadError{color:var(--color-error)}.uploadActions{display:flex;gap:9px}.uploadActions button{padding:8px 3px}
@media(max-width:700px){.uploadRow{grid-template-columns:54px minmax(0,1fr);gap:9px;padding:9px}.thumbButton{width:54px;height:48px}.uploadActions{grid-column:2;justify-content:flex-end}.uploadListHead{align-items:flex-start;flex-direction:column}.dropZone{padding:20px 12px}}
.uploadInvalid{width:68px;height:58px;display:grid;place-items:center;background:var(--color-paper-inset);color:var(--color-error);font:700 17px var(--font-body)}
@media(max-width:700px){.uploadInvalid{width:54px;height:48px}}
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 · scope: Admin banners · existing Editorial/Brutalist tokens */
.bannerForm{min-width:0;gap:12px!important}
.bannerTitle{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}
.bannerTitle h2{overflow-wrap:anywhere}
.bannerEnabled,.bannerDisabled{flex:0 0 auto;padding:7px 9px;border:1px solid var(--color-rule);font-size:9px;font-weight:700;letter-spacing:.08em}
.bannerEnabled{border-color:var(--color-accent);color:var(--color-accent-dark)}
.bannerPreview{display:grid;width:100%;min-width:0;aspect-ratio:16/7;overflow:hidden;border:1px solid var(--color-rule);background:var(--color-paper-inset)}
.bannerPreview img{display:block;width:100%;height:100%;object-fit:cover}
.bannerPreviewEmpty{display:grid;align-content:center;justify-items:center;gap:5px;color:var(--color-ink-soft);text-align:center}
.bannerPreviewEmpty span{color:var(--color-champagne);font-size:26px}
.bannerPreviewEmpty p{margin:0;font-size:11px}
.bannerForm input[type="url"],.bannerForm input[name="alt"]{min-width:0;min-height:44px}
.bannerForm .checkLabel{min-height:40px;align-content:center}
.bannerActions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.bannerUploadButton,.bannerActions .primaryButton{display:inline-flex!important;min-height:44px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--color-ink);background:transparent;color:var(--color-ink);font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.bannerUploadButton:hover{background:var(--color-paper-inset)}
.bannerUploadButton[aria-disabled="true"]{pointer-events:none;opacity:.55}
.bannerActions .primaryButton{background:var(--color-ink);color:var(--color-paper)}
.bannerActions .primaryButton:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent);color:white}
.bannerActions button:focus-visible,.bannerUploadButton:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}
.fileInput:focus-visible ~ .bannerActions .bannerUploadButton{outline:2px solid var(--color-accent);outline-offset:2px}
.bannerActions button:disabled{cursor:not-allowed;opacity:.55}
.bannerHint{color:var(--color-ink-soft);font-size:9px;line-height:1.5;letter-spacing:.04em}
@media(max-width:700px){.bannerForm{padding:16px}.bannerPreview{aspect-ratio:16/8}.bannerActions>*{flex:1 1 10rem}}
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 · scope: taxonomy-create-row + delete-action · preserve existing JUNX palette */
.taxonomyCreateForm{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) minmax(4.5rem,.55fr) 44px;grid-template-rows:auto auto;align-items:center;gap:9px}
.taxonomyCreateForm select{grid-column:1;grid-row:1}
.taxonomyCreateForm input[name="name"]{grid-column:2/span 2;grid-row:1}
.taxonomyCreateForm input[readonly]{grid-column:1/span 2;grid-row:2}
.taxonomyCreateForm input[name="sortOrder"]{grid-column:3;grid-row:2}
.taxonomyCreateForm button{grid-column:4;grid-row:2}
.taxonomyCreateForm input,.taxonomyCreateForm select{width:100%;min-width:0;min-height:44px;border:1px solid var(--color-rule);border-radius:0;background:var(--color-paper);padding:8px 10px;font-size:12px;letter-spacing:0}
.taxonomyCreateForm input[readonly]{background:var(--color-paper-inset);color:var(--color-ink-soft)}
.taxonomyCreateForm input:hover,.taxonomyCreateForm select:hover{border-color:var(--color-ink)}
.taxonomyCreateForm input:focus-visible,.taxonomyCreateForm select:focus-visible,.taxonomyCreateForm button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.taxonomyCreateForm input:disabled,.taxonomyCreateForm select:disabled,.taxonomyCreateForm button:disabled{cursor:not-allowed;opacity:.55}
.taxonomyCreateForm button{display:grid;width:44px;min-width:44px;height:44px;place-items:center;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);font-size:22px;line-height:1;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.taxonomyCreateForm button:hover{background:var(--color-accent);border-color:var(--color-accent);color:white}
.taxonomyRow>span{min-width:0;overflow-wrap:anywhere}
.taxonomyRow>div{display:flex;max-width:100%;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.taxonomyRow button{min-height:40px;padding:0 10px;border:1px solid var(--color-rule);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.taxonomyRow button:hover:not(:disabled){border-color:var(--color-ink);background:var(--color-paper-inset)}
.taxonomyRow button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.taxonomyRow button:disabled{cursor:not-allowed;opacity:.48}
.taxonomyRow .deleteTaxonomy{color:var(--color-error)}
.taxonomyRow .deleteTaxonomy:hover{background:var(--color-error);color:var(--color-paper)}
@media(max-width:1100px) and (min-width:701px){.taxonomyCreateForm{grid-template-columns:minmax(0,1.2fr) minmax(0,1.45fr) minmax(4.25rem,.55fr) 44px;gap:8px}}
@media(max-width:700px){.taxonomyCreateForm{grid-template-columns:minmax(0,1fr) 44px;gap:8px}.taxonomyCreateForm select,.taxonomyCreateForm input[name="name"],.taxonomyCreateForm input[readonly]{grid-column:1/-1}.taxonomyCreateForm select{grid-row:1}.taxonomyCreateForm input[name="name"]{grid-row:2}.taxonomyCreateForm input[readonly]{grid-row:3}.taxonomyCreateForm input[name="sortOrder"]{grid-column:1;grid-row:4}.taxonomyCreateForm button{grid-column:2;grid-row:4}.taxonomyRow{align-items:flex-start;flex-direction:column}.taxonomyRow>div{justify-content:flex-start}}
