@font-face {
  font-family:'Pretendard Variable';
  src:url('/PretendardVariable-1.3.9.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root {
  --ink:#1e334b; --muted:#63788e; --line:#dbe7f2; --paper:#f3f8fd;
  --surface:#fff; --accent:#1674b9; --accent-dark:#115b93; --soft:#e7f3ff;
  --desk-font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;
}
body,body.support-public { font-family:var(--desk-font); color:var(--ink); background:var(--paper); line-height:1.6; -webkit-font-smoothing:antialiased; word-break:keep-all; }
button,input,select,textarea,.brand,.support-primary { font-family:var(--desk-font); }
button,input,select,textarea { accent-color:var(--accent); }
button { letter-spacing:-.15px; }
h1,h2,h3 { font-weight:700; line-height:1.35; letter-spacing:-.65px; }
:focus-visible { outline:3px solid #75b8ed; outline-offset:3px; }
.sidebar { background:#162e49; color:#eff7ff; }
.brand { gap:12px; }
.brand-title { color:#f5faff; font-weight:650; letter-spacing:.1px; }
.brand-subtitle { color:#bed4e8; letter-spacing:0; }
.nav-list { gap:6px; margin-top:38px; }
.nav-item { color:#c0d1e3; font-size:14px; font-weight:500; padding:12px 13px; line-height:1.5; }
.nav-item span { color:#87a5c4; }
.nav-item:hover { color:#fff; background:#203d5b; }
.nav-item.active { color:#fff; background:#225580; }
.nav-item.active span { color:#a9dfff; }
.sidebar-foot { border-color:#36516c; }
.sidebar-foot p,.sidebar-foot small { color:#acc4dc; }
.dashboard-date { color:#296792; font-size:16px; font-weight:600; letter-spacing:0; }
.topbar h1,.view-intro h2 { font-weight:650; letter-spacing:-.8px; line-height:1.4; }
.topbar h1 { font-size:clamp(23px,2.5vw,30px); }
.panel,.summary-card,.support-join { box-shadow:0 4px 18px rgb(40 83 124 / 4%); }
.accent-card { background:#e4f2ff; border-color:#c6e0f7; color:#174d79; }
.accent-card p,.accent-card a { color:#285f8b; }
.summary-card strong { font-weight:650; letter-spacing:-1px; }
.primary-button,.support-primary,button.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.primary-button:hover,.support-primary:hover,button.primary:hover { background:var(--accent-dark); }
.profile { border-color:var(--line); color:var(--ink); font-weight:500; }
.profile .profile-avatar { background:#dfefff; color:#285d88; font-weight:650; }
.notification { background:#e1effc; color:#245f8d; }
.outline-button,.mini-button { color:#285f8b; border-color:#b9d3ea; }
.outline-button:hover,.mini-button:hover { background:#eef7ff; }
input:focus,select:focus,textarea:focus { border-color:#4097d9; box-shadow:0 0 0 3px rgb(48 143 212 / 12%); }
.status-ready { color:#245f8d; background:#e7f3ff; }
.message.bot,.assistant-prompt { border-color:var(--line); }
.message.user { background:#1674b9; }
.login-logo-frame { margin-bottom:20px; }
body>main:has(.login-logo-frame) { border-color:#d8e6f3; box-shadow:0 16px 50px rgb(35 83 125 / 8%); }
body>main:has(.login-logo-frame) h1 { font-size:28px; font-weight:650; letter-spacing:-.6px; }
body>main:has(.login-logo-frame) #submit { background:var(--accent); }
body>main:has(.login-logo-frame) #submit:hover { background:var(--accent-dark); }
body>main:has(.login-logo-frame) a[href*='switch=1'] { color:var(--accent-dark)!important; }
@media(max-width:650px) { .topbar h1 { font-size:23px; } .dashboard-date { font-size:15px; } }

/* Keep account controls readable when the greeting grows. */
.topbar { flex-wrap:wrap; row-gap:16px; }
.topbar > div:first-child { flex:1 1 280px; min-width:0; }
.user-area { flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-left:auto; }
.notification { flex:0 0 32px; width:32px; height:32px; border-radius:50%; }
.user-area .profile { flex:0 0 auto; display:inline-flex; align-items:center; gap:9px; padding:5px 12px 5px 5px; min-height:42px; font-size:14px; line-height:1.4; white-space:nowrap; }
.profile .profile-avatar { flex:0 0 30px; width:30px; height:30px; font-size:13px; line-height:1; font-weight:600; }
.profile .profile-name { display:block; width:auto; height:auto; background:none; color:var(--ink); border-radius:0; font-size:14px; line-height:1.4; font-weight:500; white-space:nowrap; }
.user-area #logout-button { width:auto; margin:0; min-height:42px; padding:9px 14px; font-weight:600; }
#logout-status:empty { display:none; }
@media(max-width:650px) { .topbar > div:first-child { flex-basis:100%; } .user-area { width:100%; justify-content:flex-start; margin-left:0; } }

.remote-session-panel #remote-employee { display:block; width:100%; min-width:0; min-height:46px; padding:11px 36px 11px 12px; border:1px solid #bed2e5; border-radius:8px; background-color:#fff; color:var(--ink); font-family:var(--desk-font); font-size:14px; line-height:1.5; white-space:nowrap; text-overflow:ellipsis; }
.remote-session-panel #remote-employee:focus { outline:3px solid #c5e5fc; outline-offset:1px; border-color:#4097d9; }
.employee-access-panel { padding:24px; }
.employee-access-card { padding:22px 0; border-top:1px solid var(--line); }
.employee-access-card header { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.employee-access-card header>strong { font-size:17px; font-weight:650; }
.access-badge { padding:3px 9px; border-radius:20px; background:#e7f3ff; color:#285f8b; font-size:12px; }
.access-baseline { padding:10px 14px; background:#f3f8fd; border-radius:8px; color:#506d88; font-size:13px; margin:10px 0; }
.access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.access-option { display:flex; align-items:flex-start; gap:10px; padding:16px; margin:0; border:1px solid var(--line); border-radius:10px; cursor:pointer; font-weight:400; }
.access-option:has(input:checked) { background:#edf7ff; border-color:#65a9dc; }
.access-option input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; padding:0; }
.access-option strong { display:block; font-size:14px; font-weight:600; line-height:1.5; }
.access-option small { display:block; margin-top:5px; color:var(--muted); font-size:12px; font-weight:400; line-height:1.65; }
.access-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:16px; }
.approval-permissions { flex-basis:100%; margin:8px 0; border:1px solid var(--line); border-radius:10px; padding:12px; }
.approval-permissions summary { cursor:pointer; font-size:14px; font-weight:600; }
#employees > .panel { padding:24px; }
@media(max-width:700px) { .access-grid { grid-template-columns:1fr; } }
.managed-panel{padding:24px;margin-bottom:18px}.managed-panel h3{margin:0 0 8px;font-size:18px}.managed-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.managed-actions .outline-button{width:auto;margin:0}.managed-device{display:flex;gap:18px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0}.managed-device strong,.managed-device small{display:block}.managed-device small{font-size:12px;color:var(--muted);margin-top:5px}.managed-screen{margin-top:16px;min-height:280px;background:#eaf1f8;overflow:auto;max-height:75dvh;border-radius:10px;display:grid;place-items:center}.managed-screen:fullscreen{max-height:none;border-radius:0;background:#12283e}.managed-screen img{display:block;width:100%;height:auto}.managed-screen img[hidden]{display:none}.managed-screen p{padding:30px;color:var(--muted)}.managed-actions label{font-size:13px;font-weight:500;margin:0}.managed-table-wrap{overflow:auto}.managed-table{width:100%;border-collapse:collapse;min-width:600px;font-size:13px}.managed-table td,.managed-table th{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px}.managed-table th{font-weight:600;background:#f3f8fd}#managed-setup,#managed-password-dialog,#managed-registration{width:min(480px,calc(100% - 28px));border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);max-height:90dvh;overflow:auto}#managed-setup::backdrop,#managed-password-dialog::backdrop,#managed-registration::backdrop{background:rgb(20 43 67 / 45%)}#managed-setup input,#managed-password-dialog input,#managed-registration input{display:block;width:100%;padding:11px;border:1px solid #bed2e5;border-radius:8px;margin:7px 0 14px;font:inherit}#managed-setup label,#managed-password-dialog label,#managed-registration label{font-size:13px}.managed-dialog-message{font-size:13px;color:#ad4b21}#managed-pcs [hidden]{display:none!important}@media(max-width:760px){.managed-device,.managed-panel .panel-heading{align-items:flex-start;flex-direction:column}.managed-panel{padding:18px}}

.support-home-entry { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; margin-bottom:18px; }
.support-home-entry h3 { margin:0 0 5px; font-size:17px; }
.support-home-entry p { margin:0; color:var(--muted); font-size:13px; }
.support-start-button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:12px 22px; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap; }
.support-share { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.support-share > strong { display:block; font-size:14px; }
.support-share > p { font-size:12px; color:var(--muted); line-height:1.7; }
.support-share .primary-button,.support-share .mini-button { width:100%; margin:8px 0 0; }
.support-share .remote-link { margin-top:14px; padding-top:0; border:0; font-size:13px; }
.support-share textarea { width:100%; min-height:140px; padding:10px; border:1px solid var(--line); border-radius:8px; font:12px var(--desk-font); }
.support-share textarea[hidden] { display:none; }
@media(max-width:700px) { .support-home-entry,.remote-staff-callout { flex-direction:column; align-items:stretch; } .support-start-button { width:100%; } }
.managed-native-view { display:block; width:100%; height:max(650px,75dvh); border:1px solid var(--line); border-radius:10px; margin-top:16px; background:#fff; }
.managed-native-view:fullscreen { width:100%; height:100%; border:0; border-radius:0; }
#managed-registration{box-sizing:border-box}
