@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-xxl:24px;--spacing-xxxl:32px;--spacing-huge:40px;--radii-sm:8px;--radii-md:14px;--radii-lg:20px;--radii-xl:28px;--radii-pill:999px;--color-background:#f8fafc;--color-background-secondary:#f1f5f9;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#334155;--color-text-muted:#64748b;--color-accent:#0d9488;--color-accent-muted:#ccfbf1;--color-accent-ink:#fff;--color-success:#10b981;--color-success-muted:#e6f4ea;--color-warning:#f59e0b;--color-warning-muted:#fef7e0;--color-danger:#ef4444;--color-danger-muted:#fce8e6;--color-overlay:#0f172a66;--shadow-sm:0 2px 6px #0f172a0a;--shadow-md:0 8px 16px #0f172a0f;--shadow-lg:0 16px 28px #0f172a1a}html[data-theme=dark]{--color-background:#090d16;--color-background-secondary:#111625;--color-surface:#181e30;--color-surface-hover:#222a45;--color-border:#242e4a;--color-border-strong:#33416b;--color-text:#f8fafc;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-accent:#2dd4bf;--color-accent-muted:#134e4a;--color-accent-ink:#022c22;--color-success:#34d399;--color-success-muted:#0a3b2a;--color-warning:#fbbf24;--color-warning-muted:#4b2c05;--color-danger:#f87171;--color-danger-muted:#4f1212;--color-overlay:#0009;--shadow-sm:0 2px 6px #0003;--shadow-md:0 8px 16px #0000004d;--shadow-lg:0 16px 28px #00000073}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;transition:background-color .2s,color .2s;overflow-x:hidden}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;outline:none}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:26px;font-weight:700;line-height:1.25}h2{font-size:20px;font-weight:600;line-height:1.3}h3{font-size:17px;font-weight:600;line-height:1.35}.text-display{font-size:32px;font-weight:800;line-height:1.2}.text-body{font-size:15px;font-weight:400}.text-body-strong{font-size:15px;font-weight:600}.text-small{font-size:13px;font-weight:400}.text-caption{font-size:12px;font-weight:500}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radii-lg);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0)scale(.99)}.card-padded{padding:var(--spacing-lg)}.card-status-bar{width:4px;position:absolute;top:0;bottom:0;left:0}.stat-tile{flex-direction:column;justify-content:space-between;height:100%;min-height:100px;display:flex}.stat-tile-value{color:var(--color-text);margin-top:var(--spacing-xs);font-size:24px;font-weight:700}.status-pill{padding:4px var(--spacing-sm);border-radius:var(--radii-pill);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.status-pill.success{background-color:var(--color-success-muted);color:var(--color-success)}.status-pill.warning{background-color:var(--color-warning-muted);color:var(--color-warning)}.status-pill.danger{background-color:var(--color-danger-muted);color:var(--color-danger)}.status-pill.accent{background-color:var(--color-accent-muted);color:var(--color-accent)}.status-pill.neutral{background-color:var(--color-background-secondary);color:var(--color-text-muted)}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radii-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);white-space:nowrap;border:1px solid #0000;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--color-accent);color:var(--color-accent-ink)}.btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 0 12px #0d948833}.btn-secondary{background-color:var(--color-background-secondary);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9;box-shadow:0 0 12px #ef444433}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px var(--spacing-md);border-radius:var(--radii-sm);font-size:13px}.input-group{margin-bottom:var(--spacing-md);flex-direction:column;width:100%;display:flex}.input-label{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:13px;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-field{width:100%;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radii-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.input-field-with-icon{padding-left:var(--spacing-huge)}.input-icon{left:var(--spacing-lg);color:var(--color-text-muted);position:absolute}.input-field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0d948826}.input-field:disabled{background-color:var(--color-background-secondary);color:var(--color-text-muted);cursor:not-allowed}.modal-overlay{background-color:var(--color-overlay);z-index:1000;padding:var(--spacing-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-surface);border-radius:var(--radii-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) forwards fadeInUp;display:flex;overflow-y:auto}.modal-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--spacing-xl);flex-grow:1;overflow-y:auto}.modal-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:var(--spacing-sm);display:flex}.app-frame{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--color-background-secondary);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:260px;transition:transform .2s;display:flex}.sidebar-brand{padding:var(--spacing-xl);align-items:center;gap:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex}.sidebar-nav{padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.nav-item{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radii-md);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:var(--spacing-md);font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.nav-item.active{background-color:var(--color-accent);color:var(--color-accent-ink)}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);gap:var(--spacing-xs);flex-direction:column;display:flex}.main-content{background-color:var(--color-background);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);height:64px;padding:0 var(--spacing-xl);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.page-container{padding:var(--spacing-xxl);flex-grow:1;overflow-y:auto}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-down{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeInDown}.animate-fade-in-up{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeInUp}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radii-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
