/* JasoFit의 로그인 및 학교·문항 관리자 화면을 참고한 디자인 */
:root{--nav:#0f1f18;--green:#1c4536;--accent:#9bdbc1;--bg:#f5f7f5;--ink:#172c23;--muted:#768077;--line:#e2e7e2}
body{font-family:'Segoe UI','Malgun Gothic',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
.sidebar{width:240px;padding:34px 20px 23px;background:var(--nav)}
.brand{padding:0 9px;gap:10px;font-size:27px;letter-spacing:-1.3px}.brand-m{color:#9cd7b4;margin-left:2px}
.brand-mark{border:0;border-radius:0;width:37px;height:44px;color:#91c878}.brand-mark svg{width:37px;height:37px}
.brand small{font-size:11px!important;letter-spacing:.1px;margin-top:7px;color:#8d9f94;font-weight:400}
.workspace-label{font-size:11px;margin:49px 15px 14px;color:#768f80}
.side-active{background:#213d30;border:1px solid #2c4d3b;border-radius:10px;padding:14px 15px;font-size:14px;color:#b4e5cc;gap:12px}
.side-active svg{width:19px;height:19px;flex-shrink:0}.side-dot{background:#8ac9ac}.sidebar-bottom{font-size:12px;gap:10px;padding-top:20px;border-color:#ffffff12}.sidebar-bottom small{font-size:10px;line-height:1.5;color:#859b8e}.avatar{height:35px;width:35px;background:#243e30;color:#b9d9c6}.workspace-badge{margin-left:auto;color:#9caf9f;font-size:9px;border:1px solid #354d3d;border-radius:5px;padding:4px 6px}
.main-shell{margin-left:240px}.topbar{height:70px;padding:0 40px;font-size:12px;color:#8a948d;background:#fff}.topbar strong{font-weight:600;color:#4f5f54}.topbar b{font-size:17px;margin:0 14px;color:#b6beb8}.preview-pill{display:flex;align-items:center;gap:6px;padding:6px 10px;border-color:#e1e9e1;background:#f4f7f2;color:#70846b;font-size:10px;letter-spacing:0;border-radius:20px}.preview-pill i{width:5px;height:5px;background:#79ab8c;border-radius:50%}
main{padding:36px 40px 0;max-width:1530px}.page-heading{margin-bottom:28px;align-items:center}.page-heading h1{font-size:29px;letter-spacing:-1.2px;margin:0 0 10px;font-weight:750}.page-heading p{font-size:13px;color:#7a847b}.page-heading>.button{padding:12px 20px}.button{border-radius:9px;padding:10px 16px;font-size:12px;font-weight:600;border-color:#dde4dc;transition:background .15s,box-shadow .15s}.button:hover{background:#eef4ef}.primary{background:#1c4536;color:#fff;border-color:#1c4536;box-shadow:0 2px 3px #152d1810}.primary:hover{background:#285a46;box-shadow:0 3px 9px #152d1820}
.student-bar{border-radius:14px;padding:20px 23px;gap:16px;box-shadow:0 2px 4px #18331b03}.student-icon{width:44px;height:44px;background:#eaf3ec;color:#518467;flex-shrink:0}.student-icon svg{width:24px;height:24px}.student-selector label{font-size:10px;color:#8b958c;margin-bottom:6px}.student-selector select{font-size:15px;font-weight:700;min-width:136px}.student-summary{font-size:12px;color:#8a948b;padding-left:15px;border-left:1px solid #e6ebe5}.save-status{font-size:11px;color:#78957c}.student-bar .button{font-size:11px;padding:9px 13px;border-radius:8px}
.tabs{display:flex;gap:5px;background:#eaf0e9;border:1px solid #e4eae1;border-radius:11px;margin:25px 0 23px;padding:5px;width:fit-content}.tabs button{padding:10px 25px;border:0;border-radius:7px;background:transparent;transition:background .15s}.tabs button span{font-size:13px;font-weight:600;margin:0;color:#7d8a7c}.tabs button.active{background:#fff;box-shadow:0 1px 5px #203e1e10;border:0}.tabs button.active span{color:#234c37}
.hint{padding:15px 19px;border:1px solid #e2eadf;background:#eff5ed;color:#75886d;font-size:12px;line-height:1.85;border-radius:10px;margin-bottom:23px;gap:11px}.hint b{font-weight:650;color:#51744b}.hint>span{font-size:15px;color:#7a9d6c}.panel{border-radius:14px;margin-bottom:23px;border-color:#e1e7df;box-shadow:0 2px 5px #1c3d2303}.panel-heading{padding:24px 27px;border-color:#edf0eb}.panel-title{gap:0}.section-number{display:none}.panel h2{font-size:16px;letter-spacing:-.5px;font-weight:700}.panel-heading p{font-size:12px;margin-top:6px;color:#90998e}.tag{padding:5px 9px;font-size:10px;border:0;background:#f0f5ed;color:#809572;border-radius:6px}.panel-body{padding:27px}.grid{gap:25px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:10px}.field>span,.field>label{font-size:12px;font-weight:650;color:#36483b}.required{color:#63a27c;margin-left:2px}.field small{font-size:11px;color:#99a091;line-height:1.7}
input,select,textarea{font-size:13px;padding:12px 13px;background:#f8faf7;border:1px solid #dfe6dc;border-radius:9px;color:#253d2d;transition:background .15s,border-color .15s,box-shadow .15s}input,select{min-height:43px}input::placeholder,textarea::placeholder{font-size:12px;color:#adb5a8}input:hover,select:hover,textarea:hover{border-color:#bdcfb9}input:focus,select:focus,textarea:focus{outline:none;border-color:#71ab8b;background:white;box-shadow:0 0 0 3px #8fc7a824}textarea{min-height:112px;line-height:1.9}.student-selector select{min-height:auto;border:0;background:transparent}.bottom-actions{padding-top:2px;gap:10px}.bottom-actions>.primary{padding:12px 20px}.gradebar{gap:8px;margin-bottom:20px}.gradebar button{font-size:12px;border-radius:8px;padding:10px 21px;color:#7c8d7a}.gradebar button.active{background:#e4f0e7;color:#2b6546;border-color:#c9dfce}.gradebar label{font-size:11px}.gradebar input{width:100px;min-height:37px;font-size:12px;padding:8px 10px}.toolbar select{font-size:12px}.subtle{font-size:11px;color:#96a18f}.toolbar{margin-bottom:18px;gap:12px}th{font-size:11px;padding:14px 10px;background:#f5f8f2;color:#839176;font-weight:600}td{padding:10px 7px}td input,td select{font-size:12px;min-height:36px;border-radius:6px;background:#fafcf8}table{font-size:12px}.table-footer{margin-top:17px}.text-button{font-size:11px;padding:8px 11px;border-radius:6px;border-color:#dce8d7;color:#658358;background:#f2f7ed}.icon-button{color:#99a593;border-radius:6px}.icon-button:hover{background:#edf2e8}.text-record{margin-top:23px}.text-record label{font-size:12px;margin-bottom:10px;color:#40533d}.text-record textarea{margin-top:10px}.text-record .count{font-size:10px}.disclosure{border-radius:12px;border-color:#e1e8dc;margin-bottom:14px;box-shadow:0 2px 4px #18331b02}.disclosure summary{padding:21px 25px;font-size:14px;gap:13px}.disclosure summary .index{color:#8ca37d;background:#f0f5eb;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:10px}.disclosure summary small{font-size:11px;color:#9aa48f;margin-left:6px}.disclosure summary:after{font-size:21px;color:#96a788}.disclosure-body{padding:0 25px 25px}.disclosure-body .toolbar{padding-top:17px}.record-status select{min-height:34px;font-size:11px;border-radius:7px}.review-grid{gap:18px}.review-card{padding:23px;border-radius:12px;background:#fbfcf9}.review-card h3{font-size:15px}.review-card p{font-size:12px;line-height:2.3}.review-card strong{color:#3b7653;font-size:29px}.notice{border-radius:9px;font-size:12px;background:#faf8f1}.empty{font-size:13px;padding:42px;line-height:2;color:#9aa391}footer{font-size:10px;padding-top:23px;color:#9fa798;margin-top:32px}dialog{border-radius:20px;padding:30px;border:0;box-shadow:0 20px 90px #10241e44}dialog h2{font-size:20px}.dialog-bottom{font-size:12px}.eyebrow{font-size:10px;color:#8ba276;letter-spacing:1px}
@media(min-width:1600px){main{padding-top:42px}}
@media(max-width:1100px){.sidebar{width:206px;padding:30px 16px}.main-shell{margin-left:206px}main{padding:30px 25px 0}.topbar{padding:0 25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-summary{display:none}.student-bar{gap:12px}.workspace-badge{display:none}.save-status{font-size:10px}.tabs button{padding:10px 23px}}
@media(max-width:700px){.sidebar{width:100%;position:static;padding:18px 21px}.brand{font-size:24px;padding:0;gap:8px}.brand small{font-size:10px!important;margin-top:4px}.brand-mark{height:35px;width:32px}.brand-mark svg{width:32px;height:32px}.main-shell{margin:0}.workspace-label,.side-active,.sidebar-bottom{display:none}.topbar{height:48px;padding:0 19px;font-size:11px}.topbar b{margin:0 9px}.preview-pill{font-size:9px;padding:5px 8px}main{padding:26px 17px 0}.page-heading{gap:10px;margin-bottom:23px;align-items:center}.page-heading h1{font-size:25px;margin-bottom:8px}.page-heading p{font-size:11px;max-width:215px;line-height:1.8}.page-heading>.button{font-size:11px;padding:10px 12px}.student-bar{padding:16px;border-radius:12px;gap:11px}.student-icon{width:38px;height:38px}.student-selector select{font-size:14px;min-width:110px}.student-selector label{font-size:9px}.student-bar .button{padding:8px 10px;font-size:10px}.save-status{margin-left:49px;font-size:10px}.tabs{width:100%;gap:3px;margin:20px 0;padding:4px;justify-content:space-between}.tabs button{flex:1;padding:10px 8px}.tabs button span{font-size:12px;margin:0}.hint{padding:13px 15px;font-size:11px;line-height:1.9}.panel{border-radius:12px}.panel-heading{padding:20px}.panel h2{font-size:15px}.panel-heading p{font-size:11px;max-width:230px}.panel-title{min-width:0}.tag{font-size:9px;padding:4px 7px;white-space:nowrap}.panel-body{padding:21px 20px}.grid{grid-template-columns:1fr;gap:23px}.field>span{font-size:12px}.field small{font-size:10px}.gradebar button{padding:9px 16px;font-size:12px}.gradebar label{margin:6px 0 0 auto}.gradebar input{width:90px}.disclosure summary{padding:17px;font-size:13px;gap:10px}.disclosure summary small{display:none}.disclosure summary .index{width:25px;height:25px}.disclosure-body{padding:0 17px 20px}.toolbar .subtle{font-size:10px}.review-grid{grid-template-columns:1fr}.bottom-actions>.primary{font-size:12px}.notice{font-size:11px}footer{font-size:9px;line-height:1.8}}
