:root {
  --bg: #f5f3ef;
  --card: #fff;
  --ink: #1f211e;
  --muted: #74766f;
  --line: #e6e3dc;
  --peach: #f46f54;
  --peach-dark: #d9533a;
  --peach-soft: #fff0eb;
  --green: #258b68;
  --green-soft: #e9f7f1;
  --amber: #c78129;
  --amber-soft: #fff5df;
  --red: #c94f4f;
  --red-soft: #fff0f0;
  --nav: #20231f;
  --shadow: 0 18px 48px rgba(42, 37, 29, .075), 0 2px 8px rgba(42, 37, 29, .03);
  --shadow-hover: 0 22px 54px rgba(42, 37, 29, .11), 0 3px 10px rgba(42, 37, 29, .04);
  --radius: 20px;
  --sidebar-width: 258px;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: var(--ink); background: var(--bg); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 40; inset: 0 auto 0 0; width: var(--sidebar-width); overflow:hidden; background:linear-gradient(165deg,#242722 0%,#1d201c 58%,#191b18 100%); color: #fff; padding: 24px 17px 18px; display: flex; flex-direction: column; box-shadow:18px 0 50px rgba(20,22,19,.08); }
.sidebar::before { content:""; position:absolute; width:270px; height:270px; left:-155px; top:-110px; border-radius:50%; background:rgba(244,111,84,.12); filter:blur(3px); pointer-events:none; }
.brand { position:relative; z-index:1; display: flex; align-items: center; gap: 12px; padding: 0 8px; min-height: 48px; }
.brand-mark { position:relative; display: inline-flex; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 13px; color: #fff; background:linear-gradient(145deg,#ff8d72,#f25f44); box-shadow:0 9px 24px rgba(244,111,84,.28), inset 0 1px 0 rgba(255,255,255,.3); font: 800 20px/1 Georgia, serif; transform: rotate(-3deg); }
.brand strong { display: block; font: 700 20px/1.05 Georgia, serif; letter-spacing: .2px; }
.brand small { display: block; color: #999b94; font-size: 10px; letter-spacing: 1.25px; text-transform: uppercase; margin-top: 5px; }
.nav-list { position:relative; z-index:1; display: flex; flex-direction: column; gap: 4px; margin-top: 30px; min-height:0; overflow-y:auto; scrollbar-width:none; }
.nav-list::-webkit-scrollbar { display:none; }
.nav-section-label { padding:0 12px 6px; color:#686c65; font-size:8px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }
.nav-section-label.nav-section-support { margin-top:16px; padding-top:15px; border-top:1px solid rgba(255,255,255,.08); }
.nav-link { position:relative; display: flex; align-items: center; gap: 11px; min-height:44px; padding: 7px 9px; border:1px solid transparent; border-radius: 12px; color: #a9ada5; font-weight: 620; transition: .2s ease; }
.nav-icon { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex:none; color:#83887f; border-radius:9px; transition:.2s ease; }
.nav-icon svg,.mobile-tabbar svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-link:hover { background:rgba(255,255,255,.045); color: #fff; }
.nav-link:hover .nav-icon { color:#ffad9b; background:rgba(244,111,84,.1); }
.nav-link.active { background:linear-gradient(100deg,rgba(255,255,255,.105),rgba(255,255,255,.055)); border-color:rgba(255,255,255,.055); color: #fff; box-shadow:inset 3px 0 0 var(--peach); }
.nav-link.active .nav-icon { color:#fff; background:linear-gradient(145deg,#f98268,#e85b40); box-shadow:0 6px 15px rgba(244,111,84,.18); }
.nav-link-accent { color: #f8b7a8; }
.nav-live-badge { min-width:21px; height:21px; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; margin-left:auto; color:#fff; background:linear-gradient(145deg,#ff8268,#e6533a); border:2px solid #292c27; border-radius:999px; box-shadow:0 5px 13px rgba(244,111,84,.3); font-size:9px; font-weight:850; line-height:1; }
.nav-live-badge[hidden] { display:none !important; }
.nav-live-badge.pulse { animation:live-badge-pulse .55s ease; }
@keyframes live-badge-pulse { 0% { transform:scale(.72); } 55% { transform:scale(1.22); } 100% { transform:scale(1); } }
.sidebar-user { position: relative; z-index:2; margin-top: auto; padding: 13px 10px; display: flex; align-items: center; gap: 10px; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(255,255,255,.035); backdrop-filter:blur(10px); }
.avatar { width: 38px; height: 38px; display: inline-flex; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: var(--peach); color: white; font-weight: 750; }
.avatar.small { width: 31px; height: 31px; font-size: 12px; }
.avatar.soft { background: var(--peach-soft); color: var(--peach-dark); }
.sidebar-user-copy { min-width: 0; flex: 1; }
.sidebar-user-copy strong, .sidebar-user-copy small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-user-copy strong { font-size: 12px; }
.sidebar-user-copy small { color: #92948d; font-size: 11px; margin-top: 2px; }
.icon-button { border: 0; background: transparent; cursor: pointer; padding: 6px; border-radius: 9px; }
.icon-button:hover { background: rgba(127,127,127,.12); }
.popover { display: none; position: absolute; left: 4px; right: 4px; bottom: 63px; padding: 7px; background: #fff; color: var(--ink); border-radius: 12px; box-shadow: 0 15px 50px rgba(0,0,0,.25); }
.popover.open { display: block; }
.popover a, .popover button { display: block; width: 100%; padding: 9px 10px; border: 0; background: transparent; text-align: left; border-radius: 7px; cursor: pointer; }
.popover a:hover, .popover button:hover { background: var(--bg); }
.main-column { position:relative; margin-left: var(--sidebar-width); min-height: 100vh; background:radial-gradient(circle at 8% 2%,rgba(244,111,84,.065),transparent 24rem),radial-gradient(circle at 95% 8%,rgba(37,139,104,.035),transparent 23rem); }
.main-column::before { content:""; position:fixed; inset:0 0 0 var(--sidebar-width); pointer-events:none; opacity:.22; background-image:radial-gradient(rgba(62,58,51,.17) .55px,transparent .55px); background-size:17px 17px; mask-image:linear-gradient(to bottom,#000,transparent 38%); }
.content { position:relative; z-index:1; max-width: 1480px; margin: auto; padding: 42px 46px 76px; }
.mobile-header { display: none; }
.mobile-tabbar { display:none; }
.sidebar-scrim { display: none; }

.page-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 30px; }
.page-heading h1 { font: 700 35px/1.08 Georgia, serif; letter-spacing: -.7px; margin: 7px 0 9px; text-wrap:balance; }
.page-heading p { color: var(--muted); margin: 0; }
.eyebrow { display: inline-flex; align-items:center; gap:7px; color: var(--peach-dark); font-size: 9px; font-weight: 850; letter-spacing: 1.65px; }
.eyebrow::before { content:""; width:6px; height:6px; border-radius:2px; background:currentColor; transform:rotate(45deg); opacity:.75; }
.eyebrow.light { color: #ffc3b5; }
.heading-actions { display: flex; align-items: center; gap: 10px; }
.back-link { color: var(--muted); font-size: 12px; font-weight: 650; }

.button { display: inline-flex; border: 1px solid transparent; border-radius: 11px; padding: 10px 17px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; font-weight: 720; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button:active { transform:translateY(0) scale(.985); }
.button-primary { color: #fff; background:linear-gradient(135deg,#f9866c,#f06247); box-shadow: 0 10px 24px rgba(244,111,84,.24),inset 0 1px 0 rgba(255,255,255,.25); }
.button-primary:hover { background:linear-gradient(135deg,#fa7b61,#df563d); box-shadow:0 13px 30px rgba(244,111,84,.3); }
.button-secondary { background:rgba(255,255,255,.82); border-color: #dedbd3; box-shadow:0 4px 12px rgba(45,40,32,.025); backdrop-filter:blur(8px); }
.button-secondary:hover { border-color: #c9c6bd; }
.button-ghost { background: transparent; color: var(--muted); }
.button-success { background: var(--green); color: white; }
.button-danger { background: var(--red); color: white; }
.button-danger-ghost { background: var(--red-soft); color: var(--red); }
.button-large { width: 100%; min-height: 49px; }
.text-link { color: var(--peach-dark); font-size: 12px; font-weight: 750; }

.card { background:linear-gradient(150deg,#fff 0%,#fff 72%,#fefdfb 100%); border: 1px solid rgba(221,217,208,.9); border-radius: var(--radius); box-shadow: var(--shadow); }
.card-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px 17px; }
.card-heading h2 { margin: 0; font-size: 16px; letter-spacing:-.12px; }
.card-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.heading-count { float: left; display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; width: 28px; height: 28px; background: var(--amber-soft); color: var(--amber); border-radius: 9px; font-weight: 800; }

.flash-stack { position: fixed; z-index: 90; top: 18px; right: 22px; width: min(390px, calc(100vw - 32px)); display: grid; gap: 8px; }
.flash { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--peach); border-radius: 10px; box-shadow: 0 12px 36px rgba(0,0,0,.13); }
.flash-success { border-left-color: var(--green); }
.flash-error { border-left-color: var(--red); }
.flash-live { border-left-color:var(--peach); animation:live-flash-in .22s ease-out; }
.flash-live::before { content:""; width:8px; height:8px; flex:none; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px var(--green-soft); }
.flash-live span { flex:1; }
@keyframes live-flash-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
.flash button { border: 0; background: none; cursor: pointer; color: var(--muted); font-size: 19px; }

.analytics-toolbar { display:flex; align-items:flex-end; gap:11px; padding:13px 15px; margin:-8px 0 20px; background:rgba(255,255,255,.82); border:1px solid rgba(221,217,208,.92); border-radius:17px; box-shadow:0 10px 28px rgba(42,37,29,.045); backdrop-filter:blur(12px); }
.analytics-toolbar.compact { width:fit-content; max-width:100%; margin-top:-5px; }
.analytics-toolbar > p { flex:1; align-self:center; margin:0 4px 0 8px; color:var(--muted); font-size:10px; }
.ui-enhanced .auto-filter-submit { display:none; }
[data-auto-filter] { transition:opacity .16s ease; }
[data-auto-filter].is-loading { opacity:.62; pointer-events:none; cursor:progress; }
.date-range-field { min-width:300px; }
.date-range-shell { position:relative; display:block; min-width:0; }
.date-range-shell .date-range-input { cursor:pointer; padding-left:43px; padding-right:34px; font-weight:680; letter-spacing:.05px; }
.date-range-icon { position:absolute; z-index:2; left:12px; top:50%; width:22px; height:22px; display:flex; align-items:center; justify-content:center; color:var(--peach-dark); transform:translateY(-50%); pointer-events:none; }
.date-range-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.date-range-chevron { position:absolute; z-index:2; right:12px; top:50%; color:#8c8e88; font-size:17px; transform:translateY(-56%); pointer-events:none; }

.balance-hero { position: relative; overflow: hidden; display: flex; align-items: stretch; background:linear-gradient(115deg,#242722 0%,#292b26 58%,#20221f 100%); color: white; border-radius: 24px; margin-bottom: 20px; border:1px solid rgba(255,255,255,.035); box-shadow: 0 24px 55px rgba(34,35,31,.18); }
.balance-hero::before { content:"₽"; position:absolute; right:31%; top:-55px; color:rgba(255,255,255,.035); font:700 230px/1 Georgia,serif; transform:rotate(8deg); }
.balance-hero::after { content: ""; position: absolute; right: 17%; top: -155px; width: 390px; height: 390px; background: radial-gradient(circle, rgba(244,111,84,.27), transparent 68%); }
.balance-main { padding: 28px 32px; width: 40%; position: relative; z-index: 1; }
.balance-label { color: #b9bbb3; font-size: 12px; }
.balance-main > strong { display: block; font: 700 41px/1.08 Georgia, serif; margin: 10px 0; letter-spacing:-.7px; }
.balance-main p { margin: 0; color: #989b92; font-size: 11px; }
.balance-breakdown { position: relative; z-index: 1; flex: 1; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; padding: 20px 28px; border-left: 1px solid #3d3e39; }
.balance-breakdown div { padding: 5px 18px; border-right: 1px solid #3d3e39; }
.balance-breakdown div:last-child { border: 0; }
.balance-breakdown span, .balance-breakdown strong { display: block; }
.balance-breakdown span { color: #9a9d94; font-size: 11px; margin-bottom: 6px; }
.balance-breakdown strong { font-size: 15px; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.muted { color: var(--muted) !important; }
.balance-breakdown .positive { color: #6ed3ac !important; }

.stat-grid { display: grid; gap: 16px; margin: 0 0 18px; }
.stat-grid.two { grid-template-columns: repeat(2,1fr); }
.stat-grid.three { grid-template-columns: repeat(3,1fr); }
.stat-grid.four { grid-template-columns: repeat(4,1fr); }
.stat-card { position:relative; overflow:hidden; display: flex; align-items: center; gap: 15px; padding: 19px 20px; background:linear-gradient(145deg,#fff,#fefdfb); border: 1px solid var(--line); border-radius: 17px; box-shadow:0 9px 26px rgba(42,37,29,.045); transition:.2s ease; }
.stat-card::after { content:""; position:absolute; right:-24px; top:-28px; width:88px; height:88px; border-radius:50%; background:rgba(244,111,84,.035); }
.stat-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.stat-icon, .metric-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border-radius: 12px; font-size: 17px; font-weight: 800; }
.stat-icon.peach, .metric-icon.peach { background: var(--peach-soft); color: var(--peach-dark); }
.stat-icon.green, .metric-icon.green { background: var(--green-soft); color: var(--green); }
.stat-icon.amber, .metric-icon.amber { background: var(--amber-soft); color: var(--amber); }
.stat-card div > * { display: block; }
.stat-card small, .metric-card small { color: var(--muted); font-size: 11px; }
.stat-card strong { font-size: 19px; margin: 2px 0 1px; }
.stat-card div > span { color: #aaa; font-size: 10px; }
.metric-card { min-height: 152px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 21px 22px; background:linear-gradient(150deg,#fff 0%,#fdfbf8 100%); border: 1px solid var(--line); border-radius: 19px; box-shadow:0 10px 30px rgba(42,37,29,.045); transition:.2s ease; }
.metric-card::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--peach),rgba(244,111,84,0)); opacity:.65; }
.metric-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.metric-card .metric-icon { position: absolute; right: 17px; top: 16px; width: 37px; height: 37px; }
.metric-card strong { font: 700 25px/1 Georgia, serif; margin: 6px 0; }
.metric-card > span, .metric-card a { color: var(--muted); font-size: 10px; }
.metric-card a { color: var(--peach-dark); font-weight: 700; }
.metric-card.dark { background:linear-gradient(145deg,#262924,#1f211e); color: white; border-color: #292a26; box-shadow:0 18px 42px rgba(34,35,31,.16); }
.metric-card.dark::before { height:100%; width:100%; opacity:1; background:radial-gradient(circle at 88% 15%,rgba(244,111,84,.2),transparent 42%); }
.metric-card.dark small, .metric-card.dark span { color: #a4a69e; }
.metric-card.dark strong { font-size: 28px; }
.metric-spark { position: absolute; bottom: 22px; right: 18px; display: flex; align-items: flex-end; gap: 4px; height: 35px; }
.metric-spark b { width: 5px; background: #55574f; border-radius: 4px; }
.metric-spark b:nth-child(1) { height: 25%; }.metric-spark b:nth-child(2) { height: 55%; }.metric-spark b:nth-child(3) { height: 42%; }.metric-spark b:nth-child(4) { height: 78%; background: var(--peach); }.metric-spark b:nth-child(5) { height: 100%; background: var(--peach); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(320px,.72fr); gap: 18px; }
.dashboard-grid.management { grid-template-columns: 1.15fr .85fr; }
.dashboard-grid > *,.detail-grid > * { min-width:0; }
.list-rows { border-top: 1px solid var(--line); }
.list-row { min-height: 72px; display: flex; align-items: center; gap: 13px; padding: 12px 24px; border-bottom: 1px solid var(--line); transition: .15s ease; }
a.list-row:hover { background: #fffaf7; padding-left:27px; }
.list-row:last-child { border-bottom: 0; }
.date-tile { width: 40px; height: 42px; border-radius: 10px; background: var(--bg); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
.date-tile b { line-height: 1; }.date-tile small { color: var(--muted); font-size: 9px; }
.list-row-main { flex: 1; min-width: 0; }
.list-row-main strong, .list-row-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-row-main strong { font-size: 12px; }.list-row-main small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.row-amount { min-width: 95px; text-align: right; font-size: 13px; }
.row-arrow { color: #bbb; font-size: 22px; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border:1px solid currentColor; border-radius: 20px; font-size: 10px; white-space: nowrap; font-weight: 750; }
.status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-pending { background: var(--amber-soft); color: var(--amber); }
.status-approved { background: var(--green-soft); color: var(--green); }
.status-rejected { background: var(--red-soft); color: var(--red); }
.status-cancelled { background: #efefed; color: #777; }
.list-rows.compact .list-row { min-height: 64px; }
.adjust-icon { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-weight: 900; }
.adjust-icon.bonus { background: var(--green-soft); color: var(--green); }.adjust-icon.penalty,.adjust-icon.advance { background: var(--red-soft); color: var(--red); }
.ranking-list { border-top: 1px solid var(--line); padding: 4px 0 8px; }
.ranking-row { min-height: 57px; display: flex; align-items: center; gap: 10px; padding: 9px 20px; }
.rank { color: #aaa; width: 15px; text-align: center; font-size: 11px; }

.empty-state { padding: 48px 24px; text-align: center; }
.empty-state .empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 15px; background: var(--peach-soft); color: var(--peach); font-size: 24px; }
.empty-state h3 { margin: 13px 0 4px; }.empty-state p { color: var(--muted); margin: 0 auto 16px; max-width: 390px; }
.quiet-empty { color: var(--muted); text-align: center; padding: 38px 20px; }

.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > span:first-child { color: #5e5f5a; font-size: 11px; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; min-height: 45px; padding: 9px 12px; color: var(--ink); background:linear-gradient(#fff,#fefdfa); border: 1px solid #d9d6ce; border-radius: 10px; outline: 0; transition: .16s ease; box-shadow:inset 0 1px 2px rgba(34,31,25,.02); }
.field input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.field input[type="number"]::-webkit-inner-spin-button,
.field input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--peach); box-shadow: 0 0 0 4px rgba(244,111,84,.1),0 5px 15px rgba(44,39,32,.04); }
.field small { color: var(--muted); font-size: 10px; }
.field[hidden] { display:none !important; }
.role-choice-field { padding:14px 15px; background:linear-gradient(135deg,#fff6f2,#fffaf7); border:1px solid #f3c7ba; border-radius:14px; }
.role-choice-field > span { color:var(--peach-dark); font-weight:850; }
.custom-select { position:relative; display:block; width:100%; min-width:0; }
.native-select-hidden { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; padding:0 !important; margin:0 !important; opacity:0 !important; clip-path:inset(50%); pointer-events:none; }
.custom-select-trigger { width:100%; min-height:45px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; color:var(--ink); background:linear-gradient(#fff,#fefdfa); border:1px solid #d9d6ce; border-radius:10px; box-shadow:inset 0 1px 2px rgba(34,31,25,.02); cursor:pointer; text-align:left; transition:.16s ease; }
.custom-select-trigger:hover { border-color:#c9c5bc; }
.custom-select-trigger:focus,.custom-select-trigger[aria-expanded="true"] { outline:0; border-color:var(--peach); box-shadow:0 0 0 4px rgba(244,111,84,.1),0 5px 15px rgba(44,39,32,.04); }
.custom-select-trigger.invalid { border-color:var(--red); }
.custom-select-trigger:disabled { color:#9b9d97; background:#f3f2ee; border-color:#dfddd6; box-shadow:none; cursor:not-allowed; opacity:.82; }
.custom-select-trigger.placeholder .custom-select-value { color:#999b95; }
.custom-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-select-arrow { flex:none; color:#8d8f89; font-size:17px; transform:translateY(-2px); }
.custom-select-menu { display:none; position:fixed; z-index:150; overflow:hidden; padding:7px; background:rgba(255,255,255,.97); border:1px solid rgba(218,214,205,.95); border-radius:14px; box-shadow:0 24px 65px rgba(34,31,25,.22); backdrop-filter:blur(16px); }
.custom-select-menu.open { display:flex; flex-direction:column; }
.custom-select-search { flex:none; display:flex; align-items:center; gap:7px; padding:5px 9px; margin-bottom:5px; color:#9a9c96; background:#f7f5f1; border:1px solid var(--line); border-radius:9px; }
.custom-select-search[hidden] { display:none; }
.custom-select-search input { width:100%; min-width:0; height:30px; padding:0; border:0; outline:0; background:transparent; }
.custom-select-options { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d7d3ca transparent; }
.custom-select-group > span { display:block; padding:10px 9px 4px; color:var(--peach-dark); font-size:8px; font-weight:850; letter-spacing:1.2px; text-transform:uppercase; }
.custom-select-option { width:100%; min-height:39px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:0; border-radius:8px; background:transparent; cursor:pointer; text-align:left; }
.custom-select-option[hidden],.custom-select-group[hidden] { display:none !important; }
.custom-select-option:hover,.custom-select-option:focus { outline:0; background:#fff3ee; }
.custom-select-option i { display:none; color:var(--peach-dark); font-style:normal; font-weight:850; }
.custom-select-option.selected { color:var(--peach-dark); background:var(--peach-soft); font-weight:750; }
.custom-select-option.selected i { display:block; }
.custom-select-option:disabled { opacity:.45; cursor:not-allowed; }
.grow { flex: 1; }
.form-card { max-width: 650px; padding: 25px; display: grid; gap: 17px; }
.form-card.wide { max-width: 920px; }
.form-grid { display: grid; gap: 15px; }
.form-grid.two { grid-template-columns: repeat(2,1fr); }.form-grid.three { grid-template-columns: repeat(3,1fr); }
.span-two { grid-column: span 2; }
.form-actions { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.checkbox-row { display: flex; flex-wrap: wrap; gap: 24px; padding: 15px 0 5px; border-top: 1px solid var(--line); }
.checkbox { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; color: #555; font-size: 12px; }
.checkbox input { position: absolute; opacity: 0; pointer-events: none; }
.checkbox span { display: inline-block; width: 18px; height: 18px; border: 1px solid #ccc9c0; border-radius: 5px; position: relative; }
.checkbox input:checked + span { background: var(--peach); border-color: var(--peach); }
.checkbox input:checked + span::after { content: "✓"; position: absolute; inset: -1px 0 0; text-align: center; color: white; font-size: 12px; }
.secondary-form { max-width: 920px; margin-top: 16px; padding: 22px 25px; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.secondary-form h2 { margin: 0 0 4px; font-size: 15px; }.secondary-form p { margin: 0; color: var(--muted); }.secondary-form form { display: flex; align-items: flex-end; gap: 10px; }

.production-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 18px; align-items: start; }
.production-card { padding: 25px; }
.form-section-heading { display: flex; align-items: center; gap: 12px; }
.section-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: none; background: var(--peach-soft); color: var(--peach-dark); border-radius: 9px; font-weight: 850; }
.form-section-heading h2 { margin: 0; font-size: 15px; }.form-section-heading p { margin: 2px 0 0; font-size: 11px; color: var(--muted); }
.date-field { max-width: 230px; margin: 17px 0 2px 42px; }
.section-separator { height: 1px; background: var(--line); margin: 25px 0; }
.line-editor { margin-top: 16px; display: grid; gap: 9px; }
.work-line { position: relative; display: flex; align-items: flex-end; gap: 10px; padding: 15px; background:linear-gradient(145deg,#fbfaf8,#fff); border: 1px solid #e8e5de; border-radius: 15px; box-shadow:0 5px 16px rgba(40,35,28,.025); }
.work-line-index { align-self: center; width: 24px; height: 24px; flex: none; display: inline-flex; align-items: center; justify-content: center; color: #aaa; background: #fff; border: 1px solid var(--line); border-radius: 8px; font-size: 10px; }
.quantity-field { width: 145px; }
.quantity-wrap { display: flex; align-items: stretch; }
.quantity-wrap input { border-radius: 9px 0 0 9px; }
.unit-label { min-width: 45px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid #dcdad3; border-left: 0; border-radius: 0 9px 9px 0; background: #f1f0ec; color: var(--muted); font-size: 10px; font-weight: 600; }
.line-sum { width: 112px; align-self: center; text-align: right; }
.line-sum > * { display: block; }.line-sum span { color: var(--muted); font-size: 9px; }.line-sum strong { margin: 2px 0; }.line-sum small { color: var(--muted); font-size: 8px; }
.remove-line { align-self: center; width: 30px; height: 30px; color: #aaa; font-size: 19px; }
.add-line-button { width: 100%; margin-top: 10px; min-height: 62px; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: 1fr 1fr; column-gap: 9px; align-items: center; text-align: left; color: var(--peach-dark); background:linear-gradient(135deg,#fffaf8,#fff5f1); border: 1px dashed #efa994; border-radius: 14px; padding: 10px 14px; cursor: pointer; transition:.18s ease; }
.add-line-button:hover { border-style:solid; transform:translateY(-1px); box-shadow:0 8px 20px rgba(244,111,84,.08); }
.add-line-button > span { grid-row: span 2; width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--peach-soft); }
.add-line-button strong { align-self: end; font-size: 12px; }.add-line-button small { align-self: start; color: var(--muted); font-size: 9px; }
.calculation-card { position: sticky; top: 25px; padding: 25px; }
.calculation-card h2 { font: 700 24px/1.1 Georgia, serif; margin: 6px 0 18px; }
.calculation-lines { display: grid; gap: 11px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; min-height: 70px; }
.calculation-line { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; }
.calculation-line span { font-size: 11px; }.calculation-line strong { font-size: 11px; }.calculation-line small { color: var(--muted); font-size: 9px; }
.calculation-placeholder { color: #aaa; font-size: 11px; text-align: center; padding: 12px; }
.calculation-total { display: flex; justify-content: space-between; align-items: flex-end; padding: 17px 0 7px; }
.calculation-total span { font-size: 11px; font-weight: 700; }.calculation-total strong { font: 700 24px/1 Georgia, serif; }
.calculation-note { padding: 10px 12px; margin: 8px 0 16px; background: var(--green-soft); color: #537769; border-radius: 9px; font-size: 9px; }

.filter-pills { display: flex; gap: 5px; margin: -8px 0 14px; overflow-x: auto; }
.filter-pills a { padding: 7px 12px; color: var(--muted); border:1px solid transparent; border-radius: 20px; white-space: nowrap; font-size: 11px; font-weight: 650; }
.filter-pills a:hover { background:rgba(255,255,255,.7); border-color:var(--line); }
.filter-pills a.active { background:linear-gradient(145deg,#2b2e29,#20221f); color: #fff; box-shadow:0 6px 15px rgba(32,34,31,.15); }
.table-card { overflow: hidden; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { color: #91938c; background:linear-gradient(#fbfaf8,#f8f6f2); font-size: 9px; text-transform: uppercase; letter-spacing: .8px; text-align: left; padding: 13px 18px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 14px 18px; border-bottom: 1px solid var(--line); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
td strong, td small { display: block; } td strong { font-size: 12px; } td small { color: var(--muted); font-size: 9px; margin-top: 2px; }
.amount-cell { font-weight: 800; white-space: nowrap; }
.row-open { color: var(--peach-dark); font-size: 11px; font-weight: 750; white-space: nowrap; }
.comment-preview { max-width: 220px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.person-cell { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.role-chip, .adjustment-chip { display: inline-flex; padding: 4px 8px; border-radius: 12px; font-size: 9px; font-weight: 750; }
.role-worker { background: #f0f0ed; color: #666; }.role-master { background: var(--amber-soft); color: var(--amber); }.role-director { background: var(--peach-soft); color: var(--peach-dark); }
.access-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; }.access-dot.on { background: var(--green); }.access-dot.off { background: #bbb; }
.row-disabled { opacity: .55; }
.table-action { border: 0; background: none; cursor: pointer; font-size: 10px; font-weight: 700; }.table-action.danger { color: var(--red); }
.adjustment-chip.bonus { background: var(--green-soft); color: var(--green); }.adjustment-chip.penalty,.adjustment-chip.advance { background: var(--red-soft); color: var(--red); }

.detail-heading { align-items: center; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 18px; align-items: start; }
.detail-grid > .card { overflow: hidden; }
.detail-grid aside { display: grid; gap: 16px; }
.line-summary-list { border-top: 1px solid var(--line); }
.line-summary { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; padding: 15px 24px; border-bottom: 1px solid var(--line); }
.operation-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: var(--peach-soft); color: var(--peach-dark); border-radius: 10px; font-weight: 800; }
.line-summary div > * { display: block; }.line-summary div small { color: var(--peach-dark); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; }.line-summary div strong { font-size: 12px; }.line-summary div span { color: var(--muted); font-size: 9px; margin-top: 2px; }
.base-line { display: flex; justify-content: space-between; padding: 8px 24px 8px 75px; background: #fffaf6; color: #8a6b54; font-size: 10px; border-bottom: 1px solid var(--line); }
.detail-total { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background: #fbfaf8; }.detail-total span { font-weight: 700; }.detail-total strong { font: 700 24px/1 Georgia,serif; }
.review-card { padding: 24px; }.review-card h2 { margin: 6px 0; }.review-card p { color: var(--muted); font-size: 11px; margin: 0 0 17px; }.review-card form + .button { margin-top: 8px; }
.history-card { padding-bottom: 15px; }
.timeline { padding: 0 24px 5px; }
.timeline > div { display: flex; gap: 11px; position: relative; padding-bottom: 15px; }
.timeline > div:not(:last-child)::before { content:""; position:absolute; left:4px; top:12px; bottom:0; width:1px; background:var(--line); }
.timeline i { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: var(--peach); flex: none; z-index: 1; }
.timeline span > * { display:block; }.timeline strong { font-size:10px; }.timeline small { color:var(--muted); font-size:9px; }.timeline time { color:#bbb; font-size:8px; margin-top:2px; }
.callout { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; border-radius: 13px; margin-bottom: 16px; }.callout > span { display:inline-flex; width:25px; height:25px; align-items:center; justify-content:center; border-radius:8px; font-weight:900; }.callout strong { font-size:12px; }.callout p { margin:2px 0 0; font-size:10px; }.callout-error { background:var(--red-soft); color:#934444; }.callout-error > span { background:#f8dada; }.callout-success { background:var(--green-soft); color:#386d59; }.callout-success > span { background:#d3eee2; }

.filters-card { display: flex; align-items: flex-end; gap: 10px; padding: 15px; margin-bottom: 16px; }
.report-stats { margin-bottom: 16px; }
.adjustment-form-card { padding: 0 4px 18px; margin-bottom: 17px; }
.balance-overview { margin-bottom:17px; border-radius:17px; overflow:hidden; background:#292a26; color:#fff; }
.balance-overview-heading { display:flex; justify-content:space-between; align-items:center; padding:17px 20px; border-bottom:1px solid #3d3e39; }.balance-overview-heading strong { color:#aaa; font-size:10px; }
.balance-employee-grid { display:grid; grid-template-columns:repeat(3,1fr); }.balance-employee-grid > div { display:flex; align-items:center; gap:10px; padding:15px 20px; border-right:1px solid #3d3e39; border-bottom:1px solid #3d3e39; }.balance-employee-grid > div:nth-child(3n) { border-right:0; }.balance-employee-grid span:nth-child(2) { flex:1; min-width:0; }.balance-employee-grid span:nth-child(2) > * { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.balance-employee-grid strong { font-size:11px; }.balance-employee-grid small { color:#999b94; font-size:9px; }.balance-employee-grid b { color:#ffb5a4; font-size:12px; white-space:nowrap; }
.inline-form { display: grid; grid-template-columns: 1.5fr .65fr .65fr .75fr 1.4fr auto; align-items: end; gap: 10px; padding: 0 20px; }

.catalog-grid { display: grid; gap: 14px; }
.catalog-card { overflow: hidden; }.catalog-card.inactive { opacity:.62; }
.category-edit > summary { display: flex; align-items: center; gap: 12px; padding: 18px 20px; cursor: pointer; list-style: none; background:linear-gradient(135deg,#fbfaf8,#fff); }
details > summary::-webkit-details-marker { display: none; }
.category-letter { display: inline-flex; align-items:center; justify-content:center; width:36px; height:36px; flex:none; border-radius:10px; background:var(--peach-soft); color:var(--peach-dark); font-weight:850; }
.category-edit > summary > span:nth-child(2) { flex:1; }.category-edit summary strong,.category-edit summary small { display:block; }.category-edit summary small { color:var(--muted); font-size:9px; }.category-edit summary b { color:var(--peach-dark); font-size:10px; }
.inline-edit-form { display:flex; align-items:flex-end; gap:10px; padding:14px 20px; border-top:1px solid var(--line); background:#fffdfb; }.inline-edit-form .field { flex:1; }.inline-edit-form .checkbox { margin-bottom:12px; }
.operation-list { border-top:1px solid var(--line); }
.operation-item > summary { display:flex; align-items:center; gap:15px; padding:13px 20px 13px 68px; list-style:none; cursor:pointer; border-bottom:1px solid var(--line); }.operation-item:last-child > summary { border-bottom:0; }.operation-item[open] > summary { background:#fffaf8; }
.operation-item.inactive { opacity:.5; }.operation-item > summary > span:first-child { flex:1; }.operation-item summary strong,.operation-item summary small { display:block; }.operation-item summary strong { font-size:11px; }.operation-item summary small { font-size:9px; color:var(--muted); }.operation-item summary b { color:#aaa; font-size:18px; transform:rotate(90deg); transition:.2s; }.operation-item[open] summary b { transform:rotate(-90deg); }
.norm-value { color:var(--muted); font-size:10px; }
.operation-edit-form { padding:17px 20px 20px 68px; background:#faf9f7; border-bottom:1px solid var(--line); }.operation-edit-form .form-actions { justify-content:space-between; }
.tiered-rate { display:none; }.rate-form.is-tiered .tiered-rate { display:flex; }.rate-form.is-tiered .piece-rate { display:none; }

.modal { width:min(470px, calc(100vw - 30px)); padding:0; border:1px solid rgba(255,255,255,.7); border-radius:21px; background:linear-gradient(150deg,#fff,#fefbf8); box-shadow:0 34px 100px rgba(0,0,0,.32); }.modal::backdrop { background:rgba(21,21,18,.62); backdrop-filter:blur(5px); }.modal > form { position:relative; padding:29px; display:grid; gap:14px; }.modal h2 { margin:3px 0 -7px; font:700 27px/1.08 Georgia,serif; }.modal p { margin:0 0 3px; color:var(--muted); font-size:11px; }.modal-close { position:absolute; right:16px; top:13px; width:34px; height:34px; border:0; border-radius:10px; background:var(--bg); color:var(--muted); cursor:pointer; font-size:19px; }.modal-wide { width:min(760px, calc(100vw - 30px)); }

.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.contact-card { position:relative; overflow:hidden; padding:25px; transition:.2s ease; }.contact-card::after { content:""; position:absolute; width:110px; height:110px; right:-50px; top:-50px; border-radius:50%; background:var(--peach-soft); }.contact-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }.contact-avatar { position:relative; z-index:1; width:55px; height:55px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#2b2e29,#1e201d); color:#fff; border-radius:17px; box-shadow:0 10px 24px rgba(32,34,31,.16); font:700 23px/1 Georgia,serif; margin-bottom:17px; }.contact-card h2 { margin:10px 0 3px; font:700 20px/1.2 Georgia,serif; }.contact-card p { color:var(--muted); margin:0; min-height:42px; }.phone-link { position:relative; z-index:1; display:flex; align-items:center; gap:9px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); color:var(--peach-dark); font-weight:750; }.phone-link span { display:inline-flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:8px; background:var(--peach-soft); }
.norms-intro { display:flex; align-items:center; gap:11px; padding:12px 15px; margin-bottom:16px; background:#fff8e9; color:#866b3c; border:1px solid #f0e2be; border-radius:12px; }.norms-intro > span { display:inline-flex; align-items:center; justify-content:center; width:25px; height:25px; border-radius:8px; background:#f4dfaa; font-weight:850; }.norms-intro p { margin:0; font-size:11px; }
.norms-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; align-items:start; }.norm-card { overflow:hidden; }.norm-category { display:flex; align-items:center; gap:12px; padding:18px 20px; background:#fbfaf8; border-bottom:1px solid var(--line); }.norm-category h2 { margin:0; font-size:15px; }.norm-category small { color:var(--peach-dark); font-size:9px; }.norm-list > div { display:flex; justify-content:space-between; gap:20px; padding:13px 20px; border-bottom:1px solid var(--line); }.norm-list > div:last-child { border-bottom:0; }.norm-list span > * { display:block; }.norm-list strong { font-size:11px; }.norm-list small { color:var(--muted); font-size:9px; }.norm-figures { text-align:right; flex:none; }.norm-figures b { font-size:11px; }

.page-narrow { max-width:700px; }.error-page { min-height:65vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.error-page > span { color:var(--peach); font:700 70px/1 Georgia,serif; opacity:.25; }.error-page h1 { margin:5px 0; }.error-page p { color:var(--muted); margin:0 0 18px; }

.flatpickr-calendar.sofitta-calendar { isolation:isolate; overflow:hidden; padding:10px; width:auto; background:#fff; border:1px solid rgba(219,215,206,.95); border-radius:18px; box-shadow:0 28px 80px rgba(34,31,25,.24); font-family:inherit; }
.sofitta-calendar .flatpickr-months,.sofitta-calendar .flatpickr-innerContainer,.sofitta-calendar .flatpickr-rContainer,.sofitta-calendar .flatpickr-days,.sofitta-calendar .dayContainer,.sofitta-calendar .calendar-presets { background:#fff; }
.sofitta-calendar.arrowTop::before,.sofitta-calendar.arrowTop::after,.sofitta-calendar.arrowBottom::before,.sofitta-calendar.arrowBottom::after { display:none; }
.sofitta-calendar .flatpickr-months { align-items:center; padding:3px 4px 9px; }
.sofitta-calendar .flatpickr-months .flatpickr-prev-month,.sofitta-calendar .flatpickr-months .flatpickr-next-month { position:static; width:34px; height:34px; padding:9px; display:flex; align-items:center; justify-content:center; border-radius:10px; color:#6f716b; }
.sofitta-calendar .flatpickr-months .flatpickr-prev-month:hover,.sofitta-calendar .flatpickr-months .flatpickr-next-month:hover { background:var(--peach-soft); color:var(--peach-dark); }
.sofitta-calendar .flatpickr-months .flatpickr-month { height:34px; flex:1; }
.sofitta-calendar .flatpickr-current-month { position:static; left:auto; width:100%; height:34px; padding:2px 0 0; display:flex; align-items:center; justify-content:center; gap:4px; font-size:14px; }
.sofitta-calendar .flatpickr-current-month .flatpickr-monthDropdown-months { flex:1; min-width:0; width:auto; height:30px; padding:0 22px 0 9px; color:var(--ink); background:#f6f4ef; border:1px solid var(--line); border-radius:9px; font-weight:750; appearance:auto; }
.sofitta-calendar .flatpickr-current-month .numInputWrapper { flex:0 0 74px; width:74px; height:30px; background:#f6f4ef; border:1px solid var(--line); border-radius:9px; }
.sofitta-calendar .flatpickr-current-month input.cur-year { height:28px; font-weight:750; }
.sofitta-calendar .flatpickr-weekdays { margin-top:4px; }
.sofitta-calendar span.flatpickr-weekday { color:#9a9c96; font-size:9px; font-weight:800; }
.sofitta-calendar .flatpickr-day { height:37px; max-width:37px; line-height:37px; margin:1px; border:0; border-radius:11px; font-size:11px; }
.sofitta-calendar .flatpickr-day:hover { background:var(--peach-soft); color:var(--peach-dark); }
.sofitta-calendar .flatpickr-day.today { color:var(--peach-dark); box-shadow:inset 0 0 0 1px var(--peach); }
.sofitta-calendar .flatpickr-day.selected,.sofitta-calendar .flatpickr-day.startRange,.sofitta-calendar .flatpickr-day.endRange { color:#fff; background:linear-gradient(145deg,#fa8369,#ed5d43); box-shadow:none; }
.sofitta-calendar .flatpickr-day.inRange { color:#8d4d3d; background:#fff0ea; box-shadow:-5px 0 0 #fff0ea,5px 0 0 #fff0ea; border-radius:0; }
.sofitta-calendar .flatpickr-day.flatpickr-disabled { color:#d2d2ce; }
.calendar-presets { display:flex; flex-wrap:wrap; gap:5px; padding:10px 4px 2px; margin-top:7px; border-top:1px solid var(--line); }
.calendar-presets button { min-height:32px; padding:6px 10px; border:1px solid var(--line); border-radius:9px; color:#696b65; background:#faf9f6; cursor:pointer; font-size:9px; font-weight:750; }
.calendar-presets button:hover { color:var(--peach-dark); background:var(--peach-soft); border-color:#f3bbaa; }

.login-page { background:#fff; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:1.05fr .95fr; }
.login-visual { position:relative; overflow:hidden; min-height:620px; padding:42px 55px; display:flex; flex-direction:column; color:#fff; background:#292a26; }
.login-visual::before { content:""; position:absolute; inset:0; opacity:.075; background-image:linear-gradient(30deg,#fff 1px,transparent 1px),linear-gradient(150deg,#fff 1px,transparent 1px); background-size:48px 84px; }
.brand.light { position:relative; z-index:1; padding:0; }.brand.light small { color:#a8aaa2; }
.login-message { position:relative; z-index:1; max-width:540px; margin:auto 0 30px; }.login-message h1 { margin:14px 0 16px; font:700 52px/1.06 Georgia,serif; letter-spacing:-1.5px; }.login-message p { color:#b2b4ac; font-size:16px; max-width:450px; }
.login-stat-card { position:relative; z-index:1; width:330px; display:flex; align-items:center; gap:17px; padding:17px 19px; margin-bottom:20px; border:1px solid #474842; border-radius:15px; background:rgba(255,255,255,.035); backdrop-filter:blur(10px); }.login-stat-card div:last-child > * { display:block; }.login-stat-card strong { font-size:11px; }.login-stat-card span { color:#8f9189; font-size:9px; }
.mini-chart { height:38px; display:flex; align-items:flex-end; gap:3px; }.mini-chart i { width:4px; border-radius:4px; background:#62645c; }.mini-chart i:nth-child(1){height:35%}.mini-chart i:nth-child(2){height:60%}.mini-chart i:nth-child(3){height:45%}.mini-chart i:nth-child(4){height:77%;background:var(--peach)}.mini-chart i:nth-child(5){height:65%;background:var(--peach)}.mini-chart i:nth-child(6){height:92%;background:var(--peach)}.mini-chart i:nth-child(7){height:100%;background:#ff9c85}
.visual-glow { position:absolute; border-radius:50%; filter:blur(20px); }.visual-glow.one { width:440px; height:440px; background:rgba(244,116,88,.1); left:-190px; bottom:-190px; }.visual-glow.two { width:330px; height:330px; border:1px solid rgba(244,116,88,.14); right:-100px; top:12%; }
.login-form-panel { display:flex; align-items:center; justify-content:center; padding:40px; }.login-form { width:min(390px,100%); display:grid; gap:18px; }.login-form-heading { margin-bottom:9px; }.login-form-heading h2 { margin:7px 0 4px; font:700 33px/1.1 Georgia,serif; }.login-form-heading p { color:var(--muted); margin:0; }.mobile-login-logo { display:none; }.password-wrap { position:relative; }.password-wrap input { padding-right:83px; }.password-toggle { position:absolute; right:9px; top:50%; transform:translateY(-50%); border:0; background:transparent; color:var(--peach-dark); font-size:10px; font-weight:750; cursor:pointer; }.login-help { text-align:center; color:#9b9c97; font-size:10px; }.inline-alert { padding:10px 12px; border-radius:9px; background:var(--red-soft); color:var(--red); font-size:11px; }.inline-alert.info { background:var(--amber-soft); color:var(--amber); }

@media (max-width: 1180px) {
  .content { padding:32px 28px 60px; }
  .balance-main { width:36%; }.balance-breakdown { padding:17px 13px; }.balance-breakdown div { padding:5px 10px; }
  .inline-form { grid-template-columns:1fr 1fr 1fr; }.inline-form .basis-field { grid-column:span 2; }
  .balance-employee-grid { grid-template-columns:repeat(2,1fr); }.balance-employee-grid > div:nth-child(3n) { border-right:1px solid #3d3e39; }.balance-employee-grid > div:nth-child(2n) { border-right:0; }
  .contact-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
  :root { --sidebar-width: 232px; }
  .sidebar { transform:translateX(-100%); transition:.22s ease; }.sidebar.open { transform:none; }
  body.nav-open { overflow:hidden; }
  .sidebar-scrim { display:block; position:fixed; z-index:35; inset:0; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; transition:opacity .22s ease, visibility .22s ease; }.sidebar.open ~ .sidebar-scrim { opacity:1; visibility:visible; }
  .main-column { margin-left:0; }
  .main-column::before { display:none; }
  .mobile-header { height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; background:rgba(255,255,255,.86); border-bottom:1px solid rgba(224,220,212,.8); box-shadow:0 7px 24px rgba(44,39,32,.04); backdrop-filter:blur(16px); position:sticky; top:0; z-index:30; }
  .mobile-header > .icon-button { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; font-size:20px; }
  .mobile-brand { display:flex; align-items:center; gap:8px; font-family:Georgia,serif; }.mobile-brand .brand-mark { width:30px; height:30px; border-radius:9px; font-size:16px; }
  .content { padding:25px 19px 55px; }
  .balance-hero { display:block; }.balance-main { width:auto; padding-bottom:20px; }.balance-breakdown { border-left:0; border-top:1px solid #3d3e39; padding:14px; }
  .stat-grid.four { grid-template-columns:repeat(2,1fr); }
  .dashboard-grid,.dashboard-grid.management,.detail-grid { grid-template-columns:1fr; }
  .production-layout { grid-template-columns:1fr; }.calculation-card { position:static; }
  .login-visual { padding:38px; }.login-message h1 { font-size:42px; }
  .form-grid.three { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
  body { font-size:13px; }.content { padding:22px 13px calc(108px + env(safe-area-inset-bottom)); }
  .mobile-tabbar { position:fixed; z-index:29; left:10px; right:10px; bottom:calc(9px + env(safe-area-inset-bottom)); min-height:67px; display:flex; align-items:center; justify-content:space-around; padding:7px 8px; color:#8b8d87; background:rgba(255,255,255,.93); border:1px solid rgba(218,214,205,.9); border-radius:20px; box-shadow:0 16px 45px rgba(32,34,30,.18),inset 0 1px 0 rgba(255,255,255,.8); backdrop-filter:blur(18px); }
  .mobile-tabbar a { position:relative; min-width:62px; min-height:51px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:14px; transition:.18s ease; }
  .mobile-tabbar a > span { width:28px; height:26px; display:flex; align-items:center; justify-content:center; }
  .mobile-tabbar a small { font-size:8px; font-weight:750; }
  .mobile-tabbar .nav-live-badge.mobile { position:absolute; top:2px; right:7px; min-width:19px; height:19px; margin:0; padding:0 5px; border-color:#fff; font-size:8px; }
  .mobile-tabbar a.active { color:var(--peach-dark); background:var(--peach-soft); }
  .mobile-tabbar-primary > span { color:#fff; background:linear-gradient(145deg,#ff876d,#ed5d43); border-radius:10px; box-shadow:0 7px 16px rgba(244,111,84,.25); }
  .mobile-tabbar-primary.active { background:transparent !important; }
  .page-heading { align-items:flex-start; margin-bottom:20px; }.page-heading:not(.detail-heading) { flex-direction:column; }.page-heading h1 { font-size:27px; }.page-heading .button { width:100%; }.heading-cancel { min-height:42px; display:inline-flex; align-items:center; }
  .analytics-toolbar,.analytics-toolbar.compact { width:100%; display:grid; grid-template-columns:1fr auto; align-items:end; margin-top:-4px; padding:12px; }
  .analytics-toolbar .date-range-field { min-width:0; }
  .analytics-toolbar > p { grid-column:1 / -1; margin:1px 2px 0; }
  .analytics-toolbar .button { min-width:94px; padding-left:12px; padding-right:12px; }
  .analytics-toolbar[data-auto-filter] { grid-template-columns:1fr; }
  .detail-heading { flex-direction:column; }.heading-actions { width:100%; flex-wrap:wrap; }.heading-actions .button { flex:1; }
  .balance-main { padding:24px; }.balance-main > strong { font-size:32px; }.balance-breakdown { grid-template-columns:repeat(2,1fr); }.balance-breakdown div:nth-child(2) { border-right:0; }.balance-breakdown div:nth-child(-n+2) { border-bottom:1px solid #3d3e39; padding-bottom:13px; }.balance-breakdown div:nth-child(n+3) { padding-top:13px; }
  .stat-grid.two,.stat-grid.three,.stat-grid.four { grid-template-columns:1fr; }
  .metric-card { min-height:125px; }.dashboard-grid { gap:13px; }
  .card { border-radius:17px; }.card-heading { padding:18px 17px 14px; }.list-row { padding:11px 15px; }.list-row .status { display:none; }.row-amount { min-width:auto; }
  .filters-card { display:grid; grid-template-columns:repeat(2,1fr); }.filters-card .grow,.filters-card .button,.filters-card .date-range-field { grid-column:span 2; }.filters-card .date-range-field { min-width:0; }
  .form-grid.two,.form-grid.three { grid-template-columns:1fr; }.span-two { grid-column:auto; }.form-actions { flex-direction:column; align-items:stretch; }.secondary-form,.secondary-form form { flex-direction:column; align-items:stretch; }
  .production-card { padding:18px 13px; }.date-field { margin-left:0; }.work-line { display:grid; grid-template-columns:25px 1fr 42px; align-items:end; }.work-line-index { grid-row:span 2; align-self:center; }.work-line .grow { grid-column:2; }.quantity-field { width:auto; grid-column:2; }.line-sum { grid-column:2; width:auto; text-align:left; padding:0 3px; }.remove-line { grid-column:3; grid-row:1; width:42px; height:42px; }.calculation-card { padding:20px; }
  .line-summary { grid-template-columns:34px 1fr; padding:13px 15px; }.line-summary > strong { grid-column:2; text-align:right; }.base-line { padding-left:61px; }.detail-total { padding:18px; }
  .inline-form { grid-template-columns:1fr; }.inline-form .basis-field { grid-column:auto; }.adjustment-form-card { padding-bottom:15px; }
  .balance-employee-grid { grid-template-columns:1fr; }.balance-employee-grid > div { border-right:0 !important; }
  .inline-edit-form { flex-direction:column; align-items:stretch; }.inline-edit-form .checkbox { margin:5px 0; }.operation-item > summary { padding-left:20px; }.operation-edit-form { padding:15px; }.norm-value { display:none; }
  .contact-grid,.norms-grid { grid-template-columns:1fr; }.norm-list > div { gap:10px; }
  .filter-pills { scrollbar-width:none; }.filter-pills::-webkit-scrollbar { display:none; }.filter-pills a { min-height:40px; display:inline-flex; align-items:center; }
  .login-shell { grid-template-columns:1fr; }.login-visual { display:none; }.login-form-panel { min-height:100vh; padding:28px 16px; align-items:center; background:radial-gradient(circle at 12% 12%,rgba(244,111,84,.13),transparent 18rem),radial-gradient(circle at 95% 92%,rgba(37,139,104,.07),transparent 19rem),var(--bg); }.login-form { padding:27px 21px 24px; background:rgba(255,255,255,.9); border:1px solid rgba(222,218,210,.9); border-radius:23px; box-shadow:0 24px 60px rgba(42,37,29,.12); backdrop-filter:blur(12px); }.mobile-login-logo { display:block; margin-bottom:20px; }.login-form-heading h2 { font-size:31px; }
  .modal-close { width:42px; height:42px; right:11px; top:10px; }
  .flatpickr-calendar.sofitta-calendar { max-width:calc(100vw - 20px); padding:8px; }
  .sofitta-calendar .flatpickr-days,.sofitta-calendar .dayContainer { width:calc(100vw - 38px); min-width:calc(100vw - 38px); max-width:307.875px; }
  .sofitta-calendar .flatpickr-day { height:36px; line-height:36px; }
  th,td { padding:12px 13px; }
  .mobile-table-card { overflow:visible; background:transparent; border:0; box-shadow:none; }
  .mobile-card-table { overflow:visible; }
  .mobile-card-table table { display:block; min-width:0; }
  .mobile-card-table thead { display:none; }
  .mobile-card-table tbody { display:grid; gap:12px; }
  .mobile-card-table tr { display:block; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:var(--shadow); }
  .mobile-card-table td { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:11px 15px; border-bottom:1px solid var(--line); text-align:right; }
  .mobile-card-table td:last-child { border-bottom:0; }
  .mobile-card-table td::before { content:attr(data-label); flex:0 0 92px; color:#92938e; font-size:9px; font-weight:750; letter-spacing:.55px; text-align:left; text-transform:uppercase; }
  .mobile-card-table td[data-label=""]::before { display:none; }
  .mobile-card-table td > :only-child { margin-left:auto; }
  .mobile-card-table .person-cell { min-width:0; margin-left:auto; text-align:left; }
  .mobile-card-table .comment-preview { max-width:175px; }
  .mobile-card-table .mobile-card-action { padding:0; }
  .mobile-card-table .mobile-card-action a,
  .mobile-card-table .mobile-card-action form,
  .mobile-card-table .mobile-card-action button { width:100%; }
  .mobile-card-table .mobile-card-action a,
  .mobile-card-table .mobile-card-action button { display:flex; min-height:45px; align-items:center; justify-content:center; background:#fffaf8; color:var(--peach-dark); font-size:11px; font-weight:750; }
}

@media (max-width:640px) and (max-height:760px) {
  .flatpickr-calendar.sofitta-calendar.open { position:fixed !important; inset:auto 10px 10px !important; width:auto !important; max-width:none; max-height:calc(100vh - 20px) !important; overflow-y:auto; }
}

@media (max-width:360px) {
  .analytics-toolbar,.analytics-toolbar.compact { grid-template-columns:1fr; }
  .analytics-toolbar .button { width:100%; }
  .analytics-toolbar > p { grid-column:auto; }
}

/* Простые рабочие сценарии */
.worker-home { max-width:780px; margin:0 auto; }
.worker-welcome { margin-bottom:24px; }
.worker-welcome h1 { margin:7px 0 3px; font:700 38px/1.08 Georgia,serif; letter-spacing:-.7px; }
.worker-welcome p { margin:0; color:var(--muted); }
.worker-actions-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:21px 3px 10px; }.worker-actions-heading strong { font-size:13px; }.worker-actions-heading span { color:var(--muted); font-size:9px; }
.worker-actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:12px; }
.worker-action { position:relative; overflow:hidden; min-height:126px; display:grid; grid-template-columns:52px 1fr 18px; align-items:center; gap:14px; padding:22px; border-radius:22px; transition:transform .18s ease,box-shadow .18s ease; }
.worker-action::after { content:""; position:absolute; width:135px; height:135px; right:-68px; top:-70px; border-radius:50%; background:rgba(255,255,255,.12); }
.worker-action:hover { transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.worker-action-primary { color:#fff; background:linear-gradient(135deg,#fb7d62,#ed5e43); box-shadow:0 18px 38px rgba(224,83,55,.22); }
.worker-action-secondary { color:#fff; background:linear-gradient(145deg,#292c27,#1f211e); box-shadow:0 18px 38px rgba(32,34,30,.16); }
.worker-action-icon { width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:rgba(255,255,255,.16); }
.worker-action-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.worker-action > span:nth-child(2) { min-width:0; }
.worker-action strong,.worker-action small { display:block; }
.worker-action strong { font-size:16px; }
.worker-action small { margin-top:4px; color:rgba(255,255,255,.7); font-size:10px; }
.worker-action > b { position:relative; z-index:1; font-size:28px; font-weight:300; }

.worker-balance-card { overflow:hidden; color:#fff; background:linear-gradient(120deg,#2c2e29,#20221f); border:1px solid rgba(255,255,255,.04); border-radius:22px; box-shadow:0 18px 42px rgba(32,34,30,.15); }
.worker-balance-card summary { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:145px; padding:25px 28px; cursor:pointer; list-style:none; }
.worker-balance-card summary::-webkit-details-marker,.worker-salary-card summary::-webkit-details-marker,.earning-day-card summary::-webkit-details-marker { display:none; }
.worker-balance-card summary::after { content:"₽"; position:absolute; right:68px; top:-35px; color:rgba(255,255,255,.035); font:700 170px/1 Georgia,serif; transform:rotate(7deg); pointer-events:none; }
.worker-balance-copy { position:relative; z-index:1; }
.worker-balance-copy > * { display:block; }
.worker-balance-copy small { color:#a9aca3; font-size:11px; }
.worker-balance-copy strong { margin:7px 0 6px; font:700 34px/1 Georgia,serif; }
.worker-balance-copy span { color:#8e9189; font-size:10px; }
.worker-balance-toggle { position:relative; z-index:1; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,.07); font-size:20px; transition:transform .2s ease; }
.worker-balance-card[open] .worker-balance-toggle { transform:rotate(180deg); }
.worker-balance-details { display:grid; grid-template-columns:repeat(4,1fr); padding:4px 28px 23px; border-top:1px solid #3d403a; }
.worker-balance-details > div { padding:18px 13px 12px 0; }
.worker-balance-details span,.worker-balance-details strong { display:block; }
.worker-balance-details span { color:#92958d; font-size:9px; }
.worker-balance-details strong { margin-top:4px; font-size:12px; }
.worker-balance-details > a { grid-column:1 / -1; color:#ff9b84; font-size:10px; font-weight:750; }
.worker-history-link { display:grid; grid-template-columns:42px 1fr 16px; align-items:center; gap:12px; min-height:68px; padding:12px 16px; color:#50524d; background:rgba(255,255,255,.72); border:1px solid rgba(218,214,205,.9); border-radius:17px; box-shadow:0 8px 24px rgba(42,37,29,.035); transition:transform .18s ease,box-shadow .18s ease; }.worker-history-link:hover { transform:translateY(-1px); box-shadow:var(--shadow); }.worker-history-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; color:var(--peach-dark); background:var(--peach-soft); border-radius:13px; }.worker-history-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.worker-history-link strong,.worker-history-link small { display:block; }.worker-history-link strong { font-size:11px; }.worker-history-link small { margin-top:2px; color:var(--muted); font-size:9px; }.worker-history-link > b { color:#aaa; font-size:22px; }.worker-history-link.has-rejected { border-color:#efc8c1; background:#fff6f4; }.worker-history-link.has-rejected .worker-history-icon { color:var(--red); background:var(--red-soft); }
.worker-status-note { display:grid; grid-template-columns:38px 1fr 15px; align-items:center; gap:12px; padding:14px 17px; margin-top:14px; background:#fff9e9; color:#7a643b; border:1px solid #eee1bf; border-radius:16px; }
.worker-status-note > span:first-child { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#f5e7bd; font-weight:850; }
.worker-status-note strong,.worker-status-note small { display:block; }
.worker-status-note small { margin-top:2px; color:#9a865e; font-size:9px; }
.worker-status-note > b { font-size:22px; }.worker-status-note.has-rejected { color:#984a43; background:#fff2f0; border-color:#f2c9c3; }.worker-status-note.has-rejected > span:first-child { background:#f7d8d4; }
.worker-home-hint { margin:15px 4px 0; color:#969891; font-size:10px; text-align:center; }

.worker-page-heading { max-width:860px; margin:0 auto 18px; }
.worker-page-heading .back-link { display:inline-flex; min-height:35px; align-items:center; margin-bottom:8px; }
.worker-page-heading h1 { margin:6px 0 3px; font:700 34px/1.08 Georgia,serif; }
.worker-page-heading p { margin:0; color:var(--muted); }
.worker-period-picker { max-width:860px; margin:0 auto 16px; }
.worker-salary-card,.worker-stat-section,.worker-status-grid { max-width:860px; margin-left:auto; margin-right:auto; }
.worker-salary-card { overflow:hidden; margin-bottom:14px; color:#fff; background:linear-gradient(120deg,#292c27,#1f211e); border-radius:22px; box-shadow:0 20px 45px rgba(32,34,30,.16); }
.worker-salary-card summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:126px; padding:24px 28px; cursor:pointer; list-style:none; }
.worker-salary-card summary small,.worker-salary-card summary strong { display:block; }
.worker-salary-card summary small { color:#a6a9a0; font-size:11px; }
.worker-salary-card summary strong { margin-top:8px; font:700 35px/1 Georgia,serif; }
.salary-summary-hint { color:#a5a79f; font-size:10px; }.salary-summary-hint b { display:inline-block; margin-left:5px; transition:transform .2s ease; }.worker-salary-card[open] .salary-summary-hint b { transform:rotate(180deg); }
.salary-breakdown { display:grid; grid-template-columns:repeat(4,1fr); padding:0 28px 22px; border-top:1px solid #3d403a; }
.salary-breakdown > div { padding-top:17px; }.salary-breakdown span,.salary-breakdown strong { display:block; }.salary-breakdown span { color:#979a91; font-size:9px; }.salary-breakdown strong { margin-top:4px; font-size:12px; }
.worker-status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:20px; }
.worker-status-grid a { display:flex; align-items:center; gap:10px; min-height:66px; padding:12px 16px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 8px 22px rgba(42,37,29,.035); }
.worker-status-grid strong { font:700 23px/1 Georgia,serif; }.worker-status-grid span { color:var(--muted); font-size:10px; }
.worker-stat-section { margin-bottom:18px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.worker-stat-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; }
.worker-stat-heading h2 { margin:0; font-size:16px; }.worker-stat-heading p { margin:3px 0 0; color:var(--muted); font-size:10px; }.worker-stat-heading > strong { color:var(--peach-dark); font-size:10px; }
.earning-day-list { border-top:1px solid var(--line); }
.earning-day-card { border-bottom:1px solid var(--line); }.earning-day-card:last-child { border-bottom:0; }
.earning-day-card summary { display:grid; grid-template-columns:1fr auto 25px; align-items:center; gap:14px; min-height:68px; padding:13px 21px; cursor:pointer; list-style:none; }
.earning-day-card summary span > * { display:block; }.earning-day-card summary small { color:var(--muted); font-size:9px; margin-top:2px; }.earning-day-card summary > b { font-size:13px; }.earning-day-card summary > i { color:#aaa; font-style:normal; font-size:17px; transition:transform .2s ease; }.earning-day-card[open] summary > i { transform:rotate(180deg); }
.earning-day-lines { padding:2px 21px 15px; background:#fbfaf8; border-top:1px solid #eeebe5; }
.earning-day-lines > div { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:58px; padding:10px 0; border-bottom:1px solid #ece9e2; }.earning-day-lines span > * { display:block; }.earning-day-lines small { color:var(--peach-dark); font-size:8px; font-weight:800; text-transform:uppercase; }.earning-day-lines em { color:var(--muted); font-size:9px; font-style:normal; }.earning-day-lines > div > b { white-space:nowrap; }.earning-day-lines > a { display:inline-flex; padding-top:13px; color:var(--peach-dark); font-size:10px; font-weight:750; }
.worker-stat-empty { padding:38px 20px; border-top:1px solid var(--line); text-align:center; }.worker-stat-empty > span { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:var(--peach-soft); color:var(--peach-dark); border-radius:14px; font:700 20px/1 Georgia,serif; }.worker-stat-empty strong { display:block; margin-top:10px; }.worker-stat-empty p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.worker-adjustment-list { border-top:1px solid var(--line); }.worker-adjustment-list > div { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px; min-height:66px; padding:12px 20px; border-bottom:1px solid var(--line); }.worker-adjustment-list > div:last-child { border-bottom:0; }.worker-adjustment-list strong,.worker-adjustment-list small { display:block; }.worker-adjustment-list small { color:var(--muted); font-size:9px; }.worker-adjustment-list > div > b { white-space:nowrap; }

.simple-production-form { max-width:860px; display:grid; grid-template-columns:minmax(320px,.78fr) minmax(380px,1.22fr); align-items:start; gap:16px; margin:0 auto; }
.work-entry-card,.selected-work-card { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.work-entry-card { padding:20px; }
.compact-date-row { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:0 11px; }.compact-date-row .field { max-width:none; }.compact-date-row > small { grid-column:2; margin-top:4px; color:var(--muted); font-size:9px; }
.simple-step { width:34px; height:34px; display:flex; align-items:center; justify-content:center; align-self:start; border-radius:11px; color:var(--peach-dark); background:var(--peach-soft); font-weight:850; }
.simple-divider { height:1px; margin:18px 0; background:var(--line); }
.work-picker { display:grid; grid-template-columns:34px 1fr; gap:11px; }.work-picker-fields { min-width:0; }.work-type-fields { display:grid; gap:10px; }.work-picker-bottom { display:grid; grid-template-columns:1fr 128px; align-items:end; gap:9px; margin-top:11px; }.picker-quantity { min-width:0; }.add-selected-work { min-height:45px; padding-left:13px; padding-right:13px; white-space:nowrap; }.add-selected-work:disabled { color:#999b95; background:#eceae5; box-shadow:none; cursor:not-allowed; opacity:1; }.picker-help { min-height:29px; margin:7px 2px 0; color:var(--muted); font-size:9px; line-height:1.35; }.picker-help.error { color:var(--red); font-weight:700; }
.selected-work-card { overflow:hidden; }
.selected-work-heading { display:flex; align-items:center; gap:11px; padding:18px 20px 15px; }.selected-work-heading .simple-step { align-self:center; }.selected-work-heading h2 { margin:0; font-size:15px; }.selected-work-heading p { margin:1px 0 0; color:var(--muted); font-size:9px; }
.selected-work-list { min-height:92px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.selected-work-empty { min-height:91px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#a6a8a1; }.selected-work-empty[hidden] { display:none; }.selected-work-empty > span { font-size:23px; line-height:1; }.selected-work-empty p { margin:5px 0 0; font-size:9px; }
.selected-work-row { display:grid; grid-template-columns:25px minmax(120px,1fr) 112px 78px 30px; align-items:center; gap:10px; padding:12px 15px; border-bottom:1px solid var(--line); transition:background .25s ease; }.selected-work-row:last-of-type { border-bottom:0; }.selected-work-row.just-added { background:#fff6f2; }
.selected-work-number { width:25px; height:25px; display:flex; align-items:center; justify-content:center; color:#999; background:#f5f3ef; border-radius:8px; font-size:9px; }
.selected-work-name { min-width:0; }.selected-work-name > * { display:block; }.selected-work-name small { color:var(--peach-dark); font-size:8px; font-weight:800; text-transform:uppercase; }.selected-work-name strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }.selected-work-name em { overflow:hidden; color:var(--muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.selected-work-quantity > span:first-child { display:block; margin-bottom:3px; color:var(--muted); font-size:8px; }.selected-work-quantity > span:last-child { display:flex; }.selected-work-quantity input { width:68px; min-height:37px; padding:7px 8px; border:1px solid #d9d6ce; border-radius:9px 0 0 9px; outline:0; }.selected-work-quantity b { min-width:39px; display:flex; align-items:center; justify-content:center; color:var(--muted); background:#f1f0ec; border:1px solid #d9d6ce; border-left:0; border-radius:0 9px 9px 0; font-size:8px; }
.selected-work-sum { font-size:11px; text-align:right; white-space:nowrap; }.remove-selected-work { width:30px; height:30px; border:0; border-radius:9px; background:#f4f2ee; color:#999; cursor:pointer; font-size:17px; }.remove-selected-work:hover { color:var(--red); background:var(--red-soft); }
.simple-production-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 20px 10px; }.simple-production-footer > span > * { display:block; }.simple-production-footer small { color:var(--muted); font-size:9px; }.simple-production-footer strong { margin-top:3px; font:700 23px/1 Georgia,serif; }.simple-production-footer .button { min-width:180px; }.simple-production-note { margin:0; padding:0 20px 16px; color:#678275; font-size:9px; text-align:right; }

@media (max-width:900px) {
  .simple-production-form { grid-template-columns:1fr; }
  .production-page-heading { max-width:640px; }.simple-production-form { max-width:640px; }
}

@media (min-width:480px) and (max-width:900px) {
  .work-type-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  .worker-home-page .content { padding-top:17px; }
  .worker-welcome { margin-bottom:17px; }.worker-welcome h1 { margin-top:5px; font-size:29px; }.worker-welcome p { font-size:11px; }
  .worker-actions-heading { margin:17px 2px 8px; }.worker-actions-heading strong { font-size:12px; }.worker-actions-heading span { font-size:8px; }
  .worker-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:9px; }
  .worker-action { min-height:132px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; padding:15px; border-radius:18px; }
  .worker-action-icon { width:42px; height:42px; border-radius:13px; }.worker-action-icon svg { width:21px; height:21px; }.worker-action strong { font-size:13px; line-height:1.22; }.worker-action small { font-size:8px; line-height:1.3; }.worker-action > b { position:absolute; right:15px; top:16px; font-size:22px; }
  .worker-balance-card { border-radius:19px; }.worker-balance-card summary { min-height:119px; padding:20px; }.worker-balance-copy strong { font-size:30px; }.worker-balance-details { grid-template-columns:repeat(2,1fr); padding:2px 20px 18px; }.worker-balance-details > div { padding:13px 7px 6px 0; }.worker-home-hint { font-size:9px; }
  .worker-history-link { grid-template-columns:39px 1fr 13px; min-height:63px; gap:10px; padding:11px 13px; border-radius:16px; }.worker-history-icon { width:39px; height:39px; border-radius:12px; }.worker-history-link strong { font-size:10px; }.worker-history-link small { font-size:8px; }
  .worker-page-heading { margin-bottom:13px; }.worker-page-heading .back-link { min-height:31px; margin-bottom:4px; }.worker-page-heading h1 { margin-top:4px; font-size:28px; }.worker-page-heading p { font-size:10px; }
  .worker-period-picker { margin-bottom:11px; padding:10px; border-radius:15px; }
  .worker-salary-card { margin-bottom:10px; border-radius:19px; }.worker-salary-card summary { min-height:108px; padding:19px 20px; }.worker-salary-card summary strong { font-size:30px; }.salary-summary-hint { max-width:75px; text-align:right; }
  .salary-breakdown { grid-template-columns:repeat(2,1fr); padding:0 20px 16px; }.salary-breakdown > div { padding-top:12px; }
  .worker-status-grid { gap:7px; margin-bottom:11px; }.worker-status-grid a { min-height:61px; flex-direction:column; justify-content:center; gap:3px; padding:8px 5px; border-radius:14px; text-align:center; }.worker-status-grid strong { font-size:21px; }.worker-status-grid span { font-size:8px; }
  .worker-stat-section { border-radius:17px; margin-bottom:12px; }.worker-stat-heading { padding:16px; }.worker-stat-heading h2 { font-size:14px; }.earning-day-card summary { padding:12px 15px; }.earning-day-lines { padding-left:15px; padding-right:15px; }
  .production-page-heading { margin-bottom:11px; }.worker-production-page .content { padding-top:12px; }
  .simple-production-form { gap:10px; }.work-entry-card,.selected-work-card { border-radius:17px; }
  .work-entry-card { padding:14px; }.compact-date-row { grid-template-columns:31px 1fr; gap:0 9px; }.simple-step { width:31px; height:31px; border-radius:10px; }.simple-divider { margin:12px 0; }.work-picker { grid-template-columns:31px 1fr; gap:9px; }
  .work-picker-bottom { grid-template-columns:1fr 112px; gap:7px; margin-top:8px; }.add-selected-work { padding-left:9px; padding-right:9px; }.picker-help { min-height:24px; margin-top:5px; }
  .selected-work-heading { padding:13px 14px 11px; }.selected-work-list { min-height:71px; }.selected-work-empty { min-height:70px; }
  .selected-work-row { grid-template-columns:22px minmax(0,1fr) 93px 30px; gap:7px; padding:10px; }.selected-work-number { width:22px; height:22px; }.selected-work-quantity { grid-column:3; grid-row:1 / span 2; }.selected-work-quantity input { width:55px; min-height:40px; }.selected-work-quantity b { min-width:34px; }.selected-work-sum { grid-column:2; font-size:10px; text-align:left; }.remove-selected-work { grid-column:4; grid-row:1 / span 2; width:30px; height:40px; }.selected-work-name em { display:none; }
  .simple-production-footer { padding:13px 14px 8px; }.simple-production-footer strong { font-size:20px; }.simple-production-footer .button { min-width:158px; min-height:47px; padding:10px 13px; }.simple-production-note { padding:0 14px 12px; }
}

@media (min-width:480px) and (max-width:640px) {
  .worker-action { min-height:99px; display:grid; grid-template-columns:42px 1fr 13px; align-items:center; gap:11px; padding:15px; }
  .worker-action > b { position:static; font-size:22px; }
}

@media (max-width:360px) {
  .work-picker-bottom { grid-template-columns:1fr 100px; }.add-selected-work { font-size:10px; }
  .simple-production-footer .button { min-width:145px; }
  .selected-work-row { grid-template-columns:20px minmax(0,1fr) 85px 28px; padding-left:8px; padding-right:8px; }
  .selected-work-quantity input { width:50px; }.selected-work-quantity b { min-width:31px; }
}

/* Расширенная аналитика */
.analytics-heading { align-items:flex-end; }
.analytics-filter-bar { flex-wrap:wrap; }
.analytics-filter-bar .analytics-worker-filter { min-width:240px; }
.analytics-filter-bar > p { min-width:260px; }
.analytics-reset { align-self:center; color:var(--peach-dark); font-size:10px; font-weight:750; white-space:nowrap; }
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:30px; }
.analytics-kpi { position:relative; min-width:0; min-height:142px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:19px 20px; background:linear-gradient(145deg,#fff,#fcfaf7); border:1px solid var(--line); border-radius:19px; box-shadow:0 10px 28px rgba(42,37,29,.045); }
.analytics-kpi-main,.analytics-kpi.dark { grid-column:span 2; min-height:164px; }
.analytics-kpi-main { color:#fff; background:linear-gradient(135deg,#f77b60,#e95a3e); border-color:#ee6a4e; box-shadow:0 18px 40px rgba(224,83,55,.2); }
.analytics-kpi-main::after { content:""; position:absolute; width:230px; height:230px; right:-90px; top:-110px; border-radius:50%; background:rgba(255,255,255,.1); }
.analytics-kpi.dark { color:#fff; background:radial-gradient(circle at 92% 5%,rgba(244,116,88,.2),transparent 43%),linear-gradient(145deg,#2b2e29,#1f211e); border-color:#2e302c; box-shadow:0 18px 42px rgba(32,34,30,.16); }
.analytics-kpi.compact { min-height:125px; }
.analytics-kpi.compact > strong { font-size:20px; white-space:normal; }
.analytics-kpi small,.analytics-kpi strong,.analytics-kpi div { position:relative; z-index:1; }
.analytics-kpi > small { color:var(--muted); font-size:10px; }
.analytics-kpi-main > small,.analytics-kpi.dark > small { color:rgba(255,255,255,.66); }
.analytics-kpi > strong { overflow:hidden; margin:7px 0 9px; font:700 24px/1.05 Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.analytics-kpi-main > strong,.analytics-kpi.dark > strong { font-size:34px; }
.analytics-kpi > div { display:flex; align-items:center; gap:7px; min-height:20px; color:var(--muted); font-size:9px; }
.analytics-kpi-main > div,.analytics-kpi.dark > div { color:rgba(255,255,255,.62); }
.analytics-kpi-icon { position:absolute; z-index:1; right:16px; top:15px; min-width:37px; height:37px; display:inline-flex; align-items:center; justify-content:center; padding:0 8px; color:var(--peach-dark); background:var(--peach-soft); border-radius:12px; font-weight:850; }
.analytics-kpi-main .analytics-kpi-icon,.analytics-kpi.dark .analytics-kpi-icon { color:#fff; background:rgba(255,255,255,.12); }
.analytics-kpi-icon.green { color:var(--green); background:var(--green-soft); }.analytics-kpi-icon.amber { color:var(--amber); background:var(--amber-soft); }
.analytics-change { display:inline-flex; align-items:center; min-height:20px; padding:3px 7px; border-radius:999px; font-size:8px; font-weight:850; white-space:nowrap; }
.analytics-change.up { color:#187a56; background:#dff2e9; }.analytics-change.down { color:#aa443b; background:#f9e0dc; }.analytics-change.flat { color:#767872; background:#ecece8; }.analytics-change.new { color:#895f19; background:#f8ebca; }
.analytics-kpi-main .analytics-change,.analytics-kpi.dark .analytics-change { color:#fff; background:rgba(255,255,255,.14); }
.analytics-section-heading { display:flex; align-items:flex-end; justify-content:space-between; margin:0 2px 13px; }
.analytics-section-heading h2 { margin:5px 0 2px; font:700 25px/1.08 Georgia,serif; }.analytics-section-heading p { margin:0; color:var(--muted); font-size:10px; }
.analytics-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; align-items:start; }
.analytics-panel { min-width:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:21px; box-shadow:0 12px 32px rgba(42,37,29,.055); transition:box-shadow .2s ease,transform .2s ease; }
.analytics-panel:not([open]):hover { transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.analytics-panel[open] { grid-column:1 / -1; }
.analytics-panel > summary { min-height:274px; display:flex; flex-direction:column; padding:21px; cursor:pointer; list-style:none; }
.analytics-panel > summary::-webkit-details-marker { display:none; }
.analytics-panel-top { display:grid; grid-template-columns:42px 1fr 25px; align-items:center; gap:12px; }
.analytics-panel-top > span:nth-child(2) > * { display:block; }.analytics-panel-top small { color:var(--muted); font-size:8px; font-weight:850; letter-spacing:1.2px; }.analytics-panel-top strong { margin-top:3px; font-size:15px; }.analytics-panel-top > i { color:#a6a7a1; font-style:normal; font-size:19px; text-align:center; transition:transform .2s ease; }.analytics-panel[open] .analytics-panel-top > i { transform:rotate(180deg); }
.analytics-panel-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:13px; font-size:17px; font-weight:850; }.analytics-panel-icon.peach { color:var(--peach-dark); background:var(--peach-soft); }.analytics-panel-icon.dark { color:#fff; background:#292c27; }.analytics-panel-icon.green { color:var(--green); background:var(--green-soft); }.analytics-panel-icon.amber { color:var(--amber); background:var(--amber-soft); }
.analytics-panel-hint { margin-top:auto; padding-top:14px; color:#9a9b96; border-top:1px solid #eeece7; font-size:9px; }
.analytics-panel-content { padding:24px; border-top:1px solid var(--line); background:linear-gradient(180deg,#fff,#fdfbf8); }
.analytics-content-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:19px; }.analytics-content-heading h3 { margin:0 0 3px; font:700 24px/1.1 Georgia,serif; }.analytics-content-heading p { max-width:680px; margin:0; color:var(--muted); font-size:10px; }.analytics-content-heading > span { color:var(--muted); font-size:10px; }.analytics-content-heading > strong { font:700 24px/1 Georgia,serif; white-space:nowrap; }
.leader-preview { display:grid; gap:6px; margin:20px 0 15px; }
.leader-preview-row { display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:9px; min-height:45px; padding:7px 10px; background:#f8f7f4; border-radius:12px; }.leader-preview-row > b { width:25px; height:25px; display:flex; align-items:center; justify-content:center; color:var(--peach-dark); background:#fff; border-radius:8px; font-size:9px; }.leader-preview-row > span > * { display:block; }.leader-preview-row > span strong { max-width:180px; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.leader-preview-row small { color:var(--muted); font-size:8px; }.leader-preview-row em { font-style:normal; font-size:10px; font-weight:800; white-space:nowrap; }
.panel-empty-preview { margin:auto; color:var(--muted); font-size:10px; }
.employee-ranking { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; }
.employee-ranking-head,.employee-rank-row { display:grid; grid-template-columns:minmax(240px,1.5fr) .45fr .8fr .65fr .85fr; gap:13px; align-items:center; }
.employee-ranking-head { padding:11px 16px; color:#969791; background:#f7f6f2; border-bottom:1px solid var(--line); font-size:8px; font-weight:850; letter-spacing:.6px; text-transform:uppercase; }
.employee-rank-row { position:relative; min-height:74px; padding:12px 16px 14px; border-bottom:1px solid var(--line); }.employee-rank-row:last-child { border-bottom:0; }.employee-rank-row.zero { opacity:.65; }
.employee-rank-person { display:grid; grid-template-columns:30px 34px 1fr; align-items:center; gap:8px; min-width:0; }.employee-rank-person > span:last-child { min-width:0; }.employee-rank-person strong,.employee-rank-person small,.employee-rank-row > span strong,.employee-rank-row > span small { display:block; }.employee-rank-person strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.employee-rank-person small,.employee-rank-row > span small { margin-top:2px; color:var(--muted); font-size:8px; }.employee-rank-row > span > strong { font-size:10px; }.rank-place { width:27px; height:27px; display:flex; align-items:center; justify-content:center; color:#888a84; background:#f0efeb; border-radius:9px; font-size:9px; }.rank-place.podium { color:#fff; background:linear-gradient(145deg,#fa8268,#e95b40); box-shadow:0 6px 14px rgba(232,89,61,.2); }
.employee-rank-total { text-align:right; }.employee-rank-total .analytics-change { margin-top:4px; margin-left:auto; width:max-content; }
.employee-rank-bar { position:absolute; left:16px; right:16px; bottom:7px; height:3px; overflow:hidden; background:#efeee9; border-radius:4px; }.employee-rank-bar i { display:block; height:100%; background:linear-gradient(90deg,#f9a18d,#f06b4f); border-radius:4px; }
.dynamics-preview { min-height:145px; display:grid; grid-template-columns:135px 1fr; align-items:center; gap:10px; margin:9px 0; overflow:hidden; }.dynamics-preview > span > * { display:block; }.dynamics-preview small { color:var(--muted); font-size:9px; }.dynamics-preview strong { margin:6px 0 3px; font:700 23px/1 Georgia,serif; }.dynamics-preview em { color:var(--peach-dark); font-size:9px; font-style:normal; }.dynamics-preview svg { width:100%; height:112px; overflow:visible; }.chart-preview-area { fill:rgba(244,116,88,.08); }.chart-preview-line { fill:none; stroke:var(--peach); stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
.production-chart-wrap { width:100%; overflow:hidden; padding:8px 5px 0; background:#fff; border:1px solid var(--line); border-radius:16px; }.production-chart { width:100%; min-height:250px; }.chart-grid-line { stroke:#eceae5; stroke-width:1; stroke-dasharray:4 5; }.chart-axis-value,.chart-date-label { fill:#999b95; font-family:inherit; font-size:8px; }.chart-area { fill:rgba(244,116,88,.1); }.chart-line { fill:none; stroke:#ed684b; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.chart-point { fill:#fff; stroke:#ed684b; stroke-width:3; }
.best-days-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:13px; }.best-days-grid article { display:grid; grid-template-columns:29px 1fr auto; align-items:center; gap:10px; min-height:55px; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:13px; }.best-days-grid article > b { width:28px; height:28px; display:flex; align-items:center; justify-content:center; color:var(--peach-dark); background:var(--peach-soft); border-radius:9px; font-size:9px; }.best-days-grid span > * { display:block; }.best-days-grid strong { font-size:10px; }.best-days-grid small { color:var(--muted); font-size:8px; }.best-days-grid em { font-style:normal; font-size:10px; font-weight:800; white-space:nowrap; }
.structure-preview,.control-preview { min-height:145px; display:flex; align-items:center; gap:20px; padding:14px 7px; }.structure-preview > span:last-child > * { display:block; }.structure-preview small { color:var(--muted); font-size:9px; }.structure-preview strong { margin:5px 0 3px; font:700 21px/1.1 Georgia,serif; }.structure-preview em { color:var(--peach-dark); font-size:9px; font-style:normal; }
.donut-chart { position:relative; width:190px; height:190px; flex:none; display:flex; align-items:center; justify-content:center; border-radius:50%; }.donut-chart::after { content:""; position:absolute; inset:24px; background:#fff; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(222,218,210,.8); }.donut-chart > i { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; font-style:normal; }.donut-chart > i strong { font:700 24px/1 Georgia,serif; }.donut-chart > i small { margin-top:4px; color:var(--muted); font-size:8px; }.donut-chart.small { width:105px; height:105px; }.donut-chart.small::after { inset:14px; }.donut-chart.small > i strong { font-size:17px; }
.category-analytics-grid { display:grid; grid-template-columns:250px 1fr; align-items:center; gap:25px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:17px; }.donut-block { display:flex; justify-content:center; }.category-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 22px; }.category-legend > div { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:9px; min-height:47px; border-bottom:1px solid #efede8; }.category-legend > div > i { width:8px; height:8px; border-radius:50%; }.category-legend span > *,.category-legend em > * { display:block; }.category-legend strong { font-size:10px; }.category-legend small { color:var(--muted); font-size:8px; }.category-legend em { font-style:normal; font-size:10px; font-weight:800; text-align:right; }.category-legend em small { margin-top:2px; }
.operation-analytics-table { margin-top:13px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; }.operation-analytics-head,.operation-analytics-table > div:not(.operation-analytics-head) { display:grid; grid-template-columns:minmax(240px,1fr) .55fr .35fr .55fr; align-items:center; gap:16px; }.operation-analytics-head { min-height:37px; padding:8px 16px; color:#999b95; background:#f7f6f2; font-size:8px; font-weight:850; letter-spacing:.6px; text-transform:uppercase; }.operation-analytics-table > div:not(.operation-analytics-head) { min-height:57px; padding:10px 16px; border-top:1px solid var(--line); font-size:10px; }.operation-analytics-table span > * { display:block; }.operation-analytics-table small { color:var(--muted); font-size:8px; }.operation-analytics-table > div > strong { text-align:right; }
.control-preview { justify-content:center; }.status-mini-list { width:min(210px,55%); display:grid; gap:8px; }.status-mini-list > span { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:7px; color:var(--muted); font-size:9px; }.status-mini-list i { width:8px; height:8px; border-radius:50%; }.status-mini-list b { color:var(--ink); }
.control-detail-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }.status-breakdown-card,.attention-card { min-height:220px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:16px; }.status-breakdown-card { display:flex; align-items:center; justify-content:center; gap:20px; }.status-breakdown-card .donut-chart { width:150px; height:150px; }.status-breakdown-card .donut-chart::after { inset:20px; }.status-breakdown-card > div { min-width:125px; }.status-breakdown-card > div > span { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:7px; min-height:34px; border-bottom:1px solid #efede8; font-size:9px; }.status-breakdown-card > div i { width:8px; height:8px; border-radius:50%; }
.attention-card h4 { margin:0 0 10px; font-size:11px; }.attention-card > div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:9px; min-height:48px; padding:6px 0; border-bottom:1px solid #efede8; }.attention-card > div:last-child { border-bottom:0; }.attention-card strong,.attention-card small { display:block; }.attention-card strong { font-size:9px; }.attention-card small { color:var(--muted); font-size:8px; }.analytics-good-state { margin:20px 0 0; padding:12px; color:#287658; background:var(--green-soft); border-radius:11px; font-size:9px; }
.finance-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-top:12px; overflow:hidden; color:#fff; background:#292c27; border-radius:16px; }.finance-strip > span { min-height:79px; display:flex; flex-direction:column; justify-content:center; padding:15px 18px; border-right:1px solid #40423d; }.finance-strip > span:last-child { border-right:0; }.finance-strip small { color:#9b9e96; font-size:8px; }.finance-strip strong { margin-top:5px; font-size:12px; }.finance-strip strong.positive { color:#7fd2af; }.finance-strip strong.negative { color:#f19a8d; }

/* Безопасное удаление сотрудника */
.danger-zone { max-width:920px; margin-top:16px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:#f0d4cf; background:linear-gradient(145deg,#fff,#fff8f6); }.danger-zone > div { display:flex; align-items:center; gap:13px; }.danger-zone-icon,.delete-modal-icon { display:flex; align-items:center; justify-content:center; flex:none; color:var(--red); background:var(--red-soft); border-radius:12px; font-weight:900; }.danger-zone-icon { width:39px; height:39px; font-size:20px; }.danger-zone h2 { margin:0 0 3px; font-size:14px; }.danger-zone p { margin:0; color:var(--muted); font-size:10px; }.button-danger-soft { color:var(--red); background:#f9e8e5; border:1px solid #efd0ca; }.button-danger-soft:hover { background:#f5d9d3; }.delete-person-modal > form { text-align:center; }.delete-modal-icon { width:50px; height:50px; margin:0 auto; font-size:22px; }.delete-person-modal h2 { margin-top:0; }.delete-impact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; text-align:left; }.delete-impact-grid > span { min-height:66px; display:flex; flex-direction:column; justify-content:center; padding:11px 13px; background:#f5f4f0; border-radius:11px; }.delete-impact-grid > span.warning { color:#98631e; background:#fff3d8; }.delete-impact-grid strong { font:700 20px/1 Georgia,serif; }.delete-impact-grid small { margin-top:4px; color:var(--muted); font-size:8px; }.delete-modal-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:3px; }

@media (max-width:1180px) {
  .analytics-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.analytics-kpi-main,.analytics-kpi.dark { grid-column:auto; }.analytics-kpi-main > strong,.analytics-kpi.dark > strong { font-size:28px; }
  .control-detail-grid { grid-template-columns:1fr 1fr; }.status-breakdown-card { grid-column:1 / -1; }.category-analytics-grid { grid-template-columns:210px 1fr; }
}

@media (max-width:800px) {
  .analytics-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.analytics-kpi-main,.analytics-kpi.dark { grid-column:span 2; }
  .analytics-panels { grid-template-columns:1fr; }.analytics-panel[open] { grid-column:auto; }
  .employee-ranking-head { display:none; }.employee-rank-row { grid-template-columns:1fr 1fr 1fr; gap:11px; padding:14px 15px 17px; }.employee-rank-person { grid-column:1 / -1; }.employee-rank-row > span:not(.employee-rank-person):not(.employee-rank-bar)::before { content:attr(data-label); display:block; margin-bottom:3px; color:#9b9c97; font-size:7px; font-weight:800; text-transform:uppercase; }.employee-rank-total { text-align:left; }
  .category-analytics-grid { grid-template-columns:1fr; }.category-legend { grid-template-columns:1fr 1fr; }.control-detail-grid { grid-template-columns:1fr; }.status-breakdown-card { grid-column:auto; }.finance-strip { grid-template-columns:repeat(2,1fr); }.finance-strip > span:nth-child(2) { border-right:0; }.finance-strip > span:nth-child(-n+2) { border-bottom:1px solid #40423d; }
}

@media (max-width:640px) {
  .analytics-heading { align-items:flex-start; }.analytics-heading .button { display:none; }
  .analytics-filter-bar { display:grid; grid-template-columns:1fr; margin-bottom:13px; }.analytics-filter-bar .analytics-worker-filter,.analytics-filter-bar > p { min-width:0; }.analytics-filter-bar > p { grid-column:auto; }.analytics-reset { align-self:start; }
  .analytics-kpi-grid { gap:8px; margin-bottom:22px; }.analytics-kpi { min-height:116px; padding:15px; border-radius:16px; }.analytics-kpi-main,.analytics-kpi.dark { min-height:137px; }.analytics-kpi-main > strong,.analytics-kpi.dark > strong { font-size:28px; }.analytics-kpi > strong { font-size:19px; }.analytics-kpi.compact { min-height:110px; }.analytics-kpi-icon { right:12px; top:12px; min-width:32px; height:32px; border-radius:10px; font-size:10px; }.analytics-kpi > div { align-items:flex-start; flex-direction:column; gap:4px; }
  .analytics-section-heading h2 { font-size:21px; }.analytics-section-heading p { font-size:9px; }
  .analytics-panels { gap:10px; }.analytics-panel { border-radius:17px; }.analytics-panel > summary { min-height:242px; padding:16px; }.analytics-panel-top { grid-template-columns:38px 1fr 20px; gap:10px; }.analytics-panel-icon { width:38px; height:38px; border-radius:12px; }.analytics-panel-top strong { font-size:13px; }.analytics-panel-content { padding:15px; }.analytics-content-heading { align-items:flex-start; flex-direction:column; gap:7px; }.analytics-content-heading h3 { font-size:20px; }.analytics-content-heading > strong { font-size:19px; }
  .leader-preview { margin-top:14px; }.leader-preview-row { grid-template-columns:24px minmax(0,1fr) auto; }.leader-preview-row > span strong { max-width:125px; }.leader-preview-row em { font-size:9px; }
  .employee-rank-row { grid-template-columns:1fr 1fr; }.employee-rank-total { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; }.employee-rank-total .analytics-change { margin:0; }
  .dynamics-preview { min-height:125px; grid-template-columns:105px 1fr; }.dynamics-preview strong { font-size:18px; }.dynamics-preview svg { height:95px; }
  .production-chart { min-height:190px; }.chart-axis-value,.chart-date-label { font-size:10px; }.best-days-grid { grid-template-columns:1fr; }.best-days-grid article { min-height:51px; }
  .structure-preview,.control-preview { min-height:125px; gap:14px; }.donut-chart.small { width:92px; height:92px; }.structure-preview strong { font-size:17px; }.donut-chart { width:165px; height:165px; }.category-analytics-grid { padding:14px; }.category-legend { grid-template-columns:1fr; }
  .operation-analytics-head { display:none; }.operation-analytics-table { display:grid; gap:8px; overflow:visible; border:0; background:transparent; }.operation-analytics-table > div:not(.operation-analytics-head) { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:13px; background:#fff; border:1px solid var(--line); border-radius:13px; }.operation-analytics-table > div:not(.operation-analytics-head) > span:first-child { grid-column:1 / -1; }.operation-analytics-table [data-label]::before { content:attr(data-label); display:block; margin-bottom:2px; color:#999b95; font-size:7px; font-weight:800; text-transform:uppercase; }.operation-analytics-table > div > strong { text-align:right; }
  .status-breakdown-card { min-height:190px; flex-direction:column; }.status-breakdown-card > div { width:100%; }.attention-card { min-height:0; }.finance-strip > span { min-height:68px; padding:12px; }
  .danger-zone { align-items:stretch; flex-direction:column; gap:14px; padding:17px; }.danger-zone .button { width:100%; }.delete-impact-grid { grid-template-columns:1fr 1fr; }.delete-modal-actions { grid-template-columns:1fr; }
}

@media (max-width:360px) {
  .analytics-kpi { grid-column:1 / -1; }.analytics-kpi-main,.analytics-kpi.dark { grid-column:1 / -1; }
  .delete-impact-grid { grid-template-columns:1fr; }
}
