/* 해독 업무실 공통 디자인. 데이터와 권한을 바꾸지 않는 화면 계층. */
/* 대표 업무실의 색상은 기존 preview-dashboard-theme.css를 그대로 따른다. */
:root:not(:has(.dashboard-shell)), html[data-theme="light"]:not(:has(.dashboard-shell)), body[data-theme="light"]:not(:has(.dashboard-shell)) {
 --v3-bg:#f3f5f6; --v3-bg-elevated:#fafbfc; --v3-panel:#fff; --v3-panel-soft:#f6f8f9; --v3-panel-strong:#edf2f4;
 --v3-line:#dce4e8; --v3-line-soft:#e7ecef; --v3-line-alpha:#183b4b14; --v3-border:#dce4e8; --v3-glass:#ffffffed;
 --v3-text:#1b2e3a; --v3-text-soft:#425965; --v3-muted:#637984; --v3-muted-2:#71838e;
 --v3-primary:#7a2f57; --v3-primary-dark:#4f1f3b; --v3-primary-soft:#f5eaf1; --v3-primary-line:#ddc2d1; --v3-accent:#7a2f57;
 --v3-good:#18734f; --v3-good-soft:#e9f5ee; --v3-warn:#976019; --v3-warn-soft:#fcf3e4; --v3-danger:#b33f4a; --v3-danger-soft:#fbeef0;
 --v3-purple:#63669c; --v3-purple-soft:#eeeef7; --v3-cyan:#4c6470; --v3-cyan-soft:#eef1f3;
 --v3-radius:16px; --v3-radius-small:10px;
 --v3-shadow:0 2px 4px #19394a03,0 12px 30px -22px #19394a35;
 --v3-shadow-hover:0 4px 8px #19394a08,0 18px 30px -20px #19394a38;
 --company-ease:cubic-bezier(.22,1,.36,1);
 color-scheme:light;
}
html[data-theme="dark"]:not(:has(.dashboard-shell)), body[data-theme="dark"]:not(:has(.dashboard-shell)) {
 --v3-bg:#101c24; --v3-bg-elevated:#14232d; --v3-panel:#1a2b35; --v3-panel-soft:#20333d; --v3-panel-strong:#273c46;
 --v3-line:#344b57; --v3-line-soft:#293f4b; --v3-line-alpha:#c4dae31c; --v3-border:#344b57; --v3-glass:#152630f2;
 --v3-text:#eaf0f3; --v3-text-soft:#bed0d9; --v3-muted:#a0b5c0; --v3-muted-2:#90a7b3;
 --v3-primary:#c77fa8; --v3-primary-dark:#e3b3cc; --v3-primary-soft:#3a2430; --v3-primary-line:#b25a88; --v3-accent:#c77fa8;
 --v3-good:#88d3ac; --v3-good-soft:#234435; --v3-warn:#e7c17e; --v3-warn-soft:#423c2c; --v3-danger:#f0a1aa; --v3-danger-soft:#442f39;
 --v3-purple:#b7b9e6; --v3-purple-soft:#33364c; --v3-cyan:#a8bcc6; --v3-cyan-soft:#2b3238;
 --v3-shadow:0 4px 8px #00000008,0 14px 30px -22px #00000055;
 --v3-shadow-hover:0 5px 20px #00000024;
 color-scheme:dark;
}
:root {
 --company-header-height:64px;
 --v3-radius:16px; --v3-radius-small:10px;
 --company-ease:cubic-bezier(.22,1,.36,1);
}
body:has(.dashboard-shell) { --v3-border:var(--v3-line); --v3-accent:var(--v3-primary); }
html { scrollbar-gutter:stable; }
body { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body, button, input, select, textarea { font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Apple SD Gothic Neo","Malgun Gothic","Segoe UI",sans-serif!important; }
button, a, summary { -webkit-tap-highlight-color:transparent; }
button, a, input, select, textarea, summary { touch-action:manipulation; }
button:not(:disabled), a[href], summary { transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s var(--company-ease); }
button:not(:disabled):active, .access-action:active { transform:translateY(1px); }
:is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--v3-primary)!important; outline-offset:3px; }
input::placeholder,textarea::placeholder { color:var(--v3-muted); opacity:1; }
input,select,textarea { accent-color:var(--v3-primary); }
.company-line-icon { width:20px; height:20px; display:inline-block; flex:none; vertical-align:middle; pointer-events:none; }
[data-ui-icon] { display:inline-flex; align-items:center; justify-content:center; }
/* 작은 패널의 header가 페이지 머리글의 위치·크기를 물려받지 않게 한다. */
body:has(.dashboard-shell) .dashboard-main header {
 position:static!important; inset:auto!important; z-index:auto!important; min-height:0!important;
 padding:0!important; margin:0 0 12px!important; background:transparent!important; box-shadow:none!important; backdrop-filter:none!important;
 border:0!important; color:var(--v3-text)!important;
}
body:has(.dashboard-shell)>header, .staff-header {
 box-shadow:0 1px 0 var(--v3-line-soft)!important; backdrop-filter:blur(16px)!important;
 background:var(--v3-glass)!important; border-bottom:1px solid var(--v3-line-soft)!important;
}
body:has(.dashboard-shell)>header { margin-bottom:0!important; }
body:has(.dashboard-shell)>header h1, .staff-header-title h1 { font-size:17px!important; font-weight:720!important; letter-spacing:-.7px; }
body:has(.dashboard-shell)>header h1:before {
 content:""; display:inline-block; width:9px; height:21px; margin-right:9px; border-radius:3px;
 background:var(--v3-primary); vertical-align:-3px; box-shadow:5px -4px 0 -1px var(--v3-primary-line);
}
body:has(.dashboard-shell)>header :is(.setup,.office-select,.logout,.refresh,#theme-toggle),
.staff-header-actions :is(a,button) { border-radius:9px!important; box-shadow:none!important; font-size:12px!important; min-height:44px!important; }
body:has(.dashboard-shell)>header .refresh { background:var(--v3-primary)!important; color:#fff!important; border-color:var(--v3-primary)!important; }
body:has(.dashboard-shell)>header .meta { font-size:10px!important; }
body:has(.dashboard-shell)>header .host { color:var(--v3-muted)!important; }
body[data-theme="dark"]>header .refresh { background:#24786c!important; border-color:#468d80!important; }
.staff-header-title>div>span { font-size:10px; letter-spacing:.02em; }
/* 같은 위치와 아이콘을 사용하는 두 업무실의 왼쪽 메뉴. */
body .section-nav-sidebar, body .staff-sidebar {
 --v3-text:#edf4f7; --v3-text-soft:#c3d4dd; --v3-muted:#a1b7c4; --v3-muted-2:#94adba;
 --v3-panel:#214351; --v3-panel-soft:#24424f; --v3-line:#36515f; --v3-line-soft:#414347;
 --v3-primary:#c77fa8; --v3-primary-dark:#e3b3cc; --v3-primary-soft:#3a2430; --v3-primary-line:#b25a88;
 background:var(--v3-panel)!important; border-right:1px solid var(--v3-line)!important; color:var(--v3-text)!important; backdrop-filter:none!important;
 top:var(--company-header-height,64px)!important; height:calc(100dvh - var(--company-header-height,64px))!important;
}
body .section-nav-title strong, .staff-brand strong { font-size:13px!important; font-weight:650!important; letter-spacing:.02em; }
body .section-nav-head { background:transparent!important; }
body .section-nav-title span, .staff-brand span { font-size:10px!important; color:#a8bfcb!important; line-height:1.6; }
body .section-nav-collapse, .staff-nav-collapse { border-radius:8px!important; box-shadow:none!important; background:#244351!important; color:#cde0e8!important; border-color:#3b5664!important; }
body .section-nav-button,.staff-nav button { border-radius:8px!important; min-height:44px!important; font-size:12px!important; font-weight:500; }
body .section-nav-button.active,.staff-nav button[aria-pressed="true"] {
 color:#d4f4e9!important; border-color:#487570!important; background:#2b5053!important; box-shadow:inset 3px 0 #9bd8c5!important; font-weight:650!important;
}
body .section-nav-button:hover,.staff-nav button:hover { background:#244553!important; border-color:#365f6b!important; }
body .section-nav-icon,.staff-nav-icon { display:grid; place-items:center; width:22px; height:22px; }
body .section-nav-short,.staff-nav-short { color:inherit; }
body .v3-nav-group[data-nav-group="more"] { border-top-color:#36515f!important; }
body .section-nav-sidebar .v3-nav-group-title { color:#9bb4c1!important; }
/* 경영 메뉴는 새 배치를 유지하면서 기존 중립 배경과 파란 선택색을 사용한다. */
body:has(.dashboard-shell) .section-nav-sidebar {
 --v3-text:inherit; --v3-text-soft:inherit; --v3-muted:inherit; --v3-muted-2:inherit;
 --v3-panel:inherit; --v3-panel-soft:inherit; --v3-line:inherit; --v3-line-soft:inherit;
 --v3-primary:inherit; --v3-primary-dark:inherit; --v3-primary-soft:inherit; --v3-primary-line:inherit;
 background:var(--v3-glass)!important; border-right-color:var(--v3-line-soft)!important; color:var(--v3-text)!important;
}
body:has(.dashboard-shell) :is(.section-nav-title span,.section-nav-sidebar .v3-nav-group-title) { color:var(--v3-muted)!important; }
body:has(.dashboard-shell) .section-nav-collapse {
 background:var(--v3-panel)!important; color:var(--v3-text)!important; border-color:var(--v3-line)!important;
}
body:has(.dashboard-shell) .section-nav-button:hover { background:var(--v3-panel-soft)!important; border-color:var(--v3-line)!important; }
body:has(.dashboard-shell) .section-nav-button.active {
 color:var(--v3-primary-dark)!important; border-color:var(--v3-primary-line)!important;
 background:var(--v3-primary-soft)!important; box-shadow:inset 3px 0 var(--v3-primary)!important;
}
body:has(.dashboard-shell) .v3-nav-group[data-nav-group="more"] { border-top-color:var(--v3-line)!important; }
.staff-user { color:#e1ebef; }
.staff-user button { background:#244351; border-radius:8px; color:#d3e3ea; }
body .dashboard-main { padding:24px 28px 36px!important; }
.staff-main { padding:26px 30px 36px; }
.dashboard-area { min-width:0; }
body .dashboard-section-title { margin:0 0 22px!important; padding:0 0 16px!important; border-bottom:1px solid var(--v3-line)!important; background:transparent!important; }
body .dashboard-section-title>strong { font-size:26px!important; letter-spacing:-1px; line-height:1.3; font-weight:730; }
body .dashboard-section-title>span { margin-top:8px; font-size:12px!important; line-height:1.7; color:var(--v3-muted)!important; max-width:850px; }
body .dashboard-section-title { flex-direction:column!important; align-items:flex-start!important; gap:0!important; }
body .dashboard-main h2::after { display:none!important; }
body .dashboard-main h2 { color:var(--v3-text)!important; }
body .dashboard-main :is(button,summary) { min-height:44px!important; }
body .dashboard-main :is(input:not([type="checkbox"]):not([type="radio"]),select) { min-height:44px; }
.staff-top h2 { font-size:27px; letter-spacing:-1px; }
.staff-top p { font-size:12px; line-height:1.7; }
.staff-top { padding-bottom:16px; border-bottom:1px solid var(--v3-line); }
.staff-status { font-size:11px; border-radius:6px; padding:5px 8px; }
.staff-privacy-note,.staff-preview-note { border-radius:8px; padding:9px 12px; font-size:11px; }
/* 화면별 카드를 공통 재질로 맞추고 상세 정보는 표와 접기 안에 둔다. */
body :is(.research-card,.company-highlights article,.v3-card,.v3-priority-card,.v3-service-card,.usage-account,.usage-card,.fleet-machine,.quick-screen-launcher,.staff-stat,.staff-panel,.staff-card,.staff-owner-board,.expert-card,.video-card,.calendar-panel,.workflow-summary,.office-panel,.ops-detail,.ops-summary-grid article) {
 border-color:var(--v3-line)!important; border-radius:14px!important; box-shadow:var(--v3-shadow)!important;
}
body :is(#company-research,#company-brief,#company-api-settings,#company-api-reports,#company-service-operations,.office-floor) {
 border:1px solid var(--v3-line)!important; border-radius:16px!important; box-shadow:var(--v3-shadow); background:var(--v3-panel)!important;
 padding:20px!important;
}
body :is(.research-head,.company-brief-head,.ops-heading) { margin-bottom:16px; }
body :is(.research-head,.company-brief-head,.ops-heading) h2,body .ops-heading h3 { font-size:19px!important; letter-spacing:-.6px; }
.research-head p,.company-brief-head p,.ops-heading p { margin:5px 0 0!important; font-size:12px!important; }
body .research-card { background:var(--v3-panel-soft)!important; }
body .research-card h3 { font-size:15px; letter-spacing:-.3px; }
body .research-excerpt { line-height:1.8; }
body .company-highlights article { padding:16px; border:1px solid var(--v3-line-soft)!important; background:var(--v3-panel-soft); }
body .company-highlights h3 { font-size:14px; }
body .company-highlights p { font-size:13px; line-height:1.75; }
.staff-cards { gap:12px; }
.staff-stat { padding:18px; position:relative; overflow:hidden; }
.staff-stat:before { content:""; width:26px; height:3px; background:var(--v3-primary-line); position:absolute; top:0; left:18px; }
.staff-stat b { font-size:30px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-1px; margin-bottom:8px; }
.staff-stat span { font-size:11px; }
.staff-panel h2 { font-size:17px; letter-spacing:-.5px; }
.staff-panel h3 { font-size:16px; }
.staff-panel ol { padding-left:23px; }
.staff-panel ol li { padding:7px 0 7px 4px; }
.staff-panel ol li::marker { color:var(--v3-primary); font-weight:700; }
.staff-list button,.staff-list-card { border-radius:9px; background:var(--v3-panel); }
.staff-list button.is-selected { box-shadow:inset 3px 0 var(--v3-primary); border-color:var(--v3-primary-line); }
.staff-empty,.ops-empty { text-align:center; padding:30px 18px; border:1px dashed var(--v3-line); border-radius:12px; color:var(--v3-muted); background:var(--v3-panel-soft); line-height:1.8; }
.staff-empty:before { content:""; display:block; width:26px; height:22px; border:1.5px solid var(--v3-muted-2); border-top:4px solid var(--v3-primary-line); border-radius:5px; margin:0 auto 12px; }
.staff-reading { font-size:14px; line-height:1.9; }
.staff-source { font-size:11px; line-height:1.8; }
.staff-actions button,.staff-primary,.staff-owner-board button,.office-controls>button { border-radius:8px; }
.staff-primary,.staff-actions button.primary { background:#7a2f57; border-color:#7a2f57; color:#fff; }
.company-ops .ops-summary-grid { gap:12px; }
.ops-summary-grid article { padding:17px; }
.ops-summary-grid h4 { font-size:15px; letter-spacing:-.4px; margin-bottom:10px; }
.ops-summary-grid dd { font-variant-numeric:tabular-nums; }
.ops-summary-grid dl>div { padding:7px 0; font-size:12px; }
.ops-badge,.staff-badge { border-radius:5px; font-size:11px; }
.ops-note { padding:10px 12px; font-size:12px; line-height:1.7; }
.company-ops details { border:1px solid var(--v3-line); border-radius:10px; background:var(--v3-panel); margin:10px 0; padding:0 14px; }
.company-ops details>summary { gap:10px; min-height:48px; padding:10px 0; font-size:13px; list-style:none; }
.company-ops details>summary:after { content:"+"; margin-left:auto; color:var(--v3-muted); font-size:20px; font-weight:400; }
.company-ops details[open]>summary { border-bottom:1px solid var(--v3-line-soft); margin-bottom:12px; }
.company-ops details[open]>summary:after { content:"−"; }
.company-ops details>summary::-webkit-details-marker { display:none; }
.ops-result-form { gap:14px; padding:16px; background:var(--v3-panel-soft); border:1px solid var(--v3-line-soft); border-radius:9px; }
.ops-result-form label,.ops-filters label { font-size:12px; font-weight:550; }
.company-ops :is(input,select,textarea) { font-size:13px; min-width:0; border-radius:8px; }
.ops-business-tabs { display:flex; gap:4px; padding:5px; background:var(--v3-panel-soft); border:1px solid var(--v3-line); border-radius:10px; }
.ops-business-tabs button { background:transparent; border:0; border-radius:7px; flex:1; white-space:nowrap; padding:8px 10px; font-size:12px; }
.ops-business-tabs button[aria-pressed="true"] { background:var(--v3-panel); box-shadow:var(--v3-shadow); color:var(--v3-primary); font-weight:700; }
/* AI 사무실: 가벼운 책상 도식과 명확한 상태·선택. */
#company-office h2 { font-size:28px; letter-spacing:-1px; }
#company-office .office-heading { margin:0 0 20px; }
#company-office .office-eyebrow { color:var(--v3-primary); font-size:10px; letter-spacing:.05em; }
#company-office .office-heading p { font-size:12px; }
.office-overview { border-radius:10px; box-shadow:none; padding:12px 16px; }
.office-overview b { font-size:24px; font-weight:600; letter-spacing:-.8px; }
.office-floor { background-image:none!important; }
.office-chief-zone { border-radius:12px!important; background:var(--v3-panel-soft)!important; border-color:var(--v3-line)!important; }
.office-corridor { margin:18px 0 14px; }
.office-team h3 { font-size:13px!important; margin-bottom:10px!important; }
.office-desk { border-radius:11px!important; background:var(--v3-panel)!important; border-color:var(--v3-line)!important; box-shadow:0 2px 4px #183b4b05!important; }
.office-desk.is-selected { border-color:var(--v3-primary)!important; background:var(--v3-primary-soft)!important; box-shadow:0 0 0 1px var(--v3-primary)!important; }
.office-desk-art { height:66px!important; opacity:.9; }
.office-nameplate strong { font-size:15px!important; }
.office-desk-copy { font-size:12px!important; line-height:1.6!important; }
.office-panel { overflow:hidden; }
.office-panel-head { background:var(--v3-panel-soft)!important; border-bottom:1px solid var(--v3-line); }
.office-avatar { border-radius:10px!important; background:var(--v3-primary-soft)!important; color:var(--v3-primary)!important; }
.office-panel-tabs { border-radius:8px; padding:4px; }
.office-panel-tabs button { border-radius:6px; font-size:12px!important; padding-inline:10px; }
.office-report-card,.office-chief-report { border-radius:9px!important; }
.office-primary { background:#7a2f57!important; color:#fff!important; border-color:#7a2f57!important; border-radius:8px!important; }
.office-chat-message { border-radius:12px!important; }
.office-report-body,.office-chat-body { line-height:1.85!important; }
.office-controls { flex-wrap:wrap; }
.office-controls>* { flex:0 0 auto; }
.office-controls button,.office-controls a { white-space:nowrap; }
.office-controls .office-view-switch button { padding-inline:12px; }
.office-controls .staff-activity-top-link { font-size:12px; }
body #company-office>.office-layout { margin-block:14px; }
body[data-theme="dark"] .access-login button { background:#24786c; color:#fff; }
/* 전문가 검토와 콘텐츠 제작은 단계와 입력 영역을 나누어 읽는다. */
body #expert-assistant-root .expert-panel { padding:20px; background:var(--v3-panel)!important; border:1px solid var(--v3-line)!important; border-radius:14px!important; box-shadow:var(--v3-shadow); }
body #expert-assistant-root .expert-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }
body #expert-assistant-root .expert-card { min-height:0!important; padding:14px!important; background:var(--v3-panel-soft)!important; }
body #expert-assistant-root .expert-card-head strong { font-size:14px!important; color:var(--v3-text)!important; }
body #expert-assistant-root :is(.expert-form,.expert-recent) { padding:16px; background:var(--v3-panel)!important; border:1px solid var(--v3-line)!important; border-radius:10px; }
body #expert-assistant-root .expert-form { background:var(--v3-panel-soft)!important; }
body #expert-assistant-root .expert-evaluation-notice { color:var(--v3-warn)!important; }
body #expert-assistant-root .expert-safety { color:var(--v3-muted)!important; font-size:12px; }
body #expert-assistant-root .expert-job { padding:14px; border-bottom:1px solid var(--v3-line-soft); }
body #expert-assistant-root .expert-submit { background:#7a2f57!important; color:#fff!important; border-color:#7a2f57!important; }
body:has(.dashboard-shell) :is(.office-primary,#expert-assistant-root .expert-submit),
body:has(.dashboard-shell)>header .refresh {
 background:var(--v3-primary)!important; color:#fff!important; border-color:var(--v3-primary)!important;
}
/* 작업방·진행·장비·일정도 같은 정보 위계를 사용한다. */
body .quick-screen-launcher { padding:20px; }
body .quick-screen-launcher-head h2 { font-size:23px; letter-spacing:-.8px; }
body .quick-screen-group { border-radius:10px; padding:13px; background:var(--v3-panel-soft); }
body .quick-screen-item { border-radius:8px; }
body .service-switch-button { border-radius:8px!important; min-height:44px!important; }
body #list .card { border-radius:14px!important; border-color:var(--v3-line)!important; box-shadow:var(--v3-shadow)!important; }
body .fleet-machine { border-top-width:3px; }
body .fleet-machine-head h3 { font-size:22px; letter-spacing:-.6px; }
body .fleet-metric strong { font-size:25px; font-weight:600; }
body .provider-limit-bar { height:6px; }
body .provider-limit-bar>span { background:var(--v3-primary); }
body .usage-account { padding:18px!important; }
body .modal-box { border-radius:16px!important; border:1px solid var(--v3-line)!important; box-shadow:0 25px 70px #07192335!important; }
body .modal-head { border-bottom:1px solid var(--v3-line); }
body .dashboard-main table th { color:var(--v3-muted); font-weight:600; }
body .dashboard-main :is(td,th) { border-color:var(--v3-line-soft); }
body .dashboard-main :is(input,select,textarea) { max-width:100%; }
/* PIN과 별도 연결 화면도 동일한 시작 화면을 사용한다. */
body.company-pin-body { background:var(--v3-bg); color:var(--v3-text); }
.company-pin-body .box { width:min(100%,400px); padding:30px; background:var(--v3-panel); border:1px solid var(--v3-line); border-radius:18px; box-shadow:var(--v3-shadow); }
.company-pin-body h1 { font-size:26px; letter-spacing:-1px; margin:10px 0; }
.company-pin-body p { color:var(--v3-muted); line-height:1.8; }
.company-pin-body input:not([type="hidden"]) { background:var(--v3-panel-soft); color:var(--v3-text); border-color:var(--v3-line); }
.company-pin-body button { background:#7a2f57; color:#fff; }
.company-pin-body .back { color:var(--v3-primary); font-size:12px; }
body.company-setup-body { background:var(--v3-bg); color:var(--v3-text); }
.company-setup-body .wrap { max-width:880px; padding:30px 20px; }
.company-setup-body :is(.card,.box) { background:var(--v3-panel); border:1px solid var(--v3-line); border-radius:14px; box-shadow:var(--v3-shadow); padding:20px; }
.company-setup-body .box :is(p,li),.company-setup-body label,.company-setup-body .muted { color:var(--v3-muted); }
.company-setup-body .box h2 { color:var(--v3-text); }
.company-setup-body .channel { background:var(--v3-panel-soft); }
.company-setup-body .good { color:var(--v3-good); }
.company-setup-body .warning { color:var(--v3-warn); }
.company-setup-body .bad { color:var(--v3-danger); }
.company-setup-body .back { min-height:44px; display:inline-flex; align-items:center; border-color:var(--v3-line); color:var(--v3-primary); }
.company-setup-body :is(input,select,textarea) { background:var(--v3-panel-soft); color:var(--v3-text); border-color:var(--v3-line); border-radius:8px; }
.company-setup-body button { min-height:44px; border-radius:8px; background:#7a2f57; color:#fff; }
/* 짧은 움직임으로 선택 결과를 알리며, 업무 내용을 기다리게 하지 않습니다. */
@keyframes company-enter { from { opacity:.55; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes company-surface { from { opacity:.6; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) {
 .access-intro { animation:company-enter .55s var(--company-ease) both; }
 .access-grid { animation:company-enter .55s .08s var(--company-ease) both; }
 .access-login { animation:company-enter .5s .12s var(--company-ease) both; }
 .dashboard-area.active { animation:company-enter .28s var(--company-ease); }
 .staff-content,.office-panel-body { animation:company-surface .25s var(--company-ease); }
 .modal:not([hidden])>.modal-box { animation:company-enter .22s var(--company-ease); }
 .access-action:after { transition:transform .18s var(--company-ease); }
 .access-action:hover:after { transform:translate(2px,-2px); }
}
@media(hover:hover) and (pointer:fine) {
 .access-card { transition:transform .24s var(--company-ease),box-shadow .24s ease; }
 .access-card:hover { transform:translateY(-3px); box-shadow:0 15px 28px -16px #17384940; }
 .office-desk:hover { transform:translateY(-2px); }
}
@media(max-width:1199px) {
 body .dashboard-main { padding:22px!important; }
 .staff-main { padding:22px; }
}
@media(max-width:899px) {
 body #expert-assistant-root .expert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body .dashboard-main { padding:20px 16px 28px!important; }
 .staff-main { padding:20px 16px 28px; }
 body .section-nav-sidebar,body .staff-sidebar { top:var(--company-header-height,64px)!important; height:calc(100dvh - var(--company-header-height,64px))!important; }
 body .section-nav-icon,.staff-nav-icon { width:20px; height:20px; }
 body .section-nav-short,.staff-nav-short { font-size:10px!important; line-height:1.3; }
 body .dashboard-section-title>strong,.staff-top h2 { font-size:23px!important; }
 body :is(#company-research,#company-brief,#company-api-settings,#company-api-reports,#company-service-operations,.office-floor) { padding:16px!important; }
 .staff-top { gap:10px; }
 .staff-status { white-space:normal; max-width:140px; }
 .ops-business-tabs { gap:3px; }
 .ops-business-tabs button { flex:1 1 28%; padding-inline:6px; }
 body .fleet-compact :is(button,summary) { min-height:44px; }
 body #company-api-settings summary,body #company-api-reports summary { min-height:44px; }
}
@media(max-width:600px) {
 .company-setup-body .wrap { padding:16px 0; }
 #company-office .office-heading { gap:12px; margin-bottom:12px; }
 .office-controls { justify-content:flex-start; gap:7px; }
 .office-controls :is(button,a) { font-size:11px!important; padding-inline:10px!important; }
 .office-controls .office-view-switch { padding:3px; }
 .company-api-balance { padding:12px; margin:10px 0; }
 .company-api-balance-summary { gap:4px; }
 .company-api-balance-summary>div { gap:4px 8px; }
 .company-api-balance-summary span { font-size:10px; }
 .company-api-balance details { margin-top:0; }
 .office-setup { margin:10px 0; padding:0 12px; }
 body #expert-assistant-root .expert-panel { padding:12px; }
 body #expert-assistant-root .expert-grid { grid-template-columns:1fr; }
 html { scrollbar-gutter:auto; }
 body .dashboard-main { padding:18px 12px 26px!important; }
 .staff-main { padding:18px 12px 26px; }
 body:has(.dashboard-shell)>header { gap:7px!important; padding:8px 12px!important; }
 body:has(.dashboard-shell)>header h1 { font-size:16px!important; }
 body:has(.dashboard-shell)>header .meta { display:none!important; }
 body:has(.dashboard-shell)>header :is(.setup,.logout) { display:none!important; }
 body:has(.dashboard-shell)>header :is(.office-select,.refresh,#theme-toggle) { padding:0 10px!important; font-size:11px!important; min-height:44px!important; }
 body .dashboard-section-title { margin-bottom:16px!important; padding-bottom:12px!important; }
 body .dashboard-section-title>strong { font-size:22px!important; }
 body .dashboard-section-title>span { font-size:11px!important; }
 body :is(#company-research,#company-brief,#company-api-settings,#company-api-reports,#company-service-operations,.office-floor) { padding:13px!important; border-radius:12px!important; }
 .staff-top { display:block; }
 .staff-status { display:inline-block; margin-top:10px; max-width:none; }
 .staff-cards { gap:9px; }
 .staff-stat { padding:14px; }
 .staff-stat b { font-size:26px; }
 .staff-panel { padding:15px; }
 .staff-panel h2 { font-size:16px; }
 .staff-top h2 { font-size:23px; }
 .staff-reading { font-size:13px; }
 .company-ops details { padding:0 10px; }
 .ops-result-form { padding:12px; }
 .ops-heading h3 { font-size:17px!important; }
 .office-desk-art { height:52px!important; }
 #company-office h2 { font-size:25px; }
 .office-overview { gap:8px 14px; padding:12px; }
 .office-overview b { font-size:21px; }
 .office-overview>span { font-size:11px; }
 .office-overview small { width:100%; margin:0; }
 .office-panel-tabs { flex-wrap:wrap; }
 .office-panel-tabs button { flex:1 1 28%; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* 업무실 개편: 대표 화면의 중립 바탕을 재사용하고 직원의 선택색만 기존 녹색으로 구분한다. */
body.office-entry, body.office-entry[data-theme="light"], body.company-staff-body[data-theme="light"] {
 --v3-bg:#f5f5f7; --v3-bg-elevated:#fbfbfd; --v3-panel:#fff; --v3-panel-soft:#f6f6f8;
 --v3-line:#d9d9de; --v3-line-soft:#e8e8ed; --v3-border:#d9d9de; --v3-glass:#fbfbfdf2;
 --v3-text:#1d1d1f; --v3-text-soft:#424245; --v3-muted:#6e6e73;
 --v3-shadow:none; --v3-shadow-hover:none;
}
html[data-theme="dark"] body.office-entry, body.company-staff-body[data-theme="dark"] {
 --v3-bg:#101013; --v3-bg-elevated:#161618; --v3-panel:#1c1c1e; --v3-panel-soft:#242427;
 --v3-line:#3a3a3e; --v3-line-soft:#2c2c30; --v3-border:#3a3a3e; --v3-glass:#161618f2;
 --v3-text:#f5f5f7; --v3-text-soft:#d1d1d6; --v3-muted:#a1a1a6;
}
body.company-staff-body .staff-sidebar {
 --v3-text:inherit; --v3-text-soft:inherit; --v3-muted:inherit; --v3-muted-2:inherit;
 --v3-panel:inherit; --v3-panel-soft:inherit; --v3-line:inherit; --v3-line-soft:inherit;
 --v3-primary:inherit; --v3-primary-dark:inherit; --v3-primary-soft:inherit; --v3-primary-line:inherit;
 background:var(--v3-glass)!important; border-right-color:var(--v3-line-soft)!important; color:var(--v3-text)!important;
}
body.company-staff-body .staff-brand span { color:var(--v3-muted)!important; font-size:12px!important; }
body.company-staff-body .staff-header-title h1:before { content:""; display:inline-block; width:5px; height:19px; background:var(--v3-primary); border-radius:2px; margin-right:9px; vertical-align:-3px; }
body.company-staff-body .staff-header-title>div>span { font-size:11px; }
body.company-staff-body .staff-nav-collapse, body.company-staff-body .staff-user button { background:var(--v3-panel)!important; border-color:var(--v3-line)!important; color:var(--v3-text)!important; }
body.company-staff-body .staff-user { color:var(--v3-text); }
body.company-staff-body .staff-nav button { font-size:14px!important; min-height:46px!important; }
body.company-staff-body .staff-nav button:hover { background:var(--v3-panel-soft)!important; border-color:var(--v3-line)!important; }
body.company-staff-body .staff-nav button[aria-pressed="true"] { background:var(--v3-primary-soft)!important; color:var(--v3-primary-dark)!important; border-color:var(--v3-primary-line)!important; box-shadow:inset 3px 0 var(--v3-primary)!important; }
body.company-staff-body .staff-top { margin-bottom:24px; padding-bottom:20px; }
body.company-staff-body .staff-top h2 { font-size:28px; }
body.company-staff-body .staff-top p { font-size:14px; }
body.company-staff-body .staff-status { background:var(--v3-primary-soft); color:var(--v3-primary-dark); font-size:12px; }
body.company-staff-body :is(.staff-panel,.staff-stat,.staff-card) { border-radius:12px!important; box-shadow:none!important; }
body.company-staff-body .staff-panel { padding:22px; }
body.company-staff-body :is(.staff-muted,.staff-reading,.staff-source,.staff-list button,.staff-list-card) { font-size:14px; line-height:1.7; }
body.company-staff-body :is(input,select,textarea) { max-width:100%; font-size:16px; }
body.company-staff-body :is(.staff-list-card,.staff-panel,.staff-top,.ops-case-button,.ops-recent-text) { overflow-wrap:anywhere; }
body.company-staff-body .staff-home-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:22px; align-items:start; }
body.company-staff-body .staff-inbox-panel { min-height:310px; }
body.company-staff-body .staff-inbox-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; border-top:1px solid var(--v3-line-soft); padding-top:18px; margin-top:20px; }
body.company-staff-body .staff-inbox-actions>span { font-size:12px; color:var(--v3-muted); }
body.company-staff-body .staff-primary { min-height:44px; border-radius:8px; padding:10px 14px; }
body.company-staff-body .staff-inbox-actions .staff-primary { display:inline-flex; gap:22px; justify-content:space-between; }
body.company-staff-body .staff-next-list { display:grid; }
body.company-staff-body .staff-next-list button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:15px 0; min-height:66px; border:0; border-bottom:1px solid var(--v3-line-soft); border-radius:0; background:transparent; color:var(--v3-text); text-align:left; }
body.company-staff-body .staff-next-list button:hover { color:var(--v3-primary); background:var(--v3-panel-soft); }
body.company-staff-body .staff-next-list strong, body.company-staff-body .staff-next-list small { display:block; }
body.company-staff-body .staff-next-list strong { font-size:15px; }
body.company-staff-body .staff-next-list small { font-size:13px; color:var(--v3-muted); margin-top:4px; }
body.company-staff-body .staff-next-panel>.staff-muted { font-size:12px; margin:16px 0 0; }
body.company-staff-body .staff-scope-strip { display:flex; align-items:baseline; flex-wrap:wrap; gap:14px; padding:22px 0; font-size:13px; }
body.company-staff-body .staff-scope-strip>div { display:flex; flex-wrap:wrap; gap:8px; }
body.company-staff-body .staff-scope-strip span { color:var(--v3-text-soft); border:1px solid var(--v3-line); border-radius:6px; padding:3px 9px; background:var(--v3-panel); }
body.company-staff-body .staff-start-guide { border-top:1px solid var(--v3-line); padding:4px 0 12px; color:var(--v3-muted); font-size:13px; }
body.company-staff-body .staff-start-guide summary { min-height:44px; align-content:center; color:var(--v3-text-soft); cursor:pointer; }
body.company-staff-body .staff-start-guide li { padding:5px 0; }
body.company-staff-body .staff-workspace-note { max-width:1380px; margin:24px auto 0; border-top:1px solid var(--v3-line-soft); padding-top:14px; color:var(--v3-muted); font-size:12px; line-height:1.8; }
body.company-staff-body .staff-fetch-state { min-height:200px; }
body.company-staff-body .staff-fetch-state p { color:var(--v3-muted); }
body.company-staff-body #staff-recent-cases .ops-heading { flex-wrap:wrap; gap:12px; }
body.company-staff-body #staff-recent-cases h4 { font-size:18px; margin:0; }
body.company-staff-body #staff-recent-cases .ops-heading p { font-size:13px!important; line-height:1.7; }
body.company-staff-body #staff-recent-cases .ops-empty { border:0; border-radius:8px; padding:34px 18px; font-size:14px; }
body.company-staff-body #staff-recent-cases .ops-recent-list button { padding:16px 12px; }
body.company-staff-body #staff-recent-cases .ops-recent-text { font-size:15px; line-height:1.65; }
@media(max-width:1100px) {
 body.company-staff-body .staff-home-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
 body.company-staff-body .staff-main { padding:20px 14px 28px; }
 body.company-staff-body .staff-top { padding-bottom:16px; margin-bottom:18px; }
 body.company-staff-body .staff-top h2 { font-size:25px; }
 body.company-staff-body .staff-top p { font-size:13px; }
 body.company-staff-body .staff-panel { padding:16px; }
 body.company-staff-body .staff-inbox-panel { min-height:0; }
 body.company-staff-body .staff-inbox-actions { gap:8px; }
 body.company-staff-body .staff-inbox-actions .staff-primary { width:100%; }
 body.company-staff-body .staff-scope-strip { gap:10px; }
 body.company-staff-body .staff-nav button { font-size:12px!important; }
 body.company-staff-body .staff-start-guide ol { padding-left:20px; }
 body.company-staff-body #staff-recent-cases .ops-heading { display:block; }
 body.company-staff-body #staff-recent-cases [data-notify-permission] { margin-top:12px; }
}

/* 한글 단어를 가능하면 함께 줄바꿈한다. 긴 계정·서비스명은 넘치지 않게 끊는다. */
#access-welcome :is(h1,h2,p,a), body.company-staff-body :is(p,small,.staff-muted,.ops-recent-text,.staff-top) { word-break:keep-all; overflow-wrap:anywhere; }

@media(max-width:599px) {
 body.company-staff-body .ops-filters>label:first-child,
 body.company-staff-body .ops-filters>label:nth-child(3) { grid-column:1 / -1; }
}
body.company-staff-body #staff-recent-cases .ops-recent-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.company-staff-body .staff-home-grid + .staff-start-guide { margin-top:22px; }
body.company-staff-body a.staff-primary { text-decoration:none; }
