:root{--paper:#f1ece0;--paper-sunk:#e6e0d2;--panel:#f9f6ee;--panel-raised:#fffdf7;--ink:#1c1813;--ink-soft:#574f43;--ink-faint:#6b6254;--rule:#d7cebb;--rule-strong:#bcaf95;--accent:#b2451d;--accent-deep:#8a3414;--accent-on-dark:#d4795c;--sidebar:#1c1813;--sidebar-ink:#cdc4b0;--sidebar-faint:#8b806c;--ok:#45683a;--warn:#7f5e0f;--err:#a4331c;--idle:#5b5346;--display:"Archivo", system-ui, sans-serif;--body:"Archivo", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow-panel:0 1px 0 #1c18130a;--grid-fine:#b2451d08;--grid-heavy:#b2451d0e;--grid:8px;--sidebar-edge:#000;--sidebar-rule:#2c2620;--sidebar-hover:#26211b;--sidebar-border:#3a332b;--sidebar-strong:#fff;--row-hover:#f3eee1;--err-deep:#882a16;--muted:var(--ink-faint);--danger:var(--err);--panel-quiet:var(--paper-sunk);--accent-ink:var(--accent-deep);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:28px;--s7:40px;--s8:56px;--rule-hair:1px;--rule-heavy:2px;--rule-datum:3px;--r-sm:2px;--r-md:3px;--t-micro:10px;--t-mono:11px;--t-xs:12px;--t-sm:13px;--t-md:14px;--t-lg:16px;--t-xl:19px;--t-2xl:22px;--t-3xl:27px;--t-4xl:34px;--t-5xl:38px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--paper);background-image:linear-gradient(to right, var(--grid-heavy) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-heavy) 1px, transparent 1px), linear-gradient(to right, var(--grid-fine) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-fine) 1px, transparent 1px);background-size:calc(var(--grid) * 5) calc(var(--grid) * 5), calc(var(--grid) * 5) calc(var(--grid) * 5), var(--grid) var(--grid), var(--grid) var(--grid);color:var(--ink);font-family:var(--body);font-size:var(--t-md);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.kicker{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.shell{grid-template-columns:248px 1fr;height:100%;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);padding:var(--s6) 0;border-right:1px solid var(--sidebar-edge);flex-direction:column;display:flex}.brand{padding:0 var(--s6) var(--s6);border-bottom:1px solid var(--sidebar-rule);margin-bottom:var(--s4)}.brand-row{align-items:center;gap:var(--s3);display:flex}.brand-logo{flex:none;width:34px;height:34px;transform:translateY(4px)}.brand-mark{font-family:var(--display);font-variation-settings:"wdth" 88;font-size:var(--t-3xl);letter-spacing:-.03em;color:var(--sidebar-strong);font-weight:700;line-height:1}.brand-mark span{color:var(--accent-on-dark)}.brand-sub{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.26em;text-transform:uppercase;color:var(--sidebar-faint);margin-top:var(--s2)}.nav{padding:0 var(--s3);flex-direction:column;gap:1px;display:flex}.nav-group-label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--sidebar-faint);padding:var(--s4) var(--s3) var(--s2)}.nav-item{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);color:var(--sidebar-ink);font-size:var(--t-sm);border-left:2px solid #0000;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-strong)}.nav-item.active{background:var(--sidebar-hover);color:var(--sidebar-strong);border-left-color:var(--accent)}.nav-item svg{flex-shrink:0;width:16px;height:16px}.nav-count{font-family:var(--mono);font-size:var(--t-mono);color:var(--accent-on-dark);margin-left:auto}.sidebar-foot{padding:var(--s4) var(--s6) 0;border-top:1px solid var(--sidebar-rule);gap:var(--s2);flex-direction:column;margin-top:auto;display:flex}.sidebar-user{font-size:var(--t-xs);color:var(--sidebar-faint)}.sidebar-user b{color:var(--sidebar-ink);font-weight:600;display:block}.signout{border:1px solid var(--sidebar-border);color:var(--sidebar-ink);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;padding:var(--s2) var(--s2);background:0 0;transition:border-color .12s,color .12s}.signout:hover{border-color:var(--accent);color:var(--sidebar-strong)}.main{height:100%;overflow-y:auto}.page{max-width:1180px;padding:var(--s7) var(--s7) var(--s8);margin:0 auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s5);padding-bottom:var(--s5);margin-bottom:var(--s6);border-bottom:2px solid var(--ink);display:flex}.page-title{font-family:var(--display);font-variation-settings:"wdth" 88;font-size:var(--t-5xl);letter-spacing:-.035em;font-weight:700;line-height:1}.page-desc{color:var(--ink-soft);font-size:var(--t-sm);margin-top:var(--s2);max-width:72ch}.stat-grid{gap:var(--s3);margin-bottom:var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.stat{background:var(--panel-raised);border:1px solid var(--rule);border-top:2px solid var(--ink);padding:var(--s4) var(--s4) var(--s4);box-shadow:var(--shadow-panel)}.stat.accent{border-top-color:var(--accent)}.stat-value{font-family:var(--mono);font-size:var(--t-4xl);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.stat-label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:var(--s3)}.stat-note{font-size:var(--t-mono);color:var(--ink-faint);margin-top:var(--s1)}.section{margin-top:var(--s7)}.section-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);display:flex}.section-head:after{content:"";height:var(--rule-hair);background:var(--rule);flex:1;align-self:center}.section-title{font-family:var(--display);font-variation-settings:"wdth" 92;font-size:var(--t-xl);letter-spacing:-.02em;font-weight:700}.section-count{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-faint)}.panel{background:var(--panel-raised);border:var(--rule-hair) solid var(--rule);box-shadow:var(--shadow-panel)}.panel-head{justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:var(--rule-hair) solid var(--rule);background:var(--panel);font-family:var(--mono);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);display:flex}.panel-head__ref{color:var(--accent-deep);font-weight:600}.panel-body{padding:var(--s5)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);padding:var(--s3) var(--s4);border-bottom:1px solid var(--rule-strong);background:var(--panel);white-space:nowrap;font-weight:600}.table td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--rule);font-size:var(--t-sm);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--row-hover)}.table .num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.cell-strong{font-weight:600}.cell-mono{font-family:var(--mono);font-size:var(--t-xs)}.cell-faint{color:var(--ink-faint)}.pill{align-items:center;gap:var(--s1);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;padding:3px var(--s2);white-space:nowrap;border:1px solid;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;width:4px;height:4px}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.err{color:var(--err)}.pill.idle{color:var(--idle)}.pill.accent{color:var(--accent-deep)}.btn{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.1em;text-transform:uppercase;padding:var(--s2) var(--s3);border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:600;transition:background .12s,transform 60ms}.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn.sm{padding:var(--s1) var(--s2);font-size:var(--t-micro);min-height:24px}.btn.danger{background:var(--err);border-color:var(--err);color:var(--paper)}.btn.danger:hover{background:var(--err-deep);border-color:var(--err-deep)}.btn.ghost.danger{color:var(--err);border-color:var(--err);background:0 0}.btn.ghost.danger:hover{background:var(--err);color:var(--paper)}.filters{gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.chip{min-height:24px;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;padding:var(--s1) var(--s3);border:1px solid var(--rule-strong);background:var(--panel-raised);color:var(--ink-soft);font-weight:500;transition:all .12s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pager{align-items:center;gap:var(--s3);margin-top:var(--s4);font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-soft);display:flex}.dup-group{border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--panel-raised);padding:var(--s4) var(--s4);margin-bottom:var(--s3)}.dup-head{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:var(--s3)}.dup-rows{gap:var(--s2);flex-direction:column;display:flex}.dup-row{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--rule);background:var(--panel);cursor:pointer;display:flex}.dup-row:hover,.dup-row:focus-within{border-color:var(--ink)}.dup-row.canonical,.dup-row.survivor{border-color:var(--ink);background:var(--panel-raised);border-left-width:3px}.survivor-radio{flex:none}.dup-name{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--t-sm)}.dup-keep-badge{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink,var(--accent));border:1px solid var(--accent);padding:2px var(--s1);white-space:nowrap}.dup-meta{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-faint)}.dup-pick{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.radio{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:var(--s1);cursor:pointer;display:flex}.radio input{accent-color:var(--accent)}.spin{transform-origin:50%;animation:.9s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-btn{width:22px;height:22px;margin-left:var(--s1);border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;vertical-align:-4px;background:0 0;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}.icon-btn:hover{color:var(--ink);border-color:var(--ink)}.cell-inline{align-items:center;gap:0;display:inline-flex}.cell-check{width:28px;padding-left:var(--s3);padding-right:0}.cell-check input{accent-color:var(--accent);cursor:pointer}.cell-action{text-align:right;white-space:nowrap}.row-selected{background:var(--panel-raised)}.merge-bar{margin-top:var(--s4);justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);border:1px solid var(--ink);background:var(--paper);z-index:5;display:flex;position:sticky;bottom:16px}.merge-bar-fixed{z-index:40;max-width:1180px;margin-top:0;margin-left:auto;margin-right:auto;position:fixed;bottom:20px;left:272px;right:24px}@media (width<=900px){.merge-bar-fixed{left:16px;right:16px}}.merge-bar-count{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.merge-bar-actions{gap:var(--s2);display:flex}.modal-backdrop{padding:var(--s5);z-index:50;background:#1c18137a;justify-content:center;align-items:center;animation:.12s linear both modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}}.modal{background:var(--panel-raised,var(--paper));border:1px solid var(--ink);width:min(640px,100%);max-height:calc(100vh - 48px);color:var(--ink);flex-direction:column;animation:.12s linear both modal-in;display:flex;position:static}.modal--sm{width:min(420px,100%)}.modal--lg{width:min(820px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}}body.modal-open{overflow:hidden}.modal__head{padding:var(--s6) var(--s6) var(--s4);border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:var(--s4);display:flex}.modal__title-block{min-width:0}.modal__kicker{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:var(--s2);font-weight:500}.modal__title{font-family:var(--display);font-variation-settings:"wdth" 90;font-size:var(--t-3xl);letter-spacing:-.03em;font-weight:700;line-height:1.1}.modal__subject{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint);margin-top:var(--s1)}.modal__close{color:var(--ink-soft);padding:var(--s1);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:-6px;transition:color .12s,border-color .12s;display:inline-flex}.modal__close:hover{color:var(--ink);border-color:var(--rule-strong)}.modal__body{padding:var(--s5) var(--s6) var(--s5);flex:1;overflow-y:auto}.modal__foot{padding:var(--s3) var(--s6);border-top:1px solid var(--rule);justify-content:flex-end;gap:var(--s2);background:var(--panel);display:flex}.modal-desc{margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--ink-soft)}.state{padding:var(--s8) var(--s5);text-align:center;color:var(--ink-faint);font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.06em}.state.err{color:var(--err)}.login-wrap{background:0 0;place-items:center;min-height:100%;display:grid}.login-card{background:var(--panel-raised);border:1px solid var(--rule-strong);border-top:3px solid var(--accent);width:380px;padding:var(--s7) var(--s7) var(--s6)}.login-mark{font-family:var(--display);font-variation-settings:"wdth" 88;font-size:var(--t-4xl);letter-spacing:-.035em;font-weight:700}.login-mark span{color:var(--accent)}.login-sub{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin:var(--s2) 0 var(--s6)}.field{margin-bottom:var(--s4)}.field label,.field .field-label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--s1);display:block}.md{gap:var(--s1);font-family:var(--body);font-size:var(--t-md);color:var(--ink);flex-direction:column;line-height:1.45;display:flex}.md h1,.md h2,.md h3{margin:0;font-weight:600}.md h1,.md h2{font-size:var(--t-lg)}.md h3{font-size:var(--t-md)}.md p{margin:0}.md ul{padding-left:var(--s4);margin:0}.md code{font-family:var(--mono);font-size:var(--t-sm);background:var(--rule);padding:0 var(--s1)}.bars .bar-cell{width:55%;padding-right:var(--s5)}.bar-track{border-left:var(--rule-heavy) solid var(--ink);background-image:repeating-linear-gradient(to right, var(--rule) 0 1px, transparent 1px 25%);height:12px;position:relative}.bar-fill{background:var(--idle);min-width:2px;height:100%}.bar-fill[data-tone=ok]{background:var(--ok)}.bar-fill[data-tone=warn]{background:var(--warn)}.bar-fill[data-tone=err]{background:var(--err)}.bar-fill[data-tone=accent]{background:var(--accent)}.flow{padding:var(--s5)}.flow-main,.flow-branch-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.flow-step{border:var(--rule-hair) solid var(--rule);border-top:var(--rule-datum) solid var(--idle);background:var(--panel-raised);padding:var(--s4) var(--s4) var(--s3);margin-right:var(--s6);position:relative}.flow-main .flow-step:last-child{margin-right:0}.flow-main .flow-step:not(:last-child):after{content:"";width:var(--s6);height:var(--rule-hair);background:var(--rule-strong);position:absolute;top:50%;left:100%}.flow-main .flow-step:not(:last-child):before{content:"";top:50%;left:calc(100% + var(--s6) - 5px);border:4px solid #0000;border-left-color:var(--rule-strong);z-index:1;position:absolute;transform:translateY(-50%)}.flow-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-3xl);letter-spacing:-.03em;color:var(--idle);font-weight:500;line-height:1}.flow-value[data-tone=ok]{color:var(--ok)}.flow-value[data-tone=warn]{color:var(--warn)}.flow-value[data-tone=err]{color:var(--err)}.flow-value[data-tone=accent]{color:var(--accent)}.flow-label{font-family:var(--mono);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-top:var(--s3)}.flow-note{font-size:var(--t-xs);color:var(--ink-faint);margin-top:2px}.flow-branch{margin-top:var(--s7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.flow-branch-list{grid-column-start:calc(var(--branch-from) + 1);grid-template-columns:repeat(2,minmax(0,1fr));grid-column-end:-1}.flow-branch:before{content:"";bottom:100%;left:calc((100% / 3) * var(--branch-from) + var(--s5));width:var(--rule-hair);height:var(--s7);background:var(--rule-strong);position:absolute}.flow-branch .flow-step{border-top-color:var(--rule-strong)}.flow-branch .flow-step:before{content:"";bottom:100%;left:var(--s5);width:var(--rule-hair);height:var(--s5);background:var(--rule-strong);position:absolute}.flow-branch-list:before{content:"";bottom:100%;left:var(--s5);right:calc((100% / 2) - var(--s5));height:var(--rule-hair);margin-bottom:var(--s5);background:var(--rule-strong);position:absolute}@media (width<=900px){.flow-main,.flow-branch-list{grid-template-columns:minmax(0,1fr)}.flow-step{margin-right:0;margin-bottom:var(--s4)}.flow-main .flow-step:after,.flow-main .flow-step:before,.flow-branch:before,.flow-branch-list:before,.flow-branch .flow-step:before{display:none}.flow-branch{grid-template-columns:minmax(0,1fr);margin-top:0}.flow-branch-list{grid-column:1/-1}}.input,.field input,.field textarea,.field select{font-family:var(--body);font-size:var(--t-md);padding:var(--s2) var(--s3);border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink)}.field input,.field textarea,.field select{width:100%}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.input:disabled,.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.55;cursor:not-allowed}select.input,.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);padding-right:var(--s6);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.btn-block{width:100%;margin-top:var(--s2);justify-content:center;display:flex}.form-err{color:var(--err);font-size:var(--t-xs);margin-bottom:var(--s3);font-family:var(--mono)}.row-actions{gap:var(--s1);justify-content:flex-end;display:flex}.inline-link{color:var(--accent-deep);border-bottom:1px solid}.inline-link:has(.pill){border-bottom:none}.inline-link .pill{cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:text-decoration-color .12s}.inline-link:hover .pill,.inline-link:focus-visible .pill{text-decoration-color:currentColor}.row-detail{background:var(--paper-sunk)}.action-message{font-size:var(--t-sm);color:var(--ink-soft);margin-top:var(--s2)}.library-toolbar{justify-content:space-between;align-items:center;gap:var(--s4);margin-bottom:var(--s5);padding-bottom:var(--s3);border-bottom:1px solid var(--rule);display:flex}.library-toolbar__count{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;color:var(--ink-faint)}.library-toolbar__count strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.library-card{background:var(--panel-raised);border:1px solid var(--rule);border-left:3px solid var(--idle);padding:var(--s5) var(--s6);margin-bottom:var(--s3);box-shadow:var(--shadow-panel);transition:border-color .12s linear;position:relative}.library-card--gap{border-left-color:var(--accent)}.library-card--candidates{border-left-color:var(--warn)}.library-card__head{gap:var(--s5);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.library-card__identity{min-width:0}.library-card__kicker{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s2);font-weight:500}.library-card__kicker .sep{margin:0 var(--s2);color:var(--rule-strong)}.library-card__title{font-family:var(--display);font-variation-settings:"wdth" 92;font-size:var(--t-2xl);letter-spacing:-.025em;margin-bottom:var(--s2);align-items:baseline;gap:var(--s3);flex-wrap:wrap;font-weight:700;line-height:1.1;display:flex}.library-card__meta{align-items:center;gap:var(--s3);font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.04em;color:var(--ink-faint);display:flex}.library-card__meta-dot{background:var(--rule-strong);width:3px;height:3px}.library-card__actions{gap:var(--s2);align-items:center;display:flex}.library-card__body{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--rule)}.library-card__body--quiet{margin-top:var(--s3);padding-top:var(--s3)}.approved-strip{align-items:center;gap:var(--s3);display:flex}.approved-strip__label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ok)}.approved-strip__name{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.candidate-strip{gap:var(--s4);padding:var(--s3) 0;border-bottom:1px dashed var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.candidate-strip:first-child{padding-top:var(--s1)}.candidate-strip:last-child{padding-bottom:var(--s1);border-bottom:none}.candidate-strip__main{min-width:0}.candidate-strip__title{align-items:center;gap:var(--s2);font-weight:600;font-size:var(--t-md);display:flex}.candidate-strip__meta{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-faint);margin-top:var(--s1)}.candidate-strip__actions{gap:var(--s1);align-items:center;display:flex}.candidate-strip__inline{grid-column:1/-1}.linked-models{margin-top:var(--s3)}.linked-models__head{justify-content:space-between;align-items:center;gap:var(--s3);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s2);display:flex}.linked-models__add{align-items:center;gap:var(--s1);background:var(--panel);border:1px solid var(--rule-strong);color:var(--ink-soft);padding:var(--s1) var(--s2);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color .12s,background .12s;display:inline-flex}.linked-models__add:hover{color:var(--ink);background:var(--paper-sunk)}.linked-models__list{gap:var(--s2);flex-wrap:wrap;display:flex}.model-chip{font-size:var(--t-xs);border:1px solid var(--rule-strong);background:var(--panel);align-items:stretch;display:inline-flex;overflow:hidden}.model-chip__body{align-items:baseline;gap:var(--s2);padding:var(--s1) var(--s3);display:flex}.model-chip__brand{font-weight:600}.model-chip__num{font-family:var(--mono);font-size:var(--t-xs)}.model-chip__sub{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding:0 var(--s2);border-left:1px solid var(--rule);background:var(--paper-sunk);align-self:stretch;align-items:center;display:flex}.model-chip__unlink{background:var(--panel);border:none;border-left:1px solid var(--rule-strong);color:var(--ink-faint);padding:0 var(--s2);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color .12s,background .12s}.model-chip__unlink:hover{color:var(--err);background:var(--paper-sunk)}.model-chip--series{border-style:dashed}.model-chip__series-label{font-size:var(--t-mono);color:var(--ink-faint)}.add-models__search{align-items:center;gap:var(--s2);border:1px solid var(--rule-strong);background:var(--panel);padding:0 var(--s2);display:flex}.add-models__search input{padding:var(--s2) 0;font-size:var(--t-sm);color:var(--ink);background:0 0;border:none;flex:1}.add-models__search input:focus{outline:none}.add-models__create{align-items:center;gap:var(--s2);display:flex}.add-models__create input{border:1px solid var(--rule-strong);background:var(--panel);padding:var(--s2) var(--s2);font-size:var(--t-sm);color:var(--ink);flex:1}.series-proposal__hint{font-size:var(--t-mono);color:var(--ink-faint);margin-top:2px;display:block}.segmented{border:1px solid var(--ink);background:var(--panel);display:inline-flex}.segmented__option{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;padding:var(--s2) var(--s5);color:var(--ink-soft);border:none;border-right:1px solid var(--rule);align-items:center;gap:var(--s2);background:0 0;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.segmented__option:last-child{border-right:none}.segmented__option:hover{color:var(--ink)}.segmented__option--active{background:var(--ink);color:var(--paper)}.segmented__option svg{width:13px;height:13px}.dropzone{border:1.5px dashed var(--rule-strong);background:var(--panel);padding:var(--s6) var(--s5);align-items:center;gap:var(--s2);text-align:center;cursor:pointer;flex-direction:column;transition:border-color .15s,background .15s;display:flex;position:relative}.dropzone:hover,.dropzone--drag{border-color:var(--accent);background:var(--panel-raised)}.dropzone--filled{border-style:solid;border-color:var(--ink);background:var(--panel-raised);text-align:left;padding:var(--s4) var(--s4);align-items:flex-start}.dropzone__icon{color:var(--ink-faint);display:inline-flex}.dropzone__icon svg{width:22px;height:22px}.dropzone--filled .dropzone__icon{color:var(--ink)}.dropzone__filled-body{align-items:center;gap:var(--s3);width:100%;display:flex}.dropzone__filled-text{flex:1;min-width:0}.dropzone__label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:600}.dropzone__hint{font-size:var(--t-xs);color:var(--ink-faint)}.dropzone__file{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.dropzone__size{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-faint);margin-top:2px}.dropzone__clear{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule-strong);padding:var(--s1) var(--s2);cursor:pointer;background:0 0;transition:all .12s}.dropzone__clear:hover{color:var(--err);border-color:var(--err)}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone--filled input[type=file]{pointer-events:none}.field textarea{resize:vertical;line-height:1.5}.field-stack>.field{margin-bottom:var(--s5)}.field-stack>.field:last-child{margin-bottom:0}.field-hint{font-size:var(--t-xs);color:var(--ink-faint);margin-top:var(--s1)}.identify-trigger{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);margin-top:var(--s3);background:var(--paper-sunk);border:1px solid var(--rule);display:flex}.identify-trigger__text{font-size:var(--t-xs);color:var(--ink-soft)}.identify-trigger__text strong{color:var(--ink);font-weight:600}.suggestions{margin-top:var(--s4);border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--panel-raised);padding:var(--s4) var(--s4) var(--s1)}.suggestions__head{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:var(--s3);align-items:center;gap:var(--s2);display:flex}.suggestions__brand{color:var(--ink);font-weight:600}.suggestions__empty{font-size:var(--t-xs);color:var(--ink-soft);padding-bottom:var(--s2)}.suggestion-item{gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:auto 70px minmax(0,1fr) auto;align-items:center;display:grid}.suggestion-item:last-child{border-bottom:none}.suggestion-item__check{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.suggestion-item__kind{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.suggestion-item__kind--matched{color:var(--ok)}.suggestion-item__kind--new{color:var(--warn)}.suggestion-item__name{font-size:var(--t-sm);align-items:baseline;gap:var(--s2);min-width:0;display:flex}.suggestion-item__brand{font-weight:600}.suggestion-item__num{font-family:var(--mono);font-size:var(--t-xs)}.inline-reject{background:var(--paper-sunk);border:1px solid var(--rule);border-left:3px solid var(--err);padding:var(--s3) var(--s3);margin-top:var(--s2)}.inline-reject__head{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--err);margin-bottom:var(--s2)}.inline-reject textarea,.inline-reject input{width:100%;font-family:var(--body);font-size:var(--t-sm);padding:var(--s2) var(--s2);border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink);resize:vertical;line-height:1.45}.inline-reject textarea:focus,.inline-reject input:focus{border-color:var(--err);outline:none}.inline-reject__actions{justify-content:flex-end;gap:var(--s1);margin-top:var(--s2);display:flex}.link-existing__controls{gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.link-existing__search{min-width:220px;font-family:var(--mono);font-size:var(--t-sm);padding:var(--s2) var(--s3);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);flex:280px}.link-existing__results{border-top:1px solid var(--rule);flex-direction:column;display:flex}.manual-pick{justify-content:space-between;align-items:flex-start;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--rule);display:flex}.manual-pick:last-child{border-bottom:none}.manual-pick__main{flex:1;min-width:0}.manual-pick__name{align-items:center;gap:var(--s2);font-weight:600;font-size:var(--t-md);display:flex}.manual-pick__meta{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-faint);margin-top:var(--s1)}.manual-pick__chips{gap:var(--s1);margin-top:var(--s2);flex-wrap:wrap;display:flex}.manual-pick__chip{font-family:var(--mono);font-size:var(--t-mono);padding:2px var(--s2);border:1px solid var(--rule);background:var(--panel);color:var(--ink-soft)}.extraction-summary{gap:var(--s1);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.extraction-summary__label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-right:var(--s1);align-self:center}.extraction-summary__chip{font-family:var(--mono);font-size:var(--t-mono);padding:var(--s1) var(--s2);border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink)}.row-flex-end{gap:var(--s1);justify-content:flex-end;display:flex}.banner-error{padding:var(--s3);margin-bottom:var(--s3);border:1px solid var(--rule);border-color:var(--danger);background:var(--panel);align-items:center;gap:var(--s3);font-size:var(--t-sm);display:flex}.banner-error__message{flex:1}.banner-notice{padding:var(--s3);margin-bottom:var(--s3);border:1px solid var(--rule);background:var(--panel);align-items:center;gap:var(--s3);font-size:var(--t-sm);display:flex}.banner-notice__message{flex:1}.flex-row-sm{gap:var(--s1);display:flex}.flex-row-md{gap:var(--s2);display:flex}.flex-row-center{align-items:center;gap:var(--s2);display:flex}.flex-row-wrap{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.empty-state-body{padding:var(--s5);text-align:center}.empty-cell{color:var(--ink-faint)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.result-meta{margin:0 0 var(--s2);font-size:var(--t-xs);color:var(--muted)}.sort-header:hover{color:var(--accent-deep)}.sort-header:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:auto;min-height:100%}.sidebar{border-right:none;border-bottom:1px solid var(--sidebar-edge);padding:var(--s4) 0}.nav{gap:var(--s1);flex-flow:wrap}.nav-group-label{padding:var(--s2) var(--s3) var(--s1);width:100%}.main{height:auto;overflow-y:visible}.page{padding:var(--s6) var(--s5) var(--s8)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
