:root,[data-theme=dark]{color-scheme:dark;--canvas:#0B0B0C;--surface:#121214;--raised:#19191C;--hover:#1F1F23;--border-subtle:#1E1E22;--border:#2A2A30;--border-strong:#3A3A42;--text:#EDEDEF;--text-secondary:#A0A0AB;--text-muted:#6B6B76;--accent:#7B8CFF;--accent-hover:#93A0FF;--accent-fg:#0B0B0C;--accent-tint:rgba(123,140,255,0.14);--success:#34D399;--warning:#F5B841;--danger:#F0616D;--info:#60A5FA;--success-tint:rgba(52,211,153,0.12);--warning-tint:rgba(245,184,65,0.12);--danger-tint:rgba(240,97,109,0.12);--info-tint:rgba(96,165,250,0.10);--success-border:rgba(52,211,153,0.40);--warning-border:rgba(245,184,65,0.40);--danger-border:rgba(240,97,109,0.40);--info-border:rgba(96,165,250,0.40);--ring:rgba(123,140,255,0.60);--shadow-overlay:0 24px 48px rgba(0,0,0,0.50);--scrim:rgba(0,0,0,0.55)}[data-theme=light]{color-scheme:light;--canvas:#FAFAFA;--surface:#FFFFFF;--raised:#FFFFFF;--hover:#F4F4F5;--border-subtle:#EDEDEF;--border:#E4E4E7;--border-strong:#D4D4D8;--text:#18181B;--text-secondary:#52525B;--text-muted:#8A8A93;--accent:#4F5BD5;--accent-hover:#3F4BC4;--accent-fg:#FFFFFF;--accent-tint:rgba(79,91,213,0.10);--success:#159A6A;--warning:#B7791F;--danger:#D93F4C;--info:#2563EB;--success-tint:rgba(21,154,106,0.10);--warning-tint:rgba(183,121,31,0.10);--danger-tint:rgba(217,63,76,0.08);--info-tint:rgba(37,99,235,0.08);--success-border:rgba(21,154,106,0.40);--warning-border:rgba(183,121,31,0.40);--danger-border:rgba(217,63,76,0.40);--info-border:rgba(37,99,235,0.40);--ring:rgba(79,91,213,0.50);--shadow-overlay:0 24px 48px rgba(0,0,0,0.12);--scrim:rgba(24,24,27,0.35)}:root{--font-sans:"Geist","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--fs-title:22px;--lh-title:28px;--fs-section:15px;--lh-section:22px;--fs-body:14px;--lh-body:20px;--fs-table:13px;--lh-table:18px;--fs-meta:12px;--lh-meta:16px;--fs-mono:12.5px;--lh-mono:18px;--fs-th:11px;--r-chip:4px;--r-control:6px;--r-card:8px;--row-h:36px;--control-h:32px;--control-h-sm:28px;--sidebar-w:240px;--topbar-h:48px;--sheet-w:480px;--page-pad:24px;--page-max:1240px;--ease:cubic-bezier(0.2,0,0,1);--t-fast:120ms;--t-sheet:180ms}*,:after,:before{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{background:none;border:0;padding:0;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}dd,dl,h1,h2,h3,h4,p,ul{margin:0}ul{padding:0;list-style:none}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);line-height:var(--lh-mono)}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.subtle{color:var(--text-muted)}.meta,.subtle{font-size:var(--fs-meta);line-height:var(--lh-meta)}.meta{color:var(--text-secondary)}.strike{text-decoration:line-through;color:var(--text-muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right{text-align:right}kbd{min-width:18px;height:18px;padding:0 5px;border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:4px;background:var(--surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;line-height:15px;text-align:center}.ic,kbd{display:inline-block}.ic{width:14px;height:14px;flex:none;background-color:currentColor;vertical-align:-2px;-webkit-mask:var(--svg) center /contain no-repeat;mask:var(--svg) center /contain no-repeat}.ic-lg{width:16px;height:16px}.ic-xl{width:20px;height:20px}.ic-ext{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E")}.ic-copy{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E")}.ic-search{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.ic-sun{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E")}.ic-moon{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.ic-check{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.ic-clock{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")}.ic-alert{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}.ic-info{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E")}.ic-chev{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ic-chevr{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.ic-more{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.ic-plus{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E")}.ic-x{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E")}.ic-logout{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' x2='9' y1='12' y2='12'/%3E%3C/svg%3E")}.ic-left{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E")}.ic-right{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E")}.ic-mail{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E")}.ic-inbox{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E")}.ic-grid{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='14' y='3' rx='1'/%3E%3Crect width='7' height='7' x='14' y='14' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3C/svg%3E")}.ic-key{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z'/%3E%3Ccircle cx='16.5' cy='7.5' r='.5' fill='black'/%3E%3C/svg%3E")}.ic-pencil{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E")}.ic-lock{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}.ic-shield{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E")}.ic-globe{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E")}.ic-db{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5'/%3E%3Cpath d='M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E")}.ic-file{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E")}.ic-cmd{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3'/%3E%3C/svg%3E")}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:12px;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--text-secondary)}.brand-mark{color:var(--accent);font-size:11px}.nav{display:flex;flex-direction:column;gap:2px;margin-top:12px}.nav-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--r-control);font-size:13px;color:var(--text-secondary);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav-item.is-active,.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.is-active{font-weight:500}.nav-item.is-disabled{color:var(--text-muted);cursor:not-allowed}.nav-item.is-disabled:hover{background:transparent;color:var(--text-muted)}.tag{display:inline-flex;align-items:center;height:16px;padding:0 5px;margin-left:auto;border:1px solid var(--border);border-radius:var(--r-chip);font-family:var(--font-mono);font-size:10px;line-height:1;color:var(--text-muted)}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-subtle);gap:8px}.sidebar-foot,.user{display:flex;flex-direction:column}.user{gap:4px;padding:0 8px}.user .mono{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foot-actions{display:flex;gap:4px}.foot-actions .btn{flex:1 1;justify-content:flex-start}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;height:var(--topbar-h);justify-content:space-between;padding:0 var(--page-pad);background:var(--canvas);border-bottom:1px solid var(--border)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:8px;font-size:13px;color:var(--text-secondary);min-width:0}.crumbs a:hover{color:var(--text)}.crumbs .sep{color:var(--text-muted)}.crumbs .current{color:var(--text)}.topbar-right{display:flex;align-items:center;gap:12px}.kbd-hint{display:inline-flex;gap:3px}.page{padding:var(--page-pad);width:100%;max-width:var(--page-max)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:600;letter-spacing:-.01em}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.title-row .mono{color:var(--text-secondary)}.h-actions{margin-top:12px;flex-wrap:wrap}.actions,.h-actions{display:flex;gap:8px}.actions{align-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:16px 0 24px}.tab{padding:8px 10px;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.is-active,.tab:hover{color:var(--text)}.tab.is-active{border-color:var(--text);font-weight:500}.section{margin-bottom:32px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title{font-size:var(--fs-section);line-height:var(--lh-section);font-weight:500}.section-title,.toolbar{display:flex;align-items:center;gap:8px}.toolbar{margin-bottom:12px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:8px;height:var(--control-h);width:320px;padding:0 8px 0 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-control);color:var(--text-muted)}.search:focus-within{border-color:var(--accent);outline:2px solid var(--ring);outline-offset:1px}.search input{flex:1 1;min-width:0;background:none;border:0;outline:0;font-size:13px;color:var(--text)}.search input::placeholder{color:var(--text-muted)}.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;margin-left:auto}input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.toolbar .count{font-size:var(--fs-meta);color:var(--text-muted)}.card{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-card);padding:16px;min-width:0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title{font-size:var(--fs-section);line-height:var(--lh-section);font-weight:500}.card-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}.card.flush{padding:0;overflow:hidden}.card.flush .card-head{padding:12px 16px 0}.grid-2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.kv{display:grid;grid-template-columns:120px minmax(0,1fr);grid-row-gap:8px;row-gap:8px;grid-column-gap:16px;column-gap:16px;font-size:var(--fs-table)}.kv,.kv dt{line-height:var(--lh-table)}.kv dt{color:var(--text-secondary);font-size:var(--fs-meta)}.kv dd{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.kv.tight{grid-template-columns:72px minmax(0,1fr);row-gap:6px}.kv .editable{position:relative;border-radius:4px;padding:0 4px;margin-left:-4px;cursor:text}.kv .editable:hover{background:var(--hover)}.kv .editable:hover:after{content:"";position:absolute;right:-18px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--text-muted);-webkit-mask:var(--pencil) center /contain no-repeat;mask:var(--pencil) center /contain no-repeat}.kv .editable{--pencil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E")}.logo{width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-tint);color:var(--accent);font-weight:600;font-size:12px;letter-spacing:.02em;flex:none}.table{width:100%;border-collapse:collapse;font-size:var(--fs-table);line-height:var(--lh-table)}.table th{height:32px;padding:0 12px;text-align:left;white-space:nowrap;font-size:var(--fs-th);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border)}.table.sticky th{position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:1}.table td{height:var(--row-h);padding:0 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;white-space:nowrap}.table tbody tr{transition:background var(--t-fast) var(--ease)}.table tbody tr:hover td{background:var(--hover)}.table tr.is-link{cursor:pointer}.table .td-right,.table .th-right{text-align:right}.table td.wrap{white-space:normal}.card.flush .table th{background:transparent}.card.flush .table tbody tr:last-child td{border-bottom:0}.cell-app{display:flex;align-items:center;gap:8px;min-width:0}.cell-app .name{font-weight:500;color:var(--text)}.cell-app .slug{color:var(--text-muted)}.cell-actions{position:relative;width:40px;text-align:right}.cell-actions .btn-icon{opacity:0}.cell-actions:focus-within .btn-icon,tr:hover .cell-actions .btn-icon{opacity:1}.ext{display:inline-flex;align-items:center;gap:4px;color:var(--text)}.ext .ic{color:var(--text-muted);width:12px;height:12px}.ext:hover{text-decoration:underline;text-underline-offset:3px}.ref{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.ref-hub{color:var(--text)}.copy{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--text-muted)}.copy:hover{background:var(--hover);color:var(--text)}.copy .ic{width:12px;height:12px}.sub-line{display:block;font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--text-muted)}.chip{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-chip);font-size:11px;line-height:1;font-weight:500;color:var(--text-secondary);white-space:nowrap;vertical-align:middle}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip.no-dot:before{display:none}.chip.hollow:before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}.c-success{color:var(--success);background:var(--success-tint)}.c-success,.c-warning{border-color:transparent}.c-warning{color:var(--warning);background:var(--warning-tint)}.c-danger{color:var(--danger);background:var(--danger-tint)}.c-danger,.c-info{border-color:transparent}.c-info{color:var(--info);background:var(--info-tint)}.c-accent{color:var(--accent);background:var(--accent-tint);border-color:transparent}.c-muted{color:var(--text-muted);border-color:var(--border)}.chip-lane{width:22px;padding:0;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);border-color:var(--border-strong)}.chip-lane:before{display:none}.chip-lane.is-unknown{color:var(--warning);border-color:var(--warning)}.chip-mono{font-family:var(--font-mono);font-weight:500}.chip .ic{width:11px;height:11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 12px;border:1px solid transparent;border-radius:var(--r-control);font-size:13px;font-weight:500;white-space:nowrap;color:var(--text);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--raised);border-color:var(--border)}.btn-secondary:hover{background:var(--hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--hover);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-sm{padding:0 10px;font-size:12.5px}.btn-icon,.btn-sm{height:var(--control-h-sm)}.btn-icon{width:var(--control-h-sm);padding:0}.btn.is-disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn .tag{margin-left:2px;height:14px}.menu{display:none;position:absolute;right:0;top:calc(100% + 4px);min-width:200px;padding:4px;background:var(--raised);border:1px solid var(--border);border-radius:var(--r-control);box-shadow:var(--shadow-overlay);z-index:10;text-align:left}.cell-actions:focus-within .menu,.has-menu:focus-within .menu{display:block}.menu a,.menu button{display:flex;width:100%;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:13px;color:var(--text);white-space:nowrap}.menu a:hover,.menu button:hover{background:var(--hover)}.menu .ic{color:var(--text-muted)}.menu .divider{height:1px;background:var(--border-subtle);margin:4px 0}.menu .danger{color:var(--danger)}.has-menu{position:relative}.input,.select,.textarea{width:100%;height:var(--control-h);padding:0 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-control);font-size:13px;color:var(--text);outline:0;transition:border-color var(--t-fast) var(--ease)}.textarea{height:auto;min-height:72px;padding:8px 10px;resize:vertical;line-height:18px}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:2px solid var(--ring);outline-offset:1px}.input:disabled,.input[readonly]{background:var(--hover);color:var(--text-secondary)}.input.mono{font-family:var(--font-mono);font-size:var(--fs-mono)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-weight:500;color:var(--text-secondary)}.field .help,.field>label{font-size:var(--fs-meta);line-height:var(--lh-meta)}.field .help{color:var(--text-muted)}.field .error{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--danger);display:flex;align-items:center;gap:4px}.field.is-error .input{border-color:var(--danger)}.field.is-locked .input{background:var(--hover);color:var(--text-secondary)}.form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-section{padding-top:16px;border-top:1px solid var(--border-subtle)}.form-section:first-child{padding-top:0;border-top:0}.inline-select{height:24px;padding:0 22px 0 6px;font-size:12.5px;width:auto;background-position:right 4px center}.radio-card{display:flex;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--r-card);cursor:pointer}.radio-card:hover{border-color:var(--border-strong);background:var(--hover)}.radio-card.is-selected{border-color:var(--accent);background:var(--accent-tint)}.radio-card input{margin-top:3px;accent-color:var(--accent)}.radio-card strong{display:block;font-weight:500}.banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:16px;border:1px solid;border-radius:var(--r-card);font-size:13px;line-height:18px}.banner .ic{width:16px;height:16px}.banner .banner-actions{margin-left:auto;display:flex;gap:8px}.banner-warning{border-color:var(--warning-border);background:var(--warning-tint)}.banner-warning>.ic{color:var(--warning)}.banner-danger{border-color:var(--danger-border);background:var(--danger-tint)}.banner-danger>.ic{color:var(--danger)}.banner-info{border-color:var(--info-border);background:var(--info-tint)}.banner-info>.ic{color:var(--info)}.banner-success{border-color:var(--success-border);background:var(--success-tint)}.banner-success>.ic{color:var(--success)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:32px 16px}.empty .ic{width:16px;height:16px;color:var(--text-muted);margin-bottom:6px}.empty strong{font-weight:500}.empty p{color:var(--text-secondary);font-size:13px}.empty .actions{margin-top:12px}.placeholder{display:flex;align-items:center;gap:10px;padding:24px 0;color:var(--text-muted);font-size:13px}.placeholder .ic{width:16px;height:16px}.placeholder .actions{margin-left:auto}.stepper{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:28px}.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.step:before{content:"";position:absolute;top:11px;left:-50%;right:50%;height:1.5px;background:var(--border-strong)}.step:first-child:before{display:none}.step .dot{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);background:var(--canvas);font-family:var(--font-mono);font-size:11px}.step.is-done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.step.is-done .dot .ic{width:12px;height:12px}.step.is-current:before,.step.is-done:before{background:var(--accent)}.step.is-current{color:var(--text);font-weight:500}.step.is-current .dot{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px var(--accent-tint)}.step.is-done{color:var(--text-secondary);cursor:pointer}.step-hit{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:inherit}.step-hit:disabled{cursor:default}.step-title{font-size:17px;line-height:24px;font-weight:600;letter-spacing:-.01em}.step-lead{color:var(--text-secondary);font-size:13px;margin-top:4px}.sender-form .req{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:6px}.add-optional{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px dashed var(--border-strong);border-radius:var(--r-card);color:var(--text-secondary);font-size:13px;cursor:pointer;background:none;width:100%}.add-optional:hover{background:var(--hover);color:var(--text)}.dns.standalone{margin:0}.dns .val .input{width:min(100%,280px);height:28px}.tick-list{display:flex;flex-direction:column;gap:8px}.tick-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:18px;color:var(--text-secondary);cursor:pointer}.wizard{display:grid;grid-template-columns:minmax(0,640px) 280px;grid-gap:24px;gap:24px;align-items:start}.rail{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 24px)}.rail .kv{grid-template-columns:64px 1fr}.checklist{display:flex;flex-direction:column;gap:6px;font-size:13px}.checklist li{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.checklist li .dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;flex:none}.checklist li.is-done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.checklist li.is-done .dot .ic{width:9px;height:9px}.checklist li.is-current{color:var(--text);font-weight:500}.checklist li.is-current .dot{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.wizard-foot{position:-webkit-sticky;position:sticky;bottom:0;align-items:center;justify-content:space-between;padding:12px 0;margin-top:8px;background:var(--canvas);border-top:1px solid var(--border)}.wizard-foot,.wizard-foot .right-group{display:flex;gap:8px}.scrim{inset:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-sheet) var(--ease);z-index:20}.scrim,.sheet{position:fixed}.sheet{top:0;right:0;bottom:0;width:var(--sheet-w);z-index:21;display:flex;flex-direction:column;background:var(--raised);border-left:1px solid var(--border);box-shadow:var(--shadow-overlay);transform:translateX(100%);transition:transform var(--t-sheet) var(--ease)}body.sheet-open .scrim{opacity:1;pointer-events:auto}body.sheet-open .sheet{transform:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.sheet-head h2{font-size:var(--fs-section);font-weight:500}.sheet-body{flex:1 1;overflow:auto;padding:20px}.sheet-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.modal-wrap{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;background:var(--scrim)}body.modal-open .modal-wrap{display:flex}.modal{width:440px;box-shadow:var(--shadow-overlay)}.modal h2{font-size:var(--fs-section);font-weight:500;margin-bottom:8px}.modal p{color:var(--text-secondary);font-size:13px;line-height:18px}.modal .modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:40;width:max-content;max-width:300px;padding:6px 8px;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:var(--r-control);box-shadow:var(--shadow-overlay);font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:400;text-transform:none;letter-spacing:0;white-space:pre-line;text-align:left;pointer-events:none}[data-tip].tip-right:hover:after{left:auto;right:0}.domain-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border-subtle)}.domain-row:first-child{border-top:0}.domain-row .domain{font-family:var(--font-mono);font-size:13px;color:var(--text)}.domain-row .spacer{flex:1 1}.dns{margin:0 16px 12px;border:1px solid var(--border-subtle);border-radius:var(--r-control);overflow:hidden}.dns .table th{background:var(--surface)}.dns .table td{height:34px}.dns .val{max-width:360px;overflow:hidden;text-overflow:ellipsis}.dns .hint{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-top:1px solid var(--border-subtle);font-size:12px;line-height:16px;color:var(--text-secondary);background:var(--surface)}.dns .hint .ic{color:var(--info);margin-top:1px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-card{width:400px;background:var(--raised);border:1px solid var(--border);border-radius:var(--r-card);padding:28px}.auth-card .brand{padding:0;height:auto;margin-bottom:20px}.auth-card h1{font-size:20px;line-height:26px;font-weight:600;letter-spacing:-.01em;margin-bottom:4px}.auth-card .lead{color:var(--text-secondary);font-size:13px;margin-bottom:20px}.auth-card .foot{margin-top:16px;font-size:12px;line-height:16px;color:var(--text-muted)}.auth-card .foot a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}.auth-toggle{position:absolute;top:16px;right:16px}.auth-state-sent{display:block}.auth-page.is-sent .auth-state-form{display:none}.auth-page.is-sent .auth-state-sent{display:block}.landing{max-width:960px;margin:0 auto;padding:48px 24px 64px}.landing h1{font-size:26px;line-height:32px;font-weight:600;letter-spacing:-.01em}.landing .lead{color:var(--text-secondary);margin:8px 0 24px;max-width:640px}.screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.screen-card{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--raised);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.screen-card:hover{border-color:var(--border-strong);background:var(--hover)}.screen-card .num{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);width:24px;flex:none;padding-top:2px}.screen-card strong{display:block;font-weight:500}.screen-card p{font-size:13px;color:var(--text-secondary);margin-top:2px}.landing h2{font-size:var(--fs-section);font-weight:500;margin:32px 0 12px}.landing code{background:var(--hover);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px}.landing code,.landing pre{font-family:var(--font-mono);font-size:12.5px}.landing pre{line-height:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);padding:12px 14px;overflow:auto;margin:0}.landing ol,.landing ul{padding-left:20px;color:var(--text-secondary);font-size:13px;line-height:20px}.landing ol{list-style:decimal}.landing ul{list-style:disc}.landing li{margin:4px 0}.landing a.doc{color:var(--text);text-decoration:underline;text-underline-offset:3px}@media (max-width:1024px){.col-md,.rail{display:none}.wizard{grid-template-columns:minmax(0,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:768px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--border);padding:8px 12px}.nav,.sidebar{flex-direction:row}.nav{margin:0 0 0 8px}.sidebar-foot{margin:0 0 0 auto;border:0;padding:0;flex-direction:row}.user{display:none}.form-row,.grid-2,.grid-3{grid-template-columns:1fr}.search,.sheet{width:100%}.check{margin-left:0}}.apps-table tr.is-platform{display:none}.apps-table.show-platform tr.is-platform{display:table-row}.apps-table .cell-app .name{min-width:0}.apps-table .lane-short{display:none;margin-left:8px;font-size:12px}@media (min-width:1100px){.apps-table .lane-short{display:inline}}.lane-legend{display:grid;grid-gap:10px;gap:10px;margin:0 0 16px;padding:12px 14px;list-style:none;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-control)}@media (min-width:900px){.lane-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}.lane-legend li{display:flex;gap:10px;align-items:flex-start;min-width:0}.lane-legend strong{display:block;font-size:12px;font-weight:600;color:var(--text)}.lane-legend-desc{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--text-muted)}.lane-dd .lane-help{flex-basis:100%;margin:6px 0 0;max-width:42rem}.lane-ok{color:var(--success)}.lane-ok,.lane-warn{display:inline-flex;align-items:center;gap:4px;font-size:12px}.lane-warn{color:var(--warning)}.domain-list{display:flex;flex-direction:column;gap:6px;margin-top:4px;list-style:none;padding:0}.domain-list li{display:flex;align-items:center;gap:8px;font-size:13px}.domain-list .mono{color:var(--text)}.json{font-family:var(--font-mono);font-size:12px;line-height:18px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-control);padding:12px 14px;margin-top:12px;white-space:pre;overflow:auto}details.card>summary{display:flex;align-items:center;gap:6px;font-size:var(--fs-section);font-weight:500;cursor:pointer;list-style:none}details.card>summary .ic{color:var(--text-muted);transition:transform var(--t-fast) var(--ease)}details.card[open]>summary .ic{transform:rotate(90deg)}.field-error{color:var(--danger);font-size:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:80;padding:24px}.modal{width:min(440px,100%);background:var(--raised);border:1px solid var(--border);border-radius:var(--r-card);padding:20px;box-shadow:0 16px 48px rgba(0,0,0,.4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.env-switch{display:flex;align-items:center;gap:8px;padding-top:2px;font-size:13px;color:var(--text-secondary)}.env-switch .select{width:120px;height:var(--control-h-sm)}.sender .card-head{margin-bottom:8px}.sender .kv{margin-top:4px}.sender .inherit{font-size:12px;color:var(--text-muted)}.mail-key-truncate{max-width:150px}.mail-sender-empty{padding:16px 0 4px}.mail-compact-empty{padding:24px 16px}.link-card{display:flex;align-items:center;gap:12px;padding:12px 16px}.link-card .ic-lg{color:var(--text-muted)}.link-card .grow{flex:1 1;min-width:0}.link-card strong{display:block;font-weight:500}.manual{margin-left:6px}.mail-table-scroll{width:100%;overflow-x:auto}.mail-copy-value{display:inline-flex;align-items:center;gap:4px;max-width:100%}.dns-dkim-input{min-width:290px;height:28px}.mail-dns-error{padding:0 12px 10px}.mail-warning{color:var(--warning)!important}.mail-field-label{font-size:var(--fs-meta);line-height:var(--lh-meta);font-weight:500;color:var(--text-secondary)}.mail-inline-note{margin-left:6px}.mail-sheet-form{display:flex;flex:1 1;min-height:0;flex-direction:column}.sheet-head>div{min-width:0}.sheet-head [data-vaul-drawer-description]{display:block;margin-top:2px}.scrim[data-state=open]{opacity:1;pointer-events:auto}.scrim[data-state=closed]{opacity:0;pointer-events:none}.sheet[data-state=open]{transform:translateX(0)}.sheet[data-state=closed]{transform:translateX(100%)}.rotation-list{display:flex;flex-direction:column;gap:12px;padding:0;margin:0;list-style:none;counter-reset:rotation-step}.rotation-list li{counter-increment:rotation-step}.rotation-list label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;color:var(--text-secondary);font-size:13px;line-height:19px;cursor:pointer}.rotation-list label span:before{content:counter(rotation-step) ". ";color:var(--text-muted)}.rotation-list input{margin-top:2px}.mail-rotation-field{margin-top:24px}.mail-modal{position:fixed;top:50%;left:50%;z-index:81;transform:translate(-50%,-50%)}.mail-modal-error{margin-top:12px}@media (max-width:768px){.page-head{flex-direction:column}.placeholder{align-items:flex-start;flex-wrap:wrap}.placeholder .actions{width:100%;margin-left:26px}.mail-modal{width:calc(100% - 32px)}}