/* ==========================================================================
   Netherfield Studio (admin.html). Builds on the tokens and components of
   site.css: paper, ink, fine rules and one restrained gold.
   ========================================================================== */
:root{--adm-top:64px; --adm-nav-w:236px}
.adm-body{background:var(--paper-2); min-height:100vh}
.adm-body .icon-btn[disabled]{opacity:.3; cursor:default; background:none}
.adm-body .icon-btn[aria-disabled="true"]{opacity:.35}
.adm-locked{overflow:hidden}

/* top bar ------------------------------------------------------------------ */
.adm-top{position:sticky; top:0; z-index:120; display:flex; align-items:center; justify-content:space-between; gap:1rem; height:var(--adm-top); padding:0 clamp(14px, 2.6vw, 30px); background:var(--navy-950); color:var(--paper)}
.adm-brand{display:flex; align-items:center; gap:.8rem; color:var(--paper); font:340 1.3rem/1 var(--serif); letter-spacing:-.01em; white-space:nowrap}
.adm-brand svg{border-radius:8px; box-shadow:0 0 0 1px rgba(227,200,126,.35)}
.adm-brand em{font-style:italic; color:var(--gold-300)}
.adm-top-r{display:flex; align-items:center; gap:.25rem; min-width:0}
.adm-top-a{display:inline-flex; align-items:center; gap:.5rem; min-height:40px; padding:0 .8rem; border:0; border-radius:var(--r2); background:none; color:rgba(247,243,234,.8); font:500 .86rem/1 var(--sans); white-space:nowrap}
.adm-top-a:hover{background:rgba(247,243,234,.08); color:var(--paper)}
.adm-top-a .i{width:16px; height:16px}
.adm-who{display:inline-flex; align-items:center; gap:.45rem; min-height:26px; padding:0 .85rem; margin:0 .2rem; border-left:1px solid var(--line-dark); border-right:1px solid var(--line-dark); color:rgba(247,243,234,.66); font-size:.84rem; white-space:nowrap; max-width:220px; overflow:hidden; text-overflow:ellipsis}
.adm-who .i{width:16px; height:16px; flex-shrink:0}
.adm-pill{display:inline-flex; align-items:center; gap:.5rem; min-height:36px; margin-right:.35rem; padding:0 1rem; border-radius:999px; background:var(--gold); color:var(--navy-950); font:600 .8rem/1 var(--sans); white-space:nowrap; transition:background .2s}
.adm-pill:hover{background:var(--gold-hi)}
.adm-pill .i{width:16px; height:16px}

/* frame and navigation ---------------------------------------------------------- */
.adm{display:grid; grid-template-columns:var(--adm-nav-w) minmax(0, 1fr); min-height:calc(100vh - var(--adm-top))}
body:not(.adm-signed) .adm{grid-template-columns:minmax(0, 1fr)}
.adm-nav{position:sticky; top:var(--adm-top); align-self:start; height:calc(100vh - var(--adm-top)); overflow-y:auto; padding:1.3rem .85rem 2rem; background:var(--paper); border-right:1px solid var(--line)}
.adm-nav a{display:flex; align-items:center; gap:.75rem; min-height:44px; padding:0 .85rem; border-radius:var(--r2); color:var(--ink-2); font-size:.93rem; transition:background .2s, color .2s}
.adm-nav a:hover{background:var(--paper-2); color:var(--navy-950)}
.adm-nav a[aria-current="page"]{background:var(--navy-950); color:var(--paper)}
.adm-nav a .i{width:18px; height:18px; flex-shrink:0}
.adm-nav a[aria-current="page"] .i{color:var(--gold-300)}
.adm-nav a:last-child{margin-top:.9rem; position:relative}
.adm-nav a:last-child::before{content:""; position:absolute; left:.85rem; right:.85rem; top:-.5rem; height:1px; background:var(--line)}
.adm-nav-n{margin-left:auto; color:var(--ink-3); font-size:.78rem; font-variant-numeric:tabular-nums}
.adm-nav a[aria-current="page"] .adm-nav-n{color:rgba(247,243,234,.6)}
.adm-nav .adm-nav-dot{display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 .4rem; border-radius:999px; background:var(--gold); color:var(--navy-950)!important; font-weight:600}
.adm-nav .adm-nav-dot[hidden]{display:none}

.adm-main{min-width:0; padding:clamp(20px, 3vw, 40px) clamp(16px, 3vw, 44px) 96px}
.adm-main:focus{outline:none}
.adm-loading{padding:5rem 0; text-align:center; color:var(--ink-3)}

