.layout{display:flex;min-height:100vh;background:var(--bg-secondary)}.sidebar{width:260px;background:var(--bg-dark);color:#fff;display:flex;flex-direction:column;transition:all .3s ease;position:fixed;height:100vh;z-index:100}.sidebar.closed{width:80px}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:var(--maltina-yellow);color:var(--bg-dark);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}.logo-text{font-size:18px;font-weight:700;white-space:nowrap}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#ffffffb3;text-decoration:none;transition:all .2s;border:none;background:none;width:100%;cursor:pointer;font-size:14px;font-weight:500;border-left:3px solid transparent}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#ffd7001a;color:var(--maltina-yellow);border-left-color:var(--maltina-yellow)}.sidebar.closed .nav-item{justify-content:center;padding:12px}.sidebar.closed .nav-item span{display:none}.sidebar-footer{padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.main-content{flex:1;margin-left:260px;transition:margin-left .3s ease;display:flex;flex-direction:column;width:calc(100% - 260px)}.sidebar.closed~.main-content{margin-left:80px;width:calc(100% - 80px)}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:50}.toggle-btn{width:40px;height:40px;border:none;background:var(--bg-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:var(--border-color)}.topbar-right{display:flex;align-items:center;gap:20px}.icon-btn{position:relative;width:40px;height:40px;border:none;background:var(--bg-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.notification-badge{position:absolute;top:6px;right:6px;background:var(--error);color:#fff;font-size:10px;font-weight:600;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.user-menu{display:flex;align-items:center;gap:12px;cursor:pointer}.user-avatar{width:36px;height:36px;background:var(--maltina-yellow);color:var(--bg-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-size:14px;font-weight:600}.page-content{padding:30px;flex:1;overflow-y:auto;background:var(--bg-secondary);min-height:calc(100vh - 70px)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.page-content{padding:20px}}.dashboard{max-width:1400px;margin:0 auto}.table-empty{padding:16px;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);margin-bottom:16px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.dashboard-header h1{font-size:32px;font-weight:700;margin-bottom:8px}.subtitle{color:var(--text-secondary);font-size:14px}.header-actions{display:flex;gap:12px}.btn-sm{padding:6px 12px;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.stat-card{padding:20px}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-change{font-size:13px;font-weight:600}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--error)}.stat-value{font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{color:var(--text-secondary);font-size:14px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.dashboard-section{padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:18px;font-weight:600}.view-all{color:var(--info);text-decoration:none;font-size:14px;font-weight:600}.view-all:hover{text-decoration:underline}.tours-list{display:flex;flex-direction:column;gap:16px}.tour-item{padding:16px;background:var(--bg-secondary);border-radius:8px;transition:all .2s}.tour-item:hover{background:#e9ecef}.tour-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.tour-info h4{font-size:15px;font-weight:600;margin-bottom:8px}.tour-meta{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.tour-meta span{display:flex;align-items:center;gap:4px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.badge-in-progress{background:#dbeafe;color:#1e40af}.status-badge.badge-completed{background:#d1fae5;color:#065f46}.status-badge.badge-scheduled{background:#fef3c7;color:#92400e}.tour-supervisor{font-size:13px;color:var(--text-secondary)}.actions-list{display:flex;flex-direction:column;gap:12px}.action-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px}.action-info{display:flex;align-items:center;gap:12px;font-size:14px}.priority-high{color:var(--error)}.priority-medium{color:var(--warning)}.priority-low{color:var(--info)}.action-count{background:var(--maltina-yellow);color:var(--text-primary);font-weight:700;font-size:14px;padding:4px 12px;border-radius:12px;min-width:32px;text-align:center}.progress-stats{display:flex;flex-direction:column;gap:20px}.progress-item{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;font-size:14px;font-weight:600}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--maltina-yellow);border-radius:4px;transition:width .3s ease}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:16px}.stats-grid{grid-template-columns:1fr}.tour-meta{flex-direction:column;gap:4px}}.schools-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:700;margin-bottom:8px}.filters-card{margin-bottom:24px;padding:20px}.filters-bar{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.search-box{flex:1;min-width:300px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.search-box input{flex:1;border:none;background:none;outline:none;font-size:14px}.filter-group{display:flex;gap:12px;flex-wrap:wrap}.filter-select{padding:10px 16px;border:1px solid var(--border-color);border-radius:8px;background:#fff;font-size:14px;cursor:pointer;outline:none}.filter-select:focus{border-color:var(--maltina-yellow)}.view-toggle{display:flex;gap:8px;border-top:1px solid var(--border-color);padding-top:16px}.view-btn{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.view-btn:hover{background:var(--bg-secondary)}.view-btn.active{background:var(--maltina-yellow);border-color:var(--maltina-yellow);font-weight:600}.schools-table-card{padding:24px}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-header h3{font-size:18px;font-weight:600}.table-responsive{overflow-x:auto}.schools-table{width:100%;border-collapse:collapse}.schools-table thead{background:var(--bg-secondary)}.schools-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.schools-table td{padding:16px;border-bottom:1px solid var(--border-color);font-size:14px}.schools-table tbody tr:hover{background:var(--bg-secondary)}.school-name{display:flex;flex-direction:column;gap:4px}.school-name strong{font-weight:600;color:var(--text-primary)}.nominee-text{font-size:12px;color:var(--text-secondary)}.location-cell,.count-cell{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.contact-cell{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.contact-cell div{display:flex;align-items:center;gap:6px}.action-buttons{display:flex;gap:8px}.icon-btn{width:32px;height:32px;border:none;background:var(--bg-secondary);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-btn:hover{background:var(--border-color)}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.table-empty{padding:16px;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);margin-bottom:12px}.showing-text{font-size:14px;color:var(--text-secondary)}.pagination{display:flex;gap:8px}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.filters-bar{flex-direction:column}.search-box{width:100%}.table-responsive{overflow-x:scroll}.schools-table{min-width:800px}}.clusters-page{padding:24px}.clusters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.cluster-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s ease}.cluster-card:hover{border-color:gold;box-shadow:0 4px 12px #ffd7001a}.cluster-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.cluster-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.cluster-header .badge{margin-top:4px}.cluster-actions{display:flex;gap:8px}.cluster-info{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.info-item{display:flex;align-items:flex-start;gap:12px}.info-item svg{color:gold;flex-shrink:0;margin-top:2px}.info-item label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-item p{margin:0;font-size:14px;color:#1a1a1a;font-weight:500}.cluster-details{font-size:13px;color:#6b7280;margin-bottom:16px}.cluster-details p{margin:6px 0}.cluster-details strong{color:#1a1a1a}.w-full{width:100%}@media(max-width:768px){.clusters-grid{grid-template-columns:1fr}}.tours-page{padding:24px}.tours-card{margin-top:20px;overflow-x:auto}.tours-table{width:100%;border-collapse:collapse;font-size:14px}.tours-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.tours-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.tours-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.tours-table tbody tr:hover{background-color:#fffef9}.tours-table td{padding:16px;color:#1a1a1a}.cell-content{display:flex;align-items:center;gap:8px}.cell-content svg{color:#9ca3af;flex-shrink:0}.survey-count{display:flex;align-items:center;gap:6px;font-weight:500}.text-success{color:#10b981}@media(max-width:768px){.tours-table{font-size:12px}.tours-table th,.tours-table td{padding:8px 12px}}.staff-page{padding:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;text-align:center}.stat-value{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.stat-value.text-success{color:#10b981}.stat-value.text-info{color:#3b82f6}.stat-value.text-warning{color:#f59e0b}.stat-label{font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.staff-card{margin-top:20px;overflow-x:auto}.staff-table{width:100%;border-collapse:collapse;font-size:14px}.staff-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.staff-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.staff-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.staff-table tbody tr:hover{background-color:#fffef9}.staff-table td{padding:16px;color:#1a1a1a}.staff-table .cell-content{display:flex;align-items:center;gap:8px}.staff-table .cell-content svg{color:#9ca3af;flex-shrink:0}.contact-info{display:flex;gap:8px}.contact-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background-color:#f3f4f6;color:#6b7280;text-decoration:none;transition:all .2s ease}.contact-link:hover{background-color:gold;color:#fff}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.active{background-color:#ecfdf5;color:#10b981}.status-badge.inactive{background-color:#fef3c7;color:#f59e0b}.status-badge svg{flex-shrink:0}.actions{display:flex;gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background-color:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background-color:#f3f4f6;color:gold}@media(max-width:768px){.staff-table{font-size:12px}.staff-table th,.staff-table td{padding:8px 12px}}.competition-page{padding:24px}.entries-card{margin-top:20px;overflow-x:auto}.table-empty{padding:16px;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);margin:16px}.entries-table{width:100%;border-collapse:collapse;font-size:14px}.entries-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.entries-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.entries-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.entries-table tbody tr:hover{background-color:#fffef9}.entries-table td{padding:16px;color:#1a1a1a}.score-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:#fef3c7;color:#f59e0b;border-radius:6px;font-weight:600;font-size:13px}.judges-count{display:flex;align-items:center;gap:4px;color:#6b7280}.text-muted{color:#9ca3af}.top-entries{display:flex;flex-direction:column;gap:16px;margin-top:16px}.top-entry{display:flex;align-items:center;gap:16px;padding:16px;background-color:#f9fafb;border-radius:8px;border-left:4px solid #ffd700}.rank{font-size:20px;font-weight:700;color:gold;min-width:40px;text-align:center}.entry-details{flex:1}.entry-student{margin:0;font-size:14px;font-weight:600;color:#1a1a1a}.entry-school{margin:4px 0 0;font-size:12px;color:#6b7280}.entry-score{display:flex;align-items:center;gap:8px;white-space:nowrap}.entry-score svg{color:gold;flex-shrink:0}.star-filled{fill:gold}.score{font-size:16px;font-weight:700;color:#1a1a1a;min-width:40px;text-align:right}@media(max-width:768px){.entries-table{font-size:12px}.entries-table th,.entries-table td{padding:8px 12px}.top-entry{flex-wrap:wrap}}.reports-page{padding:24px}.report-selector{margin-bottom:24px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;text-align:center;transition:all .2s ease}.metric-card:hover{border-color:gold;box-shadow:0 4px 12px #ffd7001a}.metric-value{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.metric-label{font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-change{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:#10b981}.metric-change svg{width:14px;height:14px}.text-success{color:#10b981!important}.text-warning{color:#f59e0b!important}.text-error{color:#ef4444!important}.report-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}.report-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.report-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.report-table tbody tr{border-bottom:1px solid #e5e7eb}.report-table tbody tr:hover{background-color:#fffef9}.report-table td{padding:16px;color:#1a1a1a}.region-name,.month-name{font-weight:600;color:#1a1a1a}.card-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.card-title svg{color:gold}.export-section{margin-top:24px;text-align:center}.export-options{display:flex;gap:12px;margin-top:16px;justify-content:center;flex-wrap:wrap}.export-options .btn{display:inline-flex;align-items:center;gap:8px}@media(max-width:768px){.report-table{font-size:12px}.report-table th,.report-table td{padding:8px 12px}.export-options{flex-direction:column}.export-options .btn{width:100%;justify-content:center}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:20px}.login-container{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:48px 40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:64px;height:64px;background:var(--maltina-yellow);color:var(--bg-dark);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:32px;margin-bottom:16px}.login-header h1{font-size:28px;font-weight:700;margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--text-primary)}.form-group input{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;outline:none;transition:all .2s}.form-group input:focus{border-color:var(--maltina-yellow);box-shadow:0 0 0 3px #ffd7001a}.form-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:10px 12px;border-radius:8px;font-size:13px}.btn-block{width:100%;margin-top:10px;padding:14px;font-size:16px}.login-footer{text-align:center;margin-top:24px}.login-footer a{color:var(--info);text-decoration:none;font-size:14px;font-weight:600}.login-footer a:hover{text-decoration:underline}*{margin:0;padding:0;box-sizing:border-box}:root{--maltina-yellow: #ffd700;--maltina-dark: #1a1a1a;--maltina-red: #c8102e;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-dark: #1a1a1a;--text-primary: #1a1a1a;--text-secondary: #666666;--text-light: #999999;--border-color: #e0e0e0;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary)}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.container{max-width:1400px;margin:0 auto;padding:0 20px}.card{background:var(--bg-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--maltina-yellow);color:var(--text-primary)}.btn-primary:hover{background:#ffc700;transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#e9ecef}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}
