@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Oswald:wght@500;600;700&display=swap");

:root { --registry-paper:#f6f5f0; --registry-paper-raised:#fff; --registry-paper-alt:#efede5; --registry-ink:#14171f; --registry-muted:#5b5f6b; --registry-faint:#8b8e97; --registry-line:#dedbd0; --registry-blue:#2648d9; --registry-blue-deep:#16257a; --registry-danger:#a83b35; }
.registry-body { min-height:100vh; margin:0; background:var(--registry-paper); color:var(--registry-ink); font-family:"Inter",sans-serif; -webkit-font-smoothing:antialiased; }
.registry-body * { box-sizing:border-box; }
.registry-body a { color:inherit; text-decoration:none; }
.registry-body button, .registry-body input, .registry-body select { font:inherit; }
.registry-utility { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(1180px,calc(100% - 48px)); min-height:72px; margin:0 auto; border-bottom:1px solid var(--registry-line); }
.registry-admin-brand { display:flex; align-items:center; gap:11px; }
.registry-admin-mark { display:grid; width:38px; height:38px; overflow:hidden; place-items:center; border:1px solid var(--registry-line); border-radius:2px; background:var(--registry-paper-raised); }
.registry-admin-mark img { width:100%; height:100%; padding:2px; object-fit:contain; }
.registry-admin-brand strong, .registry-admin-brand small { display:block; }
.registry-admin-brand strong { font:600 17px "Oswald",sans-serif; }
.registry-admin-brand small { margin-top:1px; color:var(--registry-faint); font:9px "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.registry-session { display:flex; align-items:center; gap:18px; color:var(--registry-muted); font:11px "IBM Plex Mono",monospace; }
.registry-session form { margin:0; }
.registry-utility-link { padding:0; border:0; background:transparent; color:var(--registry-muted); cursor:pointer; font:600 11px "Inter",sans-serif; }
.registry-utility-link:hover { color:var(--registry-blue); }
.registry-shell { width:min(1180px,calc(100% - 48px)); margin:36px auto 72px; }
.registry-flash { width:min(1180px,calc(100% - 48px)); margin:18px auto 0; padding:12px 14px; border:1px solid var(--registry-blue); background:var(--registry-paper-raised); color:var(--registry-blue); font:11px "IBM Plex Mono",monospace; }
.registry-flash.is-error { border-color:var(--registry-danger); color:var(--registry-danger); }
.registry-card { overflow:hidden; border:1px solid var(--registry-line); background:var(--registry-paper-raised); box-shadow:7px 7px 0 var(--registry-line); }
.registry-plate { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding:34px 38px; border-bottom:1px solid var(--registry-line); background:var(--registry-paper-raised); }
.registry-kicker, .registry-eyebrow { margin:0; color:var(--registry-blue); font:500 10px/1.4 "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.registry-plate h1 { margin:7px 0 5px; font:600 clamp(34px,5vw,48px)/1 "Oswald",sans-serif; letter-spacing:-.01em; }
.registry-subtitle { max-width:600px; margin:0; color:var(--registry-muted); font-size:13px; }
.registry-plate-code { min-width:126px; padding:10px 12px; border:1px solid var(--registry-line); text-align:right; font-family:"IBM Plex Mono",monospace; }
.registry-plate-code span, .registry-plate-code small { display:block; color:var(--registry-faint); font-size:8px; letter-spacing:.12em; }
.registry-plate-code strong { display:block; margin:5px 0; color:var(--registry-blue); font-size:14px; }
.registry-tabs { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--registry-line); background:var(--registry-paper-alt); }
.registry-tab { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; min-width:0; padding:16px 20px; border:0; border-right:1px solid var(--registry-line); background:transparent; color:var(--registry-muted); cursor:pointer; text-align:left; }
.registry-tab:last-child { border-right:0; }
.registry-tab span, .registry-tab em { font:500 9px "IBM Plex Mono",monospace; font-style:normal; }
.registry-tab strong { overflow:hidden; font:600 13px "Inter",sans-serif; text-overflow:ellipsis; }
.registry-tab[aria-selected="true"] { background:var(--registry-blue); color:#fff; }
.registry-panel { padding:34px 38px 42px; }
.registry-panel[hidden] { display:none; }
.registry-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:24px; }
.registry-panel-heading h2 { margin:5px 0; font:600 30px/1.1 "Oswald",sans-serif; }
.registry-panel-heading p:not(.registry-eyebrow) { max-width:620px; margin:0; color:var(--registry-muted); font-size:12px; line-height:1.55; }
.registry-count { flex:0 0 auto; padding:7px 9px; border:1px solid var(--registry-line); color:var(--registry-faint); font:500 9px "IBM Plex Mono",monospace; }
.registry-add-box { margin-bottom:18px; border:1px solid var(--registry-blue); background:#f5f7ff; }
.registry-add-box > summary { padding:13px 15px; color:var(--registry-blue); cursor:pointer; list-style:none; font-size:12px; font-weight:700; }
.registry-add-box[open] > summary { border-bottom:1px solid #cdd5fb; }
.registry-add-box > summary::-webkit-details-marker, .registry-record > summary::-webkit-details-marker, .registry-delete > summary::-webkit-details-marker, .registry-csv-box > summary::-webkit-details-marker { display:none; }
.registry-csv-box { margin:0 0 24px; border:1px solid var(--registry-line); background:var(--registry-paper-alt); }
.registry-csv-box > summary { display:flex; align-items:center; justify-content:space-between; padding:11px 14px; cursor:pointer; list-style:none; font-size:10px; font-weight:700; }
.registry-csv-box > summary code { color:var(--registry-faint); font:500 8px "IBM Plex Mono",monospace; }
.registry-csv-box[open] > summary { border-bottom:1px solid var(--registry-line); color:var(--registry-blue); }
.registry-csv-content { padding:15px; }
.registry-csv-content > p { margin:0; color:var(--registry-muted); font-size:11px; line-height:1.55; }
.registry-csv-schema { margin:12px 0; padding:8px 10px; border-left:3px solid var(--registry-blue); background:var(--registry-paper-raised); }
.registry-csv-schema span { display:block; margin-bottom:4px; color:var(--registry-faint); font:500 7px "IBM Plex Mono",monospace; letter-spacing:.1em; }
.registry-csv-schema code { display:block; overflow-wrap:anywhere; font:9px/1.5 "IBM Plex Mono",monospace; }
.registry-csv-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
.registry-csv-form input[type="file"] { width:100%; min-width:0; padding:9px; border:1px solid var(--registry-line); background:var(--registry-paper-raised); font:9px "IBM Plex Mono",monospace; }
.registry-csv-form > div { display:flex; align-items:center; gap:10px; }
.registry-template-link { color:var(--registry-blue); white-space:nowrap; font-size:9px; font-weight:600; }
.registry-csv-note { margin-top:9px!important; font:8px "IBM Plex Mono",monospace!important; }
.registry-form { display:grid; gap:14px; padding:18px; }
.registry-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.registry-form label { min-width:0; }
.registry-form label > span { display:block; margin-bottom:5px; color:var(--registry-muted); font:600 9px "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.registry-form input:not([type="checkbox"]), .registry-form select { width:100%; min-height:41px; padding:9px 11px; border:1px solid var(--registry-line); border-radius:0; outline:0; background:var(--registry-paper-raised); color:var(--registry-ink); font-size:12px; }
.registry-form input:focus, .registry-form select:focus { border-color:var(--registry-blue); box-shadow:0 0 0 1px var(--registry-blue); }
.registry-form input[type="file"] { font:10px "IBM Plex Mono",monospace; }
.registry-checkbox { display:flex; align-items:center; gap:8px; }
.registry-checkbox > span { margin:0!important; }
.registry-form-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:4px; }
.registry-form-actions button, .registry-form-actions input { width:auto!important; min-height:36px!important; padding:8px 12px!important; border:1px solid var(--registry-line)!important; background:transparent!important; color:var(--registry-muted)!important; cursor:pointer; font:600 10px "Inter",sans-serif!important; }
.registry-primary { padding:8px 11px; border:1px solid var(--registry-blue)!important; background:var(--registry-blue)!important; color:#fff!important; cursor:pointer; font-size:10px; font-weight:600; }
.registry-primary:hover { background:var(--registry-blue-deep)!important; }
.registry-title-preview { padding:11px 13px; border-left:4px solid var(--registry-blue); background:var(--registry-ink); color:#fff; }
.registry-title-preview span { display:block; color:#aebcff; font:500 8px "IBM Plex Mono",monospace; letter-spacing:.12em; }
.registry-title-preview strong { display:block; margin-top:4px; font-size:12px; }
.registry-list-header, .registry-row { display:grid; align-items:center; gap:14px; }
.registry-list-header { padding:8px 12px; border:1px solid var(--registry-line); background:var(--registry-paper-alt); color:var(--registry-faint); font:500 8px "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.registry-manufacturer-grid { grid-template-columns:minmax(210px,1.6fr) minmax(130px,1fr) 120px 48px; }
.registry-model-grid { grid-template-columns:minmax(240px,1.7fr) 120px 90px 48px; }
.registry-manual-grid { grid-template-columns:minmax(280px,1.8fr) 150px 62px 48px; }
.registry-list { border-right:1px solid var(--registry-line); border-left:1px solid var(--registry-line); }
.registry-record { border-bottom:1px solid var(--registry-line); }
.registry-row { min-height:68px; padding:11px 12px; cursor:pointer; list-style:none; }
.registry-row:hover { background:#faf9f5; }
.registry-record[open] > .registry-row { background:var(--registry-ink); color:#fff; }
.registry-row strong { display:block; overflow:hidden; font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.registry-row code { display:block; overflow:hidden; color:var(--registry-faint); font:9px/1.5 "IBM Plex Mono",monospace; text-overflow:ellipsis; }
.registry-record[open] > .registry-row code { color:#b2b4bd; }
.registry-row code small { display:block; font:inherit; }
.registry-identity { display:flex; align-items:center; gap:11px; min-width:0; }
.registry-logo { display:flex; flex:0 0 34px; align-items:center; justify-content:center; width:34px; height:34px; padding:4px; border:1px solid var(--registry-line); object-fit:contain; color:var(--registry-ink); font:600 8px "IBM Plex Mono",monospace; }
.registry-metrics { color:var(--registry-muted); font:9px/1.6 "IBM Plex Mono",monospace; }
.registry-metrics b, .registry-edit-label { color:var(--registry-blue); }
.registry-edit-label { font:600 9px "IBM Plex Mono",monospace; text-align:right; white-space:nowrap; }
.registry-record[open] .registry-edit-label { color:#aebcff; }
.registry-status { padding:4px 5px; border:1px solid var(--registry-blue); color:var(--registry-blue); font:600 8px "IBM Plex Mono",monospace; text-align:center; }
.registry-status.is-draft { border-color:var(--registry-line); color:var(--registry-faint); }
.registry-editor { border-top:1px solid #3f424b; background:var(--registry-paper-alt); }
.registry-delete { margin:0 18px 18px; border-top:1px solid var(--registry-line); }
.registry-delete > summary { padding:11px 0 0; color:var(--registry-danger); cursor:pointer; font-size:10px; font-weight:600; }
.registry-delete > div { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:9px; padding:11px; border:1px solid var(--registry-danger); background:var(--registry-paper-raised); }
.registry-delete p { margin:0; color:var(--registry-muted); font-size:10px; line-height:1.5; }
.registry-danger { padding:8px 10px; border:0; background:var(--registry-danger); color:#fff; cursor:pointer; white-space:nowrap; font:600 9px "Inter",sans-serif; }

@media (max-width:760px) {
  .registry-utility, .registry-shell, .registry-flash { width:min(100% - 24px,1180px); }
  .registry-session > span { display:none; }
  .registry-plate { padding:26px 20px; }
  .registry-plate-code { display:none; }
  .registry-tab { display:block; padding:13px 8px; text-align:center; }
  .registry-tab span, .registry-tab em { display:none; }
  .registry-panel { padding:24px 14px 30px; }
  .registry-count { display:none; }
  .registry-form-grid, .registry-csv-form { grid-template-columns:1fr; }
  .registry-csv-form > div { justify-content:space-between; }
  .registry-list-header { display:none; }
  .registry-row { grid-template-columns:1fr auto; gap:6px 10px; }
  .registry-row > :nth-child(2), .registry-row > :nth-child(3) { grid-column:1; }
  .registry-row > :last-child { grid-column:2; grid-row:1; }
  .registry-manual-grid, .registry-model-grid, .registry-manufacturer-grid { grid-template-columns:1fr auto; }
  .registry-delete > div { display:block; }
  .registry-danger { margin-top:10px; }
}
@media (max-width:480px) {
  .registry-admin-brand small, .registry-session .registry-utility-link:first-child { display:none; }
  .registry-session { gap:10px; }
  .registry-plate h1 { font-size:34px; }
}
