:root{--bg-color:#fff;--surface-color:#f9fafb;--surface-hover:#f3f4f6;--border-color:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--accent-color:#000;--accent-hover:#374151;--error-color:#f44;--success-color:#4f4;--warning-color:#fa0;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5}a{color:var(--accent-color);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--text-primary);font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-container{max-width:1200px;padding:var(--spacing-xl) var(--spacing-md);gap:var(--spacing-lg);box-sizing:border-box;flex-direction:column;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.header{text-align:center;align-items:center;gap:var(--spacing-md);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-md);flex-direction:column;flex-shrink:0;display:flex}.school-banner{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.school-logo{width:auto;height:80px}.school-name{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.4rem;font-weight:700}.app-title-badge{background-color:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9999px;padding:.4rem 1.2rem;font-size:.85rem;display:inline-block}.app-title-badge strong{color:var(--text-primary);letter-spacing:.05em;font-weight:800}.card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-sizing:border-box;flex-direction:column;height:100%;transition:box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d}.card:hover{box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d}.card-title{margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-sm);font-size:1.25rem;font-weight:600}.form-group{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.form-group:nth-of-type(2){margin-bottom:var(--spacing-md);flex:1;overflow:hidden}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.input-field{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);box-sizing:border-box;width:100%;font-size:1rem;transition:all .2s}.input-field:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #0000000d}.search-box{margin-bottom:var(--spacing-xs);align-items:center;display:flex;position:relative}.search-icon{color:var(--text-secondary);position:absolute;left:12px}.search-input{padding-left:36px}.btn{background-color:var(--accent-color);color:var(--bg-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-lg);justify-content:center;align-items:center;gap:var(--spacing-sm);border:none;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover{background-color:var(--surface-hover);border-color:var(--text-secondary)}.table-container{flex:1;overflow:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background-color:var(--surface-color);font-size:.875rem;font-weight:600}.data-table tr:hover td{background-color:var(--surface-hover)}.badge{border-radius:var(--border-radius-sm);text-transform:uppercase;background-color:var(--border-color);color:var(--text-primary);padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.ok{color:var(--success-color);background-color:#4f43}.badge.mismatch{color:var(--warning-color);background-color:#fa03}.multi-select-container{gap:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm);background-color:var(--bg-color);flex-direction:column;flex:1;display:flex;overflow-y:auto}.checkbox-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);cursor:pointer;display:flex}.checkbox-item:hover{background-color:var(--surface-hover);border-radius:var(--border-radius-sm)}.checkbox-item input[type=checkbox]{accent-color:var(--accent-color);width:16px;height:16px}.main-layout{gap:var(--spacing-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.input-section,.output-section{flex-direction:column;height:100%;display:flex;overflow:hidden}@media (width>=768px){.main-layout{gap:var(--spacing-xl)}}@media (width<=767px){.app-container{padding:var(--spacing-lg) var(--spacing-md);gap:var(--spacing-lg)}.school-logo{height:60px}.school-name{font-size:1.1rem}.app-title h1{display:none}.card{padding:var(--spacing-sm)}}
