@font-face { font-family:Manrope; src:url('/assets/Manrope-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Manrope; src:url('/assets/Manrope-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
:root { --paper:#eeeae1; --surface:#f8f6f0; --ink:#292b2a; --muted:#686c66; --line:#d8d2c7; --green:#6e796c; --green-deep:#505c4e; --soft:#e7e9e1; --danger:#963e32; color-scheme:light; }
* { box-sizing:border-box; }
html { background:var(--paper); scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 16px/1.5 Manrope,Arial,sans-serif; font-synthesis:none; }
button,input,select,textarea { font:inherit; color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
h1,h2,h3,strong,b { font-weight:600; }
a { color:inherit; }
small { font-size:.8125rem; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); }
.rail { position:sticky; top:0; height:100vh; overflow-y:auto; padding:30px 18px 24px; background:var(--ink); color:var(--paper); display:flex; flex-direction:column; z-index:20; }
.brand { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:12px; }
.brand img { display:block; height:auto; max-width:100%; }
.brand .brand-compact { display:none; }
.brand small { color:#bfc2b9; letter-spacing:.12em; text-transform:uppercase; }
.rail nav { display:grid; gap:5px; margin-top:30px; }
.rail nav button,.guide-link { min-height:46px; padding:10px 12px; border:0; border-radius:7px; background:transparent; color:#c2c5bd; display:flex; align-items:center; gap:12px; text-align:left; font-size:.875rem; text-decoration:none; }
.rail nav button>span,.guide-link>span { width:24px; height:24px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #65695f; border-radius:6px; font-size:.8125rem; }
.rail nav button:hover,.guide-link:hover { color:var(--paper); background:#3b4039; }
.rail nav button.active { color:var(--paper); background:#41493f; box-shadow:inset 3px 0 #a9b49f; }
.guide-link { margin-top:24px; border-top:1px solid #51564e; border-radius:0; padding-top:18px; }
.rail-status { margin-top:auto; padding:26px 12px 0; color:#d7dacf; display:grid; grid-template-columns:12px 1fr; font-size:.8125rem; }
.rail-status i { width:6px; height:6px; margin-top:7px; border-radius:50%; background:#a9b49f; }
.rail-status small { grid-column:2; margin-top:4px; color:#adb1a7; font-size:.75rem; }
.app-main { min-width:0; }
.app-topbar { min-height:86px; position:sticky; top:0; z-index:15; padding:12px 32px; border-bottom:1px solid var(--line); background:var(--paper); display:flex; align-items:center; gap:16px; }
.top-select { display:grid; gap:4px; font-size:.875rem; }
.context-main { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; flex:1; min-width:0; }
.context-main>.context-picker:only-child { grid-column:1/-1; }
.context-picker { position:relative; min-width:0; }
.context-trigger { display:flex; align-items:center; gap:14px; width:100%; min-height:84px; padding:16px 20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); text-align:left; }
.context-trigger:hover:not(:disabled),.context-trigger[aria-expanded=true] { border-color:var(--green); background:var(--soft); }
.context-trigger:disabled { opacity:.65; cursor:default; }
.context-icon { flex-shrink:0; color:var(--green-deep); }
.context-copy { display:grid; gap:5px; min-width:0; flex:1; }
.context-copy>span { font-size:.875rem; color:var(--muted); }
.context-copy strong { font-size:1rem; font-weight:600; overflow-wrap:anywhere; }
.context-chevron { flex-shrink:0; transition:transform .15s; }
.context-trigger[aria-expanded=true] .context-chevron { transform:rotate(180deg); }
.context-menu { position:absolute; top:calc(100% + 8px); left:0; width:100%; min-width:0; max-height: min(440px,65vh); overflow:auto; z-index:30; padding:12px; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 30px #292b2a18; }
.context-menu input { width:100%; min-width:0; margin:0 0 8px; padding:10px 12px; font-size:1rem; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); }
.context-options,.context-months,.context-roles { display:grid; gap:4px; }
.context-months { grid-template-columns:repeat(3,minmax(0,1fr)); }
.context-roles { grid-template-columns:repeat(2,minmax(0,1fr)); }
.context-menu button { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:12px; border:0; border-radius:8px; background:transparent; color:var(--ink); text-align:left; font-size:.875rem; overflow-wrap:anywhere; }
.context-menu button:hover,.context-menu button[aria-pressed=true] { background:var(--soft); }
.context-menu button[aria-pressed=true] { font-weight:600; }
.context-menu button small { display:block; margin-top:4px; color:var(--muted); font-size:.75rem; font-weight:400; }
.context-group { padding:8px 12px; font-weight:600; }
.context-empty { padding:8px; font-size:.875rem; }
.role-preview>.context-picker { flex:0 1 360px; width:100%; }
.role-preview { position:relative; z-index:14; }
@media(max-width:1000px){.context-trigger { padding:14px; gap:10px; }.context-main { gap:12px; }}
@media(max-width:760px){.context-main { width:100%; flex-basis:calc(100% - 55px); grid-template-columns:minmax(0,1fr); }.context-trigger { min-height:76px; }.app-topbar>.account-button { align-self:flex-start; }.role-preview>.context-picker { flex-basis:100%; }.context-months,.context-roles { grid-template-columns:1fr; }}
.top-select>span { color:var(--muted); font-size:.75rem; }
.top-select select,.filter-bar select,.panel>header>select { max-width:100%; min-width:170px; min-height:40px; padding:6px 30px 6px 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface); }
.account-button { margin-left:auto; min-height:48px; padding:0; border:0; background:transparent; display:grid; grid-template-columns:40px auto; grid-template-rows:1fr 1fr; column-gap:10px; text-align:left; }
.account-button>span { grid-row:1/3; width:40px; height:40px; margin:auto 0; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--green-deep); font-size:.875rem; }
.account-button b { align-self:end; font-size:.875rem; }
.account-button small { color:var(--muted); font-size:.75rem; }
.account-menu { width:280px; position:absolute; right:28px; top:78px; padding:18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 12px 32px #292b2a14; display:grid; gap:8px; }
.account-menu small { color:var(--muted); overflow-wrap:anywhere; }
.account-menu button { padding:8px 0; border:0; background:transparent; text-align:left; }
.account-menu form { border-top:1px solid var(--line); }
.logout { color:var(--danger); }
.content { width:min(1540px,100%); margin:0 auto; padding:28px clamp(20px,3vw,48px) 64px; }
.guide-entry { margin-bottom:28px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--line); border-left:3px solid var(--green); border-radius:6px; text-decoration:none; }
.guide-entry span { display:grid; gap:3px; }
.guide-entry strong { font-size:.875rem; }
.guide-entry small { color:var(--muted); }
.guide-entry:hover { background:var(--surface); }
.page-head { margin-bottom:26px; display:flex; align-items:flex-end; justify-content:space-between; gap:22px; }
.kicker { margin:0 0 10px; color:var(--green-deep); font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.page-head h1,.state-page h1 { margin:0; font-size:clamp(28px,3vw,36px); line-height:1.2; letter-spacing:-.035em; }
.page-head>div>p:last-child { max-width:740px; margin:12px 0 0; color:var(--muted); font-size:1rem; }
.primary,.secondary { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 17px; border-radius:6px; font-weight:600; font-size:.875rem; text-decoration:none; }
.primary { border:1px solid var(--green); background:var(--green); color:#fff; }
.primary:hover { background:var(--green-deep); }
.secondary { border:1px solid var(--line); background:var(--surface); }
.hero-metrics { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:14px; }
.hero-metrics article,.mini-metrics article { padding:22px; border:1px solid var(--line); border-radius:10px; background:var(--surface); display:flex; flex-direction:column; }
.hero-metrics article { min-height:170px; }
.hero-metrics small,.mini-metrics small,.accounting-summary small { color:var(--muted); font-size:.875rem; }
.hero-metrics strong { margin-top:22px; font-size:30px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.hero-metrics span { margin-top:auto; color:var(--muted); font-size:.8125rem; }
.hero-metrics .accent,.mini-metrics .dark { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.hero-metrics .accent small,.hero-metrics .accent span,.mini-metrics .dark small { color:#c2c5bd; }
.start-grid { margin-top:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.start-grid button { min-height:240px; padding:22px; border:1px solid var(--line); border-radius:10px; background:var(--surface); display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
.start-grid button:hover { border-color:var(--green); }
.start-grid button>span { color:var(--green-deep); font-size:.8125rem; }
.start-grid strong { margin-top:28px; font-size:1.125rem; }
.start-grid p { margin:10px 0 18px; color:var(--muted); font-size:.875rem; }
.start-grid b { margin-top:auto; color:var(--green-deep); font-size:.875rem; }
.principle { margin-top:18px; padding:22px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:center; gap:24px; }
.principle span,.principle strong { display:grid; }
.principle small { margin-top:4px; color:var(--muted); font-size:.75rem; }
.principle i { color:var(--green); font-style:normal; font-size:24px; }
.panel { margin-top:16px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.panel>header { min-height:78px; padding:18px 22px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.panel>header>div { display:grid; gap:5px; }
.panel>header small { color:var(--muted); }
.search { width:min(300px,45vw); min-height:42px; padding:8px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.table-scroll { overflow:auto; }
table { min-width:880px; width:100%; border-collapse:collapse; }
th,td { padding:16px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; font-size:.875rem; font-variant-numeric:tabular-nums; }
th { background:var(--paper); color:var(--muted); font-weight:400; }
td:first-child { min-width:220px; }
tbody tr:hover,tbody tr.selected { background:#eeeede; }
.person { display:flex; align-items:center; gap:10px; }
.person>i { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--green-deep); font-size:.8125rem; font-style:normal; }
.person>span { display:grid; gap:3px; }
.person small { color:var(--muted); font-size:.75rem; }
.person.compact>i { width:28px; height:28px; }
.cell-note,.auto-note { display:block; margin-top:4px; color:var(--muted); font-size:.75rem; }
.row-buttons { display:flex; flex-wrap:wrap; gap:7px; }
.row-buttons button,.inline-action,.pay-button { min-height:36px; padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface); font-size:.875rem; }
.row-buttons button:hover,.inline-action:hover { border-color:var(--green); }
.row-buttons .pay-button,.pay-button { background:var(--green); color:#fff; border-color:var(--green); }
.row-buttons .pay-button:hover:not(:disabled),.pay-button:hover:not(:disabled) { background:var(--green-deep); border-color:var(--green-deep); color:#fff; }
.empty { min-height:250px; padding:30px; display:grid; place-items:center; align-content:center; text-align:center; }
.empty>span { color:var(--green); font-size:28px; }
.empty>strong { margin-top:12px; }
.empty p { max-width:500px; margin:10px 0 20px; color:var(--muted); }
.filter-bar { min-height:64px; margin-bottom:16px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:var(--surface); display:flex; align-items:center; gap:16px; }
.filter-bar label { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.875rem; }
.source-pill { margin-left:auto; padding:7px 10px; border:1px solid var(--line); border-radius:6px; color:var(--muted); font-size:.8125rem; }
.source-pill i { display:none; }
.mini-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.mini-metrics article { min-height:112px; }
.mini-metrics strong { margin-top:16px; font-size:22px; }
.history-panel { margin-top:22px; }
.history-table { min-width:1550px; }
.history-table th:first-child,.history-table td:first-child { position:sticky; left:0; z-index:1; background:var(--surface); }
.history-table td:not(:first-child) { color:var(--muted); }
.history-table td.has-value { color:var(--ink); }
.employee-history { margin-top:22px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.employee-history>header { padding:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); }
.employee-history>header>div { display:grid; text-align:right; }
.employee-history>header>div small { color:var(--muted); }
.employee-history>header>div strong { margin-top:5px; font-size:22px; }
.history-ledger { max-height:500px; overflow:auto; }
.history-ledger article { min-height:95px; padding:20px 22px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:160px 1fr; align-items:center; gap:15px; }
.history-ledger time { font-size:.875rem; text-transform:capitalize; }
.history-ledger dl { margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.history-ledger dl div { display:grid; gap:5px; }
.history-ledger dt { color:var(--muted); font-size:.75rem; }
.history-ledger dd { margin:0; font-size:.875rem; font-weight:600; }
.accounting-summary { display:grid; grid-template-columns:2fr 1fr 1fr; overflow:hidden; border-radius:10px; background:var(--ink); color:var(--paper); }
.accounting-summary>div { min-height:125px; padding:22px; border-right:1px solid #565c51; display:grid; align-content:center; gap:12px; }
.accounting-summary small { color:#c2c5bd; }
.accounting-summary strong { font-size:28px; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.directory-grid .panel { margin-top:0; }
.directory .setting-row>span { display:grid; gap:4px; min-width:0; }
.directory .setting-row>span small { display:block; }
.toolbar { margin:0 0 16px; display:flex; flex-wrap:wrap; gap:10px; }
.queue-row { min-height:78px; padding:16px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.queue-row>span { display:grid; gap:5px; }
.queue-row small { color:var(--muted); }
.relation-list { margin:8px 0 18px; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.relation-list a { min-height:54px; padding:12px 14px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; text-decoration:none; }
.relation-list a:last-child { border-bottom:0; }
.relation-list a:hover { background:var(--paper); }
.relation-list b { min-width:34px; min-height:30px; display:grid; place-items:center; border-radius:5px; background:var(--paper); }
.danger { min-height:44px; padding:10px 17px; border:1px solid var(--danger); border-radius:6px; background:var(--danger); color:#fff; font-weight:600; }
.modal fieldset { margin:0; padding:14px; border:1px solid var(--line); border-radius:7px; }
.modal legend { padding:0 7px; color:var(--muted); font-size:.875rem; }
.modal .check { min-height:36px; grid-template-columns:22px 1fr; align-items:center; gap:9px; color:var(--ink); }
.modal .check input { width:18px; min-height:18px; }
.settings-grid .panel { margin-top:0; }
.company-list>div,.setting-row { min-height:76px; padding:16px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:12px; }
.company-list>div.active { background:var(--soft); }
.company-list>div>span { min-width:40px; min-height:40px; padding:7px; display:grid; place-items:center; border-radius:6px; border:1px solid var(--line); font-size:.8125rem; }
.company-list p { margin:0; display:grid; gap:4px; }
.company-list p small,.setting-row small { color:var(--muted); font-size:.8125rem; }
.company-list>div>b { margin-left:auto; color:var(--green-deep); font-size:.75rem; }
.setting-row span { font-size:.875rem; }
.setting-row small { margin-left:auto; }
.integration-body { min-height:280px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; }
.integration-icon { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:6px; color:var(--green-deep); font-size:22px; }
.integration-body h3 { margin:20px 0 10px; }
.integration-body p,.formula>p { margin:0 0 20px; color:var(--muted); font-size:.875rem; }
.formula>div { padding:46px 20px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.formula>div b,.formula>div strong { padding:10px; border-radius:6px; background:var(--paper); font-size:.875rem; }
.formula>div strong { background:var(--ink); color:var(--paper); }
.formula>p { padding:0 22px; text-align:center; }
.ok-pill { padding:6px 9px; border-radius:6px; background:var(--soft); color:var(--green-deep); font-size:.8125rem; }
.modal-layer { position:fixed; z-index:80; inset:0; padding:22px; background:#292b2a99; display:grid; place-items:center; overflow:auto; }
.modal { width:min(680px,100%); max-height:calc(100svh - 44px); padding:28px; position:relative; overflow:auto; border-radius:12px; background:var(--surface); }
.modal h2 { margin:0 42px 20px 0; font-size:26px; line-height:1.25; }
.modal-close { width:36px; height:36px; position:absolute; right:18px; top:18px; border:1px solid var(--line); border-radius:6px; background:var(--surface); font-size:22px; }
.modal form { display:grid; gap:16px; }
.modal label { display:grid; gap:7px; color:var(--muted); font-size:.875rem; }
.modal input,.modal select,.modal textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:#fff; }
.modal textarea { min-height:90px; resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid .wide { grid-column:1/-1; }
.form-note,.notice { margin:0; padding:14px 16px; border:1px solid var(--line); border-left:3px solid var(--green); border-radius:6px; background:var(--paper); color:#565b52; font-size:.875rem; }
.notice { margin-bottom:18px; }
.submit { justify-self:start; margin-top:5px; }
.modal-person { margin:-8px 0 4px; color:var(--muted); }
.breakdown { padding:14px; border-radius:6px; background:var(--paper); display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.breakdown span { display:grid; gap:6px; color:var(--muted); font-size:.8125rem; }
.breakdown b { color:var(--ink); font-size:1rem; }
.toast { position:fixed; z-index:100; right:24px; bottom:24px; min-height:50px; max-width:min(460px,calc(100vw - 28px)); padding:14px 18px; border:1px solid #636a5e; border-radius:8px; background:var(--ink); color:var(--paper); display:flex; align-items:center; gap:16px; }
.toast span { margin-left:auto; }
.state-page { min-height:100vh; padding:24px; display:grid; place-items:center; }
.state-page>section { width:min(520px,100%); padding:34px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.state-page .brand { margin-bottom:30px; background:var(--ink); border-radius:6px; padding:20px; }
.state-page>section>p:not(.kicker) { color:var(--muted); }

@media (max-width:1100px) {
  .app-shell { grid-template-columns:210px minmax(0,1fr); }
  .rail { padding:24px 12px; }
  .app-topbar { padding:12px 20px; }
  .content { padding:24px 20px 50px; }
  .hero-metrics,.mini-metrics { grid-template-columns:1fr 1fr; }
  .hero-metrics article:first-child { grid-column:1/-1; }
  .settings-grid,.start-grid { grid-template-columns:1fr; }
  .directory-grid { grid-template-columns:1fr; }
  .start-grid button { min-height:175px; }
  .start-grid strong { margin-top:16px; }
  .account-button b,.account-button small { display:none; }
  .account-button { grid-template-columns:40px; }
}
@media (max-width:760px) {
  .app-shell { display:block; }
  .rail { position:relative; width:100%; height:auto; padding:14px 16px; overflow:visible; }
  .rail .brand { padding:8px 0; flex-direction:row; align-items:center; gap:24px; }
  .rail .brand-full { width:130px; }
  .rail nav { margin-top:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; gap:4px; }
  .rail nav button { min-width:0; padding:9px 6px; min-height:42px; justify-content:center; text-align:center; line-height:1.25; white-space:normal; }
  .rail nav button>span,.rail-status { display:none; }
  .guide-link { position:absolute; right:16px; top:19px; margin:0; padding:8px; border:0; }
  .guide-link>span { display:none; }
  .rail .brand small { display:none; }
  .app-topbar { top:0; min-height:68px; padding:10px 16px; flex-wrap:wrap; gap:10px; }
  .top-select { min-width:0; max-width:calc(100% - 55px); }
  .top-select select { min-width:130px; max-width:100%; }
  .content { padding:20px 16px 50px; }
  .page-head { align-items:flex-start; flex-direction:column; }
  .hero-metrics,.mini-metrics { grid-template-columns:1fr; }
  .principle { justify-content:flex-start; gap:18px; overflow:auto; }
  .principle>span,.principle>strong { flex:0 0 auto; }
  .filter-bar { align-items:stretch; flex-direction:column; }
  .filter-bar label { flex-wrap:wrap; }
  .source-pill { margin-left:0; align-self:flex-start; }
  .accounting-summary { grid-template-columns:1fr; }
  .accounting-summary>div { min-height:95px; border-bottom:1px solid #565c51; }
  .history-ledger article { grid-template-columns:1fr; }
  .history-ledger dl { grid-template-columns:1fr 1fr; }
  .form-grid,.breakdown { grid-template-columns:1fr; }
  .form-grid .wide { grid-column:auto; }
  .panel>header { align-items:flex-start; flex-wrap:wrap; }
  .search { width:100%; }
  .company-list>div { flex-wrap:wrap; }
  .queue-row,.setting-row { align-items:flex-start; flex-direction:column; }
  .employee-history>header { flex-wrap:wrap; }
  .modal { padding:22px 18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.role-preview { padding:14px 28px; display:flex; flex-wrap:wrap; align-items:center; gap:16px; border-bottom:1px solid var(--line); background:var(--paper); }
.role-preview label { display:grid; gap:5px; font-size:.8rem; color:var(--muted); }
.role-preview p { margin:0; max-width:360px; font-size:.8rem; }
.role-preview select,.filter-bar select { max-width:100%; min-height:38px; padding:6px 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); }
.segmented { display:flex; border:1px solid var(--line); border-radius:7px; padding:3px; gap:3px; }
.segmented button { padding:8px 12px; border:0; border-radius:5px; background:transparent; white-space:nowrap; }
.segmented button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.filter-bar { flex-wrap:wrap; }
.cell-link { border:0; padding:5px 0; text-align:left; background:transparent; color:var(--ink); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px; }
.cell-link:hover { color:var(--green-deep); text-decoration-color:currentColor; }
button:disabled { opacity:.62; cursor:not-allowed; }
.history-table { min-width:0; table-layout:fixed; }
.history-table th,.history-table td { padding:14px 6px; font-size:12px; text-align:right; }
.history-table td:first-child,.history-table th:first-child { width:190px; min-width:190px; max-width:190px; white-space:normal; text-align:left; padding-left:16px; }
.history-table td:last-child,.history-table th:last-child { width:85px; }
.history-table .cell-note { font-size:10px; }
.history-table .cell-link { text-align:inherit; }
.history-table th { position:sticky; top:0; }
.history-table th:first-child { z-index:2; }
tfoot th { font-weight:600; color:var(--ink); }
.salary-detail { width:min(800px,100%); }
.salary-detail h3 { margin:24px 0 10px; font-size:17px; }
.detail-list { display:grid; gap:8px; }
.detail-list>div { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line); }
.detail-list dd { font-weight:600; }
.income-chart { padding:24px; display:grid; gap:10px; }
.income-chart button { border:0; display:grid; grid-template-columns:150px 1fr 150px; align-items:center; gap:18px; background:none; text-align:left; min-height:40px; }
.income-bar { min-width:4px; height:14px; display:flex; overflow:hidden; border-radius:3px; background:var(--soft); }
.income-bar i { height:100%; border-radius:0; }
.income-bar .salary,.chart-legend .salary { background:var(--green); }
.income-bar .kpi,.chart-legend .kpi { background:#292b2a; }
.income-bar .bonus,.chart-legend .bonus { background:#b7a67d; }
.chart-legend { margin-bottom:8px; display:flex; justify-content:flex-end; gap:18px; color:var(--muted); font-size:.75rem; }
.chart-legend span { display:flex; align-items:center; gap:7px; }
.chart-legend i { width:12px; height:12px; border-radius:2px; }
.chart-help { margin:10px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:.8125rem; }
.income-chart strong { text-align:right; }
.policy-fields { margin:18px 0; }
.modal summary { cursor:pointer; padding:12px 0; }
.queue-toolbar { margin-top:18px; align-items:center; }
.queue-toolbar small { color:var(--muted); max-width:600px; }
.mobile-ledger { display:none; }
@media(max-width:760px){.personal-ledger{display:none}.mobile-ledger{display:grid;gap:10px;margin-top:16px}.mobile-ledger button{display:grid;grid-template-columns:1fr;gap:7px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mobile-ledger strong{font-size:22px}.mobile-ledger small{color:var(--muted)}}
@media(max-width:760px){.role-preview{padding:14px 16px;align-items:stretch}.role-preview label{width:100%}.income-chart{padding:16px}.income-chart button{grid-template-columns:95px 1fr 100px;gap:8px;font-size:12px}.chart-legend{justify-content:flex-start;flex-wrap:wrap}.filter-bar{min-width:0;width:100%}.filter-bar label{min-width:0;width:100%}.filter-bar .search{max-width:100%}.filter-bar .segmented{width:100%;min-width:0;max-width:100%;flex-wrap:wrap}.filter-bar .segmented button{flex:1 1 auto}}

/* Friendly role dashboards */
.today-summary { margin-bottom:16px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; }
.today-summary article { min-height:112px; padding:20px 22px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.today-summary article.dark { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.today-summary small { color:var(--muted); }
.today-summary .dark small { color:#c2c5bd; }
.today-summary strong { font-size:clamp(22px,2vw,30px); font-variant-numeric:tabular-nums; }
.today-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr); gap:16px; }
.today-panel,.setup-panel { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.today-panel>header,.setup-panel>header,.structure-view>header,.directory-list>header { min-height:76px; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); }
.today-panel>header>div,.setup-panel>header>div,.structure-view>header>div,.directory-list>header>div { display:grid; gap:4px; }
.today-panel header small,.setup-panel header small,.structure-view header p,.directory-list header p { margin:0; color:var(--muted); font-size:.8125rem; }
.attention-pill,.request-status { display:inline-flex; align-items:center; width:max-content; min-height:28px; padding:4px 9px; border-radius:999px; background:var(--soft); color:var(--green-deep); font-size:.75rem; font-weight:600; }
.today-task { width:100%; min-height:86px; padding:16px 22px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:14px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }
.today-task:last-child { border-bottom:0; }
.today-task:hover { background:var(--paper); }
.today-task>span:first-child { width:38px; height:38px; display:grid; place-items:center; border-radius:7px; background:var(--soft); color:var(--green-deep); font-weight:600; }
.today-task>span:nth-child(2) { display:grid; gap:4px; }
.today-task small { color:var(--muted); }
.today-task b { color:var(--green-deep); font-size:.8125rem; }
.setup-panel>div>button { width:100%; min-height:68px; padding:13px 20px; display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }
.setup-panel>div>button:hover { background:var(--paper); }
.setup-panel>div>button>span:first-child { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); }
.setup-panel>div>button.done>span:first-child { border-color:var(--green); background:var(--green); color:#fff; }
.setup-panel>div>button>span:last-child { display:grid; gap:2px; }
.setup-panel small { color:var(--muted); }
.friendly-note { margin:16px 0 0; padding:15px 18px; border-left:3px solid var(--green); border-radius:6px; background:var(--surface); color:var(--muted); }

/* Team and hierarchy */
.team-groups { display:grid; gap:16px; }
.team-group { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.team-group>header { min-height:66px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.team-group>header span { display:grid; }
.team-group>header small { color:var(--muted); }
.team-group>header b { min-width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--green-deep); }
.team-person { width:100%; min-height:74px; padding:14px 18px; display:grid; grid-template-columns:minmax(230px,1.4fr) minmax(170px,1fr) minmax(135px,.7fr) auto; align-items:center; gap:18px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }
.team-person:last-child { border-bottom:0; }
.team-person:hover { background:var(--paper); }
.team-person>span { display:grid; gap:3px; }
.team-person small { color:var(--muted); }
.team-person em { padding:4px 7px; border-radius:5px; background:var(--soft); color:var(--green-deep); font-size:.7rem; font-style:normal; }
.access-dot { color:var(--muted); font-size:.8125rem; }
.access-dot.on { color:var(--green-deep); font-weight:600; }

/* Structure and directories */
.section-tabs { margin-bottom:16px; display:flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.section-tabs button { min-height:42px; padding:8px 14px; display:flex; align-items:center; gap:8px; border:0; border-radius:6px; background:transparent; }
.section-tabs button:hover { background:var(--paper); }
.section-tabs button[aria-selected=true] { background:var(--ink); color:var(--paper); }
.section-tabs button span { min-width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--ink); font-size:.7rem; }
.structure-view,.directory-list { overflow:visible; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.structure-list>article { --tree-level:0; min-height:78px; padding:14px 18px 14px calc(18px + var(--tree-level) * 26px); position:relative; display:grid; grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) auto auto; align-items:center; gap:14px; border-bottom:1px solid var(--line); }
.structure-list>article:last-child { border-bottom:0; }
.tree-line { width:18px; height:38px; position:absolute; left:calc(16px + var(--tree-level) * 26px - 18px); top:0; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.structure-copy,.structure-lead { display:grid; gap:3px; }
.structure-copy small,.structure-lead small { color:var(--muted); }
.structure-lead strong { font-size:.875rem; }
.directory-list>div>article { min-height:70px; padding:14px 18px; display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--line); }
.directory-list>div>article:last-child { border-bottom:0; }
.directory-list article>span { min-width:0; display:grid; gap:3px; }
.directory-list article>span small { color:var(--muted); }
.directory-list article>.secondary,.directory-list article>.entity-menu { margin-left:auto; }
.directory-empty { min-height:150px; margin:0; padding:28px; display:grid; place-items:center; color:var(--muted); text-align:center; }
.entity-menu { position:relative; }
.entity-menu summary { width:38px; height:38px; padding:0; display:grid; place-items:center; list-style:none; border:1px solid var(--line); border-radius:6px; cursor:pointer; letter-spacing:2px; }
.entity-menu summary::-webkit-details-marker { display:none; }
.entity-menu[open] summary { background:var(--soft); border-color:var(--green); }
.entity-menu>div { width:170px; position:absolute; z-index:10; right:0; top:44px; padding:6px; display:grid; gap:2px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 12px 28px #292b2a20; }
.entity-menu button { min-height:38px; padding:8px 10px; border:0; border-radius:5px; background:transparent; text-align:left; }
.entity-menu button:hover { background:var(--paper); }
.entity-menu .danger-link { color:var(--danger); }

/* Audit history */
.audit-view { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.audit-view>header { min-height:92px; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.audit-view>header h2 { margin:0 0 5px; font-size:22px; }
.audit-view>header p { max-width:660px; margin:0; color:var(--muted); font-size:.8125rem; }
.audit-metrics { display:flex; align-items:center; gap:20px; color:var(--muted); font-size:.75rem; white-space:nowrap; }
.audit-metrics span { display:grid; gap:2px; }
.audit-metrics b { color:var(--ink); font-size:1.125rem; }
.audit-filters { padding:14px 22px; display:grid; grid-template-columns:minmax(190px,.65fr) minmax(210px,.8fr) minmax(260px,1.4fr); gap:12px; border-bottom:1px solid var(--line); background:var(--paper); }
.audit-filters label { display:grid; gap:5px; color:var(--muted); font-size:.75rem; }
.audit-filters select,.audit-filters input { width:100%; min-height:42px; padding:8px 11px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--ink); }
.audit-timeline { padding:20px 22px 28px; }
.audit-timeline>section { position:relative; padding-left:25px; }
.audit-timeline>section::before { content:""; position:absolute; left:5px; top:41px; bottom:0; border-left:1px solid var(--line); }
.audit-timeline>section>h3 { margin:4px 0 14px -25px; color:var(--muted); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.audit-timeline article { position:relative; margin-bottom:12px; }
.audit-marker { width:11px; height:11px; position:absolute; left:-25px; top:24px; z-index:1; border:2px solid var(--surface); border-radius:50%; background:var(--green); box-shadow:0 0 0 1px var(--green); }
.audit-card { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fbfaf6; }
.audit-card>header { padding:14px 16px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.audit-card>header>div { display:grid; gap:2px; }
.audit-card>header span { color:var(--green-deep); font-size:.68rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.audit-card h4 { margin:0; font-size:.9375rem; }
.audit-card header p { margin:2px 0 0; color:var(--muted); font-size:.8125rem; }
.audit-card time { color:var(--muted); font-size:.75rem; white-space:nowrap; }
.audit-changes { border-top:1px solid var(--line); }
.audit-changes>div { min-height:45px; padding:9px 16px; display:grid; grid-template-columns:minmax(150px,.7fr) minmax(140px,1fr) 22px minmax(140px,1fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); font-size:.8125rem; }
.audit-changes>div:last-child { border-bottom:0; }
.audit-changes>div>span { color:var(--muted); }
.audit-changes del { color:var(--muted); text-decoration:none; overflow-wrap:anywhere; }
.audit-changes del::after { content:"→"; float:right; color:var(--green); }
.audit-changes strong { grid-column:4; overflow-wrap:anywhere; }
.audit-changes>div:not(:has(del)) strong { grid-column:2/5; }
.audit-card>footer { padding:10px 16px; display:flex; align-items:center; gap:8px; border-top:1px solid var(--line); background:var(--paper); font-size:.75rem; }
.audit-card footer small { color:var(--muted); }
.audit-card footer em { margin-left:auto; color:var(--green-deep); font-size:.7rem; font-style:normal; }
.audit-empty { min-height:220px; display:grid; place-content:center; text-align:center; }
.audit-empty p { margin:5px 0 0; color:var(--muted); }

/* Employee card */
.employee-card>h2 { margin-bottom:16px; }
.modal-tabs { margin-bottom:18px; display:flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:8px; }
.modal-tabs button { flex:1; min-height:40px; padding:8px 10px; border:0; border-radius:5px; background:transparent; }
.modal-tabs button[aria-selected=true] { background:var(--ink); color:var(--paper); }
.employee-card-summary { display:grid; gap:16px; }
.employee-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.employee-card-heading h2 { margin-bottom:0; }
.employee-card-editor-stack { display:grid; gap:18px; }
.employee-card-editor { padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.employee-card-editor h3 { margin:0 0 14px; }
.employee-card-summary dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.employee-card-summary dl div { padding:14px; display:grid; gap:4px; border:1px solid var(--line); border-radius:7px; }
.employee-card-summary dt { color:var(--muted); font-size:.75rem; }
.employee-card-summary dd { margin:0; font-weight:600; }
.my-employments { display:grid; gap:12px; }
.my-employments>h3 { margin:0 0 4px; }
.my-employment-card { display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,.75fr)) auto; gap:14px; align-items:center; padding:15px 16px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.my-employment-card span { display:grid; gap:3px; }
.my-employment-card small { color:var(--muted); }
.access-state { margin:0; padding:22px; display:grid; grid-template-columns:42px 1fr; gap:3px 12px; border:1px solid var(--line); border-radius:8px; }
.access-state>span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--green-deep); }
.access-state small { color:var(--muted); }
.field-with-action { display:flex; align-items:flex-end; gap:10px; }
.field-with-action label { flex:1; }
.inline-create { padding:12px; display:grid; grid-template-columns:1fr auto; gap:10px; border:1px solid var(--line); border-radius:7px; background:var(--paper); }

.request-status--pending { background:#eee5c8; color:#735b18; }
.request-status--approved,.request-status--paid { background:var(--soft); color:var(--green-deep); }
.request-status--rejected { background:#f4ded9; color:var(--danger); }
.approval-filters { width:max-content; max-width:100%; margin:0 0 14px; overflow:auto; }
.decision-record { display:inline-block; color:var(--muted); font-size:.75rem; white-space:nowrap; }
.row-buttons .pay-button:disabled,.pay-button:disabled,.primary:disabled { opacity:1; border-color:#aeb5aa; background:#e7e9e1; color:#3f473e; }
.payment-queue-table { min-width:1240px; table-layout:fixed; }
.payment-queue-table th,.payment-queue-table td { padding:13px 10px; }
.payment-queue-table th:first-child,.payment-queue-table td:first-child { width:42px; min-width:42px; }
.payment-queue-table th:nth-child(2) { width:20%; }
.payment-queue-table th:nth-child(3) { width:16%; }
.payment-queue-table th:nth-child(4),.payment-queue-table th:nth-child(5) { width:11%; }
.payment-queue-table th:nth-child(6) { width:14%; }
.payment-queue-table th:last-child { width:410px; }
.payment-queue-table .cell-link { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.payment-queue-table .row-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; justify-content:stretch; }
.payment-queue-table .row-buttons button { width:100%; min-width:0; padding-inline:8px; white-space:normal; }
.payment-queue-table .planned-payment { grid-column:1/-1; }

@media(max-width:760px){
  .employee-card-heading { align-items:stretch; flex-direction:column; }
  .employee-card-heading>button { width:100%; }
  .payment-queue-table { min-width:0; table-layout:auto; }
  .payment-queue-table thead { display:none; }
  .payment-queue-table tbody { display:grid; gap:10px; padding:10px; }
  .payment-queue-table tbody tr { position:relative; display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
  .payment-queue-table tbody tr:hover { background:var(--surface); }
  .payment-queue-table tbody td { min-width:0; width:auto; padding:10px 12px; display:grid; grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr); gap:10px; align-items:start; border-bottom:1px solid var(--line); white-space:normal; }
  .payment-queue-table tbody td::before { color:var(--muted); font-size:.75rem; font-weight:400; }
  .payment-queue-table tbody td:nth-child(2)::before { content:"Сотрудник / компания"; }
  .payment-queue-table tbody td:nth-child(3)::before { content:"Юрлицо / отдел"; }
  .payment-queue-table tbody td:nth-child(4)::before { content:"Начислено"; }
  .payment-queue-table tbody td:nth-child(5)::before { content:"Всего выплачено"; }
  .payment-queue-table tbody td:nth-child(6)::before { content:"План к выплате"; }
  .payment-queue-table tbody td:first-child { position:absolute; z-index:1; top:9px; right:9px; display:block; width:auto; min-width:0; padding:4px; border:0; }
  .payment-queue-table tbody td:nth-child(2) { padding-right:48px; }
  .payment-queue-table tbody td:last-child { display:block; border-bottom:0; }
  .payment-queue-table .cell-link { white-space:normal; text-align:left; }
  .payment-queue-table .row-buttons { display:grid; grid-template-columns:1fr; justify-content:stretch; }
  .payment-queue-table .row-buttons button { width:100%; min-height:42px; }
}

/* Salary analytics and KPI drill-down */
.team-tabs { margin-bottom:16px; }
.salary-analytics { display:grid; gap:14px; }
.analytics-controls { padding:14px 16px; display:flex; align-items:flex-end; gap:12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.analytics-controls label { display:grid; gap:5px; color:var(--muted); font-size:.75rem; }
.analytics-controls select { min-width:150px; min-height:42px; padding:8px 11px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
.analytics-note { padding:11px 14px; border-left:3px solid var(--green); border-radius:5px; background:var(--soft); color:var(--green-deep); font-size:.78rem; }
.analytics-table { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.analytics-table>header,.analytics-table>button { display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(150px,.85fr) minmax(160px,1fr); align-items:center; gap:16px; }
.analytics-table>header { min-height:48px; padding:10px 18px; background:#e9e5dc; color:var(--muted); font-size:.72rem; }
.analytics-table>button { width:100%; min-height:78px; padding:14px 18px; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; }
.analytics-table>button:hover { background:#f2f1e9; }
.analytics-table>button>span:first-child { display:grid; gap:3px; }
.analytics-table small { color:var(--muted); font-size:.72rem; }
.analytics-table .positive { color:var(--green-deep); }
.analytics-table .negative { color:var(--danger); }
.analytics-table .positive,.analytics-table .negative { display:grid; gap:3px; }
.compare-bars { display:grid; gap:6px; }
.compare-bars i,.compare-bars b { display:block; height:7px; border-radius:999px; background:#c8cbc3; }
.compare-bars b { background:var(--green); }
.kpi-breakdown { margin:18px 0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.kpi-breakdown summary { padding:14px 16px; cursor:pointer; background:#e9e5dc; color:var(--green-deep); font-weight:700; }
.kpi-summary { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.kpi-summary span { padding:14px 16px; display:grid; gap:4px; }
.kpi-summary small,.kpi-items small { color:var(--muted); }
.kpi-items .kpi-object { width:100%; padding:13px 16px; display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(135px,.7fr) minmax(135px,.7fr) auto; align-items:center; gap:12px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }
.kpi-items .kpi-object:hover { background:#f2f1e9; }
.kpi-items .kpi-object:last-child { border-bottom:0; }
.kpi-items .kpi-object>span { display:grid; gap:3px; }
.kpi-items a { color:var(--green-deep); font-size:.75rem; font-weight:700; }
.kpi-order-detail { position:fixed; z-index:3; width:min(880px,calc(100vw - 40px)); max-height:calc(100vh - 40px); overflow:auto; }
.external-link { width:max-content; margin-top:16px; }
.period-controls { min-width:min(520px,48vw); min-height:84px; padding:10px 18px; display:grid; grid-template-columns:auto 120px minmax(160px,1fr); align-items:end; gap:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.period-controls>span { align-self:center; color:var(--muted); }
.period-controls label,.month-choice { display:grid; gap:5px; color:var(--muted); font-size:.72rem; }
.period-controls select,.month-choice select { width:100%; min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
.month-choice { grid-template-columns:100px minmax(150px,1fr); }
.analytics-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.analytics-controls > label { min-width:0; }
.analytics-controls .segmented { grid-column:1/-1; flex-wrap:wrap; min-width:0; }
.analytics-controls .month-choice { grid-template-columns:minmax(80px,1fr) minmax(125px,1.5fr); }
.analytics-controls .month-choice select { min-width:0; width:100%; }
.section-tabs button.primary.employee-advance { background:#6E796C; color:#fff; border-color:#6E796C; }
.section-tabs button.primary.employee-advance:hover { background:#292B2A; }
.field-with-action { min-width:0; flex-wrap:wrap; align-items:end; }
.field-with-action > label { flex:1 1 160px; min-width:0; }
.app-topbar { flex-wrap:wrap; gap:12px; }
.context-main { min-width:0; flex:1 1 420px; flex-wrap:wrap; }
.account-button { flex-shrink:0; max-width:100%; }
.modal input,.modal select,.modal textarea { min-width:0; max-width:100%; }
.modal h2,.document-items strong,.register-row strong,.queue-row strong { overflow-wrap:anywhere; }
@media(max-width:600px){
  .analytics-controls { grid-template-columns:minmax(0,1fr); }
  .analytics-controls > label { width:100%; }
  .analytics-controls .month-choice { grid-template-columns:minmax(80px,1fr) minmax(125px,1.5fr); }
  .inline-create,.field-with-action { display:flex; flex-wrap:wrap; }
  .context-main { flex-basis:100%; }
  .section-tabs { flex-wrap:wrap; }
}
.setup-warning { margin:0 0 18px; padding:16px; border-left:4px solid var(--green); border-radius:6px; background:var(--soft); }
.setup-warning p { margin:6px 0 12px; color:var(--muted); }
.employee-advance { margin-left:auto; }
.mobile-caption { display:none!important; }
.forecast-list .text-link { padding:0; border:0; background:none; color:var(--green-deep); text-align:left; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:760px){
  .app-topbar { position:static; }
  .analytics-table>button>span:first-child { grid-column:1/-1; }
  .analytics-table .mobile-caption { display:block!important; font-size:.75rem; color:var(--muted); margin-bottom:4px; }
  .detail-list>div { flex-wrap:wrap; gap:6px; }
  .detail-list dd { margin-left:0; overflow-wrap:anywhere; }
}
.forecast-list { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.forecast-list article { min-height:84px; padding:14px 18px; display:grid; grid-template-columns:minmax(240px,1.4fr) minmax(190px,1fr) minmax(160px,.8fr) minmax(150px,.75fr) auto; align-items:center; gap:16px; border-bottom:1px solid var(--line); }
.forecast-list article:last-of-type { border-bottom:0; }
.forecast-list article>span { min-width:0; display:grid; gap:4px; }
.forecast-list article small { color:var(--muted); font-size:.72rem; }
.forecast-list article a { color:var(--green-deep); font-weight:700; white-space:nowrap; }
.payroll-settings form { padding:20px 22px; display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:14px; }
.payroll-settings label { display:grid; gap:6px; color:var(--muted); font-size:.78rem; }
.payroll-settings input { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; }

@media(max-width:1100px){
  .today-layout { grid-template-columns:1fr; }
  .team-person { grid-template-columns:minmax(220px,1.3fr) 1fr auto; }
  .team-person>.access-dot { display:none; }
  .structure-list>article { grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto auto; }
}
@media(max-width:760px){
  .today-summary { grid-template-columns:1fr; }
  .today-task { grid-template-columns:38px 1fr; }
  .today-task b { grid-column:2; }
  .team-person { grid-template-columns:1fr auto; }
  .team-person>span:nth-child(2),.team-person>.access-dot { grid-column:1; }
  .team-person>em { grid-column:2; grid-row:1; }
  .structure-list>article { padding-left:18px; grid-template-columns:1fr auto; }
  .structure-lead { grid-column:1/-1; }
  .tree-line { display:none; }
  .employee-card-summary dl { grid-template-columns:1fr; }
  .modal-tabs { overflow:auto; }
  .modal-tabs button { flex:0 0 auto; }
  .inline-create { grid-template-columns:1fr; }
}

/* Rich company context */
.context-badge,.context-option-badge { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; background:var(--ink); color:var(--paper); font-size:.75rem; font-style:normal; letter-spacing:.06em; }
.context-icon + .context-badge { margin-left:-4px; }
.context-copy>small { color:var(--muted); font-size:.75rem; font-weight:400; }
.context-option-copy { min-width:0; display:flex; align-items:center; gap:12px; }
.context-option-copy>span { min-width:0; display:grid; gap:2px; }
.context-option-copy strong { font-size:.875rem; }
.context-option-badge { width:36px; height:36px; border-radius:7px; }
.context-picker--company .context-menu button { min-height:62px; padding:10px; }

/* Informative organization tree */
.org-summary { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.org-summary article { min-height:94px; padding:18px 20px; display:grid; align-content:center; gap:7px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.org-summary small { color:var(--muted); }
.org-summary strong { font-size:22px; font-variant-numeric:tabular-nums; }
.org-toolbar { margin-bottom:16px; padding:14px 16px; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.org-toolbar label { width:min(430px,100%); display:grid; gap:6px; color:var(--muted); font-size:.75rem; }
.org-toolbar input { min-height:42px; padding:9px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.org-toolbar p { margin:0 0 10px; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.75rem; }
.org-legend { width:12px; height:12px; margin-left:8px; border-radius:3px; background:var(--soft); }
.org-legend.lead { background:var(--green); }
.org-legend.deputy { border:1px solid var(--green); background:transparent; }
.org-tree { display:grid; gap:16px; }
.org-node { position:relative; }
.org-children { margin:14px 0 0 34px; padding-left:22px; display:grid; gap:14px; border-left:2px solid #c7cbc1; }
.org-department { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 3px 12px #292b2a08; }
.org-department>header { min-height:88px; padding:14px 18px; display:grid; grid-template-columns:38px minmax(220px,1fr) minmax(240px,.9fr) auto; align-items:center; gap:16px; background:#f2efe7; border-bottom:1px solid var(--line); }
.org-toggle { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:6px; background:var(--surface); font-size:20px; }
.org-title { min-width:0; }
.org-title h2 { margin:1px 0 3px; font-size:19px; }
.org-title small { color:var(--green-deep); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.org-title span,.org-lead small,.org-lead span { color:var(--muted); font-size:.75rem; }
.org-lead { min-width:0; padding-left:16px; display:grid; gap:2px; border-left:1px solid var(--line); }
.org-lead strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.875rem; }
.org-lead button { width:max-content; margin-top:3px; padding:0; border:0; background:transparent; color:var(--green-deep); font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
.org-people { display:grid; }
.org-person { width:100%; min-height:76px; padding:13px 18px; display:grid; grid-template-columns:40px minmax(210px,1.3fr) 110px minmax(170px,.8fr) 110px 20px; align-items:center; gap:14px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }
.org-person:last-child { border-bottom:0; }
.org-person:hover { background:#f2f1e9; }
.org-person--lead { box-shadow:inset 4px 0 var(--green); }
.org-person--deputy { box-shadow:inset 4px 0 #a9b49f; }
.org-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--soft); color:var(--green-deep); font-size:.75rem; }
.org-person-name,.org-pay { min-width:0; display:grid; gap:3px; }
.org-person-name strong,.org-pay strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.875rem; }
.org-person small,.org-person-name small,.org-pay small { color:var(--muted); font-size:.72rem; }
.org-role { width:max-content; padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.7rem; }
.org-person--lead .org-role { border-color:var(--green); background:var(--soft); color:var(--green-deep); }
.org-access { color:var(--muted); font-size:.75rem; }
.org-access.active { color:var(--green-deep); font-weight:600; }
.org-empty { min-height:90px; margin:0; display:grid; place-items:center; color:var(--muted); }

/* Unified access management */
.access-view { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.access-view>header { min-height:82px; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.access-view>header h2 { margin:0 0 4px; font-size:20px; }
.access-view>header p { max-width:720px; margin:0; color:var(--muted); font-size:.8125rem; }
.access-view>header>div:last-child { display:flex; gap:8px; }
.access-list>article { min-height:76px; padding:14px 18px; display:grid; grid-template-columns:minmax(240px,1.4fr) minmax(190px,1fr) minmax(150px,.7fr) auto; align-items:center; gap:16px; border-bottom:1px solid var(--line); }
.access-list>article:last-child { border-bottom:0; }
.access-list>article>span:not(.person) { display:grid; gap:3px; }
.access-list article>span>small { color:var(--muted); }

.company-hierarchy { display:grid; gap:18px; }
.company-hierarchy>header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:20px 22px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.company-hierarchy>header h2,.company-structure-card h3 { margin:0; }
.company-hierarchy>header p { margin:6px 0 0; color:var(--muted); }
.company-structure-card { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.company-structure-card>header { min-height:82px; padding:16px 20px; display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:14px; border-bottom:1px solid var(--line); }
.company-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:8px; background:var(--ink); color:var(--paper); font-weight:700; }
.company-structure-card>header small,.company-structure-columns small { display:block; color:var(--muted); }
.company-structure-columns { display:grid; grid-template-columns:1fr 1fr; }
.company-structure-columns>section { padding:18px 20px; }
.company-structure-columns>section+section { border-left:1px solid var(--line); }
.company-structure-columns>section>header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.structure-row { min-height:58px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; border-top:1px solid var(--line); }
.structure-row>span { min-width:0; }
.structure-row b { display:block; overflow-wrap:anywhere; }

/* Payment register */
.register-controls { margin-bottom:12px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.register-filter-grid { padding:16px; display:grid; grid-template-columns:1.1fr 1.1fr 1fr 1.55fr; gap:12px; }
.register-filter-grid label { display:grid; gap:6px; color:var(--muted); font-size:.75rem; }
.register-filter-grid select,.register-filter-grid input { width:100%; min-width:0; min-height:42px; padding:8px 11px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
.register-result-note { min-height:42px; padding:8px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
.register-result-note button { padding:4px 0; border:0; background:transparent; color:var(--green-deep); text-decoration:underline; text-underline-offset:3px; }
.register-summary { margin-bottom:12px; display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:12px; }
.register-summary article { min-height:104px; padding:18px 20px; display:grid; align-content:center; gap:5px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.register-summary article.dark { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.register-summary small,.register-summary span { color:var(--muted); font-size:.75rem; }
.register-summary .dark small,.register-summary .dark span { color:#c2c5bd; }
.register-summary strong { font-size:23px; font-variant-numeric:tabular-nums; }
.register-table-card { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.register-table-head,.register-row { display:grid; grid-template-columns:minmax(170px,.95fr) minmax(170px,1fr) minmax(210px,1.15fr) minmax(160px,.9fr) minmax(135px,.7fr) 82px; align-items:center; gap:14px; }
.register-table-head { min-height:48px; padding:10px 18px; background:#e9e5dc; color:var(--muted); font-size:.72rem; }
.register-row { width:100%; min-height:84px; padding:14px 18px; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; }
.register-row:hover { background:#f2f1e9; }
.register-row>span { min-width:0; display:grid; gap:4px; }
.register-row small,.register-document time { color:var(--muted); font-size:.72rem; font-style:normal; }
.register-row>span>strong,.register-document strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.batch-pill,.single-pill { width:max-content; padding:4px 7px; border-radius:999px; background:var(--soft); color:var(--green-deep); font-size:.68rem; }
.single-pill { background:var(--paper); color:var(--muted); }
.register-amount { text-align:right; white-space:nowrap; font-size:.9rem; font-variant-numeric:tabular-nums; }
.register-open { color:var(--green-deep); font-size:.72rem; text-align:right; }
.register-empty { min-height:240px; display:grid; place-items:center; align-content:center; text-align:center; }
.register-empty>span { color:var(--green); font-size:28px; }
.register-empty p { margin:7px 0 0; color:var(--muted); }
.payment-document-detail { width:min(1080px,100%); }
.document-summary { margin:0 0 14px; display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.document-summary>span { min-height:86px; padding:16px 18px; display:grid; align-content:center; gap:5px; border-right:1px solid var(--line); }
.document-summary>span:last-child { border-right:0; }
.document-summary small { color:var(--muted); }
.document-summary b { font-size:18px; }
.register-meta { margin:0 0 16px; display:flex; flex-wrap:wrap; gap:7px; color:var(--muted); font-size:.8125rem; }
.document-items { overflow:auto; border:1px solid var(--line); border-radius:8px; }
.document-items-head,.document-items article { min-width:830px; display:grid; grid-template-columns:minmax(200px,1.25fr) minmax(190px,1fr) 110px 100px 140px; align-items:center; gap:14px; }
.document-items-head { min-height:46px; padding:10px 14px; background:#e9e5dc; color:var(--muted); font-size:.72rem; }
.document-items article { min-height:72px; padding:12px 14px; border-top:1px solid var(--line); }
.document-items article>span { display:grid; gap:3px; }
.document-items article small { color:var(--muted); }
.document-items article>strong { text-align:right; white-space:nowrap; }

/* Payroll balance states: red is money still owed, blue is money carried forward. */
.balance-underpayment { color:#93483f !important; }
.balance-overpayment { color:#42697a !important; }
.balance-settled { color:var(--green-deep) !important; }
.balance-pending { color:var(--text) !important; }
.batch-payment-modal { width:min(920px,100%); }
.planned-payment { min-width:220px; padding:9px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; border:1px solid var(--line); border-radius:7px; background:var(--paper); }
.planned-payment b { grid-column:1/-1; font-size:.78rem; }
.planned-payment button { min-height:34px; }

.one-c-rule { margin-bottom:16px; padding:20px; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:10px; background:var(--surface); }
.one-c-rule>strong { display:block; margin-bottom:14px; font-size:1.05rem; }
.one-c-rule>div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.one-c-rule span { padding:14px; display:grid; gap:5px; border-radius:7px; background:var(--paper); }
.one-c-rule small,.one-c-request,.one-c-list small,.one-c-list p { color:var(--muted); }
.one-c-request { min-width:0; overflow-wrap:anywhere; font-size:.75rem; }
.one-c-empty { padding:40px; text-align:center; }
.one-c-list { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.one-c-list>header,.one-c-list>article { display:grid; grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(135px,.8fr)) auto; align-items:center; gap:14px; }
.one-c-list>header { padding:10px 16px; color:var(--muted); background:var(--paper); font-size:.75rem; }
.one-c-list>article { padding:15px 16px; position:relative; border-top:1px solid var(--line); }
.one-c-list>article::before { width:3px; position:absolute; inset:0 auto 0 0; content:""; background:var(--green); }
.one-c-list>article.has-difference::before { background:#b68a3a; }
.one-c-list>article.needs-review::before { background:#ad4a43; }
.one-c-list>article>span { min-width:0; display:grid; gap:4px; }
.one-c-list>article>p { grid-column:1/-1; margin:0; padding:8px 10px; border-radius:5px; background:var(--paper); font-size:.75rem; }
.one-c-id { overflow-wrap:anywhere; }
.batch-payment-items { max-height:48vh; margin:14px 0; overflow:auto; display:grid; gap:10px; }
.batch-payment-items fieldset { margin:0; padding:12px; border:1px solid var(--line); border-radius:8px; }
.batch-payment-items legend { padding:0 6px; font-weight:600; }
.batch-payment-items textarea { min-height:72px; }
.lm-program-version { align-self:end; padding:11px 14px; border:1px solid #c9cec4; border-radius:8px; color:var(--green-deep); background:var(--soft); }
.lm-kpi-config { display:grid; gap:24px; padding:0 0 24px; background:var(--surface); }
.lm-kpi-config>header,.lm-results>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.lm-kpi-config>header { padding:24px 26px 20px; border-bottom:1px solid var(--line); }
.lm-kpi-config>header h2 { margin:0; font-size:1.5rem; letter-spacing:-.025em; }
.lm-kpi-config>header span { max-width:520px; color:var(--muted); font-size:.875rem; line-height:1.55; }
.lm-kpi-config>div,.lm-kpi-config>button { margin-inline:26px; }
.lm-validity { position:relative; display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto; gap:14px; align-items:end; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.lm-validity::before { content:"01  Период действия"; position:absolute; top:-10px; left:16px; padding:0 8px; background:var(--surface); color:var(--green-deep); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.lm-validity label,.lm-config-grid label { display:grid; gap:7px; color:var(--muted); font-size:.8125rem; font-weight:600; }
.lm-validity input[type="month"],.lm-config-grid input,.lm-config-grid select,.lm-targets input,.lm-tiers input { width:100%; min-height:46px; padding:9px 12px; border:1px solid #c8c4bb; border-radius:7px; background:#fff; color:var(--ink); font-variant-numeric:tabular-nums; }
.lm-validity input:focus,.lm-config-grid input:focus,.lm-config-grid select:focus,.lm-targets input:focus,.lm-tiers input:focus { border-color:var(--green); }
.lm-validity .check { min-height:46px; display:flex; grid-template-columns:auto 1fr; align-items:center; gap:9px; padding:0 14px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--ink); }
.lm-validity .check input { width:18px; height:18px; accent-color:var(--green-deep); }
.lm-validity .disabled-field { opacity:.48; }
.lm-mode-cards { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:12px; }
.lm-mode-cards::before { content:"02  Способ оценки"; position:absolute; top:-14px; left:0; color:var(--green-deep); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.lm-mode-cards button { position:relative; min-height:122px; padding:20px; display:grid; align-content:center; gap:8px; text-align:left; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); transition:border-color .15s,background .15s,color .15s; }
.lm-mode-cards button:hover { border-color:var(--green); }
.lm-mode-cards button[aria-selected="true"] { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.lm-mode-cards button[aria-selected="true"]::after { content:"Выбрано"; position:absolute; top:12px; right:12px; color:#c9d0c5; font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.lm-mode-cards button strong { font-size:1rem; }
.lm-mode-cards button span { color:inherit; opacity:.72; font-size:.82rem; line-height:1.4; }
.lm-config-grid { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.lm-config-grid::before { content:"03  План"; position:absolute; top:-10px; left:16px; padding:0 8px; background:var(--surface); color:var(--green-deep); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.lm-targets { display:grid; gap:0; padding:0 20px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.lm-targets h3,.lm-tiers h3 { margin:0; padding:18px 0 12px; font-size:1rem; }
.lm-targets label { display:grid; grid-template-columns:minmax(220px,1fr) minmax(160px,.45fr); align-items:center; gap:14px; padding:12px 0; border-top:1px solid var(--line); }
.lm-targets label span { display:grid; gap:2px; color:var(--ink); font-weight:600; }
.lm-targets label small { color:var(--muted); font-weight:400; }
.lm-tiers { display:grid; gap:8px; padding:0 20px 20px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.lm-tier-head,.lm-tiers>div:not(.lm-tier-head) { display:grid; grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 44px; gap:10px; align-items:center; }
.lm-tier-head { padding-top:4px; color:var(--muted); font-size:.78rem; }
.lm-tiers>div:not(.lm-tier-head) { padding-top:8px; border-top:1px solid var(--line); }
.lm-tiers>div:not(.lm-tier-head)>button { width:42px; height:42px; border:1px solid var(--line); border-radius:7px; background:transparent; color:var(--muted); }
.lm-tiers>div:not(.lm-tier-head)>button:hover { border-color:var(--danger); color:var(--danger); }
.lm-tiers>button { justify-self:start; margin-top:6px; }
.lm-kpi-config>.setup-warning { margin-inline:26px; padding:16px 18px; border-left:3px solid var(--green); border-radius:6px; background:var(--soft); }
.lm-kpi-config>.setup-warning p { margin:5px 0 0; color:var(--muted); }
.lm-kpi-config>.primary { justify-self:end; min-width:180px; margin-inline:26px; }
.lm-results { overflow:hidden; }
.lm-results>header { padding:20px; border-bottom:1px solid var(--line); }
.lm-results>header p { margin:.35rem 0 0; color:var(--muted); }
.lm-sales { padding:0; overflow:hidden; }
.lm-sales>summary { padding:18px 20px; font-weight:600; cursor:pointer; }
.lm-program-history { padding:0; overflow:hidden; }
.lm-program-history>summary { padding:18px 20px; font-weight:600; cursor:pointer; }
.lm-program-history>div { display:grid; border-top:1px solid var(--line); }
.lm-program-history article { display:grid; grid-template-columns:120px minmax(220px,.7fr) 1fr; gap:14px; padding:14px 20px; border-bottom:1px solid var(--line); }
.lm-program-history article small { color:var(--muted); }
.lm-kpi-breakdown summary { display:flex; align-items:center; justify-content:space-between; }
.lm-kpi-calculation { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); background:var(--paper); }
.lm-kpi-calculation span { padding:16px; display:grid; gap:5px; }
.lm-kpi-calculation small { color:var(--muted); }
.lm-kpi-orders { min-width:680px; }
.lm-kpi-orders a { color:var(--green-deep); }
.lm-kpi-formula { margin:0; padding:16px; border-top:1px solid var(--line); background:var(--paper); text-align:right; font-variant-numeric:tabular-nums; }
@media(max-width:760px){
  .lm-config-grid { grid-template-columns:1fr; }
  .lm-validity,.lm-mode-cards { grid-template-columns:1fr; }
  .lm-kpi-config>header,.lm-results>header { display:grid; }
  .lm-kpi-config>header { padding:20px; }
  .lm-kpi-config>div,.lm-kpi-config>button,.lm-kpi-config>.setup-warning,.lm-kpi-config>.primary { margin-inline:16px; }
  .lm-targets label { grid-template-columns:1fr; }
  .lm-tier-head { display:none; }
  .lm-tiers>div:not(.lm-tier-head) { grid-template-columns:1fr 1fr 40px; }
  .lm-program-history article { grid-template-columns:1fr; gap:4px; }
  .lm-kpi-calculation { grid-template-columns:1fr; }
  .lm-kpi-calculation span+span { border-top:1px solid var(--line); }
}

@media(max-width:1180px){
  .org-summary { grid-template-columns:repeat(2,1fr); }
  .org-department>header { grid-template-columns:38px minmax(200px,1fr) minmax(200px,.9fr); }
  .org-department>header>.secondary { grid-column:2/-1; justify-self:start; }
  .org-person { grid-template-columns:40px minmax(200px,1.3fr) 105px minmax(155px,.8fr) 20px; }
  .org-person>.org-access { display:none; }
  .register-table-head,.register-row { grid-template-columns:minmax(160px,.9fr) minmax(160px,1fr) minmax(190px,1.1fr) minmax(130px,.8fr) 130px; }
  .register-table-head>span:last-child,.register-open { display:none; }
}
@media(max-width:760px){
  .context-icon + .context-badge { margin-left:0; }
  .document-items { overflow:visible; }
  .document-items-head { display:none; }
  .document-items article { min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
  .document-items article>span:first-child,.document-items article>span:nth-child(2),.document-items article>strong { grid-column:1/-1; }
  .document-items article>span { min-width:0; overflow-wrap:anywhere; }
  .document-items article>span:nth-child(3)::before { content:"Назначение"; color:var(--muted); font-size:.72rem; }
  .document-items article>span:nth-child(4)::before { content:"За месяц"; color:var(--muted); font-size:.72rem; }
  .document-items article>strong { text-align:left; font-size:1.1rem; }
  .context-picker--company .context-icon { display:none; }
  .org-summary,.register-summary,.register-filter-grid { grid-template-columns:1fr; }
  .org-toolbar { align-items:stretch; flex-direction:column; }
  .org-toolbar p { margin:0; flex-wrap:wrap; }
  .org-children { margin-left:12px; padding-left:10px; }
  .org-department>header { grid-template-columns:36px 1fr; gap:10px; }
  .org-department>header>.org-lead,.org-department>header>.secondary { grid-column:2; }
  .org-lead { padding:10px 0 0; border-left:0; border-top:1px solid var(--line); }
  .org-person { grid-template-columns:38px 1fr 20px; gap:10px; }
  .org-person>.org-role,.org-person>.org-pay,.org-person>.org-access { grid-column:2; }
  .org-person>b { grid-column:3; grid-row:1; }
  .access-view>header { align-items:flex-start; flex-direction:column; }
  .access-view>header>div:last-child { width:100%; flex-direction:column; }
  .access-list>article { grid-template-columns:1fr; }
  .company-hierarchy>header { flex-direction:column; }
  .company-structure-columns { grid-template-columns:1fr; }
  .company-structure-columns>section+section { border-left:0; border-top:1px solid var(--line); }
  .company-structure-card>header { grid-template-columns:44px 1fr auto; padding:14px; }
  .company-mark { width:42px; height:42px; }
  .register-table-head { display:none; }
  .register-row { grid-template-columns:1fr auto; gap:10px; }
  .register-row>span,.register-row>.register-amount { grid-column:1; text-align:left; }
  .register-row>.register-open { display:block; grid-column:2; grid-row:1; }
  .document-summary { grid-template-columns:1fr; }
  .document-summary>span { min-height:64px; border-right:0; border-bottom:1px solid var(--line); }
  .document-summary>span:last-child { border-bottom:0; }
  .audit-view>header { align-items:flex-start; flex-direction:column; }
  .audit-metrics { width:100%; justify-content:space-between; }
  .audit-filters { grid-template-columns:1fr; }
  .audit-card>header { flex-direction:column; gap:8px; }
  .audit-changes>div { grid-template-columns:1fr; gap:4px; }
  .audit-changes del,.audit-changes strong,.audit-changes>div:not(:has(del)) strong { grid-column:1; }
  .audit-changes del::after { content:""; }
  .audit-card>footer { align-items:flex-start; flex-direction:column; }
  .audit-card footer em { margin-left:0; }
  .analytics-controls { align-items:stretch; flex-direction:column; }
  .analytics-controls .segmented { width:100%; overflow:auto; }
  .analytics-table>header { display:none; }
  .analytics-table>button { grid-template-columns:1fr 1fr; }
  .compare-bars { grid-column:1/-1; }
  .kpi-summary,.kpi-items .kpi-object,.payroll-settings form,.forecast-list article { grid-template-columns:1fr; }
  .period-controls { min-width:0; width:100%; grid-template-columns:1fr 1fr; }
  .period-controls>span { grid-column:1/-1; }
  .month-choice { grid-template-columns:1fr; }
  .one-c-rule>div { grid-template-columns:1fr; }
  .one-c-list>header { display:none; }
  .one-c-list>article { grid-template-columns:1fr 1fr; }
  .one-c-list>article>span:first-child,.one-c-list>article>span:last-of-type,.one-c-list>article>p { grid-column:1/-1; }
  .one-c-list>article>span:last-of-type button { width:100%; }
}


.batch-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:10px 14px;background:#fff;border:1px solid #e3e5df;border-radius:10px}
.batch-actions label{display:flex;align-items:center;gap:8px;color:#415345;font-size:14px}
.batch-actions input,.person-name input{accent-color:#5d7d61}
.pay-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pay-actions .mini{min-height:34px}
@media(max-width:800px){.batch-actions{align-items:stretch;flex-direction:column}.pay-actions{min-width:190px}}

/* Match the earlier light workspace while preserving the restored page layout. */
:root{--paper:#f7f8f6;--surface:#fff;--ink:#292d2b;--muted:#858e86;--line:#e2e6e1;--soft:#eef2ee;--green:#5d7d61;--green-deep:#48644e}
html,body{background:var(--paper)}
.app-topbar,.topbar{background:#fff;border-color:var(--line)}
.content{background:var(--paper)}
.summary,.modal-summary,.table-wrap,.today-card,.empty,.one-c-card,.panel,.mini-metrics article,.filter-bar,.batch-actions{background:#fff;border-color:var(--line)}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 3px}
.sidebar-brand .brand-mark{width:48px;height:48px;border-radius:8px;background:#eeeada;color:#292d2b;font-size:24px;letter-spacing:-2px}
.sidebar-brand strong{font-size:17px}.sidebar-brand span{font-size:12px}
.sidebar nav{margin-top:8px}
.rail nav button>span{border:none;width:18px}
.company-row td,th{background:#eef2ee}
.total-row td{background:#f9faf8}
.directory-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.directory-form{position:relative;width:min(560px,94vw);display:grid;gap:14px;padding:28px;background:#fff}
.directory-form h2{margin:0 0 8px}
.directory-form label{display:grid;gap:6px;color:#5c685e;font-size:13px}
.directory-form input,.directory-form select{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px}
.directory-form .form-actions{margin-top:8px}
.pay-actions .mini.primary,.batch-actions .primary:not(:disabled){background:#55765a;border-color:#55765a;color:#fff}
.pay-actions .mini.primary:disabled{background:#ecefea;border-color:#dfe5dd;color:#788278}
.register-cards{display:grid;gap:12px;margin-top:16px}
.register-card{width:100%;min-height:88px;padding:17px 20px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left}
.register-card:hover{border-color:#a7baaa;background:#fbfcfa}
.register-card span{display:grid;gap:4px;min-width:0}
.register-card strong{font-size:17px;color:#303733}
.register-card small{color:#848e85;font-size:13px}
.register-card>b{white-space:nowrap;font-size:20px}
@media(max-width:800px){.my-employment-card{grid-template-columns:1fr 1fr}.my-employment-card>span:first-child,.my-employment-card>button{grid-column:1/-1}}