/* page heads, cards, text ------------------------------------------------------- */
.adm-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.2rem 2rem; flex-wrap:wrap; margin-bottom:1.6rem}
.adm-head .eyebrow{margin-bottom:.55rem}
.adm-head-l{min-width:0; max-width:820px}
.adm-h1{font-size:clamp(1.9rem, 3vw, 2.6rem); font-weight:320; overflow-wrap:anywhere}
.adm-h2{font-size:1.35rem; font-weight:380}
.adm-sub{margin-top:.55rem; color:var(--ink-2); font-size:.95rem; line-height:1.6}
.adm-head-act{display:flex; align-items:center; gap:.4rem; flex-wrap:wrap}
.adm-back{display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.75rem; color:var(--ink-2); font-size:.86rem}
.adm-back:hover{color:var(--navy-950)}
.adm-back .i{width:16px; height:16px}
.adm-body code{font-size:.84em; padding:.1em .4em; border-radius:var(--r1); background:var(--paper-2); color:var(--ink); overflow-wrap:anywhere}
.adm-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r3); padding:clamp(18px, 2.2vw, 28px); box-shadow:0 1px 2px rgba(11,21,48,.04)}
.adm-card + .adm-card{margin-top:1.1rem}
.adm-sec-head{margin-bottom:1.3rem}
.adm-sec-intro{margin-top:.45rem; color:var(--ink-3); font-size:.88rem; line-height:1.55; max-width:72ch}
.adm-hint{margin-top:.1rem; color:var(--ink-3); font-size:.8rem; line-height:1.5}
.adm-p{color:var(--ink-2); line-height:1.65}
.adm-empty{padding:.6rem 0; color:var(--ink-3); font-size:.92rem}
.adm-count{margin-left:.35rem; color:var(--ink-3); font:500 .85rem var(--sans)}
.adm-num{color:var(--ink-2); font-size:.88rem; font-variant-numeric:tabular-nums; white-space:nowrap}
.adm-mt{margin-top:1.2rem}
.adm-grid2{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem 1.2rem}
.adm-grid3{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem 1.2rem}
.adm-span2{grid-column:span 2}
.adm-span3{grid-column:1 / -1}
.adm-form{display:grid; gap:1.1rem}
.adm-error{padding:.8rem .95rem; border-radius:var(--r2); background:var(--clay-wash); color:var(--clay); font-size:.88rem; line-height:1.5}
.adm-warn{color:var(--clay)!important}
.adm-ok{color:var(--sea)}

.input-sm{min-height:38px; padding:.4rem .7rem; font-size:.88rem}
.select.input-sm{padding-right:2rem; background-position:right .55rem center}
.field label output{margin-left:.35rem; color:var(--ink); font-weight:600; letter-spacing:.04em}
.adm-link{display:inline-flex; align-items:center; gap:.35rem; padding:.25rem 0; border:0; background:none; color:var(--gold-ink); font:600 .8rem/1.3 var(--sans); cursor:pointer; text-align:left}
.adm-link:hover{color:var(--navy-950)}
.adm-link[disabled]{opacity:.45; cursor:not-allowed}
.adm-link .i{width:14px; height:14px}
.field .adm-link{justify-self:start; margin-top:.15rem}
.adm-danger{color:var(--clay)!important}
.btn-danger{background:var(--clay); color:var(--white)}
.btn-danger:hover{background:#74412d}

.adm-details{margin-top:1.3rem; padding-top:1rem; border-top:1px solid var(--line)}
.adm-details summary{display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; list-style:none; color:var(--ink-2); font:600 .68rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase}
.adm-details summary::-webkit-details-marker{display:none}
.adm-details summary::before{content:"+"; width:1rem; font:400 1.05rem/1 var(--sans); color:var(--gold-ink)}
.adm-details[open] summary::before{content:"\2013"}
.adm-details[open] > div{margin-top:1rem}

/* switch toggles ---------------------------------------------------------------- */
.adm-toggles{display:grid; gap:1rem; margin-top:1.3rem}
.adm-toggles-tight{margin-top:0; align-content:start}
.adm-toggle-row{display:flex; align-items:flex-start; gap:.85rem; cursor:pointer}
.adm-toggle-text{display:grid; gap:.1rem}
.adm-toggle-l{color:var(--ink); font-weight:500; line-height:1.4}
.adm-switch{position:relative; display:inline-block; vertical-align:middle; flex-shrink:0; width:40px; height:24px; margin-top:1px}
.adm-switch input{position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; cursor:pointer}
.adm-switch > span{position:absolute; inset:0; border:1px solid var(--line-2); border-radius:999px; background:var(--paper-3); transition:background .2s, border-color .2s}
.adm-switch > span::after{content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:var(--white); box-shadow:0 1px 3px rgba(11,21,48,.25); transition:transform .22s var(--ease), background .22s}
.adm-switch input:checked + span{background:var(--navy-950); border-color:var(--navy-950)}
.adm-switch input:checked + span::after{transform:translateX(16px); background:var(--gold-300)}
.adm-switch input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px}

