/* Shared operational surfaces: personal desk, manager, business directory and CRM. */
:root {
  --work-ink:#262b30; --work-muted:#59636d; --work-line:#dce1e5;
  --work-paper:#fff; --work-ground:#f6f7f8; --work-accent:#24654f;
  --work-blue:#315f99; --work-warn:#895913; --work-danger:#a03932;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--work-ink); letter-spacing:0; font-size:14px;
}
button,input,textarea,select { font:inherit; letter-spacing:0; }
button { min-height:40px; border-radius:6px; line-height:1.4; transition:background-color .12s,border-color .12s; }
button:not(:disabled):hover { border-color:#97a8a0; }
button:disabled { cursor:not-allowed; opacity:.55; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--work-blue); outline-offset:3px; }
button svg,summary svg { width:18px; height:18px; flex:none; vertical-align:middle; }
input,select,textarea { border-color:#b8c2cb; border-radius:5px; min-height:40px; caret-color:var(--work-accent); }
textarea::placeholder,input::placeholder { color:#65717c; }
::selection { background:#dce9f7; color:#182e4a; }
* { scrollbar-width:thin; scrollbar-color:#b8c2cb transparent; }
h1 { font-size:22px; line-height:1.4; letter-spacing:0; }
h2 { font-size:17px; line-height:1.5; letter-spacing:0; }
h3 { font-size:15px; line-height:1.5; letter-spacing:0; }
.muted,.chart-meta { color:var(--work-muted); }
body > header { min-height:60px; background:var(--work-paper); border-bottom:1px solid var(--work-line); }
#work-tabs { gap:4px; padding-inline:20px; }
#work-tabs > button,#work-tabs > details > summary { min-height:50px; padding-inline:16px; }
#view-home { background:var(--work-paper); padding:24px; }
.portal-heading h1 { font-size:22px; margin:0; }
.portal-heading .panel-status { font-size:13px; color:var(--work-muted); }
.portal-favorites-heading h2 { font-size:13px; color:var(--work-muted); }
.portal-quick { padding:8px 0 16px; gap:8px; border-top:0; }
.portal-quick button,.portal-quick button:first-child { border:1px solid var(--work-line); padding:8px 12px; border-radius:6px; color:var(--work-ink); background:var(--work-paper); font-size:13px; }
.portal-modules { gap:3px; padding-right:16px; }
.portal-modules button { font-size:14px; color:var(--work-muted); border-radius:5px; }
.portal-modules button[aria-current="page"] { background:#edf3f0; color:var(--work-accent); }
.portal-content-heading h2 { color:var(--work-ink); }
.portal-entry { padding:18px 0; gap:12px; }
.portal-entry .entry-icon { background:#f0f3f6; color:var(--work-blue); }
.portal-entry button { color:var(--work-ink); font-size:14px; min-height:28px; }
.portal-entry small { color:var(--work-muted); font-size:12px; }
.portal-ai { box-shadow:none; border-radius:6px; }
.portal-ai-heading h2 { color:var(--work-ink); }
#portal-data-table td,#portal-data-table th,.portal-record-link,.portal-data-actions button,.portal-data-actions select { font-size:13px; }
#portal-data-table th { background:var(--work-ground); }
td { font-variant-numeric:tabular-nums; }
.personal-erp.focused-work #view-home { padding:0; overflow:hidden; }
.personal-erp.focused-work .portal-heading,.personal-erp.focused-work .portal-favorites-heading,
.personal-erp.focused-work #portal-quick,.personal-erp.focused-work #portal-modules,
.personal-erp.focused-work .portal-content-heading { display:none; }
.personal-erp.focused-work .portal-layout { display:block; max-width:none; height:100%; }
.personal-erp.focused-work .portal-content { height:100%; }
.personal-erp.focused-work #personal-tasks,.personal-erp.focused-work #personal-manager { height:100%; }
.personal-erp.focused-work #task-frame,.personal-erp.focused-work #manager-frame { display:block; height:100%!important; min-height:0!important; width:100%; }
.personal-erp #personal-account { display:none; }
.personal-erp #personal-logout { margin-left:auto; }
.embedded-workspace > header { display:none; }
.desk-return { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--work-line); }
.desk-return a { display:inline-flex; align-items:center; gap:7px; color:var(--work-accent); text-decoration:none; min-height:40px; }
.desk-return svg { width:18px; height:18px; }
.embedded-workspace .desk-return a { display:none; }
.embedded-workspace .nav > button[data-tab="tasks"],.embedded-workspace .nav > button[data-tab="manager"],.embedded-workspace .nav > button[data-tab="performance"] { display:none; }
.embedded-workspace .shell { max-width:1240px; padding:24px 32px; }
.embedded-workspace main { max-width:1240px; }
.shell { color:var(--work-ink); }
.toolbar { gap:12px; margin-bottom:16px; }
.toolbar #zone { margin-left:auto; }
.nav { border-bottom:1px solid var(--work-line); gap:4px; margin-bottom:24px; padding-bottom:0; align-items:center; }
.nav > button,.desk-more > summary { display:inline-flex; align-items:center; gap:7px; min-height:46px; padding:10px 12px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--work-muted); }
.nav > button.active { background:transparent; border-color:var(--work-accent); color:var(--work-accent); }
.desk-more { position:relative; margin:0 0 0 auto; }
.desk-more summary { list-style:none; cursor:pointer; }
.desk-more summary::-webkit-details-marker { display:none; }
.desk-more-menu { position:absolute; top:100%; right:0; width:220px; padding:8px; background:white; border:1px solid var(--work-line); border-radius:6px; z-index:30; }
.desk-more-menu button { display:block; width:100%; text-align:left; border:0; background:white; padding:10px; }
.desk-more-menu button:hover,.desk-more-menu button.active { background:#eef3f6; }
.card { border-radius:6px; box-shadow:none; }
#content > .card:not(.task),#content > .review-section { border:0; border-bottom:1px solid var(--work-line); border-radius:0; background:transparent; padding:22px 0; }
.work-summary { display:flex; flex-wrap:wrap; gap:16px 48px; margin:0 0 24px; padding:16px 0 20px; border-bottom:1px solid var(--work-line); }
.work-summary > div { min-width:130px; }
.work-summary dt { color:var(--work-muted); font-size:13px; }
.work-summary dd { margin:6px 0 0; font-size:23px; font-weight:600; font-variant-numeric:tabular-nums; }
.work-summary small { font-size:13px; font-weight:400; color:var(--work-muted); }
.work-task-toolbar { border-top:0; padding-top:0; }
.task { padding:20px; margin:0 0 14px; background:#fff; }
.task h3 { margin-bottom:8px; }
.task .checks { padding:12px 0; margin:12px 0; border-left:0; border-top:1px solid var(--work-line); }
.task .actions { padding-top:8px; }
.badge { background:#edf1f5; color:#455a70; border-radius:4px; }
.badge.success { background:#e7f2ec; color:#286047; }
.review-line { display:flex; justify-content:space-between; gap:20px; align-items:start; padding:14px 0; border-bottom:1px solid #e9edef; }
.review-line p { color:var(--work-muted); line-height:1.6; margin:6px 0 0; }
.review-line .badge { flex:none; }
.manager-work-frame { display:block; width:100%; height:calc(100dvh - 225px); min-height:500px; border:0; }
.context-label { color:var(--work-blue); padding:8px 0; font-weight:600; }
.advice { max-width:none; max-height:420px; overflow-y:auto; }
.discussion-turn { padding:12px 16px; margin:10px 0; border-radius:6px; max-width:90%; }
.discussion-turn.employee { background:#edf2f8; margin-left:auto; }
.discussion-turn.assistant { padding-left:0; }
.discussion-turn strong { font-size:12px; color:var(--work-muted); }
.discussion-turn p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; margin:6px 0; }
.discussion-turn small,.discussion-empty { color:var(--work-muted); font-size:12px; }
.assistant .section-title h2 { margin-top:0; }
.task-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; padding:18px 0; border-bottom:1px solid var(--work-line); }
.task-row p { line-height:1.7; color:var(--work-muted); overflow-wrap:anywhere; }
.task-row details { margin:8px 0; }
.task-row summary { cursor:pointer; color:var(--work-blue); font-size:13px; padding:5px 0; }
.task-row .actions { margin:0; }
.task-row .actions { align-content:center; justify-content:flex-end; max-width:230px; }
.task-row .actions button:last-child { color:var(--work-accent); border-color:#adc6b9; }
.communications-page { height:auto; min-height:100dvh; overflow:auto; display:block; }
.communications-page header { padding:0 0 18px; margin-bottom:20px; }
.communications-page header h1 { margin:0 auto 0 0; }
.communications-page .communication-layout { height:auto; min-height:65dvh; }
.communications-page #communication-detail { min-width:0; }
@media(max-width:700px) {
  #work-tabs { padding-inline:6px; overflow-x:auto; gap:0; }
  #work-tabs > button,#work-tabs > details > summary { padding-inline:10px; font-size:13px; }
  #view-home { padding:16px; }
  .embedded-workspace .shell,.embedded-workspace main { padding:16px; }
  .toolbar { gap:8px; }
  .toolbar #zone { margin-left:0; width:100%; }
  .nav { gap:0; flex-wrap:wrap; }
  .nav > button,.desk-more > summary { padding:9px 10px; font-size:13px; }
  .work-summary { gap:16px 24px; }
  .work-summary > div { min-width:100px; }
  .work-summary dd { font-size:21px; }
  .task { padding:16px; }
  .task-head { flex-direction:column; }
  .task .actions button { flex:1 1 auto; min-height:44px; }
  .task-row { grid-template-columns:1fr; gap:8px; }
  .task-row .actions { max-width:none; justify-content:flex-start; }
  .section-title { flex-wrap:wrap; }
  .discussion-turn { max-width:100%; }
  .communications-page header { flex-wrap:wrap; gap:12px; }
  .communications-page header h1 { width:100%; }
  .review-line { flex-wrap:wrap; gap:8px; }
  .manager-work-frame { min-height:480px; }
  input,select,textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { button { transition:none; } }
