.eyebrow { display:none; }
.simple-login { min-height:100vh; display:grid; place-items:center; padding:30px 20px; background:#f4f6f0; }
.simple-login-card { width:100%; max-width:410px; padding:36px; background:#fff; border:1px solid #e4e8dd; border-radius:18px; }
.login-brand { font-size:14px; color:#48621f; margin-bottom:28px; font-weight:650; }
.simple-login-card h1 { font-size:26px; margin-bottom:8px; }
.simple-login-card > .muted { margin-bottom:28px; font-size:13px; }
.simple-login-card > .field { margin-top:18px; }
.simple-login-card > .button { width:100%; margin-top:25px; height:46px; }
.simple-login-card .login-help { text-align:center; color:#797f72; font-size:12px; margin-top:22px; }
.setup-card { max-width:580px; }
.settings-nav { margin-top:20px; padding-top:15px; border-top:1px solid var(--border); }
.settings-nav summary { padding:10px 14px; color:#68705e; cursor:pointer; font-size:13px; }
.settings-nav a { padding-left:22px; font-size:13px; }
.settings-section { margin-top:20px; border:1px solid var(--border); border-radius:10px; padding:14px 18px; }
.settings-section summary { cursor:pointer; font-weight:600; }
.settings-section[open] summary { margin-bottom:14px; }
.settings-section p { font-size:12px; }
.scope-company { border-top:1px solid var(--border); padding:12px 0; }
.scope-company-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.scope-company-head .check-line { margin:0; white-space:nowrap; }
.scope-departments { margin:8px 0 0 14px; }
.scope-departments .checkbox-grid { margin:6px 0 0; }
@media(max-width:550px) { .scope-company-head { align-items:flex-start; flex-direction:column; } }
.brand { font-size:18px; }.sidebar { padding-top:28px; }.topbar { height:66px; margin-bottom:28px; }
.page-title h1 { font-size:26px; }.page-title p { font-size:13px; }.nav a { font-size:14px; }
.simple-records .stats { grid-template-columns:1fr 2fr 1fr; gap:12px; margin-bottom:22px; }
.simple-records .stat { padding:18px 20px; border-radius:12px; }
.simple-records .stat.accent { background:#eef5e4; border-color:#e0ebd3; }
.simple-records .stat-value { font-size:24px; }
.simple-records .stat-label { color:#676f5d; }
.simple-records .simple-filters { display:block; padding:20px; }
.filter-primary { display:grid; grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) auto; align-items:end; gap:12px; }
.simple-filters .filter-primary .filter-search { grid-column:auto; }
.simple-filters .filter-primary .field > span { font-size:12px; }
.more-filters { margin-top:14px; }.more-filters summary { cursor:pointer; font-size:13px; color:#566345; padding:6px 0; }
.filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:12px; }
.list-tabs { display:flex; gap:26px; padding:0 22px; border-bottom:1px solid var(--border); }
.list-tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:17px 0; color:#787d72; font-size:14px; }
.list-tabs button.active { color:#263319; font-weight:650; border-bottom-color:#7caa36; }
.simple-records .panel-head { display:none; }.simple-records .selection-bar { background:#fafbf8; }
.simple-records .selection-bar .button { font-size:13px; min-height:38px; }
.node-editor { background:#fff; border-left:3px solid #a6c67b; }
.node-editor:has(select[data-key=assigneeType] option[value=DEPARTMENT_SUPERVISOR]:checked) label:has(select[data-key=assigneeId]) { display:none; }
@media(max-width:850px){.settings-nav{margin-top:0;padding:0;border:0}.settings-nav summary{white-space:nowrap}.settings-nav[open]{min-width:150px}.simple-records .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-records .stat:last-child{display:block}.filter-primary{grid-template-columns:1fr 1fr}.filter-primary .filter-actions{grid-column:1/-1}.filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.simple-login-card{padding:25px}.simple-records .stats,.filter-primary,.filter-grid{grid-template-columns:1fr}.simple-records .stat{display:block}.simple-records .stat-value{margin-top:8px}.filter-primary .filter-actions{grid-column:auto}.selection-bar .actions{width:100%}}

.finance-filter-primary{grid-template-columns:minmax(170px,1.5fr) repeat(3,minmax(115px,1fr)) auto}.export-scope-note{padding:12px 22px;font-size:12px;color:#596b3b;background:#f8fbf3}.selection-bar .actions{flex-wrap:wrap}.selection-bar{gap:16px}
@media(max-width:1100px){.finance-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-primary .filter-actions{grid-column:1/-1}}
@media(max-width:550px){.finance-filter-primary{grid-template-columns:1fr}}

.people-filters{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(160px,1.4fr);gap:14px;padding:18px 22px;border-bottom:1px solid #e8ebe5}.people-filters .field{margin:0}@media(max-width:850px){.people-filters{grid-template-columns:1fr 1fr}}@media(max-width:500px){.people-filters{grid-template-columns:1fr}}
@media(max-width:850px){.nav{flex-wrap:wrap;overflow:visible;align-items:flex-start}.nav>a{flex:none}.settings-nav,.settings-nav[open]{flex-basis:100%;min-width:0}.settings-nav summary{padding:8px 11px}.settings-nav[open] a{display:inline-flex;margin:2px 3px 2px 0;padding:8px 11px;font-size:12px}.settings-nav:not([open]) a{display:none}}
.account-summary p + p{margin-top:12px}.account-password{display:grid;gap:18px;max-width:620px}.account-password .button{justify-self:start}.account-password .muted{line-height:1.7}

/* Shared desktop layout: scale spacing with available workspace, retain readable text. */
.main,.panel,.stat,.actions,.topbar-label,.system-status { min-width:0; }
input,select,textarea { min-width:0; max-width:100%; }
.page-title p,.panel-body,.stat-value { overflow-wrap:anywhere; }
.record-category-inline { display:none; }
.simple-records .stats { grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1fr); }
.amount-breakdown { display:flex; flex-wrap:wrap; column-gap:24px; row-gap:8px; letter-spacing:0; }
.amount-breakdown>span { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; min-width:0; }
.amount-breakdown small { font-size:12px; font-weight:400; }
.amount-breakdown strong { font-size:clamp(17px,1.3vw,23px); font-weight:600; }
.selection-bar>.actions { margin-left:auto; }
#selected-count { flex:0 0 auto; }

@media(min-width:851px) {
  .shell { grid-template-columns:clamp(192px,15vw,240px) minmax(0,1fr); }
  .sidebar { height:100vh; height:100dvh; min-height:0; overflow:hidden; padding:24px 14px 18px; }
  .sidebar-heading,.sidebar-label,.sidebar-bottom { flex-shrink:0; }
  .sidebar-label { margin-top:28px; }
  .sidebar .nav { min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; padding-bottom:8px; }
  .sidebar .nav a { padding:11px 12px; gap:9px; }
  .sidebar-bottom { padding-top:16px; }
  .brand { padding:0 10px; }
  .brand-symbol,.avatar,.nav-icon,.dot { flex-shrink:0; }
  .settings-nav { margin-top:12px; padding-top:10px; }
  .main { padding:0 clamp(20px,2.1vw,48px) 32px; }
  .topbar,#page { width:100%; max-width:1920px; margin-left:auto; margin-right:auto; }
  .topbar { height:62px; margin-bottom:22px; }
  .topbar-label { flex-shrink:0; }
  .topbar>.actions { justify-content:flex-end; }
  .system-status { overflow-wrap:anywhere; }
  .page-title { margin-bottom:20px; }
  .simple-records .stats { margin-bottom:18px; }
  .simple-records .stat { padding:16px 18px; }
  .simple-records .simple-filters { padding:16px 18px; }
  .finance-filter-primary { grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(0,1fr)) auto; }
  .finance-filter-primary .filter-actions { grid-column:auto; }
  .people-filters { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(180px,1.3fr); }
  .more-filters { margin-top:10px; }
  .selection-bar { padding:12px 18px; }
  .selection-bar .actions { gap:8px; }
  .simple-records .selection-bar .button { font-size:12px; }
  .selection-bar select { min-height:38px; font-size:12px; }
  .list-tabs { gap:24px; padding:0 18px; }
  .list-tabs button { padding:14px 0; }
  #page .table-wrap { max-height:clamp(300px,55vh,760px); scrollbar-gutter:stable; }
  #record-table .table-wrap { max-height:clamp(240px,calc(100dvh - 630px),680px); }
  #page .table-wrap th { position:sticky; top:0; z-index:1; background:#fcfcfa; box-shadow:0 1px 0 var(--border); }
  th,td { padding:13px 12px; }
  .records-table { table-layout:fixed; min-width:760px; }
  .records-table .col-select { width:42px; }
  .records-table .col-owner { width:20%; }
  .records-table .col-category { width:96px; }
  .records-table .col-type { width:80px; }
  .records-table .col-amount { width:112px; }
  .records-table .col-status { width:72px; }
  .records-table .col-date { width:104px; }
  .records-table .col-actions { width:100px; }
  .records-table .reason-cell { min-width:0; max-width:none; }
  .records-table .table-actions { flex-direction:column; gap:5px; }
  .records-table .link-button { padding:3px 0; white-space:nowrap; }
  .records-table td:last-child,.records-table th:last-child { position:sticky; right:0; background:#fff; box-shadow:-1px 0 0 var(--border); }
  .records-table th:last-child { z-index:2; background:#fcfcfa; }
  .records-table tr:hover td:last-child { background:#fcfcf9; }
  .records-table .amount,.records-table [data-label="类型"] { white-space:nowrap; }
  dialog { max-height:calc(100dvh - 40px); }
}
@media(min-width:851px) and (max-height:800px) {
  .sidebar { padding-top:18px; padding-bottom:14px; }
  .sidebar-label { margin-top:20px; }
  .sidebar .nav a { padding-top:9px; padding-bottom:9px; }
  .sidebar-bottom .user-line { margin-bottom:8px; }
}
@media(min-width:851px) and (max-width:1200px) {
  .finance-filter-primary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .simple-filters .finance-filter-primary .filter-search { grid-column:span 2; }
  .finance-filter-primary .filter-actions { align-self:end; justify-content:flex-end; }
  .records-table .col-category,.records-table [data-label="员工所属品类"],.records-table th:nth-last-child(6) { display:none; }
  .records-table .record-category-inline { display:block; }
  .records-table .col-owner { width:22%; }
  .records-table .col-date { width:96px; }
  .people-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1600px) {
  .records-table .col-category { width:10%; }
  .records-table .col-type { width:7%; }
  .records-table .col-amount { width:10%; }
  .records-table .col-status { width:6%; }
  .records-table .col-date { width:10%; }
  .records-table .col-actions { width:8%; }
  th,td { padding:16px; }
  .records-table th:first-child,.records-table td:first-child { padding-left:12px; padding-right:12px; }
}
@media(max-width:850px) {
  .simple-records .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .simple-records .stat.accent { grid-column:span 2; grid-row:2; }
  .page-title>div:first-child { flex-basis:auto; }
  .selection-bar>.actions { margin-left:0; }
}
@media(max-width:550px) {
  .simple-records .stats { grid-template-columns:1fr; }
  .simple-records .stat.accent { grid-column:auto; grid-row:auto; }
}

.workflow-warning { color:#995c16; font-size:12px; margin-top:7px; white-space:normal; }
.workflow-warning p+p { margin-top:4px; }
.settings-section>[data-apply-role] { margin:8px 0 4px; }
.node-editor .row { gap:12px; flex-wrap:wrap; }
.node-editor .row h3 { min-width:0; overflow-wrap:anywhere; }
