:root{--c-bg: #f5f6f8;--c-surface: #ffffff;--c-surface-2: #f8fafc;--c-border: #e4e7ec;--c-border-strong: #cdd3dd;--c-text: #1a2231;--c-text-2: #475467;--c-muted: #667085;--c-accent: #0f7a4d;--c-accent-text: #0c6340;--c-accent-soft: #e7f4ee;--c-success-bg: #e6f6ec;--c-success-fg: #146c43;--c-warn-bg: #fef6e7;--c-warn-fg: #9a6700;--c-danger-bg: #fdecec;--c-danger-fg: #b42318;--c-info-bg: #eaf1fd;--c-info-fg: #1d4ed8;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--r1: 4px;--r2: 6px;--r3: 8px;--shadow-sm: 0 1px 2px rgb(16 24 40 / .05);--shadow-md: 0 4px 12px rgb(16 24 40 / .1);--ring: 0 0 0 2px rgb(15 122 77 / .35);--color-primary: var(--c-accent);--color-text: var(--c-text);--color-muted: var(--c-muted);--color-bg: var(--c-bg);--color-surface: var(--c-surface);--color-border: var(--c-border);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;line-height:1.5;color:var(--c-text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;color:var(--c-text);background:var(--c-bg);font-size:13px}button{cursor:pointer;font-family:inherit}a{color:var(--c-accent-text)}h1{font-size:20px;font-weight:650;letter-spacing:-.01em;margin:0 0 var(--s4)}h2{font-size:15px;font-weight:650;margin:var(--s5) 0 var(--s3)}h3{font-size:13px;font-weight:650;margin:var(--s4) 0 var(--s2)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r1)}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;background:var(--c-surface-2);padding:1px 5px;border-radius:var(--r1)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{padding:7px 10px;border:1px solid var(--c-border);border-radius:var(--r2);background:var(--c-surface);color:var(--c-text);font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--c-accent);box-shadow:var(--ring);outline:none}textarea{line-height:1.5}label{font-size:13px;color:var(--c-text-2)}.content table{width:100%;border-collapse:collapse;margin-top:var(--s4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r3);overflow:hidden}.content table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);background:var(--c-surface-2);border-bottom:1px solid var(--c-border)}.content table td{padding:8px 12px;border-bottom:1px solid var(--c-border);font-size:13px;vertical-align:top}.content table tbody tr:last-child td{border-bottom:none}.content table tbody tr:hover{background:var(--c-surface-2)}.content ul{padding-left:18px;margin:var(--s2) 0}.content li{margin:2px 0}.content section{margin-bottom:var(--s5)}.page{display:flex;flex-direction:column}.form-row{display:flex;gap:var(--s3);align-items:flex-end;margin:var(--s4) 0;flex-wrap:wrap}.form-row label{display:flex;flex-direction:column;gap:var(--s1);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted)}.form-row label select,.form-row label input{text-transform:none;letter-spacing:normal;font-weight:500;min-width:200px}.stacked{display:flex;flex-direction:column;gap:var(--s2)}.page-hint{color:var(--c-muted);font-size:13px;margin:var(--s2) 0}.error{color:var(--c-danger-fg);font-size:13px}.link{background:none;border:none;padding:0;color:var(--c-accent-text);cursor:pointer;font:inherit;text-decoration:underline;text-align:left}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);text-align:center;padding:var(--s5)}.login-logo{max-width:min(420px,80vw);height:auto}.login-page h1{margin:0}.login-page p{margin:0;color:var(--c-muted)}.login-button{margin-top:var(--s4);padding:10px 36px;font-size:14px;font-weight:600;color:#fff;background:var(--c-accent);border:none;border-radius:var(--r3)}.login-button:hover{background:var(--c-accent-text)}.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s3) var(--s2);background:var(--c-surface);border-right:1px solid var(--c-border);position:sticky;top:0;height:100vh;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:var(--s2);font-weight:700;font-size:14px;padding:var(--s2) var(--s2) var(--s1);letter-spacing:-.01em}.tenant-switcher{display:flex;flex-direction:column;gap:var(--s1);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);padding:0 var(--s2)}.tenant-switcher select{padding:6px 8px;border:1px solid var(--c-border);border-radius:var(--r2);background:var(--c-surface-2);font-size:12px;color:var(--c-text);text-transform:none;letter-spacing:normal;font-weight:500}.sidebar nav{display:flex;flex-direction:column;gap:var(--s1);overflow-y:auto;flex:1;padding-right:2px}.nav-group{display:flex;flex-direction:column}.nav-group-label{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s2) var(--s1);border:none;background:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);cursor:pointer;text-align:left}.nav-group-label .caret{margin-left:auto;transition:transform .12s ease;font-size:9px;opacity:.7}.nav-group.collapsed .caret{transform:rotate(-90deg)}.nav-group.collapsed .nav-items{display:none}.nav-items{display:flex;flex-direction:column;gap:1px}.sidebar nav a{display:flex;align-items:center;gap:var(--s2);padding:6px 10px 6px 22px;border-radius:var(--r2);color:var(--c-text-2);text-decoration:none;font-size:13px;font-weight:500;position:relative}.sidebar nav a .nav-ico{width:15px;font-size:13px;opacity:.75;text-align:center}.sidebar nav a:hover:not(.active){background:var(--c-surface-2);color:var(--c-text)}.sidebar nav a.active{background:var(--c-accent-soft);color:var(--c-accent-text);font-weight:600}.sidebar nav a.active:before{content:"";position:absolute;left:6px;top:7px;bottom:7px;width:2.5px;border-radius:2px;background:var(--c-accent)}.logout{margin-top:var(--s2);padding:7px;background:var(--c-surface);color:var(--c-text-2);border:1px solid var(--c-border);border-radius:var(--r2);font-size:12px;font-weight:600}.logout:hover{border-color:var(--c-border-strong);background:var(--c-surface-2)}.sidebar-version{padding:var(--s2) var(--s1) 0;font-size:10px;color:var(--c-muted);text-align:center;letter-spacing:.02em}.content{flex:1;padding:var(--s5) var(--s6);max-width:1180px}.stub-note{color:var(--c-muted)}.error-boundary{padding:48px;text-align:center}.toast-stack{position:fixed;bottom:var(--s4);right:var(--s4);display:flex;flex-direction:column;gap:var(--s2);z-index:100}.toast{padding:9px 14px;border-radius:var(--r2);color:#fff;background:var(--c-text);box-shadow:var(--shadow-md);font-size:13px;font-weight:500}.toast-error{background:var(--c-danger-fg)}.toast-success{background:var(--c-accent)}.inline-form{display:flex;gap:var(--s2);align-items:center;margin:var(--s4) 0;flex-wrap:wrap}input,select,textarea{font-family:inherit;font-size:13px;color:var(--c-text)}.inline-form input,.inline-form select{padding:7px 10px;border:1px solid var(--c-border);border-radius:var(--r2);background:var(--c-surface)}.inline-form input:focus,.inline-form select:focus{border-color:var(--c-accent);box-shadow:var(--ring);outline:none}fieldset button,.wizard button,.inline-form button{padding:7px 13px;border:1px solid var(--c-border);border-radius:var(--r2);background:var(--c-surface);color:var(--c-text);font-size:13px;font-weight:600}fieldset button:hover,.wizard button:hover,.inline-form button:hover{border-color:var(--c-border-strong);background:var(--c-surface-2)}fieldset button:disabled,.inline-form button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-accent)!important;color:#fff!important;border-color:var(--c-accent)!important}.btn-primary:hover{background:var(--c-accent-text)!important}.btn-ghost{background:none!important;border-color:transparent!important}.data-table{width:100%;border-collapse:collapse;margin-top:var(--s4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r3);overflow:hidden}.data-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);background:var(--c-surface-2);border-bottom:1px solid var(--c-border);position:sticky;top:0}.data-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--c-border);font-size:13px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--c-surface-2)}.error-text{color:var(--c-danger-fg)}.detail-cell{font-size:11px;word-break:break-all;color:var(--c-muted)}.wizard{max-width:480px;margin:var(--s4) 0}.wizard fieldset,section fieldset{border:1px solid var(--c-border);border-radius:var(--r3);padding:var(--s4);margin:var(--s3) 0;display:flex;flex-direction:column;gap:var(--s3);background:var(--c-surface)}.wizard fieldset legend,section fieldset legend{font-weight:650;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);padding:0 var(--s1)}.wizard-nav{display:flex;justify-content:space-between;margin-top:var(--s2)}.radio-row{display:flex;gap:var(--s2);align-items:center;font-size:13px}.dns-help{display:flex;flex-direction:column;gap:6px;padding:var(--s3);background:var(--c-warn-bg);border:1px solid color-mix(in srgb,var(--c-warn-fg) 30%,transparent);border-radius:var(--r3);font-size:13px}.dns-help code{background:var(--c-surface);padding:4px 8px;border-radius:var(--r1)}.state-badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--c-surface-2);color:var(--c-text-2);border:1px solid var(--c-border)}.state-active{background:var(--c-success-bg);color:var(--c-success-fg);border-color:transparent}.state-failed{background:var(--c-danger-bg);color:var(--c-danger-fg);border-color:transparent}.badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--c-border);color:var(--c-text-2);background:var(--c-surface-2)}.badge-frozen{color:var(--c-info-fg);background:var(--c-info-bg);border-color:transparent}.muted{color:var(--c-muted);font-size:13px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s3);margin-top:var(--s4)}.media-card{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r3);font-size:13px}.media-thumb{font-size:28px}.title-input{font-size:22px;font-weight:700;border:none;background:transparent;width:100%;color:var(--c-text)}.block-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r3);padding:10px 12px;margin:var(--s2) 0;display:flex;flex-direction:column;gap:6px}.block-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.block-card textarea{min-height:60px;font:inherit;border:1px solid var(--c-border);border-radius:var(--r2);padding:var(--s2)}.block-card textarea:focus{border-color:var(--c-accent);box-shadow:var(--ring);outline:none}.needs-review{color:var(--c-warn-fg);font-weight:700}.definition-editor{font-family:ui-monospace,monospace;font-size:12px}.diff-view{margin-top:var(--s2)}.diff-block{border-left:3px solid var(--c-border);padding:4px 10px;margin:6px 0}.diff-added{border-color:#16a34a}.diff-removed{border-color:var(--c-danger-fg)}.diff-changed{border-color:#d97706}.diff-line{margin:0;font-size:12px}.diff-line-add{color:#16a34a}.diff-line-del{color:var(--c-danger-fg)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r3);padding:var(--s3) var(--s4);margin:var(--s3) 0;box-shadow:var(--shadow-sm)}.card.warning{border-color:color-mix(in srgb,var(--c-warn-fg) 40%,transparent);background:var(--c-warn-bg)}.card.warning code{font-weight:700;word-break:break-all}.link-button{background:none;border:none;padding:0;color:var(--c-accent-text);cursor:pointer;font:inherit;text-decoration:underline}.state-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);text-align:center;padding:var(--s6) var(--s5);background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--r3);margin:var(--s4) 0;color:var(--c-text-2)}.state-panel .state-ico{font-size:28px;opacity:.8}.state-panel h3{margin:0;font-size:14px;color:var(--c-text)}.state-panel p{margin:0;max-width:42ch;color:var(--c-muted)}.state-panel.is-error{border-color:color-mix(in srgb,var(--c-danger-fg) 30%,transparent);background:var(--c-danger-bg)}.state-panel .state-actions{display:flex;gap:var(--s2);margin-top:var(--s1)}.state-panel button{padding:7px 14px;border:1px solid var(--c-border);border-radius:var(--r2);background:var(--c-surface);font-weight:600;font-size:13px}.skeleton{display:flex;flex-direction:column;gap:var(--s2);margin:var(--s4) 0}.skeleton-row{height:14px;border-radius:var(--r1);background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-border) 37%,var(--c-surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.genesis-steps{line-height:1.9}.genesis-preview{width:100%;height:520px;border:1px solid var(--c-border);border-radius:var(--r3);margin-top:var(--s3);background:#fff}.design-review .swatches{display:flex;gap:4px;margin:var(--s2) 0}.design-review .swatches span{width:22px;height:22px;border-radius:var(--r1);border:1px solid var(--c-border);display:inline-block}
