:root{--bg-primary: #0f172a;--bg-card: #1e293b;--bg-card-hover: #243447;--bg-input: #0b1120;--border-color: #334155;--border-focus: #3b82f6;--text-main: #f8fafc;--text-muted: #94a3b8;--text-sub: #64748b;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-purple: #8b5cf6;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:inherit;font-size:inherit}#app{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:250px;background-color:#111827;border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;transition:transform .25s ease}.sidebar-header{height:64px;padding:0 1.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-color)}.logo-badge{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px #2563eb4d}.sidebar-title{font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.02em}.sidebar-nav{flex:1;padding:1.25rem .75rem;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius-md);color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .15s ease}.nav-link:hover{background-color:var(--bg-card);color:#fff}.nav-link.active{background-color:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #3b82f64d}.nav-icon{font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center}.main-wrapper{flex:1;margin-left:250px;display:flex;flex-direction:column;min-height:100vh}.app-header{height:64px;background-color:#1e293bcc;backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.hamburger-btn{display:none;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem}.child-selector-wrap{display:flex;align-items:center;gap:.5rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.25rem .75rem}.child-select{background:transparent;border:none;color:#fff;font-size:.875rem;font-weight:600;outline:none;cursor:pointer}.child-select option{background-color:var(--bg-primary);color:#fff}.alert-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-decoration:none;background-color:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3);cursor:pointer;transition:all .15s ease}.alert-pill:hover{background-color:#ef444440}.alert-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-danger);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.user-profile-badge{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--color-purple);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff}.user-email{font-size:.8125rem;color:var(--text-muted)}.btn-signout{padding:.35rem .75rem;background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-md);font-size:.8125rem;cursor:pointer;transition:all .15s}.btn-signout:hover{background-color:#ef444426;color:#fca5a5;border-color:#ef444466}.content-area{flex:1;padding:2rem;max-width:1320px;width:100%;margin:0 auto}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 4px 16px #0003}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.card-title{font-size:1.25rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}.card-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background-color:var(--bg-primary);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#ffffff0d;border-color:var(--text-muted)}.btn-danger{background-color:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background-color:var(--color-danger);color:#fff}.btn-success{background-color:var(--color-success);color:#fff}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1}.badge-online{background-color:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.badge-idle{background-color:#f59e0b26;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.badge-offline{background-color:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.badge-school{background-color:#f59e0b33;color:#fef08a;border:1px solid rgba(245,158,11,.4)}.badge-critical{background-color:#ef44444d;color:#fca5a5;border:1px solid var(--color-danger)}.badge-warning{background-color:#f59e0b4d;color:#fcd34d;border:1px solid var(--color-warning)}.badge-info{background-color:#3b82f633;color:#93c5fd;border:1px solid var(--color-primary)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem}.form-input,.form-select,.form-textarea{width:100%;padding:.65rem .85rem;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:#fff;font-size:.875rem;outline:none;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #3b82f633}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color);background-color:var(--bg-card)}table{width:100%;border-collapse:collapse;text-align:left}th{background-color:#0f172ab3;padding:.85rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}td{padding:.85rem 1rem;font-size:.875rem;border-bottom:1px solid rgba(51,65,85,.5);vertical-align:middle}tr:hover td{background-color:#ffffff05}.modal-backdrop{position:fixed;inset:0;background-color:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50;animation:fadeIn .15s ease}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:650px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000080}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;background-color:#0f172a66}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:60}.toast{padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 8px 24px #0006;display:flex;align-items:center;gap:.75rem;animation:slideUp .2s ease}.toast-success{background-color:#065f46;border:1px solid #10b981}.toast-error{background-color:#991b1b;border:1px solid #ef4444}.toast-info{background-color:#1e40af;border:1px solid #3b82f6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0);box-shadow:0 0 30px #000c}.sidebar-backdrop{display:none;position:fixed;inset:0;background-color:#0009;z-index:35}.sidebar-backdrop.open{display:block}.main-wrapper{margin-left:0}.hamburger-btn{display:block}.content-area{padding:1rem}.user-email{display:none}}@media print{.app-sidebar,.app-header,.btn,.modal-backdrop,.toast-container{display:none!important}.main-wrapper{margin-left:0!important}body,.card{background:#fff!important;color:#000!important;box-shadow:none!important;border:1px solid #ccc!important}}