/* sign in ------------------------------------------------------------------- */
.adm-sign{display:grid; grid-template-columns:minmax(0, 470px) minmax(0, 430px); justify-content:center; align-items:start; gap:clamp(28px, 5vw, 76px); padding:clamp(16px, 5vw, 64px) 0}
.adm-sign-card{padding:clamp(24px, 4vw, 44px); background:var(--white); border:1px solid var(--line); border-radius:var(--r3); box-shadow:var(--sh-1)}
.adm-sign-h{font-size:clamp(2.3rem, 4vw, 3.1rem); font-weight:300}
.adm-sign-lede{margin:1rem 0 1.8rem; color:var(--ink-2)}
.adm-sign .adm-details{margin-top:0}
.adm-or{display:flex; align-items:center; gap:1rem; margin:1.6rem 0; color:var(--ink-3); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase}
.adm-or::before,.adm-or::after{content:""; flex:1; height:1px; background:var(--line)}
.adm-sign-fine{margin-top:.8rem; text-align:center}
.adm-sign-help{padding-top:.6rem}
.adm-sign-help > p{margin-top:.8rem; color:var(--ink-2); font-size:.95rem}
.adm-sign-help > p.fine{font-size:.82rem; color:var(--ink-2)}
.adm-steps{counter-reset:s; display:grid; gap:.9rem; margin:1.4rem 0}
.adm-steps li{position:relative; padding-left:2.5rem; counter-increment:s; color:var(--ink-2); font-size:.93rem; line-height:1.55}
.adm-steps li::before{content:counter(s); position:absolute; left:0; top:-.05rem; display:grid; place-items:center; width:1.75rem; height:1.75rem; border:1px solid var(--gold); border-radius:50%; color:var(--gold-ink); font:400 .85rem/1 var(--serif)}
.adm-steps a{color:var(--navy-950); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:.2em}

/* properties list --------------------------------------------------------------- */
.adm-toolbar{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.1rem}
.adm-search{position:relative; display:block; flex:1; min-width:220px; max-width:440px}
.adm-search > .i{position:absolute; left:.9rem; top:50%; width:18px; height:18px; transform:translateY(-50%); color:var(--ink-3); pointer-events:none}
.adm-search .input{padding-left:2.6rem}
.adm-search-sm{flex:0 1 280px; min-width:180px}
.adm-search-sm .input{min-height:40px}
.adm-search-sm > .i{width:16px; height:16px}
.adm-plist{display:grid; gap:.6rem}
.adm-prow{display:grid; grid-template-columns:128px minmax(0, 1fr) auto auto; align-items:center; gap:1.3rem; padding:.75rem 1rem .75rem .75rem; background:var(--white); border:1px solid var(--line); border-radius:var(--r3); transition:border-color .2s, box-shadow .2s}
.adm-prow:hover{border-color:var(--line-2); box-shadow:var(--sh-1)}
.adm-thumb{position:relative; display:grid; place-items:center; width:128px; aspect-ratio:3 / 2; overflow:hidden; border-radius:var(--r2); background:var(--paper-2); color:var(--ink-3)}
.adm-thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain}
.adm-thumb .i{width:24px; height:24px}
.adm-prow-main{min-width:0}
.adm-prow-t{color:var(--navy-950); font:380 1.22rem/1.25 var(--serif); overflow-wrap:anywhere}
.adm-prow-t:hover{text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em}
.adm-prow-m{margin-top:.25rem; color:var(--ink-3); font-size:.86rem}
.adm-tags{display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.55rem}
.adm-tag{display:inline-flex; align-items:center; height:22px; padding:0 .55rem; border-radius:var(--r1); background:var(--paper-2); color:var(--ink-2); font:600 .6rem/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; white-space:nowrap}
.adm-tag-gold{background:var(--gold-wash); color:var(--gold-ink)}
.adm-tag-new{background:var(--sea-wash); color:var(--sea)}
.adm-prow-price{color:var(--navy-950); font:380 1.08rem/1.2 var(--serif); font-variant-numeric:tabular-nums; white-space:nowrap}
.adm-prow-act{display:flex; align-items:center; gap:.2rem}

