:root{--bg-color:#f4f8f5;--surface-color:#fff;--text-primary:#0f172a;--text-secondary:#475569;--border-color:#e2e8f0;--primary:#009c48;--primary-hover:#007236;--accent-gold:#f7b500;--success:#009c48;--warning:#f7b500;--danger:#ef4444;--glass-bg:#ffffffd9;--glass-border:#009c4826;--glass-shadow:0 4px 30px #009c4814;--glass-blur:blur(12px)}[data-theme=dark]{--bg-color:#0b1912;--surface-color:#13271d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#1e3a2b;--primary:#009c48;--primary-hover:#00b855;--accent-gold:#f7b500;--glass-bg:#13271dbf;--glass-border:#009c4833;--glass-shadow:0 4px 30px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-color:#0b1912;--surface-color:#13271d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#1e3a2b;--primary:#009c48;--primary-hover:#00b855;--accent-gold:#f7b500;--glass-bg:#13271dbf;--glass-border:#009c4833;--glass-shadow:0 4px 30px #0006}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;transition:background-color .3s,color .3s}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:24px}.container{max-width:1200px;margin:0 auto;padding:16px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}button,.btn,a.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:1rem;font-weight:600;transition:opacity .2s,filter .2s,transform .2s,background-color .2s;display:inline-flex}button:hover,.btn:hover,a.btn:hover{filter:brightness(.92);opacity:.82!important}.btn:active,button:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary);opacity:.82!important}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger);opacity:.82!important}.btn-ghost{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-ghost:hover{background-color:var(--surface-color);opacity:.82!important}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-outline:hover{background-color:var(--surface-color);opacity:.82!important}.btn-block{width:100%}.form-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-control{border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-primary);border-radius:8px;padding:12px;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.text-center{text-align:center}.text-xl{font-size:1.25rem;font-weight:700}.text-2xl{font-size:1.5rem;font-weight:700}.text-3xl{font-size:1.875rem;font-weight:800}.text-muted{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.kpi-grid-1x4{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin-bottom:28px!important;display:grid!important}@media (width<=840px){.kpi-grid-1x4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}@media (width<=420px){.kpi-grid-1x4{grid-template-columns:1fr!important;gap:10px!important}}h1,h2,h3,h4,h5,h6,p,span,label,td,th,div,button{overflow-wrap:break-word;word-break:break-word}html{scroll-behavior:smooth}.fade-in-up{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp;transform:translateY(20px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.gradient-text{background:linear-gradient(135deg,#009c48 0%,#f7b500 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-section{flex-direction:column;justify-content:center;min-height:100vh;padding:80px 20px;display:flex}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 40px #0000001a}[data-theme=dark] .hover-lift:hover{box-shadow:0 10px 40px #00000080}.theme-toggle-container{z-index:1000;transition:all .3s;position:fixed;top:14px;right:20px}.btn-theme-toggle{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex;box-shadow:0 4px 12px #00000014}.btn-theme-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 16px #009c482e}.theme-toggle-label{display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.show-mobile{display:none!important}.table-responsive{border-radius:8px;width:100%;max-width:100%;margin-bottom:16px;-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.table-responsive table{width:100%}.table-responsive th,.table-responsive td{white-space:nowrap!important}.btn,button{white-space:nowrap}.btn.evaluation-option-btn{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:left!important;box-sizing:border-box!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;width:100%!important;max-width:100%!important;line-height:1.4!important;display:flex!important}.evaluation-option-btn .option-title{word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important;width:100%!important;font-size:.9rem!important;font-weight:800!important;line-height:1.3!important;display:block!important}.evaluation-option-btn .option-rubric{opacity:.92!important;word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important;width:100%!important;margin-top:4px!important;font-size:.8rem!important;line-height:1.4!important;display:block!important}@media (width<=1080px){.hidden-mobile{display:none!important}.show-mobile{display:flex!important}.kpi-grid-1x4{grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.theme-toggle-container{top:10px;right:12px}.btn-theme-toggle{border-radius:20px;padding:6px 10px}.theme-toggle-label{display:none}.container{padding:12px;padding-top:16px!important}.card{border-radius:10px;padding:14px}.evaluation-category-box{border-radius:10px!important;padding:14px!important}.evaluation-option-btn{padding:10px 12px!important}.evaluation-option-btn .option-title{font-size:.85rem!important}.evaluation-option-btn .option-rubric{font-size:.76rem!important;line-height:1.35!important}.header-flex-mobile{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.header-actions-mobile{flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;padding-right:0!important}.header-actions-mobile button,.header-actions-mobile a{padding:8px 12px!important;font-size:.8rem!important}.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.card-header-responsive{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.modal-card-mobile{width:95vw!important;max-height:90vh!important;padding:16px!important}}@media (width<=520px){.grid-cols-4,.grid-cols-3,.grid-cols-2,.kpi-grid-1x4{grid-template-columns:1fr!important}.card-header-responsive button,.card-header-responsive a.btn{justify-content:center!important;width:100%!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
