/* Дизайн-система A-Systems — перенесена из сайта a-systems.tech
   (a-systems-real-web: src/styles/tokens.css, admin-theme.css, app/(admin)/admin/admin.module.css,
   components/ui/ui.module.css) и brand-book/tokens.json. Светлая тема = тема админки сайта.
   Принципы: острые углы (border-radius 0), фиолетовый primary, Ink вместо чёрного,
   моно-лейблы JetBrains Mono в капсе, TikTok Sans для текста. */

/* --- Шрифты: самохостинг, как на сайте (Google Fonts из РФ открывается медленно) --- */
@font-face{font-family:'TikTok Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/tiktok-sans-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'TikTok Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/tiktok-sans-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'TikTok Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/tiktok-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'TikTok Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/tiktok-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/jetbrains-mono-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/jetbrains-mono-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/jetbrains-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* --- Токены (admin-theme.css + tokens.json) --- */
:root{
  --a-bg:#F7F5F9;
  --a-surface:#fff;
  --a-ink:#30264C;
  --a-muted:#6E6584;
  --a-faint:#8E82AA;
  --a-border:#E9E4EE;
  --a-primary:#5A26BD;
  --a-primary-hover:#4A1E9E;
  --a-primary-tint:#F1ECFA;
  --a-danger:#F95D51;
  --a-danger-tint:#FFF1F0;
  --a-review:#FF8562;
  --a-review-tint:#FFF1EC;
  --a-draft-tint:#F6F6F6;
  --a-violet-light:#9144FF;
  --font-sans:'TikTok Sans',Arial,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --container:1240px;
  --gutter:24px;
}

/* --- База (globals.css) --- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--a-bg);color:var(--a-ink);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--a-primary);text-decoration:none}a:hover{color:var(--a-review)}
input,textarea,button,select{font-family:inherit}
::placeholder{color:var(--a-faint)}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--a-primary);outline-offset:2px}
::selection{background:var(--a-primary);color:#fff}
h1,h2,h3,p{margin:0}
code{font-family:var(--font-mono);font-size:12px;background:var(--a-draft-tint);padding:1px 5px}

/* --- Шапка (admin .header / .nav) --- */
.header{height:56px;display:flex;align-items:center;gap:20px;padding:0 var(--gutter);border-bottom:1px solid var(--a-border);background:var(--a-surface);position:sticky;top:0;z-index:20}
.logo{display:flex;align-items:center;gap:12px;color:var(--a-ink)}
.logo img{height:28px;width:28px;display:block}
.logoText{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--a-muted);text-transform:uppercase;white-space:nowrap}
.nav{display:flex;gap:4px}
.navLink{height:36px;padding:0 12px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--a-muted);border:1px solid transparent;white-space:nowrap}
.navLink:hover{color:var(--a-primary)}
.navLink[data-active='true']{color:var(--a-ink);border-color:var(--a-border);background:var(--a-bg)}
.headerRight{margin-left:auto;display:flex;gap:12px;align-items:center}
.who{font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;color:var(--a-faint);white-space:nowrap}
.who b{color:var(--a-ink);font-weight:400}
.headerRight form{margin:0}