/* property editor ----------------------------------------------------------------- */
.adm-head-ed{align-items:flex-end}
.adm-jump{position:sticky; top:var(--adm-top); z-index:30; display:flex; gap:.25rem; overflow-x:auto; margin:0 calc(-1 * clamp(16px, 3vw, 44px)) 1.2rem; padding:.6rem clamp(16px, 3vw, 44px); background:rgba(241,235,221,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); scrollbar-width:none}
.adm-jump::-webkit-scrollbar{display:none}
.adm-jump button{flex-shrink:0; min-height:36px; padding:0 .9rem; border:1px solid transparent; border-radius:999px; background:none; color:var(--ink-2); font-size:.86rem; white-space:nowrap; transition:background .2s, border-color .2s}
.adm-jump button:hover{background:var(--white); border-color:var(--line)}
.adm-ed{display:grid; grid-template-columns:minmax(0, 1fr) 340px; align-items:start; gap:1.4rem}
.adm-ed-main{min-width:0}
.adm-ed-main > .adm-sec{scroll-margin-top:calc(var(--adm-top) + 66px)}
.adm-sticky{position:sticky; top:calc(var(--adm-top) + 70px); display:grid; gap:1rem}
.adm-side{padding:18px}
.adm-card.adm-side + .adm-card.adm-side{margin-top:0}
.adm-side-h{margin-bottom:.95rem; color:var(--ink-2); font:600 .66rem/1.3 var(--sans); letter-spacing:.18em; text-transform:uppercase}
.adm-cardprev{pointer-events:none}
.adm-cardprev .pc{box-shadow:none}
.adm-quality{display:grid; gap:.1rem}
.adm-quality li{display:flex; align-items:flex-start; gap:.6rem; padding:.32rem 0; color:var(--ink-3); font-size:.88rem; line-height:1.45}
.adm-quality .i{width:16px; height:16px; margin-top:.16rem; flex-shrink:0}
.adm-quality li.is-ok{color:var(--ink)}
.adm-quality li.is-ok .i{color:var(--sea)}
.adm-slug{display:flex; align-items:center; min-height:48px; border:1px solid var(--line-2); border-radius:var(--r1); background:var(--white)}
.adm-slug:focus-within{border-color:var(--navy-950); box-shadow:0 0 0 3px rgba(199,162,83,.25)}
.adm-slug span{padding:0 .1rem 0 .9rem; color:var(--ink-3); font-size:.9rem; white-space:nowrap}
.adm-slug span:last-child{padding:0 .9rem 0 .1rem}
.adm-slug .input{min-height:46px; min-width:0; padding-inline:0; border:0; box-shadow:none!important; background:none}
.adm-note{display:flex; align-items:flex-start; gap:.65rem; margin-top:1.2rem; padding:.9rem 1rem; border-radius:var(--r2); background:var(--sea-wash); color:var(--sea); font-size:.87rem; line-height:1.55}
.adm-note .i{width:16px; height:16px; margin-top:.2rem; flex-shrink:0}
.adm-note-warn{background:var(--clay-wash); color:var(--clay)}

.adm-mapwrap{margin-top:1.2rem; overflow:hidden; border:1px solid var(--line); border-radius:var(--r2)}
.adm-map{height:380px; background:var(--paper-3)}
.adm-map-tall{height:min(60vh, 520px); border-radius:var(--r2)}
.adm-map-off{padding:2rem; text-align:center}
.adm-map-bar{display:flex; align-items:center; justify-content:space-between; gap:.6rem 1rem; flex-wrap:wrap; padding:.6rem .9rem; background:var(--paper); border-top:1px solid var(--line); color:var(--ink-2); font-size:.86rem}
.adm-coords{display:inline-flex; align-items:center; gap:.45rem; font-variant-numeric:tabular-nums}
.adm-coords .i{width:16px; height:16px; color:var(--gold-ink)}
.adm-pin{background:none; border:0}
.adm-pin span{display:block; width:26px; height:26px; border:3px solid var(--gold-300); border-radius:50%; background:var(--navy-950); box-shadow:0 4px 12px rgba(11,21,48,.38); cursor:grab}
.adm-body .leaflet-container{font-family:var(--sans)}
.adm-radius.is-off{opacity:.45}

