/* 대표 업무실에서 정한 공통 부품. 모든 내부 화면이 이 파일을 마지막에 읽는다. */
@font-face { font-family:"Pretendard Office"; src:url('/assets/office/pretendard-variable.woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
body.workspace-system.workspace-system {
 --ws-page-size:28px; --ws-section-size:20px; --ws-body-size:15px; --ws-caption-size:13px; --ws-radius:8px;
 --v3-bg:#f6f4f5; --v3-panel:#fff; --v3-panel-soft:#faf7f9; --v3-panel-strong:#f2ecef;
 --v3-line:#e6e3e5; --v3-line-soft:#efeced; --v3-text:#2c3034; --v3-text-soft:#4a4448; --v3-muted:#6b6167; --v3-muted-2:#6b6167;
 /* 2026-09-25 대표 확정. 와인 #7A2F57은 흰 글자 대비 8.85:1이라 로고·선택·주요 버튼에 함께 쓴다. */
 --brand-wine:#7a2f57; --ws-action:#7a2f57; --ws-action-hover:#4f1f3b; --brand-plate:#ffffff;
 --v3-primary:#7a2f57; --v3-primary-dark:#4f1f3b; --v3-primary-soft:#f5eaf1; --v3-primary-line:#ddc2d1;
 /* 호박은 '지금 바로 처리 가능' 묶음 표시에만 쓴다. 배지·넓은 면·일반 버튼에는 쓰지 않는다. */
 --ws-ready:#e0a512; --ws-ready-ink:#2c3034; --ws-role-staff:#b25a88;
 /* 경고·오류·성공은 브랜드색과 분리해 유지한다. */
 --ws-attention:#95520d; --ws-attention-soft:#fdf3e6; --ws-attention-line:#e6c79b;
 --v3-shadow:none; --v3-shadow-hover:none; --v3-radius:var(--ws-radius);
 font-family:"Pretendard Office",Pretendard,-apple-system,BlinkMacSystemFont,sans-serif!important; font-size:var(--ws-body-size); line-height:1.65; background:var(--v3-bg)!important; color:var(--v3-text);
}
html[data-theme="dark"] body.workspace-system,body.workspace-system[data-theme="dark"] {
 --v3-bg:#1b1d1f; --v3-panel:#24262a; --v3-panel-soft:#2a2c30; --v3-panel-strong:#33353a;
 --v3-line:#414347; --v3-line-soft:#36383c; --v3-text:#eceaeb; --v3-text-soft:#cfcacd; --v3-muted:#b3adb0; --v3-muted-2:#b3adb0;
 /* 어두운 화면에서 와인 원본은 보이지 않으므로 밝은 변형을 쓴다. 버튼 면은 흰 글자 7.28:1의 #8E3765다. */
 --brand-wine:#c77fa8; --ws-action:#8e3765; --ws-action-hover:#a9497a;
 --v3-primary:#c77fa8; --v3-primary-dark:#e3b3cc; --v3-primary-soft:#3a2430; --v3-primary-line:#b25a88;
 --ws-attention:#f7c788; --ws-attention-soft:#3a2b18; --ws-attention-line:#7a5a2c; --ws-role-staff:#e3b3cc;
}
body.workspace-system :is(button,input,select,textarea) { font-family:inherit!important; }
body.workspace-system :is(button,.access-action,.staff-office-select,.back) { border-radius:var(--ws-radius)!important; }
body.workspace-system :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius:var(--ws-radius)!important; font-size:15px; border-color:var(--v3-line); }
body.workspace-system :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid var(--v3-primary)!important; outline-offset:3px; }
body.workspace-system :is(.staff-primary,.staff-actions button.primary,.access-login button,.company-pin-body button),body.workspace-system.company-pin-body button,body.workspace-system.company-setup-body button:not(.secondary) { background:var(--ws-action)!important; border-color:var(--ws-action)!important; color:#fff!important; }
body.workspace-system :is(.staff-header,header:not(.access-heading):not(.executive-heading)) { backdrop-filter:none; }
/* 같은 제목선과 본문 폭을 유지한다. */
body.workspace-system :is(.staff-main,.dashboard-main) { padding:32px clamp(24px,3vw,48px) 48px!important; }
body.workspace-system :is(.staff-top,.staff-content,.dashboard-area) { max-width:1440px; }
body.workspace-system :is(.staff-top,.owner-page-heading) { padding:0 0 24px!important; margin:0 0 24px!important; border-bottom:1px solid var(--v3-line); }
body.workspace-system .staff-top { align-items:flex-start; flex-wrap:wrap; gap:12px; }
body.workspace-system :is(.staff-top h2,.owner-page-heading h2,.top h1,.executive-heading h1) { font-size:var(--ws-page-size)!important; line-height:1.35!important; font-weight:730; letter-spacing:-.8px; margin:0 0 10px!important; }
body.workspace-system :is(.staff-top p,.owner-page-heading p) { font-size:15px!important; line-height:1.7; margin:0!important; color:var(--v3-muted); }
body.workspace-system .staff-main :is(p,li,label,input,select,textarea,td,th) { font-size:15px!important; line-height:1.7; }
body.workspace-system .staff-main :is(h2,h3,.ops-heading h3) { font-size:20px!important; line-height:1.45; letter-spacing:-.4px; }
body.workspace-system .staff-main .staff-top h2 { font-size:var(--ws-page-size)!important; }
body.workspace-system .staff-main :is(small,time,.staff-muted,.staff-source,.staff-badge,.staff-status,.staff-stat span,[class*="-meta"],[class*="-note"]) { font-size:13px!important; line-height:1.6; }
body.workspace-system .staff-main :is(button,summary) { font-size:14px!important; line-height:1.55; }
body.workspace-system :is(.staff-stat,.staff-card,.staff-panel,.staff-owner-board,.staff-login,.staff-fetch-state,.ops-detail,.ops-summary-grid article,.ops-recent-cases,.ops-recent-list,.research-card,.v3-card,.v3-priority-card,.v3-service-card,.quick-screen-launcher,.quick-screen-group,.usage-card,.usage-account,.fleet-machine,.office-panel,.office-floor,.expert-card,.expert-panel,.expert-form,.expert-recent,.video-card,.video-panel,.market-hero,.market-detail,.market-row,.market-filters,.market-account-picker,.market-routing,.calendar-panel,.calendar-detail,.operations-dashboard-card,.service-switch,.executive-card) { border-radius:var(--ws-radius)!important; box-shadow:none!important; background:var(--v3-panel); }
body.workspace-system :is(.staff-stat,.staff-panel,.research-card,.expert-card,.video-card) { padding:20px!important; }
body.workspace-system :is(.staff-stat:before,.staff-empty:before) { display:none!important; }
body.workspace-system :is(.staff-list button,.staff-list-card,.ops-recent-list button) { border-radius:var(--ws-radius)!important; background:var(--v3-panel)!important; }
body.workspace-system .staff-list button.is-selected { background:var(--v3-primary-soft)!important; }
/* 두 업무실은 같은 내비게이션을 사용하고 역할 이름으로 구분한다. */
body.workspace-system :is(.staff-sidebar,.section-nav-sidebar) { background:var(--v3-panel)!important; border-right-color:var(--v3-line)!important; backdrop-filter:none!important; }
body.workspace-system :is(.staff-brand strong,.section-nav-title strong) { font-size:22px!important; font-weight:750; letter-spacing:-.6px; }
body.workspace-system :is(.staff-brand span,.section-nav-title span) { display:inline-block; width:max-content; font-size:13px!important; color:var(--v3-primary-dark)!important; }
body.workspace-system .staff-brand span { color:var(--v3-primary-dark)!important; }
body.workspace-system :is(.staff-nav button,.section-nav-button) { min-height:44px!important; border-radius:6px!important; padding:10px 12px!important; }
body.workspace-system :is(.staff-nav-label,.section-nav-label) { font-size:14px!important; line-height:1.5; font-weight:500; }
body.workspace-system :is(.staff-nav button[aria-pressed="true"],.section-nav-button.active) { background:var(--v3-primary-soft)!important; color:var(--v3-primary-dark)!important; border-color:var(--v3-primary-line)!important; box-shadow:none!important; font-weight:700; }
/* 대표 현황: 긴 카드 묶음 대신 제목·내용·다음 행동을 나란히 읽는다. */
body.workspace-system .workspace-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 24px; }
body.workspace-system .workspace-shortcuts button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; padding:14px 18px; border:1px solid var(--v3-line); background:var(--v3-panel); color:var(--v3-text); text-align:left; cursor:pointer; }
body.workspace-system .workspace-shortcuts button:hover { background:var(--v3-primary-soft); border-color:var(--v3-primary-line); }
body.workspace-system .workspace-shortcuts strong { display:block; font-size:15px; }
body.workspace-system .workspace-shortcuts small { display:block; color:var(--v3-muted); font-size:13px; margin-top:3px; }
body.workspace-system #company-brief .company-highlights { display:block; margin:12px 0 24px; }
body.workspace-system #company-brief .company-highlights article { display:grid; grid-template-columns:minmax(140px,.65fr) minmax(0,2fr); gap:4px 24px; padding:18px 0!important; }
body.workspace-system #company-brief .company-highlights h3 { grid-row:span 2; margin:0; font-size:16px!important; }
body.workspace-system #company-brief .company-highlights p { margin:0; }
body.workspace-system #company-brief .company-highlights small { grid-column:2; }
body.workspace-system #company-brief>details { padding:14px 0; border:0; border-top:1px solid var(--v3-line-soft); border-radius:0; background:transparent; }
body.workspace-system #company-brief>details>summary { min-height:32px; align-content:center; }
/* 접속·PIN·외부 연결도 같은 입력창과 제목 규칙을 쓴다. */
body.workspace-system.office-entry .entry-photograph figcaption>div { background:#4f1f3b; }
body.workspace-system.office-entry .access-heading h1 { font-size:32px; }
body.workspace-system.office-entry .entry-staff-link a { color:var(--v3-primary-dark); }
body.workspace-system.company-pin-body .box { width:min(100%,440px); padding:32px; border:1px solid var(--v3-line); border-radius:var(--ws-radius); box-shadow:none; }
body.workspace-system.company-pin-body h1 { font-size:28px; line-height:1.35; }
body.workspace-system.company-pin-body p { font-size:15px; line-height:1.7; }
body.workspace-system.company-setup-body .wrap { width:min(100%,1000px); }
body.workspace-system.company-setup-body .top { padding:16px 0 24px; border-bottom:1px solid var(--v3-line); margin-bottom:24px; flex-wrap:wrap; }
body.workspace-system.company-setup-body .box { padding:24px; margin:0 0 20px; border-radius:var(--ws-radius); box-shadow:none; }
body.workspace-system.company-setup-body .box h2 { font-size:20px; margin:0 0 14px; }
body.workspace-system.company-setup-body :is(p,li,label,.channel,.message,#summary) { font-size:15px; line-height:1.7; }
body.workspace-system.company-setup-body .channel { padding:16px; background:var(--v3-panel-soft); border:1px solid var(--v3-line-soft); border-radius:var(--ws-radius); }
body.workspace-system.company-setup-body :is(button,.back,input) { min-height:44px; }
@media (max-width:899px) {
 body.workspace-system.workspace-system { --ws-page-size:25px; }
 body.workspace-system :is(.staff-main,.dashboard-main) { padding:24px 20px 40px!important; }
 body.workspace-system :is(.staff-top,.owner-page-heading) { margin-bottom:20px!important; padding-bottom:20px!important; }
 body.workspace-system #company-brief .company-highlights article { grid-template-columns:1fr; gap:8px; }
 body.workspace-system #company-brief .company-highlights :is(h3,small) { grid-column:auto; grid-row:auto; }
 body.workspace-system .workspace-shortcuts { grid-template-columns:1fr; gap:8px; }
 body.workspace-system .workspace-shortcuts button { min-height:52px; padding:12px 14px; }
 body.workspace-system:not(.section-nav-open) .section-nav-button { padding:6px 2px!important; }
 body.workspace-system:not(.staff-nav-open) .staff-nav button { padding:8px 3px!important; }
}
@media(min-width:900px) and (max-width:1279px) {body.workspace-system .section-nav-button { padding:8px 2px!important; }}
@media(min-width:900px) {body.workspace-system.staff-nav-collapsed .staff-nav button,body.workspace-system.section-nav-collapsed .section-nav-button { padding:8px 2px!important; }}
@media(max-width:479px) {
 body.workspace-system :is(.staff-main,.dashboard-main) { padding:20px 14px 36px!important; }
 body.workspace-system :is(.staff-panel,.research-card,.expert-card,.video-card) { padding:16px!important; }
 body.workspace-system.company-pin-body .box { padding:24px; }
 body.workspace-system.company-setup-body .box { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {body.workspace-system * { scroll-behavior:auto!important; transition:none!important; }}
body.workspace-system .office-primary { background:var(--ws-action)!important; border-color:var(--ws-action)!important; color:#fff!important; }
body.workspace-system.company-staff-body .staff-sidebar { --v3-primary:inherit; --v3-primary-dark:inherit; --v3-primary-soft:inherit; --v3-primary-line:inherit; }
body.workspace-system :is(.market-status-card,.market-facts>div,.market-run-state,.market-toolbar,.market-decision),body.workspace-system #tab-sidebar .service-switch { border-radius:var(--ws-radius)!important; box-shadow:none!important; background:var(--v3-panel)!important; }
body.workspace-system :is(button.primary,.market-primary,.market-approve,header .refresh,.expert-head-actions button,.expert-form button,.ops-primary,.service-switch-button.selected) { background:var(--ws-action)!important; border-color:var(--ws-action)!important; color:#fff!important; }
/* 회사 로고: 메뉴 머리에는 심벌+영문 글자 로고, 접힌 메뉴에는 심벌만 둔다. 어두운 화면에서는 반전하지 않고 흰 받침 위에 둔다. */
body.workspace-system .workspace-brand-lockup { display:flex!important; align-items:center; gap:7px; width:max-content; max-width:100%; margin:0 0 6px; font-size:0!important; line-height:0!important; }
body.workspace-system .workspace-brand-symbol { width:32px; height:32px; flex:none; }
body.workspace-system .workspace-brand-word { width:auto; height:17px; margin-inline:0; flex:none; }
body.workspace-system .workspace-brand-compact { display:none; width:38px; height:38px; flex:none; }
body.workspace-system .workspace-role { display:inline-block; font-size:13px!important; font-weight:650; letter-spacing:0; }
body.workspace-system .workspace-brand .workspace-role-owner { color:var(--v3-text-soft)!important; }
body.workspace-system .workspace-brand .workspace-role-staff { color:var(--v3-primary-dark)!important; padding:2px 8px; border:1px solid var(--v3-primary-line); border-radius:4px; background:var(--v3-primary-soft); }
html[data-theme="dark"] body.workspace-system :is(.workspace-brand-lockup,.workspace-brand-compact,.company-brand-mark,.entry-wordmark-symbol),body.workspace-system[data-theme="dark"] :is(.workspace-brand-lockup,.workspace-brand-compact,.company-brand-mark,.entry-wordmark-symbol) { background:var(--brand-plate); border-radius:8px; }
html[data-theme="dark"] body.workspace-system .workspace-brand-lockup,body.workspace-system[data-theme="dark"] .workspace-brand-lockup { padding:4px 8px 4px 6px; }
html[data-theme="dark"] body.workspace-system .workspace-brand-compact,body.workspace-system[data-theme="dark"] .workspace-brand-compact { padding:3px; box-sizing:border-box; width:40px; height:40px; }
/* 주요 실행은 와인 면, 선택은 옅은 와인 면. 성공·경고·오류 색은 각 기능의 의미색을 유지한다. */
body.workspace-system :is(.staff-primary,.staff-actions button.primary,.access-login button,button.primary,.market-primary,.ops-primary,.office-primary,header .refresh):hover:not(:disabled) { background:var(--ws-action-hover)!important; border-color:var(--ws-action-hover)!important; }
html[data-theme="dark"] body.workspace-system :is(.staff-primary,.staff-actions button.primary,.access-login button,button.primary,.market-primary,.market-approve,header .refresh,.expert-head-actions button,.expert-form button,.ops-primary,.office-primary,.service-switch-button.selected,.work-primary,.ads-primary,.investment-primary,.owner-primary,.ops-business-tabs button[aria-pressed=true],.staff-login-card>button,.office-speech [data-speech-play],.staff-activity-jumpbar a,.bulk-actions .primary,.market-routing-actions button),body.workspace-system[data-theme="dark"] :is(.staff-primary,.staff-actions button.primary,.access-login button,button.primary,.market-primary,.market-approve,header .refresh,.expert-head-actions button,.expert-form button,.ops-primary,.office-primary,.service-switch-button.selected,.work-primary,.ads-primary,.investment-primary,.owner-primary,.ops-business-tabs button[aria-pressed=true],.staff-login-card>button,.office-speech [data-speech-play],.staff-activity-jumpbar a,.bulk-actions .primary,.market-routing-actions button) { background:var(--ws-action)!important; border-color:var(--v3-primary-line)!important; color:#fff!important; }
/* 대표는 왼쪽 와인 강조선으로 현재 메뉴를 더 분명히, 직원은 같은 면색과 테두리로 가볍게 표시한다. */
body.workspace-system.owner-workspace .section-nav-button.active { box-shadow:inset 3px 0 0 var(--brand-wine)!important; }
html[data-theme="dark"] body.workspace-system.owner-workspace .section-nav-button.active,body.workspace-system.owner-workspace[data-theme="dark"] .section-nav-button.active { box-shadow:inset 3px 0 0 var(--v3-primary)!important; }
body.workspace-system.workspace-navigation:is(.section-nav-collapsed,.staff-nav-collapsed) .workspace-brand-compact { display:block; }
body.workspace-system.workspace-navigation:is(.section-nav-collapsed,.staff-nav-collapsed) :is(.section-nav-head,.staff-sidebar-head) { flex-direction:column!important; align-items:center!important; gap:10px!important; }
body.workspace-system.company-staff-body .staff-header-title h1:before { background:var(--ws-role-staff); }
@media(max-width:899px) {
 body.workspace-system.workspace-navigation:is(.section-nav-open,.staff-nav-open) .workspace-brand-compact { display:none; }
 body.workspace-system.workspace-navigation:is(.section-nav-open,.staff-nav-open) :is(.section-nav-head,.staff-sidebar-head) { flex-direction:row!important; align-items:flex-start!important; }
}
/* 입장 화면: 사진 위 흰 받침에 심벌+한글 글자 로고, 오른쪽 상단에는 심벌과 글자를 둔다. */
body.workspace-system.office-entry .entry-logo { display:flex; align-items:center; gap:14px; padding:16px 22px 16px 16px; background:rgba(255,255,255,.94); border-radius:8px; }
body.workspace-system.office-entry .entry-photograph .entry-logo img { position:static; inset:auto; object-fit:contain; display:block; }
body.workspace-system.office-entry .entry-logo-symbol { width:64px; height:64px; flex:none; }
body.workspace-system.office-entry .entry-logo-word { width:auto; height:48px; margin-inline:-12px -8px; }
body.workspace-system.office-entry .entry-photograph figcaption>div { color:#fff; border-radius:8px; }
body.workspace-system.office-entry .entry-wordmark-symbol { width:32px; height:32px; flex:none; margin-right:-4px; }
body.workspace-system .company-brand-mark { background:transparent; width:32px; height:32px; }
body.workspace-system .company-brand-mark img { width:32px; height:32px; }
@media(max-width:760px) {
 body.workspace-system.office-entry .entry-photograph figcaption { inset:auto 16px 16px 16px; }
 body.workspace-system.office-entry .entry-logo { gap:8px; padding:8px 14px 8px 8px; }
 body.workspace-system.office-entry .entry-logo-symbol { width:40px; height:40px; }
 body.workspace-system.office-entry .entry-logo-word { height:30px; margin-inline:-8px -5px; }
}

/* ─────────────────────────────────────────────────────────────
   2026-09-25 와인·호박 개편. 색은 대표 확정 기준을 따른다.
   호박은 '지금 확인할 업무' 묶음 표시에만 쓰고 배지·넓은 면에는 쓰지 않는다.
   ───────────────────────────────────────────────────────────── */

/* 지금 손댈 수 있는 묶음: 제목 앞 점 하나와 목록 왼쪽 세로선만 호박으로 둔다. */
body.workspace-system .work-list-heading[data-work-ready] h3::before {
 content:''; display:inline-block; width:8px; height:8px; margin-right:8px; vertical-align:middle;
 border-radius:50%; background:var(--ws-ready);
}
body.workspace-system .work-list[data-work-ready]>li { box-shadow:inset 3px 0 0 var(--ws-ready); }
body.workspace-system .work-list[data-work-ready]>li>* { padding-left:13px; }

/* 값이 0인 요약 칸은 값이 있는 칸과 같은 무게로 읽히지 않게 한다. 숫자는 그대로 보인다. */
body.workspace-system .work-signals button[data-work-empty] strong { color:var(--v3-muted); font-weight:550; }
body.workspace-system .work-signals button[data-work-empty] span { color:var(--v3-muted); }
body.workspace-system .work-signals button:not([data-work-empty]) strong { color:var(--v3-text); font-weight:730; }

/* 조회 실패·미확인은 일반 안내와 다르게 읽혀야 한다. 색만으로 알리지 않고 굵은 제목을 함께 둔다. */
body.workspace-system :is(.owner-load-error,.staff-fetch-state.is-error,.work-load-error) {
 border-left:3px solid var(--ws-attention)!important; background:var(--ws-attention-soft)!important;
 border-color:var(--ws-attention-line)!important; font-weight:600;
}
body.workspace-system :is(.owner-load-error,.staff-fetch-state.is-error,.work-load-error) :is(a,button) { font-weight:600; }

/* 역할 표시: 대표는 글자, 직원은 같은 와인 체계 안의 테두리 배지로 구분한다. 초록 구분은 쓰지 않는다. */
body.workspace-system .staff-status {
 color:var(--v3-primary-dark)!important; background:var(--v3-primary-soft); border:1px solid var(--v3-primary-line);
 border-radius:4px; padding:3px 10px; font-weight:650;
}

/* 기능을 지닌 글자는 11px 아래로 내려가지 않게 한다. */
body.workspace-system :is(.section-nav-title span,.staff-brand span,.staff-nav-short,.section-nav-short,.work-badge,.office-corridor) { font-size:12px!important; }

/* 누를 수 있는 작은 표시는 손가락으로 짚을 수 있게 둘레를 넓힌다. */
body.workspace-system :is(.staff-consent,.access-show-password,.investment-check,.bp-check,.office-chat-consent,.office-speech-consent) {
 min-height:44px; display:flex; align-items:center; gap:10px;
}
body.workspace-system :is(.staff-consent,.access-show-password,.investment-check,.bp-check,.office-chat-consent,.office-speech-consent) input[type="checkbox"] {
 width:20px; height:20px; min-height:20px; accent-color:var(--ws-action);
}

/* 메뉴 띠가 화면 높이에 잘릴 때 끝이 있다는 것을 남긴다. */
body.workspace-system :is(.section-nav-sidebar,.staff-sidebar) {
 scrollbar-color:var(--v3-primary-line) transparent;
 /* 메뉴가 화면 높이에 잘릴 때 잘린 쪽 가장자리에 옅은 띠를 남겨 더 있다는 것을 알린다. */
 background:
  linear-gradient(var(--v3-panel) 30%,rgba(255,255,255,0)) top/100% 28px no-repeat local,
  linear-gradient(rgba(255,255,255,0),var(--v3-panel) 70%) bottom/100% 28px no-repeat local,
  radial-gradient(farthest-side at 50% 0,rgba(122,47,87,.22),rgba(255,255,255,0)) top/100% 10px no-repeat scroll,
  radial-gradient(farthest-side at 50% 100%,rgba(122,47,87,.22),rgba(255,255,255,0)) bottom/100% 10px no-repeat scroll,
  var(--v3-panel)!important;
}

/* 0건 칸은 크기까지 낮춰 값이 있는 칸과 분명히 다르게 읽히도록 한다. 숫자는 그대로 남긴다. */
body.workspace-system .work-signals button[data-work-empty] strong { font-size:19px!important; color:var(--v3-muted)!important; font-weight:550; }
body.workspace-system .work-signals button[data-work-empty] small { color:var(--v3-muted); }

/* 보안·연결 이상 알림은 일반 안내와 다르게 읽혀야 한다. */
body.workspace-system .security-global {
 display:block; margin:0 0 18px; padding:14px 18px; background:var(--ws-attention-soft);
 border:1px solid var(--ws-attention-line); border-left:3px solid var(--ws-attention);
 border-radius:var(--ws-radius); color:var(--v3-text); font-weight:600;
}
body.workspace-system .security-global a { color:var(--v3-primary-dark); font-weight:700; text-underline-offset:3px; }

/* 접어 둔 기록은 펼치기 전까지 큰 빈 면을 남기지 않는다. 펼치면 원래 여백으로 돌아간다. */
body.workspace-system.owner-redesigned .owner-reference-report:not([open]) { padding:8px 16px!important; margin-top:20px!important; }
body.workspace-system.owner-redesigned .owner-reference-report:not([open])>summary { margin:0; }
body.workspace-system.owner-redesigned .owner-reference-report>summary { min-height:44px; align-content:center; font-weight:650; }

/* 좁은 화면에서 머리글의 로그아웃이 숨겨지므로 메뉴 안에 같은 자리를 둔다. 넓은 화면에서는 머리글 쪽만 쓴다. */
body.workspace-system .workspace-nav-logout {
 display:none; position:sticky; bottom:0; margin:14px 0 0; padding:10px 12px; min-height:44px; align-content:center;
 border:1px solid var(--v3-line); border-radius:6px; background:var(--v3-panel); color:var(--v3-text-soft);
 font-size:14px; text-align:center; text-decoration:none; flex:none;
}
body.workspace-system .workspace-nav-logout:hover { border-color:var(--v3-primary-line); color:var(--v3-primary-dark); background:var(--v3-primary-soft); }
@media (max-width:899px) {
 body.workspace-system .workspace-nav-logout { display:block; }
 body.workspace-system.workspace-navigation.section-nav-collapsed .workspace-nav-logout { padding:10px 4px; font-size:12px; }
}

/* Slack 연결 화면: 이 화면만 업무실 밖에 떠 있어 회사 표시와 단계 안내를 보탠다. */
body.workspace-system.company-setup-body .top { align-items:center; gap:12px; }
body.workspace-system.company-setup-body .setup-brand { display:inline-flex; align-items:center; background:var(--brand-plate); border-radius:8px; padding:3px; flex:none; }
body.workspace-system.company-setup-body .setup-brand img { display:block; width:32px; height:32px; }
body.workspace-system.company-setup-body .setup-intro { margin:0 0 20px; color:var(--v3-muted); font-size:15px; line-height:1.7; }
body.workspace-system.company-setup-body .setup-hint { margin:8px 0 0; color:var(--v3-muted); font-size:13px; line-height:1.6; }
body.workspace-system.company-setup-body .setup-note { display:block; margin-top:2px; color:var(--v3-muted); font-size:13px; font-weight:400; }
body.workspace-system.company-setup-body .setup-manifest-head { display:flex; align-items:end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; }
body.workspace-system.company-setup-body .setup-manifest-head label { margin:0; }
body.workspace-system.company-setup-body code { padding:1px 5px; border:1px solid var(--v3-line); border-radius:4px; background:var(--v3-panel-soft); font-size:13px; }
body.workspace-system.company-setup-body textarea { min-height:340px; border-color:var(--v3-line); background:var(--v3-panel-soft); color:var(--v3-text); }
body.workspace-system.company-setup-body button.secondary { background:var(--v3-panel)!important; border:1px solid var(--v3-line)!important; color:var(--v3-text)!important; }
body.workspace-system.company-setup-body button.secondary:hover:not(:disabled) { border-color:var(--v3-primary-line)!important; background:var(--v3-primary-soft)!important; color:var(--v3-primary-dark)!important; }
body.workspace-system.company-setup-body button:disabled { opacity:.55; cursor:not-allowed; }

/* PIN 화면: 이 화면만 로고와 테마 전환이 없어 다른 화면과 끊겨 보였다. */
body.workspace-system.company-pin-body .pin-brand { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; }
body.workspace-system.company-pin-body .pin-brand-mark { display:inline-flex; background:var(--brand-plate); border-radius:8px; padding:3px; }
body.workspace-system.company-pin-body .pin-brand-mark img { display:block; width:36px; height:36px; }
body.workspace-system.company-pin-body form button.pin-theme { width:auto!important; min-width:44px; min-height:44px; height:auto!important; margin:0!important; padding:0 12px; border:1px solid var(--v3-line)!important; background:var(--v3-panel)!important; color:var(--v3-text-soft)!important; font-weight:400!important; }
body.workspace-system.company-pin-body .pin-label { display:block; margin:0 0 6px; font-size:14px; font-weight:650; color:var(--v3-text); text-align:left; }
body.workspace-system.company-pin-body .pin-label span { font-weight:400; color:var(--v3-muted); }
body.workspace-system.company-pin-body .notice { padding:10px 12px; margin-bottom:14px; border:1px solid var(--ws-attention-line); border-left:3px solid var(--ws-attention); border-radius:var(--ws-radius); background:var(--ws-attention-soft); color:var(--v3-text)!important; font-weight:600; text-align:left; }
