:root {
 font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 font-size:13px; color:#14293d; background:#f2f4f7;
 --blue:#204f79; --blue-hover:#2c608d; --line:#d9e0e7;
 --muted:#627086; --soft:#e7eef5;
}
*{box-sizing:border-box}
body{margin:0;background:#f2f4f7}
a{color:#1b4e7a;text-underline-offset:2px}
.topbar{display:flex;align-items:center;gap:20px;min-height:50px;padding:3px 16px;background:var(--blue);color:#fff}
.brand{display:flex;align-items:center;gap:10px;flex:none;color:#fff;text-decoration:none}
.brand-logo{display:block;width:47px;height:38px;object-fit:contain;background:#fff;border-radius:2px;padding:2px}
.brandline{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.brandline strong{font-size:15px;font-weight:750}
.brand-subtitle,.brand-status{font-size:12px;color:#d9e7f4}
.brand-status{margin-left:auto}
.topnav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
.topnav>a{padding:13px 10px 11px;border-bottom:2px solid transparent;color:#fff;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap}
.topnav>a.active,.topnav>a:hover{background:var(--blue-hover);border-bottom-color:#fff}
.nav-spacer{flex:1;min-width:10px}
.account{font-size:11px;color:#d9e7f4;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.logout-form{margin:0;flex:none}
.logout-form button{margin:0;border:0;background:transparent;color:#fff;font-size:12px;font-weight:500;padding:12px 4px}
.logout-form button:hover{background:transparent;text-decoration:underline}
.motivation{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 16px;border-bottom:1px solid var(--line);background:var(--soft);text-align:center}
.motivation cite{font-style:normal;color:var(--muted)}
.motivation p{margin:0;color:var(--blue);font-size:12px;font-style:italic;line-height:1.5}
main{width:100%;max-width:none;padding:18px 16px 28px;margin:0}
h1{font-size:21px;line-height:1.3;letter-spacing:0;margin:0 0 14px}
h2{font-size:17px;line-height:1.4;margin:0 0 10px}
h3{font-size:14px;line-height:1.5;margin:16px 0 8px}
h4{font-size:13px;margin:12px 0 6px}
p{line-height:1.6;color:var(--muted);margin:8px 0 12px}
small{font-size:12px;color:var(--muted)}
section{background:#fff;padding:14px 16px;border:1px solid var(--line);border-radius:5px;margin:0 0 10px;min-width:0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.intro h2{margin-bottom:4px}.intro p{margin:4px 0}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0}
input,select,textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;min-height:34px;border:1px solid #bdc8d4;border-radius:4px;background:#fff;color:#14293d;font:inherit;line-height:1.4}
textarea{line-height:1.6;resize:vertical}
button{font:inherit;font-size:12px;font-weight:650;border:1px solid transparent;border-radius:4px;padding:7px 11px;min-height:32px;background:var(--blue);color:#fff;cursor:pointer;margin:4px 0}
button:hover{background:var(--blue-hover)}
button.secondary{background:#fff;border-color:var(--line);color:var(--blue)}
button.secondary:hover{background:#edf2f7}
button:disabled{opacity:.5;cursor:default}
form+form{margin-top:10px}
:focus-visible{outline:3px solid #71a8d3;outline-offset:2px}
.notice{background:#fff9ed;border:1px solid #ead4a1;padding:12px 16px;border-radius:5px;color:var(--blue);margin:0 0 14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:12px 0}
.stats span{background:#fff;border:1px solid var(--line);padding:11px 12px;border-radius:4px;color:var(--muted);font-size:12px}
.stats strong{display:block;margin-top:5px;font-size:17px;color:#14293d}
details{border:1px solid var(--line);border-radius:4px;padding:10px 12px;margin:8px 0;background:#fff;min-width:0}
summary{cursor:pointer;font-weight:600;line-height:1.5}
details[open]>summary{margin-bottom:10px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f6f8fa;padding:12px;border:1px solid #e7ebf0;border-radius:4px}
code{overflow-wrap:anywhere}
footer{text-align:right;font-size:11px;color:var(--muted);padding:12px 16px;border-top:1px solid var(--line)}
progress{width:100%;height:14px;accent-color:var(--blue);margin:8px 0 12px}
.import-actions{display:flex;gap:8px;flex-wrap:wrap}
.workspace-nav{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.workspace-nav a{padding:6px 9px;border:1px solid var(--line);border-radius:4px;background:#f6f8fb;color:var(--blue);font-size:12px;text-decoration:none}
.workspace-nav a:hover{background:var(--soft)}
.settings-nav{display:flex;gap:4px;flex-wrap:wrap;margin:18px -4px -15px;border-bottom:1px solid var(--line)}
.settings-nav a{display:block;padding:10px 14px;color:var(--muted);text-decoration:none;border:1px solid transparent;border-radius:5px 5px 0 0;font-size:13px;font-weight:600}
.settings-nav a:hover,.settings-nav a:focus-visible{color:var(--blue);background:#f6f8fa;border-color:var(--line)}
.catalog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 12px;align-items:end}
.catalog-filters label{min-width:0}
.catalog-filters>button{justify-self:start;margin:10px 0}
.catalog-table{border-collapse:collapse;width:100%;font-size:12px}
.catalog-table th,.catalog-table td{text-align:left;vertical-align:top;padding:8px;border-bottom:1px solid var(--line)}
.catalog-table th{background:#f6f8fa;font-size:12px;font-weight:650;color:#20384f}
.catalog-table small{display:block;font-size:11px;margin:4px 0;color:var(--muted)}
.table-scroll{overflow-x:auto;margin-top:12px}
.number{font-variant-numeric:tabular-nums;white-space:nowrap}
.match-tag{display:inline-block;padding:3px 7px;border-radius:12px;background:#e9edf0;font-size:11px;white-space:nowrap}
.existing_product,.existing_variant{background:#e5f3e9;color:#17633f}
.new_candidate{background:#e7eef8;color:#254e7d}.review{background:#fff2da;color:#945d00}
.pagination{display:flex;justify-content:space-between;gap:16px;margin-top:12px;flex-wrap:wrap}
.candidate{border:1px solid var(--line);border-left:3px solid #6e92b4;border-radius:4px;padding:10px 14px;margin:12px 0;background:#f6f8fb}
.source-description{white-space:pre-wrap}
.check-label{display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.check-label input{width:16px;min-height:16px;margin:2px 0 0;flex:none;accent-color:var(--blue)}
.instruction-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px}
.encoding-field{padding:12px 0;border-bottom:1px solid var(--line)}
.encoding-field h3{margin-top:0}.encoding-field p{font-size:12px}
.draft-preview{width:100%;height:1100px;border:1px solid var(--line);border-radius:4px;background:#fff}
.rights-grid,.read-only{border:1px solid var(--line);border-radius:4px;padding:12px;margin:12px 0;min-width:0}
.rights-grid legend,.read-only legend{font-size:12px;color:var(--muted);padding:0 5px}
.device-row{border-bottom:1px solid var(--line);padding:10px 0}.device-row small{overflow-wrap:anywhere}
.signed-out main{max-width:510px;margin:7vh auto 0}.signed-out section{padding:22px}
[id]{scroll-margin-top:12px}
@media(min-width:1440px){.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}
@media(max-width:1250px){.topbar{flex-wrap:wrap;gap:0 16px;padding-top:5px}.topnav{flex-basis:100%}.brand-subtitle{display:inline}.topnav>a{padding-top:10px;padding-bottom:9px}}
@media(max-width:760px){
 .topbar{padding:6px 10px 0}.brandline{flex-wrap:wrap;gap:0 8px;white-space:normal}.brandline strong{font-size:14px}
 .topnav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.topnav>a{padding:12px 10px;min-height:44px;flex:none}
 .nav-spacer{min-width:4px}.account{max-width:140px;font-size:11px}.logout-form button{min-height:44px}
 .motivation{padding:6px 10px;min-height:36px}.motivation p{font-size:11px}
 main{padding:14px 10px 22px}.grid{grid-template-columns:1fr}.intro{align-items:flex-start;flex-wrap:wrap}
 section{padding:12px}h1{font-size:20px}.catalog-filters{grid-template-columns:1fr 1fr}
 input,select,button{min-height:42px}textarea{font-size:14px}button{padding:9px 12px}
 .catalog-table{min-width:640px}.workspace-nav a{padding:9px 10px}.settings-nav a{padding:11px 10px}
 .signed-out main{margin-top:24px}.signed-out section{padding:18px}
}
@media(max-width:440px){.catalog-filters{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-subtitle{font-size:11px}.brand-status{font-size:10px}}
