/* =========================================================
   ERP FLASK — СТИЛИ
========================================================= */
:root{
  --bg:#eef1f6;
  --sidebar:#12203b;
  --sidebar-hover:#1b2e52;
  --sidebar-text:#aebbd6;
  --sidebar-text-active:#ffffff;
  --accent:#2f6fed;
  --accent-dark:#1e4fc0;
  --good:#1a9a67;
  --good-bg:#e4f6ee;
  --warn:#c9820a;
  --warn-bg:#fbf1de;
  --bad:#d64545;
  --bad-bg:#fbe6e6;
  --card:#ffffff;
  --border:#dde3ee;
  --text:#1c2534;
  --muted:#68738a;
  --radius:10px;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-variant-numeric: tabular-nums;
}
#app{ display:flex; min-height:100vh; }

/* ---- Sidebar ---- */
#sidebar{
  width:230px; flex-shrink:0;
  background:var(--sidebar);
  color:var(--sidebar-text);
  display:flex; flex-direction:column;
  padding:18px 12px;
}
#sidebar .brand{
  font-weight:700; font-size:1.05rem; color:#fff;
  padding:4px 10px 18px; letter-spacing:.01em;
}
#sidebar .app-brand{display:flex;align-items:center;gap:10px;min-width:0}
#sidebar .app-brand img{width:38px;height:38px;flex:0 0 38px}
#sidebar .app-brand span{min-width:0}
#sidebar .app-brand strong{display:block;white-space:nowrap}
#sidebar .brand small{ display:block; font-weight:400; color:var(--sidebar-text); font-size:.72rem; margin-top:2px;}
nav#navlist{ display:flex; flex-direction:column; gap:2px; flex:1; overflow-y:auto; }
.navgroup-title{
  padding:14px 12px 5px;
  color:#63759a;
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.08em;
}
.navbtn{
  display:flex; align-items:center; gap:10px;
  background:none; border:none; color:var(--sidebar-text);
  padding:10px 12px; border-radius:8px; cursor:pointer;
  font-size:.92rem; text-align:left; width:100%;
}
.navbtn .ic{ font-size:1.05rem; width:20px; text-align:center; }
.navbtn:hover{ background:var(--sidebar-hover); color:#fff; }
.navbtn.active{ background:var(--accent); color:#fff; }
#sidebar .footer-note{ font-size:.7rem; color:#5f6c8a; padding:10px; border-top:1px solid #22335a; margin-top:8px;}
.section-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:6px;
  margin-bottom:14px;
  width:max-content;
  max-width:100%;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.section-tabs button{
  border:0;
  border-radius:7px;
  padding:8px 13px;
  background:transparent;
  color:var(--muted);
  font-weight:600;
  cursor:pointer;
}
.section-tabs button:hover{background:#f2f6ff;color:var(--accent)}
.section-tabs button.active{background:#eaf2ff;color:var(--accent)}

/* ---- Top bar ---- */
#main{ flex:1; min-width:0; display:flex; flex-direction:column; }
#topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 26px; background:#fff; border-bottom:1px solid var(--border);
  gap:16px; flex-wrap:wrap;
}
#topbar h1{ font-size:1.15rem; margin:0; }
#topbar .controls{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
select, input, textarea{
  font-family:inherit; font-size:.88rem; padding:7px 10px;
  border:1px solid var(--border); border-radius:7px; background:#fff; color:var(--text);
}
label.field{ display:flex; flex-direction:column; gap:4px; font-size:.8rem; color:var(--muted); margin-bottom:10px; }
label.field span.req::after{ content:" *"; color:var(--bad); }

button{ font-family:inherit; cursor:pointer; }
.btn{
  border:1px solid var(--border); background:#fff; color:var(--text);
  padding:8px 14px; border-radius:7px; font-size:.85rem; font-weight:500;
}
.btn:hover{ background:#f3f5f9; }
.btn.primary{ background:var(--accent); color:#fff; border-color:var(--accent); }
.btn.primary:hover{ background:var(--accent-dark); }
.btn.danger{ color:var(--bad); border-color:#f2c4c4;}
.btn.danger:hover{ background:var(--bad-bg); }
.btn:disabled{opacity:.42;cursor:not-allowed;background:#f5f7fa;color:var(--muted);border-color:var(--border);}
.btn:disabled:hover{background:#f5f7fa;}
.btn.small{ padding:5px 10px; font-size:.78rem; }
.wholesale-batch__head{display:grid;grid-template-columns:1fr 180px 1fr;gap:12px;}
.wholesale-batch__hint{margin:4px 0 12px;color:var(--muted);font-size:.82rem;}
.wholesale-batch__row{display:grid;grid-template-columns:1.35fr 1fr 150px 1.35fr 36px;gap:8px;align-items:end;padding:10px 0;border-top:1px solid var(--border);}
.wholesale-batch__row .field{margin:0;}
.wholesale-batch__row [data-batch-remove]{height:38px;margin-bottom:1px;}
.wholesale-pending-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;margin:0 0 14px;padding:15px 20px;border:1px solid #cbd9f4;border-radius:12px;background:#fff;color:var(--text);text-align:left;cursor:pointer;}
.wholesale-pending-toggle:hover,.wholesale-pending-toggle.open{border-color:var(--accent);background:#f4f8ff;}
.wholesale-pending-toggle span{display:flex;align-items:baseline;gap:10px;}
.wholesale-pending-toggle small{color:var(--muted);font-weight:400;}
.wholesale-pending-toggle b{font-size:1.05rem;color:var(--accent-dark);}
.wholesale-pending-toggle i{font-style:normal;color:var(--accent);font-size:.8rem;font-weight:600;}
.wholesale-pending-panel{margin-top:-4px;}
.btn.ghost{ border-color:transparent; }

#view{ padding:22px 26px 60px; overflow-y:auto; }

.grid{ display:grid; gap:16px; }
.cards{ grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); margin-bottom:22px; }
.card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 18px;
}
.card .label{ font-size:.78rem; color:var(--muted); margin-bottom:6px; }
.card .value{ font-size:1.5rem; font-weight:700; }
.card .sub{ font-size:.76rem; color:var(--muted); margin-top:4px; }
.retail-forecast-card{border-color:#b9d0ff;background:linear-gradient(135deg,#f7faff,#edf4ff)}
.retail-forecast-card .label{color:var(--accent)}
.retail-forecast-card .value{color:var(--accent-dark)}
.retail-forecast-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:0 0 14px;padding:17px 20px;border:1px solid #9ec0ff;border-radius:12px;color:#fff;text-align:left;background:linear-gradient(120deg,#143568,#2f6fed);box-shadow:0 8px 24px rgba(47,111,237,.16);cursor:pointer}
.retail-forecast-banner span{display:grid;grid-template-columns:auto auto;column-gap:16px;align-items:end}.retail-forecast-banner small{grid-column:1/-1;color:#d8e5ff;font-size:.74rem;margin-bottom:4px}.retail-forecast-banner strong{font-size:1.45rem}.retail-forecast-banner em{font-style:normal;color:#d8e5ff;font-size:.72rem;padding-bottom:3px}.retail-forecast-banner>b{font-size:.78rem;white-space:nowrap}.retail-forecast-banner:hover{filter:brightness(1.05);transform:translateY(-1px)}
.retail-forecast-modal__period{color:var(--muted);font-size:.78rem;margin-bottom:12px}.retail-forecast-modal__hero{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:18px;border-radius:12px;color:#fff;background:linear-gradient(120deg,#12203b,#2f6fed);margin-bottom:17px}.retail-forecast-modal__hero>div{text-align:center}.retail-forecast-modal__hero small,.retail-forecast-modal__hero em{display:block;color:#d8e5ff;font-size:.7rem}.retail-forecast-modal__hero strong{display:block;font-size:1.35rem;margin:5px}.retail-forecast-modal__hero em{font-style:normal}.retail-forecast-modal__hero>span{font-size:1.4rem;color:#bcd2ff}.retail-forecast-modal h4{margin:15px 0 9px}.retail-forecast-modal__cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.retail-forecast-modal__cities>button{padding:13px;border:1px solid var(--border);border-radius:9px;background:#f8faff;text-align:left;font:inherit;cursor:pointer}.retail-forecast-modal__cities>button:hover,.retail-forecast-modal__cities>button.active{border-color:var(--accent);background:#edf4ff;box-shadow:0 3px 12px rgba(47,111,237,.12)}.retail-forecast-modal__cities>button.active{box-shadow:inset 0 0 0 1px var(--accent)}.retail-forecast-modal__cities small,.retail-forecast-modal__cities span{display:block;color:var(--muted);font-size:.68rem}.retail-forecast-modal__cities strong{display:block;font-size:1rem;margin:5px 0;color:var(--accent-dark)}.retail-forecast-modal__departments-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.retail-forecast-modal__departments-head h4{margin:0}.forecast-text{color:var(--accent-dark)}.retail-forecast-modal__note{margin:12px 0 0;color:var(--muted);font-size:.7rem}
.retail-forecast-departments{display:grid;gap:7px;margin-top:9px}.retail-forecast-department{display:grid;grid-template-columns:minmax(130px,1.35fr) repeat(4,minmax(100px,1fr));align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#fff}.retail-forecast-department>div{min-width:0}.retail-forecast-department small{display:block;color:var(--muted);font-size:.62rem;margin-bottom:3px}.retail-forecast-department span,.retail-forecast-department strong{font-size:.78rem;white-space:nowrap}.retail-forecast-department .department-name strong{font-size:.82rem}
.retail-forecast-departments.city-selected .retail-forecast-department{grid-template-columns:minmax(130px,1.35fr) repeat(3,minmax(100px,1fr))}
#modal-box:has(.retail-forecast-modal){max-width:920px}
.retail-plan-progress{margin-top:14px;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fbfcff}.retail-plan-progress__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.retail-plan-progress__head h4{margin:0}.retail-plan-progress__head>span{padding:4px 9px;border-radius:20px;color:var(--accent-dark);background:#eaf2ff;font-size:.68rem;font-weight:600}.retail-plan-progress__levels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.retail-plan-level{padding:11px;border:1px solid var(--border);border-radius:9px;background:#fff}.retail-plan-level>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px}.retail-plan-level small{color:var(--muted);font-size:.66rem}.retail-plan-level strong{grid-column:1;font-size:.82rem}.retail-plan-level b{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:.9rem}.retail-plan-level>span{display:block;height:7px;margin-top:8px;border-radius:9px;background:#e8edf5;overflow:hidden}.retail-plan-level>span i{display:block;height:100%;border-radius:inherit;background:#4d8cff}.retail-plan-level:nth-child(2)>span i{background:#20aa72}.retail-plan-level:nth-child(3)>span i{background:#8159df}.retail-plan-level.reached{border-color:#a9dfc8;background:#f5fcf8}.retail-plan-level.reached b{color:var(--good)}
.retail-plan-controls{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}.retail-plan-controls label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.62rem}.retail-plan-controls select{min-width:110px}.retail-plan-controls input{width:85px}.table-wrap td small{display:block;color:var(--muted);font-size:.65rem;margin-top:2px}
#modal-box:has(.retail-plan-editor){max-width:900px}.retail-plan-editor__scope{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.retail-plan-editor label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.7rem}.retail-plan-editor__employees{margin:12px 0;padding:11px 13px;border:1px solid #cfe0ff;border-radius:9px;background:#f3f7ff}.retail-plan-editor__employees small,.retail-plan-editor__employees strong{display:block}.retail-plan-editor__employees small{color:var(--muted);font-size:.68rem;margin-bottom:4px}.retail-plan-editor__employees strong{font-size:.77rem}.retail-plan-editor__levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-editor-level{padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff}.plan-editor-level h4{margin:0 0 10px;color:var(--accent)}.plan-editor-level.level-2 h4{color:var(--good)}.plan-editor-level.level-3 h4{color:#7451cb}.plan-editor-level input{width:100%}.plan-editor-level label+label{margin-top:9px}.plan-editor-level>div{margin-top:11px;padding-top:9px;border-top:1px solid var(--border);color:var(--muted);font-size:.68rem;line-height:1.55}.plan-editor-level>div strong{color:var(--accent-dark)}.retail-plan-editor__hint{margin:12px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}

/* ---- Management dashboard ---- */
.dashboard-filter{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:16px;
  padding:12px 16px; background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius);
}
.dashboard-filter__label{font-size:.82rem;font-weight:600;color:var(--muted);}
.dashboard-filter select{min-width:150px;}
.dashboard-filter__period{margin-left:auto;font-size:.78rem;color:var(--muted);text-transform:capitalize;}
.dashboard-hero{
  display:grid; grid-template-columns:minmax(260px,1.3fr) minmax(240px,1fr) minmax(170px,.55fr);
  gap:24px; align-items:center; margin-bottom:18px; padding:24px;
  color:#fff; border-radius:14px;
  background:linear-gradient(120deg,#12203b 0%,#1d3766 58%,#2f6fed 100%);
  box-shadow:0 12px 32px rgba(18,32,59,.16);
}
.dashboard-hero__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#b9c9e8;margin-bottom:7px;}
.dashboard-hero h2{font-size:1.85rem;margin:0 0 6px;}
.dashboard-hero h2 span{font-size:.86rem;font-weight:500;color:#cbd7ee;}
.dashboard-hero p{margin:0;color:#cbd7ee;font-size:.82rem;}
.dashboard-plan__head{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;margin-bottom:8px;}
.dashboard-plan__track{height:10px;background:rgba(255,255,255,.18);border-radius:20px;overflow:hidden;}
.dashboard-plan__track span{display:block;height:100%;background:#63dfb0;border-radius:inherit;}
.dashboard-plan small{display:block;margin-top:7px;color:#cbd7ee;}
.dashboard-alert{display:flex;flex-direction:column;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.09);color:#fff;text-align:left;font:inherit;cursor:pointer;transition:.18s ease;}
.dashboard-alert:hover{transform:translateY(-1px);background:rgba(255,255,255,.15);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.dashboard-alert.has-alerts{background:rgba(214,69,69,.22);border-color:rgba(255,178,178,.35);}
.dashboard-alert strong{font-size:1.6rem;}
.dashboard-alert span{font-size:.75rem;color:#e1e8f6;line-height:1.35;}
.attention-modal__summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin-bottom:14px}
.attention-modal__summary div{text-align:center;padding:13px 8px}
.attention-modal__summary div+div{border-left:1px solid var(--border)}
.attention-modal__summary small{display:block;color:var(--muted);font-size:.7rem;margin-bottom:5px}
.attention-modal__summary strong{font-size:1.05rem}
.attention-modal__section{border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:10px}
.attention-modal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.attention-modal__head h4{margin:0}
.attention-item{display:grid;grid-template-columns:32px minmax(0,1fr) 125px auto;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--border)}
.attention-item__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--bad);background:var(--bad-bg);font-weight:700}
.attention-item small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.attention-empty{padding:18px;text-align:center;color:var(--muted)}
.dashboard-cards .card-click{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.dashboard-cards .card-click:hover{transform:translateY(-2px);}

.panel{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px 20px; margin-bottom:20px;
}
.panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:8px;}
.panel-head h2{ font-size:1rem; margin:0; }
.panel-head .tools{ display:flex; gap:8px; flex-wrap:wrap; align-items:center;}

table{ width:100%; border-collapse:collapse; font-size:.86rem; }
th, td{ padding:9px 10px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }
th{ color:var(--muted); font-weight:600; font-size:.76rem; text-transform:uppercase; letter-spacing:.03em; }
tr:last-child td{ border-bottom:none; }
td.wrap{ white-space:normal; }
.table-wrap{ overflow-x:auto; }

.badge{ display:inline-block; padding:2px 9px; border-radius:20px; font-size:.74rem; font-weight:600; }
.badge.good{ background:var(--good-bg); color:var(--good); }
.badge.warn{ background:var(--warn-bg); color:var(--warn); }
.badge.bad{ background:var(--bad-bg); color:var(--bad); }
.badge.neutral{ background:#eef1f6; color:var(--muted); }

.barwrap{ background:#eef1f6; border-radius:6px; height:8px; width:100%; overflow:hidden; }
.barfill{ height:100%; background:var(--accent); }

.empty{ color:var(--muted); font-size:.85rem; padding:20px 0; text-align:center; }

/* modal */
#modal-overlay{
  position:fixed; inset:0; background:rgba(15,22,38,.5);
  display:none; align-items:flex-start; justify-content:center; z-index:1300;
  padding:40px 16px; overflow-y:auto;
}
#modal-overlay.show{ display:flex; }
#modal-box{
  background:#fff; border-radius:12px; width:100%; max-width:440px;
  padding:22px 24px; box-shadow:0 20px 50px rgba(0,0,0,.25);
}
#modal-box h3{ margin:0 0 16px 0; font-size:1.05rem; }
#modal-body .row2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#modal-actions{ display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
#modal-box:has(.shift-roster){max-width:820px;padding:26px 28px;}
#modal-box:has(.task-overview){max-width:860px;padding:26px 28px;}
#modal-box:has(.retail-overview){max-width:1080px;padding:26px 28px;}
#modal-box:has(.wholesale-overview){max-width:1040px;padding:26px 28px;}
#modal-box:has(.wholesale-batch){max-width:1120px;padding:26px 28px;}
#modal-box:has(.wholesale-overview) h3{font-size:1.25rem;margin-bottom:2px;}
#modal-box:has(.retail-overview) h3{font-size:1.25rem;margin-bottom:2px;}
#modal-box:has(.task-assignment-list){max-width:680px;}
#modal-box:has(.task-overview) h3{font-size:1.25rem;margin-bottom:2px;}
#modal-box:has(.shift-roster) h3{font-size:1.25rem;margin-bottom:2px;}
#modal-box:has([data-fname="assortment"]){max-width:1080px;padding:24px 28px}
#modal-overlay:has([data-fname="assortment"]){padding:18px 16px}
#modal-box:has([data-fname="assortment"]) #modal-title{font-size:1.22rem;margin-bottom:14px}
#modal-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
#modal-header #modal-title{flex:1;margin:2px 0 0}
#modal-back{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#f7f9fd;color:var(--primary);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap}
#modal-back:hover{background:#eaf2ff;border-color:#aac5f6}
#modal-back[hidden]{display:none}
#modal-box:has([data-fname="assortment"]) #modal-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
#modal-box:has([data-fname="assortment"]) label.field{min-width:0;margin:0}
#modal-box:has([data-fname="assortment"]) label.field:has([data-fname="name"]){grid-column:span 2}
#modal-box:has([data-fname="assortment"]) label.field:has([data-fname="bankDetails"]),
#modal-box:has([data-fname="assortment"]) label.field:has([data-fname="addresses"]){grid-column:span 2}
#modal-box:has([data-fname="assortment"]) label.field:has([data-fname="assortment"]){grid-column:1/-1}
#modal-box:has([data-fname="assortment"]) label.field:has([data-fname="comment"]){grid-column:1/-1}
#modal-box:has([data-fname="assortment"]) textarea{min-height:64px;resize:vertical}
#modal-box:has([data-fname="assortment"]) [data-addresslist="1"] input{min-width:0}
#modal-box:has([data-fname="assortment"]) #modal-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.form-section-tabs{grid-column:1/-1;display:flex;gap:7px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.form-section-tabs button{padding:7px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--muted);font-size:.68rem;font-weight:650;cursor:pointer}
.form-section-tabs button.active{border-color:#b9d0ff;background:#eaf2ff;color:var(--accent)}
.client-legal-summary{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-size:.78rem}
.enterprise-card-preview__title{text-align:center;margin-bottom:14px}.enterprise-card-preview__title strong,.enterprise-card-preview__title span{display:block}.enterprise-card-preview__title strong{color:var(--accent-dark);font-size:1.1rem}.enterprise-card-preview__title span{margin-top:4px;color:var(--muted);font-size:.68rem}
.enterprise-card-table{width:100%;border-collapse:collapse;font-size:.72rem}.enterprise-card-table th,.enterprise-card-table td{padding:7px 9px;border:1px solid #aebfd9;text-align:left}.enterprise-card-table th{width:32%;background:#eaf2ff}
#modal-box:has(.enterprise-card-preview){max-width:780px}
#modal-actions a{text-decoration:none}
.assortment-editor{padding:10px;border:1px solid var(--border);border-radius:9px;background:#f8faff}
.assortment-editor__rows{display:flex;flex-direction:column;gap:7px}
.assortment-editor__row{display:grid;grid-template-columns:minmax(190px,2fr) repeat(3,minmax(105px,1fr)) 34px;gap:7px;align-items:center}
.assortment-editor__name{position:relative;min-width:0}
.assortment-editor__row input,.assortment-editor__row select{width:100%;min-width:0;padding:8px 9px;background:#fff}
.assortment-editor__meta{display:block;min-height:14px;margin:3px 2px 0;color:var(--muted);font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assortment-editor__suggestions{display:none;position:absolute;z-index:30;top:38px;left:0;right:0;max-height:280px;overflow:auto;border:1px solid #b9c9e3;border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(18,42,80,.16)}
.assortment-editor__suggestions.show{display:block}.assortment-editor__suggestions>button{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left;cursor:pointer}.assortment-editor__suggestions>button:hover{background:#edf4ff}.assortment-editor__suggestions strong,.assortment-editor__suggestions small{display:block}.assortment-editor__suggestions strong{font-size:.68rem;color:var(--text)}.assortment-editor__suggestions small{margin-top:3px;color:var(--muted);font-size:.57rem}.assortment-editor__suggestions>span{display:block;padding:12px;color:var(--muted);font-size:.66rem}
.assortment-editor__row .danger{height:34px;padding:0;font-size:1rem}
.assortment-editor__add{margin-top:9px;background:#fff}
@media(max-width:900px){
  #modal-box:has([data-fname="assortment"]) #modal-body{grid-template-columns:repeat(2,minmax(0,1fr))}
  #modal-box:has([data-fname="assortment"]) label.field:has([data-fname="comment"]){grid-column:span 2}
  .assortment-editor__row{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(95px,1fr)) 34px}
}
@media(max-width:600px){
  #modal-box:has([data-fname="assortment"]){padding:18px 16px}
  #modal-box:has([data-fname="assortment"]) #modal-body{grid-template-columns:1fr}
  #modal-box:has([data-fname="assortment"]) label.field:has([data-fname]){grid-column:1}
  .assortment-editor__row{grid-template-columns:1fr 1fr}
  .assortment-editor__name{grid-column:1/-1}
  .assortment-editor__row .danger{grid-column:2;justify-self:end;width:34px}
}
.shift-roster__date{color:var(--muted);font-size:.82rem;margin-bottom:16px;}
.shift-roster__tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.shift-roster__tabs button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:7px;padding:8px 13px;font-size:.78rem;font-weight:600;}
.shift-roster__tabs button:hover{background:#f5f8ff;border-color:#c8d9ff;}
.shift-roster__tabs button.active{color:var(--accent);background:#edf4ff;border-color:#c8d9ff;}
.shift-roster__range{display:flex;align-items:flex-end;gap:8px;flex-wrap:nowrap;padding:11px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:9px;background:#f8faff;}
.shift-roster__range label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.68rem;}
.shift-roster__range input,.shift-roster__range select{padding:6px 8px;font-size:.76rem;background:#fff;width:108px;min-width:0;}
.shift-roster__range .btn{flex:0 0 auto;white-space:nowrap;}
.shift-roster__range>span{align-self:center;color:var(--muted);font-size:.72rem;}
.shift-roster__scope{font-size:.78rem;color:var(--muted);margin-bottom:16px;}
.shift-roster__summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;}
.shift-roster__summary button{text-align:center;padding:15px 8px;position:relative;border:0;background:#fff;color:var(--text);}
.shift-roster__summary button:first-child{border-radius:9px 0 0 9px}.shift-roster__summary button:last-child{border-radius:0 9px 9px 0;}
.shift-roster__summary button+button:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--border);}
.shift-roster__summary button:hover{background:#f7f9fd;}
.shift-roster__summary button.active{background:#edf4ff;box-shadow:inset 0 -3px 0 var(--accent);}
.shift-roster__summary small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:7px;}
.shift-roster__summary strong{font-size:1.35rem;}
.good-text{color:var(--good)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}
.shift-roster__legend{display:flex;gap:28px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border);border-radius:10px;margin-bottom:16px;font-size:.76rem;}
.legend-dot{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:7px;border-radius:50%;font-style:normal;}
.legend-dot.green{color:var(--good);background:var(--good-bg)}.legend-dot.blue{color:var(--accent);background:#eaf1ff}.legend-dot.violet{color:#7c3aed;background:#f0eaff}
.shift-roster__head,.shift-person{display:grid;grid-template-columns:1.35fr 1fr .72fr .9fr;gap:14px;align-items:center;}
.shift-roster__head{padding:8px 10px;color:var(--muted);font-size:.7rem;text-transform:uppercase;}
.shift-person{padding:11px 10px;border-top:1px solid var(--border);font-size:.8rem;}
.shift-person__employee{display:flex;align-items:center;gap:10px;min-width:0;}
.shift-person__employee strong{display:block;white-space:normal;}
.avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#eef2f8;color:#30415f;font-size:.72rem;}
.shift-person__contacts{display:flex;align-items:center;gap:5px;margin-top:5px;position:relative;}
.shift-person__contacts a,.shift-person__contacts button{display:grid;place-items:center;width:25px;height:23px;padding:0;border:1px solid var(--border);background:#fff;border-radius:5px;color:#405270;text-decoration:none;font-size:.72rem;line-height:1;}
.shift-person__contacts a:hover,.shift-person__contacts button:hover{color:var(--accent);border-color:#9bb9f6;background:#f3f7ff;}
.shift-person__contacts button:disabled{opacity:.35;cursor:not-allowed;}
.shift-person__contacts .contact-max{width:auto;padding:0 6px;font-size:.58rem;font-weight:800;color:#245be7;}
.contact-phone-wrap{position:relative;}
.contact-phone-popover{display:none;position:absolute;left:0;top:29px;z-index:5;width:190px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 25px rgba(18,32,59,.18);}
.contact-phone-wrap.open .contact-phone-popover{display:block;}
.contact-phone-popover a{display:block!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:none!important;color:var(--accent)!important;font-size:.82rem!important;font-weight:700;text-decoration:none;}
.contact-phone-popover small{display:block;color:var(--muted);font-size:.62rem;margin-top:4px;line-height:1.3;}
.contact-email-wrap{position:relative;}
.contact-email-popover{display:none;position:absolute;left:0;top:29px;z-index:5;width:230px;padding:11px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 25px rgba(18,32,59,.18);}
.contact-email-wrap.open .contact-email-popover{display:block;}
.contact-email-popover>strong{display:block;overflow-wrap:anywhere;color:var(--text);font-size:.76rem;margin-bottom:9px;}
.contact-email-actions{display:flex;gap:6px;}
.contact-email-actions button,.contact-email-actions a{display:inline-flex!important;width:auto!important;height:27px!important;padding:0 9px!important;border:1px solid var(--border)!important;border-radius:5px!important;background:#fff!important;color:var(--text)!important;font-size:.67rem!important;font-weight:600;text-decoration:none;}
.contact-email-actions a{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;}
.shift-person__point small{display:block;color:var(--muted);margin-top:2px;}
.shift-person__time{white-space:nowrap;}
.shift-person__time small{display:block;color:var(--muted);margin-top:3px;}
.shift-person--empty{background:#fff9f9;}

/* ---- Task overview modal ---- */
.task-overview__date{color:var(--muted);font-size:.82rem;margin-bottom:14px;}
.task-overview__tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.task-overview__tabs button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:7px;padding:8px 12px;font-size:.74rem;font-weight:600;}
.task-overview__tabs button.active{color:var(--accent);background:#edf4ff;border-color:#c8d9ff;}
.task-overview__period,.task-overview__filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:nowrap;padding:10px 12px;border:1px solid var(--border);background:#f8faff;border-radius:9px;margin-bottom:10px;}
.task-overview__period label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.66rem;}
.task-overview__period input,.task-overview__period select{width:108px;min-width:0;padding:6px 8px;font-size:.75rem;}
.task-overview__period .btn{flex:0 0 auto;white-space:nowrap;}
.task-overview__filters select{min-width:120px;padding:6px 8px;font-size:.75rem;}
.task-overview__period>span{align-self:center;color:var(--muted);font-size:.7rem;}
.task-overview__filters{background:#fff;}
.task-overview__filters select{flex:1;}
.task-overview__summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin:12px 0;}
.task-overview__summary button{text-align:center;padding:13px 8px;position:relative;border:0;background:#fff;color:var(--text);}
.task-overview__summary button:first-child{border-radius:9px 0 0 9px}.task-overview__summary button:last-child{border-radius:0 9px 9px 0;}
.task-overview__summary button+button:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--border);}
.task-overview__summary button:hover{background:#f7f9fd;}
.task-overview__summary button.active{background:#edf4ff;box-shadow:inset 0 -3px 0 var(--accent);}
.task-overview__summary small{display:block;color:var(--muted);font-size:.69rem;margin-bottom:5px;}
.task-overview__summary strong{font-size:1.25rem}.blue-text{color:var(--accent)}
.task-overview__list{display:flex;flex-direction:column;gap:8px;max-height:48vh;overflow-y:auto;padding-right:3px;}
.task-card{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;}
.task-card__number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef2f8;font-size:.72rem;font-weight:700;}
.task-card h4{margin:0 0 3px;font-size:.84rem}.task-card__main>small{color:var(--muted);font-size:.68rem;}
.task-card__people{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px;margin:9px 0;}
.task-card__people span{color:var(--muted);font-size:.64rem}.task-card__people strong{display:block;color:var(--text);font-size:.72rem;margin-top:2px;}
.task-card__assignments{display:flex;gap:5px;flex-wrap:wrap;margin:-2px 0 9px;}
.task-card__assignments span{padding:4px 7px;border-radius:5px;background:#f2f5fa;color:#52617a;font-size:.64rem;}
.task-card__assignments b{color:var(--accent);}
.task-card__tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.task-card__tools>a,.task-card__tools>button{display:inline-grid;place-items:center;height:25px;min-width:27px;padding:0 6px;border:1px solid var(--border);border-radius:5px;background:#fff;color:#405270;text-decoration:none;font-size:.62rem;font-weight:700;}
.task-card__tools .task-card__add{width:auto;margin-left:auto;padding:0 11px;color:#fff;background:var(--accent);border-color:var(--accent);font-size:.68rem;}
.task-card__tools .task-card__add:hover{background:var(--accent-dark);}
.task-card__tools .task-card__add:disabled{opacity:.4;cursor:not-allowed;}
.task-card__tools select{padding:4px 7px;font-size:.68rem;}
.priority-high{color:#c83232!important;background:#fff0f0!important;border-color:#ffcaca!important;font-weight:700;}
.priority-medium{color:#b86b00!important;background:#fff6e8!important;border-color:#ffd9a3!important;font-weight:700;}
.priority-low{color:#147a52!important;background:#ecf9f3!important;border-color:#bdebd7!important;font-weight:700;}
.task-card p{margin:8px 0 0;color:var(--muted);font-size:.68rem;}
.task-assignment-list{display:flex;flex-direction:column;gap:7px;margin:5px 0 8px;}
.task-assignment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:center;}
.task-assignment-row select{min-width:0;width:100%;}
#tf-add-assignment{margin-bottom:12px;}

/* ---- Retail overview modal ---- */
.retail-overview__date{color:var(--muted);font-size:.8rem;margin-bottom:13px;}
.retail-overview__period,.retail-overview__filters{display:flex;gap:8px;align-items:flex-end;flex-wrap:nowrap;padding:10px 12px;border:1px solid var(--border);border-radius:9px;margin-bottom:10px;background:#f8faff;}
.retail-overview__period>button:not(.btn){padding:7px 12px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.72rem;font-weight:600;}
.retail-overview__period>button:first-child{border-radius:6px 0 0 6px}.retail-overview__period>button:nth-child(4){border-radius:0 6px 6px 0;margin-right:8px;}
.retail-overview__period>button.active{background:#eaf2ff;color:var(--accent);border-color:#bad0ff;}
.retail-overview__period label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.65rem;}
.retail-overview__period input{width:118px;min-width:0;padding:6px 8px;font-size:.73rem;}
.retail-overview__period select{width:105px;min-width:0;padding:6px 8px;font-size:.73rem;}
.retail-overview__period input[data-retail-year]{width:76px;}
.retail-overview__period>span{align-self:center;color:var(--muted);}
.retail-overview__filters{background:#fff}.retail-overview__filters select{flex:1;min-width:0;}
.retail-overview__tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin:4px 0 11px;}
.retail-overview__tabs button{border:0;background:#fff;padding:8px 4px;color:var(--muted);font-size:.74rem;font-weight:600;}
.retail-overview__tabs button.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent);}
.retail-overview__summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;}
.retail-overview__summary div{text-align:center;padding:12px 7px;position:relative;}
.retail-overview__summary div+div:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--border);}
.retail-overview__summary small{display:block;color:var(--muted);font-size:.65rem;margin-bottom:5px}.retail-overview__summary strong{font-size:.95rem;}
.retail-overview__details{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;}
.retail-overview__split{display:flex;gap:24px;flex-wrap:wrap;padding:8px 4px 13px;font-size:.72rem;color:var(--muted)}.retail-overview__split b{color:var(--text);margin-left:5px;}
.retail-overview__quality{font-size:.7rem;color:var(--muted);padding:4px}.retail-overview__quality .good{color:var(--good)}.retail-overview__quality .bad{color:var(--bad)}

/* ---- Wholesale overview modal ---- */
.wholesale-overview__date{color:var(--muted);font-size:.8rem;margin-bottom:12px;}
.wholesale-overview__period,.wholesale-overview__filters{display:flex;gap:8px;align-items:flex-end;flex-wrap:nowrap;padding:10px 12px;border:1px solid var(--border);border-radius:9px;margin-bottom:10px;background:#f8faff;}
.wholesale-overview__period>button:not(.btn){padding:7px 12px;border:1px solid var(--border);background:#fff;font-size:.7rem;font-weight:600;}
.wholesale-overview__period>button.active{background:#eaf2ff;color:var(--accent);border-color:#bad0ff;}
.wholesale-overview__period label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.64rem;}
.wholesale-overview__period input{width:120px;min-width:0;padding:6px 8px;font-size:.72rem}.wholesale-overview__period select{width:105px;min-width:0;padding:6px 8px;font-size:.72rem}.wholesale-overview__period input[data-wholesale-year]{width:76px;}
.wholesale-overview__period>span{align-self:center;color:var(--muted);}
.wholesale-overview__filters{background:#fff}.wholesale-overview__filters select{flex:1;min-width:0;}
.wholesale-overview__tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:11px;overflow-x:auto;}
.wholesale-overview__tabs button{border:0;background:#fff;padding:8px 4px;color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap;}
.wholesale-overview__tabs button.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent);}
.wholesale-overview__turnover{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:10px;margin-bottom:10px}
.wholesale-overview__total{padding:16px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#12203b,#2f6fed)}
.wholesale-overview__total small,.wholesale-overview__total span{display:block;color:#d7e2f8;font-size:.65rem}
.wholesale-overview__total strong{display:block;font-size:1.35rem;margin:6px 0}
.wholesale-overview__cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.wholesale-overview__cities button{border:1px solid var(--border);border-radius:9px;background:#fff;padding:12px;text-align:left;cursor:pointer}
.wholesale-overview__cities button:hover,.wholesale-overview__cities button.active{border-color:var(--accent);background:#f2f6ff}
.wholesale-overview__cities small{display:block;color:var(--muted);margin-bottom:5px}
.wholesale-overview__cities strong{font-size:.9rem}
.wholesale-overview__summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;}
.wholesale-overview__summary div{text-align:center;padding:11px 7px;position:relative}.wholesale-overview__summary div+div:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:var(--border);}
.wholesale-overview__summary small{display:block;color:var(--muted);font-size:.63rem;margin-bottom:4px}.wholesale-overview__summary strong{font-size:.9rem;}
.wholesale-overview__attention{display:flex;gap:22px;flex-wrap:wrap;padding:11px 13px;border:1px solid #ffe0cc;background:#fff9f2;border-radius:9px;margin-bottom:10px;font-size:.7rem}.wholesale-overview__attention b{color:var(--bad);}

/* Опт — компактный управленческий обзор */
.wholesale-dashboard{display:flex;flex-direction:column;gap:14px}
.wholesale-nav{display:flex;align-items:center;gap:22px;padding:0 4px;border-bottom:1px solid var(--border);overflow-x:auto}
.wholesale-nav>button:not(.btn){flex:0 0 auto;padding:12px 3px;border:0;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer}
.wholesale-nav>button:not(.btn).active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.wholesale-nav__create{margin-left:auto;margin-bottom:6px;white-space:nowrap}
.wholesale-filters{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:#f8faff}.wholesale-filters label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.64rem}.wholesale-filters select,.wholesale-filters input{min-width:128px;padding:8px 9px;font-size:.73rem;background:#fff}.wholesale-filters label:first-child select{min-width:165px}.wholesale-filters .wholesale-filter-year input{width:82px;min-width:82px}.wholesale-filters>.btn{height:34px}.wholesale-filters__quick{display:flex;align-items:center;height:34px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.wholesale-filters__quick button{height:100%;padding:0 12px;border:0;border-right:1px solid var(--border);background:#fff;color:var(--text);font-size:.69rem;font-weight:600;cursor:pointer}.wholesale-filters__quick button:last-child{border-right:0}.wholesale-filters__quick button.active{color:var(--accent);background:#eaf2ff}.wholesale-filters__or{align-self:center;color:var(--muted);font-size:.68rem}
.wholesale-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.wholesale-kpi{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:start;min-width:0;padding:16px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(16,40,78,.035)}
.wholesale-kpi[role=button]{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.wholesale-kpi[role=button]:hover,.wholesale-kpi[role=button]:focus{transform:translateY(-2px);border-color:#a9c5ff;box-shadow:0 8px 20px rgba(47,111,237,.1);outline:0}
.wholesale-kpi.red{border-color:#ffd7d7;background:#fffdfd}
.wholesale-kpi__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eaf2ff;color:#2f6fed;font-size:1rem;font-weight:800}
.wholesale-kpi.purple .wholesale-kpi__icon{background:#f0eaff;color:#7650de}.wholesale-kpi.green .wholesale-kpi__icon{background:#e8f8ef;color:#18a264}.wholesale-kpi.orange .wholesale-kpi__icon{background:#fff3df;color:#da8611}.wholesale-kpi.red .wholesale-kpi__icon{background:#ffeded;color:var(--bad)}
.wholesale-kpi small,.wholesale-kpi em{display:block;color:var(--muted);font-size:.67rem;font-style:normal}.wholesale-kpi strong{display:block;margin:5px 0;font-size:1.25rem;line-height:1.05;white-space:nowrap}.wholesale-kpi.red strong{color:var(--bad)}
.wholesale-attention{display:grid;grid-template-columns:170px repeat(4,minmax(145px,1fr)) auto;gap:16px;align-items:center;padding:15px 18px;border:1px solid #ffe1b9;border-radius:12px;background:linear-gradient(90deg,#fffaf1,#fffdf8)}
.wholesale-attention__title{align-self:start;color:#8d5a0b;font-size:.82rem;font-weight:700}
.wholesale-attention>div:not(.wholesale-attention__title){display:flex;gap:9px;align-items:flex-start;min-width:0}.wholesale-attention>div>b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#fff0cf;color:#e08b10}.wholesale-attention span{min-width:0}.wholesale-attention strong,.wholesale-attention small,.wholesale-attention em{display:block;font-style:normal}.wholesale-attention strong{font-size:.72rem}.wholesale-attention small{margin:2px 0;color:var(--muted);font-size:.62rem}.wholesale-attention em{color:var(--bad);font-size:.65rem;font-weight:700}
.wholesale-attention__item{padding:7px;border-radius:9px;cursor:pointer;transition:background .15s}.wholesale-attention__item:hover{background:#fff1d5}
.wholesale-analytics-grid{display:grid;grid-template-columns:minmax(590px,1.25fr) minmax(350px,.75fr);gap:14px}.wholesale-analytics-grid>.panel{margin:0}
.wholesale-city-summary{grid-row:span 2}.wholesale-city-summary .table-wrap{overflow-x:hidden}.wholesale-city-summary table{width:100%;table-layout:fixed;font-size:.7rem}.wholesale-city-summary th,.wholesale-city-summary td{padding:12px 6px}.wholesale-city-summary th{white-space:normal;line-height:1.15;font-size:.64rem}.wholesale-city-summary th:first-child{width:20%}.wholesale-city-summary th:last-child{width:20%}.wholesale-city-total td{font-weight:800;background:#fafcff}
.wholesale-progress{display:flex;align-items:center;gap:7px;min-width:105px}.wholesale-progress>span{display:block;flex:1;height:6px;border-radius:8px;background:#e5ebf3;overflow:hidden}.wholesale-progress i{display:block;height:100%;border-radius:inherit;background:#24ad70}.wholesale-progress b{font-size:.68rem}
.wholesale-trend svg{display:block;width:100%;height:190px;overflow:visible}.wholesale-trend .gridline{stroke:#dfe6ef;stroke-width:1}.wholesale-trend polyline{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.wholesale-trend .sales-line{stroke:#2f6fed}.wholesale-trend .paid-line{stroke:#1aaa67}.wholesale-trend .plan-line{stroke:#9aabc2;stroke-width:2;stroke-dasharray:7 6}.wholesale-chart-legend{display:flex;gap:22px;margin:0 0 3px 10px;color:var(--muted);font-size:.68rem}.wholesale-chart-legend span:before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;border-radius:4px;background:#2f6fed}.wholesale-chart-legend .paid:before{background:#1aaa67}.wholesale-chart-legend .plan:before{height:1px;background:#9aabc2}.wholesale-chart-labels{display:flex;justify-content:space-between;margin:0 20px;color:var(--muted);font-size:.6rem}
.wholesale-debt-structure{display:grid;grid-template-columns:150px 1fr;align-items:center}.wholesale-debt-structure .panel-head{grid-column:1/-1}.wholesale-donut{display:grid;place-items:center;width:125px;height:125px;margin:auto;border-radius:50%;background:conic-gradient(#dc4545 0 var(--overdue),#5ac487 var(--overdue) 360deg);position:relative}.wholesale-donut:after{content:"";position:absolute;inset:23px;border-radius:50%;background:#fff}.wholesale-donut>div{z-index:1;text-align:center}.wholesale-donut strong,.wholesale-donut small{display:block}.wholesale-donut strong{font-size:.78rem}.wholesale-donut small{color:var(--muted);font-size:.57rem}.wholesale-debt-legend{display:flex;flex-direction:column;gap:13px}.wholesale-debt-legend span{padding-left:16px;position:relative;color:var(--muted);font-size:.68rem}.wholesale-debt-legend span:before{content:"";position:absolute;left:0;top:3px;width:8px;height:8px;border-radius:50%;background:#5ac487}.wholesale-debt-legend .overdue:before{background:#dc4545}.wholesale-debt-legend b{display:block;margin-top:2px;color:var(--text)}
.wholesale-managers table{font-size:.68rem}.wholesale-managers th,.wholesale-managers td{padding:9px 7px}.wholesale-transactions{margin-top:0}
.wholesale-subview{display:flex;flex-direction:column;gap:14px}.wholesale-subview>.panel{margin:0}.wholesale-subview__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(100deg,#fff,#f6f9ff)}.wholesale-subview__head h2{margin:0 0 5px;font-size:1.18rem}.wholesale-subview__head p{margin:0;color:var(--muted);font-size:.76rem}.wholesale-subview__total{text-align:right}.wholesale-subview__total small,.wholesale-subview__total strong{display:block}.wholesale-subview__total small{color:var(--muted);font-size:.65rem}.wholesale-subview__total strong{margin-top:4px;font-size:1.2rem}
.wholesale-clients-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.wholesale-clients-layout>main{display:flex;flex-direction:column;gap:12px;min-width:0}
.wholesale-clients-layout--popup{grid-template-columns:minmax(0,1fr)}
.wholesale-filters+.wholesale-clients-layout{margin-top:14px}
.wholesale-client-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:11px;background:#fff}.wholesale-client-tools select{flex:1 1 125px;min-width:115px;font-size:.72rem}.wholesale-client-tools>.btn{margin-left:auto;white-space:nowrap}
.wholesale-client-search{display:flex;flex:2 1 250px;min-width:220px;height:37px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.wholesale-client-search:focus-within{border-color:#9abbff;box-shadow:0 0 0 3px #edf3ff}.wholesale-client-search input{min-width:0;width:100%;border:0!important;box-shadow:none!important;font-size:.72rem}.wholesale-client-search button{width:38px;border:0;background:#fff;color:var(--accent);cursor:pointer}
.wholesale-client-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.wholesale-client-kpis>button{min-width:0;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.wholesale-client-kpis>button:hover{border-color:#9dbbff;box-shadow:0 7px 20px rgba(47,111,237,.1);transform:translateY(-1px)}.wholesale-client-kpis>button:focus-visible{outline:3px solid #dbe7ff;outline-offset:2px}.wholesale-client-kpis small,.wholesale-client-kpis strong,.wholesale-client-kpis em{display:block}.wholesale-client-kpis small{min-height:27px;color:var(--muted);font-size:.63rem}.wholesale-client-kpis strong{font-size:1.18rem}.wholesale-client-kpis em{margin-top:7px;color:var(--accent);font-size:.56rem;font-style:normal;font-weight:600;opacity:0;transition:opacity .16s}.wholesale-client-kpis>button:hover em,.wholesale-client-kpis>button:focus-visible em{opacity:1}.wholesale-client-kpis .good strong{color:var(--good)}.wholesale-client-kpis .warn strong{color:#cc810c}.wholesale-client-kpis .bad strong{color:var(--bad)}.wholesale-client-kpis .accent strong{color:var(--accent)}
.client-kpi-modal__hint{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#f5f8fd;color:var(--muted);font-size:.72rem}.client-kpi-modal__hint b{flex:0 0 auto;color:var(--text)}.client-kpi-modal table{font-size:.7rem}.client-kpi-modal th,.client-kpi-modal td{padding:10px 8px}.client-kpi-modal td>small{display:block;margin-top:3px;color:var(--muted);font-size:.57rem}#modal-box:has(.client-kpi-modal){max-width:1040px}
.client-card-modal__status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.client-card-modal__status small{color:var(--muted)}.client-card-modal__contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.client-card-modal__contacts>div,.client-card-modal__finance>div{padding:12px;border:1px solid var(--border);border-radius:9px;background:#fff}.client-card-modal__contacts small,.client-card-modal__contacts strong,.client-card-modal__finance small,.client-card-modal__finance strong,.client-card-modal__finance span{display:block}.client-card-modal__contacts small,.client-card-modal__finance small,.client-card-modal__finance span{color:var(--muted);font-size:.61rem}.client-card-modal__contacts strong{margin-top:4px;font-size:.76rem}.client-card-modal__contacts a{display:inline-block;margin-top:6px;color:var(--accent);font-size:.62rem;text-decoration:none}.client-card-modal__finance{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.client-card-modal__finance strong{margin:5px 0;font-size:1rem}.client-card-modal__assortment,.client-card-modal__notes{margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.client-card-modal__assortment h3,.client-card-modal__notes h3{margin:0 0 9px}.client-card-modal__assortment p{margin:0;color:var(--text);font-size:.68rem;line-height:1.55;white-space:pre-line}.client-card-modal__notes>div{display:grid;grid-template-columns:1fr auto;gap:4px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.68rem}.client-card-modal__notes span{color:var(--muted)}.client-card-modal__notes p{grid-column:1/-1;margin:0;color:var(--text)}#modal-box:has(.client-card-modal){max-width:820px}
.client-directory-modal__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px;padding:11px 13px;border-radius:9px;background:#f5f8fd}.client-directory-modal__toolbar>div:first-child{flex:1}.client-directory-modal__toolbar strong,.client-directory-modal__toolbar small{display:block}.client-directory-modal__toolbar small{margin-top:3px;color:var(--muted);font-size:.64rem}.client-directory-modal__filters{display:flex;align-items:flex-end;gap:8px;flex:0 1 600px}.client-directory-modal__filters label{display:flex;flex-direction:column;gap:3px;flex:1}.client-directory-modal__filters label:last-child{flex:1.4}.client-directory-modal__filters span{color:var(--muted);font-size:.58rem}.client-directory-modal__toolbar input,.client-directory-modal__toolbar select{width:100%}.client-directory-modal table{font-size:.68rem}.client-directory-modal th,.client-directory-modal td{padding:10px 7px}.client-directory-modal td>small{display:block;margin-top:3px;color:var(--muted);font-size:.56rem}.client-directory-actions{display:flex;gap:5px;white-space:nowrap}#modal-box:has(.client-directory-modal){max-width:1180px}
@media(max-width:700px){.client-directory-modal__toolbar{align-items:stretch;flex-direction:column}.client-directory-modal__filters{flex:1 1 auto;width:100%;flex-direction:column;align-items:stretch}.client-directory-modal__filters label{width:100%}}
.wholesale-client-citytabs{display:flex;gap:20px;padding:0 8px;border-bottom:1px solid var(--border);overflow-x:auto}.wholesale-client-citytabs button{padding:10px 0;border:0;background:transparent;color:var(--muted);font-size:.68rem;font-weight:600;white-space:nowrap;cursor:pointer}.wholesale-client-citytabs button.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.wholesale-client-table{margin:0}.wholesale-client-table table{font-size:.68rem}.wholesale-client-table th,.wholesale-client-table td{padding:10px 7px}.client-name-cell{display:flex;align-items:center;gap:8px;min-width:145px}.client-name-cell>span,.client-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#123362,#2f6fed);font-size:.63rem;font-weight:700}.client-name-cell strong,.client-name-cell small{display:block}.client-name-cell small{margin-top:2px;color:var(--muted);font-size:.57rem}
.wholesale-client-detail{position:sticky;top:12px;padding:17px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 5px 22px rgba(26,49,87,.06)}.wholesale-client-detail__head{display:flex;gap:11px;align-items:center}.wholesale-client-detail__head .client-avatar{width:42px;height:42px;flex-basis:42px}.wholesale-client-detail__head h2{margin:0 0 5px;font-size:1.08rem}.wholesale-client-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:16px 0}.wholesale-client-actions a,.wholesale-client-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;height:48px;border:1px solid var(--border);border-radius:8px;color:var(--accent);background:#f8faff;text-decoration:none;font-weight:700;cursor:pointer}.wholesale-client-actions small{margin-top:3px;color:var(--muted);font-size:.5rem;font-weight:500}
.wholesale-client-tabs{display:flex;gap:14px;margin-bottom:15px;border-bottom:1px solid var(--border);overflow-x:auto}.wholesale-client-tabs button{padding:8px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.62rem;white-space:nowrap;cursor:pointer}.wholesale-client-tabs button:hover{color:var(--accent)}.wholesale-client-tabs .active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.wholesale-client-detail section{margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.wholesale-client-detail section h3{margin:0 0 11px;font-size:.75rem}.wholesale-client-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.wholesale-client-detail dl div{min-width:0}.wholesale-client-detail dt{color:var(--muted);font-size:.57rem}.wholesale-client-detail dd{margin:2px 0 0;font-size:.67rem;overflow-wrap:anywhere}.wholesale-client-detail section p{margin:0;color:var(--text);font-size:.67rem;line-height:1.5}.client-side-list{display:grid;gap:7px}.client-side-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#f8faff}.client-side-list article div{min-width:0}.client-side-list article strong,.client-side-list article small{display:block}.client-side-list article strong{font-size:.64rem}.client-side-list article small{margin-top:2px;color:var(--muted);font-size:.56rem}.client-side-list article>b{font-size:.65rem}.client-side-list article>.badge{grid-column:1;justify-self:start}.client-side-list__payment{grid-column:2;justify-self:end}.client-side-list article>p{grid-column:1/-1!important;margin:2px 0 0!important;color:var(--muted)!important;font-size:.57rem!important}
.wholesale-client-finance{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.wholesale-client-finance>div{padding:10px;border:1px solid var(--border);border-radius:8px}.wholesale-client-finance small,.wholesale-client-finance strong{display:block}.wholesale-client-finance small{color:var(--muted);font-size:.55rem}.wholesale-client-finance strong{margin-top:4px;font-size:.7rem}.wholesale-client-finance .warn{border-color:#ffe2b7;background:#fffaf2}.wholesale-client-finance .warn strong{color:#c77905}.wholesale-client-finance .bad{border-color:#ffd4d4;background:#fff7f7}.wholesale-client-finance .bad strong{color:var(--bad)}.wholesale-client-debt-link{width:100%;margin-top:14px;padding:9px;border:0;color:var(--accent);background:transparent;text-align:left;font-size:.68rem;font-weight:600;cursor:pointer}
.receivable-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:240px}.receivable-paid-row{background:#f3fbf7}.receivable-paid-row td{color:var(--muted)}.receivable-paid-row td:nth-child(2){text-decoration:line-through}.table-wrap td>small{display:block;margin-top:3px;color:var(--muted);font-size:.57rem}
.selected-row td{background:#f3f7ff;}
.wholesale-status{display:inline-block;padding:3px 7px;border-radius:5px;font-size:.65rem;font-weight:600}.wholesale-status.good{background:var(--good-bg);color:var(--good)}.wholesale-status.warn{background:var(--warn-bg);color:var(--warn)}.wholesale-status.bad{background:var(--bad-bg);color:var(--bad)}.wholesale-status.neutral{background:#eef1f6;color:var(--muted)}
.wholesale-overview__detail{border:1px solid var(--border);border-radius:10px;padding:13px;margin-top:10px}.wholesale-overview__detail h4{margin:0 0 10px}.wholesale-overview__detail>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.wholesale-overview__detail span{color:var(--muted);font-size:.66rem}.wholesale-overview__detail span b{display:block;color:var(--text);margin-top:3px;}
.wholesale-flow{display:flex!important;grid-column:1/-1;justify-content:space-between;position:relative;margin-top:12px}.wholesale-flow i{font-style:normal;color:var(--muted);font-size:.65rem}.wholesale-flow i.done{color:var(--good)}.wholesale-flow i.warn{color:var(--warn)}

#confirm-box{ max-width:360px; text-align:left; }
#confirm-msg{ font-size:.9rem; color:var(--text); margin-bottom:18px; }

.pillrow{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px;}
.pill{ padding:6px 12px; border-radius:20px; border:1px solid var(--border); background:#fff; font-size:.8rem; cursor:pointer; color:var(--muted);}
.pill.active{ background:var(--accent); color:#fff; border-color:var(--accent); }

.storage-note{
  font-size:.75rem; color:var(--warn); background:var(--warn-bg);
  padding:8px 12px; border-radius:8px; margin-bottom:16px; display:none;
}
.storage-note.show{ display:block; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:#c7cede; border-radius:6px; }

.card.city-pick:hover, .card.card-click:hover{ border-color:var(--accent); box-shadow:0 2px 10px rgba(47,111,237,.12); }

/* Schedule */
.sc-legend{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
.sc-tag{ font-size:.72rem; padding:3px 9px; border-radius:6px; font-weight:600; }
.sc-wrap{ max-height:70vh; }
table.sc-table{ border-collapse:separate; border-spacing:0; font-size:.78rem; }
table.sc-table th, table.sc-table td{ border:1px solid var(--border); text-align:center; padding:0; white-space:nowrap; }
th.sc-day{ padding:5px 2px; font-weight:600; color:var(--muted); background:#f7f8fb; min-width:26px; }
th.sc-day.sc-today{ background:#e4ecfc; color:var(--accent); }
th.sc-name-head{ position:sticky; left:0; background:#fff; z-index:3; width:165px; min-width:165px; max-width:165px; text-align:left; padding:6px 8px; }
td.sc-name{ position:sticky; left:0; background:#fff; z-index:2; text-align:left; padding:6px 8px; font-weight:600; width:165px; min-width:165px; max-width:165px; overflow:hidden; text-overflow:ellipsis; }
td.sc-name .sc-sub{ font-weight:400; color:var(--muted); font-size:.72rem; }
td.sc-cell{ width:26px; height:30px; cursor:pointer; font-weight:700; color:#fff; }
td.sc-cell:hover{ outline:2px solid var(--accent-dark); outline-offset:-2px; }
.sc-empty{ background:#f4f6fa; }
.sc-work, .sc-tag.sc-work{ background:#2f6fed; color:#fff; }
.sc-admin, .sc-tag.sc-admin{ background:#176c83; color:#fff; }
.sc-off, .sc-tag.sc-off{ background:#94a3b8; color:#fff; }
.sc-vac, .sc-tag.sc-vac{ background:#a855f7; color:#fff; }
.sc-sick, .sc-tag.sc-sick{ background:#e05d5d; color:#fff; }
.sc-cover, .sc-tag.sc-cover{ background:#f0a63a; color:#fff; }
.sc-train, .sc-tag.sc-train{ background:#14b8a6; color:#fff; }
.sc-trip, .sc-tag.sc-trip{ background:#64748b; color:#fff; }
.sc-half, .sc-tag.sc-half{ background:repeating-linear-gradient(135deg,#2f6fed,#2f6fed 6px,#9db8f5 6px,#9db8f5 12px); color:#fff; }
td.sc-summary{ font-weight:700; background:#f7f8fb; color:var(--muted); }
.sc-cell.sc-changed{position:relative;outline:3px solid #ff8a00;outline-offset:-3px;box-shadow:inset 0 0 0 1px #fff}
.schedule-version-badge{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#eef4ff;color:var(--accent);font-size:.67rem;font-weight:600;vertical-align:middle}
.schedule-versions,.schedule-cell-history{margin-top:15px}.schedule-versions h3,.schedule-cell-history h3{margin:0 0 10px}
.schedule-version-list{display:grid;gap:8px}.schedule-version-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:#fff}.schedule-version-list article.active{border-color:#8cdbb8;background:#f3fbf7}.schedule-version-list article.obsolete{background:#f7f8fa}.schedule-version-list article strong{margin-right:8px}.schedule-version-list article small{display:block;margin-top:5px;color:var(--muted)}.schedule-version-actions{display:flex;gap:7px;flex-wrap:wrap}
.schedule-cell-history{padding-top:15px;border-top:1px solid var(--border)}
#modal-box:has(.schedule-version-preview){max-width:min(1500px,98vw)}.schedule-version-preview__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;color:var(--muted)}.schedule-preview-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:9px;background:#f7f9fc}.schedule-preview-filters>label{display:grid;gap:4px;font-size:.72rem;color:var(--muted)}.schedule-preview-filters fieldset{display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:7px 10px;border:1px solid var(--border);border-radius:7px}.schedule-preview-filters legend{padding:0 5px;font-size:.7rem;color:var(--muted)}.schedule-preview-filters fieldset label{font-size:.78rem}.schedule-print-title{display:flex;justify-content:space-between;gap:12px;margin:5px 0 9px}.schedule-preview-note{margin:9px 0 0;color:var(--muted);font-size:.75rem}.rate-priority{display:flex;align-items:center;gap:7px;white-space:nowrap}.rate-saved{display:block;margin-top:4px;color:var(--good);font-weight:600}
@media print{body>*{visibility:hidden!important}#modal-overlay,#modal-overlay *{visibility:visible!important}#modal-overlay{position:absolute!important;inset:0!important;background:#fff!important}#modal-box{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;box-shadow:none!important}#modal-actions,#modal-close,.modal-back-btn{display:none!important}}

tr.pace-row-good td{ background:#f2fbf6; }
tr.pace-row-warn td{ background:#fefaf0; }
tr.pace-row-bad td{ background:#fdf3f3; }

/* Login */
#login-screen{position:fixed;inset:0;z-index:1000;overflow-x:hidden;overflow-y:auto;min-height:650px;padding:30px 38px;color:#fff;background:radial-gradient(circle at 72% 45%,rgba(24,91,214,.28),transparent 31%),radial-gradient(circle at 20% 78%,rgba(24,84,204,.18),transparent 31%),linear-gradient(135deg,#020817 0%,#051127 48%,#020817 100%)}
#login-screen:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(57,112,223,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(57,112,223,.13) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent 10%,#000 60%,transparent)}
.login-brand{position:absolute;top:28px;left:38px;display:flex;align-items:center;gap:12px;z-index:2}.login-brand strong{display:block;font-size:1.05rem}.login-brand small{display:block;color:#91a5cc;font-size:.7rem;margin-top:2px}
.login-logo{width:40px;height:40px;flex:0 0 40px;filter:drop-shadow(0 0 12px rgba(47,111,237,.38))}.login-logo img{display:block;width:100%;height:100%}
.login-badge{position:absolute;top:30px;right:38px;padding:10px 16px;border:1px solid rgba(244,185,66,.45);border-radius:9px;color:#e8bc54;background:rgba(8,16,34,.75);font-size:.75rem;z-index:2}
.login-welcome{position:absolute;top:14%;left:4%;width:40%;z-index:3}.login-welcome>span{font-size:.72rem;letter-spacing:.18em;color:#5e94ff}.login-welcome h1{font-size:2.65rem;line-height:1.06;margin:10px 0 14px}.login-welcome h1 em{font-style:normal;font-weight:400;color:#78a7ff}.login-welcome p{max-width:430px;color:#a0b4d8;font-size:.9rem;line-height:1.65}
.login-network{position:absolute;left:0;width:72%;top:11%;height:78%;opacity:.94;background:url('/static/assets/login-russia-network.png') center/contain no-repeat;filter:drop-shadow(0 0 16px rgba(35,113,255,.32));animation:loginMapFloat 9s ease-in-out infinite}.login-network:after{content:"";position:absolute;inset:8% 5%;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(75,150,255,.14) 48%,transparent 61%);transform:translateX(-70%);animation:loginMapScan 7s ease-in-out infinite}.login-network svg{display:none}.network-node{position:absolute;font-size:.66rem;color:#e7f0ff;z-index:2}.network-node i{display:block;width:13px;height:13px;border:3px solid #b1d2ff;border-radius:50%;background:#0b5cff;box-shadow:0 0 0 6px rgba(23,102,255,.18),0 0 18px #1775ff;animation:loginPulse 2.4s ease-in-out infinite}.network-node b{position:absolute;white-space:nowrap;font-weight:500;left:18px;top:-4px;text-shadow:0 1px 6px #000}.network-node.n1{left:13%;top:48.5%}.network-node.n2{left:23.5%;top:58%}.network-node.n3{left:32.7%;top:65.5%}.network-node.n4{left:58.5%;top:60%}.network-node.n5{left:60%;top:69%}
@keyframes loginRoute{to{stroke-dashoffset:-200}}@keyframes loginPulse{0%,100%{transform:scale(.85);box-shadow:0 0 0 4px rgba(23,102,255,.12),0 0 10px #1775ff}50%{transform:scale(1.18);box-shadow:0 0 0 11px rgba(23,102,255,.05),0 0 27px #4d9aff}}@keyframes loginMapFloat{0%,100%{transform:translate3d(0,0,0);filter:drop-shadow(0 0 14px rgba(35,113,255,.28))}50%{transform:translate3d(0,-7px,0);filter:drop-shadow(0 0 24px rgba(35,113,255,.45))}}@keyframes loginMapScan{0%,20%{transform:translateX(-75%);opacity:0}48%{opacity:1}75%,100%{transform:translateX(75%);opacity:0}}
.login-benefits{position:absolute;left:4%;bottom:4%;display:grid;grid-template-columns:repeat(3,minmax(175px,225px));gap:12px;z-index:3}.login-benefits>div{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid rgba(80,122,202,.3);border-radius:11px;background:rgba(6,17,39,.82);backdrop-filter:blur(8px)}.login-benefits>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#67a4ff;border:1px solid #216be9;background:rgba(18,83,205,.18)}.login-benefits p{margin:0}.login-benefits strong,.login-benefits small{display:block}.login-benefits strong{font-size:.75rem}.login-benefits small{color:#8498bd;font-size:.62rem;margin-top:4px}
#login-card{position:absolute;left:77%;top:51%;transform:translate(-50%,-50%);z-index:5;width:min(450px,calc(100% - 32px));padding:38px 39px 31px;border:1px solid rgba(63,130,255,.8);border-radius:20px;background:linear-gradient(160deg,rgba(7,26,64,.97),rgba(3,13,34,.99));box-shadow:0 0 0 1px rgba(39,111,255,.15),0 0 50px rgba(17,96,255,.32),0 28px 65px rgba(0,0,0,.46);backdrop-filter:blur(14px)}
#login-card:before,#login-card:after{content:"";position:absolute;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#55a0ff,transparent);box-shadow:0 0 12px #3180ff}#login-card:before{top:0}#login-card:after{bottom:0}
.login-card-logo{display:flex;justify-content:center;margin-bottom:10px}.login-card-logo .login-logo{width:56px;height:56px;flex-basis:56px}
#login-card h2{text-align:center;font-size:1.55rem;margin:0 0 6px}.login-sub{text-align:center;color:#9bacca;font-size:.82rem;margin-bottom:25px}
#login-card label.field{color:#c7d4ea;margin-bottom:12px}#login-card label.field>span:first-child{font-size:.7rem}
.login-input{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;height:48px;overflow:hidden;border:1px solid #30476f;border-radius:9px;background:#051128;transition:.18s}.login-input:focus-within{border-color:#3f84ff;box-shadow:0 0 0 3px rgba(47,111,237,.12)}.login-input>i{display:grid;place-items:center;width:100%;height:100%;color:#8fa4c8;font-style:normal;border-right:1px solid rgba(78,106,153,.25)}.login-input input{width:100%;min-width:0;height:100%;padding:0 13px!important;border:0!important;border-radius:0!important;background:#051128!important;color:#fff!important;outline:0!important;box-shadow:none!important}.login-input input::placeholder{color:#637493}.login-input input:-webkit-autofill,.login-input input:-webkit-autofill:hover,.login-input input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #051128 inset!important;transition:background-color 9999s ease-out}.login-input button{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:#051128;color:#a9bad7;cursor:pointer}
.login-remember{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#b9c7de;margin:3px 0 15px}.login-remember input{accent-color:#2f6fed}
.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:49px;padding:0 17px;border:1px solid #4f86ff;border-radius:9px;color:#fff;background:linear-gradient(100deg,#2370f5,#263fd4);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(27,83,220,.28)}.login-submit span{flex:1;text-align:center}.login-submit b{font-size:1.15rem}.login-submit:hover{filter:brightness(1.1)}
.login-error{color:#ff8d8d;font-size:.76rem;min-height:18px;margin-top:8px;text-align:center}.login-security{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:5px;padding-top:16px;border-top:1px solid rgba(111,137,180,.2);color:#8fa2c2;font-size:.65rem}
@media(max-width:1000px){
  .wholesale-kpis{grid-template-columns:repeat(3,1fr)}
  .wholesale-attention{grid-template-columns:repeat(2,1fr)}.wholesale-attention__title{grid-column:1/-1}.wholesale-attention>.btn{grid-column:1/-1;justify-self:start}
  .wholesale-analytics-grid{grid-template-columns:1fr}.wholesale-city-summary{grid-row:auto}
  .login-welcome{left:4%;width:34%}.login-welcome h1{font-size:1.8rem}
  .login-benefits{grid-template-columns:repeat(3,145px)}.login-benefits>div{padding:10px}.login-benefits small{display:none}
}
@media(max-width:760px){
  #login-screen{min-height:620px;padding:18px}
  .login-brand{top:20px;left:20px}.login-badge,.login-welcome,.login-benefits{display:none}
  .login-network{left:-55%;width:210%;top:23%;height:60%;opacity:.28}
  .network-node b{display:none}
  #login-card{left:50%;top:52%;padding:27px 23px 22px}
  #sidebar .app-brand img{width:32px;height:32px;flex-basis:32px}
  #sidebar .app-brand strong{font-size:.92rem}
}
.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}.checkitem{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text)}
.user-chip{font-size:.78rem;color:var(--muted);padding:0 4px}
.cash-archive-editor{display:grid;gap:18px}.cash-archive-meta{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}.cash-archive-meta label,.cash-archive-meta>div{display:grid;gap:6px}.cash-archive-meta span,.cash-archive-meta label{font-size:.82rem;color:var(--muted)}.cash-archive-meta strong{font-size:.95rem;color:var(--text)}.cash-archive-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.cash-archive-editor section{border:1px solid var(--border);border-radius:12px;padding:14px}.cash-archive-editor h3{margin:0}#modal-box:has(.cash-archive-editor){width:min(1080px,calc(100vw - 32px));max-width:1080px}
@media(max-width:760px){.cash-archive-meta{grid-template-columns:1fr}.cash-archive-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.reports-month-select{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.reports-month-select label,.analytics-month{display:grid;gap:4px}.reports-month-select label span,.analytics-month span{font-size:.72rem;color:var(--muted)}.reports-month-select>span{padding-bottom:9px;color:var(--muted)}.reports-month-select input{min-width:145px}.reports-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.reports-quick strong{margin-left:auto;color:var(--muted);font-size:.86rem}.reports-summary,.analytics-summary{margin-bottom:14px}.analytics-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analytics-tabs{margin-top:14px;margin-bottom:0}.analytics-chart{overflow-x:auto;min-height:110px}.analytics-source-note{margin:12px 2px;color:var(--muted);font-size:.82rem}.analytics-kpi-parts{display:grid;gap:4px;min-width:320px}.analytics-kpi-parts span{display:block;font-size:.78rem}.bad-text{color:var(--bad)!important}.warn-text{color:var(--warn)!important}
@media(max-width:900px){.analytics-split{grid-template-columns:1fr}.reports-month-select{width:100%}.reports-month-select label{flex:1 1 140px}.reports-month-select input{width:100%;min-width:0}.reports-quick strong{width:100%;margin-left:0}}

/* Print */
#print-area{ display:none; }
@media print{
  @page { size: A4; margin: 14mm; }
  body *{ visibility:hidden; }
  #print-area, #print-area *{ visibility:visible; }
  #print-area{ display:block; position:absolute; top:0; left:0; width:100%; font-family:Arial,Helvetica,sans-serif; color:#111; }
  #print-area h1{ font-size:16pt; margin:0 0 4pt; }
  #print-area h2{ font-size:12pt; margin:14pt 0 4pt; }
  #print-area .pr-meta{ font-size:10pt; margin-bottom:10pt; }
  #print-area table{ width:100%; border-collapse:collapse; font-size:10pt; margin-bottom:10pt; }
  #print-area th, #print-area td{ border:1px solid #333; padding:4pt 6pt; text-align:left; }
  #print-area .pr-totals{ width:100%; border-collapse:collapse; font-size:10.5pt; margin-top:6pt; }
  #print-area .pr-totals td{ border:none; padding:2pt 0; }
  #print-area .pr-totals td:last-child{ text-align:right; font-weight:700; }
  #print-area .pr-sign{ margin-top:28pt; font-size:10.5pt; }
  #print-area .pr-sign .line{ display:inline-block; min-width:220pt; border-bottom:1px solid #111; margin-left:6pt; }
  @page{size:A4 portrait;margin:9mm}
  #print-area .cash-print{width:100%;font-size:8.5pt}
  #print-area .cash-print h1{text-align:center;font-size:15pt;margin:0 0 5pt}
  #print-area .cash-print .pr-meta{display:flex;justify-content:space-between;margin-bottom:5pt}
  #print-area .cash-print table{font-size:8pt;margin-bottom:5pt;table-layout:fixed}
  #print-area .cash-print th,#print-area .cash-print td{padding:2.2pt 3pt;height:12pt}
  #print-area .cash-print-withdrawals th:nth-child(1){width:13%}#print-area .cash-print-withdrawals th:nth-child(2){width:15%}#print-area .cash-print-withdrawals th:nth-child(3){width:30%}#print-area .cash-print-withdrawals th:nth-child(4){width:13%}#print-area .cash-print-withdrawals th:nth-child(5){width:29%}
  #print-area .cash-print-summary{display:grid;grid-template-columns:1fr 180pt;gap:1.5pt 10pt;margin:7pt 0;font-size:9pt}#print-area .cash-print-summary strong{text-align:right;border-bottom:1px solid #111;padding-right:4pt}
  #print-area .cash-print h2{text-align:center;text-decoration:underline;font-size:10pt;margin:7pt 0 3pt}
  #print-area .cash-print-additional td:last-child{text-align:right;width:25%}#print-area .cash-print-additional .total td{font-weight:700}
  #print-area .cash-print-days-title{text-align:left;margin-top:8pt}
  #print-area .cash-print-days td{width:25%}
  #print-area .cash-print .pr-sign{display:inline-block;width:48%;margin-top:9pt;font-size:8.5pt}#print-area .cash-print .pr-sign .line{min-width:110pt}
  #print-area .cash-receipts-page{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:279mm;padding:5mm 7mm 4mm;break-before:page;page-break-before:always;color:#111;background:#fff;font-size:11pt}
  #print-area .cash-receipts-header{display:grid;grid-template-columns:1fr 48mm;align-items:start;gap:10mm}
  #print-area .cash-receipts-header h1{font-size:17pt;text-align:center;margin:2mm 0 0 45mm}
  #print-area .cash-receipts-period{display:grid;gap:3mm;font-size:10.5pt}
  #print-area .cash-receipts-period div{display:grid;grid-template-columns:10mm 1fr;align-items:end}
  #print-area .cash-receipts-period strong{font-weight:400;text-align:center;border-bottom:1px solid #111;padding:0 2mm 1mm}
  #print-area .cash-receipts-point{align-self:flex-end;width:48mm;margin-top:5mm;font-size:10.5pt}
  #print-area .cash-receipts-point strong{display:block;margin-top:2mm;text-align:center;border-bottom:1px solid #111;padding-bottom:1mm}
  #print-area .cash-receipts-space{flex:1;min-height:175mm}
  #print-area .cash-receipts-summary{width:100%;margin-top:auto;font-size:11pt}
  #print-area .cash-receipts-summary>div{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:3mm;margin-top:3mm}
  #print-area .cash-receipts-summary i{display:block;border-bottom:1px solid #111}
  #print-area .cash-receipts-summary strong{min-width:35mm;text-align:right;font-size:11pt}
}

/* ======== MOBILE ======== */
@media(max-width:768px){
  .wholesale-nav{gap:16px}.wholesale-nav__create{order:-1;margin-left:0}.wholesale-kpis{grid-template-columns:1fr 1fr}.wholesale-kpi{grid-template-columns:36px 1fr;padding:12px 10px}.wholesale-kpi__icon{width:34px;height:34px}.wholesale-kpi strong{font-size:1rem}
  .wholesale-filters{align-items:stretch}.wholesale-filters label{flex:1 1 130px}.wholesale-filters select,.wholesale-filters input,.wholesale-filters label:first-child select,.wholesale-filters .wholesale-filter-year input{width:100%;min-width:0}.wholesale-filters__quick{flex:1 1 100%;order:-1}.wholesale-filters__quick button{flex:1;padding:0 7px}.wholesale-filters__or{display:none}.wholesale-filters>.btn{flex:1 1 150px}
  .wholesale-attention{grid-template-columns:1fr}.wholesale-attention__title,.wholesale-attention>.btn{grid-column:auto}.wholesale-analytics-grid{display:block}.wholesale-analytics-grid>.panel{margin-bottom:12px}.wholesale-debt-structure{grid-template-columns:130px 1fr}.wholesale-trend svg{height:150px}
  .wholesale-subview__head{align-items:flex-start;flex-direction:column}.wholesale-subview__total{text-align:left}
  .wholesale-clients-layout{grid-template-columns:1fr}.wholesale-client-detail{position:static}.wholesale-client-tools{flex-wrap:wrap}.wholesale-client-search{flex-basis:100%}.wholesale-client-tools select{flex:1}.wholesale-client-kpis{grid-template-columns:repeat(2,1fr)}
  .wholesale-batch__head,.wholesale-batch__row{grid-template-columns:1fr;}
  .wholesale-batch__row [data-batch-remove]{width:100%;height:auto;}
  .wholesale-pending-toggle{grid-template-columns:1fr auto;gap:8px 12px;}
  .wholesale-pending-toggle i{grid-column:1/-1;}
  .retail-forecast-banner{align-items:flex-start;flex-direction:column}.retail-forecast-banner>b{white-space:normal}
  .retail-forecast-modal__hero{grid-template-columns:1fr}.retail-forecast-modal__hero>span{transform:rotate(90deg);text-align:center}
  .retail-plan-progress__head{align-items:flex-start;flex-direction:column}.retail-plan-progress__levels{grid-template-columns:1fr}
  .retail-plan-editor__scope{grid-template-columns:1fr 1fr}.retail-plan-editor__levels{grid-template-columns:1fr}.retail-plan-controls{align-items:stretch}.retail-plan-controls label,.retail-plan-controls select,.retail-plan-controls input{width:100%}
  .retail-forecast-department,.retail-forecast-departments.city-selected .retail-forecast-department{grid-template-columns:1fr 1fr;gap:10px 14px}.retail-forecast-department .department-name{grid-column:1/-1}.retail-forecast-department span,.retail-forecast-department strong{white-space:normal}
  .attention-modal__summary{grid-template-columns:repeat(2,1fr)}
  .attention-modal__summary div:nth-child(3){border-left:0}.attention-modal__summary div:nth-child(n+3){border-top:1px solid var(--border)}
  .attention-item{grid-template-columns:30px minmax(0,1fr)}.attention-item>div:nth-child(3),.attention-item>.badge,.attention-item>.bad-text{grid-column:2}
  #sidebar{
    position:fixed; left:-260px; top:0; bottom:0; width:260px; z-index:200;
    transition:left .25s ease;
  }
  #sidebar.open{ left:0; }
  #mobile-toggle{ display:flex !important; }
  #topbar{ padding:10px 14px; }
  #topbar h1{ font-size:1rem; }
  .grid.cards{ grid-template-columns:1fr 1fr; }
  .panel{ padding:12px 14px; }
  .btn{ padding:6px 10px; font-size:.8rem; }
  table{ font-size:.78rem; }
  th, td{ padding:6px 8px; }
  #view{ padding:14px 12px 40px; }
  #topbar .controls{ gap:6px; }
  .dashboard-filter{align-items:stretch;padding:12px;}
  .dashboard-filter__label{width:100%;}
  .dashboard-filter select{min-width:0;flex:1 1 140px;}
  .dashboard-filter__period{width:100%;margin-left:0;}
  .dashboard-hero{grid-template-columns:1fr;gap:18px;padding:20px;}
  .dashboard-hero h2{font-size:1.55rem;}
  .checkgrid{ grid-template-columns:1fr; }
  #modal-box{ max-width:100%; padding:16px; }
  #modal-box:has(.shift-roster){padding:20px 16px;}
  #modal-box:has(.task-overview){padding:20px 14px;}
  #modal-box:has(.retail-overview){padding:20px 14px;}
  #modal-box:has(.wholesale-overview){padding:20px 14px;}
  .task-assignment-row{grid-template-columns:1fr auto;}
  .task-assignment-row select:first-child{grid-column:1/-1;}
  .shift-roster__summary{grid-template-columns:repeat(2,1fr);}
  .shift-roster__summary button:nth-child(3):before{display:none;}
  .shift-roster__summary button:nth-child(n+3){border-top:1px solid var(--border);}
  .shift-roster__legend{gap:12px;justify-content:space-between;}
  .shift-roster__range{align-items:stretch;flex-wrap:wrap;}
  .shift-roster__range label{flex:1 1 120px;}
  .shift-roster__range input,.shift-roster__range select{width:100%;min-width:0;}
  .shift-roster__range>span{display:none;}
  .shift-roster__range .btn{width:100%;}
  .shift-roster__head{display:none;}
  .shift-person{grid-template-columns:1fr auto;gap:9px 12px;padding:14px 4px;}
  .shift-person__employee{grid-column:1 / -1;}
  .shift-person__point,.shift-person__time,.shift-person__status{padding-left:44px;}
  .shift-person__point:before,.shift-person__time:before,.shift-person__status:before{content:attr(data-label);display:block;color:var(--muted);font-size:.65rem;margin-bottom:3px;}
  .shift-person__status{padding-left:0;text-align:right;}
  #modal-box:has(.shift-roster) #modal-actions{flex-direction:column-reverse;}
  #modal-box:has(.shift-roster) #modal-actions .btn{width:100%;}
  .task-overview__period,.task-overview__filters{align-items:stretch;flex-wrap:wrap;}
  .task-overview__period label{flex:1 1 120px;}
  .task-overview__period input,.task-overview__period select,.task-overview__filters select{width:100%;min-width:0;}
  .task-overview__period>span{display:none;}
  .task-overview__period .btn{width:100%;}
  .task-overview__summary{grid-template-columns:repeat(2,1fr);}
  .task-overview__summary button:nth-child(3):before{display:none;}
  .task-overview__summary button:nth-child(n+3){border-top:1px solid var(--border);}
  .task-card__people{grid-template-columns:1fr 1fr;}
  .task-card__people span:last-child{grid-column:1/-1;}
  .task-card__tools .task-card__add{width:100%;margin-left:0;margin-top:3px;}
  #modal-box:has(.task-overview) #modal-actions{flex-direction:column;}
  #modal-box:has(.task-overview) #modal-actions .btn{width:100%;}
  .retail-overview__period,.retail-overview__filters{flex-wrap:wrap;align-items:stretch;}
  .retail-overview__period label{flex:1 1 120px}.retail-overview__period input,.retail-overview__period select,.retail-overview__period input[data-retail-year]{width:100%;}
  .retail-overview__period .btn{width:100%;}
  .retail-overview__tabs{gap:8px;overflow-x:auto}.retail-overview__tabs button{white-space:nowrap;}
  .retail-overview__summary{grid-template-columns:repeat(2,1fr);}
  .retail-overview__summary div:nth-child(odd):before{display:none;}
  .retail-overview__summary div:nth-child(n+3){border-top:1px solid var(--border);}
  #modal-box:has(.retail-overview) #modal-actions{flex-direction:column;}
  #modal-box:has(.retail-overview) #modal-actions .btn{width:100%;}
  .wholesale-overview__period,.wholesale-overview__filters{flex-wrap:wrap;align-items:stretch;}
  .wholesale-overview__period label{flex:1 1 120px}.wholesale-overview__period input,.wholesale-overview__period select,.wholesale-overview__period input[data-wholesale-year]{width:100%;}
  .wholesale-overview__period .btn{width:100%;}
  .wholesale-overview__turnover{grid-template-columns:1fr}
  .wholesale-overview__summary{grid-template-columns:repeat(2,1fr)}.wholesale-overview__summary div:nth-child(odd):before{display:none}.wholesale-overview__summary div:nth-child(n+3){border-top:1px solid var(--border);}
  .wholesale-overview__detail>div{grid-template-columns:repeat(2,1fr)}.wholesale-flow{overflow-x:auto;gap:14px}.wholesale-flow i{white-space:nowrap;}
  #modal-box:has(.wholesale-overview) #modal-actions{flex-direction:column;}#modal-box:has(.wholesale-overview) #modal-actions .btn{width:100%;}
  .sc-name-head, td.sc-name{ min-width:120px; }
}

@media print{
  body:has(.schedule-version-preview) #print-area{display:none!important}
  body:has(.schedule-version-preview) #modal-overlay,
  body:has(.schedule-version-preview) #modal-overlay *{visibility:visible!important}
  body:has(.schedule-version-preview) #modal-overlay{display:block!important;position:absolute!important;inset:0!important;background:#fff!important}
  body:has(.schedule-version-preview) #modal-box{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important}
  body:has(.schedule-version-preview) #modal-actions,
  body:has(.schedule-version-preview) #modal-close,
  body:has(.schedule-version-preview) .modal-back-btn,
  body:has(.schedule-version-preview) .schedule-preview-filters,
  body:has(.schedule-version-preview) .schedule-preview-note{display:none!important}
  body:has(.schedule-version-preview) .sc-wrap{max-height:none!important;overflow:visible!important}
  body:has(.schedule-version-preview) table.sc-table{font-size:7pt}
  body:has(.schedule-version-preview) th.sc-name-head,
  body:has(.schedule-version-preview) td.sc-name{position:static!important;width:115px!important;min-width:115px!important;max-width:115px!important}
  body:has(.schedule-version-preview) td.sc-cell{width:19px!important;height:24px!important}
}
@media(min-width:769px){
  #mobile-toggle{ display:none !important; }
}

@media print{
  @page{size:A4 landscape;margin:5mm}
  body.schedule-print-mode>*:not(#print-area){display:none!important}
  body.schedule-print-mode #print-area{display:block!important;width:100%;color:#111;background:#fff}
  .schedule-print-sheet{width:100%;font-family:Arial,sans-serif}
  .schedule-print-sheet header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 3mm}
  .schedule-print-sheet h1{font-size:12pt;margin:0}
  .schedule-print-sheet header p{font-size:7pt;margin:0;text-align:right}
  .schedule-print-sheet footer{margin-top:2mm;font-size:6pt;color:#555;text-align:right}
  .schedule-print-sheet .schedule-print-table{overflow:visible}
  .schedule-print-sheet table.sc-table{width:100%!important;min-width:0!important;border-collapse:collapse!important;table-layout:fixed!important;font-size:5.8pt!important}
  .schedule-print-sheet table.sc-table th,.schedule-print-sheet table.sc-table td{border:.25pt solid #aeb8c7!important;padding:.35mm .2mm!important;line-height:1.05!important;text-align:center!important;overflow:hidden!important}
  .schedule-print-sheet th.sc-name-head,.schedule-print-sheet td.sc-name{position:static!important;width:32mm!important;min-width:32mm!important;max-width:32mm!important;text-align:left!important;white-space:normal!important}
  .schedule-print-sheet td.sc-name{font-size:6.2pt!important;font-weight:700!important}
  .schedule-print-sheet .sc-sub{font-size:5pt!important;font-weight:400!important}
  .schedule-print-sheet td.sc-cell,.schedule-print-sheet th.sc-day{width:auto!important;min-width:0!important;height:5mm!important}
  .schedule-print-sheet td.sc-summary{width:8mm!important;min-width:8mm!important}
}

#modal-box:has(.client-workspace){max-width:1120px;width:min(1120px,96vw)}
.client-workspace__legal-name{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;font-weight:400}
.client-workspace header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.client-workspace header>div:first-child{display:flex;align-items:center;gap:10px}.client-workspace header>div:first-child>small{color:var(--muted)}
.client-workspace__quick{display:flex;gap:7px}.client-workspace__quick a,.client-workspace__quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px;height:48px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--accent);text-decoration:none;cursor:pointer}
.client-workspace__quick small{margin-top:3px;font-size:.58rem;color:var(--muted)}
.client-workspace nav{display:flex;gap:3px;border-bottom:1px solid var(--border);margin-bottom:15px;overflow-x:auto}.client-workspace nav button{padding:10px 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);white-space:nowrap;cursor:pointer}.client-workspace nav button.active{border-color:var(--accent);color:var(--accent);font-weight:700}
.client-workspace main{min-height:330px}.client-workspace h3{margin:0 0 10px;font-size:.9rem}
.client-workspace__attention{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 13px;margin-bottom:12px;border:1px solid #ffd796;border-radius:9px;background:#fffaf0}.client-workspace__attention strong{color:#a35f00}.client-workspace__attention span{font-size:.7rem;color:var(--muted)}
.client-workspace__split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.client-workspace__split>section,.client-workspace__details>section{padding:14px;border:1px solid var(--border);border-radius:9px;background:#fff}
.client-workspace dl{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:8px 12px;margin:0;font-size:.7rem}.client-workspace dt{color:var(--muted)}.client-workspace dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.client-workspace__details{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.client-workspace__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.client-workspace__section-head h3,.client-workspace__section-head p{margin:0}.client-workspace__section-head p{color:var(--muted);font-size:.68rem;margin-top:4px}
.client-workspace__debt-title{margin-top:18px!important}.client-workspace table{font-size:.68rem}
.client-workspace__assortment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.client-workspace__assortment-grid article{padding:11px;border:1px solid var(--border);border-radius:8px;background:#fff}.client-workspace__assortment-grid strong{display:block;margin-bottom:6px;font-size:.72rem}.client-workspace__assortment-grid span{display:inline-block;padding:3px 6px;margin:2px;border-radius:5px;background:#f0f4fa;color:var(--muted);font-size:.62rem}
.client-workspace__activity{display:grid;grid-template-columns:1fr auto;gap:5px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.7rem}.client-workspace__activity time,.client-workspace__activity small{color:var(--muted)}.client-workspace__activity p{grid-column:1/-1;margin:0;line-height:1.45}
@media(max-width:760px){.client-workspace header,.client-workspace__section-head{align-items:flex-start;flex-direction:column}.client-workspace__quick{width:100%;overflow-x:auto}.client-workspace__details,.client-workspace__split,.client-workspace__assortment-grid{grid-template-columns:1fr}.client-workspace__attention{grid-template-columns:1fr}.client-card-modal__contacts{grid-template-columns:1fr 1fr}.client-card-modal__finance{grid-template-columns:1fr 1fr}}
/* Employees workspace */
.employees-page{display:grid;gap:14px}
.employee-toolbar{padding:16px}
.employee-toolbar__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.employee-toolbar__top h2{margin:0 0 3px}
.employee-toolbar__top p{margin:0;color:var(--muted);font-size:.86rem}
.employee-view-switch{margin:0;padding:3px;border:1px solid var(--border);border-radius:9px;background:#f4f7fc;display:flex;gap:3px}
.employee-view-switch .pill{border:0;background:transparent;color:var(--muted);min-height:34px;padding:7px 13px}
.employee-view-switch .pill.active{background:var(--accent);color:#fff;box-shadow:0 3px 8px rgba(46,110,239,.18)}
.employee-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(5,minmax(125px,1fr)) auto;gap:10px;margin-top:14px}
.employee-search{height:42px;border:1px solid var(--border);border-radius:9px;background:#fff;display:flex;align-items:center;padding:0 11px;gap:8px}
.employee-search span{color:var(--accent);font-size:1.15rem}
.employee-search input{border:0!important;padding:0!important;width:100%;outline:0;background:transparent}
.employee-filters select{min-width:0}
.employee-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.employee-layout.has-detail{grid-template-columns:minmax(0,1fr) 350px}
.employee-main{min-width:0;display:grid;gap:14px}
.employee-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.employee-stat{border:1px solid var(--border);border-radius:12px;background:#fff;min-width:0;padding:14px;text-align:left;display:flex;gap:12px;align-items:flex-start;cursor:pointer;color:inherit}
.employee-stat:hover{border-color:#9bbcff;box-shadow:0 5px 18px rgba(24,78,160,.08)}
.employee-stat__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;flex:0 0 auto;font-weight:800}
.employee-stat__icon.blue{background:#eaf2ff;color:#2e6eef}.employee-stat__icon.green{background:#e9f8f1;color:#13a365}
.employee-stat__icon.orange{background:#fff3df;color:#e68b00}.employee-stat__icon.violet{background:#f1eaff;color:#7950d6}
.employee-stat__icon.amber{background:#fff4df;color:#bd7900}
.employee-stat>span:last-child{min-width:0;display:grid;gap:2px}
.employee-stat small{font-size:.72rem;color:var(--muted);white-space:normal}
.employee-stat strong{font-size:1.45rem;color:var(--text)}
.employee-stat em{font-style:normal;font-size:.68rem;color:var(--muted)}
.employee-list{padding:0;overflow:hidden}
.employee-city-tabs{display:flex;gap:4px;padding:12px 14px 0;border-bottom:1px solid var(--border);overflow:auto}
.employee-city-tab{border:0;background:transparent;padding:9px 12px;color:var(--muted);white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}
.employee-city-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}
.employee-table-wrap{overflow:auto;padding:0 14px 12px}
.employee-table{min-width:940px}
.employee-layout.has-detail .employee-table{min-width:0;width:100%}
.employee-layout.has-detail .employee-table th:nth-child(3),.employee-layout.has-detail .employee-table td:nth-child(3),
.employee-layout.has-detail .employee-table th:nth-child(4),.employee-layout.has-detail .employee-table td:nth-child(4),
.employee-layout.has-detail .employee-table th:nth-child(5),.employee-layout.has-detail .employee-table td:nth-child(5),
.employee-layout.has-detail .employee-table th:nth-child(8),.employee-layout.has-detail .employee-table td:nth-child(8),
.employee-layout.has-detail .employee-table th:nth-child(9),.employee-layout.has-detail .employee-table td:nth-child(9){display:none}
.employee-table th{font-size:.7rem;color:var(--muted);text-transform:uppercase}
.employee-table tr.selected td{background:#f2f7ff}
.employee-person{display:flex;align-items:center;gap:9px;border:0;background:none;padding:0;color:inherit;text-align:left;cursor:pointer}
.employee-person span:last-child{display:grid;gap:2px;min-width:0}.employee-person strong{font-size:.8rem}.employee-person small{font-size:.68rem;color:var(--muted);white-space:nowrap}
.employee-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#173f83,#3478eb);color:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-size:.68rem;font-weight:800}
.employee-avatar img{width:100%;height:100%;object-fit:cover}
.employee-avatar--large{width:64px;height:64px;font-size:1rem}
.employee-today{font-size:.72rem;white-space:nowrap}.employee-today.good{color:#12a466}.employee-today.warn{color:#d47c00}.employee-today.bad{color:#db4444}.employee-today.violet{color:#7653d1}.employee-today.neutral{color:var(--muted)}
.employee-cell-note{display:block;color:var(--muted);font-size:.65rem;margin-top:2px}
.employee-kpi-cell{display:flex;align-items:center;gap:7px}.employee-kpi-cell strong{font-size:.75rem}.employee-kpi-cell span{width:52px;height:4px;background:#e6ebf2;border-radius:4px;overflow:hidden}.employee-kpi-cell i{display:block;height:100%;background:#19a965}
.employee-badge{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:.68rem;font-weight:700}.employee-badge.good{background:#e8f8f0;color:#11995e}.employee-badge.neutral{background:#edf1f6;color:#68768c}
.employee-row-actions{display:flex;gap:5px}.icon-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--accent);display:grid;place-items:center;text-decoration:none;cursor:pointer}
.employee-structure{padding:14px;display:grid;gap:14px}.employee-structure__city{border:1px solid var(--border);border-radius:11px;overflow:hidden}.employee-structure__head{padding:11px 13px;background:#f7f9fc;display:flex;justify-content:space-between}.employee-structure__head span{font-size:.75rem;color:var(--muted)}
.employee-structure__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding:10px}
.employee-mini{border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;color:inherit;cursor:pointer}
.employee-mini.selected{border-color:var(--accent);background:#f3f7ff}.employee-mini>span:nth-child(2){display:grid;gap:2px}.employee-mini small,.employee-mini em{font-size:.68rem;color:var(--muted);font-style:normal}.employee-mini__right{display:grid;gap:4px;text-align:right}.employee-mini__right b{font-size:.72rem;color:var(--accent)}.employee-mini__right i{font-size:.62rem;font-style:normal}.employee-mini__right i.good{color:#11995e}.employee-mini__right i.bad{color:#d33}.employee-mini__right i.warn{color:#c77700}
.employee-detail-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(15,29,53,.55);backdrop-filter:blur(2px)}
.employee-drawer{position:relative;z-index:1;background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;width:min(920px,calc(100vw - 48px));min-width:0;max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px rgba(15,29,53,.28)}
.employee-drawer__close{position:absolute;right:12px;top:10px;border:0;background:none;color:var(--muted);font-size:1.35rem;cursor:pointer}
.employee-drawer__identity{display:flex;align-items:center;gap:12px;padding-right:20px}.employee-drawer__identity h3{font-size:1rem;margin:0 0 3px}.employee-drawer__identity p{font-size:.74rem;color:var(--muted);margin:0 0 6px}
.employee-quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:15px 0 12px}
.employee-quick-actions a,.employee-quick-actions button{border:1px solid var(--border);border-radius:8px;background:#fff;min-width:0;height:52px;padding:5px 2px;color:var(--accent);display:grid;place-items:center;text-decoration:none;cursor:pointer}
.employee-quick-actions b{font-size:.9rem}.employee-quick-actions span{font-size:.54rem;color:var(--muted)}.employee-quick-actions .disabled{opacity:.4;pointer-events:none}
.employee-archive-action{width:100%;margin:-4px 0 12px;justify-content:center}
.employee-detail-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);overflow:auto;padding:3px 2px 0}.employee-detail-tabs button{border:1px solid transparent;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:#f4f7fc;padding:10px 14px 9px;color:#596a84;font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:.15s ease}.employee-detail-tabs button:hover{color:var(--accent);background:#edf3ff}.employee-detail-tabs button.active{color:#fff;border-color:var(--accent);border-bottom-color:#174fc8;background:var(--accent);font-weight:800;box-shadow:0 4px 12px rgba(47,112,237,.2)}
.employee-drawer__body{padding-top:12px}.employee-drawer__body h4{font-size:.78rem;margin:12px 0 8px}.employee-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;border-bottom:1px solid var(--border);padding-bottom:12px}.employee-info-grid div{display:grid;gap:3px}.employee-info-grid small,.employee-fast-grid small,.employee-sales-summary small{font-size:.62rem;color:var(--muted)}.employee-info-grid strong{font-size:.7rem}
.employee-today-card{display:flex;gap:8px;padding:10px;border-radius:9px;background:#f4f7fb}.employee-today-card.good{background:#effaf5;color:#138e5b}.employee-today-card.warn{background:#fff7e9;color:#b66e00}.employee-today-card.bad{background:#fff0f0;color:#c63e3e}.employee-today-card.violet{background:#f5f0ff;color:#7653d1}.employee-today-card div{display:grid;gap:2px}.employee-today-card small{font-size:.62rem;color:var(--muted)}
.employee-fast-grid,.employee-sales-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.employee-fast-grid div,.employee-sales-summary div{border:1px solid var(--border);border-radius:8px;padding:9px;display:grid;gap:4px}.employee-fast-grid strong,.employee-sales-summary strong{font-size:.72rem}
.employee-kpi-total{background:linear-gradient(120deg,#132e59,#2f70ed);color:#fff;border-radius:11px;padding:15px}.employee-kpi-total span{font-size:.7rem}.employee-kpi-total strong{display:block;font-size:2rem;margin:3px 0}.employee-kpi-total>div{height:5px;background:rgba(255,255,255,.25);border-radius:5px;overflow:hidden}.employee-kpi-total i{display:block;height:100%;background:#65e0b5}.employee-help{font-size:.65rem;color:var(--muted);line-height:1.45}.employee-kpi-parts{display:grid;gap:5px}.employee-kpi-parts>div{border:1px solid var(--border);border-radius:8px;padding:9px;display:flex;justify-content:space-between;gap:8px}.employee-kpi-parts span{display:grid;gap:2px}.employee-kpi-parts strong{font-size:.7rem}.employee-kpi-parts small{font-size:.6rem;color:var(--muted)}.employee-kpi-parts b{font-size:.75rem;text-align:right}.employee-kpi-parts em{display:block;font-size:.55rem;color:var(--muted);font-style:normal}
.employee-timeline,.employee-sales-list,.employee-task-list,.employee-history{display:grid;gap:6px;margin-bottom:10px}.employee-timeline>div,.employee-sales-list>div,.employee-history>div{display:flex;gap:9px;justify-content:space-between;border-bottom:1px solid var(--border);padding:7px 2px}.employee-timeline span,.employee-sales-list span{display:grid;gap:2px;flex:1}.employee-timeline strong,.employee-sales-list strong{font-size:.68rem}.employee-timeline small,.employee-sales-list small{font-size:.59rem;color:var(--muted)}.employee-sales-list b{font-size:.7rem}
.employee-schedule-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 0 14px}.employee-schedule-head h4{margin:0 0 3px}.employee-schedule-head small{color:var(--muted);font-size:.68rem}.employee-schedule-table{min-width:720px}.employee-schedule-table th,.employee-schedule-table td{padding:10px 9px;font-size:.72rem}
.employee-section-head{display:flex;align-items:center;justify-content:space-between}.employee-task-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:8px}.employee-task-dot{width:8px;height:8px;border-radius:50%;background:#f1a416;margin-top:4px}.employee-task-dot.done{background:#17a666}.employee-task-list span:nth-child(2){display:grid;gap:2px}.employee-task-list strong{font-size:.67rem}.employee-task-list small{font-size:.58rem;color:var(--muted)}.employee-task-list em{font-size:.58rem;font-style:normal;color:var(--accent)}
.employee-history b{font-size:.62rem;color:var(--muted)}.employee-history span{font-size:.67rem;text-align:right}
@media(max-width:1350px){.employee-layout.has-detail{grid-template-columns:minmax(0,1fr) 320px}.employee-filters{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1050px){.employee-filters{grid-template-columns:repeat(3,1fr)}.employee-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.employee-detail-modal{padding:8px}.employee-drawer{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px}.employee-toolbar__top{display:grid}.employee-toolbar__top .tools{justify-content:flex-start}.employee-filters{grid-template-columns:1fr 1fr}.employee-search{grid-column:1/-1}.employee-stat-grid{grid-template-columns:1fr 1fr}.employee-quick-actions{grid-template-columns:repeat(3,1fr)}}

/* Compact wide employee form */
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]){max-width:1040px;padding:20px 24px}
#modal-overlay:has([data-fname="cityIds"]):has([data-fname="rateType"]){padding:18px 16px}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-header{margin-bottom:10px}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-title{font-size:1.18rem}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-body>.field{min-width:0;margin:0}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) .field:has([data-fname="cityIds"]),
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) .field:has([data-fname="pointIds"]){grid-column:span 2;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#f8faff}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) [data-checkgroup="1"]{align-content:flex-start}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) [data-checkgroup="1"] label{background:#fff;padding:4px 7px!important;font-size:.69rem!important}
#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-actions{margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}
@media(max-width:850px){#modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-body{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  #modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]){padding:16px}
  #modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) #modal-body{grid-template-columns:1fr}
  #modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) .field:has([data-fname="cityIds"]),
  #modal-box:has([data-fname="cityIds"]):has([data-fname="rateType"]) .field:has([data-fname="pointIds"]){grid-column:1}
}

/* Full employee editor */
#modal-box:has(.employee-editor){max-width:1120px;padding:18px 22px}
#modal-box:has([data-fname="workStart"]):has([data-fname="workDays"]){max-width:720px}
#modal-box:has([data-fname="workStart"]):has([data-fname="workDays"]) #modal-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#modal-box:has([data-fname="workStart"]):has([data-fname="workDays"]) [data-checkgroup="1"]{grid-column:1/-1}
#modal-box:has([data-fname="workStart"]):has([data-fname="workDays"]) .field:has([data-checkgroup="1"]){grid-column:1/-1}
#modal-overlay:has(.employee-editor){padding:12px 14px}
#modal-box:has(.employee-editor) #modal-header{margin-bottom:9px}
#modal-box:has(.employee-editor) #modal-title{font-size:1.18rem}
.employee-editor{display:grid;gap:10px}
.employee-editor__fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 11px}
.employee-editor .field{margin:0;min-width:0}
.employee-editor .field>small{display:block;min-height:13px;margin:3px 2px 0;color:var(--accent);font-size:.57rem}
.employee-editor__scope{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.employee-editor fieldset{min-width:0;margin:0;padding:8px 10px 10px;border:1px solid var(--border);border-radius:9px;background:#f8faff}
.employee-editor legend{padding:0 5px;color:var(--muted);font-size:.66rem}.employee-editor legend b{color:var(--bad)}
.employee-editor__checks{display:flex;align-content:flex-start;flex-wrap:wrap;gap:6px}
.employee-editor__checks label{display:flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:.66rem;cursor:pointer}
.employee-editor__checks label small{color:var(--muted);font-size:.54rem}.employee-editor__checks p{margin:5px;color:var(--muted);font-size:.66rem}
.employee-editor__bottom{display:grid;grid-template-columns:.9fr 1.5fr;gap:10px}
.employee-photo-editor,.employee-access-editor{min-width:0;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}
.employee-photo-editor{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center}
#empf-photo-preview{width:58px;height:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#173f83,#3478eb);color:#fff;font-size:.85rem;font-weight:800}
#empf-photo-preview img{width:100%;height:100%;object-fit:cover}.employee-photo-editor strong,.employee-photo-editor small{display:block}.employee-photo-editor strong{font-size:.72rem}.employee-photo-editor small{margin:3px 0 7px;color:var(--muted);font-size:.58rem}.employee-photo-editor>div:last-of-type>div{display:flex;gap:5px;flex-wrap:wrap}
.employee-access-editor{display:grid;gap:7px}.employee-access-editor__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.employee-access-editor__head strong,.employee-access-editor__head small{display:block}.employee-access-editor__head strong{font-size:.72rem}.employee-access-editor__head small{margin-top:2px;color:var(--muted);font-size:.56rem}
.employee-access-editor__row{display:grid;grid-template-columns:minmax(120px,1fr) 30px minmax(180px,1.25fr) 30px;gap:6px;align-items:end}.employee-access-editor__row .icon-btn{height:34px;width:30px}
.employee-password-input{display:flex;position:relative}.employee-password-input input{padding-right:35px}.employee-password-input button{position:absolute;right:1px;top:1px;bottom:1px;width:33px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.employee-access-editor__footer{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.employee-access-editor__footer span{color:var(--good);font-size:.62rem}.employee-access-editor__footer span.is-error{color:var(--bad)}
.employee-compensations{grid-column:span 2;min-width:0;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft,#f7f9fd)}
.employee-compensations>strong,.employee-compensations>small{display:block}.employee-compensations>small{margin:3px 0 8px;color:var(--muted);font-size:.62rem}.employee-compensations__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.account-user-link{border:0;background:none;padding:0;color:var(--text);font:inherit;font-weight:700;cursor:pointer;text-align:left}.account-user-link:hover{color:var(--primary);text-decoration:underline}.accounts-panel .panel-head p{margin:4px 0 0}#modal-box:has(.account-editor),#modal-box:has(#acc-employee){width:min(760px,calc(100vw - 32px));max-width:760px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}#modal-box:has(.account-editor) #modal-body,#modal-box:has(#acc-employee) #modal-body{min-width:0;min-height:0;overflow:auto;padding-right:4px}.account-editor{display:grid;gap:12px;min-width:0}.account-editor>*{min-width:0}.account-credentials{min-width:0;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft,#f7f9fd)}.account-credentials__heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.account-credentials__heading strong,.account-credentials__heading small{display:block}.account-credentials__heading small{margin-top:3px;color:var(--muted);font-size:.72rem}.account-credentials__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px}.account-password{display:grid;grid-template-columns:minmax(0,1fr) 38px}.account-password input{min-width:0;border-radius:7px 0 0 7px}.account-password button{border:1px solid var(--border);border-left:0;background:#fff;border-radius:0 7px 7px 0;cursor:pointer}.account-credentials__actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.account-flags{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.account-sections-title{color:var(--muted);font-size:.8rem}
.employee-editor__error{min-height:16px;color:var(--bad);font-size:.68rem;font-weight:650}
.employee-kpi-toggle>span:nth-child(2){display:flex;align-items:center;gap:8px;min-height:34px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:.66rem}
.employee-kpi-toggle input[type="checkbox"]{width:15px;height:15px}.employee-kpi-toggle input[type="number"]{width:100%;height:34px;min-width:0}
.employee-kpi-model{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0;padding:8px 10px;border-radius:8px;background:#f4f7fd;color:var(--muted);font-size:.66rem}
.employee-kpi-model b{color:var(--good)}
.employee-kpi-parts>div.is-unmeasured{opacity:.62;background:#f8fafc}
.employee-kpi-disabled{padding:16px;border:1px dashed #b8c5d9;border-radius:10px;background:#f8fafc}
.employee-kpi-disabled strong{display:block;font-size:.8rem;margin-bottom:5px}.employee-kpi-disabled p{color:var(--muted);font-size:.66rem;margin:0 0 12px}
#modal-box:has(.employee-kpi-settings){max-width:920px}
.employee-kpi-settings>p{margin:0 0 12px;color:var(--muted);font-size:.72rem}
.employee-kpi-settings__head,.employee-kpi-settings__row{display:grid;grid-template-columns:minmax(190px,1fr) 155px minmax(250px,1.35fr);align-items:center;gap:12px;padding:9px 10px}
.employee-kpi-settings__head{color:var(--muted);font-size:.62rem;text-transform:uppercase;border-bottom:1px solid var(--border)}
.employee-kpi-settings__row{border-bottom:1px solid var(--border);font-size:.7rem}.employee-kpi-settings__row label{display:flex;align-items:center;gap:7px}.employee-kpi-settings__row select{width:100%}
.employee-kpi-rules{display:grid;gap:7px;margin-top:15px;padding:13px;border-radius:10px;background:#f5f8ff;font-size:.68rem}.employee-kpi-rules>strong{font-size:.76rem}.employee-kpi-rules span{color:#53627b}
#modal-box:has(.employee-editor) #modal-actions{margin-top:7px;padding-top:10px;border-top:1px solid var(--border)}
@media(max-width:900px){.employee-editor__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-editor__bottom{grid-template-columns:1fr}.employee-access-editor__row{grid-template-columns:1fr 30px 1fr 30px}.employee-compensations__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#modal-box:has(.employee-editor){padding:15px}.employee-editor__fields,.employee-editor__scope{grid-template-columns:1fr}.employee-access-editor__row{grid-template-columns:1fr 30px}.employee-access-editor__row .field:nth-of-type(2){grid-column:1}.employee-photo-editor{grid-template-columns:48px 1fr}#empf-photo-preview{width:48px;height:48px}.employee-compensations{grid-column:1}.employee-compensations__grid{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.employee-kpi-settings__head{display:none}.employee-kpi-settings__row{grid-template-columns:1fr}}
@media(max-width:600px){#modal-box:has(.account-editor),#modal-box:has(#acc-employee){width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px}.account-credentials__heading{align-items:stretch;flex-direction:column}.account-credentials__grid{grid-template-columns:1fr}.account-editor .row2{grid-template-columns:1fr!important}}

/* Shared month/year and custom period filter */
.section-period-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:#f7f9fd}
.section-period-filter__month,.section-period-filter__week,.section-period-filter__range{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.section-period-filter label{display:grid;gap:4px;color:var(--muted);font-size:.64rem}
.section-period-filter select{min-width:135px}.section-period-filter input[type="number"]{width:100px}.section-period-filter input[type="date"]{width:145px}
.section-period-filter .btn{min-height:36px}.section-period-filter__or{align-self:center;color:var(--muted);font-size:.68rem}
.section-period-filter__current{margin-left:auto;align-self:center;color:#52627c;font-size:.72rem;white-space:nowrap}
@media(max-width:800px){.section-period-filter{align-items:stretch}.section-period-filter__or{display:none}.section-period-filter__current{width:100%;margin:0}.section-period-filter__month,.section-period-filter__week,.section-period-filter__range{width:100%}}
/* === Задачи 2.0 === */
.task-workspace{display:grid;gap:14px}.task-main-tabs,.task-viewbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:12px}.task-main-tabs button,.task-viewbar button{border:0;background:transparent;padding:10px 13px;border-radius:8px;color:var(--muted);cursor:pointer}.task-main-tabs button.active,.task-viewbar button.active{background:#e8f0ff;color:var(--accent);font-weight:700}.task-main-tabs .primary{margin-left:auto!important;background:var(--accent)!important;color:#fff!important}
.task-workspace-modern{gap:16px}.task-workspace-modern .task-main-tabs{padding:0 6px;border-width:0 0 1px;border-radius:0}.task-workspace-modern .task-main-tabs>button:not(.primary){padding:15px 16px;border-radius:0;border-bottom:3px solid transparent}.task-workspace-modern .task-main-tabs>button.active{background:transparent;border-bottom-color:var(--accent)}
.task-more{position:relative}.task-more>summary{list-style:none;padding:13px 14px;color:var(--muted);cursor:pointer}.task-more>div{position:absolute;z-index:30;top:44px;left:0;display:grid;min-width:190px;padding:7px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(23,43,78,.15)}.task-more>div button{text-align:left}.task-more:not([open])>div{display:none}
.task-quickbar{display:flex;align-items:center;gap:10px;position:relative}.task-quick-search{width:min(310px,28vw);min-height:42px;padding:9px 13px;border:1px solid var(--border);border-radius:9px;background:#fff}.task-date-chip{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:#fff;font-weight:650}.task-date-chip input{width:24px;padding:0;border:0;color:transparent}.task-filter-pop{position:relative}.task-filter-pop>summary{list-style:none;min-height:42px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--accent);font-weight:700;cursor:pointer}.task-filter-pop>summary b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--accent);color:#fff;font-size:.68rem}.task-filter-popover{position:absolute;z-index:40;top:49px;left:0;width:min(680px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 35px rgba(23,43,78,.18)}.task-filter-popover select,.task-filter-popover input{width:100%;min-height:38px}.task-filter-dates{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-filter-dates label{font-size:.7rem;color:var(--muted)}.task-filter-popover>div:last-child{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.task-active-filter{border:1px solid #c8d8fa;border-radius:18px;background:#edf4ff;color:#315da9;padding:8px 11px}.task-reset-link{border:0;background:transparent;color:var(--accent);cursor:pointer}
.task-filterbar{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;background:#fff;border:1px solid var(--border);padding:14px;border-radius:12px}.task-filterbar label{font-size:.72rem;color:var(--muted)}.task-filterbar input,.task-filterbar select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:7px}.task-filterbar .task-search{grid-column:span 2}.task-filter-period{grid-column:1/-1;display:flex;align-items:end;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border)}.task-filter-period label{width:180px}.task-filter-period span{align-self:center;color:var(--muted);font-size:.78rem}
.task-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.task-metrics button{display:flex;justify-content:space-between;align-items:center;min-height:76px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:14px;text-align:left;cursor:pointer}.task-metrics b{font-size:1.5rem}.task-metrics .red b{color:#dc3c45}.task-metrics .blue b{color:#2868eb}.task-metrics .orange b{color:#d47a00}.task-metrics .green b{color:#159665}
.task-workspace-modern .task-metrics{grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%}.task-workspace-modern .task-metrics .orange,.task-workspace-modern .task-metrics .cyan{display:none}.task-workspace-modern .task-metrics button{justify-content:flex-start;gap:12px;min-height:96px}.task-workspace-modern .task-metrics button:before{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:#edf4ff;color:var(--accent);font-size:20px}.task-workspace-modern .task-metrics .blue:before{content:'▣'}.task-workspace-modern .task-metrics .red:before{content:'!' ;background:#fff0f1;color:#dc3c45}.task-workspace-modern .task-metrics .violet:before{content:'⌕';background:#fff5e5;color:#da8700}.task-workspace-modern .task-metrics .green:before{content:'▤';background:#e8f7ef;color:#159665}.task-workspace-modern .task-metrics span{display:block}.task-workspace-modern .task-metrics b{margin-left:auto}
.task-metrics button:hover{border-color:#9dbaf2;box-shadow:0 4px 14px rgba(40,104,235,.09)}.task-metrics button.active{border:2px solid var(--accent);background:#eef4ff;box-shadow:0 0 0 3px rgba(40,104,235,.1)}
.task-board{display:flex;gap:12px;overflow:auto;align-items:flex-start;padding-bottom:8px}.task-column{min-width:260px;flex:1;background:#f7f9fc;border:1px solid var(--border);border-radius:12px;padding:10px}.task-column>header{display:flex;justify-content:space-between;font-weight:700;padding:5px 4px 12px}.task-column>button{width:100%;border:0;background:transparent;color:var(--accent);padding:10px;cursor:pointer}.task-v2-card{display:grid;gap:7px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:11px;margin-bottom:8px;cursor:pointer;position:relative}.task-v2-card>i{position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#eba21a}.task-v2-card>small{color:var(--muted)}.task-v2-card>div,.task-v2-card>footer{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--muted)}.task-v2-card .p-срочный,.task-v2-card .p-высокий{background:#e24b52}.task-v2-card .p-низкий{background:#20a46b}
.task-column-title{display:grid;gap:2px}.task-column-title small{font-size:.68rem;font-weight:500;color:var(--muted)}
.task-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.task-workspace-modern .task-board{display:grid;grid-template-columns:repeat(6,minmax(205px,1fr));gap:9px}.task-workspace-modern .task-column{min-width:0;padding:8px;border-radius:9px}.task-workspace-modern .task-column:nth-child(1){border-top:3px solid #8391a8}.task-workspace-modern .task-column:nth-child(2),.task-workspace-modern .task-column:nth-child(3){border-top:3px solid #3474ed}.task-workspace-modern .task-column:nth-child(4){border-top:3px solid #7d54da}.task-workspace-modern .task-column:nth-child(5){border-top:3px solid #1da56c}.task-workspace-modern .task-column:nth-child(6){border-top:3px solid #df4d56}.task-workspace-modern .task-v2-card{box-shadow:0 1px 3px rgba(20,46,88,.04)}.task-workspace-modern .task-viewbar{justify-content:space-between;padding:6px;background:transparent;border:0}.task-workspace-modern .task-viewbar>div{display:flex}.task-workspace-modern .task-viewbar label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem}.task-workspace-modern .task-viewbar select{min-width:170px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff}
.task-sidebar{display:grid;gap:10px}.task-side-card,.task-recurring-link{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.task-side-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.task-side-card header button,.task-shift-note>button{border:0;background:transparent;color:var(--accent);font-size:.68rem;cursor:pointer}.task-mini-calendar header button{border:0;background:transparent;font-size:1.25rem;cursor:pointer}.task-mini-calendar header b{text-transform:capitalize}.task-weekdays{word-spacing:12px;color:var(--muted);font-size:.62rem;text-align:center;margin-bottom:6px}.task-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.task-month-grid button,.task-month-grid span{position:relative;display:grid;place-items:center;min-height:28px;border:0;border-radius:6px;background:transparent;font-size:.68rem;cursor:pointer}.task-month-grid button.today{background:var(--accent);color:#fff}.task-month-grid button.has-task:after{content:'';position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:#f0a000}.task-upcoming{display:grid}.task-upcoming>button{display:grid;grid-template-columns:1fr auto;gap:3px;text-align:left;border:0;border-bottom:1px solid var(--border);background:#fff;padding:9px 0;cursor:pointer}.task-upcoming b{font-size:.72rem}.task-upcoming span{grid-column:1/-1;color:var(--muted);font-size:.62rem}.task-upcoming small{grid-column:2;grid-row:1;color:#d94b54}.task-shift-note em{padding:3px 7px;border-radius:10px;background:#e8f7ef;color:#159665;font-size:.6rem;font-style:normal}.task-shift-note p{font-size:.68rem;line-height:1.45}.task-recurring-link{display:flex;justify-content:space-between;width:100%;cursor:pointer;color:var(--text);font-weight:650}
.task-v2-card>div{flex-wrap:wrap}.task-card-date{display:block;width:100%;white-space:nowrap;font-weight:650;color:#52627c}
.task-v2-card .task-card-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:2px;padding-top:8px;border-top:1px solid var(--border)}.task-card-controls select{width:100%;min-width:0;height:30px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:#f8faff;color:#344761;font-size:.62rem}.task-card-controls label{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#159665;font-size:.62rem;font-weight:700;cursor:pointer}.task-card-controls input{width:15px;height:15px;accent-color:#18a56b;cursor:pointer}
.task-table{min-width:0;max-width:100%;overflow:hidden}.task-table table{width:100%;table-layout:fixed}.task-table th,.task-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.task-table small{display:block;color:var(--muted)}.task-table .task-col-select{width:3%}.task-table .task-col-title{width:27%}.task-table .task-col-point{width:8%}.task-table .task-col-person{width:11%}.task-table .task-col-date{width:8%}.task-table .task-col-priority{width:8%}.task-table .task-col-status{width:8%}.task-table .task-col-complete{width:13%}.task-list-complete{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:650;color:#15865a;cursor:pointer}.task-list-complete input{width:17px;height:17px;accent-color:#18a46b}.task-list-complete input:disabled{cursor:not-allowed;opacity:.55}.task-list-empty{padding:36px 18px;text-align:center;color:var(--muted)}.task-bulk{display:flex;gap:8px;align-items:center;padding:12px;flex-wrap:wrap}.task-calendar-nav{display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:9px}.task-calendar-nav strong{min-width:230px;text-align:center;text-transform:capitalize}.task-calendar{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto}.task-calendar-day{grid-template-columns:minmax(320px,620px);justify-content:center}.task-calendar-week{grid-template-columns:repeat(7,minmax(150px,1fr));grid-template-rows:auto}.task-calendar-month{grid-template-columns:repeat(7,minmax(150px,1fr))}.task-day{min-height:160px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px;text-align:left;vertical-align:top}.task-day-empty{background:#f4f6fa;border-style:dashed;min-height:80px}.task-day-title{display:block;width:100%;padding:4px 5px 8px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;font-weight:750;text-transform:capitalize;cursor:pointer}.task-day>.task-v2-card{margin-top:7px}.task-analytics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.task-analytics>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.task-analytics b{display:block;font-size:1.7rem}.task-analytics span{color:var(--muted)}
#modal-overlay:has(.task-editor){padding:16px}
#modal-box:has(.task-editor){width:min(1120px,calc(100vw - 32px));max-width:1120px;max-height:calc(100vh - 32px);padding:18px 22px;display:flex;flex-direction:column;overflow:hidden}
#modal-box:has(.task-editor) #modal-header{flex:0 0 auto;margin-bottom:8px}
#modal-box:has(.task-editor) #modal-body{min-height:0;overflow:auto;padding:2px 5px 2px 0}
#modal-box:has(.task-editor) #modal-actions{flex:0 0 auto;margin-top:9px;padding-top:10px;border-top:1px solid var(--border)}
.task-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}.task-editor>.field{min-width:0;margin:0}.task-editor>.field:nth-child(1),.task-editor>.field:nth-child(3){grid-column:span 2}.task-editor>.field textarea{min-height:50px;max-height:70px}.task-editor fieldset{grid-column:span 2;min-width:0;border:1px solid var(--border);border-radius:9px;padding:7px 10px;max-height:96px;overflow:auto}.task-editor fieldset legend{font-size:.7rem;font-weight:700;padding:0 5px}.task-editor fieldset label{display:inline-flex;align-items:center;gap:5px;margin:3px 9px 3px 0;font-size:.7rem}.task-editor-wide{grid-column:span 2;min-width:0}.task-editor-wide textarea,.task-editor-wide select{width:100%;margin-top:5px;min-height:38px}.task-editor-wide textarea{height:58px;min-height:58px}
.task-datetime{display:grid;grid-template-columns:minmax(105px,1fr) 54px 8px 54px;gap:4px;align-items:center;max-width:100%;overflow:hidden}.task-datetime input,.task-datetime select{width:100%;min-width:0;padding-left:6px;padding-right:4px}.task-datetime>span{text-align:center;font-weight:700}
.employee-contact-card{display:grid;gap:10px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#f7f9fd}.employee-contact-card strong{font-size:1.35rem;overflow-wrap:anywhere}.employee-contact-card span{min-height:18px;color:var(--good);font-weight:700}
.employee-month-calendar{border:1px solid var(--border);border-radius:12px;overflow:hidden}.employee-month-calendar__week,.employee-month-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.employee-month-calendar__week b{padding:8px;text-align:center;background:#f4f7fc;color:var(--muted);font-size:.72rem}.employee-month-calendar__grid>div,.employee-month-calendar__grid>span{min-height:82px;padding:7px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.employee-month-calendar__grid>div:nth-child(7n){border-right:0}.employee-month-calendar__grid strong,.employee-month-calendar__grid span,.employee-month-calendar__grid small{display:block}.employee-month-calendar__grid div>span{margin-top:5px;font-weight:700;font-size:.72rem}.employee-month-calendar__grid small{margin-top:4px;color:var(--muted);font-size:.62rem;line-height:1.25}.employee-month-calendar__grid .is-work{background:#eefaf3;border-top-color:#bfe8cf}.employee-month-calendar__grid .is-off{background:#fafbfe}.employee-month-calendar__grid .is-empty{background:#f6f8fb}
#modal-overlay:has(.task-detail){padding:18px 12px}
#modal-box:has(.task-detail){width:min(820px,calc(100vw - 24px));max-width:820px;max-height:calc(100vh - 36px);padding:20px 24px;display:flex;flex-direction:column;overflow:hidden}
#modal-box:has(.task-detail) #modal-body{min-height:0;overflow:auto;padding-right:4px}
#modal-box:has(.task-detail) #modal-actions{flex:0 0 auto;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.payroll-archive{margin-top:16px}.payroll-archive .muted{margin:4px 0 0;color:var(--muted)}.payroll-employee-summary{grid-template-columns:repeat(5,minmax(150px,1fr));padding:14px}.payroll-employee-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.payroll-report-head{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.payroll-report-head>div{border:1px solid var(--border);border-radius:10px;padding:13px}.payroll-report-head small,.payroll-report-head strong{display:block}.payroll-report-head small{color:var(--muted);margin-bottom:5px}.payroll-report-head strong{font-size:1.05rem}
#modal-overlay:has(.payroll-report){padding:18px}#modal-box:has(.payroll-report){width:min(1120px,calc(100vw - 36px));max-width:1120px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden}#modal-box:has(.payroll-report) #modal-body{min-height:0;overflow:auto}#modal-box:has(.payroll-report) #modal-actions{flex:0 0 auto}.payroll-report table{width:100%;table-layout:fixed}.payroll-report th:nth-child(1){width:20%}.payroll-report th:nth-child(2){width:17%}.payroll-report th:nth-child(3){width:8%}.payroll-report th:nth-child(4),.payroll-report th:nth-child(5),.payroll-report th:nth-child(6),.payroll-report th:nth-child(7){width:12%}.payroll-report th,.payroll-report td{padding:11px 9px;white-space:normal;overflow-wrap:anywhere}.payroll-report td:not(:first-child){text-align:right}.payroll-report th:not(:first-child){text-align:right}
.payroll-report-filters{display:grid;grid-template-columns:150px 1fr 1.25fr 1.25fr auto;gap:10px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.payroll-report-filters label{display:grid;gap:5px;min-width:0}.payroll-report-filters label span{font-size:.76rem;color:var(--muted)}.payroll-report-filters select{width:100%;min-width:0}
#modal-overlay:has(.payroll-detail){padding:18px}#modal-box:has(.payroll-detail){width:min(980px,calc(100vw - 36px));max-width:980px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden}#modal-box:has(.payroll-detail) #modal-body{min-height:0;overflow:auto}.payroll-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-detail-summary .card{min-height:112px}.payroll-detail .table-wrap{max-height:320px}
.payroll-editor{display:grid;gap:16px}.payroll-auto-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.payroll-auto-grid>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8faff;display:grid;gap:5px}.payroll-auto-grid span,.payroll-adjustment-title small{font-size:.78rem;color:var(--muted)}.payroll-auto-grid strong{font-size:1rem}.payroll-employee-stack{height:18px;border-radius:999px;overflow:hidden;display:flex;background:#edf1f7}.payroll-employee-stack i{display:block;min-width:0;transition:width .2s ease}.payroll-employee-stack .base,.payroll-stack-legend .base{background:#4d88ef}.payroll-employee-stack .bonus,.payroll-stack-legend .bonus{background:#53c48b}.payroll-employee-stack .deduction,.payroll-stack-legend .deduction{background:#ef6b73}.payroll-stack-legend{display:flex;gap:18px;margin-top:-9px;font-size:.78rem;color:var(--muted)}.payroll-stack-legend span{display:flex;align-items:center;gap:6px}.payroll-stack-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.payroll-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payroll-adjustment-section{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fff}.payroll-adjustment-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.payroll-adjustment-title h4{margin:0 0 3px}.payroll-adjustment-row{display:grid;grid-template-columns:125px minmax(120px,1fr) 105px 34px;gap:7px;margin-top:7px}.payroll-adjustment-row input,.payroll-adjustment-row select{min-width:0;width:100%}.payroll-adjustment-row .btn{padding:6px}.payroll-adjustment-empty{padding:12px 0;margin:0}.payroll-note textarea{min-height:58px}.payroll-live-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payroll-live-totals>div{border:1px solid var(--border);border-radius:12px;padding:13px;display:grid;gap:5px}.payroll-live-totals span{color:var(--muted);font-size:.8rem}.payroll-live-totals strong{font-size:1.2rem}.payroll-live-totals>div:nth-child(2) strong{color:#d6424a}.payroll-live-totals>div:last-child{background:#eaf8ef;border-color:#c9edd8}.payroll-live-totals>div:last-child strong{color:#158650}
.payroll-employee-row:hover{background:var(--soft)}.payroll-employee-link{appearance:none;border:0;background:transparent;padding:0;color:var(--text);font:inherit;font-weight:700;cursor:pointer;text-align:left}.payroll-employee-link:hover{color:var(--primary);text-decoration:underline}.payroll-employee-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:3px}
.payroll-modern{display:grid;gap:14px}.payroll-modern-toolbar{display:grid;grid-template-columns:180px 220px 240px 220px minmax(300px,1fr);gap:12px;align-items:end;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:#fff}.payroll-modern-toolbar label{display:grid;gap:5px}.payroll-modern-toolbar label>span{font-size:.74rem;color:var(--muted)}.payroll-modern-toolbar input,.payroll-modern-toolbar select{width:100%;min-width:0}.payroll-toolbar-actions{display:flex;justify-content:flex-end;gap:10px}.payroll-toolbar-actions .btn{min-height:42px;padding-inline:18px}.payroll-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.payroll-metrics>button{position:relative;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto auto;column-gap:12px;text-align:left;border:1px solid var(--border);border-radius:14px;background:#fff;padding:18px;cursor:pointer;color:var(--text)}.payroll-metrics>button:hover{border-color:#9bbcff;box-shadow:0 6px 18px #1f65d512}.payroll-metrics>button>span{grid-row:1/4;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eaf2ff;color:var(--primary);font-size:1.45rem;font-weight:800}.payroll-metrics>button:nth-child(3)>span{background:#e6f8ef;color:#169b62}.payroll-metrics>button:nth-child(4)>span{background:#fff2dc;color:#d88600}.payroll-metrics small{color:var(--muted)}.payroll-metrics strong{font-size:1.5rem;margin:4px 0}.payroll-metrics em{font-style:normal;font-size:.72rem;color:var(--muted)}.payroll-overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.payroll-composition,.payroll-alerts{margin:0}.payroll-composition .panel-head{margin-bottom:6px}.payroll-stack{display:flex;height:14px;margin:12px 0 14px;border-radius:8px;overflow:hidden;background:var(--soft)}.payroll-stack i:nth-child(1){background:#4f8df5}.payroll-stack i:nth-child(2){background:#8c7bea}.payroll-stack i:nth-child(3){background:#55c98a}.payroll-composition ul{list-style:none;margin:0;padding:0}.payroll-composition li{display:grid;grid-template-columns:12px 1fr 130px 48px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.payroll-composition li:last-child{border:0}.payroll-composition li small{text-align:right;color:var(--muted)}.payroll-composition .dot{width:10px;height:10px;border-radius:50%}.dot.salary{background:#4f8df5}.dot.shift{background:#8c7bea}.dot.bonus{background:#55c98a}.dot.deduction{background:#ef6464}.payroll-alerts{border-color:#f1d8a8}.payroll-alerts>button{display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:center;width:100%;padding:13px 4px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer}.payroll-alerts>button:last-child{border:0}.payroll-alerts>button b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff1d5;color:#c97700}.payroll-alerts>button i{text-align:right;font-size:1.3rem;color:var(--muted)}.payroll-people{margin:0;padding:0;overflow:hidden}.payroll-list-head{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border)}.payroll-section-tabs{display:flex;gap:8px}.payroll-section-tabs button{border:0;background:transparent;padding:9px 13px;border-radius:9px;cursor:pointer}.payroll-section-tabs button.active{background:var(--primary);color:#fff}.payroll-list-tools{display:flex;gap:8px}.payroll-list-tools input{width:260px}.payroll-modern-table{min-width:1040px}.payroll-modern-table th,.payroll-modern-table td{padding:12px 10px}.payroll-modern-table td:first-child strong,.payroll-modern-table td:first-child small{display:block}.payroll-modern-table td:first-child small{margin-top:3px;color:var(--muted)}.payroll-modern-table .pay-type{display:inline-block;padding:5px 8px;border-radius:7px;background:#fff3dc;color:#9a6200}.payroll-modern-table .payroll-employee-row{cursor:pointer}.payroll-city-cards{padding:18px}.payroll-city-cards button{text-align:left}.payroll-detail-identity{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.payroll-detail-identity strong,.payroll-detail-identity small{display:block}.payroll-detail-identity small{margin-top:4px;color:var(--muted)}
.payroll-composition li[data-action]{cursor:pointer;border-radius:8px;padding-inline:8px}.payroll-composition li[data-action]:hover{background:#f4f7fd}.payroll-composition li[data-action]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.payroll-alerts>button.active{background:#fff7e8;box-shadow:inset 3px 0 #e6a11a}.payroll-breakdown-summary{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px;border-radius:10px;background:#f5f8fd}.payroll-approved-archive{padding:18px}
@media(max-width:900px){.payroll-report-filters{grid-template-columns:1fr 1fr}.payroll-report-filters .btn{width:100%}}
@media(max-width:1250px){.payroll-modern-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr))}.payroll-toolbar-actions{grid-column:1/-1}.payroll-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.payroll-modern-toolbar{grid-template-columns:1fr 1fr}.payroll-overview-grid{grid-template-columns:1fr}.payroll-list-head{align-items:stretch;flex-direction:column;gap:10px}.payroll-list-tools input{width:100%}}
@media(max-width:600px){.payroll-modern-toolbar,.payroll-metrics{grid-template-columns:1fr}.payroll-toolbar-actions{display:grid}.payroll-composition li{grid-template-columns:12px 1fr auto}.payroll-composition li small{display:none}.payroll-list-tools{display:grid;grid-template-columns:1fr auto}}

.payroll-period-heading{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #bfd3ff;border-radius:12px;background:#f2f7ff;color:var(--text)}
.payroll-period-heading span{font-size:.78rem;color:var(--muted)}
.payroll-period-heading strong{font-size:1.12rem;color:var(--primary)}
.payroll-period-heading small{margin-left:auto;color:var(--muted)}
.payroll-modern .payroll-metrics>button:nth-child(3)>span{background:#fff2dc;color:#d88600}
.payroll-modern .payroll-metrics>button:nth-child(4)>span{background:#eaf2ff;color:var(--primary)}
.payroll-modern .payroll-metrics>button:nth-child(5)>span{background:#e6f8ef;color:#169b62}
@media(min-width:1251px){.payroll-modern .payroll-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.payroll-period-heading{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}.payroll-period-heading small{grid-column:1/-1;margin-left:0}}
@media(max-width:760px){#modal-box:has(.payroll-detail){width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px}.payroll-detail-summary{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.payroll-auto-grid{grid-template-columns:repeat(2,1fr)}.payroll-editor-grid{grid-template-columns:1fr}.payroll-adjustment-row{grid-template-columns:110px minmax(100px,1fr) 95px 34px}}
@media(max-width:560px){.payroll-auto-grid,.payroll-live-totals{grid-template-columns:1fr}.payroll-adjustment-row{grid-template-columns:1fr 90px 34px}.payroll-adjustment-row select{grid-column:1/-1}.payroll-adjustment-row input[data-adjustment-field="label"]{grid-column:1}.payroll-stack-legend{flex-wrap:wrap}}
@media(max-width:760px){#modal-box:has(.payroll-report){width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px}.payroll-report-filters{grid-template-columns:1fr}.payroll-report-head{grid-template-columns:1fr}.payroll-report table,.payroll-report tbody{display:block}.payroll-report tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:10px;margin-bottom:9px;padding:8px}.payroll-report tr:first-child{display:none}.payroll-report td{display:flex;justify-content:space-between;gap:12px;border:0!important;padding:6px!important;text-align:right}.payroll-report td:before{content:attr(data-label);color:var(--muted);text-align:left}.payroll-report td:first-child{grid-column:1/-1;font-size:1rem;border-bottom:1px solid var(--border)!important}.payroll-report td:last-child:has(button){grid-column:1/-1}.payroll-report td:last-child:has(button) button{width:100%}}
.task-detail{display:grid;gap:12px;min-width:0}.task-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.task-detail-head>*{background:#eef3fb;border-radius:15px;padding:5px 10px}.task-detail>textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;resize:vertical}.task-detail dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px}.task-detail dt{color:var(--muted)}
.task-checklist-editor{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#f8faff}.task-checklist-editor>b,.task-checklist-editor>small{display:block}.task-checklist-editor>small{margin-top:5px;color:var(--muted);font-size:.6rem}.task-check-row{display:grid;grid-template-columns:20px 1fr 28px;gap:5px;align-items:center;margin-top:5px}.task-check-row>span{color:var(--muted);font-size:1rem}.task-check-row input{width:100%;min-height:32px}.task-check-row button{height:30px;border:1px solid #f1b9bd;border-radius:6px;background:#fff;color:var(--bad);cursor:pointer}.task-checklist-editor>.btn{margin-top:6px}.task-status-control{display:flex;align-items:center;gap:6px;margin-left:auto!important;padding:4px 6px!important;background:#fff!important;border:1px solid var(--border);border-radius:8px!important;font-size:.68rem;max-width:100%}.task-status-control select{min-width:0;width:175px;max-width:100%}
@media(max-width:1100px){.task-filterbar{grid-template-columns:repeat(3,1fr)}.task-metrics{grid-template-columns:repeat(3,1fr)}.task-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.task-editor>.field:nth-child(1),.task-editor>.field:nth-child(3),.task-editor fieldset,.task-editor-wide{grid-column:span 1}}
@media(max-width:1250px){.task-content-grid{grid-template-columns:1fr}.task-sidebar{grid-template-columns:repeat(2,1fr)}.task-recurring-link{grid-column:1/-1}.task-workspace-modern .task-board{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:700px){#modal-overlay:has(.task-editor){padding:8px}#modal-box:has(.task-editor),#modal-box:has(.task-detail){width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:14px}.task-filterbar,.task-editor{grid-template-columns:1fr}.task-filterbar .task-search{grid-column:auto}.task-metrics,.task-analytics{grid-template-columns:repeat(2,1fr)}.task-status-control{width:100%;margin-left:0!important;display:grid;grid-template-columns:1fr auto}.task-status-control select{width:100%}.task-status-control .btn{grid-column:2}.task-detail dl{grid-template-columns:105px minmax(0,1fr)}.task-datetime{grid-template-columns:minmax(100px,1fr) 50px 8px 50px}.employee-month-calendar__grid>div,.employee-month-calendar__grid>span{min-height:66px;padding:4px}.employee-month-calendar__grid small{display:none}}
@media(max-width:700px){.task-workspace-modern .task-metrics{grid-template-columns:repeat(2,1fr)}.task-content-grid,.task-sidebar{display:grid;grid-template-columns:1fr}.task-workspace-modern .task-board{display:flex}.task-workspace-modern .task-column{min-width:250px}.task-quickbar{flex-wrap:wrap}.task-quick-search{width:100%}.task-filter-popover{grid-template-columns:1fr;left:-100px}.task-filter-dates,.task-filter-popover>div:last-child{grid-column:auto}.task-workspace-modern .task-main-tabs{overflow-x:auto;flex-wrap:nowrap}.task-workspace-modern .task-main-tabs>button{white-space:nowrap}.task-more{white-space:nowrap}}
/* Seller role: one-screen daily workflow */
.seller-workspace{display:grid;gap:16px}.seller-workspace__hero{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-radius:18px;background:linear-gradient(120deg,#142b55,#2869ec);color:#fff}.seller-workspace__hero h2{margin:5px 0;font-size:28px}.seller-workspace__hero p{margin:0;opacity:.85}.seller-workspace__hero .badge{font-size:14px;padding:9px 14px}.seller-workspace__cards{grid-template-columns:repeat(4,minmax(0,1fr))}.seller-workspace__actions{display:flex;flex-wrap:wrap;gap:10px}.seller-workspace__actions .big{min-height:48px;padding:0 22px}.seller-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.seller-task-list button{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text)}.seller-task-list button:hover{border-color:var(--primary)}.seller-task-list span{color:var(--muted);font-size:12px}@media(max-width:900px){.seller-workspace__cards,.seller-task-list{grid-template-columns:1fr}.seller-workspace__hero{align-items:flex-start;gap:16px}.seller-workspace__actions>*{width:100%}}

/* Простая боковая панель фильтров задач. */
.task-filter-shade{position:fixed;z-index:48;inset:0;background:rgba(13,29,56,.28)}
.task-filter-popover{position:fixed!important;z-index:49!important;inset:0 0 0 auto!important;width:min(380px,100vw)!important;height:100vh;overflow:auto;display:flex!important;flex-direction:column;gap:10px;padding:18px!important;background:#fff;border:0!important;border-radius:0!important;box-shadow:-12px 0 34px rgba(23,43,78,.18)!important}
.task-filter-popover>header{display:flex;justify-content:space-between;align-items:center;margin:-4px -2px 5px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.task-filter-popover h3{margin:0;font-size:1.28rem}.task-filter-popover>header button{border:0;background:transparent;color:#263958;font-size:1.55rem;cursor:pointer}.task-filter-popover>strong{font-size:.82rem;margin:4px 0}.task-filter-label{font-size:.72rem;color:#405270;margin-top:3px}
.task-filter-popover select,.task-filter-popover input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px}.task-period-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.task-period-buttons button{min-height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#405270;cursor:pointer}.task-period-buttons button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.task-filter-popover .task-filter-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-filter-popover .task-filter-dates.is-hidden{display:none}.task-filter-dates label{font-size:.68rem;color:var(--muted)}.task-extra-filters{margin-top:3px}.task-extra-filters>summary{display:inline-flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;list-style:none;cursor:pointer;font-size:.72rem}.task-extra-filters>div{display:grid!important;grid-template-columns:1fr!important;gap:7px;margin-top:8px}
.task-filter-reset{align-self:flex-end;margin-top:-48px;min-height:38px;border:0;background:transparent;color:var(--accent);cursor:pointer}.task-saved-filters{margin:10px -18px 0;padding:16px 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.task-saved-filters>b{font-size:.72rem;color:#405270}.task-saved-filters>div{display:flex!important;gap:7px;flex-wrap:wrap;margin-top:10px}.task-saved-filters button{border:1px solid var(--border);border-radius:7px;background:#fff;padding:8px 10px;font-size:.68rem;cursor:pointer}.task-filter-popover>footer{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:auto;padding-top:8px}.task-filter-popover>footer .btn{min-height:42px}
@media(max-width:700px){.task-filter-popover{width:100vw!important}.task-period-buttons{grid-template-columns:repeat(2,1fr)}}
.employee-history-period{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 12px;border-bottom:1px solid var(--line)}
.employee-history-period label{display:flex;align-items:center;gap:10px;font-weight:700}.employee-history-period input{min-width:150px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.employee-history-period small{color:var(--muted);text-align:right}
.employee-payroll-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 20px}.employee-payroll-summary>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fbff}.employee-payroll-summary small{display:block;color:var(--muted);margin-bottom:6px}.employee-payroll-summary strong{font-size:18px}
@media(max-width:760px){.employee-history-period{align-items:flex-start;flex-direction:column}.employee-history-period small{text-align:left}.employee-payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.payroll-management-plan{display:grid;gap:10px;padding:14px;border:1px solid #bcd0f5;border-radius:12px;background:#f7faff}.payroll-management-plan h4{margin:0}.payroll-management-plan small{display:block;color:var(--muted);margin-top:3px}.payroll-plan-row{display:grid;grid-template-columns:140px repeat(6,minmax(82px,1fr));gap:7px;align-items:end;padding-top:10px;border-top:1px solid var(--border)}.payroll-plan-row>strong small{font-weight:400}.payroll-plan-row label{display:grid;gap:4px}.payroll-plan-row label span{font-size:.7rem;color:var(--muted)}.payroll-plan-row input{width:100%;min-width:0}.payroll-fixed-additions{display:flex;gap:18px;flex-wrap:wrap;padding-top:9px;border-top:1px solid var(--border)}.payroll-fixed-rows{display:grid;gap:7px;margin-bottom:9px}.payroll-fixed-rows label{display:grid;grid-template-columns:120px 110px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}.payroll-fixed-rows input{min-width:0;width:100%}.payroll-fixed-rows small{color:var(--muted)}.payroll-statements{margin-top:16px}
.payroll-management-bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:10px;border-top:1px solid var(--border)}.payroll-management-bonus-grid label{display:grid;grid-template-columns:minmax(90px,130px) minmax(120px,1fr);gap:6px 12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.payroll-management-bonus-grid label>span{font-weight:700}.payroll-management-bonus-grid input{width:100%;min-width:0;font-size:1rem;font-weight:700}.payroll-management-bonus-grid small{grid-column:1/-1;margin:0}.payroll-management-bonus-grid label:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgba(49,111,234,.1)}
@media(max-width:760px){.payroll-management-bonus-grid{grid-template-columns:1fr}.payroll-management-bonus-grid label{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:900px){.payroll-plan-row{grid-template-columns:1fr 1fr}.payroll-plan-row>strong{grid-column:1/-1}.payroll-fixed-rows label{grid-template-columns:1fr 110px}}
.plan-audience-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
#modal-overlay:has(.management-plan-editor){padding:18px 16px}
#modal-box:has(.management-plan-editor){width:min(860px,calc(100vw - 32px));max-width:860px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden}
#modal-box:has(.management-plan-editor) #modal-body{min-width:0;min-height:0;overflow:auto;padding:2px 4px 2px 0}
#modal-box:has(.management-plan-editor) #modal-actions{flex:0 0 auto;margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}
.management-plan-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-width:0}
.management-plan-editor>*{min-width:0}
.management-plan-editor>.notice,.management-plan-editor>.retail-plan-editor__levels{grid-column:1/-1}
.management-plan-editor .retail-plan-editor__levels{grid-template-columns:repeat(3,minmax(0,1fr))}
.management-plan-editor .plan-editor-level{min-width:0}
.management-plan-editor .plan-editor-level input,.management-plan-editor select,.management-plan-editor input{min-width:0;width:100%}
.mini-progress{display:inline-block;width:90px;height:7px;margin-right:8px;border-radius:99px;background:#e5eaf2;overflow:hidden;vertical-align:middle}.mini-progress span{display:block;height:100%;border-radius:inherit;background:#22a06b}
@media(max-width:760px){#modal-overlay:has(.management-plan-editor){padding:8px}#modal-box:has(.management-plan-editor){width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px}.management-plan-editor{grid-template-columns:1fr}.management-plan-editor>.notice,.management-plan-editor>.retail-plan-editor__levels{grid-column:auto}.management-plan-editor .retail-plan-editor__levels{grid-template-columns:1fr}}
.workday-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 20px;border:1px solid #d7e1f0;border-radius:14px;background:#fff}.workday-panel>div:first-child{display:flex;flex-direction:column;gap:5px}.workday-panel small{color:var(--muted)}.workday-panel strong{font-size:1.05rem}.workday-panel.is-working{border-color:#9fdfc4;background:#f2fcf7}.workday-panel.is-closed{background:#f7f9fc}.workday-panel__actions{display:flex;align-items:center;gap:10px}@media(max-width:700px){.workday-panel{align-items:stretch;flex-direction:column}.workday-panel__actions .btn{width:100%}}
/* Clear task-date controls and dual-action mini calendar. */
.task-date-chip span{white-space:nowrap}
.task-date-chip input{width:132px!important;min-height:32px;padding:4px 7px!important;border:1px solid #d7dfed!important;border-radius:7px;color:var(--text)!important;background:#fff}
.task-month-grid button.selected{outline:2px solid #295fc9;outline-offset:1px}
.task-calendar-create{width:100%;margin-top:10px;padding:8px;border:1px solid #c8d8fa;border-radius:8px;background:#edf4ff;color:var(--accent);font-size:.67rem;font-weight:700;cursor:pointer}
/* Payroll status path: all -> calculated -> confirmed. */
.payroll-status-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.payroll-status-tabs button{border:1px solid var(--border);border-radius:16px;background:#fff;padding:6px 10px;color:var(--muted);cursor:pointer}.payroll-status-tabs button.active{border-color:var(--accent);background:#edf4ff;color:var(--accent);font-weight:700}
.employee-schedule-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.employee-schedule-export{display:flex;gap:7px;flex-wrap:wrap}.employee-schedule-export .btn{white-space:nowrap}
@media(max-width:760px){.employee-schedule-head,.employee-schedule-toolbar{align-items:stretch;flex-direction:column}.employee-schedule-export{display:grid;grid-template-columns:1fr 1fr}.employee-schedule-export .btn{width:100%}}
@media print{
  html:has(body.employee-schedule-print-mode),body.employee-schedule-print-mode{width:281mm!important;height:194mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
  body.employee-schedule-print-mode>*:not(#print-area){display:none!important}
  body.employee-schedule-print-mode #print-area{display:block!important;position:static!important;inset:auto!important;box-sizing:border-box!important;width:281mm!important;height:194mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
  #print-area .employee-schedule-print{display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-sizing:border-box;width:281mm;height:194mm;overflow:hidden;color:#111;background:#fff;font-family:Arial,sans-serif;break-inside:avoid;page-break-inside:avoid;break-after:avoid;page-break-after:avoid}
  #print-area .employee-schedule-print header{text-align:center;margin:0 0 2.5mm}
  #print-area .employee-schedule-print h1{margin:0 0 1mm;font-size:15pt}
  #print-area .employee-schedule-print h2{margin:0 0 .7mm;font-size:11pt}
  #print-area .employee-schedule-print p{margin:0;color:#333;font-size:7.5pt}
  #print-area .employee-schedule-print .employee-month-calendar{min-height:0;border:0;border-radius:0;overflow:hidden}
  #print-area .employee-schedule-print .employee-month-calendar__week{height:6mm}
  #print-area .employee-schedule-print .employee-month-calendar__week b{box-sizing:border-box;padding:1mm;font-size:7pt}
  #print-area .employee-schedule-print .employee-month-calendar__grid{height:100%;grid-template-rows:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);overflow:hidden}
  #print-area .employee-schedule-print .employee-month-calendar__grid>div,#print-area .employee-schedule-print .employee-month-calendar__grid>span{box-sizing:border-box;min-height:0;padding:1.5mm;border-color:#b7c1cf;overflow:hidden;break-inside:avoid;page-break-inside:avoid}
  #print-area .employee-schedule-print .employee-month-calendar__grid>div strong{font-size:8.5pt}
  #print-area .employee-schedule-print .employee-month-calendar__grid>div span{margin-top:1mm;font-size:7pt;line-height:1.1}
  #print-area .employee-schedule-print .employee-month-calendar__grid>div small{display:block!important;margin-top:.7mm;font-size:5.8pt;line-height:1.1}
  #print-area .employee-schedule-print footer{display:flex;justify-content:space-between;margin-top:2.5mm;font-size:7pt}
}

/* Tasks: compact role-aware workspace. */
.task-workspace-modern .task-metrics .orange,.task-workspace-modern .task-metrics .cyan{display:flex}
.task-workspace-modern .task-metrics .orange:before{content:'○';background:#fff4df;color:#d47a00}
.task-workspace-modern .task-metrics .cyan:before{content:'◷';background:#e8f8fb;color:#16899a}
.task-quickbar{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(135px,.65fr) minmax(150px,.75fr) minmax(210px,1fr) auto;align-items:end}
.task-quick-field{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.7rem}
.task-quick-field select{width:100%;min-width:0;min-height:42px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px}
.task-quick-search{width:100%;min-width:0}
.task-filter-check{display:flex;align-items:center;gap:8px;min-height:38px;font-size:.76rem}.task-filter-check input{width:17px;min-height:17px}
.task-list-panel{min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}
.task-list-export{display:flex;justify-content:flex-end;padding:10px 12px;border-bottom:1px solid var(--border)}
.task-list-cards{display:grid;gap:8px;padding:10px;background:#f7f9fc}
.task-list-card{grid-template-columns:auto 4px minmax(0,1fr) auto;grid-template-areas:"select rail head actions" "select rail meta actions" "select rail progress actions";align-items:center;margin:0;padding:13px 14px 13px 11px;cursor:default}.task-list-card.is-selected{border-color:#7ba7e8;background:#f3f7ff;box-shadow:inset 0 0 0 1px #b9d0f2}
.task-list-card>.task-select{grid-area:select}.task-list-card>i{grid-area:rail;position:static;width:4px;height:100%;min-height:44px}.task-list-card>.task-card-heading{grid-area:head}.task-list-card>.task-card-meta{grid-area:meta}.task-list-card>.task-check-progress,.task-list-card>small{grid-area:progress}.task-list-card>.task-card-actions{grid-area:actions;justify-content:flex-end;align-items:center;flex-wrap:nowrap}
.task-row-selector{display:grid;justify-items:center;gap:3px;min-width:50px;margin-right:3px;padding:5px 6px;border:1px solid #ccd7e7;border-radius:8px;background:#f5f7fb;color:#596a83;font-size:.57rem;font-weight:750;line-height:1;cursor:pointer}.task-row-selector input{width:18px;height:18px;margin:0;accent-color:#356fc4}.task-row-selector:has(input:checked){border-color:#6f9ddd;background:#e7f0ff;color:#255da9}.task-select-all{display:flex;align-items:center;gap:7px;font-weight:700}.task-select-all input{width:18px;height:18px;accent-color:#356fc4}.task-selection-count{padding:5px 8px;border-radius:999px;background:#eef2f8;color:#52627c;font-size:.68rem;font-weight:750}.task-bulk [data-task-requires-selection]:disabled{opacity:.48;cursor:not-allowed}
.task-card-heading{align-items:center;justify-content:flex-start!important;color:var(--text)!important}.task-card-heading>b{font-size:.86rem}.task-status-badge,.task-card-priority{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf2f9;color:#52627c;font-size:.61rem;font-weight:750}.task-card-priority{background:#fff0e7;color:#c24f24}
.task-v2-card.is-overdue{border-color:#dfa2a8;box-shadow:inset 4px 0 0 #a93643,0 1px 3px rgba(78,25,31,.06)}.task-v2-card.is-overdue>i{background:#a93643}.task-v2-card.is-overdue .task-card-date{color:#9f2f3b;font-weight:800}.task-overdue-badge,.task-overdue-notice{display:inline-flex;align-items:center;border-radius:999px;background:#fbe8ea;color:#9f2f3b;padding:3px 8px;font-size:.62rem;font-weight:800}.task-overdue-notice{font-size:.72rem}.task-assignment-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.61rem;font-weight:750}.task-assignment-badge.personal{background:#e8f1ff;color:#245eaf}.task-assignment-badge.department{background:#fff1da;color:#8a5900}.task-readonly-note{padding:9px 11px;border-radius:8px;background:#f4f6fa;color:#61718a;font-size:.75rem}
.task-card-meta{justify-content:flex-start!important;gap:14px!important}.task-card-date{width:auto}.task-card-actions{display:flex!important;flex-wrap:wrap;gap:6px!important}.task-card-actions button{min-height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#315a9a;padding:5px 9px;cursor:pointer}.task-card-actions button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.task-card-actions button.danger{color:#b83a44}
.task-card-actions .task-complete-action,.task-complete-action{border-color:#18875d!important;background:#18875d!important;color:#fff!important;font-weight:750}.task-card-actions .task-complete-action:hover,.task-complete-action:hover{background:#116f4b!important}.task-action-notice{position:fixed;z-index:120;left:50%;bottom:26px;max-width:min(420px,calc(100vw - 28px));padding:11px 16px;border-radius:10px;background:#173a2e;color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 10px 28px rgba(16,49,38,.24);opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:opacity .16s ease,transform .16s ease}.task-action-notice.is-visible{opacity:1;transform:translate(-50%,0)}
.task-check-progress{width:100%;height:4px;border-radius:4px;background:#e7ecf4;overflow:hidden}.task-check-progress span{display:block;height:100%;background:#2c79ed}
.task-editor-simple{display:block}.task-editor-main,.task-editor-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-editor-main>.field:nth-child(1),.task-editor-main>.field:nth-child(5){grid-column:1/-1}.task-editor-main textarea{min-height:88px}.task-editor-advanced{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:#f8faff}.task-editor-advanced>summary{padding:12px 14px;color:var(--accent);font-weight:700;cursor:pointer}.task-editor-advanced-grid{padding:0 14px 14px}.task-editor-advanced-grid>.task-editor-wide{grid-column:1/-1}.task-editor-advanced-grid fieldset{max-height:130px}.task-detail-extra{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.task-detail-extra span{padding:5px 8px;border-radius:7px;background:#f3f6fb;color:var(--muted);font-size:.7rem}

@media(max-width:768px){
  .task-workspace-modern{padding-bottom:74px}
  .task-workspace-modern .task-main-tabs{display:grid!important;grid-template-columns:1fr 1fr 54px;overflow:visible!important;padding-right:0!important}
  .task-workspace-modern .task-main-tabs>button:not(.primary){min-width:0;padding:13px 8px;white-space:normal}
  .task-workspace-modern .task-main-tabs .task-create-button{right:14px;bottom:82px}
  .task-quickbar{position:static!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:0!important;background:transparent!important}
  .task-quick-search{grid-column:1/-1;width:100%!important;min-height:46px}
  .task-quick-scope{grid-column:1/-1}
  .task-filter-pop{min-width:0}.task-filter-pop>summary{justify-content:center}
  .task-active-filter,.task-reset-link{grid-column:1/-1;width:max-content;max-width:100%}
  .task-workspace-modern .task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .task-workspace-modern .task-metrics .orange,.task-workspace-modern .task-metrics .cyan{display:flex!important}
  .task-workspace-modern .task-viewbar{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
  .task-workspace-modern .task-viewbar>div{display:flex!important;width:100%}.task-workspace-modern .task-viewbar>div>button{flex:1 1 0;min-width:0;padding-inline:7px}
  .task-workspace-modern .task-viewbar>label{width:100%}
  .task-list-card{grid-template-columns:auto 4px minmax(0,1fr);grid-template-areas:"select rail head" "select rail meta" "select rail progress" "actions actions actions";align-items:start;padding:12px 10px}
  .task-list-card>.task-card-actions{margin-top:4px;padding-top:9px;border-top:1px solid var(--border);justify-content:stretch;flex-wrap:wrap}.task-list-card>.task-card-actions button{flex:1 1 auto;min-height:40px}
  .task-list-card>.task-card-actions .task-complete-action{flex:1 1 100%;min-height:46px;font-size:.86rem}.task-action-notice{bottom:88px;width:calc(100vw - 28px);text-align:center}
  .task-card-heading,.task-card-meta{display:flex!important;min-width:0}.task-card-heading>b,.task-card-meta span{overflow-wrap:anywhere}
  .task-overdue-badge,.task-assignment-badge{white-space:normal;text-align:center}
  .task-bulk{display:grid;grid-template-columns:1fr 1fr}.task-bulk>label{grid-column:1/-1}.task-bulk .task-selection-count{grid-column:1/-1;width:max-content}.task-bulk .btn{width:100%;min-height:42px}.task-bulk [data-task-v2="bulk-export"]{grid-column:1/-1}.task-row-selector{min-width:48px;min-height:46px}
  .task-calendar-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.task-calendar-nav strong{min-width:0}.task-calendar-nav [data-calendar-today]{grid-column:1/-1;grid-row:2}
  .task-calendar,.task-calendar-month,.task-calendar-week,.task-calendar-day{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
  .task-calendar .task-day-empty,.task-calendar .task-day.is-empty{display:none}.task-calendar .task-day{min-height:0}.task-day-title{min-height:42px}.task-day>.task-v2-card{margin-bottom:0}
  .task-editor-main,.task-editor-advanced-grid{grid-template-columns:minmax(0,1fr)}.task-editor-main>.field,.task-editor-advanced-grid>.field,.task-editor-advanced-grid>.task-editor-wide{grid-column:1}.task-editor-advanced>summary{min-height:46px}.task-editor-advanced-grid{padding:0 10px 10px}
  #modal-box:has(.task-editor) #modal-actions{position:sticky;bottom:0;background:#fff}
}

@media(max-width:430px){
  .task-workspace-modern .task-main-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 54px}
  .task-workspace-modern .task-main-tabs>button:not(.primary){font-size:.72rem}
  .task-filter-popover{width:100vw!important}
}

/* Task list rows open the read-only task card without interfering with controls. */
.task-table tr[data-task-id]{cursor:pointer}
.task-table tr[data-task-id]:hover{background:#f5f8ff}
.task-list-open{display:block;width:100%;padding:4px 0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.task-list-open:hover b,.task-list-open:focus-visible b{color:var(--primary);text-decoration:underline}
.task-list-open:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}

/* =========================================================
   MOBILE APP SHELL — 2026-08-07
   One-column, touch-friendly interface without desktop overflow.
========================================================= */
#mobile-bottom-nav,#mobile-nav-backdrop,.sc-mobile-list{display:none}
@media(max-width:768px){
  *{box-sizing:border-box}
  html,body,#app,#main,#view{max-width:100%;overflow-x:hidden}
  body{font-size:15px;background:#eef3fa}
  #app{display:block!important;min-height:100dvh}
  #main{width:100%!important;min-width:0!important;margin:0!important;padding-bottom:76px}
  #view{padding:10px 10px 92px!important}

  #mobile-nav-backdrop{position:fixed;z-index:208;inset:0;border:0;background:rgba(7,22,48,.54)}
  body.mobile-menu-open #mobile-nav-backdrop{display:block}
  #sidebar{position:fixed!important;z-index:210!important;inset:0 auto 0 0;width:min(86vw,320px)!important;max-width:320px;height:100dvh!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:16px 0 36px rgba(6,25,55,.25);overflow:auto}
  #sidebar.open{transform:translateX(0)}
  #mobile-toggle{display:grid!important;place-items:center;position:fixed!important;z-index:212;left:10px;top:10px;width:42px;height:42px;padding:0!important;border:1px solid var(--border)!important;border-radius:11px!important;background:#fff!important;box-shadow:0 3px 14px rgba(19,43,79,.14)}

  #topbar{min-height:62px!important;padding:8px 8px 8px 62px!important;gap:6px!important;background:#fff}
  #topbar h1{min-width:0;max-width:42vw;margin:0;font-size:1.08rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #topbar .controls{margin-left:auto!important;gap:5px!important}
  #topbar .user-chip,#topbar #role-wrap,#topbar #role-reset-btn,#topbar #export-btn{display:none!important}
  #topbar #logout-btn{min-width:54px;padding:8px!important;font-size:.72rem!important}
  #topbar #notif-btn{width:40px;height:40px;padding:0!important}

  #mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:205;right:0;bottom:0;left:0;min-height:66px;padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));border-top:1px solid #d5deeb;background:rgba(255,255,255,.97);box-shadow:0 -7px 24px rgba(20,42,75,.1);backdrop-filter:blur(12px)}
  #mobile-bottom-nav button{display:grid;place-items:center;align-content:center;gap:2px;min-width:0;min-height:52px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:#62718a;font:inherit;cursor:pointer}
  #mobile-bottom-nav button span{font-size:1.18rem;line-height:1}
  #mobile-bottom-nav button b{display:block;max-width:100%;font-size:.62rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mobile-bottom-nav button.active{background:#e8f0ff;color:var(--accent)}

  .section-tabs,.pillrow,.task-main-tabs,.task-viewbar{display:flex!important;max-width:100%;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .section-tabs::-webkit-scrollbar,.pillrow::-webkit-scrollbar,.task-main-tabs::-webkit-scrollbar,.task-viewbar::-webkit-scrollbar{display:none}
  .section-tabs button,.pillrow button,.task-main-tabs button,.task-viewbar button{flex:0 0 auto;white-space:nowrap}

  .panel{min-width:0;padding:12px!important;border-radius:13px!important}
  .panel-head{align-items:stretch!important;flex-direction:column!important;gap:10px!important}
  .panel-head h2{font-size:1.12rem!important}
  .tools{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;width:100%}
  .tools>*{min-width:0!important;width:100%!important;margin:0!important}
  .filterbar,.filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .cards,.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .card{min-width:0!important;padding:12px!important}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  input,select,textarea,button{font-size:16px}
  .btn{min-height:42px}

  #modal-overlay{align-items:stretch!important;padding:0!important}
  #modal-box{display:flex!important;flex-direction:column;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:12px!important;border-radius:0!important;overflow:hidden!important}
  #modal-header{position:sticky;z-index:3;top:0;flex:0 0 auto;padding:2px 0 10px;background:#fff}
  #modal-header h2{font-size:1.15rem}
  #modal-body{min-width:0!important;min-height:0!important;flex:1 1 auto;overflow:auto!important;overscroll-behavior:contain}
  #modal-actions{position:sticky;z-index:3;bottom:0;display:grid!important;grid-template-columns:1fr 1.25fr;flex:0 0 auto;gap:8px!important;margin:0!important;padding:10px 0 0!important;border-top:1px solid var(--border);background:#fff}
  #modal-actions .btn{width:100%;margin:0!important}

  /* Tasks: readable mobile board, compact metrics and full-screen filters. */
  .task-workspace-modern{min-width:0}
  .task-workspace-modern .task-content-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .task-workspace-modern .task-sidebar{display:grid!important;grid-template-columns:1fr!important;order:-1;width:100%!important}
  .task-workspace-modern .task-board{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;overflow:visible!important}
  .task-workspace-modern .task-column{min-width:0!important;width:100%!important;max-width:none!important}
  .task-workspace-modern .task-column-body{display:grid;gap:8px}
  .task-workspace-modern .task-card{width:100%!important;min-width:0!important}
  .task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .task-metrics>button{min-height:76px!important;padding:10px!important}
  .task-quickbar{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}
  .task-quickbar .task-search{grid-column:1/-1;width:100%!important}
  .task-mini-calendar{width:100%!important;min-width:0!important}
  .task-filter-popover{width:100vw!important;max-width:none!important;padding:16px!important}
  .task-date-chip input{width:118px!important}

  /* Schedule: replace the 31-column desktop matrix with employee calendars. */
  .sc-wrap{display:none!important}
  .sc-mobile-list{display:grid;gap:10px;margin-top:10px}
  .sc-mobile-card{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(28,51,83,.05)}
  .sc-mobile-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:12px;cursor:pointer;list-style:none}
  .sc-mobile-card summary::-webkit-details-marker{display:none}
  .sc-mobile-card summary>span:first-child{display:grid;min-width:0}
  .sc-mobile-card summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sc-mobile-card summary small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sc-mobile-card summary>b{grid-column:2;font-size:.72rem;color:var(--muted)}
  .sc-mobile-today{grid-column:2;grid-row:1;padding:5px 8px;border-radius:99px;background:#f0f3f8;color:#68778e;font-size:.68rem;font-weight:700}
  .sc-mobile-today.is-work{background:#e7f8ef;color:#078452}
  .sc-mobile-weekdays,.sc-mobile-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 8px}
  .sc-mobile-weekdays span{padding:6px 0;text-align:center;color:var(--muted);font-size:.65rem;font-weight:700}
  .sc-mobile-month{gap:3px;padding-bottom:10px}
  .sc-mobile-empty{min-height:54px}
  .sc-mobile-day{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:54px;padding:4px 1px;border:1px solid #e0e7f1;border-radius:7px;background:#f7f9fc;color:var(--text);font-size:.66rem;cursor:pointer}
  .sc-mobile-day>b{font-size:.78rem}.sc-mobile-day>span{max-width:100%;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-mobile-day>small{max-width:100%;font-size:.53rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sc-mobile-day.sc-work,.sc-mobile-day.sc-admin,.sc-mobile-day.sc-cover{border-color:#a9dfc3;background:#e9f8f0;color:#086c48}
  .sc-mobile-day.sc-off{background:#f1f4f8;color:#718096}.sc-mobile-day.sc-vac,.sc-mobile-day.sc-sick{background:#f3ebff;color:#7947b8}.sc-mobile-day.sc-trip,.sc-mobile-day.sc-train{background:#e8f0ff;color:#1f61c7}
  .sc-mobile-day.today{outline:2px solid var(--accent);outline-offset:1px}.sc-mobile-day.sc-changed{box-shadow:inset 0 0 0 2px #f59e0b}
  .sc-legend{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:5px}.sc-legend>*{flex:0 0 auto}

  /* Payroll: compact summary and card list instead of a wide table. */
  .payroll-modern-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px!important;gap:8px!important}
  .payroll-toolbar-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .payroll-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .payroll-metrics>button{grid-template-columns:38px minmax(0,1fr)!important;min-height:88px;padding:10px!important}
  .payroll-metrics>button>span{width:38px!important;height:38px!important;font-size:1.05rem!important}
  .payroll-metrics strong{font-size:1.28rem!important}
  .payroll-overview-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .payroll-composition li{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}.payroll-composition li span:last-child{grid-column:1/-1}
  .payroll-modern-table{display:block!important;min-width:0!important;width:100%!important}.payroll-modern-table tbody{display:block!important}.payroll-modern-table tr{display:grid!important;grid-template-columns:1fr 1fr;margin-bottom:10px;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.payroll-modern-table tr:first-child{display:none!important}
  .payroll-modern-table td{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:8px 10px!important;border-bottom:1px solid #edf1f6!important;text-align:right!important}.payroll-modern-table td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:600;text-align:left}.payroll-modern-table td:first-child,.payroll-modern-table td:last-child{grid-column:1/-1}.payroll-modern-table td:first-child{background:#f7faff;text-align:left!important}.payroll-modern-table td:first-child::before{display:none}.payroll-modern-table td:last-child{justify-content:flex-end;border-bottom:0!important}.payroll-modern-table td small{display:block}
}

/* Mobile workspaces: dashboards, sales, clients and reporting */
@media(max-width:768px){
  /* Dashboard */
  .section-period-toolbar,.dashboard-filter{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:12px!important}
  .section-period-toolbar>*,.dashboard-filter>*{width:100%!important;min-width:0!important;margin:0!important}
  .dashboard-filter__label,.dashboard-filter__period{grid-column:1/-1}
  .dashboard-hero{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:20px!important;border-radius:18px!important}
  .dashboard-hero h2{font-size:1.65rem!important;line-height:1.15}
  .dashboard-hero h2 span{display:block;margin-top:6px;font-size:.82rem}
  .dashboard-plan,.dashboard-alert{width:100%!important;min-width:0!important}
  .dashboard-alert{display:flex!important;align-items:center;justify-content:space-between;text-align:left;padding:14px 16px!important}
  .dashboard-alert strong{font-size:1.6rem!important}
  .dashboard-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .dashboard-cards .card{min-height:112px;padding:15px!important}
  .dashboard-cards .value{font-size:1.35rem!important}
  .workday-panel,.seller-workspace__hero{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .workday-panel__actions,.seller-workspace__actions{display:grid!important;grid-template-columns:1fr!important}

  /* Retail */
  .pillrow{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:3px}
  .pillrow::-webkit-scrollbar{display:none}
  .pillrow .pill{flex:0 0 auto;white-space:nowrap}
  .retail-forecast-banner{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;text-align:left;padding:18px!important}
  .retail-forecast-banner b{justify-self:start}
  .retail-city-summary{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px!important;padding-bottom:4px}
  .retail-city-summary .card{flex:0 0 78vw;scroll-snap-align:start}
  .retail-plan-controls,.plan-audience-tabs{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;gap:8px!important}
  .retail-plan-controls>*{flex:0 0 auto}
  .retail-overview__period,.retail-overview__filters,.retail-overview__tabs{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important}
  .retail-overview__period>*{flex:0 0 auto}
  .retail-overview__summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .retail-overview__split{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .retail-forecast-modal__hero{grid-template-columns:1fr!important;text-align:left!important}
  .retail-forecast-modal__hero>span{transform:rotate(90deg);justify-self:start}
  .retail-forecast-modal__cities{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important}
  .retail-forecast-modal__cities>button{flex:0 0 76vw}
  .retail-plan-progress__levels,.retail-plan-editor__levels{grid-template-columns:1fr!important}
  .retail-forecast-department{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}

  /* Wholesale overview and client base */
  .wholesale-nav{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:4px!important;position:sticky;top:60px;z-index:12;background:var(--bg);padding:8px 0!important;scrollbar-width:none}
  .wholesale-nav::-webkit-scrollbar{display:none}
  .wholesale-nav>button{flex:0 0 auto;white-space:nowrap}
  .wholesale-nav__create{margin-left:6px!important}
  .wholesale-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .wholesale-filters>*{min-width:0!important;width:100%!important}
  .wholesale-filters__quick{grid-column:1/-1;display:flex!important;overflow-x:auto}
  .wholesale-filters__or{display:none!important}
  .wholesale-kpis,.wholesale-client-kpis{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important;gap:10px!important;scroll-snap-type:x mandatory}
  .wholesale-kpis>*,.wholesale-client-kpis>*{flex:0 0 76vw;scroll-snap-align:start}
  .wholesale-attention{display:grid!important;grid-template-columns:1fr!important}
  .wholesale-overview-grid,.wholesale-clients-layout{grid-template-columns:1fr!important}
  .wholesale-client-detail{display:none!important}
  .wholesale-client-tools{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .wholesale-client-search{width:100%!important}
  .wholesale-client-citytabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .wholesale-client-citytabs button{flex:0 0 auto}
  .wholesale-subview__head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .wholesale-subview__total{text-align:left!important}

  /* Client directory */
  .client-directory-modal__toolbar,.client-directory-modal__filters{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .client-directory-modal__filters label{width:100%!important}
  .client-kpi-modal__hint{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}
  .client-side-list article{grid-template-columns:1fr auto!important;gap:8px!important}
  .wholesale-client-finance{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Receivables */
  .receivable-city-grid,.receivables-city-grid{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important;gap:10px!important}
  .receivable-city-grid>*,.receivables-city-grid>*{flex:0 0 78vw}
  .receivable-actions,.receivables-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}

  /* Reports and analytics */
  .reports-toolbar,.reports-filters,.analytics-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .reports-toolbar>*,.reports-filters>*,.analytics-toolbar>*{min-width:0!important;width:100%!important}
  .report-tabs,.analytics-tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .analytics-chart{min-height:260px!important;overflow-x:auto!important}
  .analytics-kpi-parts{min-width:260px}
}

@media(max-width:430px){
  .dashboard-cards,.retail-overview__summary,.analytics-summary,.wholesale-client-finance{grid-template-columns:1fr!important}
  .dashboard-filter,.section-period-toolbar,.wholesale-filters,.reports-toolbar,.reports-filters,.analytics-toolbar{grid-template-columns:1fr!important}
  .retail-city-summary .card,.wholesale-kpis>*,.wholesale-client-kpis>*,.retail-forecast-modal__cities>button{flex-basis:86vw}
  .retail-forecast-department{grid-template-columns:1fr!important}
}
@media(max-width:420px){
  .tools{grid-template-columns:1fr!important}
  .payroll-modern-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .payroll-toolbar-actions{grid-template-columns:1fr 1fr!important}
  .task-metrics,.payroll-metrics,.cards,.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #topbar h1{max-width:34vw}
  .sc-mobile-day{min-height:49px}
}

/* Mobile employee directory: readable cards instead of a desktop-width table. */
@media(max-width:768px){
  .employee-toolbar{padding:12px!important}
  .employee-toolbar__top{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .employee-toolbar__top .tools{grid-template-columns:1fr 1fr!important}
  .employee-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .employee-filters .employee-search{grid-column:1/-1!important}
  .employee-filters select,.employee-filters .btn{width:100%!important;min-width:0!important}
  .employee-stat-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .employee-stat{min-width:0!important;min-height:94px!important;padding:10px!important;grid-template-columns:36px minmax(0,1fr)!important}
  .employee-stat__icon{width:36px!important;height:36px!important}
  .employee-stat small,.employee-stat em{font-size:.64rem!important;line-height:1.2!important}
  .employee-stat strong{font-size:1.35rem!important}
  .employee-city-tabs{display:flex!important;max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .employee-city-tabs>*{flex:0 0 auto;white-space:nowrap}
  .employee-table-wrap{overflow:visible!important;padding:0 8px 10px!important}
  .employee-table{display:block!important;min-width:0!important;width:100%!important}
  .employee-table thead{display:none!important}
  .employee-table tbody{display:grid!important;gap:9px!important}
  .employee-table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}
  .employee-table td{display:flex!important;min-width:0;padding:8px 10px!important;border-bottom:1px solid #edf1f6!important}
  .employee-table td:first-child,.employee-table td:nth-child(6),.employee-table td:last-child{grid-column:1/-1}
  .employee-table td:nth-child(3),.employee-table td:nth-child(4),.employee-table td:nth-child(5){font-size:.72rem;color:var(--muted)}
  .employee-table td:nth-child(8){justify-content:flex-end}
  .employee-table td:last-child{justify-content:flex-end;border-bottom:0!important;background:#f8faff}
  .employee-person{width:100%!important;text-align:left}
  .employee-row-actions{display:grid!important;grid-template-columns:repeat(4,42px);gap:7px!important}
  .employee-row-actions .icon-btn{width:42px!important;height:42px!important}
  .employee-detail-modal{padding:0!important}
  .employee-drawer{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:14px!important}
  .employee-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .employee-detail-tabs{display:flex!important;max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .employee-detail-tabs button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:430px){
  .employee-toolbar__top .tools{grid-template-columns:1fr!important}
  .employee-filters{grid-template-columns:1fr!important}
  .employee-stat-grid{grid-template-columns:1fr 1fr!important}
}

/* Mobile interaction polish: keep controls reachable and show one task lane at a time. */
@media(max-width:768px){
  .task-workspace-modern .task-main-tabs{position:relative;min-height:54px;padding-right:62px!important}
  .task-workspace-modern .task-main-tabs .primary{position:fixed!important;z-index:196;right:14px;bottom:78px;width:54px!important;height:54px!important;margin:0!important;padding:0!important;border-radius:50%!important;box-shadow:0 8px 24px rgba(35,103,230,.3);font-size:0!important}
  .task-workspace-modern .task-main-tabs .primary::before{content:'+';font-size:1.75rem;font-weight:500;line-height:1}
  .task-workspace-modern .task-viewbar{display:grid!important;grid-template-columns:repeat(3,minmax(0,auto)) 1fr;overflow:visible!important;gap:5px!important}
  .task-workspace-modern .task-viewbar>div{display:contents!important}
  .task-workspace-modern .task-viewbar>label{grid-column:1/-1;display:grid!important;grid-template-columns:auto minmax(0,1fr);width:100%;margin-top:3px}
  .task-workspace-modern .task-viewbar select{min-width:0!important;width:100%!important}
  .task-workspace-modern .task-sidebar{order:initial!important}
  .task-workspace-modern .task-board{display:flex!important;grid-template-columns:none!important;gap:9px!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:7px;-webkit-overflow-scrolling:touch}
  .task-workspace-modern .task-column{flex:0 0 calc(100vw - 28px)!important;min-width:calc(100vw - 28px)!important;scroll-snap-align:start;scroll-snap-stop:always}
  .task-workspace-modern .task-column-body{min-height:86px}
  .task-workspace-modern .task-sidebar{margin-top:2px}
  .task-workspace-modern .task-mini-calendar .task-month-grid button,.task-workspace-modern .task-mini-calendar .task-month-grid span{min-height:34px}
  .task-workspace-modern .task-metrics>button{grid-template-columns:38px minmax(0,1fr)!important;min-height:76px!important}
  .task-workspace-modern .task-metrics>button strong{font-size:1.35rem!important}

  .payroll-metrics>button{min-height:82px!important}
  .payroll-metrics>button small,.payroll-metrics>button em{font-size:.64rem!important;line-height:1.2}
  .payroll-metrics strong{font-size:1.2rem!important}
  .payroll-modern-toolbar label>span{font-size:.66rem}
  .payroll-modern-toolbar input,.payroll-modern-toolbar select{height:42px}
  .payroll-list-head{align-items:stretch!important;flex-direction:column!important;gap:9px!important;padding:10px!important}
  .payroll-list-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%}
  .payroll-list-tools input{width:100%!important;min-width:0}

  .task-form-grid,.employee-form-grid,.client-form-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* Mobile workflow completion: tasks, forms and dense business screens. */
@media(max-width:768px){
  /* The date panel is a separate mobile view. It must not squeeze the board. */
  .task-workspace--kanban .task-sidebar,
  .task-workspace--list .task-sidebar{display:none!important}
  .task-workspace--calendar .task-viewbar>label{display:none!important}
  .task-workspace-modern .task-content-grid>main{min-width:0!important;width:100%!important}
  .task-workspace-modern .task-quickbar{position:sticky;z-index:12;top:0;padding:8px;background:#eef3fa}
  .task-workspace-modern .task-search{height:44px}
  .task-workspace-modern .task-date-chip{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}
  .task-workspace-modern .task-date-chip input{width:100%!important;min-width:0!important}
  .task-workspace-modern .task-main-tabs{margin-bottom:6px;background:#fff;border-radius:10px}
  .task-workspace-modern .task-metrics{margin:8px 0}
  .task-workspace-modern .task-column{border-radius:12px!important}
  .task-workspace-modern .task-column>header{position:sticky;z-index:2;top:0;background:inherit}

  .task-editor{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding-bottom:8px}
  .task-editor>.field,.task-editor-wide,.task-assignees{grid-column:1!important;min-width:0!important;margin:0!important}
  .task-editor textarea{min-height:82px}
  .task-assignees{display:grid!important;grid-template-columns:1fr 1fr;max-height:150px!important;overflow:auto;padding:9px!important}
  .task-assignees legend{grid-column:1/-1}
  .task-assignees label{min-width:0;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .task-datetime{display:grid!important;grid-template-columns:minmax(0,1fr) 68px 10px 68px!important;gap:5px!important;width:100%!important;min-width:0!important}
  .task-datetime input,.task-datetime select{min-width:0!important;width:100%!important;padding-inline:7px!important}
  .task-check-row{display:grid!important;grid-template-columns:20px minmax(0,1fr) 40px!important;width:100%!important;min-width:0!important}
  .task-check-row input{min-width:0!important}

  /* Generic dense reports stay inside the viewport and remain operable. */
  .dashboard-grid,.analytics-grid,.report-grid,.retail-grid,.wholesale-grid{grid-template-columns:minmax(0,1fr)!important}
  .stats,.stat-grid,.summary-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .table-wrap table{min-width:680px}
  .modal-grid,.form-grid{grid-template-columns:minmax(0,1fr)!important}
  .modal-grid>*{min-width:0!important}
  .toolbar,.view-toolbar{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .toolbar>*{flex:0 0 auto}
}

@media(max-width:430px){
  .task-datetime{grid-template-columns:minmax(0,1fr) 62px 8px 62px!important}
  .task-assignees{grid-template-columns:1fr!important}
  .task-assignees legend{grid-column:1}
  .task-workspace-modern .task-column{flex-basis:calc(100vw - 20px)!important;min-width:calc(100vw - 20px)!important}
  .stats,.stat-grid,.summary-grid,.metric-grid{grid-template-columns:1fr 1fr!important}
}

/* Mobile card tables for access management and cash reports. */
@media(max-width:768px){
  .accounts-panel .panel-head,
  .cash-report-panel .panel-head,
  .cash-withdrawals-panel .panel-head,
  .cash-archive-editor .panel-head{align-items:stretch!important;flex-direction:column!important;gap:10px!important}
  .accounts-panel .panel-head .tools,
  .cash-report-panel .panel-head .tools,
  .cash-withdrawals-panel .panel-head .tools,
  .cash-archive-editor .panel-head .tools{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:8px!important}
  .cash-report-panel .panel-head select,
  .cash-report-panel .panel-head .btn,
  .cash-withdrawals-panel .panel-head .btn,
  .cash-archive-editor .panel-head .btn{width:100%!important;min-width:0!important}
  .cash-archive-meta,.cash-archive-totals{grid-template-columns:minmax(0,1fr)!important}

  .accounts-panel .table-wrap,
  .cash-report-panel .table-wrap,
  .cash-withdrawals-panel .table-wrap,
  .cash-archive-editor .table-wrap{overflow:visible!important}
  .accounts-panel table,
  .cash-report-panel table,
  .cash-withdrawals-panel table,
  .cash-archive-editor table{display:block!important;min-width:0!important;width:100%!important}
  .accounts-panel table>tbody,
  .cash-report-panel table>tbody,
  .cash-withdrawals-panel table>tbody,
  .cash-archive-editor table>tbody{display:grid!important;gap:9px!important;width:100%!important}
  .accounts-panel tr,
  .cash-report-panel tr,
  .cash-withdrawals-panel tr,
  .cash-archive-editor tr{display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,39,75,.03)}
  .accounts-panel tr:first-child,
  .cash-report-panel tr:first-child,
  .cash-withdrawals-panel tr:first-child,
  .cash-archive-editor tr:first-child{display:none!important}
  .accounts-panel td,
  .cash-report-panel td,
  .cash-withdrawals-panel td,
  .cash-archive-editor td{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:7px 0!important;border:0!important;text-align:left!important;white-space:normal!important;min-width:0!important}
  .accounts-panel td::before,
  .cash-report-panel td::before,
  .cash-withdrawals-panel td::before,
  .cash-archive-editor td::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;line-height:1.35}
  .accounts-panel td.empty,
  .cash-report-panel td.empty,
  .cash-withdrawals-panel td.empty,
  .cash-archive-editor td.empty{display:block!important;text-align:center!important}
  .accounts-panel td.empty::before,
  .cash-report-panel td.empty::before,
  .cash-withdrawals-panel td.empty::before,
  .cash-archive-editor td.empty::before{display:none!important}
  .accounts-panel td[data-label="Действия"],
  .cash-report-panel td[data-label="Действия"],
  .cash-withdrawals-panel td[data-label="Действия"],
  .cash-archive-editor td[data-label="Действия"]{align-items:center!important}
  .accounts-panel td[data-label="Действия"] .btn,
  .cash-report-panel td[data-label="Действия"] .btn,
  .cash-withdrawals-panel td[data-label="Действия"] .btn,
  .cash-archive-editor td[data-label="Действия"] .btn{min-height:40px}
}

/* Final mobile overrides for the simplified Tasks workspace. */
@media(max-width:768px){
  .task-workspace-modern{padding-bottom:140px;max-width:100%;overflow-x:hidden}
  .task-workspace-modern .task-main-tabs{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 54px!important;overflow:visible!important;padding-right:0!important}
  .task-workspace-modern .task-main-tabs>button:not(.primary){min-width:0!important;padding:13px 8px!important;white-space:normal!important}
  .task-workspace-modern .task-main-tabs .task-create-button{right:14px!important;bottom:82px!important}
  .task-workspace-modern .task-quickbar{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:0!important;background:transparent!important}
  .task-workspace-modern .task-quick-search{grid-column:1/-1!important;width:100%!important;min-height:46px}
  .task-workspace-modern .task-quick-scope{grid-column:1/-1!important}
  .task-workspace-modern .task-viewbar{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
  .task-workspace-modern .task-viewbar>div{display:flex!important;width:100%!important}
  .task-workspace-modern .task-viewbar>div>button{flex:1 1 0!important;min-width:0!important;padding-inline:7px!important}
  .task-workspace-modern .task-viewbar>label{display:grid!important;grid-column:auto!important;width:100%!important}
  .task-workspace-modern .task-calendar,.task-workspace-modern .task-calendar-month,.task-workspace-modern .task-calendar-week,.task-workspace-modern .task-calendar-day{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
  .task-workspace-modern .task-calendar .task-day-empty,.task-workspace-modern .task-calendar .task-day.is-empty{display:none!important}
  .task-workspace-modern .task-calendar .task-day{min-height:0!important}
  .task-workspace-modern .task-column{flex:0 0 calc(100vw - 28px)!important;min-width:calc(100vw - 28px)!important}
  .task-editor-simple{display:block!important}.task-editor-main,.task-editor-advanced-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .task-editor-main>.field,.task-editor-advanced-grid>.field,.task-editor-advanced-grid>.task-editor-wide{grid-column:1!important}
}
@media(max-width:768px){
  .task-workspace-modern .task-main-tabs:has(.task-create-button:nth-child(2)){grid-template-columns:minmax(0,1fr) 54px!important}
}

/* PAY-01/PAY-02 actions: six stable desktop zones, safe wrapping on narrow screens. */
.payroll-modern-toolbar{grid-template-columns:minmax(145px,.8fr) minmax(175px,1fr) minmax(165px,1fr) minmax(165px,1fr) minmax(175px,1fr) auto}
.payroll-modern-toolbar label{min-width:0}
.payroll-toolbar-actions{align-items:center;flex-wrap:wrap;min-width:0}
.payroll-toolbar-actions .btn{white-space:nowrap}
.payroll-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.payroll-list-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.payroll-list-navigation{display:grid;gap:8px;min-width:0}
.payroll-section-tabs{flex-wrap:wrap}
.payroll-detail-identity{gap:12px}
.payroll-detail-identity>div{min-width:0}
.payroll-detail-identity strong,.payroll-detail-identity small{overflow-wrap:anywhere}
.payroll-auto-grid strong,.payroll-live-totals strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#modal-box:has(.payroll-detail) #modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}
#modal-box:has(.payroll-detail) #modal-actions .btn{white-space:nowrap}
@media(max-width:1450px){
  .payroll-modern-toolbar{grid-template-columns:repeat(5,minmax(140px,1fr))}
  .payroll-toolbar-actions{grid-column:1/-1;justify-content:flex-end}
  .payroll-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1250px){
  .payroll-modern-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr))}
  .payroll-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .payroll-list-head{grid-template-columns:1fr;align-items:stretch}
}
@media(max-width:600px){
  .payroll-modern-toolbar{grid-template-columns:1fr!important}
  .payroll-toolbar-actions{display:grid!important;grid-template-columns:1fr!important}
  .payroll-metrics{grid-template-columns:1fr!important}
  .payroll-section-tabs button{flex:1 1 auto}
  .payroll-status-tabs{width:100%}
  #modal-box:has(.payroll-detail) #modal-actions{display:grid!important;grid-template-columns:1fr 1fr}
  #modal-box:has(.payroll-detail) #modal-actions .btn{width:100%;white-space:normal}
}
