.login{max-width:380px;margin:12vh auto 0}
.login .panel{padding:26px}
.login h1{font-family:var(--f-disp);font-weight:400;font-size:38px;margin:0 0 4px}
.login .form{grid-template-columns:1fr;margin-top:18px}
.err{color:var(--neg);font-size:13px;min-height:18px;margin-top:10px}
.me{display:flex;align-items:center;gap:8px}
.badge{display:inline-block;font-size:11px;padding:1px 8px;border-radius:99px;border:1px solid var(--line2);color:var(--mut);margin:2px 4px 0 0;white-space:nowrap}
.badge.on{color:var(--hi)}
.hero.small{padding-top:40px}
.hero.small .beam{top:6px;height:180px}
.stat3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);margin-top:14px;border-radius:18px;overflow:hidden}
.perm{display:grid;gap:8px}
.perm label{flex-direction:row!important;align-items:center;gap:10px!important;color:var(--fg)!important;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel)}
.perm small{display:block;color:var(--dim);font-size:12px}
.calc{font-family:var(--f-mono);font-size:12.5px;line-height:1.8;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:12px}
.st-kt{color:var(--neg)}.st-paid{color:var(--pos)}.st-waiting{color:var(--amb)}.st-review{color:var(--mut)}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);align-items:center}
.item:last-child{border-bottom:0}
.item .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .am{text-align:right;font-weight:500}
.mt{margin-top:14px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
@media (max-width:900px){.stat3{grid-template-columns:repeat(2,minmax(0,1fr))}.cols2{grid-template-columns:minmax(0,1fr)}}
.nav.hdr-nav{position:static;transform:none;overflow-x:auto;max-width:100%;margin-left:6px}
@media (max-width:1180px){.nav.hdr-nav{order:3;width:100%;margin-left:0}}
.hero.small{padding-top:56px}
.wrap{max-width:1200px}
.nav.hdr-nav button{padding:8px 13px}
@media (max-width:700px){td.act,th.act{position:static;white-space:normal;text-align:left;border-left:0}td.act .ghost{margin:2px 2px 2px 0}}

.goal{border:1px solid var(--line2);border-radius:14px;padding:12px 16px;background:var(--panel)}
.goalt{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--mut);font-size:13px}.goalt b{color:var(--fg);font-weight:500}
.erow{grid-template-columns:minmax(110px,180px) minmax(0,1fr) auto}
.logo{color:var(--hi)}

.ratebox{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel)}