/* --- Страница --- */
.page{max-width:var(--container);margin:0 auto;padding:32px var(--gutter) 96px;width:100%}
.pageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.pageTitle{font-size:26px;font-weight:600;letter-spacing:-.5px;line-height:1.15;margin:0 0 6px;color:var(--a-ink)}
.pageTitle .accent{color:var(--a-primary)}
.pageLead{font-size:14px;line-height:1.5;color:var(--a-muted);margin:0;max-width:720px}
.crumbs{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--a-faint);text-transform:uppercase;margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--a-faint)}.crumbs a:hover{color:var(--a-primary)}
.metaLabel{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--a-faint);text-transform:uppercase}
.sectionHead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:36px 0 12px;flex-wrap:wrap}
.sectionTitle{font-size:18px;font-weight:600;letter-spacing:-.3px}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* --- Кнопки (admin .btn / .btnPrimary / .btnDanger) --- */
.btn{height:36px;padding:0 14px;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-ink);font-size:12px;font-weight:600;letter-spacing:.3px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border-radius:0;transition:border-color .2s,color .2s,background .2s}
.btn:hover{border-color:var(--a-primary);color:var(--a-primary)}
.btnPrimary{height:36px;padding:0 18px;border:0;background:var(--a-primary);color:#fff;font-size:12px;font-weight:600;letter-spacing:.3px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border-radius:0;transition:background .2s}
.btnPrimary:hover{background:var(--a-primary-hover);color:#fff}
.btnDanger{color:var(--a-danger)}.btnDanger:hover{border-color:var(--a-danger);color:var(--a-danger)}
.btnSm{height:30px;padding:0 10px;font-size:11px}
.btnPlus::before{content:'+';color:inherit;font-weight:700;margin-right:2px}

/* --- Фильтры и чипы (admin .filter / .chip) --- */
.filters{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;padding:16px 20px;background:var(--a-surface);border:1px solid var(--a-border);margin-bottom:20px}
.filterGroup{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{height:30px;padding:0 12px;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;display:inline-flex;align-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--a-primary);color:var(--a-primary)}
.chip[data-active='true']{background:var(--a-primary);border-color:var(--a-primary);color:#fff}
.chipToggle[data-active='true']{background:var(--a-ink);border-color:var(--a-ink)}

/* --- Поля (admin .input / .select) --- */
.input,.select{height:40px;padding:0 12px;border:1px solid var(--a-border);background:var(--a-bg);font-size:14px;outline:none;color:var(--a-ink);width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
.select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236E6584' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.input:focus,.select:focus{border-color:var(--a-primary)}
.inputSm{height:32px;font-size:13px}
.selectAuto{width:auto;min-width:170px;height:36px;font-size:13px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fieldLabel{font-size:12px;font-weight:600}
.hint{font-family:var(--font-mono);font-size:10px;color:var(--a-faint);line-height:1.5}
.checkbox{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:500;cursor:pointer}
.checkbox input{accent-color:var(--a-primary);width:16px;height:16px;margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid4{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.6fr;gap:0 12px}
input[type=date].input{min-height:40px}
.flashWarn{background:var(--a-review-tint);color:var(--a-ink)}.flashWarn::before{background:var(--a-review)}
.flashWarn b{color:var(--a-review)}
.formActions{display:flex;gap:8px;align-items:center;margin-top:8px}

/* --- Карточки сводки (admin .card + brand hero) --- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}
@media (min-width:1100px){.cards[style*="--n"]{grid-template-columns:1.5fr repeat(var(--n),1fr)}}
.card{background:var(--a-surface);border:1px solid var(--a-border);padding:18px 20px;min-width:0}
.cardLabel{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--a-faint);text-transform:uppercase}
.cardValue{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.cardSub{font-size:12px;color:var(--a-muted);margin-top:6px;line-height:1.45}
.cardHero{background:var(--a-primary);border-color:var(--a-primary);color:#fff}
.cardHero .cardLabel{color:rgba(255,255,255,.7)}.cardHero .cardSub{color:rgba(255,255,255,.75)}
.cardNum{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--a-primary);font-weight:700;margin-bottom:6px}
.cardHero .cardNum{color:rgba(255,255,255,.7)}

/* --- Панель с таблицей --- */
.panel{background:var(--a-surface);border:1px solid var(--a-border)}
.wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{padding:11px 14px;border-bottom:1px solid var(--a-border);text-align:left;vertical-align:top}
th{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--a-faint);font-weight:400;white-space:nowrap;background:var(--a-surface)}
tbody tr:nth-child(even) td{background:#FBFAFC}
tbody tr:hover td{background:var(--a-primary-tint)}
td.n,th.n{text-align:right;white-space:nowrap}
td.n{font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums}
td.main{font-weight:700;color:var(--a-ink)}
td.fio{min-width:220px}td.fio a{font-weight:600;color:var(--a-ink)}td.fio a:hover{color:var(--a-primary)}
tr.total td{font-weight:700;background:var(--a-surface)!important;border-top:2px solid var(--a-ink);border-bottom:0}
tr.total td.n{font-weight:700}
tr.future td{color:var(--a-faint)}
tr.current td{background:var(--a-primary-tint)!important}
tr.current td:first-child{box-shadow:inset 3px 0 0 var(--a-primary)}
td.notes{font-size:12px;color:var(--a-muted);min-width:220px;line-height:1.45}
.sub{font-family:var(--font-mono);font-size:10px;color:var(--a-faint);display:block;margin-top:2px;letter-spacing:.3px}
.muted{color:var(--a-muted)}.faint{color:var(--a-faint)}.small{font-size:12px}
.empty{font-size:13px;color:var(--a-muted);padding:12px 0}

/* --- Статусы и бейджи (admin .status*) --- */
.status{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:4px 8px;white-space:nowrap;display:inline-block;text-transform:uppercase;line-height:1.2}
.statusPublished,.stOk{background:var(--a-primary-tint);color:var(--a-primary)}
.statusDraft,.stMuted{background:var(--a-draft-tint);color:var(--a-muted)}
.statusReview,.stWarn{background:var(--a-review-tint);color:var(--a-review)}
.stDanger{background:var(--a-danger-tint);color:var(--a-danger)}
.stGhost{background:transparent;color:var(--a-faint);padding-left:4px;padding-right:0}
.badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;padding:2px 6px;background:var(--a-review);color:#fff;text-transform:uppercase}
.dot{display:inline-block;width:8px;height:8px;margin-right:8px;vertical-align:middle;background:var(--a-border)}
.dotOk{background:var(--a-primary)}.dotWarn{background:var(--a-review)}.dotDanger{background:var(--a-danger)}

/* --- Сообщения (admin .error / toast) --- */
.flash{font-size:13px;padding:10px 12px;margin-bottom:16px;background:var(--a-primary-tint);color:var(--a-primary);display:flex;gap:10px;align-items:center}
.flash::before{content:'';width:8px;height:8px;background:var(--a-violet-light);flex:none}
.flashErr{background:var(--a-danger-tint);color:var(--a-danger)}.flashErr::before{background:var(--a-danger)}

/* --- Пояснение под таблицей --- */
.note{font-size:12px;line-height:1.6;color:var(--a-muted);margin-top:16px;max-width:880px}
.note b{color:var(--a-ink);font-weight:600}

/* --- Форма в панели --- */
.formPanel{background:var(--a-surface);border:1px solid var(--a-border);padding:24px;max-width:720px}

/* --- Вход (admin/login.module.css) --- */
.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--a-bg)}
.loginCard{width:100%;max-width:380px;background:var(--a-surface);border:1px solid var(--a-border);padding:36px 32px;display:flex;flex-direction:column;gap:14px}
.loginBrand{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.loginBrand img{height:32px;width:32px}
.loginTitle{font-size:28px;font-weight:600;letter-spacing:-.5px;line-height:1.1}
.loginText{font-size:14px;line-height:1.5;color:var(--a-muted);margin:0 0 8px}
.loginInput{height:44px;padding:0 14px;border:1px solid var(--a-border);background:var(--a-bg);font-size:14px;outline:none;color:var(--a-ink);width:100%;border-radius:0}
.loginInput:focus{border-color:var(--a-primary)}
.loginSubmit{height:46px;border:0;background:var(--a-primary);color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;margin-top:6px;transition:background .2s}
.loginSubmit:hover{background:var(--a-primary-hover)}
.loginError{font-size:13px;color:var(--a-danger);background:var(--a-danger-tint);padding:10px 12px}

/* --- Широкая страница (реестр выплат) и секции по направлениям --- */
.page.pageWide{max-width:1720px}
.acc.accPay>tbody>tr.rowMain:nth-child(n)>td{background:var(--a-surface)}
.acc.accPay>tbody>tr.rowMain.alt:nth-child(n)>td{background:#FBFAFC}
.acc.accPay>tbody>tr.rowMain:nth-child(n):hover>td{background:var(--a-primary-tint)}
.accPay>tbody>tr.secRow>td{background:var(--a-bg)!important;border-top:1px solid var(--a-border);border-bottom:1px solid var(--a-border);
  padding-top:16px;padding-bottom:10px;font-family:var(--font-mono);font-size:12px;color:var(--a-muted);cursor:default}
.accPay>tbody>tr.secRow:first-child>td{border-top:0}
.accPay>tbody>tr.secRow td.n{color:var(--a-ink);font-weight:700}
.secName{font-family:var(--font-mono);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--a-primary);font-weight:700}
.secCount{margin-left:10px;font-size:11px;color:var(--a-faint);letter-spacing:.5px}

/* --- Аккордеон реестра --- */
.acc>tbody>tr:nth-child(even)>td{background:transparent}
.acc>tbody>tr.rowMain:nth-child(4n+3)>td{background:#FBFAFC}
.acc>tbody>tr.rowMain{cursor:pointer}
.acc>tbody>tr.rowMain.open>td{background:var(--a-primary-tint)!important;border-bottom-color:transparent}
.acc>tbody>tr.details>td{background:var(--a-bg)!important;padding:0 14px 18px;cursor:default}
.acc>tbody>tr.details:hover>td{background:var(--a-bg)!important}
.acc>tbody>tr.rowMain.open>td:first-child,.acc>tbody>tr.details>td{box-shadow:inset 3px 0 0 var(--a-primary)}
.dDecls tbody tr:hover td{background:var(--a-primary-tint)!important}
td.fio{min-width:260px}.fioIn{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.fioIn a{flex:1 1 150px;min-width:0}.fioIn .chev{order:-1}
.dDecls .actions{flex-direction:column;align-items:stretch;min-width:120px}
.dDecls .actions .btn,.dDecls .actions .btnPrimary{white-space:normal;height:auto;min-height:28px;padding:5px 10px;justify-content:center;text-align:center;line-height:1.2}
.dDecls td.n{white-space:normal}
.chev{width:22px;height:22px;flex:none;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.chev svg{transition:transform .2s var(--ease)}
.chev:hover{border-color:var(--a-primary);color:var(--a-primary)}
.rowMain.open .chev{background:var(--a-primary);border-color:var(--a-primary);color:#fff}
.rowMain.open .chev svg{transform:rotate(90deg)}
.dBox{background:var(--a-surface);border:1px solid var(--a-border);padding:16px 18px;margin-top:0;display:flex;flex-direction:column;gap:16px}
.dGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.dCell{border-left:1px solid var(--a-border);padding-left:12px;min-width:0}
.dVal{font-family:var(--font-mono);font-size:16px;font-variant-numeric:tabular-nums;margin-top:6px;color:var(--a-ink)}
.dSub{font-size:12px;color:var(--a-muted);line-height:1.45;margin-top:4px;overflow-wrap:anywhere}
.dTotal{border-left-color:var(--a-primary)}.dTotal .dVal{font-weight:700;color:var(--a-primary)}
.dDecls table{margin-top:8px}.dDecls td,.dDecls th{padding:8px 10px;white-space:normal}
.dDecls tbody tr td{background:transparent!important}
.dFoot{display:flex;justify-content:flex-end}

.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{margin:0}
.dFoot{gap:8px}
.sectionHead .btn{flex:none}

/* --- Модальные окна (формы редактирования) --- */
dialog.modal{border:1px solid var(--a-border);padding:0;width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 48px);
  background:var(--a-surface);color:var(--a-ink);border-radius:0;box-shadow:0 30px 60px -30px rgba(90,38,189,.6);overflow:hidden}
dialog.modal[open]{animation:modalIn .2s var(--ease)}
dialog.modal::backdrop{background:rgba(48,38,76,.45);backdrop-filter:blur(2px)}
.modalContent{padding:28px 28px 24px;overflow:auto;max-height:calc(100vh - 50px)}
.modalClose{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid var(--a-border);background:var(--a-surface);
  color:var(--a-muted);font-size:18px;line-height:1;cursor:pointer;z-index:2}
.modalClose:hover{border-color:var(--a-primary);color:var(--a-primary)}
.modal .pageHead{margin-bottom:16px;padding-right:36px}
.modal .pageTitle{font-size:22px}
.modal .formPanel{max-width:none;padding:0;border:0}
.modal .sectionHead{margin-top:28px}
.modal .formPanel[style]{margin-top:12px!important;padding:16px;border:1px solid var(--a-border);background:var(--a-bg)}
@keyframes modalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:640px){.modalContent{padding:20px 16px}dialog.modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}}

/* --- Детализация месяца таблицей (раскрытая строка «Выплат») --- */
table.dTable{width:100%;max-width:1100px;table-layout:fixed;border-collapse:collapse}
table.dTable th,table.dTable td{padding:8px 12px;border-bottom:1px solid var(--a-border);vertical-align:top;background:transparent!important;white-space:normal}
table.dTable td.n{font-size:13px;white-space:nowrap}
table.dTable tbody tr:hover td{background:var(--a-primary-tint)!important}
table.dTable tr.dGroup td{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--a-primary);
  font-weight:700;padding-top:16px;border-bottom:1px solid var(--a-border)}
table.dTable tr.dGroup:first-child td{padding-top:8px}
table.dTable tr.zero td{color:var(--a-faint)}
table.dTable tr.dSum td{font-weight:700;border-top:2px solid var(--a-ink);border-bottom:0;color:var(--a-ink)}
table.dTable tr.dSum td.n{font-size:14px;color:var(--a-primary)}
table.dTable td.dNote{font-size:12px;color:var(--a-muted);line-height:1.45}
table.dTable tr.dSum td.dNote{font-weight:400}
.dBox .dDecls{margin-top:4px}

/* --- Самозанятые: договоры и график --- */
.chipSz{border-style:dashed}
.chipSz[data-active='true']{border-style:solid}
tr.rowWarn>td{background:#FFF8EC!important}
tr.rowWarn>td:first-child{box-shadow:inset 3px 0 0 var(--a-review)}
tr.rowDanger>td{background:#FDE9E7!important}
tr.rowDanger>td:first-child{box-shadow:inset 3px 0 0 var(--a-danger)}
.contract{background:var(--a-surface);border:1px solid var(--a-border);padding:18px 20px;margin-bottom:14px}
.contractHead{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.contractTitle{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:4px 0 6px}
.contractSum{display:flex;gap:24px}
.contractSum>div{display:flex;flex-direction:column;gap:4px}
.contractSum b{font-family:var(--font-mono);font-size:16px;font-variant-numeric:tabular-nums}
.contract table.dTable{max-width:none}
.manualRows{border-collapse:collapse;margin-bottom:8px;width:auto}
.field [data-add-row]{align-self:flex-start}
.manualRows td{padding:0 8px 8px 0;border:0;background:transparent!important}
.manualRows .input{width:180px}
.inputFile{padding:8px 12px;height:auto}
table.szPay td.fio{min-width:220px}
table.dTable .actions{flex-wrap:nowrap;justify-content:flex-end}
table.dTable .actions .btn,table.dTable .actions .btnPrimary{height:28px;padding:0 10px}
table.dTable td{vertical-align:middle}

/* --- Файлы-вложения --- */
.files{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.thumb{width:48px;height:48px;object-fit:cover;border:1px solid var(--a-border);display:block;background:var(--a-bg)}
.fileImg:hover .thumb{border-color:var(--a-primary)}
.fileDoc{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 0;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-ink);font-size:12px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.fileDoc:hover{border-color:var(--a-primary);color:var(--a-primary)}
.fileExt{height:28px;padding:0 7px;display:inline-flex;align-items:center;background:var(--a-primary-tint);color:var(--a-primary);font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase}
.fileNone{font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;color:var(--a-danger);background:var(--a-danger-tint);padding:4px 8px;white-space:nowrap}

/* --- Пользователи --- */
.pwForm{display:flex;gap:6px;align-items:center}
.pwForm .input{width:170px}

/* --- Адаптив --- */
@media (max-width:900px){
  :root{--gutter:16px}
  .page{padding:20px var(--gutter) 72px}
  .pageTitle{font-size:22px}
  .grid2,.grid4{grid-template-columns:1fr}
  .cardValue{font-size:24px}
  .filters{padding:14px 16px;gap:12px 20px}
}
@media (max-width:640px){
  .header{gap:10px}
  .logoText,.who{display:none}
  .navLink{padding:0 9px}
  th,td{padding:9px 10px}
  .pwForm{flex-wrap:wrap}.pwForm .input{width:100%}
}

/* банк: «К оплате» и «История платежей» */
tr.weekRow td{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--a-primary);
  background:var(--a-primary-tint)!important;padding-top:10px;padding-bottom:10px}
tr.weekRow td.n{font-size:12px;letter-spacing:0;font-weight:700}
tr.hl td{background:var(--a-review-tint)}
.danger{color:var(--a-danger)}
td.amtIn{color:var(--a-primary)}
td.amtOut{color:var(--a-ink)}
table.bankTable td.purpose{max-width:420px;color:var(--a-muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
table.bankTable td.n{white-space:nowrap}
table.bankTable td:first-child .sub{white-space:normal;text-align:right;max-width:120px;margin-left:auto}
.bankFilter{gap:12px 20px}
.bankFilter .input{width:auto;height:36px;min-height:36px;font-size:13px}
.bankFilter input[type=date].input{width:150px}
.bankFilter input[type=search].input{width:260px}
@media (max-width:640px){.bankFilter input[type=search].input,.bankFilter .selectAuto{width:100%}}
/* расход из бота: слова сотрудника */
.said{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--a-muted);font-style:italic}
