:root{--key: #13ae8c;--key-dark: #0f9679;--line: #e1e1e1;--line-top: #777777;--th-bg: #fafafa;--td-color: #666;--c-complete: #ff5500;--c-inprog: #13ae8c;--c-notstart: #1e65bd}*{box-sizing:border-box}body{margin:0;font-family:Malgun Gothic,Dotum,Dotum,helvetica,sans-serif;font-size:13px;line-height:1.7;color:#333;background:#fff}.page{max-width:420px;margin:0 auto;padding:24px 16px}.page.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:#fff;border:1px solid var(--line);padding:30px;width:100%}h1{font-size:20px;margin:0 0 16px;letter-spacing:-1px}h2,.page-title{font-size:20px;margin:0 0 14px;letter-spacing:-1px;font-weight:700;color:#222}.page-title:before{content:"▶ ";color:var(--key);font-size:13px}.muted{color:#888;font-size:12px}.note{margin-top:16px}.error{color:#d33;font-size:13px;margin:8px 0}.ok{color:var(--key-dark);font-size:13px;margin:8px 0}.center{text-align:center}.input{width:100%;padding:10px;font-size:13px;border:1px solid #C2C2C2;border-radius:0;margin:8px 0;background:#fff}select.input,.input.inline[type],select{background-color:#fff}select{font-size:13px;background-color:#eee;border:1px solid #C2C2C2;height:26px;border-radius:0}select.input:not(.inline){height:auto;padding:10px 26px 10px 10px}.btn{width:100%;padding:11px;font-size:13px;font-weight:700;background:var(--key);color:#fff;border:none;border-radius:0;cursor:pointer}.btn:hover{background:var(--key-dark)}.btn:disabled{background:#9ccabf;cursor:default}.btn.inline{width:auto;padding:6px 16px}.link-btn{background:none;border:none;color:#555;cursor:pointer;font-size:12px;text-decoration:underline}.admin-header{display:flex;align-items:center;gap:0;background:var(--key);padding:0 24px;height:50px;color:#fff}.admin-header .brand{font-weight:700;font-size:17px;color:#fff;margin-right:30px;letter-spacing:-.5px}.admin-header .brand-logo{display:flex;align-items:center;margin-right:30px}.admin-header .brand-logo img{height:30px;width:auto;display:block}.admin-header nav{display:flex;gap:0;flex:1;height:100%;align-items:center}.admin-header nav a{text-decoration:none;color:#eafff8;font-size:14px;font-weight:700;padding:0 18px;height:100%;display:flex;align-items:center;border:none}.admin-header nav a:hover{color:#fff;background:#00000014}.admin-header nav a.active{color:#fff;background:#00000024}.admin-header .user{color:#eafff8;font-size:12px;margin-left:auto;margin-right:12px}.admin-header .link-btn{color:#fff}.admin-main{max-width:1300px;margin:0 auto;padding:20px 16px}.table{width:100%;border-collapse:collapse;background:#fff;margin-top:10px;border-top:1px solid var(--line-top);font-size:13px}.table th,.table td{padding:8px;border-bottom:1px solid var(--line);text-align:center}.table th{background:var(--th-bg);font-weight:700;color:#000;border-right:1px solid var(--line)}.table td{color:var(--td-color);border-right:1px solid var(--line)}.table th:last-child,.table td:last-child{border-right:none}.table a{color:var(--key-dark);text-decoration:underline}.table a:hover{color:var(--key)}.pager{display:flex;align-items:center;justify-content:center;gap:4px;padding:24px 0;font-size:13px;flex-wrap:wrap}.pager button{min-width:30px;padding:4px 8px;border:1px solid #ccc;background:#fff;border-radius:0;cursor:pointer;color:#333}.pager button:disabled{color:#ccc;cursor:default}.pager button.page-num{color:var(--key-dark)}.pager button.page-num.active{background:var(--key);color:#fff;border-color:var(--key);font-weight:700;cursor:default}.pager .pager-info{margin:0 10px;color:#666}.pager .pager-jump{width:56px;height:28px;padding:0 6px;border:1px solid #C2C2C2;border-radius:0;text-align:center}.pager .pager-jump-btn{min-width:auto}.row{display:flex;gap:6px;align-items:center;margin-bottom:10px}.search-bar{background:#f7f7f7;border:1px solid var(--line);padding:12px;justify-content:center}.input.inline{width:160px;margin:0;height:30px}select.input.inline{width:auto;min-width:170px;height:30px;padding:0 26px 0 8px}select.input.inline.narrow{min-width:0;width:fit-content}.date-input-wrap{position:relative;display:inline-block}.date-input-wrap>.input{min-width:130px;box-sizing:border-box;cursor:pointer;background:#fff}.date-input-wrap.block{display:block;width:100%}.cal-pop{position:absolute;top:calc(100% + 2px);left:0;z-index:100;background:#fff;border:1px solid #333;padding:6px;box-shadow:0 2px 6px #0003;-webkit-user-select:none;user-select:none}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.cal-title{font-size:13px;font-weight:700}.cal-nav{border:1px solid #C2C2C2;background:#eee;cursor:pointer;width:22px;height:22px;line-height:1;font-size:14px;padding:0}.cal-nav:hover{background:var(--key);color:#fff}.cal-grid{border-collapse:collapse}.cal-grid th,.cal-grid td{width:26px;height:24px;text-align:center;font-size:12px;padding:0}.cal-grid th{color:#666;font-weight:400;border-bottom:1px solid #ccc}.cal-grid td{cursor:pointer}.cal-grid td:hover{background:#eee}.cal-grid td.today{outline:1px solid var(--key);outline-offset:-1px}.cal-grid td.sel{background:var(--key);color:#fff}.cal-grid td.today.sel{outline-color:#fff}.cal-foot{display:flex;gap:4px;justify-content:flex-end;margin-top:4px}.cal-btn{border:1px solid #C2C2C2;background:#eee;cursor:pointer;font-size:11px;padding:2px 8px}.cal-btn:hover{background:var(--key);color:#fff}.field-label{display:block;font-size:12px;color:#666;margin:12px 0 4px}.textarea{width:100%;padding:10px;font-family:monospace;font-size:12px;border:1px solid #C2C2C2;border-radius:0;margin-bottom:12px}.guide-box{list-style:none;margin:0 0 12px;padding:12px 16px;border:1px solid var(--line);background:#fff}.guide-box li{position:relative;padding-left:16px;color:#555;font-size:13px}.guide-box li:before{content:"!";position:absolute;left:0;color:var(--key);font-weight:700}.stats-header{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;margin-bottom:16px;padding:4px 0}.stat-group{display:flex;border-top:1px solid var(--line-top)}.stat-group.type-counts{flex-wrap:wrap}.stat{min-width:62px;text-align:center;padding:6px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:#333;background:#fff}.stat .lbl{display:block;font-weight:700;background:var(--th-bg);margin:-6px -10px 4px;padding:4px;border-bottom:1px solid var(--line)}.stat b{font-size:14px}.stat.clickable{cursor:pointer}.stat.clickable:hover{background:#f0fbf8}.stat.active{outline:2px solid var(--key);outline-offset:-2px;position:relative;z-index:1}.stat.s-complete b{color:var(--c-complete)}.stat.s-inprog b{color:var(--c-inprog)}.stat.s-notstart b{color:var(--c-notstart)}.stat.s-total b{color:#000}.company-results{list-style:none;margin:0 0 8px;padding:0;border:1px solid #C2C2C2;max-height:180px;overflow:auto}.company-results li{border-bottom:1px solid var(--line)}.company-results li:last-child{border-bottom:none}.company-results li button{display:block;width:100%;text-align:left;padding:7px 10px;background:#fff;border:none;cursor:pointer;font-size:13px;color:#333}.company-results li button:hover{background:#f0fbf8;color:var(--key-dark)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border:1px solid var(--line-top);border-radius:0;padding:20px;width:95%;max-width:1100px;max-height:88vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal .table th{width:auto}.modal .table th,.modal .table td{white-space:nowrap}.modal .table td:has(.table),.modal .table td:has(.row){white-space:normal}.modal .table-scroll{overflow-x:auto}.legacy-assign .lg-page-tit{font-size:17px;font-weight:700;color:#333;margin:0 0 14px}.lg-guide{border:1px solid #e1e1e1;background:#fcfcfc;padding:14px 18px;margin-bottom:20px}.lg-guide p{margin:0 0 5px;font-size:12px;color:#666;line-height:18px;display:flex;align-items:flex-start;gap:6px}.lg-guide p:last-child{margin-bottom:0}.lg-guide .lg-guide-ico{flex:0 0 14px;margin-top:2px}.legacy-assign .req{color:red}.lg-imgbtn{background:none;border:0;padding:0;margin:0;cursor:pointer;line-height:0;border-radius:0;box-shadow:none}.lg-imgbtn img{display:block}.modal.lg-modal{padding:0}.lg-modal-head{background:#13ae8c;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.lg-modal-head-txt{text-align:center;flex:1;color:#fff;line-height:1.5}.lg-modal-head-txt strong{display:block;font-size:18px;font-weight:700}.lg-modal-head-txt span{font-size:12px}.lg-modal-close{background:none;border:0;padding:4px 6px;cursor:pointer;color:#fff;font-size:13px;text-decoration:underline;flex:0 0 auto}.lg-modal-body{padding:20px}.modal-overlay.is-nested{z-index:110}.lg-notify-modal{max-width:720px}.lg-notify-search{display:flex;gap:6px;align-items:center;margin-bottom:12px}.lg-notify-table th,.lg-notify-table td{text-align:center}.lg-notify-table td:nth-child(4){text-align:left}.lg-notify-msg{margin-top:14px}.lg-notify-msg label{display:block;margin-bottom:4px;font-size:13px}.lg-notify-msg .textarea{width:100%;box-sizing:border-box}.lg-notify-msg-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;color:#888}.lg-notify-msg-foot .over{color:#c0392b;font-weight:700}.lg-notify-btns{display:flex;gap:10px;justify-content:center;margin-top:16px}.lg-status-foot{display:flex;align-items:center;margin-top:12px}.lg-pager{display:flex;gap:4px;flex:1;justify-content:center}.lg-pager button{background:none;border:0;padding:2px 6px;cursor:pointer;font-size:13px;color:#555}.lg-pager button:disabled{color:#ccc;cursor:default}.lg-pager button.is-cur{font-weight:700;color:#13ae8c}.assign-rows .input{height:30px;padding:0 8px;margin:0}.lg-student-picker{border:1px solid #ccc;background:#fff;padding:16px;margin-top:20px}.lg-student-picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e1e1e1}.legacy-assign .lg-form{width:100%;border-collapse:collapse;border-top:1px solid #ccc}.legacy-assign .lg-form th{width:150px;text-align:center;font-size:13px;font-weight:700;color:#333;background:#fff;border-bottom:1px solid #e1e1e1;padding:14px 10px;vertical-align:middle;line-height:18px}.legacy-assign .lg-form td{border-bottom:1px solid #e1e1e1;padding:12px 10px;background:#fff;vertical-align:middle}.legacy-assign .lg-inline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.legacy-assign .lg-tilde{padding:0 4px;color:#555}.legacy-assign .lg-note{margin:4px 0 0;font-size:12px}.legacy-assign .lg-note2{font-size:11px;color:#888;line-height:16px;margin:6px 0 0}.legacy-assign .lg-subrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.legacy-assign .lg-subrow:last-child{margin-bottom:0}.legacy-assign .lg-radio{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#333;cursor:pointer}.legacy-assign .lg-radio strong{font-weight:700}.legacy-assign .lg-btn-dark{background:#333;color:#fff;border:0;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;border-radius:0}.legacy-assign .lg-btn-dark:disabled{background:#999;cursor:default}.legacy-assign .lg-submit{text-align:right;margin-top:22px}.legacy-assign .lg-btn-save{background:#4a4a4a;color:#fff;border:0;padding:14px 44px;font-size:15px;cursor:pointer;border-radius:0}.legacy-assign .lg-btn-save:disabled{background:#999;cursor:default}.legacy-assign .lg-btn-form{background:var(--key);color:#fff;border:0;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;border-radius:0}.legacy-assign .lg-btn-form:hover{background:var(--key-dark)}