.adm-feat-bar{display:flex; align-items:center; gap:.8rem 1rem; flex-wrap:wrap; margin-bottom:1.2rem}
.adm-feat-n{margin-right:auto; color:var(--ink-3); font-size:.86rem}
.adm-feat-groups{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1.6rem}
.adm-feat-g legend{margin-bottom:.6rem; padding:0; color:var(--ink-2); font:600 .66rem/1.3 var(--sans); letter-spacing:.18em; text-transform:uppercase}
.adm-feat.check{align-items:center; gap:.55rem; margin:0 -.5rem; padding:.4rem .5rem; border-radius:var(--r2); font-size:.9rem}
.adm-feat.check:hover{background:var(--paper)}
.adm-feat.check input{margin:0}
.adm-feat > .i{width:18px; height:18px; color:var(--gold-ink)}
.adm-feat-ns{margin-left:auto; color:var(--ink-3)}

.adm-drop{display:grid; justify-items:center; gap:.65rem; padding:1.8rem 1.3rem; border:1.5px dashed var(--line-2); border-radius:var(--r3); background:var(--paper); text-align:center; transition:border-color .2s, background .2s}
.adm-drop > .i{width:28px; height:28px; color:var(--gold-ink)}
.adm-drop > p:first-of-type{display:flex; align-items:center; justify-content:center; gap:.8rem; flex-wrap:wrap}
.adm-drop-or{color:var(--ink-3); font-size:.9rem}
.adm-drop .adm-hint{max-width:64ch}
.adm-drop.is-over{border-color:var(--gold); background:var(--gold-wash)}
.adm-drop-sm{padding:1.2rem}
.adm-drop label.btn:focus-within{outline:2px solid var(--gold); outline-offset:3px}
.adm-drop:has(input:focus-visible) label.btn{outline:2px solid var(--gold); outline-offset:3px}
.adm-progress{display:grid; gap:.45rem; margin-top:.9rem}
.adm-progress:empty{display:none}
.adm-progress li{display:flex; align-items:center; gap:.6rem; color:var(--ink-2); font-size:.88rem}
.adm-spin{flex-shrink:0; width:14px; height:14px; border:2px solid var(--paper-3); border-top-color:var(--navy-950); border-radius:50%; animation:admSpin .8s linear infinite}
@keyframes admSpin{to{transform:rotate(360deg)}}
.adm-photos{display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:1rem; margin-top:1.2rem}
.adm-photos > .adm-empty{grid-column:1 / -1}
.adm-ph{display:flex; flex-direction:column; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--r2); cursor:grab}
.adm-ph.is-drag{opacity:.4}
.adm-ph.is-over{outline:2px solid var(--gold); outline-offset:2px}
.adm-ph-img{position:relative; aspect-ratio:3 / 2; overflow:hidden; background:var(--paper-2)}
.adm-ph-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain}
.adm-ph-cover{position:absolute; top:.5rem; left:.5rem; display:inline-flex; align-items:center; height:22px; padding:0 .55rem; border-radius:var(--r1); background:var(--gold); color:var(--navy-950); font:600 .6rem/1 var(--sans); letter-spacing:.14em; text-transform:uppercase}
.adm-ph-size{position:absolute; right:.5rem; bottom:.5rem; padding:.15rem .45rem; border-radius:var(--r1); background:rgba(11,21,48,.72); color:var(--paper); font-size:.7rem; font-variant-numeric:tabular-nums}
.adm-ph-size.is-low{background:var(--clay)}
.adm-ph figcaption,.adm-plan figcaption{display:grid; gap:.45rem; padding:.6rem}
.adm-ph-act{display:flex; justify-content:space-between}
.adm-ph-act .icon-btn,.adm-rowact .icon-btn{width:36px; height:36px}
.adm-ph-act .icon-btn .i,.adm-rowact .icon-btn .i{width:18px; height:18px}
.adm-plans{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:1rem; margin-top:1.1rem}
.adm-plans:empty{display:none}
.adm-plan{overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--r2)}
.adm-plan-img{position:relative; aspect-ratio:4 / 3; overflow:hidden; background:#fff; border-bottom:1px solid var(--line)}
.adm-plan-img img{position:absolute; inset:.6rem; width:calc(100% - 1.2rem); height:calc(100% - 1.2rem); object-fit:contain}
.adm-video{display:flex; align-items:center; gap:1rem; margin:-.2rem 0 1.3rem; color:var(--sea); font-size:.88rem}
.adm-video:empty{display:none}
.adm-video img{width:160px; height:auto; border-radius:var(--r2)}
.adm-video span{display:inline-flex; align-items:center; gap:.4rem}
.adm-video .i{width:16px; height:16px}
.adm-ed .adm-sec .field + .field{margin-top:1.1rem}
.adm-ed .adm-grid2 .field + .field,.adm-ed .adm-grid3 .field + .field{margin-top:0}

/* tables: features, property types ---------------------------------------------- */
.adm-table{display:grid; margin-top:1rem}
.adm-tr{display:grid; align-items:center; gap:.8rem; padding:.55rem 0; border-top:1px solid var(--line)}
.adm-th{padding:.2rem 0 .5rem; border-top:0; color:var(--ink-3); font:600 .62rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase}
.adm-ftable .adm-tr{grid-template-columns:minmax(150px, 1fr) minmax(160px, 1.3fr) minmax(110px, .9fr) minmax(130px, 1fr) 84px 92px 118px}
.adm-ttable .adm-tr{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 110px 118px}
.adm-rowact{display:flex; justify-content:flex-end; gap:.1rem}
.adm-iconsel{display:flex; align-items:center; gap:.5rem; min-width:0}
.adm-iconsel-prev{display:grid; place-items:center; flex-shrink:0; width:38px; height:38px; border-radius:var(--r2); background:var(--paper); color:var(--gold-ink)}
.adm-iconsel-prev .i{width:20px; height:20px}
.adm-iconsel .select{min-width:0}
.adm-addrow{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto; gap:.8rem; margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--line)}

