:root{--primary-color: #8B2438;--primary-light: #F2DDDF;--primary-hover: #6B1B2C;--secondary-color: #5A4A3F;--secondary-light: #8A7A6B;--bg-color: #F5F1E8;--surface-color: #FAF7EE;--surface-hover: #EFEAD9;--text-primary: #2E1F1A;--text-secondary: #5A4A3F;--text-tertiary: #8A7A6B;--text-light: #F5F1E8;--success-bg: #DEEAD3;--success-text: #2F4824;--warning-bg: #F0E5CE;--warning-text: #7A5A2C;--danger-bg: #F6DCD6;--danger-text: #722619;--info-bg: #EFEAD9;--info-text: #2E1F1A;--sidebar-bg: #F5F1E8;--sidebar-border: #D8CFB8;--sidebar-text: #5A4A3F;--sidebar-text-active: #8B2438;--sidebar-bg-active: #F2DDDF;--header-height: 64px;--sidebar-width: 280px;--border-radius-sm: 2px;--border-radius: 6px;--border-radius-lg: 8px;--shadow-sm: 0 1px 0 rgba(46,31,26,.04), 0 1px 2px rgba(46,31,26,.05);--shadow-md: 0 1px 0 rgba(46,31,26,.05), 0 2px 8px rgba(46,31,26,.06);--shadow-lg: 0 4px 12px rgba(46,31,26,.08), 0 0 0 1px rgba(216,207,184,.5);--shadow-colored: 0 8px 24px rgba(139,36,56,.12);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.55;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.display{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.025em;line-height:1.05}.display-italic{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:500}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a7a6b;font-weight:500}*{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;color:var(--text-primary);font-weight:600;line-height:1.25}button{font-family:inherit;cursor:pointer;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-container{display:flex;min-height:100vh;background-color:var(--bg-color)}.main-content{flex:1;padding:2.5rem;overflow-y:auto;height:100vh;max-width:1600px;margin:0 auto}.sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;z-index:10}.sidebar-header{padding:2rem 1.5rem;display:flex;align-items:center;justify-content:flex-start}.sidebar-title{font-size:1.25rem;font-weight:700;color:var(--primary-color);margin:0;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.nav-menu{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem 2rem}.nav-group-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--secondary-light);margin-top:1.5rem;margin-bottom:.5rem;padding-left:.75rem;font-weight:700}.nav-btn{padding:.75rem 1rem;text-align:left;background:transparent;color:var(--sidebar-text);border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.75rem;transition:all .2s ease;border:1px solid transparent}.nav-btn:hover{background-color:var(--bg-color);color:var(--text-primary)}.nav-btn.active{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active);font-weight:600;border-color:#2563eb1a}.nav-btn .icon{width:20px;height:20px;stroke-width:2px}.nav-btn.logout{margin-top:auto;color:var(--danger-text)}.nav-btn.logout:hover{background-color:var(--danger-bg)}.nav-accordion{overflow:hidden;transition:max-height .3s ease-out}.nav-accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center}.card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-colored);border-color:#2563eb33}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.card-title{font-size:1rem;color:var(--text-secondary);font-weight:600;margin:0;line-height:1.4}.card-icon-wrapper{background-color:var(--bg-color);padding:.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--secondary-color)}.card.critical .card-icon-wrapper{background-color:var(--danger-bg);color:var(--danger-text)}.card.success .card-icon-wrapper{background-color:var(--success-bg);color:var(--success-text)}.card-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.card-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;line-height:1}.badge-success{background-color:var(--success-bg);color:var(--success-text)}.badge-warning{background-color:var(--warning-bg);color:var(--warning-text)}.badge-danger{background-color:var(--danger-bg);color:var(--danger-text)}.badge-neutral{background-color:var(--bg-color);color:var(--text-secondary)}.progress-container{width:100%;background:var(--bg-color);height:8px;border-radius:9999px;margin-top:1rem;overflow:hidden}.progress-bar{height:100%;border-radius:9999px;transition:width 1s ease-in-out}.btn{padding:.625rem 1.25rem;border-radius:var(--border-radius-sm);font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 1px 2px #0000001a}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 6px -1px #2563eb33}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background-color:var(--bg-color);color:var(--primary-color)}.btn-link{background:none;color:var(--primary-color);padding:0;font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;gap:.25rem}.btn-link:hover{color:var(--primary-hover);text-decoration:none}.btn-link svg{transition:transform .2s}.btn-link:hover svg{transform:translate(4px)}.grid-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s cubic-bezier(.4,0,.2,1) forwards}.login-container{background-color:var(--bg-color);background-image:radial-gradient(var(--surface-color) 1px,transparent 1px);background-size:24px 24px}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border-radius:var(--border-radius-sm);border:1px solid #cbd5e1;background-color:#fff;font-size:.95rem;color:var(--text-primary);transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d;font-family:inherit}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#94a3b8}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #2563eb1a}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;letter-spacing:-.01em}.form-group{margin-bottom:1.5rem}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;width:40px;height:40px;border:1px solid var(--sidebar-border);background:#fff;border-radius:8px;font-size:20px;cursor:pointer;box-shadow:var(--shadow-md)}.mobile-overlay{display:none}@media(max-width:768px){.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:99;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translate(-100%);transition:transform .25s ease;z-index:100;box-shadow:var(--shadow-lg);max-width:85vw}.sidebar.sidebar-open{transform:translate(0)}.main-content{padding:4rem 1rem 1rem;height:auto;min-height:100vh}.app-container{display:block}}@media(max-width:480px){.main-content{padding:3.5rem .5rem 1rem}}