.nav.hdr-nav button{padding:8px 11px}.bar{gap:10px}.me .chip{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- график по неделям --- */
svg.wk .ln{fill:none;stroke:var(--hi);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
svg.wk .pt{fill:var(--bg);stroke:var(--hi);stroke-width:2.5}
svg.wk .halo{fill:var(--hi);opacity:.16}
svg.wk .val{fill:var(--fg);font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums}
.wknav{display:flex;justify-content:center;margin:2px 0 10px}
.wkhint{margin:10px 0 0;font-size:12px}
.kpi .v small.sm2{display:block;font-size:12px;margin-top:2px}
/* --- ссылки --- */
.lrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.lrow:last-child{border-bottom:0;padding-bottom:0}.lrow:first-child{padding-top:0}
.lrow .tt{font-weight:500}.lbtn{text-decoration:none;display:inline-block;white-space:nowrap}
.lmeta{margin:-6px 0 0}.lmeta a{color:var(--hi)}
/* --- уведомления --- */
#notices{position:fixed;z-index:80;top:calc(12px + env(safe-area-inset-top,0px));right:16px;display:flex;flex-direction:column;gap:10px;width:min(340px,calc(100vw - 32px));pointer-events:none}
.nt{pointer-events:auto;position:relative;background:var(--solid);color:var(--fg);border:1px solid var(--line2);border-radius:14px;box-shadow:0 14px 40px -14px rgba(0,0,0,.55);animation:ntin .28s ease both}
.ntb{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;border:0;background:transparent;padding:12px 38px 12px 14px;border-radius:14px}
.ntb b{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:500}.ntb span{font-size:13.5px;line-height:1.35}
.ntx{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;background:transparent;color:var(--mut);border-radius:50%;font-size:18px;line-height:1}
.ntx:hover{background:var(--panel2);color:var(--hi)}
@keyframes ntin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nt{animation:none}}
.seg button[aria-pressed]{white-space:nowrap}
@media (max-width:520px){.ph .seg{width:100%}.ph .seg button{flex:1;padding-inline:6px}}

.seg button:disabled{opacity:.4;cursor:not-allowed}
.set .stack{align-content:start}

/* пароль сотрудника: скрыт точками, по нажатию показывается */
.pwchip{display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding:7px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);color:var(--fg);font:inherit;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}
.pwchip:hover{border-color:var(--hi)}
.pwchip .k{color:var(--mut);font-size:12px}
.pwchip .v{font-family:var(--f-mono,ui-monospace,monospace);letter-spacing:.12em;min-width:7.5ch}
.pwchip.open{border-color:var(--hi)}
.pwchip.open .v{letter-spacing:.04em;user-select:all}
/* круговая диаграмма расходов */
.donut{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.donut svg{width:150px;height:150px;flex:none}
.dlist{display:grid;gap:9px;flex:1;min-width:170px}
.dl{display:grid;grid-template-columns:12px 1fr auto auto;gap:9px;align-items:center;font-size:13.5px}
.dl i{width:10px;height:10px;border-radius:50%}
.dl b{font-weight:500}
.dl small{color:var(--mut);min-width:64px;text-align:right}
.kpi .h{color:var(--mut);font-size:11.5px;margin-top:-2px}
/* подсказка графика */
.ch .hit{fill:transparent;cursor:crosshair}
.ch .gd{stroke:var(--line2);stroke-width:1;opacity:0;pointer-events:none}
.ch .pd{opacity:0;pointer-events:none;stroke:var(--bg,#000);stroke-width:2}
.ch .pt:hover .gd,.ch .pt:hover .pd{opacity:1}
#tip{position:fixed;z-index:60;pointer-events:none;background:var(--solid);border:1px solid var(--line2);border-radius:12px;padding:9px 12px;font-size:12.5px;box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(10px);min-width:160px}
#tip[hidden]{display:none}
#tip b{display:block;margin-bottom:5px;font-weight:500}
#tip .tl{display:flex;align-items:center;gap:7px;color:var(--mut)}
#tip .tl i{width:8px;height:8px;border-radius:50%}
#tip .tl span{margin-left:auto;color:var(--fg);font-weight:500;padding-left:14px}
/* анимация сумм */
.cnt{font-variant-numeric:tabular-nums;transition:text-shadow .5s,color .5s}
.cnt.bump{color:var(--pos);text-shadow:0 0 18px rgba(91,227,168,.45)}
/* аккаунты: мягкая окраска состояний */
.row.s-wait{background:rgba(240,185,72,.05);box-shadow:inset 2px 0 0 rgba(240,185,72,.5)}
.row.s-paid{background:rgba(91,227,168,.035);box-shadow:inset 2px 0 0 rgba(91,227,168,.32)}
.row.s-kt{background:rgba(255,123,123,.04);box-shadow:inset 2px 0 0 rgba(255,123,123,.38)}
.row.s-kt .tt{color:var(--mut)}
.accl{margin-top:14px}
.cnt.bump-down{color:var(--neg);text-shadow:0 0 18px rgba(255,123,123,.45)}
.pctb{color:var(--hi);font-weight:500}
.onl{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dim);margin-right:8px;vertical-align:1px}.onl.on{background:var(--pos);box-shadow:0 0 8px var(--pos)}
.more{padding:12px 20px;text-align:center;border-top:1px solid var(--line)}