/* categories ------------------------------------------------------------------- */
.adm-cats{display:grid; gap:1.1rem}
.adm-cats .adm-card + .adm-card{margin-top:0}
.adm-cat-top{display:grid; grid-template-columns:minmax(180px, 230px) minmax(0, 1fr) auto auto; align-items:center; gap:1rem}
.adm-cat-name{font:380 1.15rem/1.2 var(--serif); color:var(--navy-950)}
.adm-cat-n{color:var(--sea); font-size:.86rem; white-space:nowrap}
.adm-rules{display:grid; gap:.95rem; margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--line)}
.adm-rule{display:grid; grid-template-columns:150px minmax(0, 1fr); align-items:start; gap:1rem}
.adm-rule-k{padding-top:.7rem; color:var(--ink-3); font:600 .62rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase}
.adm-chipset{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem}
.adm-chip{display:inline-flex; align-items:center; gap:.35rem; min-height:34px; padding:0 .85rem; border:1px solid var(--line-2); border-radius:999px; background:var(--white); color:var(--ink-2); font-size:.84rem; transition:background .2s, color .2s, border-color .2s}
.adm-chip:hover{border-color:var(--navy-950)}
.adm-chip[aria-pressed="true"]{background:var(--navy-950); border-color:var(--navy-950); color:var(--paper)}
.adm-chip .i{width:14px; height:14px}
.adm-addsel{width:auto; min-width:180px}
.adm-rule .adm-grid3{max-width:640px}

/* areas, stories, FAQ, settings ---------------------------------------------------- */
.adm-areas{display:grid; gap:1.1rem}
.adm-areas .adm-card + .adm-card{margin-top:0}
.adm-area-top{display:flex; align-items:center; gap:1rem; margin-bottom:1.1rem}
.adm-area-top .adm-h2{margin-right:auto}
.adm-area-pos{display:flex; align-items:center; gap:.5rem 1rem; flex-wrap:wrap; margin-top:1rem; color:var(--ink-2); font-size:.88rem; font-variant-numeric:tabular-nums}
.adm-area-pos > .i{width:16px; height:16px; color:var(--gold-ink)}
.adm-story-foot{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--line)}
.adm-topics{display:grid; gap:.5rem; margin-top:1rem}
.adm-topic{display:grid; grid-template-columns:minmax(0, 420px) auto auto; align-items:center; gap:1rem}
.adm-faq{padding:1rem 0; border-top:1px solid var(--line)}
.adm-faq:first-of-type{margin-top:.6rem}
.adm-faq-top{display:grid; grid-template-columns:minmax(0, 1fr) 200px auto; align-items:center; gap:.8rem; margin-bottom:.6rem}
.adm-faq .textarea{min-height:90px}
.adm-kf{display:grid; gap:.9rem}
.adm-kf-row{display:grid; grid-template-columns:110px minmax(0, 1fr) minmax(0, 1.5fr) auto; align-items:end; gap:1rem}
.adm-tier{margin-top:1.3rem; padding-top:1.1rem; border-top:1px solid var(--line)}
.adm-tier-amt{margin-bottom:.8rem; color:var(--navy-950); font:380 1.25rem/1 var(--serif)}
.adm-sec + .adm-sec{margin-top:1.1rem}

