:root{--primary:#153b4a;--primary-light:#1e4d5f;--accent:#ff3d0a;--accent-light:#ffb18a;--success:#16a34a;--warning:#ca8a04;--danger:#dc2626;--info:#3b82f6;--bg:#fff;--bg-soft:#f8fafc;--bg-card:#fff;--bg-sidebar:#f1f5f9;--border:#e2e8f0;--border-light:#f1f5f9;--text:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}html.dark{--bg:#0f172a;--bg-soft:#1e293b;--bg-card:#1e293b;--bg-sidebar:#1e293b;--border:#334155;--border-light:#1e293b;--text:#e2e8f0;--text-muted:#94a3b8;--text-dim:#475569;--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background .3s,color .3s;position:relative}body:before{top:-20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,rgba(255,61,10,.12) 0,transparent 70%)}body:after,body:before{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(40px)}body:after{bottom:-20%;left:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(21,59,74,.1) 0,transparent 70%)}html.dark body:before{background:radial-gradient(circle,rgba(255,61,10,.08) 0,transparent 70%)}html.dark body:after{background:radial-gradient(circle,rgba(21,59,74,.15) 0,transparent 70%)}.main-content,.sidebar,.theme-toggle{position:relative;z-index:1}a{color:var(--accent);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,61,10,.15);outline:none}.card{background:hsla(0,0%,100%,.55);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid hsla(0,0%,100%,.35);border-radius:20px;padding:24px;box-shadow:0 8px 32px rgba(21,59,74,.08),0 2px 8px rgba(21,59,74,.04);transition:box-shadow .3s,transform .3s,background .3s}.card:before{left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent)}.card:hover{box-shadow:0 12px 40px rgba(21,59,74,.12),0 4px 12px rgba(21,59,74,.06);transform:translateY(-2px);background:hsla(0,0%,100%,.7)}html.dark .card{background:rgba(30,41,59,.55);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2)}html.dark .card:hover{background:rgba(30,41,59,.7);box-shadow:0 12px 40px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.25)}.card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,61,10,.04),transparent 50%);pointer-events:none;opacity:0;transition:opacity .4s}.card:hover:after{opacity:1}.btn{padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-soft);color:var(--text)}.table{width:100%;border-collapse:separate;border-spacing:0}.table td,.table th{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-light)}.table th{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.table tbody tr:hover,.table th{background:var(--bg-soft)}.table td{font-size:14px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-success{background:rgba(22,163,74,.12);color:var(--success)}.badge-warning{background:rgba(202,138,4,.12);color:var(--warning)}.badge-danger{background:rgba(220,38,38,.12);color:var(--danger)}.badge-info{background:rgba(255,61,10,.12);color:var(--accent)}.badge-primary{background:rgba(21,59,74,.12);color:var(--primary)}.sidebar{width:260px;background:rgba(241,245,249,.6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-right:1px solid hsla(0,0%,100%,.4);height:100vh;position:fixed;top:0;left:0;padding:24px 0;overflow-y:auto;transition:background .3s;z-index:100;box-shadow:4px 0 24px rgba(21,59,74,.06)}html.dark .sidebar{background:rgba(30,41,59,.6);border-right:1px solid hsla(0,0%,100%,.08);box-shadow:4px 0 24px rgba(0,0,0,.3)}.sidebar a{display:flex;align-items:center;gap:12px;padding:10px 24px;color:var(--text-muted);font-size:14px;font-weight:500;transition:all .2s;border-left:3px solid transparent}.sidebar a:hover{background:var(--bg-soft);color:var(--text)}.sidebar a.active{background:var(--primary);color:#fff;border-left-color:var(--accent)}.sidebar-group-title{padding:16px 24px 6px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);font-weight:700}.main-content{width:100%;margin-left:0;padding:32px 32px 32px 292px;min-height:100vh;box-sizing:border-box}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px}}.theme-toggle{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--shadow-lg);z-index:200;transition:transform .2s,background .2s}.theme-toggle:hover{transform:scale(1.1);background:var(--accent)}.kpi-accent{position:relative;overflow:hidden}.kpi-accent:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent);border-radius:4px 0 0 4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(255,61,10,.3)}50%{box-shadow:0 0 20px rgba(255,61,10,.6)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes borderGlow{0%,to{border-color:rgba(255,61,10,.3)}50%{border-color:rgba(255,61,10,.8)}}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .6s ease-out forwards}.animate-fadeInDown{animation:fadeInDown .6s ease-out forwards}.animate-fadeInLeft{animation:fadeInLeft .6s ease-out forwards}.animate-fadeInRight{animation:fadeInRight .6s ease-out forwards}.animate-scaleIn{animation:scaleIn .4s ease-out forwards}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.animate-stagger{opacity:0;animation:fadeInUp .6s ease-out forwards}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .6s ease;pointer-events:none;z-index:1}.card:hover:before{left:100%}.btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:active{transform:scale(.97)}input,select,textarea{transition:border-color .2s,box-shadow .2s,transform .2s}input:focus,select:focus,textarea:focus{transform:translateY(-1px)}.table tbody tr{opacity:0;animation:fadeInUp .4s ease-out forwards}.table tbody tr:first-child{animation-delay:.05s}.table tbody tr:nth-child(2){animation-delay:.1s}.table tbody tr:nth-child(3){animation-delay:.15s}.table tbody tr:nth-child(4){animation-delay:.2s}.table tbody tr:nth-child(5){animation-delay:.25s}.table tbody tr:nth-child(6){animation-delay:.3s}.table tbody tr:nth-child(7){animation-delay:.35s}.table tbody tr:nth-child(8){animation-delay:.4s}.sidebar a{transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.sidebar a:after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .25s ease;transform-origin:top}.sidebar a.active:after,.sidebar a:hover:after{transform:scaleY(1)}.sidebar a:hover{transform:translateX(4px)}.kpi-accent{animation:fadeInUp .5s ease-out forwards;opacity:0}.theme-toggle{transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s,box-shadow .3s}.theme-toggle:active{transform:scale(.9) rotate(15deg)}.badge-danger{animation:pulse 2s ease-in-out infinite}@keyframes heroGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-soft)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.fc-spinner-wrap{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--text-muted);font-size:13px}.fc-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary,#2563eb);border-radius:50%;animation:fc-spin .8s linear infinite}@keyframes fc-spin{to{transform:rotate(1turn)}}