@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--spik-accent:#7c3aed;--spik-accent-hover:#6d28d9;--spik-accent-light:#ede9fe;--spik-accent-ultra-light:#f5f3ff;--spik-bg:#f9fafb;--spik-surface:#fff;--spik-border:#e5e7eb;--spik-border-light:#f3f4f6;--spik-text-primary:#111827;--spik-text-secondary:#6b7280;--spik-text-muted:#9ca3af;--spik-danger:#ef4444;--spik-success:#10b981;--spik-radius:.75rem;--spik-radius-sm:.5rem;--primary:var(--spik-accent);--primary-hover:var(--spik-accent-hover);--secondary:var(--spik-success);--secondary-hover:#059669;--background:var(--spik-bg);--surface:var(--spik-surface);--surface-border:var(--spik-border);--text-main:var(--spik-text-primary);--text-muted:var(--spik-text-muted);--error:var(--spik-danger)}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background-color:var(--spik-bg);color:var(--spik-text-primary);flex-direction:column;min-height:100vh;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.spik-mobile-only{display:none!important}.spik-desktop-only{display:block!important}@media (width<=768px){.spik-mobile-only{display:block!important}.spik-desktop-only{display:none!important}}@keyframes gradientBg{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.auth-container{background:linear-gradient(-45deg,#f1f5f9,#e2e8f0,#cbd5e1,#f1f5f9) 0 0/400% 400%;flex:1;justify-content:center;align-items:center;padding:2rem;animation:15s infinite gradientBg;display:flex;position:relative;overflow:hidden}.auth-container:before,.auth-container:after{content:"";background:linear-gradient(to right, var(--primary), var(--secondary));filter:blur(120px);opacity:.1;z-index:0;border-radius:50%;width:600px;height:600px;position:absolute}.auth-container:before{top:-150px;left:-150px}.auth-container:after{bottom:-150px;right:-150px}.auth-card{background:var(--surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-border);z-index:1;border-radius:1.5rem;width:100%;max-width:480px;padding:3rem 2.5rem;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn;box-shadow:0 25px 50px -12px #0000001a}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-logo{color:var(--primary);justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.logo-icon{box-shadow:none;background:0 0;border-radius:0;padding:0}.auth-title{background:linear-gradient(90deg,#1e293b,#475569);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.auth-subtitle{color:var(--text-muted);font-size:.95rem}.input-group{margin-bottom:1.5rem}.input-label{color:var(--text-main);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);transition:color .2s;position:absolute;left:1.25rem}.input-field{border:1px solid var(--surface-border);width:100%;color:var(--text-main);background:#f8fafc;border-radius:.75rem;outline:none;padding:.875rem 1.25rem .875rem 3rem;font-size:1rem;transition:all .2s}.input-field::placeholder{color:#94a3b8}.input-field:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #4f46e51a}.input-field:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--primary)}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:2rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #4f46e54d}.btn-primary:active{transform:translateY(0)}.role-selector{border:1px solid var(--surface-border);background:#f1f5f9;border-radius:1rem;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:2rem;padding:.5rem;display:grid}.role-selector button:last-child:nth-child(odd){grid-column:span 2}.role-btn{color:var(--text-muted);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.75rem .5rem;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.role-btn:hover{color:var(--text-main);background:#0000000d}.role-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 15px -3px #4f46e54d}.auth-footer{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.9rem}.auth-link{color:var(--primary);margin-left:.25rem;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--primary-hover)}.error-message{color:var(--error);align-items:center;gap:.25rem;margin-top:.5rem;font-size:.875rem;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-layout{min-height:100vh;animation:.5s forwards fadeIn}.dashboard-header{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem;animation:.4s forwards slideUp;display:flex}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-header>div{width:100%}.dashboard-header .flex{gap:.5rem;width:100%}.dashboard-header button{width:100%!important}}.dashboard-title{background:linear-gradient(135deg,#1e293b,#4f46e5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:700}.dashboard-subtitle{color:var(--text-muted);font-size:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface);border:none;border-radius:1rem;padding:1.75rem;transition:all .3s cubic-bezier(.16,1,.3,1);animation:.5s both slideUp;box-shadow:0 4px 12px -2px #0000000d}.stat-card:first-child{animation-delay:50ms}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.15s}.stat-card:nth-child(4){animation-delay:.2s}.stat-card:nth-child(5){animation-delay:.25s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #00000014}.stat-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.stat-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.stat-icon{color:#fff;border-radius:.75rem;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.icon-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 6px 15px -3px #3b82f64d}.icon-green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 6px 15px -3px #10b9814d}.icon-indigo{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 6px 15px -3px #818cf84d}.icon-purple{background:linear-gradient(135deg,#a78bfa,#7c3aed);box-shadow:0 6px 15px -3px #a78bfa4d}.icon-orange{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 6px 15px -3px #fb923c4d}.stat-value{color:var(--text-main);font-size:2rem;font-weight:700;line-height:1}.dashboard-controls{gap:1rem;margin-bottom:2rem;animation:.5s .3s both slideUp;display:flex}.dashboard-select{background:var(--surface);border:1px solid var(--surface-border);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border-radius:.75rem;outline:none;min-width:150px;padding:.75rem 2.5rem .75rem 1.25rem;font-family:Inter,sans-serif;font-size:.9rem;transition:all .2s}.dashboard-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.dashboard-select option{color:var(--text-main);background:#fff}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.chart-card{background:var(--surface);border:none;border-radius:1rem;padding:1.5rem;transition:all .3s;animation:.6s .35s both slideUp;box-shadow:0 4px 12px -2px #0000000d}.chart-card:hover{box-shadow:0 10px 25px -5px #00000014}.chart-title{color:var(--text-main);border-bottom:1px solid var(--surface-border);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600}.recharts-default-tooltip{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 10px 25px #0000001a!important}.recharts-tooltip-item{color:#1e293b!important}.recharts-legend-item-text{color:#64748b!important}.recharts-wrapper:focus,.recharts-surface:focus,.recharts-wrapper :focus{outline:none!important}.admin-container{background-color:var(--background);min-height:100vh;display:flex}.admin-sidebar{border-right:1px solid var(--surface-border);z-index:40;background-color:#fff;flex-direction:column;width:260px;height:100vh;transition:transform .3s;display:flex;position:fixed}.sidebar-header{border-bottom:1px solid var(--surface-border);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.sidebar-logo-icon{color:var(--primary)}.sidebar-title{color:var(--text-main);font-size:1.25rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.nav-item{color:var(--spik-text-secondary);border-radius:.5rem;align-items:center;gap:.75rem;padding:.875rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item:hover{background-color:var(--spik-border-light);color:var(--spik-text-primary)}.nav-item.active{background-color:var(--spik-accent-ultra-light);color:var(--spik-accent)}.nav-item.active:before{content:"";background-color:var(--spik-accent);border-radius:0 4px 4px 0;width:3px;position:absolute;top:.5rem;bottom:.5rem;left:0}.sidebar-footer{border-top:1px solid var(--surface-border);padding:1.5rem}.logout-btn{width:100%;color:var(--error);cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.875rem 1rem;font-weight:600;transition:background-color .2s;display:flex}.logout-btn:hover{background-color:#fef2f2}.admin-main{flex-direction:column;flex:1;width:calc(100% - 260px);min-width:0;min-height:100vh;margin-left:260px;padding:2rem;display:flex;overflow-x:hidden}.mobile-header{border-bottom:1px solid var(--surface-border);z-index:30;background-color:#fff;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.5rem;display:none;position:fixed;top:0}.mobile-logo{color:var(--text-main);align-items:center;gap:.5rem;font-weight:600;display:flex}.mobile-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-overlay{z-index:35;background-color:#00000080;display:none;position:fixed;inset:0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background-color:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:1rem;flex-direction:column;width:100%;max-height:90vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.modal-header{border-bottom:1px solid var(--surface-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--text-main);font-size:1.25rem;font-weight:600}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem;transition:all .2s}.modal-close-btn:hover{color:var(--text-main);background-color:#f1f5f9}.modal-body{flex:0 auto;min-height:0;padding:1.5rem;overflow-y:auto}.form-group{margin-bottom:1rem}.form-label{color:var(--text-main);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid var(--surface-border);border-radius:.5rem;width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.gap-1{gap:.25rem!important}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:gap-2{gap:.5rem!important}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:gap-4{gap:1rem!important}}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.responsive-flex-header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}@media (width<=768px){.responsive-flex-header{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.responsive-flex-header>div{width:100%}.responsive-flex-header button,.responsive-flex-header select{width:100%!important}.responsive-flex-header .flex{flex-direction:column;gap:.5rem;width:100%}}.w-full{width:100%!important}.bg-white{background-color:var(--spik-surface)!important}.bg-gray-50{background-color:var(--spik-bg)!important}.bg-gray-100{background-color:var(--spik-border-light)!important}.bg-transparent{background:0 0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}.p-5{padding:1.25rem!important}.p-6{padding:1.5rem!important}.p-8{padding:2rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.py-6{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-8{padding-top:2rem!important;padding-bottom:2rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.mt-6{margin-top:1.5rem!important}.mt-8{margin-top:2rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.mb-6{margin-bottom:1.5rem!important}.mb-8{margin-bottom:2rem!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.space-y-1>*+*{margin-top:.25rem!important}.space-y-2>*+*{margin-top:.5rem!important}.space-y-3>*+*{margin-top:.75rem!important}.space-y-4>*+*{margin-top:1rem!important}.space-y-6>*+*{margin-top:1.5rem!important}.space-y-8>*+*{margin-top:2rem!important}.rounded{border-radius:.25rem!important}.rounded-lg{border-radius:.5rem!important}.rounded-xl{border-radius:.75rem!important}.border{border:1px solid var(--surface-border)!important}.border-b{border-bottom:1px solid var(--surface-border)!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-lg{font-size:1.125rem!important}.text-2xl{font-size:1.5rem!important}.font-bold{font-weight:700!important}.font-semibold{font-weight:600!important}.font-medium{font-weight:500!important}.text-gray-400{color:var(--spik-text-muted)!important}.text-gray-500,.text-gray-600{color:var(--spik-text-secondary)!important}.text-gray-700,.text-gray-800{color:var(--spik-text-primary)!important}.text-white{color:#fff!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.overflow-hidden{overflow:hidden!important}.overflow-x-auto{overflow-x:auto!important}.min-w-max{min-width:max-content!important}.whitespace-nowrap{white-space:nowrap!important}.hidden{display:none!important}.block{display:block!important}.mobile\:hidden{display:none!important}.mobile\:block{display:block!important}.text-primary,.text-blue-600{color:var(--spik-accent)!important}.text-green-600{color:var(--spik-success)!important}.text-red-600{color:var(--spik-danger)!important}button,.btn-primary,.logout-btn,select,input{transition:all .25s cubic-bezier(.4,0,.2,1)!important}button:hover{transform:translateY(-1.5px)}button:active{transform:translateY(0)}.bg-primary{background:var(--spik-accent)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #7c3aed26!important}.hover\:bg-primary-hover:hover,.bg-primary:hover{background:var(--spik-accent-hover)!important;box-shadow:0 6px 16px #7c3aed40!important}.bg-blue-600{background:var(--spik-accent)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #7c3aed26!important}.hover\:bg-blue-700:hover,.bg-blue-600:hover{background:var(--spik-accent-hover)!important;box-shadow:0 6px 16px #7c3aed40!important}.bg-purple-600{background:var(--spik-accent)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #7c3aed26!important}.hover\:bg-purple-700:hover,.bg-purple-600:hover{background:var(--spik-accent-hover)!important;box-shadow:0 6px 16px #7c3aed40!important}.bg-green-500,.bg-green-600{background:var(--spik-success)!important;color:#fff!important;border:none!important;box-shadow:0 4px 10px #10b98133!important}.hover\:bg-green-600:hover,.hover\:bg-green-700:hover,.bg-green-500:hover{background:#059669!important;box-shadow:0 6px 16px #10b98159!important}.bg-red-500,.bg-red-600{background:var(--spik-danger)!important;color:#fff!important;border:none!important;box-shadow:0 4px 10px #ef444433!important}.hover\:bg-red-600:hover,.hover\:bg-red-700:hover,.bg-red-500:hover{background:#dc2626!important;box-shadow:0 6px 16px #ef444459!important}.hover\:bg-gray-50:hover:hover{background-color:#f1f5f9!important}.hover\:bg-gray-200:hover:hover{background-color:#cbd5e1!important}@media (width<=480px){.auth-card{padding:2rem 1.5rem}.dashboard-layout{padding:1rem}.dashboard-title{font-size:1.4rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.5rem}.stat-icon{width:36px;height:36px}.chart-grid{grid-template-columns:1fr}.chart-card{padding:1.25rem}.dashboard-controls{flex-direction:column}.dashboard-select{width:100%}}@media (width<=768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{width:100%;margin-left:0;padding:80px 1rem 2rem}.mobile\:hidden{display:none!important}.mobile\:block{display:block!important}.md\:block{display:none!important}.md\:hidden{display:block!important}.mobile-header{display:flex}.sidebar-overlay{display:block}.dashboard-layout{padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.chart-grid{grid-template-columns:1fr}}@media (width>=769px) and (width<=1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}.chart-grid{grid-template-columns:1fr}}@media (width>=769px){.md\:block{display:block!important}.md\:hidden{display:none!important}}.bg-blue-50{background-color:#eff6ff!important}.bg-green-50{background-color:#f0fdf4!important}.bg-red-50{background-color:#fef2f2!important}.bg-purple-50{background-color:#faf5ff!important}.bg-emerald-50{background-color:#ecfdf5!important}.text-blue-500{color:#3b82f6!important}.text-green-500{color:#22c55e!important}.text-red-500{color:#ef4444!important}.text-purple-500{color:#a855f7!important}.text-emerald-500{color:#10b981!important}.fee-table-override{border-radius:var(--spik-radius,.75rem)!important;overflow:hidden!important}.fee-table-override thead tr{background-color:#1e293b!important}.fee-table-override th{color:#fff!important;text-transform:uppercase!important;letter-spacing:.02em!important;white-space:nowrap!important;padding:.5rem .35rem!important;font-size:.7rem!important;font-weight:700!important}.fee-table-override th:first-child{border-top-left-radius:.75rem!important}.fee-table-override th:last-child{border-top-right-radius:.75rem!important}.fee-table-override td{padding:.5rem .35rem!important;font-size:.75rem!important}.fee-tabs-container{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:.25rem;padding-left:.5rem;display:flex}.fee-tab-btn{color:#64748b;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.5rem 1rem .625rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;border-bottom:2px solid #0000!important;border-radius:0!important;outline:none!important;transform:none!important}.fee-tab-btn:hover{color:#1e293b;transform:none!important}.fee-tab-btn.active{color:#2563eb;border-bottom-color:#2563eb!important}.fee-breakdown-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.fee-breakdown-title{color:#1e293b;border-bottom:1px solid #f1f5f9;margin-bottom:1rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.total-input-display{color:#2563eb!important;background-color:#eff6ff!important;border-color:#bfdbfe!important;font-weight:600!important}.btn-reset{box-shadow:none!important;cursor:pointer!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important;transform:none!important}.text-base{font-size:1rem!important}.text-xl{font-size:1.25rem!important}.max-w-5xl{max-width:64rem!important}.max-w-6xl{max-width:72rem!important}.max-w-7xl{max-width:80rem!important}.spik-page{flex-direction:column;gap:1.5rem;animation:.4s forwards fadeIn;display:flex}.spik-page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.spik-page-title{color:var(--spik-text-primary);margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.spik-breadcrumb{color:var(--spik-text-secondary);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.875rem;display:flex}.spik-breadcrumb span{color:var(--spik-text-secondary)}.spik-breadcrumb .spik-breadcrumb-active{color:var(--spik-text-primary);font-weight:500}.spik-breadcrumb .spik-breadcrumb-sep{color:var(--spik-text-muted);-webkit-user-select:none;user-select:none}.spik-btn-outline{color:var(--spik-accent);border:1.5px solid var(--spik-accent);border-radius:var(--spik-radius-sm);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.spik-btn-outline:hover{background:var(--spik-accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed40}.spik-btn-outline:active{transform:translateY(0)}.spik-btn-primary{color:#fff;background:var(--spik-accent);border-radius:var(--spik-radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.spik-btn-primary:hover{background:var(--spik-accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed4d}.spik-btn-primary:active{transform:translateY(0)}.spik-btn-ghost{color:#374151;background:var(--spik-border-light);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.spik-btn-ghost:hover{background:#e5e7eb;transform:translateY(-1px)}.spik-btn-ghost:active{transform:translateY(0)}.spik-card{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);padding:1.5rem;box-shadow:0 1px 3px #0000000a}.spik-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.spik-card-title{color:var(--spik-text-primary);margin:0;font-size:1.125rem;font-weight:600}.spik-card-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.spik-search{min-width:220px;position:relative}.spik-search input{width:100%;color:var(--spik-text-primary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);outline:none;padding:.5rem 2.25rem .5rem .875rem;font-family:Inter,sans-serif;font-size:.875rem;transition:all .2s}.spik-search input::placeholder{color:var(--spik-text-muted)}.spik-search input:focus{border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-search .spik-search-icon{color:var(--spik-accent);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.spik-filter{color:var(--spik-text-secondary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.8125rem;transition:all .2s;display:inline-flex}.spik-filter:hover{border-color:var(--spik-accent);color:var(--spik-text-primary)}.spik-filter svg{width:14px;height:14px;color:var(--spik-text-muted)}.spik-table-wrap{margin:0 -1.5rem;padding:0 1.5rem;overflow-x:auto}.spik-table{border-collapse:separate;border-spacing:0;width:100%}.spik-table thead th{color:var(--spik-text-secondary);text-align:left;white-space:nowrap;border-bottom:1px solid var(--spik-border);background:0 0;padding:.875rem 1rem;font-size:.8125rem;font-weight:500}.spik-table tbody tr{transition:background-color .15s}.spik-table tbody tr:hover{background-color:#fafafa}.spik-table tbody tr.spik-row-selected{background-color:var(--spik-accent-ultra-light)}.spik-table tbody td{color:#374151;border-bottom:1px solid var(--spik-border-light);white-space:nowrap;vertical-align:middle;padding:.875rem 1rem;font-size:.875rem}.spik-table tbody tr:last-child td{border-bottom:none}.spik-cell-name{align-items:center;gap:.75rem;display:flex}.spik-avatar{color:#fff;text-transform:uppercase;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:600;display:flex}.spik-checkbox{appearance:none;cursor:pointer;background:var(--spik-surface);border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:all .15s;position:relative}.spik-checkbox:hover{border-color:var(--spik-accent)}.spik-checkbox:checked{background:var(--spik-accent);border-color:var(--spik-accent)}.spik-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.spik-action-btn{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:.375rem .75rem;transition:all .15s;display:inline-flex}.spik-action-btn:hover{transform:none}.spik-action-btn.spik-action-view{color:#3b82f6;background:#eff6ff;border:1.5px solid #bfdbfe}.spik-action-btn.spik-action-view:hover{background:#dbeafe}.spik-action-btn.spik-action-edit{color:#6b7280;background:#fff;border:1.5px solid #e5e7eb}.spik-action-btn.spik-action-edit:hover{background:#f3f4f6}.spik-action-btn.spik-action-delete{color:#ef4444;background:#fef2f2;border:1.5px solid #fecaca}.spik-action-btn.spik-action-delete:hover{background:#fee2e2}.spik-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem;margin-top:1.5rem;display:flex}.spik-pagination-btn{width:34px;height:34px;color:var(--spik-text-secondary);border-radius:var(--spik-radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.spik-pagination-btn:hover:not(:disabled):not(.spik-pagination-active){background:var(--spik-border-light);color:var(--spik-text-primary);transform:none}.spik-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.spik-pagination-btn:disabled:hover{transform:none}.spik-pagination-active{font-weight:600;box-shadow:0 2px 8px #7c3aed40;background:var(--spik-accent)!important;color:#fff!important}.spik-pagination-ellipsis{width:34px;height:34px;color:var(--spik-text-muted);letter-spacing:2px;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.spik-pagination-size{color:var(--spik-text-secondary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);cursor:pointer;appearance:auto;outline:none;margin-left:1rem;padding:.375rem .75rem;font-family:Inter,sans-serif;font-size:.8125rem}.spik-pagination-size:focus{border-color:var(--spik-accent)}.spik-modal-input{width:100%;color:var(--spik-text-primary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);outline:none;padding:.625rem .875rem;font-family:Inter,sans-serif;font-size:.875rem;transition:all .2s}.spik-modal-input::placeholder{color:var(--spik-text-muted)}.spik-modal-input:focus{border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-modal-input:disabled{background:var(--spik-border-light);color:var(--spik-text-muted);cursor:not-allowed}.spik-modal-label{color:var(--spik-text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.spik-tag{color:var(--spik-accent);background:var(--spik-accent-light);border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.spik-tag-remove{color:var(--spik-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.875rem;font-weight:700;line-height:1;transition:color .15s;display:inline-flex}.spik-tag-remove:hover{color:var(--spik-danger);transform:none}.spik-detail-section{background:var(--spik-accent-ultra-light);border:1px solid var(--spik-accent-light);border-radius:var(--spik-radius);margin-bottom:1rem;padding:1.25rem}.spik-detail-section-green{background:#f0fdf4;border-color:#bbf7d0}.spik-detail-section h3{color:var(--spik-text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.spik-detail-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.spik-detail-item{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);padding:.75rem}.spik-detail-item.spik-detail-full{grid-column:span 2}.spik-detail-label{text-transform:uppercase;letter-spacing:.05em;color:var(--spik-accent);margin-bottom:.25rem;font-size:.6875rem;font-weight:600;display:block}.spik-detail-label-green{color:var(--spik-success)}.spik-detail-value{color:var(--spik-text-primary);font-size:.875rem;font-weight:500}.spik-modal-footer{border-top:1px solid var(--spik-border);flex-shrink:0;gap:.75rem;padding-top:1.25rem;display:flex}.spik-modal-footer>*{flex:1}.spik-subject-add{gap:.5rem;margin-top:.75rem;display:flex}.spik-subject-add input{flex:1}.spik-subject-tags{background:var(--spik-border-light);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);flex-wrap:wrap;gap:.5rem;min-height:3rem;padding:.75rem;display:flex}.spik-empty-text{color:var(--spik-text-muted);font-size:.8125rem}.spik-badge-muted{color:var(--spik-text-muted);background:var(--spik-border-light);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}@media (width<=768px){.spik-page-header{flex-direction:column;gap:.75rem}.spik-card{padding:1rem}.spik-card-header{flex-direction:column;align-items:flex-start}.spik-card-controls{width:100%}.spik-search{min-width:unset;width:100%}.spik-table-wrap{margin:0 -1rem;padding:0 1rem}.spik-detail-grid{grid-template-columns:1fr}.spik-detail-item.spik-detail-full{grid-column:span 1}.spik-modal-footer{flex-direction:column}}@media (width<=480px){.spik-page-title{font-size:1.375rem}.spik-pagination{gap:.25rem}.spik-pagination-btn{width:30px;height:30px;font-size:.75rem}}.spik-att-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.spik-att-stat{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem;transition:all .2s;display:flex}.spik-att-stat:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.spik-att-stat-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.375rem;display:flex}.spik-att-stat-icon.present{color:#16a34a;background:#dcfce7}.spik-att-stat-icon.absent{color:#dc2626;background:#fee2e2}.spik-att-stat-icon.holiday{color:#d97706;background:#fef3c7}.spik-att-stat-icon.total{color:#7c3aed;background:#ede9fe}.spik-att-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--spik-text-muted);font-size:.6875rem;font-weight:600}.spik-att-stat-value{color:var(--spik-text-primary);font-size:1.75rem;font-weight:700;line-height:1}.spik-att-stat-value.present{color:#16a34a}.spik-att-stat-value.absent{color:#dc2626}.spik-att-stat-value.holiday{color:#d97706}.spik-att-stat-value.total{color:#7c3aed}.spik-att-rate{border-radius:9999px;margin-top:.125rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.spik-att-rate.good{color:#16a34a;background:#dcfce7}.spik-att-rate.warn{color:#d97706;background:#fef3c7}.spik-att-rate.bad{color:#dc2626;background:#fee2e2}.spik-att-info-bar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.spik-att-info-chip{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);color:var(--spik-text-secondary);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;display:inline-flex}.spik-att-info-chip strong{color:var(--spik-text-primary);font-weight:600}.spik-att-date-input{color:var(--spik-text-primary);cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-family:Inter,sans-serif;font-size:.8125rem;transition:all .2s}.spik-att-date-input:focus{border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-att-quick{margin-top:.75rem}.spik-att-quick-label{color:var(--spik-text-secondary);margin-bottom:.5rem;font-size:.8125rem;font-weight:500;display:block}.spik-att-quick-row{align-items:stretch;gap:.5rem;display:flex}.spik-att-quick-input{border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);color:var(--spik-text-primary);background:var(--spik-border-light);outline:none;flex:1;padding:.5rem .875rem;font-family:Inter,sans-serif;font-size:.8125rem;transition:all .2s}.spik-att-quick-input:focus{background:var(--spik-surface);border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-att-quick-input::placeholder{color:var(--spik-text-muted)}.spik-att-status-btn{border-radius:var(--spik-radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.spik-att-status-btn:hover{transform:translateY(-1px)}.spik-att-status-btn:active{transform:translateY(0)}.spik-att-status-btn.present{color:#16a34a;background:#dcfce7}.spik-att-status-btn.present:hover,.spik-att-status-btn.present.active{color:#fff;background:#16a34a;box-shadow:0 2px 8px #16a34a4d}.spik-att-status-btn.absent{color:#dc2626;background:#fee2e2}.spik-att-status-btn.absent:hover,.spik-att-status-btn.absent.active{color:#fff;background:#dc2626;box-shadow:0 2px 8px #dc26264d}.spik-att-status-btn.holiday{color:#d97706;background:#fef3c7}.spik-att-status-btn.holiday:hover,.spik-att-status-btn.holiday.active{color:#fff;background:#d97706;box-shadow:0 2px 8px #d977064d}.spik-att-circle{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:inline-flex}.spik-att-circle:hover{transform:scale(1.15)}.spik-att-circle:active{transform:scale(.95)}.spik-att-circle.present{color:#fff;background:#22c55e}.spik-att-circle.present.inactive{color:#9ca3af;background:#e5e7eb}.spik-att-circle.absent{color:#fff;background:#ef4444}.spik-att-circle.absent.inactive{color:#9ca3af;background:#e5e7eb}.spik-att-circle.holiday{color:#fff;background:#f59e0b}.spik-att-circle.holiday.inactive{color:#9ca3af;background:#e5e7eb}.spik-att-toolbar{border-bottom:1px solid var(--spik-border-light);background:var(--spik-border-light);border-radius:var(--spik-radius) var(--spik-radius) 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.spik-att-toolbar-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spik-att-toolbar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--spik-text-muted);margin-right:.25rem;font-size:.75rem;font-weight:600}.spik-att-save-btn{color:#fff;background:var(--spik-accent);border-radius:var(--spik-radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.spik-att-save-btn:hover{background:var(--spik-accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed4d}.spik-att-save-btn:active{transform:translateY(0)}.spik-att-save-btn:disabled{opacity:.5;cursor:not-allowed}.spik-att-save-btn:disabled:hover{box-shadow:none;transform:none}.spik-att-toast{border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;animation:.3s forwards fadeIn;display:inline-flex}.spik-att-toast.success{color:#16a34a;background:#dcfce7}.spik-att-toast.error{color:#dc2626;background:#fee2e2}.spik-att-remark{border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);width:100%;max-width:180px;color:var(--spik-text-primary);background:var(--spik-border-light);outline:none;padding:.375rem .625rem;font-family:Inter,sans-serif;font-size:.8125rem;transition:all .2s}.spik-att-remark:focus{background:var(--spik-surface);border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-att-remark::placeholder{color:var(--spik-text-muted)}.spik-att-edit-btn{color:var(--spik-text-secondary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);cursor:pointer;padding:.375rem .75rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;transition:all .15s}.spik-att-edit-btn:hover{background:var(--spik-accent-ultra-light);color:var(--spik-accent);border-color:var(--spik-accent-light);transform:none}.spik-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spik-spin}@keyframes spik-spin{to{transform:rotate(360deg)}}.spik-att-empty{color:var(--spik-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.spik-att-empty svg{opacity:.25;margin-bottom:.75rem}.spik-att-empty p{font-size:.875rem;font-weight:500}.spik-att-modal-student{background:var(--spik-accent-ultra-light);border:1px solid var(--spik-accent-light);border-radius:var(--spik-radius);margin-bottom:1.25rem;padding:1rem}.spik-att-modal-student .spik-att-modal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--spik-accent);margin-bottom:.25rem;font-size:.6875rem;font-weight:600}.spik-att-modal-student .spik-att-modal-name{color:var(--spik-text-primary);font-size:1.125rem;font-weight:700}.spik-att-modal-student .spik-att-modal-meta{color:var(--spik-text-secondary);margin-top:.25rem;font-size:.8125rem}.spik-att-modal-statuses{gap:.5rem;margin-bottom:1.25rem;display:flex}.spik-att-modal-statuses button{flex:1}@media (width<=768px){.spik-att-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.spik-att-info-bar{flex-flow:wrap;align-items:center}.spik-att-toolbar{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.spik-att-toolbar-group{flex-wrap:nowrap;justify-content:center;width:100%;padding-bottom:2px;overflow-x:auto}.spik-att-status-btn{gap:.35rem;padding:.6rem .8rem;font-size:.85rem}.spik-att-quick-row,.spik-att-modal-statuses{flex-direction:column}}@media (width<=480px){.spik-att-stats{grid-template-columns:repeat(2,1fr)}.spik-att-stat{padding:.875rem}.spik-att-stat-value{font-size:1.375rem}.spik-att-circle{width:40px;height:40px}}.spik-sched-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.spik-sched-day{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);transition:box-shadow .2s;overflow:hidden}.spik-sched-day:hover{box-shadow:0 4px 16px #0000000f}.spik-sched-day-header{border-bottom:1px solid var(--spik-border-light);background:var(--spik-border-light);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.spik-sched-day-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.spik-sched-day-dot.mon{background:#7c3aed}.spik-sched-day-dot.tue{background:#3b82f6}.spik-sched-day-dot.wed{background:#10b981}.spik-sched-day-dot.thu{background:#f59e0b}.spik-sched-day-dot.fri{background:#ef4444}.spik-sched-day-dot.sat{background:#6366f1}.spik-sched-day-name{color:var(--spik-text-primary);font-size:1rem;font-weight:600}.spik-sched-day-count{color:var(--spik-text-muted);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.spik-sched-day-body{flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;display:flex}.spik-sched-item{border:1px solid var(--spik-border-light);border-radius:var(--spik-radius-sm);border-left:3px solid var(--spik-accent);background:var(--spik-surface);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;transition:all .15s;display:flex}.spik-sched-item:hover{background:var(--spik-accent-ultra-light);border-left-color:var(--spik-accent)}.spik-sched-item-info{flex:1;min-width:0}.spik-sched-item-subject{color:var(--spik-text-primary);margin-bottom:.125rem;font-size:.875rem;font-weight:600}.spik-sched-item-meta{color:var(--spik-text-muted);font-size:.75rem}.spik-sched-item-time{color:var(--spik-accent);background:var(--spik-accent-ultra-light);white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.spik-sched-empty{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);color:var(--spik-text-muted);flex-direction:column;grid-column:span 2;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.spik-sched-empty svg{opacity:.2;margin-bottom:1rem}.spik-sched-empty p{font-size:.875rem;font-weight:500}.spik-sched-loading{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);color:var(--spik-text-muted);justify-content:center;align-items:center;gap:.75rem;padding:3rem 2rem;font-size:.875rem;font-weight:500;display:flex}@media (width<=768px){.spik-sched-grid{grid-template-columns:1fr}.spik-sched-empty{grid-column:span 1}.spik-sched-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.spik-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.spik-stat-card{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);justify-content:space-between;align-items:flex-start;padding:1.5rem;transition:box-shadow .2s,transform .2s;display:flex}.spik-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.spik-stat-info{flex-direction:column;gap:.5rem;display:flex}.spik-stat-title{color:var(--spik-text-muted);font-size:.875rem;font-weight:500}.spik-stat-value{color:var(--spik-text-primary);font-size:1.875rem;font-weight:700;line-height:1}.spik-stat-icon{border-radius:var(--spik-radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.spik-stat-icon.blue{color:#3b82f6;background:#eff6ff}.spik-stat-icon.green{color:#10b981;background:#ecfdf5}.spik-stat-icon.purple{color:#7c3aed;background:#f5f3ff}.spik-stat-icon.orange{color:#f97316;background:#fff7ed}.spik-stat-icon.amber{color:#f59e0b;background:#fffbeb}.spik-stat-icon.red{color:#ef4444;background:#fef2f2}.spik-chart-card{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);flex-direction:column;padding:1.5rem;display:flex}.spik-chart-header{color:var(--spik-text-primary);border-bottom:1px solid var(--spik-border-light);margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.125rem;font-weight:600}.spik-filter-bar{background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.spik-input{width:100%;color:var(--spik-text-primary);background:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);outline:none;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.spik-input::placeholder{color:var(--spik-text-muted)}.spik-input:focus{border-color:var(--spik-accent);box-shadow:0 0 0 3px #7c3aed1a}.spik-input:disabled{background:var(--spik-border-light);color:var(--spik-text-muted);cursor:not-allowed}.spik-select{color:var(--spik-text-primary);background-color:var(--spik-surface);border:1px solid var(--spik-border);border-radius:var(--spik-radius-sm);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding:.625rem 2.5rem .625rem 1rem;font-size:.875rem;transition:all .2s}.spik-select:focus{border-color:var(--spik-accent);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.spik-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.spik-badge.success{color:#10b981;background:#ecfdf5}.spik-badge.warning{color:#f59e0b;background:#fffbeb}.spik-badge.danger{color:#ef4444;background:#fef2f2}.spik-badge.info{color:#3b82f6;background:#eff6ff}.spik-table-mobile-view{display:none!important}.spik-table-desktop-view{display:block!important}@media (width<=768px){.spik-table-mobile-view{display:block!important}.spik-table-desktop-view{display:none!important}}@page{margin:12mm 8mm;size:A4 portrait}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{color:#000!important;background:#fff!important;font-size:10px!important;line-height:1.3!important}.admin-sidebar,.mobile-header,.sidebar-overlay,.no-print,.recharts-wrapper,svg.recharts-surface,button,nav,[class*=paginat],select,input[type=search]{display:none!important}.admin-main{width:100%!important;margin-left:0!important;padding:8px!important}.spik-page{max-width:100%!important;padding:0!important}.spik-card,.spik-stat-card,.spik-dashboard-card{box-shadow:none!important;border:1px solid #ddd!important;border-radius:4px!important;margin-bottom:8px!important;overflow:visible!important}.spik-table-wrap{margin:0!important;padding:0!important;overflow:visible!important}.spik-table{border-collapse:collapse!important;width:100%!important;font-size:8px!important}.spik-table thead th{white-space:normal!important;background:#f5f5f5!important;border-bottom:1px solid #ccc!important;padding:3px 4px!important;font-size:8px!important}.spik-table tbody td{white-space:normal!important;color:#000!important;border-bottom:1px solid #eee!important;padding:3px 4px!important;font-size:8px!important}.spik-table tbody tr:hover{background:0 0!important}.spik-table-mobile-view{display:none!important}.spik-table-desktop-view{display:block!important}thead{display:table-header-group}tr,th,td{page-break-inside:avoid}.spik-page-header{border-bottom:1px solid #ccc!important;margin-bottom:12px!important;padding-bottom:8px!important}.spik-page-header .flex{display:none!important}.spik-badge{padding:1px 4px!important;font-size:7px!important}.show-on-print,.hidden.show-on-print{display:block!important}}.spik-btn-danger{color:var(--spik-danger);border-radius:var(--spik-radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.spik-btn-danger:hover{color:#dc2626;background:#fef2f2;transform:translateY(-1px)}.spik-btn-danger:disabled,.spik-btn-primary:disabled,.spik-btn-ghost:disabled{opacity:.6;cursor:not-allowed;transform:none}.custom-dropdown-scroll{scrollbar-width:thin;scrollbar-color:#a855f7 #f1f5f9;max-height:260px!important;overflow-y:scroll!important}.custom-dropdown-scroll::-webkit-scrollbar{width:8px}.custom-dropdown-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.custom-dropdown-scroll::-webkit-scrollbar-thumb{background:#a855f7;border-radius:4px}.custom-dropdown-scroll::-webkit-scrollbar-thumb:hover{background:#7e22ce}
