:root{color-scheme:light;--bg:#f5f7fa;--surface:#fff;--surface-muted:#f8fafc;--border:#d8dee8;--text:#172033;--text-muted:#657087;--primary:#265dca;--primary-hover:#1f4fae;--danger:#b42318;--shadow:0 12px 32px rgba(24, 35, 55, 0.12);--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.page{width:min(1440px,calc(100% - 32px));margin:32px auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header .button{flex:0 0 auto}#my-list-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;margin-left:5px;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.2)}.page-header h1{margin:0 0 8px;font-size:clamp(1.65rem, 3vw, 2.2rem)}.page-header p{margin:0;color:var(--text-muted)}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 12px rgba(24,35,55,.05)}.search-panel{margin-bottom:24px;padding:22px}.section-title{margin:0 0 16px;font-size:1.1rem}.selector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.field-group{min-width:0}.field-group>label,.field-label{display:block;margin-bottom:7px;font-size:.9rem;font-weight:700}input[type=search],select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}textarea{width:100%;padding:10px 12px;resize:vertical;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid rgba(38,93,202,.18);outline-offset:1px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);min-height:42px;overflow:hidden;border:1px solid var(--border);border-radius:8px}.segmented-control label{position:relative;display:flex;align-items:center;justify-content:center;padding:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;user-select:none}.segmented-control label+label{border-left:1px solid var(--border)}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control label:has(input:checked){background:var(--primary);color:#fff;font-weight:700}.filter-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.button{min-height:42px;padding:9px 16px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-weight:700}.button:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.button.secondary:hover:not(:disabled){background:var(--surface-muted)}.status-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;color:var(--text-muted);font-size:.92rem}.status-line strong{color:var(--text)}.error-message{display:none;margin:0 0 16px;padding:12px 14px;border:1px solid #f2b8b5;border-radius:8px;background:#fff1f0;color:var(--danger);white-space:pre-wrap}.error-message.visible{display:block}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;min-width:960px;border-collapse:collapse}thead{background:var(--surface-muted)}td,th{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:var(--text-muted);font-size:.88rem;white-space:nowrap}tbody tr{cursor:pointer;transition:background .15s ease}tbody tr:hover{background:#f3f7ff}tbody tr:focus{outline:3px solid rgba(38,93,202,.18);outline-offset:-3px}.empty-row{cursor:default}.empty-row:hover{background:0 0}.empty-cell{padding:48px 16px;color:var(--text-muted);text-align:center}.course-name{font-weight:700}.course-code{display:block;margin-top:2px;color:var(--text-muted);font-size:.8rem}.table-action-cell{width:1%;white-space:nowrap}.table-action-button{min-height:34px;padding:6px 10px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);color:var(--primary);font-weight:700}.table-action-button:hover:not(:disabled){background:#edf3ff}.table-action-button.danger{border-color:#e5a3a0;color:var(--danger)}.table-action-button.danger:hover:not(:disabled){background:#fff1f0}dialog{width:min(820px,calc(100% - 28px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:14px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(15,23,42,.58)}.dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.dialog-header h2{margin:0;font-size:1.35rem}.dialog-header p{margin:5px 0 0;color:var(--text-muted)}.dialog-close{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:1.25rem}.dialog-body{padding:22px;background:var(--bg)}.detail-section{padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.detail-section+.detail-section{margin-top:14px}.detail-section h3{margin:0 0 14px;font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0}.detail-item{min-width:0}.detail-item dt{margin-bottom:3px;color:var(--text-muted);font-size:.82rem;font-weight:700}.detail-item dd{margin:0;overflow-wrap:anywhere}#my-list-dialog{width:min(1000px,calc(100% - 28px))}.my-list-tools{margin-bottom:18px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.my-list-tools-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.my-list-tools h3{margin:0 0 4px;font-size:1rem}.my-list-tools p{margin:0;color:var(--text-muted);font-size:.88rem}.my-list-tools>label{display:block;margin-bottom:7px;font-size:.9rem;font-weight:700}.my-list-load-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}#my-list-message{min-height:1.4em}#my-list-message.error{color:var(--danger)}.my-list-summary{margin:0 0 10px;color:var(--text-muted);font-size:.92rem}.my-list-summary strong{color:var(--text)}.my-list-table{min-width:620px}.my-list-table .my-list-row{cursor:default}.loading{display:inline-flex;align-items:center;gap:8px}.loading::before{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1100px){.selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-row{grid-template-columns:1fr 1fr 1fr}.filter-row .search-field{grid-column:1/-1}}@media (max-width:720px){.page{width:min(100% - 20px,1440px);margin:18px auto}.filter-row,.selector-grid{grid-template-columns:1fr}.filter-row .search-field{grid-column:auto}.detail-grid{grid-template-columns:1fr}.my-list-load-actions,.my-list-tools-header,.page-header{align-items:stretch;flex-direction:column}.my-list-load-actions .button,.my-list-tools-header .button,.page-header .button{width:100%}}