/* publish ------------------------------------------------------------------- */
.adm-pub{display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(300px, 1fr); align-items:start; gap:1.2rem}
.adm-pub .adm-card + .adm-card{margin-top:0}
.adm-chlist{display:grid; margin-top:1rem}
.adm-chlist li{display:flex; align-items:center; gap:.75rem; padding:.6rem 0; border-top:1px solid var(--line); font-size:.93rem}
.adm-chlist .i{width:18px; height:18px; flex-shrink:0; color:var(--gold-ink)}
.adm-chlist a{text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:.2em}
.adm-chlist a:hover{text-decoration-color:currentColor}
.adm-issues{margin-top:1.4rem; padding:1rem 1.15rem; border-radius:var(--r2); background:var(--paper)}
.adm-issues h3{margin-bottom:.6rem; color:var(--ink-2); font:600 .64rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase}
.adm-issues li{padding:.25rem 0; color:var(--ink-2); font-size:.88rem; line-height:1.5}
.adm-issues a{text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:.2em}
.adm-issues-err{background:var(--clay-wash)}
.adm-issues-err h3,.adm-issues-err li,.adm-issues-err a{color:var(--clay)}
.adm-log{display:grid; gap:.55rem; margin-top:1.3rem}
.adm-log li{display:flex; align-items:center; gap:.6rem; color:var(--ink-2); font-size:.9rem}
.adm-log li .i{width:16px; height:16px; flex-shrink:0}
.adm-log li.is-done .i{color:var(--sea)}
.adm-log li.is-fail{color:var(--clay)}
.adm-result{display:flex; align-items:flex-start; gap:.7rem; margin-top:1.2rem; padding:1rem 1.1rem; border-radius:var(--r2); background:var(--sea-wash); color:var(--sea); font-size:.92rem; line-height:1.55}
.adm-result .i{width:18px; height:18px; margin-top:.15rem; flex-shrink:0}
.adm-result a{color:inherit; font-weight:600; text-decoration:underline; text-underline-offset:.2em}
.adm-result.is-err{background:var(--clay-wash); color:var(--clay)}
.adm-pub-more{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--line)}

