.landing{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-subtle)}.landing-nav{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-8);z-index:10}.landing-brand{font-size:var(--text-md);font-weight:700;color:#fff;letter-spacing:-.01em}.landing-hero{position:relative;min-height:540px;overflow:hidden;display:flex;align-items:center;justify-content:center}.landing-hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:opacity 1.5s ease-in-out}.landing-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.18) 100%);display:flex;align-items:center;justify-content:center}.landing-hero-content{position:relative;text-align:center;color:#fff;padding:var(--sp-8);max-width:640px}.landing-badge{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#ffffffe6;font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:4px 14px;border-radius:var(--radius-full);margin-bottom:var(--sp-5)}.landing-headline{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#fff;margin:0 0 var(--sp-4)}.landing-tagline{font-size:var(--text-lg);color:#ffffffc7;margin:0 0 var(--sp-8);line-height:var(--leading-normal)}.landing-cta{padding:11px 28px!important;font-size:var(--text-base)!important;box-shadow:0 4px 14px #0000004d}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-6);padding:var(--sp-12) var(--sp-8);max-width:1020px;margin:0 auto;width:100%;box-sizing:border-box}.landing-feature-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}.landing-feature-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4)}.landing-feature-title{font-size:var(--text-md);font-weight:600;color:var(--color-text);margin:0 0 var(--sp-2)}.landing-feature-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);margin:0}.landing-footer{text-align:center;padding:var(--sp-6) var(--sp-8);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-subtle);margin-top:auto}@media (max-width: 768px){.landing-headline{font-size:32px}.landing-nav{padding:var(--sp-4) var(--sp-5)}.landing-features{padding:var(--sp-8) var(--sp-4)}}.signup-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-5);overflow:hidden}.signup-bg-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:opacity 1.5s ease-in-out}.signup-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 100%)}.signup-card{position:relative;z-index:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-8);width:100%;max-width:820px}.signup-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0 0 var(--sp-2)}.signup-required-note{font-size:var(--text-sm);color:var(--color-accent);margin:0 0 var(--sp-6)}.signup-field-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--sp-1)}.signup-form{display:flex;flex-direction:column;gap:var(--sp-5)}.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-6)}.signup-field{display:flex;flex-direction:column;gap:var(--sp-1)}.signup-field--eula{justify-content:flex-end;padding-bottom:var(--sp-1)}.signup-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.signup-input{height:36px;padding:0 var(--sp-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .12s,box-shadow .12s}.signup-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.signup-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.signup-eula-label{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;line-height:var(--leading-normal)}.signup-eula-label a{color:var(--color-accent);text-decoration:none}.signup-eula-label a:hover{text-decoration:underline}.signup-error{font-size:var(--text-sm);color:var(--color-danger);margin:0;line-height:var(--leading-normal)}.signup-actions{display:flex;align-items:center;gap:var(--sp-4)}.signup-return-link{display:inline-block;margin-top:var(--sp-5);font-size:var(--text-sm);color:var(--color-accent);text-decoration:none}.signup-return-link:hover{text-decoration:underline}.signup-card-field-wrapper{display:flex;flex-direction:column;gap:var(--sp-1)}.signup-card-element{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:10px var(--sp-3);background:var(--color-bg);transition:border-color .12s,box-shadow .12s}.signup-card-element:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.signup-success-message{font-size:var(--text-base);color:var(--color-text-muted);margin:0 0 var(--sp-6);line-height:var(--leading-normal)}@media (max-width: 640px){.signup-grid{grid-template-columns:1fr}}:root{--sidebar-bg: #111827;--sidebar-hover: #1f2937;--sidebar-active: #1f2937;--sidebar-text: #9ca3af;--sidebar-text-active: #f9fafb;--sidebar-border: #1f2937;--sidebar-width: 220px;--color-bg: #ffffff;--color-bg-subtle: #f9fafb;--color-bg-muted: #f3f4f6;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-input-bg: #fef08a;--color-text: #111827;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-subtle: #eff6ff;--color-accent-muted: #dbeafe;--color-accent-text: #1e40af;--color-success: #16a34a;--color-success-subtle: #f0fdf4;--color-success-muted: #bbf7d0;--color-warning: #d97706;--color-warning-subtle: #fffbeb;--color-warning-muted: #fde68a;--color-danger: #dc2626;--color-danger-subtle: #fef2f2;--color-danger-muted: #fecaca;--color-neutral-subtle: #f3f4f6;--color-neutral-muted: #e5e7eb;--color-neutral-text: #374151;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.07), 0 4px 6px -2px rgba(0,0,0,.03);--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--leading-tight: 1.3;--leading-normal: 1.5;--header-height: 56px;--color-section-header-bg: #f3f4f6;--color-section-header-text: #111827;--color-page-header-bg: #f3f4f6;--color-page-header-text: #111827}[data-theme=dark]{--color-bg: #0d1117;--color-bg-subtle: #161b22;--color-bg-muted: #21262d;--color-border: #30363d;--color-border-strong: #484f58;--color-text: #e6edf3;--color-text-muted: #8b949e;--color-text-subtle: #6e7681;--color-success-subtle: #0d2b1a;--color-success-muted: #166534;--color-warning-subtle: #2b1d05;--color-warning-muted: #92400e;--color-danger-subtle: #2b0a0a;--color-danger-muted: #991b1b;--color-neutral-subtle: #21262d;--color-neutral-muted: #30363d;--color-neutral-text: #c9d1d9;--sidebar-bg: #010409;--sidebar-hover: #0d1117;--sidebar-active: #0d1117;--sidebar-border: #21262d;--sidebar-text: #8b949e;--sidebar-text-active: #e6edf3;--color-section-header-bg: #21262d;--color-section-header-text: #e6edf3;--color-page-header-bg: #21262d;--color-page-header-text: #e6edf3;--color-input-bg: #3d3200}.app-shell{display:flex;min-height:100vh;background:var(--color-bg)}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:50;transition:transform .2s ease}.sidebar-logo{height:var(--header-height);padding:0 var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo-text{color:var(--sidebar-text-active);font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:var(--sp-2) var(--sp-2);overflow-y:auto}.nav-group-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--sidebar-text);padding:var(--sp-3) var(--sp-2) var(--sp-1);opacity:.6}.nav-item{display:flex;align-items:center;gap:var(--sp-2);padding:7px var(--sp-2);border-radius:var(--radius-md);color:var(--sidebar-text);text-decoration:none;font-size:var(--text-sm);font-weight:500;cursor:pointer;background:none;border:none;width:100%;text-align:left;transition:background .12s,color .12s;position:relative;margin-bottom:1px;line-height:var(--leading-tight)}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:16px;width:2px;background:var(--color-accent);border-radius:0 2px 2px 0}.nav-item svg{flex-shrink:0;opacity:.65}.nav-item.active svg,.nav-item:hover svg{opacity:1}.nav-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.nav-collapsible{width:100%}.nav-sub-item{padding-left:calc(var(--sp-2) + 20px);font-size:var(--text-xs)}.nav-sub-hint{padding:var(--sp-2) var(--sp-4) var(--sp-2) calc(var(--sp-2) + 20px);font-size:var(--text-xs);color:var(--color-text-subtle);font-style:italic}.sidebar-footer{padding:var(--sp-2) var(--sp-2);border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-md);margin-bottom:var(--sp-1)}.user-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0}.user-info{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:500;color:var(--sidebar-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:var(--leading-tight)}.user-role{font-size:var(--text-xs);color:var(--sidebar-text);line-height:var(--leading-tight)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.header{height:var(--header-height);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--sp-6);gap:var(--sp-3);position:sticky;top:0;background:var(--color-bg);z-index:40;flex-shrink:0}.header-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--sp-1);color:var(--color-text-muted);border-radius:var(--radius-sm);flex-shrink:0}.header-menu-btn:hover{background:var(--color-bg-muted);color:var(--color-text)}.header-title{font-size:var(--text-md);font-weight:600;color:var(--color-text);flex:1;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:var(--sp-2)}.page-content{flex:1;padding:var(--sp-8);max-width:1200px;width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-8);gap:var(--sp-4)}.page-header-text{flex:1}.page-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text);letter-spacing:-.025em;line-height:var(--leading-tight);margin:0 0 4px}.page-subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin:0}.page-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background:var(--color-page-header-bg);border-radius:var(--radius-lg);margin-bottom:var(--sp-6)}.page-banner-title{font-size:var(--text-xl);font-weight:700;color:var(--color-page-header-text);letter-spacing:-.025em;margin:0}.page-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);align-items:start}.page-col{display:flex;flex-direction:column;gap:var(--sp-6)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);z-index:49;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main-content{margin-left:0}.header-menu-btn{display:flex}.page-content{padding:var(--sp-5) var(--sp-4)}.page-header{flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--radius-md);font-family:var(--font);font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;white-space:nowrap;text-decoration:none;line-height:1}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font-size:var(--text-sm);padding:6px 10px}.btn-md{font-size:var(--text-base);padding:8px 14px}.btn-lg{font-size:var(--text-md);padding:10px 18px}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.btn-danger{background:var(--color-bg);color:var(--color-danger);border-color:var(--color-border-strong)}.btn-danger:hover:not(:disabled){background:var(--color-danger-subtle);border-color:var(--color-danger-muted)}.btn-section{background:var(--color-section-header-bg);color:var(--color-section-header-text);border-color:var(--color-section-header-bg);border-radius:var(--radius-full)}.btn-section:hover:not(:disabled){opacity:.82}.btn-sidebar{background:var(--sidebar-bg);color:var(--sidebar-text-active);border-color:var(--sidebar-bg);border-radius:var(--radius-full)}.btn-sidebar:hover:not(:disabled){opacity:.82}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:500;padding:2px 8px;border-radius:var(--radius-full);line-height:1.6;letter-spacing:.01em}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-accent-subtle);color:var(--color-accent-text)}.badge-neutral{background:var(--color-neutral-subtle);color:var(--color-neutral-text)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-none{padding:0}.card-sm{padding:var(--sp-4)}.card-md{padding:var(--sp-5) var(--sp-6)}.card-lg{padding:var(--sp-8)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--color-border);background:var(--color-section-header-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-title{font-size:var(--text-base);font-weight:600;color:var(--color-section-header-text);margin:0}.card-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:4px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-8)}.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);box-shadow:var(--shadow-xs)}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;margin-bottom:var(--sp-2)}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);letter-spacing:-.03em;line-height:1;margin-bottom:var(--sp-1)}.stat-delta{font-size:var(--text-xs);color:var(--color-text-subtle)}.stat-delta.positive{color:var(--color-success)}.stat-delta.negative{color:var(--color-danger)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.form-input,.form-select{font-family:var(--font);font-size:var(--text-base);color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:8px 12px;width:100%;transition:border-color .12s,box-shadow .12s;outline:none;box-shadow:var(--shadow-xs);line-height:var(--leading-normal)}.form-input:hover,.form-select:hover{border-color:#adb5c2}.form-input:focus,.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-input:disabled,.form-select:disabled{background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:not-allowed}.form-hint{font-size:var(--text-sm);color:var(--color-text-subtle)}.form-error{font-size:var(--text-sm);color:var(--color-danger)}.form-input.has-error,.form-select.has-error{border-color:var(--color-danger)}.form-input.has-error:focus,.form-select.has-error:focus{box-shadow:0 0 0 3px var(--color-danger-muted)}.table-wrap{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:collapse;font-size:var(--text-base)}thead{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}th{padding:10px var(--sp-4);text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}td{padding:12px var(--sp-4);color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:middle;line-height:var(--leading-normal)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-bg-subtle)}tbody tr.selected td{background:var(--color-accent-muted)}tbody tr.selected:hover td{background:var(--color-accent-muted);filter:brightness(.93)}.td-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.td-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--sp-6)}.tab-item{padding:10px var(--sp-4);font-size:var(--text-base);font-weight:500;color:var(--color-text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;font-family:var(--font)}.tab-item:hover{color:var(--color-text)}.tab-item.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.skeleton{background:linear-gradient(90deg,var(--color-bg-muted) 25%,var(--color-bg-subtle) 50%,var(--color-bg-muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-8);text-align:center;gap:var(--sp-3)}.empty-icon{color:var(--color-text-subtle);margin-bottom:var(--sp-1)}.empty-title{font-size:var(--text-md);font-weight:600;color:var(--color-text);margin:0}.empty-description{font-size:var(--text-base);color:var(--color-text-muted);max-width:360px;margin:0;line-height:var(--leading-normal)}.section{margin-bottom:var(--sp-8)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.section-title{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin:0}.section-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:4px 0 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.data-grid-row{display:grid;align-items:center;min-height:32px;border-bottom:1px solid var(--color-border)}.dg-5{grid-template-columns:2.5fr 1fr 1fr 1fr 1fr}.dg-col-head{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-decoration:underline;text-align:center;padding:var(--sp-2)}.dg-col-head:first-child{text-align:right;padding-right:var(--sp-4)}.dg-label{font-size:var(--text-sm);color:var(--color-text);text-align:right;padding:var(--sp-1) var(--sp-4)}.dg-cell{font-size:var(--text-sm);color:var(--color-text);text-align:right;padding:var(--sp-1) var(--sp-2)}.dg-cell-muted{color:var(--color-text-muted);font-size:var(--text-xs);font-style:italic;text-align:center;padding:var(--sp-1) var(--sp-2)}.dg-input{width:100%;box-sizing:border-box;font-family:var(--font);font-size:var(--text-sm);color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:3px 8px;text-align:right;outline:none;transition:border-color .12s,box-shadow .12s}.dg-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.data-grid-total{display:grid;align-items:center;background:#17c0d5;border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:38px}.dg-total-label{color:#dc2626;font-weight:700;font-size:var(--text-sm);text-align:right;padding:var(--sp-2) var(--sp-4)}.dg-total-value{color:#fff;font-weight:600;font-size:var(--text-sm);text-align:right;padding:var(--sp-2) var(--sp-2)}.dg-total-muted{color:#ffffffbf;font-size:var(--text-xs);font-style:italic;text-align:right;padding:var(--sp-2) var(--sp-2)}.card-subsection{background:var(--color-bg-muted);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--sp-2) var(--sp-6);text-align:center}.card-subsection-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}.field-row{display:flex;align-items:center;padding:var(--sp-2) 0;gap:var(--sp-6);border-bottom:1px solid var(--color-border)}.field-row:last-child{border-bottom:none}.field-row-label{flex:1;text-align:right;font-size:var(--text-sm);color:var(--color-text);padding-right:var(--sp-2)}.field-row-label.accent{color:var(--color-accent);font-weight:500}.field-row-value{width:110px;text-align:right;flex-shrink:0;font-size:var(--text-base);color:var(--color-text-muted);padding-right:12px}.field-row-total{display:flex;align-items:center;gap:var(--sp-6);background:var(--color-success);border-radius:var(--radius-md);padding:var(--sp-2) 0;margin-top:var(--sp-2);border-bottom:none}.field-row-total .field-row-label{color:#fff;font-weight:600}.field-row-total .field-row-value{color:#fff;font-weight:700}.field-row-input{width:110px;text-align:right;flex-shrink:0}.form-actions{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--color-border);margin-top:var(--sp-6)}.search-bar{position:relative;display:inline-flex;align-items:center}.search-bar svg{position:absolute;left:10px;color:var(--color-text-subtle);pointer-events:none}.search-input{font-family:var(--font);font-size:var(--text-base);color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:8px 12px 8px 34px;outline:none;width:240px;box-shadow:var(--shadow-xs);transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);gap:var(--sp-3);flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-4);animation:overlay-in .15s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0003,0 4px 16px #0000001a;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:modal-in .18s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--text-md);font-weight:600;color:var(--color-text);margin:0}.modal-close{color:var(--color-text-muted);padding:4px}.modal-body{padding:var(--sp-6);overflow-y:auto;flex:1}.modal-wide{max-width:640px}.modal-add-row{display:flex;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-5)}.modal-add-row .form-group{flex:1;margin-bottom:0}.modal-section{margin-bottom:var(--sp-5)}.modal-section-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--sp-2)}.modal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.modal-table th{text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:500}.modal-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--color-border-light, var(--color-border))}.modal-table tr:last-child td{border-bottom:none}.modal-table td:last-child{text-align:right;width:80px}.modal-empty{color:var(--color-text-muted);font-style:italic;text-align:center;padding:var(--sp-4)}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--sp-6) 0}@media (max-width: 640px){.stat-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.search-input{width:100%}.toolbar{flex-direction:column;align-items:stretch}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button,input,select,textarea{font-family:inherit}
