*{margin:0;padding:0;box-sizing:border-box}:root{--brand-primary: #F9636E;--brand-primary-rgb: 249, 99, 110;--brand-secondary: #ff878f;--brand-secondary-rgb: 255, 135, 143}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;min-height:100vh;padding:0}body.dark-mode{background:#0a0a0a;color:#fff}#app{max-width:900px;margin:0 auto;padding:40px 20px}.container{background:transparent;border-radius:0;box-shadow:none;padding:0;margin-top:0}.header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.logo,.logo-mask{width:48px;height:48px;flex-shrink:0}h1{color:#0a0a0a;text-align:left;margin-bottom:4px;font-size:2rem;font-weight:600;letter-spacing:-.02em}body.dark-mode h1,body.dark-mode .subtitle,body.dark-mode label,body.dark-mode .subject-name,body.dark-mode .subject-short,body.dark-mode .period-cell,body.dark-mode .duty-label,body.dark-mode .duty-type,body.dark-mode .teacher-name,body.dark-mode .teacher-short,body.dark-mode .duty-location,body.dark-mode .tag,body.dark-mode .schedule-table td,body.dark-mode .schedule-table th,body.dark-mode button,body.dark-mode input{color:#fff}body.dark-mode select{color:var(--brand-primary)}body.dark-mode .schedule-table,body.dark-mode .schedule-table th,body.dark-mode .schedule-table td{border-color:rgba(var(--brand-primary-rgb),.2)}body.dark-mode .schedule-table tbody tr:hover,body.dark-mode .schedule-table tbody tr.duty-row,body.dark-mode .schedule-table tbody tr.duty-row:hover{background:rgba(var(--brand-primary-rgb),.08)}body.dark-mode .search-form,body.dark-mode .suggestions,body.dark-mode .schedule-table,body.dark-mode .duty-card{background:#0f0f0f;border-color:rgba(var(--brand-primary-rgb),.25);box-shadow:none}body.dark-mode input,body.dark-mode select{background:#111;border-color:rgba(var(--brand-primary-rgb),.3)}body.dark-mode button{color:#fff}body.dark-mode input::placeholder{color:rgba(var(--brand-primary-rgb),.6)}.subtitle{color:#71717a;font-size:.875rem;margin-bottom:0;font-weight:400}.search-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-bottom:24px;padding:20px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.form-group{display:flex;flex-direction:column;gap:6px}.autocomplete-group{position:relative}label{font-weight:500;color:#18181b;font-size:.875rem}input,select{padding:8px 12px;border:1px solid #e4e4e7;border-radius:6px;font-size:.875rem;font-family:Inter,sans-serif;background:#fff;transition:all .15s ease;height:36px}input:focus,select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.08)}input::placeholder{color:#a1a1aa}button{background:var(--brand-primary);color:#fff;border:none;padding:0 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif;height:36px;align-self:flex-end}button:hover:not(:disabled){background:rgba(var(--brand-primary-rgb),.9)}button:active:not(:disabled){background:rgba(var(--brand-primary-rgb),.8)}button:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;color:#71717a;font-size:.875rem;font-weight:500;padding:48px 20px}.error{background:rgba(var(--brand-primary-rgb),.05);border:1px solid rgba(var(--brand-primary-rgb),.2);color:#991b1b;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-weight:400;font-size:.875rem}.error strong{font-weight:600}.no-data{text-align:center;color:#71717a;padding:48px 20px;font-size:.875rem;font-weight:400}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:0;border:1px solid #e4e4e7;border-radius:8px;overflow:hidden}.schedule-table th,.schedule-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e4e4e7}.schedule-table thead tr{border-bottom:1px solid #e4e4e7}.schedule-table th{background:#fafafa;color:#18181b;font-weight:600;text-transform:none;font-size:.75rem;letter-spacing:0}.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-table tbody tr:hover{background:rgba(var(--brand-primary-rgb),.03)}.schedule-table tbody tr.duty-row{background:rgba(var(--brand-primary-rgb),.04)}.schedule-table tbody tr.duty-row:hover{background:rgba(var(--brand-primary-rgb),.06)}.schedule-table td{color:#18181b;font-size:.875rem}.period-cell{font-weight:600;color:var(--brand-primary);font-size:.875rem}.subject-name{font-weight:500;color:#18181b}.subject-short{color:#71717a;font-size:.8125rem;font-weight:400;margin-left:6px}.duty-label{font-weight:500;color:var(--brand-primary)}.duty-type{font-size:.8125rem;color:#71717a;font-style:italic}.schedule-details{display:flex;flex-direction:column;gap:6px}.suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e4e4e7;border-top:none;border-radius:0 0 6px 6px;max-height:240px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.suggestion-item{padding:10px 12px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #f4f4f5}body.dark-mode .suggestion-item{border-color:#f9636e33}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:rgba(var(--brand-primary-rgb),.05)}.teacher-name{font-weight:500;color:#18181b;font-size:.875rem}.teacher-short{margin-left:6px;color:#71717a;font-size:.8125rem}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.tag{background:rgba(var(--brand-primary-rgb),.08);color:var(--brand-primary);padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;border:1px solid rgba(var(--brand-primary-rgb),.15)}.section-title{font-size:1.125rem;font-weight:600;color:#18181b;margin-bottom:16px;margin-top:32px}.section-title:first-of-type{margin-top:0}.duty-section{margin-bottom:32px}.duty-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.duty-card{background:rgba(var(--brand-primary-rgb),.04);border:1px solid rgba(var(--brand-primary-rgb),.15);border-radius:8px;padding:16px}.duty-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.duty-icon{font-size:1.25rem}.duty-time{font-size:.875rem;font-weight:600;color:#18181b}.duty-locations{display:flex;flex-direction:column;gap:6px}.duty-location{font-size:.875rem;color:var(--brand-primary);font-weight:500;padding:6px 10px;background:rgba(var(--brand-primary-rgb),.08);border-radius:6px;border:1px solid rgba(var(--brand-primary-rgb),.2)}@media (max-width: 768px){#app{padding:24px 16px}.search-form{grid-template-columns:1fr;gap:16px}button{align-self:stretch}h1{font-size:1.5rem}.duty-cards{grid-template-columns:1fr}.schedule-table{font-size:.8125rem}.schedule-table th,.schedule-table td{padding:10px 12px}}
