:root{color:#172033;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;background:#f3f6fb}*{box-sizing:border-box}body{margin:0;min-width:960px;min-height:100vh;background:radial-gradient(circle at top left,rgba(36,87,245,.13),transparent 34rem),linear-gradient(180deg,#f8fbff,#eef3fb)}button,input,select,textarea{font:inherit}button{border:0;border-radius:.75rem;padding:.78rem 1.1rem;min-height:2.75rem;background:#2457f5;color:#fff;font-weight:800;box-shadow:0 10px 20px #2457f52e;cursor:pointer}button:hover{background:#1746d8}button[disabled]{background:#b8c2d4;box-shadow:none;cursor:not-allowed}input,select,textarea{border:1px solid #d7e0f2;border-radius:.7rem;padding:.72rem .85rem;background:#fff;color:#172033;font-size:1rem}input[type=checkbox]{width:1.2rem;height:1.2rem}textarea{min-height:6rem}label{display:inline-grid;gap:.35rem;margin:.25rem .45rem .25rem 0;color:#34415b;font-size:1rem;font-weight:750}fieldset{border:1px solid #dce5f4;border-radius:1rem;margin:.75rem 0;padding:.9rem}legend{color:#34415b;font-weight:900}h1,h2,h3,h4{margin:0 0 .75rem;letter-spacing:-.035em}p{margin:.4rem 0;line-height:1.55}table{width:100%;border-collapse:collapse;overflow:hidden;margin-top:.75rem;border-radius:1rem;background:#fff;box-shadow:0 1px #e5ecf6}th,td{border-bottom:1px solid #e8eef7;padding:.7rem .85rem;text-align:left}th{background:#f5f8fd;color:#40506d;font-size:.88rem}tr:last-child td{border-bottom:0}.app-shell{width:min(100% - 2rem,1280px);margin:0 auto;padding:1.25rem 0 3rem;display:grid;gap:1rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(215,224,242,.88);border-radius:1.35rem;padding:1.1rem 1.25rem;background:linear-gradient(135deg,#fffffff5,#eff5fff5),#fff;box-shadow:0 20px 48px #2136631a}.app-header h1{margin:0}.app-eyebrow{margin:0 0 .25rem;color:#2457f5;font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.app-card,.app-workspace{border:1px solid rgba(215,224,242,.95);border-radius:1.25rem;padding:1.15rem;background:#fffffff5;box-shadow:0 16px 38px #21366314}.app-card-compact{padding:.95rem 1.05rem}.app-workspace{display:grid;gap:1rem}.notice{border:2px solid;border-radius:.9rem;padding:.75rem .9rem;font-weight:750}.notice-info{border-color:#c8d8ff;background:#eff4ff;color:#28488c}.notice-warning{border-color:#ffe2a8;background:#fff8e8;color:#8b5a00}.notice-success{border-color:#22c55e;background:#f0fdf4;color:#166534}.notice-error{border-color:#ef4444;background:#fff1f2;color:#991b1b}.secondary-button{border:1.5px solid #a78bfa;background:#f5f3ff;color:#4c1d95;box-shadow:none}.secondary-button:hover{background:#ede9fe}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.dialog-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.lavender-panel{border:2px solid #8b5cf6;background:#fff}.status-table{border:2px solid #8b5cf6;box-shadow:none}.status-table th{background:#e9d5ff;color:#3b0764}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:4.5rem;border-radius:999px;padding:.25rem .7rem;font-weight:800}.status-badge-on{background:#ddd6fe;color:#5b21b6}.status-badge-off{background:#e5e7eb;color:#6b7280}[aria-label="대시보드 선택"]{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}[aria-label="대시보드 선택"] p{margin-right:auto}[aria-label="성적 등록 작업 흐름"]{background:#f7faff}[aria-label="지필 파일 업로드 검증"],[aria-label="지필 등록 성적 조회"],[aria-label="지필평가 조회 대시보드"],[aria-label="수행평가 성적 등록"],[aria-label="수행평가 등록 대시보드"],[aria-label="수행평가 등록 성적 조회"],[aria-label="수행평가 파일 업로드 검증"]{margin-top:1rem;border:1px solid #e0e8f5;border-radius:1rem;padding:1rem;background:#fbfdff}.teacher-workflow-tabs,.teacher-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:.9rem 0}.teacher-workflow-tabs{padding:.75rem;border:2px solid #c4b5fd;border-radius:1rem;background:#f5f3ff}.teacher-workflow-panel.is-hidden{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.teacher-action-row{padding:.75rem;border:1.5px solid #d8b4fe;border-radius:1rem;background:#faf5ff}.score-input-card{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1rem;align-items:start;margin:.85rem 0;padding:1rem;border:1.5px solid #c4b5fd;border-radius:1rem;background:#fff}.score-row-number{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;background:#ede9fe;color:#4c1d95;font-size:1.1rem}.score-input-line{display:flex;flex-wrap:wrap;gap:.6rem}.score-input-line+.score-input-line{grid-column:2}.score-input-line label{display:inline-flex;align-items:center;gap:.45rem}.score-input-line input{min-width:9rem}.app-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:2rem;background:#1120336b}.app-modal-panel{width:min(100%,760px);max-height:min(86vh,760px);overflow:auto;border:1px solid #d7e0f2;border-radius:1.25rem;padding:1.25rem;background:#fff;box-shadow:0 30px 80px #11203347}.app-modal-panel>button{margin:.35rem .35rem .35rem 0}
