:root{--color-bg-primary: #0a0e17;--color-bg-secondary: #111827;--color-primary: #3b82f6;--color-accent: #8b5cf6;--color-text-primary: #f3f4f6;--color-text-secondary: #9ca3af;--color-border: rgba(255, 255, 255, .08);--color-grid: #374151;--color-card-bg: rgba(17, 24, 39, .6);--color-card-border: rgba(255, 255, 255, .08);--font-heading: "Space Mono", monospace;--font-body: "Inter", sans-serif;color-scheme:dark}[data-theme=light]{--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-primary: #2563eb;--color-accent: #7c3aed;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-border: rgba(0, 0, 0, .1);--color-grid: #cbd5e1;--color-card-bg: #ffffff;--color-card-border: rgba(0, 0, 0, .08);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-md{padding:.5rem 1rem;font-size:1rem}.input-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.input-label{font-size:.875rem;color:var(--color-text-secondary)}.input-field{padding:.5rem;border-radius:.375rem;border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.input-field:focus{outline:2px solid var(--color-primary);outline-offset:1px}h1,h2,h3{font-family:var(--font-heading)}.card{background:var(--color-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-card-border);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}[data-theme=light] .card{box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-neutral{background:#6b728033;color:#6b7280}[data-theme=dark] .badge-neutral{color:#d1d5db}.badge-success{background:#10b98126;color:#059669}[data-theme=dark] .badge-success{background:#10b98133;color:#34d399}.badge-warning{background:#f59e0b26;color:#d97706}[data-theme=dark] .badge-warning{background:#f59e0b33;color:#fbbf24}.badge-error{background:#ef444426;color:#dc2626}[data-theme=dark] .badge-error{background:#ef444433;color:#f87171}.badge-info{background:#3b82f626;color:#2563eb}[data-theme=dark] .badge-info{background:#3b82f633;color:#60a5fa}.spinner{border:3px solid var(--color-border);border-left-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-md{width:2rem;height:2rem}.spinner-lg{width:3rem;height:3rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:1rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d;z-index:51;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-body{padding:1.5rem}[data-theme=light] table{color:var(--color-text-primary)}[data-theme=light] th{color:var(--color-text-secondary)}[data-theme=light] aside{border-right-color:var(--color-border)!important}@media (max-width: 640px){.card{padding:1rem}.modal-content{width:95%;max-height:85vh;margin:1rem}.modal-header,.modal-body{padding:1rem}h1{font-size:1.25rem}h2{font-size:1rem}}@media (max-width: 768px){button,a,input,select,.btn{min-height:44px}}@supports (padding: max(0px)){.layout{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}
