:root{--ink:#17211f;--muted:#687773;--line:#dce5e2;--paper:#fff;--wash:#f3f7f6;--accent:#087f6b;--accent-soft:#e1f3ee;--danger:#c33c47;--shadow:0 12px 32px rgba(28,55,48,.08)}
*{box-sizing:border-box}html{background:var(--wash);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}body{margin:0;letter-spacing:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}code,pre{font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:0}
.side{height:72px;padding:0 max(24px,calc((100vw - 1420px)/2));display:flex;align-items:center;gap:40px;background:#122522;color:#fff;border-bottom:1px solid #28413d;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:11px;min-width:210px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:#31b99f;color:#09231f;font-weight:900}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#98b5af;text-transform:uppercase}.side-nav{display:flex;align-self:stretch}.side-nav a{display:flex;align-items:center;padding:0 18px;color:#a8bdb9;border-bottom:3px solid transparent}.side-nav a:hover,.side-nav a.active{color:#fff;border-color:#31b99f}.side-status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:#bdd0cc}.live-dot{width:8px;height:8px;border-radius:50%;background:#44d3a9;box-shadow:0 0 0 4px rgba(68,211,169,.13)}.side-logout button{border:1px solid #3a524d;background:transparent;color:#dbe8e5;padding:8px 12px;cursor:pointer}
.shell{width:min(1420px,calc(100% - 48px));margin:0 auto;padding:42px 0 72px}.workspace-head,.app-hero,.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.workspace-head.compact{align-items:center}.workspace-head h1,.app-hero h1,.topbar h1{margin:6px 0 5px;font-size:36px;line-height:1.1}.workspace-head p,.app-hero p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:1.4px;text-transform:uppercase}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.app-hero-title{display:flex;align-items:center;gap:14px}
.button,.primary,button{border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);padding:10px 15px;font-weight:700;cursor:pointer}.button:hover,button:hover{border-color:#9bb5ae}.button.primary,.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.ghost{background:transparent}.compact-button{padding:7px 11px;font-size:13px}.danger-button,.danger,.danger-soft{color:var(--danger)}.danger-button.solid{background:var(--danger);border-color:var(--danger);color:#fff}.danger-button.small{padding:7px 10px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper);margin-bottom:22px}.metric-row article{padding:20px 24px;border-right:1px solid var(--line)}.metric-row article:last-child{border:0}.metric-row span,.mini-kv>span,.link-stack>div>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.metric-row strong{font-size:20px}
.surface,.panel,.form-card,.api-panel,.route-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.surface,.panel{padding:24px}.surface-head,.panel-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.surface h2,.panel h2,.section-title h2{margin:4px 0;font-size:21px}.surface p,.panel p{margin:3px 0;color:var(--muted)}
.data-table,.table{border-top:1px solid var(--line)}.tr{display:grid;grid-template-columns:42px minmax(180px,1.3fr) minmax(230px,1.2fr) 105px 70px 120px 70px;align-items:center;gap:16px;min-height:68px;border-bottom:1px solid var(--line);font-size:14px}.tr.head{min-height:42px;color:var(--muted);font-size:11px;text-transform:uppercase}.tr code{font-size:12px;color:#38544e}.app-name strong,.app-name small{display:block}.app-name small{color:var(--muted);font-size:11px;margin-top:3px}.actions{text-align:right}.actions a{color:var(--accent);font-weight:700}.bulk-toolbar{display:flex;align-items:center;gap:15px;padding-bottom:12px}.check-control{display:flex;gap:7px;align-items:center}.row-check input,.check-control input{accent-color:var(--accent)}
.listing-badge,.ready-pill,.field-tag,.autosave-state{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border:1px solid var(--line);border-radius:99px;font-size:11px;color:var(--muted)}.listing-badge.listed,.ready-pill,.autosave-state.saved{background:var(--accent-soft);border-color:#b7dfd5;color:#08715f}.listing-badge.unlisted{background:#f1f3f2}.empty{text-align:center;padding:64px 20px}.empty h3{font-size:22px;margin:0 0 8px}.empty p{color:var(--muted);margin:0 0 20px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:22px;margin-bottom:22px}.api-panel,.route-panel{padding:26px}.copy-row{display:flex;align-items:stretch;gap:8px;margin-bottom:10px}.copy-row code{flex:1;min-width:0;padding:11px 12px;background:#f4f7f6;border:1px solid var(--line);overflow:auto;white-space:nowrap;font-size:12px}.copy-button{padding:8px 12px}.copy-button.copied{color:var(--accent)}.link-stack{display:grid;gap:14px;margin:22px 0}.json-preview{margin:22px -26px -26px;padding:22px 26px;background:#e9f4f0;color:#24413a;border-top:1px solid #cee2dc;overflow:auto;font-size:12px;line-height:1.7}.route-controls{display:grid;gap:18px}.control-block,.field{display:grid;gap:7px}.control-block>span,.field>span,label{font-size:13px;font-weight:700}.control-block small,.field small{font-weight:400;color:var(--muted)}input,select{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfdad7;border-radius:4px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,127,107,.1)}.missing-field{padding:15px;border:1px dashed #b8c8c4;color:var(--muted);background:#f7f9f8}
.two-column,.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.upload-panel{display:grid;gap:12px}.index-upload-form{display:flex;gap:10px;align-items:center}.danger-surface{display:flex;align-items:center;justify-content:space-between;gap:22px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.field-card{background:#fff;padding:20px}.field-card-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}.field-card-head strong,.field-card-head code{display:block}.field-card-head code{margin-top:4px;color:var(--muted);font-size:11px}.field-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-form label:last-of-type{grid-column:1/-1}.field-actions{grid-column:1/-1;text-align:right}.param-delete{text-align:right;margin-top:8px}
.form-card{width:min(760px,100%);padding:28px;display:grid;gap:18px}.wide-form label,.stack label{display:grid;gap:8px}.form-actions{text-align:right}.stack{display:grid;gap:12px}.param-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:10px}.inline-delete{text-align:right;margin-bottom:20px}
.flash-wrap{position:fixed;top:86px;right:24px;z-index:80;display:grid;gap:8px}.flash{padding:12px 16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.flash.success{border-left:4px solid var(--accent)}.flash.error{border-left:4px solid var(--danger)}
.add-dialog{border:0;padding:0;background:transparent}.add-dialog::backdrop{background:rgba(11,29,25,.58)}.dialog-card{width:min(520px,calc(100vw - 32px));background:#fff;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.dialog-head{display:flex;justify-content:space-between;margin-bottom:20px}.dialog-head h2{margin:4px 0}.icon-close{width:36px;height:36px;padding:0;font-size:24px}
.auth-body{min-height:100vh;background:#eaf1ef}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(1040px,100%);min-height:590px;display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.login-visual{padding:60px;background:#12332d;color:#fff;display:flex;flex-direction:column;justify-content:center}.login-visual .eyebrow{color:#69d6bc}.login-visual h1{font-size:62px;margin:10px 0}.login-visual p{color:#bad0ca}.login-metrics{display:flex;gap:28px;margin-top:80px}.login-metrics span,.login-metrics strong{display:block}.login-metrics span{font-size:11px;color:#9ebbb4}.login-metrics strong{font-size:17px;color:#fff;margin-bottom:4px}.login-card{padding:50px;display:flex;flex-direction:column;justify-content:center;gap:24px}.login-card h2{font-size:28px;margin:5px 0}
.client-body{min-height:100vh;background:#f2f6f5}.client-shell{width:min(680px,calc(100% - 32px));margin:0 auto;padding:60px 0}.client-head{border-left:5px solid var(--accent);padding-left:18px;margin-bottom:22px}.client-head h1{font-size:34px;margin:6px 0}.client-head p{color:var(--muted)}.client-card{width:100%}.client-submit{width:100%}
@media(max-width:900px){.side{padding:0 16px;gap:16px}.brand{min-width:auto}.brand small,.side-status{display:none}.side-nav a{padding:0 10px}.shell{width:min(100% - 28px,1420px);padding-top:26px}.detail-grid,.two-column,.grid-two{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.metric-row article{border-right:0;border-bottom:1px solid var(--line)}.tr{grid-template-columns:32px 1fr auto}.tr>*:nth-child(3),.tr>*:nth-child(5),.tr>*:nth-child(6){display:none}.tr.head>*:nth-child(4){display:none}.field-grid{grid-template-columns:1fr}.workspace-head,.app-hero{align-items:flex-start;flex-direction:column}.login-shell{grid-template-columns:1fr;min-height:0}.login-visual{padding:34px}.login-visual h1{font-size:42px}.login-metrics{margin-top:28px;gap:14px}.login-card{padding:34px}.index-upload-form,.danger-surface{align-items:stretch;flex-direction:column}.field-form{grid-template-columns:1fr}.field-form label{grid-column:1/-1}}

/* 2026 console refresh */
:root{--ink:#18181b;--muted:#71717a;--line:#e4e4e7;--paper:#fff;--wash:#f6f7f9;--accent:#2563eb;--accent-soft:#eff6ff;--danger:#dc2626;--shadow:0 1px 2px rgba(16,24,40,.03),0 8px 24px rgba(16,24,40,.04)}
html{background:var(--wash)}body{color:var(--ink);background:var(--wash)}
.side{height:64px;padding:0 max(24px,calc((100vw - 1320px)/2));gap:34px;background:#fff;color:#27272a;border-bottom:1px solid #e4e4e7;box-shadow:0 1px 3px rgba(16,24,40,.03)}
.brand{min-width:194px;gap:10px}.brand-mark{width:34px;height:34px;background:#18181b;border-radius:7px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:8px}.brand-mark i{display:block;width:3px;border-radius:2px;background:#fff}.brand-mark i:nth-child(1){height:8px}.brand-mark i:nth-child(2){height:15px;background:#60a5fa}.brand-mark i:nth-child(3){height:11px}.brand strong{font-size:15px}.brand small{font-size:10px;color:#a1a1aa}.side-nav{gap:4px;padding:8px 0}.side-nav a{gap:7px;padding:0 13px;border:0;border-radius:6px;color:#71717a;font-size:13px;font-weight:600}.side-nav a:hover{background:#f4f4f5;color:#27272a}.side-nav a.active{background:#eff6ff;color:#1d4ed8;border:0}.nav-icon{font-size:15px}.side-status{color:#52525b;font-size:12px}.live-dot{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.side-logout button{border-color:#e4e4e7;color:#52525b;border-radius:6px;background:#fff;font-size:12px;padding:7px 10px}
.shell{width:min(1320px,calc(100% - 48px));padding:32px 0 64px}.workspace-head,.app-hero,.topbar{margin-bottom:22px}.dashboard-head{align-items:center}.breadcrumb{font-size:12px;color:#a1a1aa;margin-bottom:10px}.breadcrumb span{padding:0 6px;color:#d4d4d8}.workspace-head h1,.app-hero h1,.topbar h1{font-size:25px;line-height:1.25;margin:0 0 5px;letter-spacing:0}.workspace-head p,.app-hero p{font-size:13px}.button,.primary,button{border-radius:6px;padding:9px 13px;font-size:13px}.button.primary,.primary{background:#2563eb;border-color:#2563eb}.button.primary:hover,.primary:hover{background:#1d4ed8;border-color:#1d4ed8}.button-plus{font-size:16px;line-height:0}.eyebrow{font-size:10px;color:#2563eb}
.metric-row{grid-template-columns:repeat(3,1fr);gap:14px;border:0;background:transparent;margin-bottom:18px}.metric-row article{min-height:86px;padding:17px 19px;border:1px solid #e4e4e7!important;border-radius:7px;background:#fff;display:flex;align-items:center;gap:14px;box-shadow:0 1px 2px rgba(16,24,40,.02)}.metric-row article>div{min-width:0}.metric-row span{margin:0 0 5px;font-size:11px}.metric-row strong{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-icon{width:38px;height:38px;flex:0 0 38px;display:grid!important;place-items:center;border-radius:7px;font-size:15px!important;margin:0!important}.metric-icon.blue{color:#2563eb;background:#eff6ff}.metric-icon.green{color:#16a34a;background:#f0fdf4}.metric-icon.amber{color:#d97706;background:#fffbeb}
.surface,.panel,.form-card,.api-panel,.route-panel{border-color:#e4e4e7;border-radius:7px;box-shadow:var(--shadow)}.surface{padding:0}.surface-head{padding:20px 22px;margin:0;border-bottom:1px solid #ececf0}.surface-head h2{font-size:16px;margin:0 0 4px}.surface-head p{font-size:12px}.table-titlebar{min-height:72px}.table-filter{display:inline-flex;padding:7px 10px;border:1px solid #e4e4e7;border-radius:5px;color:#71717a;font-size:12px;background:#fafafa}
.bulk-toolbar{padding:10px 22px;background:#fafafa;border-bottom:1px solid #ececf0}.check-control{font-size:12px;color:#52525b}.data-table{border-top:0;padding:0 22px}.tr{grid-template-columns:36px minmax(180px,1.35fr) minmax(240px,1.15fr) 110px 65px 115px 72px;min-height:66px;gap:14px;border-color:#eeeeef}.tr.head{min-height:38px;color:#a1a1aa;font-size:10px}.tr code{font-size:11px;color:#52525b;background:#f4f4f5;border:1px solid #e4e4e7;padding:5px 7px;border-radius:4px;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}.app-name{display:flex!important;align-items:center;gap:10px}.app-name>span:last-child{min-width:0}.app-avatar{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:7px;background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:800}.app-name strong{font-size:13px}.app-name small{font-size:10px}.listing-badge{gap:5px;border:0;padding:5px 8px;font-size:10px}.listing-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.listing-badge.listed{background:#f0fdf4;color:#15803d}.listing-badge.unlisted{background:#f4f4f5;color:#71717a}.actions a{font-size:12px;color:#2563eb}.actions b{font-size:16px;margin-left:2px}.row-check input,.check-control input{accent-color:#2563eb}.empty{padding:52px 20px}
.app-hero{padding:0}.app-hero h1{font-size:25px}.detail-grid{gap:16px}.api-panel,.route-panel{padding:22px}.section-title{margin-bottom:18px}.surface h2,.panel h2,.section-title h2{font-size:17px}.ready-pill{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.copy-row code{border-radius:5px;background:#fafafa}.json-preview{background:#111827;color:#d1fae5;border:0;border-radius:0 0 7px 7px}.control-block input,.field input,input,select{border-radius:6px}.two-column,.grid-two{gap:16px}.two-column .surface{padding:22px}.field-grid{gap:12px;background:transparent;border:0}.field-card{border:1px solid #e4e4e7;border-radius:6px}.form-card{padding:24px}.flash{border-radius:6px}.dialog-card{border-radius:8px}.login-shell{border-radius:10px;overflow:hidden}.login-visual{background:#111827}.login-card .primary{background:#2563eb}.client-head{border-color:#2563eb}
@media(max-width:900px){.side{padding:0 14px}.brand{min-width:auto}.nav-icon{display:none}.shell{width:calc(100% - 28px);padding-top:22px}.metric-row{grid-template-columns:1fr}.metric-row article{min-height:72px}.tr{grid-template-columns:30px 1fr 64px}.tr>*:nth-child(3),.tr>*:nth-child(4),.tr>*:nth-child(5),.tr>*:nth-child(6){display:none}.tr.head>*:last-child{display:block}.data-table{padding:0 14px}.surface-head{padding:16px}.bulk-toolbar{padding:9px 14px}}
