@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&display=swap";:root{--color-primary:#4ade80;--color-primary-dark:#16a34a;--color-primary-light:#86efac;--color-primary-glow:#4ade8040;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-sky-500:#0ea5e9;--sidebar-width:250px;--topbar-height:64px;--font-sans:"Inter Tight", "Inter", system-ui, sans-serif;--font-heading:"Inter Tight", "Inter", system-ui, sans-serif;--font-mono:"ui-monospace", "Cascadia Code", monospace;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px 0 #0f172a0d;--shadow:0 4px 6px -1px #0f172a0d, 0 2px 4px -2px #0f172a0d;--shadow-md:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-lg:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d;--shadow-glow:0 0 15px var(--color-primary-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-gray-700);-webkit-font-smoothing:antialiased;background-color:#f5fbf5;background-image:radial-gradient(at 0 0,#4ade8012 0,#0000 50%),radial-gradient(at 100% 0,#22c55e0a 0,#0000 50%);background-attachment:fixed}#root{width:100%;min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:all .2s}a:hover{color:var(--color-primary-dark)}button,input,textarea,select{font-family:inherit}h1,h2,h3,h4,h5,h6,.page-title,.card-title,.stat-value,.sidebar-logo-text{font-family:var(--font-heading);letter-spacing:-.02em}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);color:var(--color-gray-600);z-index:50;border-right:1px solid var(--color-gray-200);background:#fff;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 20px #0000000a}.sidebar-logo{border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;padding:24px 20px;display:flex}.sidebar-logo-icon{color:var(--color-primary-dark);font-size:24px}.sidebar-logo-text{color:var(--color-gray-900);font-size:20px;font-weight:700}.sidebar-nav{flex:1;padding:16px 12px}.sidebar-nav-list{flex-direction:column;gap:6px;display:flex}.sidebar-link{border-radius:var(--radius);color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-link:hover{background:var(--color-green-50);color:var(--color-green-700);transform:translate(4px)}.sidebar-link--active{background:var(--color-green-50);color:var(--color-green-700);border-left:3px solid var(--color-primary-dark);font-weight:600}.sidebar-group-toggle{border-radius:var(--radius);color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.sidebar-group-toggle:hover{background:var(--color-green-50);color:var(--color-green-700)}.sidebar-chevron{opacity:.7;margin-left:auto;font-size:10px}.sidebar-sub-list{flex-direction:column;gap:4px;margin-top:4px;padding-left:20px;display:flex}.sidebar-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-gray-400);padding:24px 16px 8px;font-size:11px;font-weight:600;display:block}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{height:var(--topbar-height);-webkit-backdrop-filter:blur(12px);z-index:40;background:#ffffffd9;border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.topbar-title{color:var(--color-gray-800);font-size:16px;font-weight:600}.topbar-actions{align-items:center;gap:12px;display:flex}.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:32px;animation:.4s ease-out fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page{flex-direction:column;gap:32px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title{color:var(--color-gray-900);font-size:28px;font-weight:700}.page-subtitle{color:var(--color-gray-500);margin-top:4px;font-size:15px}.card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff9;border:1px solid #fffc;transition:transform .2s,box-shadow .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{background:#fff6;border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-title{color:var(--color-gray-800);font-size:18px;font-weight:600}.card-body{padding:24px}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.stat-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(145deg,#fff,#fdfbfb);border:1px solid #fff;padding:24px;transition:all .3s;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.stat-card:before{content:"";background:var(--color-gray-300);opacity:.8;height:4px;position:absolute;top:0;left:0;right:0}.stat-card--approved:before{background:linear-gradient(90deg, var(--color-green-400), var(--color-green-500))}.stat-card--review:before{background:linear-gradient(90deg, var(--color-amber-400), var(--color-amber-500))}.stat-card--draft:before{background:linear-gradient(90deg, var(--color-gray-400), var(--color-gray-500))}.stat-value{color:var(--color-gray-900);background:linear-gradient(to right, var(--color-gray-900), var(--color-gray-600));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:36px;font-weight:700}.stat-label{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-top:8px;font-size:14px;font-weight:500}.stat-icon{color:var(--color-gray-200);opacity:.5;font-size:32px;position:absolute;top:20px;right:20px}.quick-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffb3;border:1px solid #fff9;padding:24px}.quick-actions-title{color:var(--color-gray-800);font-size:18px;font-weight:600;font-family:var(--font-heading);margin-bottom:20px}.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.quick-action-btn{border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);color:var(--color-gray-600);cursor:pointer;box-shadow:var(--shadow-sm);background:#fffc;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.quick-action-btn:hover{border-color:var(--color-primary-light);color:var(--color-primary);box-shadow:var(--shadow-md), 0 0 0 3px #6366f11a;background:#fff;transform:translateY(-2px)}.quick-action-icon{font-size:28px;transition:transform .2s}.quick-action-btn:hover .quick-action-icon{transform:scale(1.1)}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;border:none;box-shadow:0 4px 10px #6366f14d}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 15px #6366f166}.btn--secondary{color:var(--color-gray-700);border-color:var(--color-gray-300);box-shadow:var(--shadow-sm);background:#fff}.btn--secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400);box-shadow:var(--shadow)}.btn--danger{background:linear-gradient(135deg, var(--color-red-500), var(--color-red-600));color:#fff;box-shadow:0 4px 10px #ef44444d}.btn--ghost{color:var(--color-gray-600);background:0 0;border:none}.btn--ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-900)}.btn--sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);border-bottom:2px solid var(--color-gray-200);background:#f8fafc99;padding:14px 20px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);vertical-align:middle;padding:16px 20px;transition:background .2s}.table tbody tr{transition:all .2s}.table tbody tr:hover td{color:var(--color-gray-900);background:#f1f5f966}.table tbody tr:last-child td{border-bottom:none}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000d}.badge--draft{background:var(--color-gray-100);color:var(--color-gray-700)}.badge--review{background:var(--color-amber-50);color:var(--color-amber-700);box-shadow:inset 0 0 0 1px var(--color-amber-200)}.badge--submitted{background:var(--color-blue-50);color:var(--color-blue-700);box-shadow:inset 0 0 0 1px var(--color-blue-200)}.badge--approved{background:var(--color-green-50);color:var(--color-green-700);box-shadow:inset 0 0 0 1px var(--color-green-200)}.badge--archived{background:var(--color-red-50);color:var(--color-red-700);box-shadow:inset 0 0 0 1px var(--color-red-200)}.form-group{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.label{color:var(--color-gray-700);font-size:14px;font-weight:600}.input,.textarea,.select{border:1px solid var(--color-gray-300);border-radius:var(--radius);width:100%;color:var(--color-gray-900);background:#ffffffe6;padding:10px 14px;font-size:14px;transition:all .2s;box-shadow:inset 0 1px 2px #00000005}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow), inset 0 1px 2px #00000005;outline:none}.status-bar-row{align-items:center;gap:16px;margin-bottom:12px;display:flex}.status-bar-label{flex-shrink:0;width:100px}.status-bar-track{background:var(--color-gray-100);border-radius:99px;flex:1;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.status-bar-fill{border-radius:99px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.status-bar-count{text-align:right;width:30px;color:var(--color-gray-700);font-size:14px;font-weight:700}.empty-state{text-align:center;color:var(--color-gray-500);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 40px;display:flex}.spinner-wrapper{justify-content:center;align-items:center;gap:12px;display:inline-flex}.spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:.8s cubic-bezier(.4,0,.2,1) infinite spin}.spinner--lg{border-width:4px;width:44px;height:44px}.spinner--md{width:24px;height:24px}.spinner--sm{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.font-medium{font-weight:500}.text-sm{font-size:13px}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-gray-500)}.text-center{text-align:center}@media (width<=1024px){.dashboard-grid,.stat-grid,.quick-actions-grid{grid-template-columns:1fr}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#4ade80;--color-primary-dark:#16a34a;--color-primary-light:#86efac;--color-primary-glow:#4ade8040;--font-sans:"Inter Tight", system-ui, sans-serif;--font-heading:"Inter Tight", system-ui, sans-serif}html,body{color:#334155;-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;font-family:var(--font-sans)!important;background-color:#f5fbf5!important;background-image:radial-gradient(at 0 0,#4ade8012 0,#0000 50%),radial-gradient(at 100% 0,#22c55e0a 0,#0000 50%)!important}.sidebar{color:#475569!important;background:#fff!important;border-right:1px solid #e2e8f0!important;box-shadow:4px 0 20px #0000000a!important}.sidebar-logo-text{color:#0f172a!important}.sidebar-logo-icon{color:#16a34a!important}.sidebar-section-label{color:#94a3b8!important}.sidebar-link{color:#64748b!important}.sidebar-link:hover{color:#15803d!important;background:#f0fdf4!important}.sidebar-link--active{color:#15803d!important;background:#f0fdf4!important;border-left:3px solid #16a34a!important;font-weight:600!important}.sidebar-group-toggle{color:#64748b!important}.sidebar-group-toggle:hover{color:#15803d!important;background:#f0fdf4!important}.btn--primary{color:#fff!important;background:linear-gradient(135deg,#4ade80,#16a34a)!important;box-shadow:0 4px 10px #4ade804d!important}.btn--primary:hover:not(:disabled){box-shadow:0 6px 15px #4ade8066!important}.spinner{border-top-color:#16a34a!important}.input:focus,.textarea:focus,.select:focus{border-color:#4ade80!important;box-shadow:0 0 0 4px #4ade8040,inset 0 1px 2px #00000005!important}.quick-action-btn:hover{color:#16a34a!important;box-shadow:var(--shadow-md), 0 0 0 3px #4ade8026!important;border-color:#86efac!important}
