/* Shared Works / Docs tokens. Standalone PDFs never load this file; preview contents are excluded below. */
:root {
 color-scheme:light;
 --works-page:#fff; --works-sidebar:#f7f8fa; --works-surface:#fff; --works-elevated:#f5f6f8;
 --works-control:#f5f6f8; --works-text:#20242b; --works-muted:#697689; --works-subtle:var(--works-muted);
 --works-line:#e2e5ea; --works-hover:#edf0f4; --works-selected:#e6eaf0;
 --works-link:#4267a5; --works-primary:#4267a5; --works-primary-hover:#35578d; --works-primary-text:#fff;
 --works-accent:#008d69; --works-focus:var(--works-link); --works-preview-surface:#edf0f4;
 --works-success:#247a58; --works-success-surface:#e8f4ed; --works-warning:#946715; --works-warning-surface:#fbf3df;
 --works-danger:#b3454e; --works-danger-surface:#faecee; --works-danger-border:#e9bfc4; --works-danger-hover:#f4dfe2; --works-danger-hover-text:#94333c;
 --works-info:#4267a5; --works-overlay:rgb(0 0 0 / 55%); --works-shadow:transparent;
 --works-closed:var(--works-danger); --works-early-close:var(--works-success);
 --works-sidebar-width:280px; --works-content-width:1320px; --works-control-height:36px;
 --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:40px;
 --font-ui:"LINESeedSansKR",sans-serif; --font-xs:12px; --font-sm:13px; --font-base:14px; --font-section:17px; --font-title:32px;
 --radius-sm:4px; --radius-control:5px; --radius-panel:6px;
 --dark-page-bg:var(--works-page); --dark-surface:var(--works-surface); --dark-control:var(--works-control);
 --dark-hover:var(--works-hover); --dark-border:var(--works-line); --dark-text:var(--works-text);
 --dark-muted:var(--works-muted); --dark-preview:var(--works-preview-surface); --dark-accent:var(--works-primary);
 --brand-color:var(--works-text); --page-title-color:var(--works-text); --page-description-color:var(--works-muted);
}
html.dark-mode {
 color-scheme:dark;
 --works-page:#111319; --works-sidebar:#08090c; --works-surface:#111319; --works-elevated:#171b23;
 --works-control:#171b23; --works-text:#e6e6e6; --works-muted:#66778f;
 --works-line:#2a303b; --works-hover:#171b24; --works-selected:#1a1e28;
 --works-link:#98b7e9; --works-primary:#98b7e9; --works-primary-hover:#b1c8ed; --works-primary-text:#111319;
 --works-accent:#00c990; --works-preview-surface:#0b0d12;
 --works-success:#90cbb0; --works-success-surface:#172b22; --works-warning:#dcc18d; --works-warning-surface:#2b251a;
 --works-danger:#e8a0a9; --works-danger-surface:#2d1d23; --works-danger-border:#67404a; --works-danger-hover:#3a252d; --works-danger-hover-text:#ffd8de;
 --works-info:#98b7e9; --works-overlay:rgb(0 0 0 / 65%);
}
/* Native controls must follow the selected theme, including explicit light mode. */
body.works-ui,body.works-ui :is(input,select,textarea,button) { color-scheme:inherit; }
body.works-ui { font-family:var(--font-ui); font-size:var(--font-base); line-height:1.5; background:var(--works-page); color:var(--works-text); }
body.works-ui,body.works-ui * { scrollbar-width:thin; scrollbar-color:var(--works-line) transparent; }
body.works-ui ::selection { background:var(--works-selected); color:var(--works-text); }
body.works-ui :is(.works-toast,.works-confirm-panel) { background:var(--works-elevated); border-radius:var(--radius-panel); box-shadow:none; }
body.works-ui .works-confirm-layer { background:var(--works-overlay); }
body.works-ui .works-toast-message { font-size:var(--font-sm); line-height:1.5; }
body.works-ui .works-confirm-panel h2 { font-size:var(--font-section); }
body.works-ui .works-confirm-panel .button { height:36px; min-height:36px; border-radius:var(--radius-control); font-size:var(--font-xs); }
.works-icon { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.works-icon-button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:0; border-radius:var(--radius-control); background:transparent; color:var(--works-muted); cursor:pointer; }
.works-icon-button:hover { color:var(--works-text); background:var(--works-hover); }
.works-mobile-header,.works-mobile-only,.works-menu-backdrop { display:none; }
/* Fixed shell, independently scrolling navigation and content. */
body.works-ui:not(.docs-page) { height:100dvh; min-height:0; overflow:hidden; }
body.works-ui:not(.docs-page) .app-shell { display:flex; flex-direction:row; height:100dvh; min-height:0; overflow:hidden; }
body.works-ui:not(.docs-page) .main { display:flex; flex:1; flex-direction:column; height:100%; min-width:0; min-height:0; overflow:hidden; }
body.works-ui:not(.docs-page) .content { display:block; flex:1; width:100%; max-width:var(--works-content-width); min-width:0; min-height:0; height:100%; margin-inline:auto; padding:var(--space-6) var(--space-7); overflow:auto; }
body.works-ui .works-sidebar { display:flex; flex-direction:column; align-items:stretch; flex:0 0 var(--works-sidebar-width); width:var(--works-sidebar-width); height:100dvh; min-height:0; padding:0; border:0; background:var(--works-sidebar); color:var(--works-muted); }
body.works-ui.docs-page .works-sidebar,body.works-ui.auth-login-page .works-sidebar { display:none; }
body.works-ui .works-brand-row { display:flex; align-items:center; justify-content:space-between; flex:none; height:64px; padding:0 var(--space-4); }
body.works-ui .works-sidebar .brand { display:flex; align-items:center; gap:var(--space-3); width:auto; margin:0; padding:0; color:var(--works-text); font-size:16px; font-weight:600; letter-spacing:0; text-align:left; }
.works-brand-row .brand .works-icon { color:var(--works-accent); }
body.works-ui .works-navigation { display:block; flex:1; width:100%; min-height:0; overflow:auto; padding:var(--space-2); }
.works-menu-group + .works-menu-group { margin-top:var(--space-4); }
.works-menu-group h2 { margin:0; padding:var(--space-2) var(--space-3); color:var(--works-muted); font-size:var(--font-xs); font-weight:500; }
body.works-ui .works-navigation a { display:flex; align-items:center; justify-content:flex-start; gap:var(--space-2); min-height:34px; padding:6px var(--space-3); border-radius:var(--radius-sm); font-size:var(--font-sm); line-height:1.5; text-align:left; color:var(--works-muted); }
body.works-ui .works-navigation a .works-icon { width:17px; height:17px; }
body.works-ui .works-navigation a span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.works-ui .works-navigation a:hover { background:var(--works-hover); color:var(--works-text); }
body.works-ui .works-navigation a.active { background:var(--works-selected); color:var(--works-text); }
body.works-ui .works-sidebar-footer { display:block; flex:none; width:auto; margin:0 var(--space-2); padding:var(--space-2) var(--space-3) var(--space-3); border-top:1px solid var(--works-line); }
.works-account-row { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); }
.works-role { font-size:var(--font-xs); }
body.works-ui .works-sidebar .user-actions { width:auto; gap:var(--space-1); margin:0; }
body.works-ui .works-sidebar :is(.theme-toggle,.settings-button) { border:0; border-radius:var(--radius-control); background:transparent; color:var(--works-muted); }
body.works-ui .works-sidebar :is(.theme-toggle,.settings-button):hover { background:var(--works-hover); color:var(--works-text); }
body.works-ui .auth-sidebar-actions { display:flex; justify-content:flex-start; gap:var(--space-2); margin:var(--space-2) 0 0; }
body.works-ui .auth-sidebar-actions .employee-action { padding:0; border:0; background:transparent; font-size:var(--font-xs); color:var(--works-muted); }
body.works-ui .auth-sidebar-actions .employee-action:hover { color:var(--works-text); }
/* Shared headings, panels, controls and tables. The A4 DOM is deliberately excluded. */
body.works-ui:not(.docs-page) :is(.page-header,.certificate-toolbar,.referral-toolbar) { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:var(--space-4); height:auto; min-height:68px; margin:0 0 var(--space-5); }
body.works-ui:not(.docs-page) .page-title { margin:0 0 var(--space-1); color:var(--works-text); font-size:var(--font-title); font-weight:600; letter-spacing:-.02em; line-height:1.35; }
body.works-ui:not(.docs-page) .page-description { color:var(--works-muted); font-size:var(--font-sm); line-height:1.55; }
body.works-ui:not(.docs-page) :is(.form-grid,.auth-form) > label { position:relative; }
body.works-ui:not(.docs-page) :is(.form-grid,.auth-form) > label:has(> :is(input,select,textarea)[required])::after { content:"필수"; position:absolute; top:0; right:0; color:var(--works-muted); font-size:10px; font-weight:400; }
body.works-ui:not(.docs-page) .content h2.page-title { font-size:var(--font-section); }
body.works-ui:not(.docs-page) .card { min-width:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
body.works-ui:not(.docs-page) .form-card { padding:var(--space-4) 0; }
body.works-ui:not(.docs-page) .table-card { border:0; border-radius:0; overflow-x:auto; }
body.works-ui:not(.docs-page) :is(.form-grid,.attachment-grid) { gap:var(--space-4); }
body.works-ui:not(.docs-page) .form-grid > label { min-width:0; gap:var(--space-2); font-size:var(--font-xs); }
body.works-ui:not(.docs-page) .content :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not(.page *):not(.holiday-page *) {
 min-width:0; max-width:100%; min-height:var(--works-control-height); height:var(--works-control-height); padding:7px 10px; border:1px solid var(--works-line); border-radius:var(--radius-control); background:var(--works-control); color:var(--works-text); font:inherit; font-size:var(--font-sm); line-height:1.5;
}
body.works-ui:not(.docs-page) .content textarea:not(.page *):not(.holiday-page *) { height:auto; min-height:84px; resize:vertical; }
body.works-ui:not(.docs-page) .content input[type=file] { height:auto; padding:5px var(--space-2); }
body.works-ui input[type=file]::file-selector-button { font:inherit; border-radius:var(--radius-sm); padding:3px var(--space-2); }
body.works-ui input:is([type=checkbox],[type=radio]) { width:16px; height:16px; min-width:16px; margin:0; padding:0; vertical-align:middle; accent-color:var(--works-primary); }
body.works-ui input[type=range] { min-width:0; accent-color:var(--works-primary); }
body.works-ui:not(.docs-page) :is(.button,.employee-action) { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); min-height:32px; height:32px; padding:0 10px; border:1px solid var(--works-line); border-radius:var(--radius-control); background:var(--works-control); font-size:var(--font-xs); font-weight:400; line-height:1; color:var(--works-text); box-shadow:none; }
body.works-ui:not(.docs-page) .button { height:var(--works-control-height); min-height:var(--works-control-height); }
body.works-ui:not(.docs-page) :is(.button,.employee-action):hover { border-color:var(--works-line); background:var(--works-hover); }
body.works-ui:not(.docs-page) .button.primary { background:var(--works-primary); border-color:var(--works-primary); color:var(--works-primary-text); }
body.works-ui:not(.docs-page) .button.primary:hover { background:var(--works-primary-hover); }
body.works-ui:not(.docs-page) :is(.button,.employee-action).danger { color:var(--works-danger); border-color:var(--works-danger-border); background:var(--works-danger-surface); }
body.works-ui :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--works-focus); outline-offset:2px; }
body.works-ui:not(.docs-page) .content table:not(.page *):not(.holiday-page *) { width:100%; font-size:var(--font-sm); }
body.works-ui:not(.docs-page) .content :is(th,td):not(.page *):not(.holiday-page *) { padding:10px var(--space-3); border-bottom:1px solid var(--works-line); vertical-align:middle; }
body.works-ui:not(.docs-page) .content th:not(.page *):not(.holiday-page *) { color:var(--works-muted); background:var(--works-page); font-size:var(--font-xs); font-weight:500; }
body.works-ui:not(.docs-page) .content tbody tr:not(.page *):not(.holiday-page *):hover { background:var(--works-hover); }
body.works-ui:not(.docs-page) .content :is(.employee-table,.patient-table,.issue-table,.settings-table) { min-width:640px; }
body.works-ui:not(.docs-page) .content :is(.table-list-scroll,.clinic-calendar-holiday-list) { scrollbar-width:thin; }
body.works-ui:not(.docs-page) .content :is(.table-list-scroll,.clinic-calendar-holiday-list)::-webkit-scrollbar { display:block; width:8px; height:8px; }
body.works-ui:not(.docs-page) :is(.form-actions,.patient-pagination,.treatment-actions) { gap:var(--space-2); }
body.works-ui:not(.docs-page) .empty { padding:var(--space-6) var(--space-4); }
/* Existing patient, treatment, calendar and document workspaces retain their event targets. */
body.works-ui.table-list-page:not(.docs-page) .content { display:flex; flex-direction:column; overflow:hidden; }
body.works-ui.patient-lookup-page :is(.patient-lookup-workspace,.page-header) { width:100%; max-width:none; }
body.works-ui.patient-lookup-page :is(.patient-lookup-heading,.family-section-title) { font-size:var(--font-section); font-weight:500; }
body.works-ui.patient-lookup-page .patient-lookup-heading { padding:var(--space-3) 0; }
body.works-ui.patient-lookup-page .patient-detail-heading { padding-right:0; }
body.works-ui.patient-lookup-page :is(.patient-detail-field,.patient-detail-grid) { border-color:var(--works-line); }
body.works-ui.patient-lookup-page .patient-search-message { padding:var(--space-4) 0; font-size:var(--font-sm); }
body.works-ui .patient-search-row { align-items:end; }
body.works-ui .patient-search-row > .button { flex:none; }
body.works-ui .patient-import-manual select { height:var(--works-control-height); }
body.works-ui .patient-import-section-title,body.works-ui .treatment-section-title { font-size:var(--font-section); font-weight:500; }
body.works-ui :is(.treatment-patient-content,.treatment-diagnosis-editor,.treatment-diagnosis-view) { padding:var(--space-4) 0; border:0; border-top:1px solid var(--works-line); border-radius:0; }
body.works-ui .treatment-item-editor { padding-top:var(--space-4); }
body.works-ui .treatment-editor-heading { gap:var(--space-2); margin-bottom:var(--space-4); }
body.works-ui .treatment-editor-heading h4 { font-size:var(--font-section); }
body.works-ui .treatment-tooth-row .button { padding:0; }
body.works-ui .treatment-tooth-row .button[aria-pressed=true] { border-color:var(--works-accent); background:var(--works-selected); color:var(--works-text); }
body.works-ui .treatment-settings-workspace { gap:var(--space-5); }
body.works-ui .treatment-duration input { max-width:110px; }
body.works-ui .treatment-step-row { gap:var(--space-2); }
body.works-ui .treatment-tooth-detail select,body.works-ui #family-type { max-width:260px; }
body.works-ui .auth-account-grid { gap:var(--space-5); }
body.works-ui .auth-menu-grid label { font-size:var(--font-sm); }
body.works-ui .auth-account-grid h3 { margin:0; font-size:var(--font-section); font-weight:500; }
body.works-ui .auth-settings + .auth-settings { padding-top:var(--space-5); border-top:1px solid var(--works-line); }
body.works-ui.auth-login-page .content { display:grid; place-items:center; padding:var(--space-5); }
body.works-ui.auth-login-page .auth-login-card { width:100%; max-width:360px; padding:var(--space-5); background:transparent; }
body.works-ui.auth-login-page .page-title { font-size:var(--font-title); }
body.works-ui .revenue-summary-grid > div { border:0; border-radius:0; background:var(--works-control); }
body.works-ui .revenue-summary-grid dd { font-size:var(--font-section); }
body.works-ui .settings-section-header h2 { font-size:var(--font-section); }
body.works-ui .attachment-controls { gap:var(--space-3); }
/* A4 content keeps its original physical geometry, typography and standalone PDF styles. */
body.works-ui:is(.certificate-page,.referral-page,.holiday-notice-page) .content { display:flex; flex-direction:column; overflow:hidden; }
body.works-ui :is(.certificate-workspace,.referral-workspace,.holiday-workspace) { gap:var(--space-4); }
body.works-ui :is(.certificate-toolbar,.referral-toolbar) { margin-bottom:0; }
body.works-ui :is(.certificate-preview,.referral-preview,.holiday-preview) { border:1px solid var(--works-line); border-radius:var(--radius-panel); background:var(--works-preview-surface); }
body.works-ui :is(.certificate-preview,.referral-preview) .page { font-family:"AppleSDGothicNEO",sans-serif; font-size:16px; font-weight:400; line-height:normal; color-scheme:light; }
body.works-ui .holiday-page { line-height:normal; color-scheme:light; }
body.works-ui .holiday-input-card { padding:var(--space-4) 0; }
body.works-ui .holiday-style-grid { --works-control-height:44px; }
body.works-ui .holiday-style-grid input[type=range] { height:44px; }
body.works-ui .holiday-input-card .holiday-label { font-size:var(--font-xs); font-weight:400; }
body.works-ui :is(.certificate-toolbar,.referral-toolbar,.holiday-input-card,.referral-new-sections,.issue-table) { font-size:var(--font-base); }
body.works-ui :is(.pdf-option,.referral-pdf-option,.employee-picker > label,.patient-picker > label,.referral-chart-lookup > label) { font-size:var(--font-xs); color:var(--works-muted); }
body.works-ui .referral-toolbar .page-description { white-space:normal; }
body.works-ui .referral-controls { flex-wrap:wrap; gap:var(--space-3); overflow:visible; }
body.works-ui :is(.certificate-controls,.pdf-options,.referral-pdf-options) { flex-wrap:wrap; gap:var(--space-3); }
@media(max-width:1100px) {
 body.works-ui:not(.docs-page) .content { padding:var(--space-5); }
 body.works-ui:not(.docs-page) :is(.page-header,.certificate-toolbar,.referral-toolbar) { align-items:flex-start; flex-wrap:wrap; }
 body.works-ui .form-grid,body.works-ui .patient-import-manual .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.works-ui .auth-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 body.works-ui:not(.docs-page) .app-shell { flex-direction:column; }
 body.works-ui:not(.docs-page) .main { flex:1; height:auto; min-height:0; }
 body.works-ui:not(.docs-page) .content { padding:20px; }
 body.works-ui .works-mobile-header { display:flex; align-items:center; justify-content:space-between; flex:0 0 56px; min-height:56px; padding:0 var(--space-4); background:var(--works-page); font-size:16px; font-weight:600; }
 body.works-ui:is(.docs-page,.auth-login-page) .works-mobile-header { display:none; }
 body.works-ui .works-mobile-only { display:inline-flex; }
 body.works-ui .works-sidebar { position:fixed; inset:0 auto 0 0; z-index:100; width:min(var(--works-sidebar-width),calc(100vw - 48px)); height:100dvh; transform:translateX(-100%); visibility:hidden; transition:transform 160ms ease,visibility 160ms; }
 body.works-ui.works-menu-open .works-sidebar { transform:none; visibility:visible; }
 body.works-ui.works-menu-open .works-menu-backdrop { display:block; position:fixed; inset:0; z-index:99; border:0; background:var(--works-overlay); }
 body.works-ui:not(.docs-page) .page-title { font-size:26px; }
 body.works-ui:not(.docs-page) .page-header { min-height:0; margin-bottom:var(--space-5); }
 body.works-ui :is(.form-grid,.patient-import-manual .form-grid,.auth-account-grid,.auth-menu-grid) { grid-template-columns:minmax(0,1fr); }
 body.works-ui .form-actions { flex-wrap:wrap; }
 body.works-ui .patient-detail-heading { padding-bottom:var(--space-3); }
 body.works-ui .patient-detail-heading > .button { margin-left:0; }
 body.works-ui :is(.family-sentence,.treatment-toolbar,.revenue-summary-controls) { flex-wrap:wrap; }
 body.works-ui .family-added-patient { width:100%; }
 body.works-ui :is(.certificate-toolbar,.referral-toolbar) { flex-direction:column; }
 body.works-ui:is(.certificate-page,.referral-page,.holiday-notice-page) .content { display:block; overflow:auto; }
 body.works-ui :is(.certificate-workspace,.referral-workspace,.holiday-workspace) { min-height:100%; }
 body.works-ui :is(.certificate-preview,.referral-preview,.holiday-preview) { min-height:280px; height:360px; flex:0 0 360px; margin-top:var(--space-4); }
 body.works-ui .patient-picker { flex-wrap:wrap; }
 body.works-ui .patient-picker select { min-width:0; max-width:100%; }
 body.works-ui .settings-add-form { align-items:stretch; }
 body.works-ui .clinic-calendar-layout { overflow:auto; }
 body.works-ui .clinic-exceptions-card { flex:none; }
 body.works-ui .holiday-settings-card { flex:none; overflow:visible; }
 body.works-ui .clinic-calendar-holiday-list { max-height:50dvh; }
 body.works-ui .attachment-controls { align-items:flex-start; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { body.works-ui .works-sidebar { transition:none; } }
