@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&family=Lora:wght@400;500&display=swap";:root{--primary: #159EDA;--primary-hover: #0E7CB3;--primary-bg: #E8F6FD;--secondary: #D22C2C;--bg-app: #f0f7ff;--card-bg: #ffffff;--text-main: #111827;--text-muted: #4b5563;--border: #E0E0E0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 10px 40px -10px rgba(0, 0, 0, .08);--success: #3DAB79;--danger: #D22C2C;font-family:Poppins,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:var(--text-main);background-color:var(--bg-app)}body{margin:0;display:flex;min-width:320px;min-height:100vh;justify-content:center}#root{width:100%;max-width:500px;padding:1.5rem}header{margin-bottom:2.5rem;text-align:left;display:flex;align-items:center;gap:1rem}.school-logo{width:60px;height:60px;border-radius:50%;border:3px solid white;box-shadow:var(--shadow-sm);object-fit:contain;background:#fff}h1,h2,h3{font-family:Poppins,sans-serif;letter-spacing:-.02em}h1{font-size:2.2rem;font-weight:800;margin:0;color:var(--primary);line-height:1.1}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-md);margin-bottom:1.5rem;transition:transform .2s ease}.card:hover{transform:translateY(-2px)}.label-mini{font-family:Poppins,sans-serif;font-size:.8rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.5rem}input,textarea{width:100%;padding:.85rem 1rem;background:#fdfdfb;border:1px solid var(--border);border-radius:1rem;color:var(--text-main);font-family:inherit;font-size:1rem;box-sizing:border-box;transition:all .2s ease}input:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #159eda1a}.btn{font-family:Poppins,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.5rem;border-radius:1.25rem;border:none;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1rem}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #159eda33}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 15px #159eda4d}.btn-excel{background:#1d6f42;color:#fff;box-shadow:0 4px 12px #1d6f4233}.btn-excel:hover{background:#145532;transform:translateY(-1px);box-shadow:0 6px 15px #1d6f424d}.btn-primary:active{transform:scale(.96)}.btn-ghost{background:transparent;color:var(--text-main);border:1px solid var(--border)}.btn-icon{width:4rem;height:4rem;border-radius:2rem;box-shadow:0 10px 20px -5px #d9775766}.record-btn-wrapper{display:flex;justify-content:center;margin:2rem 0}.recording{background:var(--danger)!important;animation:ripple 1.5s infinite}@keyframes ripple{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 20px #ef444400}to{box-shadow:0 0 #ef444400}}.pillar-name{font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;color:var(--primary);margin:0 0 1rem;font-size:1.1rem}.dot-nav{display:flex;justify-content:center;gap:.6rem;margin-bottom:2rem}.dot{width:10px;height:10px;border-radius:50%;background:#e0e0e0;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.dot.active{background:var(--primary);transform:scale(1.3);box-shadow:0 0 10px #159eda66}.admin-tabs{display:flex;background:#fff;padding:.35rem;border-radius:1.25rem;border:1px solid var(--border);gap:.25rem;box-shadow:var(--shadow-sm);margin:1.5rem 0}.admin-tab{flex:1;border:none;background:transparent;padding:.75rem 1rem;border-radius:1rem;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}.admin-tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #159eda40}.admin-tab:hover:not(.active){background:var(--primary-bg);color:var(--primary)}.nav-actions{display:flex;justify-content:space-between;margin-top:1rem}footer{text-align:center;margin-top:3rem;color:var(--text-muted);font-size:.8rem}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-wrapper{position:fixed;inset:0;background:var(--bg-app);display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:2rem;padding:2.5rem 2rem;box-shadow:0 20px 60px -15px #d9775726;width:100%;max-width:420px;animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:3rem;margin-bottom:.25rem}.login-header p{color:var(--text-muted);font-size:.9rem;font-style:italic;margin:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:1rem;padding:.75rem 1rem;color:var(--danger);font-size:.9rem;font-family:Poppins,sans-serif}.login-hint{text-align:center;color:var(--text-muted);font-size:.78rem;margin-top:1.5rem;margin-bottom:0}.admin-app{padding-bottom:3rem}.admin-header{margin-bottom:1.25rem}.admin-badge{font-family:Poppins,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.08em;background:var(--primary);color:#fff;padding:.2rem .55rem;border-radius:.5rem}.admin-tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;background:var(--card-bg);border:1px solid var(--border);border-radius:1.25rem;padding:.3rem}.admin-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;border:none;background:transparent;border-radius:1rem;font-family:Poppins,sans-serif;font-size:.78rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.admin-tab.active{background:var(--primary);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:1.5rem;padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow)}.stat-number{font-family:Poppins,sans-serif;font-size:2rem;font-weight:700;color:var(--primary);line-height:1}.stat-label{font-size:.72rem;color:var(--text-muted);margin-top:.35rem;line-height:1.3}.mini-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.mini-row:last-child{border-bottom:none}.mini-name{font-family:Poppins,sans-serif;font-weight:600;font-size:.85rem;flex:2}.mini-meta{color:var(--text-muted);font-size:.75rem;flex:1}.mini-date{color:var(--text-muted);font-size:.72rem}.eval-card{margin-bottom:.75rem;border-radius:1.25rem;padding:1.25rem}.user-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.user-row:last-child{border-bottom:none}.toast-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{background:#fff;border:1px solid var(--border);padding:1rem 1.5rem;border-radius:1.25rem;box-shadow:0 10px 30px #0000001a;display:flex;align-items:center;gap:.75rem;min-width:300px;animation:slideUp .3s ease-out;pointer-events:auto}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--secondary)}.toast-icon{font-size:1.2rem}.toast-content{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease-out}.modal{background:#fff;border-radius:2rem;padding:2rem;width:100%;max-width:400px;box-shadow:0 20px 60px #0003;transform-origin:center;animation:modalScale .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalScale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{font-family:Poppins,sans-serif;font-weight:700;font-size:1.25rem;margin-bottom:.75rem;color:var(--text-main)}.modal-body{font-family:Lora,serif;font-size:1rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.4}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}
