@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1a1f35;--bg-elevated: #1e2337;--bg-glass: rgba(26, 31, 53, .6);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--text-inverse: #0a0e1a;--accent-primary: #00d9ff;--accent-hover: #00b8d4;--accent-subtle: rgba(0, 217, 255, .1);--accent-border: rgba(0, 217, 255, .3);--purple-primary: #a855f7;--purple-subtle: rgba(168, 85, 247, .1);--success: #10b981;--success-subtle: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .1);--error: #ef4444;--error-subtle: rgba(239, 68, 68, .1);--info: #3b82f6;--info-subtle: rgba(59, 130, 246, .1);--border-primary: rgba(148, 163, 184, .1);--border-secondary: rgba(148, 163, 184, .05);--border-accent: var(--accent-border);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 217, 255, .3);--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-toast: 1400}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:1.2;color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base)}.text-gradient{background:linear-gradient(135deg,var(--accent-primary),var(--purple-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary)}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:slideIn var(--transition-slow) ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.shimmer{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--border-radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;outline:none;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--purple-primary));color:var(--text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{border-color:var(--accent-border);background:var(--bg-tertiary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--accent-subtle);color:var(--accent-primary)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:var(--shadow-md)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card-hover:hover{border-color:var(--accent-border);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-secondary)}.card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.card-body{color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.25rem var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--border-radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-success{background:var(--success-subtle);color:var(--success);border:1px solid rgba(16,185,129,.3)}.badge-warning{background:var(--warning-subtle);color:var(--warning);border:1px solid rgba(245,158,11,.3)}.badge-error{background:var(--error-subtle);color:var(--error);border:1px solid rgba(239,68,68,.3)}.badge-info{background:var(--info-subtle);color:var(--info);border:1px solid rgba(59,130,246,.3)}.badge-primary{background:var(--accent-subtle);color:var(--accent-primary);border:1px solid var(--accent-border)}.badge-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.input{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.input::placeholder{color:var(--text-muted)}.textarea{min-height:100px;resize:vertical}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7 7l3 3 3-3' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:var(--space-xl)}.table-container{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table thead{background:var(--bg-elevated);border-bottom:2px solid var(--border-primary)}.table th{padding:var(--space-md);text-align:left;font-family:var(--font-display);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.table td{padding:var(--space-md);border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--accent-subtle)}.table td:last-child,.table th:last-child{text-align:right}.progress-bar{width:100%;height:8px;background:var(--bg-elevated);border-radius:var(--border-radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--purple-primary));border-radius:var(--border-radius-full);transition:width var(--transition-slow)}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-circle{fill:none;stroke:var(--bg-elevated);stroke-width:8}.progress-ring-fill{fill:none;stroke:url(#gradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset var(--transition-slow)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius-md)}.skeleton-text{height:1rem;margin-bottom:var(--space-sm)}.skeleton-heading{height:2rem;width:60%;margin-bottom:var(--space-md)}.skeleton-card{height:200px;width:100%}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-base)}.modal{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideIn var(--transition-slow);z-index:var(--z-modal)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.modal-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:var(--text-2xl);cursor:pointer;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.modal-footer{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-secondary)}.toast{position:fixed;bottom:var(--space-xl);right:var(--space-xl);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:slideIn var(--transition-base);max-width:400px}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-info{border-left:4px solid var(--info)}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-subtle)}::selection{background:var(--accent-subtle);color:var(--accent-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.budget-widget{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.budget-widget.alert-ok{border-color:var(--success)}.budget-widget.alert-warning{border-color:var(--warning)}.budget-widget.alert-critical{border-color:var(--error)}.budget-widget.alert-exceeded{border-color:var(--error);box-shadow:0 0 20px #ef44444d}.budget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.budget-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-xs)}.budget-alert-badge{padding:.25rem .75rem;border-radius:var(--border-radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.budget-alert-badge.ok{background:var(--success);color:#fff}.budget-alert-badge.warning{background:var(--warning);color:#fff}.budget-alert-badge.critical,.budget-alert-badge.exceeded{background:var(--error);color:#fff;animation:pulse 2s infinite}.budget-usage{margin-bottom:var(--space-lg)}.budget-usage-text{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.budget-usage-amount{font-weight:var(--font-semibold);color:var(--text-primary)}.budget-progress{width:100%;height:24px;background:var(--bg-elevated);border-radius:var(--border-radius-full);overflow:hidden;position:relative}.budget-progress-fill{height:100%;border-radius:var(--border-radius-full);transition:width var(--transition-slow);position:relative;overflow:hidden}.budget-progress-fill.ok{background:linear-gradient(90deg,var(--success),#059669)}.budget-progress-fill.warning{background:linear-gradient(90deg,var(--warning),#d97706)}.budget-progress-fill.critical,.budget-progress-fill.exceeded{background:linear-gradient(90deg,var(--error),#dc2626)}.budget-progress-text{text-align:right;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-xs)}.budget-meta{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-secondary);padding-top:var(--space-md);border-top:1px solid var(--border-secondary)}.budget-meta-item strong{color:var(--text-primary)}.budget-alert-message{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--border-radius-md);font-size:var(--text-sm);line-height:1.5}.budget-alert-message.warning{background:var(--warning-subtle);color:var(--warning);border:1px solid rgba(245,158,11,.3)}.budget-alert-message.critical,.budget-alert-message.exceeded{background:var(--error-subtle);color:var(--error);border:1px solid rgba(239,68,68,.3)}.budget-loading{padding:var(--space-lg);text-align:center;color:var(--text-muted)}.circuit-breaker-widget{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.circuit-breaker-widget.status-ok{border-color:var(--success)}.circuit-breaker-widget.status-warning{border-color:var(--warning)}.circuit-breaker-widget.status-exceeded{border-color:var(--error);box-shadow:0 0 20px #ef44444d}.cb-header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg)}.cb-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.cb-metric{margin-bottom:var(--space-lg)}.cb-metric-label{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--text-sm)}.cb-metric-name{font-weight:var(--font-semibold);color:var(--text-secondary)}.cb-metric-value{font-weight:var(--font-semibold);color:var(--text-primary)}.cb-progress{width:100%;height:12px;background:var(--bg-elevated);border-radius:var(--border-radius-full);overflow:hidden}.cb-progress-fill{height:100%;border-radius:var(--border-radius-full);transition:width var(--transition-slow)}.cb-progress-fill.ok{background:linear-gradient(90deg,var(--success),#059669)}.cb-progress-fill.warning{background:linear-gradient(90deg,var(--warning),#d97706)}.cb-progress-fill.exceeded{background:linear-gradient(90deg,var(--error),#dc2626)}.cb-progress-text{text-align:right;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-xs)}.cb-limits{padding:var(--space-md);background:var(--bg-elevated);border-radius:var(--border-radius-md);font-size:var(--text-xs);color:var(--text-secondary)}.cb-limits div{margin-bottom:.25rem}.cb-limits div:last-child{margin-bottom:0}.cb-alert{margin-top:var(--space-lg);padding:var(--space-md);background:var(--error-subtle);border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-md);font-size:var(--text-sm);color:var(--error);line-height:1.5}.dashboard{display:flex;min-height:100vh;background:var(--bg-primary)}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sticky)}.sidebar-header{padding:var(--space-xl);border-bottom:1px solid var(--border-secondary)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm)}.sidebar-logo-icon{width:32px;height:32px}.sidebar-logo-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.sidebar-nav{flex:1;padding:var(--space-lg);overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-xs);border-radius:var(--border-radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:all var(--transition-fast);cursor:pointer}.sidebar-nav-item:hover{background:var(--accent-subtle);color:var(--accent-primary)}.sidebar-nav-item.active{background:var(--accent-subtle);color:var(--accent-primary);border-left:3px solid var(--accent-primary)}.sidebar-footer{padding:var(--space-lg);border-top:1px solid var(--border-secondary)}.sidebar-user{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-elevated);border-radius:var(--border-radius-md);margin-bottom:var(--space-md)}.sidebar-user-avatar{width:40px;height:40px;border-radius:var(--border-radius-full);background:linear-gradient(135deg,var(--accent-primary),var(--purple-primary));display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);color:var(--text-inverse)}.sidebar-user-info{flex:1}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.sidebar-user-role{font-size:var(--text-xs);color:var(--text-muted)}.main-content{flex:1;margin-left:280px;min-height:100vh}.main-header{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-primary);padding:var(--space-xl);position:sticky;top:0;z-index:var(--z-sticky)}.main-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.main-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary)}.main-actions{display:flex;gap:var(--space-md)}.main-body{padding:var(--space-2xl)}.dashboard-grid{display:grid;grid-template-columns:1fr 350px;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.dashboard-main{display:flex;flex-direction:column;gap:var(--space-xl)}.dashboard-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.stat-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.stat-icon.accent{background:var(--accent-subtle);color:var(--accent-primary)}.stat-icon.success{background:var(--success-subtle);color:var(--success)}.stat-icon.warning{background:var(--warning-subtle);color:var(--warning)}.stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-xs)}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.project-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base);cursor:pointer}.project-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:var(--space-md)}.project-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-xs)}.project-description{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.project-meta{display:flex;gap:var(--space-lg);font-size:var(--text-xs);color:var(--text-muted)}.project-meta-item{display:flex;align-items:center;gap:var(--space-xs)}.empty-state{text-align:center;padding:var(--space-3xl);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px dashed var(--border-primary);border-radius:var(--border-radius-lg)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.3}.empty-state-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.empty-state-description{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-xl)}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-card:nth-child(1){animation:staggerFadeIn .4s ease-out .1s both}.project-card:nth-child(2){animation:staggerFadeIn .4s ease-out .2s both}.project-card:nth-child(3){animation:staggerFadeIn .4s ease-out .3s both}.project-card:nth-child(4){animation:staggerFadeIn .4s ease-out .4s both}.project-card:nth-child(5){animation:staggerFadeIn .4s ease-out .5s both}.project-card:nth-child(6){animation:staggerFadeIn .4s ease-out .6s both}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.sidebar{transform:translate(-100%)}.main-content{margin-left:0}}.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-xl)}.login-bg{position:absolute;inset:0;z-index:0}.login-bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#0a0e1a,#1a1f35,#0a0e1a);animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,217,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,217,255,.05) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);animation:fadeIn .8s ease-out}.login-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-3xl);max-width:480px;width:100%;box-shadow:var(--shadow-xl),0 0 60px #00d9ff1a;animation:slideIn .8s ease-out .2s both}.login-logo{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.login-logo-icon{animation:fadeIn .6s ease-out .4s both}.login-logo-icon svg{filter:drop-shadow(0 0 20px rgba(0,217,255,.4));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;animation:fadeIn .6s ease-out .6s both;letter-spacing:-.02em}.login-tagline{text-align:center;font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.6;animation:fadeIn .6s ease-out .8s both}.login-cta{width:100%;padding:var(--space-md) var(--space-xl);font-size:var(--text-lg);margin-bottom:var(--space-xl);animation:fadeIn .6s ease-out 1s both;position:relative;overflow:hidden}.login-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);transition:transform .6s}.login-cta:hover:before{transform:translate(100%)}.login-features{display:flex;flex-direction:column;gap:var(--space-md);animation:fadeIn .6s ease-out 1.2s both}.login-feature{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.login-feature svg{color:var(--accent-primary);flex-shrink:0}.login-footer{animation:fadeIn .6s ease-out 1.4s both}.login-footer-text{font-size:var(--text-xs);color:var(--text-muted);text-align:center}@media(max-width:768px){.login-card{padding:var(--space-2xl)}.login-title{font-size:var(--text-3xl)}.login-tagline{font-size:var(--text-base)}}.approvals-page{padding:var(--space-2xl);min-height:100vh}.approvals-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl)}.approvals-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary)}.approvals-warning{padding:var(--space-md);background:var(--warning-subtle);border:1px solid rgba(245,158,11,.3);border-radius:var(--border-radius-md);margin-bottom:var(--space-xl);color:var(--warning)}.approvals-section{margin-bottom:var(--space-3xl)}.approvals-section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-lg)}.approval-grid{display:grid;gap:var(--space-lg)}.approval-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.approval-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md)}.approval-card.decided{opacity:.7}.approval-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-md)}.approval-card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-xs)}.approval-card-description{color:var(--text-secondary);margin-bottom:var(--space-md);line-height:1.6}.approval-meta{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.approval-meta div{margin-bottom:var(--space-xs)}.approval-actions{display:flex;gap:var(--space-sm)}.approval-payload{margin-top:var(--space-lg)}.approval-payload summary{cursor:pointer;color:var(--accent-primary);font-weight:var(--font-medium);margin-bottom:var(--space-md)}.approval-payload pre{background:var(--bg-elevated);padding:var(--space-md);border-radius:var(--border-radius-md);overflow:auto;font-size:var(--text-sm);color:var(--text-secondary)}.approval-empty{text-align:center;padding:var(--space-3xl);color:var(--text-muted)}.review-modal-section{margin-bottom:var(--space-lg)}.review-modal-label{font-weight:var(--font-semibold);color:var(--text-primary);margin-right:var(--space-sm)}.review-modal-value{color:var(--text-secondary)}.schema-generator-page{padding:var(--space-2xl);min-height:100vh}.schema-generator-header{margin-bottom:var(--space-xl)}.schema-generator-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.schema-generator-description{color:var(--text-secondary);margin-bottom:var(--space-2xl)}.schema-generator-form{max-width:800px;margin-bottom:var(--space-2xl)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.schema-error{margin-top:var(--space-lg);padding:var(--space-md);background:var(--error-subtle);border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-md);color:var(--error)}.schema-result{margin-top:var(--space-2xl)}.schema-result-status{padding:var(--space-md);border-radius:var(--border-radius-md);margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:space-between}.schema-result-status.auto-approved{background:var(--success-subtle);border:1px solid rgba(16,185,129,.3)}.schema-result-status.pending-approval{background:var(--warning-subtle);border:1px solid rgba(245,158,11,.3)}.schema-result-status h3{margin:0 0 var(--space-xs) 0;font-size:var(--text-lg)}.schema-result-status.auto-approved h3{color:var(--success)}.schema-result-status.pending-approval h3{color:var(--warning)}.schema-result-status p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.schema-section{margin-bottom:var(--space-2xl)}.schema-section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.schema-code-block{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--space-lg);overflow:auto;max-height:400px;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}.schema-validation{padding:var(--space-md);border-radius:var(--border-radius-md)}.schema-validation.valid{background:var(--success-subtle);border:1px solid rgba(16,185,129,.3)}.schema-validation.invalid{background:var(--error-subtle);border:1px solid rgba(239,68,68,.3)}.schema-validation-status{font-weight:var(--font-semibold);margin-bottom:var(--space-md)}.schema-validation.valid .schema-validation-status{color:var(--success)}.schema-validation.invalid .schema-validation-status{color:var(--error)}.schema-validation-list{margin:var(--space-sm) 0;padding-left:var(--space-xl)}.schema-validation-list li{margin-bottom:var(--space-xs);line-height:1.5;color:var(--text-secondary)}.schema-provision-warning{margin-top:var(--space-lg);padding:var(--space-md);background:var(--warning-subtle);border-radius:var(--border-radius-md);font-size:var(--text-sm);color:var(--warning)}.usage-page{padding:var(--space-2xl);min-height:100vh}.usage-header{margin-bottom:var(--space-xl)}.usage-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.usage-description{color:var(--text-secondary);margin-bottom:var(--space-2xl)}.usage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.usage-summary-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.usage-summary-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:var(--shadow-md)}.usage-summary-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.usage-summary-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold)}.usage-summary-value.tokens{color:var(--text-primary)}.usage-summary-value.provider-cost{color:var(--error)}.usage-summary-value.billed-cost{color:var(--success)}.usage-summary-value.margin{color:var(--accent-primary)}.usage-section{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.usage-section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-lg) 0}.usage-chart-container{overflow-x:auto;margin-top:var(--space-lg)}.usage-chart-wrapper{display:flex;align-items:flex-end;height:200px;gap:2px;min-width:800px}.usage-chart-bar{flex:1;background:linear-gradient(180deg,var(--success),#059669);min-width:20px;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;position:relative;transition:all var(--transition-base);cursor:pointer}.usage-chart-bar:hover{filter:brightness(1.2);transform:scaleY(1.05)}.usage-chart-bar-label{position:absolute;bottom:-20px;font-size:var(--text-xs);transform:rotate(-45deg);transform-origin:top left;white-space:nowrap;color:var(--text-muted)}.usage-table-container{overflow-x:auto}.usage-empty{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.usage-loading{text-align:center;padding:var(--space-3xl)}.admin-billing-page{padding:var(--space-2xl);min-height:100vh}.admin-billing-header{margin-bottom:var(--space-xl)}.admin-billing-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.admin-billing-description{color:var(--text-secondary);margin-bottom:var(--space-2xl)}.admin-billing-revenue{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.admin-revenue-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.admin-revenue-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.admin-revenue-card.revenue{background:var(--success-subtle);border:2px solid var(--success)}.admin-revenue-card.costs{background:var(--error-subtle);border:2px solid var(--error)}.admin-revenue-card.margin{background:var(--accent-subtle);border:2px solid var(--accent-primary)}.admin-revenue-label{font-size:var(--text-sm);margin-bottom:var(--space-sm)}.admin-revenue-card.revenue .admin-revenue-label{color:#2e7d32}.admin-revenue-card.costs .admin-revenue-label{color:#c62828}.admin-revenue-card.margin .admin-revenue-label{color:#1565c0}.admin-revenue-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold)}.admin-revenue-card.revenue .admin-revenue-value{color:#1b5e20}.admin-revenue-card.costs .admin-revenue-value{color:#b71c1c}.admin-revenue-card.margin .admin-revenue-value{color:#0d47a1}.admin-revenue-percent{font-size:var(--text-sm);margin-top:var(--space-xs)}.admin-section{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.admin-section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-lg) 0}.admin-chart-container{overflow-x:auto;margin-top:var(--space-lg)}.admin-chart-wrapper{display:flex;align-items:flex-end;height:200px;gap:2px;min-width:800px}.admin-chart-bar{flex:1;background:linear-gradient(180deg,var(--accent-primary),#1565c0);min-width:20px;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;position:relative;transition:all var(--transition-base);cursor:pointer}.admin-chart-bar:hover{filter:brightness(1.2);transform:scaleY(1.05)}.admin-chart-bar-label{position:absolute;bottom:-20px;font-size:var(--text-xs);transform:rotate(-45deg);transform-origin:top left;white-space:nowrap;color:var(--text-muted)}.admin-rank-badge{display:inline-block;width:24px;height:24px;border-radius:var(--border-radius-full);text-align:center;line-height:24px;font-weight:var(--font-bold);font-size:var(--text-sm)}.admin-rank-badge.gold{background:gold;color:#000}.admin-rank-badge.silver{background:silver;color:#000}.admin-rank-badge.bronze{background:#cd7f32;color:#fff}.admin-rank-badge.other{background:var(--bg-elevated);color:var(--text-muted)}.admin-access-denied{background:var(--error-subtle);border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-md);padding:var(--space-md);color:var(--error)}.admin-loading{text-align:center;padding:var(--space-3xl)}.team-page{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a2e);color:#e0e0e0;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.back-button{padding:.75rem 1.5rem;background:#ffffff0d;color:#00d9ff;border:1px solid rgba(0,217,255,.3);border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .3s ease}.back-button:hover{background:#00d9ff1a;border-color:#00d9ff80;transform:translateY(-2px)}.header-right{display:flex;gap:1rem;align-items:center}.user-badge{color:#a0a0a0;font-size:.95rem}.logout-button{padding:.75rem 1.5rem;background:#f44336;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .3s ease}.logout-button:hover{background:#d32f2f;transform:translateY(-2px);box-shadow:0 4px 12px #f4433666}.team-title{text-align:center;margin-bottom:4rem}.logo-badge{font-family:JetBrains Mono,monospace;font-size:.85rem;color:#00d9ff;text-transform:uppercase;letter-spacing:.3em;margin-bottom:1rem;opacity:.8}.title{font-size:3rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#00d9ff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:#a0a0a0;font-style:italic}.team-hierarchy{max-width:1200px;margin:0 auto;padding:2rem 0}.team-level{display:flex;justify-content:center;margin-bottom:2rem}.team-level.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1000px;margin:0 auto 2rem}.team-level.workers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1400px;margin:0 auto 2rem}.team-card{background:#1e1e32b3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;max-width:480px;width:100%;position:relative;transition:all .3s ease;animation:cardFadeIn .6s ease forwards;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.team-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006;border-color:#fff3}.dudemode-badge{position:absolute;top:1rem;right:1rem;background:#00d9ff33;border:1px solid #00d9ff;border-radius:6px;padding:.4rem .8rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 5px #00d9ff80}50%{box-shadow:0 0 20px #00d9ffcc}}.dudemode-text{font-size:.85rem;color:#00d9ff;font-weight:600}.card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.emoji{font-size:3rem;line-height:1}.card-title{flex:1}.name{font-size:1.5rem;font-weight:700;margin-bottom:.3rem;color:#fff}.role{font-size:.95rem;font-weight:500;opacity:.9}.cost-badge{padding:.4rem .8rem;border-radius:6px;font-size:.8rem;color:#fff;font-weight:600;white-space:nowrap}.description{line-height:1.6;color:silver;margin-bottom:1.5rem;font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.4rem .8rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:.85rem;color:#a0a0a0;transition:all .3s ease}.tag:hover{background:#ffffff1a;border-color:#fff3}.connector-line{width:2px;height:60px;background:linear-gradient(180deg,#00d9ff80,#a855f780);margin:0 auto 2rem;animation:lineGlow 3s ease-in-out infinite}@keyframes lineGlow{0%,to{opacity:.5}50%{opacity:1;box-shadow:0 0 10px #00d9ff80}}.connector-branch{display:flex;justify-content:center;position:relative;height:60px;margin-bottom:2rem}.branch-line{width:2px;height:100%;background:linear-gradient(180deg,#a855f780,#10b98180,#f59e0b80);position:absolute;animation:lineGlow 3s ease-in-out infinite}.branch-line.left{left:calc(50% - 250px)}.branch-line.right{right:calc(50% - 250px)}.connector-branch:before{content:"";position:absolute;top:0;left:calc(50% - 250px);right:calc(50% - 250px);height:2px;background:linear-gradient(90deg,#10b98180,#a855f780,#f59e0b80)}.team-footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.golden-rule{font-size:1.1rem;color:gold;margin-bottom:1rem;padding:1rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:8px;max-width:800px;margin:0 auto 1rem}.footer-subtext{color:#606060;font-size:.9rem}@media(max-width:1200px){.team-level.workers{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.team-level.split,.team-level.workers{grid-template-columns:1fr;gap:1.5rem}.team-card{max-width:100%}.branch-line{display:none}.connector-branch:before{display:none}.title{font-size:2rem}}
