:root{--ink:#1c2733;--muted:#64748b;--paper:#eef1f4;--card:#fff;--line:#d7dde4;--accent:#1f5f8b;--accent-soft:#dcebf5;--green:#2f7d5c;--red:#b3452f;--gold:#a8781f;--shadow:0 10px 28px #1c273314}*{box-sizing:border-box}.consultation-page{overflow-wrap:anywhere;width:min(1000px,100% - 32px);margin:24px auto}.consultation-page form{gap:12px;margin-block:20px;display:grid}.consultation-page label{gap:6px;min-width:0;display:grid}.consultation-page input:not([type=checkbox]),.consultation-page select,.consultation-page textarea{border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:10px}.consultation-page .card{margin-block:20px;padding:20px}.consultation-page :focus-visible{outline:3px solid var(--accent);outline-offset:3px}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Apple SD Gothic Neo,Noto Sans KR,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,.button{cursor:pointer}h1,h2,h3,p{margin-top:0}.topbar{border-bottom:1px solid var(--line);background:var(--card);z-index:30;align-items:center;gap:22px;min-height:60px;padding:10px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-weight:800;display:flex}.admin-time-zone{color:var(--muted);letter-spacing:normal;margin-top:2px;font-size:.72rem;font-weight:400;display:block}.brand-mark{border:2px solid var(--accent);width:30px;height:30px;color:var(--accent);border-radius:8px;place-items:center;font-weight:800;display:grid}.top-nav{flex:1;gap:4px;display:flex}.top-nav a{color:var(--muted);border-radius:8px;padding:8px 13px;font-weight:650}.top-nav a:hover{background:var(--paper)}.top-nav a.on{background:var(--accent-soft);color:var(--accent)}.main{width:min(1240px,100% - 32px);margin:0 auto;padding:30px 0 70px}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}h1{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(1.5rem,3.4vw,2.2rem)}.lede{max-width:700px;color:var(--muted);line-height:1.6}.hero{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:700;display:inline-flex}.button.secondary{color:var(--ink);border-color:var(--line);background:0 0}.button.accent{background:var(--accent);border-color:var(--accent)}.button.danger{color:var(--red);border-color:var(--red);background:0 0}.button:disabled{cursor:not-allowed;opacity:.55}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px;display:grid}.stat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:16px 18px}.stat .k{color:var(--muted);font-size:.8rem;font-weight:700}.stat .v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800}.notice{border:1px solid var(--red);color:var(--red);background:#fdf1ee;border-radius:12px;margin-bottom:18px;padding:14px 18px}.notice.warn{border-color:var(--gold);color:#7a5810;background:#fbf5e6}.notice strong{margin-bottom:4px;display:block}.notice p{color:inherit;opacity:.85;margin:0;font-size:.88rem;line-height:1.6}.steps-list{gap:7px;margin:0;padding:14px 18px 18px 38px;font-size:.9rem;line-height:1.6;display:grid}.steps-list code{background:var(--paper);border-radius:5px;padding:1px 6px;font-family:Consolas,Courier New,monospace;font-size:.86rem}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.panel+.panel{margin-top:20px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-head h2{margin:0;font-size:1.02rem}.table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th{text-align:left;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#f6f8fa;padding:9px 14px;font-size:.76rem}table.data td{border-top:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:10px 14px}table.data td.wrap{white-space:pre-wrap;min-width:200px}table.data tr:hover td{background:#f9fbfc}table.data .num{font-variant-numeric:tabular-nums}.dim{color:var(--muted)}.mono{font-family:Consolas,Courier New,monospace}.pill{border-radius:999px;padding:3px 9px;font-size:.74rem;font-weight:800;display:inline-block}.pill.issued{background:var(--accent-soft);color:var(--accent)}.pill.used,.pill.completed{color:var(--green);background:#ddefe6}.pill.revoked,.pill.abandoned{color:var(--red);background:#f6e0da}.pill.expired{color:var(--muted);background:#eee}.pill.started{color:var(--gold);background:#f3ecd8}.empty{color:var(--muted);text-align:center;margin:0;padding:22px 18px;font-size:.88rem}.spark{align-items:flex-end;gap:4px;height:150px;padding:16px 18px 12px;display:flex}.spark-col{flex-direction:column;flex:1 1 0;align-items:center;min-width:0;height:100%;display:flex}.spark-bars{flex:1;justify-content:center;align-items:flex-end;gap:2px;width:100%;display:flex}.spark-bars .bar{background:var(--accent-soft);border-radius:3px 3px 0 0;width:45%;min-height:2px}.spark-bars .bar.issued{background:var(--accent);opacity:.35}.spark-bars .bar.done{background:var(--green)}.spark-label{color:var(--muted);white-space:nowrap;margin-top:6px;font-size:.62rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:16px 18px;display:grid}.form-grid label{color:var(--muted);margin-bottom:5px;font-size:.8rem;font-weight:700;display:block}.form-grid input,.form-grid select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:9px 11px}.form-actions{align-items:center;gap:10px;padding:0 18px 16px;display:flex}.form-message{color:var(--red);font-size:.88rem}.form-help{color:var(--muted);margin:6px 0 0;font-size:.78rem;line-height:1.5}.send-grid{grid-template-columns:minmax(220px,1fr) auto auto}.send-grid>div{flex-direction:column;justify-content:flex-end;display:flex}.issued-codes{border:1px dashed var(--gold);background:#fdf9ef;border-radius:10px;margin:0 18px 18px;padding:14px 16px}.issued-codes strong{color:var(--gold)}.issued-codes ul{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.issued-codes code{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 10px;font-family:Consolas,Courier New,monospace;font-size:1rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.kv{grid-template-columns:120px 1fr;gap:6px 12px;padding:14px 18px;font-size:.9rem;display:grid}.kv dt{color:var(--muted);margin:0;font-weight:700}.kv dd{margin:0}.score-bars{gap:7px;padding:14px 18px;display:grid}.score-bar{grid-template-columns:60px 1fr 44px;align-items:center;gap:10px;font-size:.85rem;display:grid}.score-bar .track{background:var(--paper);border-radius:999px;height:9px;overflow:hidden}.score-bar .fill{background:var(--accent);border-radius:999px;height:100%}.score-bar.top .fill{background:var(--green)}.json-block{background:#f6f8fa;margin:0;padding:14px 18px;font-family:Consolas,Courier New,monospace;font-size:.8rem;overflow-x:auto}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);border-radius:16px;padding:34px 32px}.auth-card form{gap:8px;margin-top:20px;display:grid}.auth-card label{color:var(--muted);font-size:.84rem;font-weight:700}.auth-card input{border:1px solid var(--line);border-radius:9px;padding:11px 13px}.auth-card .form-message{color:var(--accent);margin:14px 0 0}@media (max-width:720px){.topbar{flex-wrap:wrap;gap:10px;padding:6px 12px}.brand{flex:auto;min-width:0;font-size:.95rem}.brand-mark{border-radius:7px;width:26px;height:26px}.topbar>form{flex:none}.topbar>form .button{padding:7px 11px;font-size:.85rem}.top-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1 0 100%;order:3;gap:2px;overflow-x:auto}.top-nav::-webkit-scrollbar{display:none}.top-nav a{white-space:nowrap;padding:9px 11px;font-size:.85rem}.main{padding:20px 0 56px}h1{font-size:1.45rem}.panel-head{flex-wrap:wrap;padding:12px 14px}.panel-head form{flex-wrap:wrap;width:100%}.panel-head form input{border:1px solid var(--line);border-radius:8px;flex:90px;min-width:0;padding:9px 11px}.panel-head form select{border:1px solid var(--line);border-radius:8px;flex:0 auto;min-width:0;padding:9px 11px}.panel-head form .button{flex:none;padding:9px 12px;font-size:.85rem}.hero form{width:100%}.hero form select{flex:auto}table.data th,table.data td{padding:9px 11px}.kv{grid-template-columns:92px 1fr}.form-grid,.send-grid{grid-template-columns:1fr}.spark{gap:2px;height:120px;padding:12px 10px 10px}.spark-label{font-size:.55rem}.send-grid .button{width:100%}}@media print{.topbar,.top-nav,.button,form{display:none!important}body{background:#fff}.panel{box-shadow:none;border-color:#bbb}}.instructor-form{gap:16px;display:grid}.instructor-form input{box-sizing:border-box;width:100%;min-width:0}.instructor-links{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.instructor-main{padding:24px}.instructor-list{gap:16px;padding:0;list-style:none;display:grid}.instructor-item{overflow-wrap:anywhere;padding:20px}.instructor-item h2{font-size:1rem}@media (max-width:480px){.instructor-main,.instructor-item{padding:16px}}.class-form{gap:14px;display:grid}.class-form label{gap:6px;display:grid}.class-form input:not([type=checkbox]),.class-form select{width:100%;min-width:0;font:inherit;padding:10px}.class-form fieldset{border:1px solid #d9d3cb;min-width:0;padding:12px}.class-form .class-license,.class-license{overflow-wrap:anywhere;align-items:start;gap:10px;margin-block:12px;display:flex}.class-license small{color:#666;font-size:12px;display:block}.consultation-page{max-width:1160px;margin:32px auto;padding:0 24px}.consultation-page form{min-width:0}.consultation-page label{gap:6px;margin:16px 0;display:grid}.consultation-page input:not([type=checkbox]),.consultation-page textarea,.consultation-page select{width:100%;min-width:0;max-width:100%;font:inherit;border:1px solid #bbb1bf;border-radius:8px;padding:10px}.consultation-page textarea{min-height:95px}.consultation-page p{overflow-wrap:anywhere}.profile-editor{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:36px;margin-top:30px;display:grid}.profile-editor form{background:#fffcf8;border:1px solid #ddd2c9;border-radius:16px;padding:24px}.profile-preview{align-self:start;position:sticky;top:20px}.profile-preview article{background:#fffcf8;border:1px solid #ddd2c9;border-radius:18px;max-width:360px;overflow:hidden}.profile-preview img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.profile-preview-body{padding:22px}.profile-preview-body h3{font-size:23px}.profile-preview-body small{font-size:13px;font-weight:400}.profile-photo-empty{aspect-ratio:1;background:#e8e0d5;place-items:center;display:grid}.profile-tags{flex-wrap:wrap;gap:8px;display:flex}.profile-tags span{background:#eee8e0;border-radius:6px;padding:4px 9px;font-size:12px}.consultation-page nav{flex-wrap:wrap;gap:18px;display:flex}@media (max-width:700px){.consultation-page{padding:0 16px}.profile-editor{grid-template-columns:1fr}.profile-preview{grid-row:1;position:static}.profile-preview article{max-width:320px}.profile-editor form{padding:16px}}.profile-review{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-block:24px;padding:24px}.profile-review-summary{align-items:flex-start;gap:24px;margin-block:20px;display:flex}.profile-review-photo{object-fit:cover;border-radius:12px;flex:none;width:160px;height:160px}.profile-review-fields{grid-template-columns:140px minmax(0,1fr);gap:10px 18px;min-width:0;margin:0;display:grid}.profile-review-fields dt{font-weight:700}.profile-review-fields dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.profile-registration-steps{padding-left:24px;line-height:1.8}@media (max-width:700px){.profile-review{padding:16px}.profile-review-summary{flex-direction:column}.profile-review-fields{grid-template-columns:1fr;gap:6px}.profile-review-fields dd{margin-bottom:12px}}.instructor-invitation,.instructor-permissions{margin-block:24px;padding:24px;line-height:1.65}.instructor-invitation label{gap:6px;min-width:0;display:grid}.instructor-invitation input,.instructor-invitation textarea{border:1px solid var(--line);background:var(--card);border-radius:8px;width:100%;min-width:0;padding:10px}.instructor-invitation textarea{resize:vertical;min-height:230px;margin-top:8px}.instructor-invitation summary{cursor:pointer;font-weight:650}.instructor-invitation :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.instructor-onboarding{color:var(--muted);flex-wrap:wrap;gap:10px 30px;padding-left:24px;line-height:1.7;display:flex}@media (max-width:480px){.instructor-invitation,.instructor-permissions{padding:16px}.instructor-onboarding{gap:6px;display:grid}.instructor-invitation .instructor-links{align-items:stretch}.instructor-invitation .button{width:100%}}.instructor-auth-feedback{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;margin-top:8px;padding:16px;line-height:1.6}.instructor-auth-feedback strong{margin-bottom:6px;display:block}.instructor-auth-feedback p{margin:6px 0 0;font-size:.9rem}.instructor-auth-feedback.success{color:#20533d;background:#edf7f1;border-color:#8abea1}.instructor-auth-feedback.error{color:#8c3524;background:#fdf1ee;border-color:#d9a396}.instructor-auth-feedback:focus{outline:3px solid var(--accent);outline-offset:3px}.auth-other-login{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.auth-other-login .button{width:100%}.auth-card :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.workspace-header{background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px max(24px,50vw - 580px);display:flex}.workspace-brand{letter-spacing:-.03em;font-size:1.05rem;font-weight:800}.workspace-brand span{color:var(--muted);margin-top:5px;font-size:.8rem;font-weight:500;display:block}.workspace-header nav{flex-wrap:wrap;gap:6px;width:100%;display:flex}.workspace-header nav a{color:var(--muted);border-radius:9px;padding:12px 18px;font-weight:700}.workspace-header nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.workspace-header nav a:hover{background:var(--paper)}.workspace-main{overflow-wrap:anywhere;width:min(1160px,100% - 48px);margin:24px auto 64px}.workspace-account{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;font-size:.85rem;display:flex}.workspace-hero{margin-bottom:28px}.workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:28px;display:grid}@media (min-width:761px){.workspace-grid.consultation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.workspace-card{border:1px solid var(--line);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:flex-start;padding:28px;display:flex}.workspace-card-label{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-bottom:28px;padding:7px 10px;font-size:.8rem;font-weight:700}.workspace-card h2{font-size:1.3rem}.workspace-card p{color:var(--muted);margin-bottom:26px;line-height:1.7}.workspace-card .button{margin-top:auto}.workspace-notice{background:#fff9e9;border:1px solid #d7c594;border-radius:12px;margin-block:24px;padding:20px 24px}.workspace-notice h2{margin-bottom:8px;font-size:1rem}.workspace-notice p{margin-bottom:10px;line-height:1.7}.workspace-notice a{text-decoration:underline}.workspace-notice.ready{background:#edf7f1;border-color:#c0dbc9}.workspace-notice.ready p{margin-bottom:0}.workspace-panel{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-block:24px;padding:28px;line-height:1.7}.workspace-panel h2{font-size:1.2rem}.workspace-next{justify-content:space-between;align-items:center;gap:24px;display:flex}.workspace-next p{color:var(--muted);margin:0}.workspace-empty{padding:24px 0}.workspace-empty h3{font-size:1.05rem}.workspace-empty p{color:var(--muted)}.workspace-steps{gap:12px;padding-left:24px;display:grid}.workspace-steps p{color:var(--muted);margin:6px 0}.workspace-classes{gap:16px;padding:0;list-style:none;display:grid}.workspace-classes li{border-top:1px solid var(--line);padding-top:20px}.workspace-classes h3{font-size:1.05rem}.workspace-profile form{background:var(--card);border:1px solid var(--line);border-radius:14px;gap:12px;margin-block:24px;padding:24px;display:grid}.workspace-profile label{gap:8px;display:grid}.workspace-profile input:not([type=checkbox]),.workspace-profile select,.workspace-profile textarea{border:1px solid var(--line);width:100%;min-width:0;font:inherit;border-radius:8px;padding:12px}.workspace-profile textarea{min-height:110px}.workspace-profile .card{border:1px solid var(--line);background:var(--card);border-radius:14px;margin-block:24px;padding:24px}.instructor-workspace :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.workspace-skip{z-index:50;background:var(--card);padding:14px;position:absolute;top:-100px;left:16px}.workspace-skip:focus{top:10px}@media (max-width:760px){.workspace-header{gap:16px;padding:18px 16px}.workspace-header nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workspace-header nav a{text-align:center;padding:12px}.workspace-main{width:calc(100% - 32px)}.workspace-grid{grid-template-columns:1fr;gap:16px}.workspace-card{padding:22px}.workspace-card-label{margin-bottom:16px}.workspace-panel{padding:20px}.workspace-next{flex-direction:column;align-items:stretch}.workspace-profile form{padding:18px}.workspace-account{margin-bottom:24px}.workspace-notice{padding:18px}}