/* modal and preview ---------------------------------------------------------- */
.adm-modal{position:fixed; inset:0; z-index:450; display:grid; place-items:center; padding:16px}
.adm-modal-bg{position:absolute; inset:0; background:rgba(11,21,48,.5)}
.adm-modal-card{position:relative; display:flex; flex-direction:column; width:min(580px, 100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:hidden; background:var(--paper); border-radius:var(--r3); box-shadow:var(--sh-2)}
.adm-modal-wide{width:min(940px, 100%)}
.adm-modal-full{width:min(1440px, 100%); height:calc(100vh - 32px); height:calc(100dvh - 32px)}
.adm-modal-head{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem .9rem 1.5rem; border-bottom:1px solid var(--line)}
.adm-modal-head .adm-h2{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.adm-modal-body{flex:1; overflow:auto; padding:1.4rem 1.5rem}
.adm-modal-full .adm-modal-body{display:flex; flex-direction:column; padding:0; overflow:hidden}
.adm-modal-foot{display:flex; justify-content:flex-end; gap:.6rem; padding:1rem 1.5rem; background:var(--white); border-top:1px solid var(--line)}
.adm-pv-bar{display:flex; align-items:center; gap:.6rem 1rem; flex-wrap:wrap; padding:.7rem 1.2rem; background:var(--white); border-bottom:1px solid var(--line)}
.adm-pv-sizes{display:flex; gap:.35rem}
.adm-pv-bar .fine{margin-left:auto}
.adm-pv-size{min-height:34px; padding:0 .95rem; border:1px solid var(--line-2); border-radius:999px; background:var(--white); font-size:.84rem}
.adm-pv-size[aria-pressed="true"]{background:var(--navy-950); border-color:var(--navy-950); color:var(--paper)}
.adm-pv-stage{flex:1; display:flex; justify-content:center; overflow:hidden; background:var(--paper-3)}
.adm-pv-frame{width:100%; height:100%; border:0; background:var(--paper); box-shadow:0 0 0 1px var(--line); transition:width .3s var(--ease)}
.toast .adm-undo{padding:0; border:0; background:none; color:var(--gold-300); font-weight:600; text-decoration:underline; text-underline-offset:.2em; cursor:pointer}

/* responsive ---------------------------------------------------------------- */
@media (max-width:1240px){
  .adm-ed{grid-template-columns:minmax(0, 1fr)}
  .adm-sticky{position:static; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); align-items:start}
  .adm-ftable .adm-tr{grid-template-columns:minmax(140px, 1fr) minmax(150px, 1.3fr) minmax(110px, .9fr) minmax(120px, 1fr) 70px 84px 118px}
}
@media (max-width:1080px){
  .adm-pub{grid-template-columns:minmax(0, 1fr)}
  .adm-feat-groups{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .adm-ftable .adm-th{display:none}
  .adm-ftable .adm-tr{grid-template-columns:repeat(3, minmax(0, 1fr)); align-items:end; padding:1rem 0}
  .adm-ftable .adm-tr > [data-l]::before,.adm-ttable .adm-tr > [data-l]::before{content:attr(data-l); display:block; margin-bottom:.35rem; color:var(--ink-3); font:600 .58rem/1.3 var(--sans); letter-spacing:.14em; text-transform:uppercase}
}
@media (max-width:900px){
  .adm{grid-template-columns:minmax(0, 1fr)}
  .adm-nav{position:sticky; top:var(--adm-top); z-index:40; display:flex; gap:.2rem; height:auto; overflow-x:auto; padding:.5rem .7rem; border-right:0; border-bottom:1px solid var(--line); scrollbar-width:none}
  .adm-nav::-webkit-scrollbar{display:none}
  .adm-nav a{flex-shrink:0; min-height:38px; padding:0 .75rem; font-size:.86rem}
  .adm-nav a:last-child{margin-top:0}
  .adm-nav a:last-child::before{display:none}
  .adm-nav-n{display:none}
  .adm-nav .adm-nav-dot:not([hidden]){display:inline-grid}
  .adm-jump{top:calc(var(--adm-top) + 55px)}
  .adm-ed-main > .adm-sec{scroll-margin-top:calc(var(--adm-top) + 122px)}
  .adm-sign{grid-template-columns:minmax(0, 1fr)}
  .adm-grid3{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .adm-who{display:none}
  .adm-top-a span{display:none}
  .adm-cat-top{grid-template-columns:minmax(0, 1fr) auto}
  .adm-cat-top .adm-iconsel{grid-column:1 / -1}
  .adm-cat-top .adm-rowact{grid-column:1 / -1; margin-top:-.4rem}
  .adm-rule{grid-template-columns:minmax(0, 1fr); gap:.5rem}
  .adm-rule-k{padding-top:0}
  .adm-ttable .adm-th{display:none}
  .adm-ttable .adm-tr{grid-template-columns:repeat(2, minmax(0, 1fr)); padding:1rem 0}
  .adm-kf-row{grid-template-columns:90px minmax(0, 1fr) auto}
  .adm-kf-row .field:nth-child(3){grid-column:1 / -1; grid-row:2}
  .adm-faq-top{grid-template-columns:minmax(0, 1fr) auto}
  .adm-faq-top .select{grid-column:1; grid-row:2}
  .adm-topic{grid-template-columns:minmax(0, 1fr) auto}
  .adm-topic .adm-num{display:none}
}
@media (max-width:640px){
  .adm-grid2,.adm-grid3,.adm-ftable .adm-tr{grid-template-columns:minmax(0, 1fr)}
  .adm-span2{grid-column:auto}
  .adm-feat-groups{grid-template-columns:minmax(0, 1fr)}
  .adm-prow{grid-template-columns:88px minmax(0, 1fr); gap:.6rem .9rem; padding:.7rem}
  .adm-thumb{width:88px}
  .adm-prow-price{grid-column:2}
  .adm-prow-act{grid-column:1 / -1; justify-content:flex-end}
  .adm-brand span{display:none}
  .adm-pill-l{display:none}
  .adm-addrow{grid-template-columns:minmax(0, 1fr)}
  .adm-modal{padding:8px}
  .adm-modal-card{max-height:calc(100dvh - 16px)}
  .adm-modal-full{height:calc(100dvh - 16px)}
  .adm-pv-bar .fine{margin-left:0}
}
