body{font-family:Arial,sans-serif;background:#f5f6f8;margin:0;color:#1f2937}.wrap{max-width:1250px;margin:auto;padding:24px}h1{margin:0 0 18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.cards div{background:white;padding:16px;border-radius:14px;box-shadow:0 1px 4px #0001}.cards b{font-size:30px}nav{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;align-items:center}a,button{color:#0f766e}nav a,button{background:white;border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;text-decoration:none}button{cursor:pointer}.filter,.gridform{display:flex;gap:10px;flex-wrap:wrap;background:white;padding:14px;border-radius:14px;margin:16px 0;align-items:flex-start}.inline{display:inline;margin:0}input,select{padding:9px;border:1px solid #d1d5db;border-radius:8px}table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden;margin-bottom:18px}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}th{background:#eef2f7}.bad{color:#dc2626}.warn{color:#d97706}code{background:#eee;padding:2px 5px;border-radius:4px}.pvzbox{width:100%;max-height:190px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px;margin-top:8px}.checks label{font-size:14px}

.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e5e7eb;font-size:12px}.badge.high{background:#fed7aa}.badge.critical{background:#fecaca;color:#991b1b}.badge.normal{background:#dbeafe}.badge.low{background:#dcfce7}
/* v10 UI */
.v10{max-width:1500px}.topnav{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.topnav a,.btn{background:#fff;border:1px solid #d7dee8;border-radius:12px;padding:11px 14px;text-decoration:none;color:#0f6b6d;box-shadow:0 1px 3px rgba(0,0,0,.04)}.topnav a:hover,.btn:hover{background:#eefafa}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;margin:18px 0}.hero-card{background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 4px 14px rgba(31,47,70,.08);border:1px solid #eef1f5}.hero-card span{display:block;color:#667085;margin-bottom:8px}.hero-card b{font-size:30px}.hero-card.good b{color:#159447}.hero-card.bad b{color:#d92d20}.hero-card.warn b{color:#dc6803}.layout2{display:grid;grid-template-columns:270px 1fr;gap:18px;align-items:start}.sidebar{background:#fff;border-radius:18px;padding:16px;border:1px solid #edf0f5;position:sticky;top:10px;max-height:calc(100vh - 25px);overflow:auto}.sidebar summary{font-weight:700;margin:10px 0;cursor:pointer}.full{width:100%;box-sizing:border-box}.pvz-line{display:block;padding:4px 0}.panel{background:#fff;border-radius:18px;padding:18px;margin-bottom:18px;border:1px solid #edf0f5;box-shadow:0 3px 12px rgba(31,47,70,.05)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.status-tile{display:block;border-radius:14px;border:1px solid #e7eaf0;padding:12px;text-decoration:none;color:#17202a;background:#fafafa}.status-tile b,.status-tile small,.status-tile span{display:block}.status-tile small{color:#667085;margin:4px 0}.status-tile.opened{background:#ecfdf3;border-color:#abefc6}.status-tile.online{background:#fffaeb;border-color:#fedf89}.status-tile.closed{background:#fef3f2;border-color:#fecdca}.compact{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}.warn-text{color:#dc6803;font-weight:700}.badge{display:inline-block;border:1px solid #d0d5dd;border-radius:999px;padding:4px 9px;background:#f9fafb}.badge.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}.employee-table td{vertical-align:top}.edit-row{display:none;background:#fbfdff}.access-details{grid-column:1/-1}.modalchecks{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fafafa}.singlecol{display:block}.calendar-scroll{overflow:auto}.calendar{min-width:900px}.calendar th{position:sticky;top:0;background:#eef2f6}.calendar td{min-width:130px;vertical-align:top;height:70px}.shift-pill{font-size:12px;border-radius:9px;padding:6px;margin:3px 0;background:#ecfdf3;border:1px solid #abefc6}.shift-pill.pending{background:#fffaeb;border-color:#fedf89}.shift-pill.rejected{background:#fef3f2;border-color:#fecdca}
@media(max-width:900px){.hero-grid{grid-template-columns:repeat(2,1fr)}.layout2{grid-template-columns:1fr}.sidebar{position:static}.topnav a{flex:1 1 140px}}
.notice{background:#eefafa;border:1px solid #b8e6e6;color:#0f5f61;border-radius:14px;padding:12px 14px;margin:12px 0 18px}.small{padding:7px 10px;font-size:13px}.table-wrap{overflow:auto}.compact-table{min-width:950px}.muted{color:#667085}.ellipsis{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-stats{grid-template-columns:repeat(4,minmax(180px,1fr))}.employee-table th,.employee-table td{white-space:nowrap}.employee-table td:nth-child(5){white-space:normal;max-width:300px}
@media(max-width:900px){.employee-stats{grid-template-columns:repeat(2,1fr)}.employee-table th,.employee-table td{white-space:normal}}
/* v13 calendar manager view */
.calendar-pvz .sticky-col{position:sticky;left:0;background:#fff;z-index:1;min-width:160px;box-shadow:1px 0 0 #e5e7eb;}
.calendar-pvz td.missing{background:#fff1f2;}
.shift-pill.empty{background:#fee2e2;border-color:#fecaca;color:#991b1b;}
.shift-pill.fact{background:#dbeafe;border-color:#bfdbfe;color:#1e40af;}
.tiny-link{display:inline-block;margin-top:6px;font-size:12px;color:#0f766e;text-decoration:none;border-bottom:1px dotted #0f766e;}
.calendar-scroll{overflow:auto;max-width:100%;}
.calendar td,.calendar th{vertical-align:top;min-width:135px;}
.calendar-pvz td{height:58px;}
.employee-schedule-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end}.employee-schedule-form .weekday-box{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.calendar-pvz .missing{background:#fff0f0}.shift-pill.empty{background:#ffe4e6;border-color:#fecdd3;color:#991b1b}.tiny-link{display:inline-block;margin-top:6px;font-size:12px}
@media(max-width:900px){.employee-schedule-form{grid-template-columns:1fr}}

/* v14: monthly employee schedule picker */
.month-controls { display:grid; grid-template-columns: repeat(6, minmax(120px,1fr)); gap:12px; align-items:end; }
.calendar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:14px 0; }
.month-grid-wrap { border:1px solid #e5e7eb; border-radius:16px; padding:12px; background:#fff; }
.month-weekdays, .month-grid { display:grid; grid-template-columns: repeat(7, minmax(72px, 1fr)); gap:8px; }
.month-weekdays b { text-align:center; padding:8px 4px; color:#475569; }
.month-day { min-height:72px; border:1px solid #e5e7eb; border-radius:14px; padding:8px; cursor:pointer; background:#f8fafc; display:flex; flex-direction:column; gap:8px; user-select:none; }
.month-day input { width:auto; }
.month-day.empty { border:0; background:transparent; cursor:default; }
.month-day .day-num { font-size:20px; font-weight:800; }
.month-day .day-status { color:#64748b; font-size:13px; }
.month-day.selected { background:#dcfce7; border-color:#86efac; }
.month-day.selected .day-status { color:#15803d; font-weight:700; }
.primary { font-weight:700; }
@media (max-width: 900px){ .month-controls { grid-template-columns: 1fr 1fr; } .month-weekdays, .month-grid { grid-template-columns: repeat(7, minmax(42px,1fr)); gap:4px; } .month-day { min-height:58px; padding:5px; } }


/* v15.1: employee schedule submit emphasis */
.selected-counter{
  display:inline-flex;align-items:center;gap:6px;background:#ecfdf3;border:1px solid #86efac;color:#166534;
  border-radius:999px;padding:9px 14px;font-weight:700;
}
.schedule-submit-box{margin-top:18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
button.submit-schedule,.submit-schedule{
  background:#16a34a!important;color:#fff!important;border:0!important;border-radius:16px!important;
  padding:18px 32px!important;font-size:20px!important;font-weight:800!important;
  box-shadow:0 8px 18px rgba(22,163,74,.25)!important;min-width:360px;
}
button.submit-schedule:hover,.submit-schedule:hover{background:#15803d!important;transform:translateY(-1px);}
.submit-help{font-size:14px;max-width:620px;}
@media(max-width:700px){button.submit-schedule,.submit-schedule{width:100%;min-width:0;font-size:18px!important;}.schedule-submit-box{align-items:stretch;}}

/* v16 notification center */
.large{font-size:20px;padding:16px 24px;border-radius:14px}
.primary.large{background:#10b981;color:#fff;border:0;font-weight:800}
.pvz-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:260px;overflow:auto;border:1px solid #e5e7eb;padding:12px;border-radius:12px;background:#fff}
.bigcheck{font-size:18px;font-weight:700}
.urgent-messages{border:2px solid #f59e0b}
.pvz-message{border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin:12px 0;background:#f8fafc}
.pvz-message.high{background:#fffbeb;border-color:#f59e0b}
.pvz-message.critical{background:#fef2f2;border-color:#ef4444}
.good-text{color:#047857;font-weight:700}
.bad{color:#b91c1c;font-weight:700}

.pvz-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:12px 0 18px}.pvz-check{display:flex;flex-direction:column;gap:4px;border:1px solid #d7dee8;border-radius:12px;padding:10px;background:#fff}.pvz-check input{align-self:flex-start;transform:scale(1.2)}.pvz-check span{font-weight:700}.pvz-check small{color:#667085}.muted-card{background:#f4f5f7;color:#8a94a6}.muted-row{opacity:.55}.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.92);padding:12px 0;border-top:1px solid #e5e7eb}.big{font-size:18px;padding:14px 22px;border-radius:12px}.primary{background:#16a34a;color:#fff;border:0}.muted{color:#667085}


/* v17: simplified operator interface */
.operator-main-panel{border:2px solid #dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.operator-status-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}
.operator-status-box>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px}
.operator-status-box span{display:block;margin-bottom:8px}
.operator-status-box b{font-size:28px;color:#111827}
.operator-action-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px;margin-top:10px}
.operator-action-grid form{margin:0}.operator-action-grid button{width:100%}
.operator-btn{border:0!important;border-radius:22px!important;padding:28px 20px!important;font-size:26px!important;font-weight:900!important;letter-spacing:.4px!important;box-shadow:0 10px 22px rgba(15,23,42,.14)!important;color:#fff!important;min-height:110px;line-height:1.15;transition:transform .08s ease, filter .08s ease}
.operator-btn:hover{transform:translateY(-2px);filter:brightness(.98)}
.operator-btn.start{background:#16a34a!important}.operator-btn.lunch{background:#f97316!important}.operator-btn.back{background:#2563eb!important}.operator-btn.end{background:#dc2626!important}
.message-popup{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.message-popup.hidden{display:none}.message-popup-card{background:#fff;border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.35);width:min(680px,96vw);padding:28px;border:3px solid #f59e0b}.message-popup-card h2{font-size:28px;margin:0 0 8px}.message-popup-card p{font-size:22px;line-height:1.45;white-space:pre-wrap}.operator-popup-read{background:#16a34a!important;color:#fff!important;border:0!important;border-radius:18px!important;padding:18px 28px!important;font-size:22px!important;font-weight:900!important;width:100%}
.employee-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.employee-tabs .btn{text-align:center;font-weight:800}
@media(max-width:760px){.operator-action-grid{grid-template-columns:1fr}.operator-btn{font-size:22px!important;min-height:92px}.operator-status-box b{font-size:22px}.message-popup-card p{font-size:18px}}

/* v18.2: reliable notification visibility */
.unread-badge{position:sticky;top:8px;z-index:5000;background:#fef3c7;border:2px solid #f59e0b;color:#92400e;border-radius:16px;padding:14px 18px;font-size:20px;font-weight:900;margin:12px 0;box-shadow:0 8px 18px rgba(245,158,11,.18)}
.unread-badge.hidden{display:none}.notify-permission{background:#eef6ff!important;border-color:#bfdbfe!important;font-weight:800!important}
.message-popup{z-index:99999!important}.message-popup.critical-popup{background:rgba(127,29,29,.72)!important}.message-popup.high-popup{background:rgba(120,53,15,.60)!important}.message-popup.critical-popup .message-popup-card{border-color:#dc2626!important;box-shadow:0 0 0 8px rgba(220,38,38,.18),0 28px 90px rgba(0,0,0,.42)!important}.message-popup.high-popup .message-popup-card{border-color:#f59e0b!important}.message-popup-card{animation:pvzPopupPulse .9s ease-out 1}
@keyframes pvzPopupPulse{0%{transform:scale(.96);opacity:.6}100%{transform:scale(1);opacity:1}}

/* v18.3 — аккуратный интерфейс центра уведомлений */
.notify-panel{padding:24px!important}.notify-panel h2{margin-top:0}.notify-form{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,440px);gap:24px;align-items:start}.notify-left,.notify-right{display:flex;flex-direction:column;gap:10px}.field-label{font-weight:800;margin-top:4px}.notify-textarea{min-height:150px;resize:vertical}.notify-priority{max-width:260px}.notify-all{display:flex;gap:10px;align-items:center;margin:8px 0 4px;font-size:18px;font-weight:800;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.notify-all input{transform:scale(1.3)}.notify-send{margin-top:8px;width:100%;min-height:74px;font-size:22px!important;font-weight:900!important;border-radius:18px!important}.notify-right{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px}.notify-pvz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notify-pvz-head h3{margin:0 0 4px}.notify-tools{display:flex;gap:6px}.btn-mini{padding:8px 10px!important;border-radius:9px!important;background:white!important}.notify-search{box-sizing:border-box}.notify-pvz-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:360px;overflow:auto;padding:8px;border:1px solid #e5e7eb;border-radius:14px;background:white}.notify-pvz-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #edf0f5;border-radius:10px;background:#fff}.notify-pvz-item:hover{background:#ecfdf5;border-color:#bbf7d0}.notify-pvz-item input{transform:scale(1.15)}.badge.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.badge.warn-badge{background:#fffbeb;border-color:#fed7aa;color:#b45309}
@media(max-width:900px){.notify-form{grid-template-columns:1fr}.notify-pvz-list{grid-template-columns:1fr}.notify-send{min-height:66px}}


/* v19 marketplace filters */
.marketplace-filter{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.market-pill{background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:10px 14px;text-decoration:none;color:#0f766e;font-weight:800}.market-pill.active{background:#0f766e;color:#fff;border-color:#0f766e}.market-filter{display:flex;flex-direction:column;gap:6px;margin:10px 0 12px}.market-filter select{width:100%}.notify-pvz-item small{margin-left:auto;font-size:11px}.inline select{padding:6px 8px}

/* v21: упорядоченная навигация вместо россыпи кнопок */
.main-nav-v21{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:18px;
  margin:0 0 24px;
  box-shadow:0 8px 26px rgba(15,23,42,.06);
}
.nav-brand{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}.brand-link{font-size:22px;font-weight:900;color:#0f172a;text-decoration:none}.brand-sub{color:#64748b;font-size:14px}.nav-groups{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px}.nav-group{background:#f8fafc;border:1px solid #edf2f7;border-radius:16px;padding:12px}.nav-title{font-weight:900;color:#0f172a;margin-bottom:10px;font-size:15px}.nav-links{display:flex;flex-direction:column;gap:7px}.nav-links a{display:block;background:#fff;border:1px solid #dbe3ee;border-radius:10px;padding:9px 10px;text-decoration:none;color:#0f766e;font-weight:700;box-shadow:none}.nav-links a:hover{background:#ecfeff;border-color:#99f6e4}.topnav{display:none!important}
@media(max-width:1200px){.nav-groups{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:780px){.nav-groups{grid-template-columns:1fr}.main-nav-v21{padding:14px}.brand-link{font-size:19px}.nav-group{padding:10px}.nav-links{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px}}
@media(max-width:520px){.nav-links{grid-template-columns:1fr}}
/* v22: множественные группы ПВЗ */
.group-check-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.group-checks{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:6px;max-height:150px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}.group-checks label{white-space:nowrap}.compact-table td{vertical-align:top}.notify-group-list{max-height:150px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;padding:8px;background:#f8fafc;margin:8px 0 18px}.group-filter{margin-top:-8px;margin-bottom:14px}.pvz-line small{color:#64748b;margin-left:4px}
@media(max-width:900px){.group-checks{grid-template-columns:1fr}}
.task-form{align-items:start}.task-form .wide{grid-column:1/-1}.task-form textarea{width:100%;min-height:110px}.checks.compact{max-height:160px}.task-card{border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin:12px 0;background:#fff}.task-card h3{margin:0 0 8px}.task-checklist{display:grid;gap:10px;margin-top:12px}.check-line{display:block;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}.check-line input{transform:scale(1.2);margin-right:8px}.task-checklist input[name=note]{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:10px}.notice.good{background:#ecfdf5;border:1px solid #bbf7d0;color:#047857}.payroll-matrix-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:12px;margin:10px 0;color:#075985}

/* v24 simplified operator screen */
.operator-simple-head{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0}.operator-simple-head>div{background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 8px 28px rgba(15,23,42,.08)}.operator-simple-head span{display:block;color:#64748b;margin-bottom:8px}.operator-simple-head b{font-size:24px}.good-text{color:#15803d}.warn-text{color:#b45309}.operator-focus{padding:18px!important}.operator-action-grid.only-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.operator-action-grid.only-actions form{margin:0}.operator-btn{min-height:96px;font-size:26px;font-weight:900;border:none;border-radius:20px;color:white;cursor:pointer;width:100%;box-shadow:0 12px 28px rgba(15,23,42,.16)}.operator-btn.start{background:#16a34a}.operator-btn.lunch{background:#f97316}.operator-btn.back{background:#2563eb}.operator-btn.end{background:#dc2626}.small-service{margin-top:14px}.operator-service-area details.panel{padding:0;overflow:hidden}.operator-service-area summary{cursor:pointer;font-size:20px;font-weight:800;padding:18px 22px;background:#f8fafc;border-radius:18px}.operator-service-area details[open] summary{border-bottom:1px solid #e5e7eb;border-radius:18px 18px 0 0}.operator-service-area details>*:not(summary){margin:16px 22px}.task-popup-card ul{font-size:18px;line-height:1.7;text-align:left;max-width:720px;margin:10px auto}.hidden{display:none!important}@media(max-width:900px){.operator-simple-head{grid-template-columns:1fr 1fr}.operator-action-grid.only-actions{grid-template-columns:1fr}.operator-btn{font-size:22px;min-height:84px}}

/* v24.1: after login hide auth form and simplify operator header */
.login-panel { align-items: end; }
.login-big-btn { min-height: 48px; font-size: 18px; font-weight: 800; }
.operator-switch-cell { display:flex; align-items:center; justify-content:center; }
.switch-employee { display:inline-block; padding:10px 14px; border:1px solid #d0d7de; border-radius:12px; background:#fff; text-decoration:none; color:#0f766e; font-weight:800; }
.switch-employee:hover { background:#ecfeff; }
.operator-simple-head { grid-template-columns: repeat(4, minmax(160px,1fr)) minmax(170px, auto); }
@media (max-width: 1100px){ .operator-simple-head { grid-template-columns: 1fr 1fr; } }
/* v24.2: reliable due task popup */
.message-popup.task-active-popup{background:rgba(30,41,59,.70)!important;z-index:100000!important}
.task-active-popup .message-popup-card{border-color:#2563eb!important;box-shadow:0 0 0 8px rgba(37,99,235,.18),0 28px 90px rgba(0,0,0,.45)!important}
.task-popup-card h2{font-size:32px!important;color:#1d4ed8!important}
.task-popup-card #taskPopupBody{font-size:24px!important;font-weight:700!important}
.task-popup-card ul{background:#f8fafc;border-radius:16px;padding:16px 22px!important;margin:16px 0!important}
.task-popup-card li{font-size:20px;margin:8px 0}

/* v25 ultra-simple operator screen */
.operator-kiosk-body{background:#f3f6fb;}
.operator-kiosk-wrap{max-width:1180px;margin:0 auto;padding:18px 20px;}
.operator-title{font-size:30px;margin:8px 0 14px;text-align:center;}
.operator-kiosk-wrap > .nav{display:none!important;}
.operator-simple-head{position:sticky;top:0;z-index:5;background:#fff;border:1px solid #dbe4f0;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.07);padding:16px;margin-bottom:14px;}
.operator-simple-head b{font-size:22px;}
.break-text{color:#d97706!important;}
.v25-operator-screen{padding:18px!important;margin-top:12px;}
.v25-only-actions{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;}
.v25-only-actions form{margin:0;}
.v25-only-actions .operator-btn{width:100%;min-height:170px;border-radius:24px;font-size:30px;font-weight:900;line-height:1.18;letter-spacing:.4px;box-shadow:0 12px 28px rgba(15,23,42,.12);border:0;color:#fff;cursor:pointer;}
.v25-only-actions .operator-btn.start{background:linear-gradient(135deg,#16a34a,#22c55e);}
.v25-only-actions .operator-btn.lunch{background:linear-gradient(135deg,#f97316,#f59e0b);}
.v25-only-actions .operator-btn.back{background:linear-gradient(135deg,#2563eb,#38bdf8);}
.v25-only-actions .operator-btn.end{background:linear-gradient(135deg,#dc2626,#ef4444);}
.v25-only-actions .operator-btn:disabled{background:#cbd5e1!important;color:#64748b!important;box-shadow:none;cursor:not-allowed;filter:grayscale(.25);}
.operator-mini-tools{text-align:center;margin-top:12px;}
.operator-service-area{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;}
.operator-service-area details.panel{padding:14px;border-radius:16px;background:#fff;}
.operator-service-area details.panel summary{font-size:18px;font-weight:800;cursor:pointer;}
.message-popup{position:fixed!important;inset:0!important;z-index:99999!important;background:rgba(15,23,42,.62)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;}
.message-popup.hidden{display:none!important;}
.message-popup-card{max-width:760px;width:min(760px,96vw);background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.35);font-size:20px;}
.message-popup-card h2{font-size:32px;margin-top:0;}
.operator-popup-read{width:100%;padding:22px 24px;border:0;border-radius:18px;background:#16a34a;color:#fff;font-size:24px;font-weight:900;cursor:pointer;margin-top:18px;}
.critical-popup .message-popup-card{border:6px solid #dc2626;}
.high-popup .message-popup-card{border:6px solid #f97316;}
.task-active-popup .message-popup-card{border:6px solid #2563eb;}
@media(max-width:820px){.v25-only-actions{grid-template-columns:1fr}.v25-only-actions .operator-btn{min-height:140px}.operator-service-area{grid-template-columns:1fr}.operator-simple-head{position:static}.operator-simple-head b{font-size:18px}}

/* v26.1: fix operator month schedule calendar width */
.operator-service-area{
  display:block!important;
  margin-top:18px!important;
}
.operator-service-area details.panel{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 16px 0!important;
  padding:0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:visible!important;
}
.operator-service-area details.panel summary{
  padding:20px 24px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  font-size:22px!important;
}
.operator-service-area details[open] summary{
  border-bottom:1px solid #e5e7eb!important;
  border-radius:18px 18px 0 0!important;
}
.operator-service-area details.panel > *:not(summary){
  margin:20px 24px!important;
}
.employee-month-form{
  width:100%!important;
  max-width:none!important;
}
.employee-month-form .month-controls{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(160px,1fr))!important;
  gap:12px!important;
}
.month-grid-wrap{
  width:100%!important;
  overflow:visible!important;
  padding:16px!important;
}
.month-weekdays,
.month-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(110px,1fr))!important;
  gap:10px!important;
}
.month-day{
  min-height:96px!important;
  padding:12px!important;
  border-radius:14px!important;
}
.submit-schedule{
  width:100%!important;
  min-height:64px!important;
  font-size:22px!important;
  font-weight:900!important;
  background:#16a34a!important;
  color:#fff!important;
  border:0!important;
  border-radius:18px!important;
}
@media(max-width:1100px){
  .employee-month-form .month-controls{grid-template-columns:1fr 1fr!important;}
  .month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(80px,1fr))!important;gap:8px!important;}
}
@media(max-width:760px){
  .month-grid-wrap{overflow-x:auto!important;}
  .month-weekdays,.month-grid{min-width:760px!important;grid-template-columns:repeat(7,100px)!important;}
}

/* v26.5: bigger green save button in employee card */
.save-primary{
  min-height:54px!important;
  padding:14px 26px!important;
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  color:#fff!important;
  border:2px solid #16a34a!important;
  border-radius:14px!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(22,163,74,.22)!important;
  white-space:nowrap!important;
}
.save-primary:hover{
  background:linear-gradient(135deg,#15803d,#16a34a)!important;
  transform:translateY(-1px);
}
.save-primary:active{
  transform:translateY(0);
}
.gridform.modern .save-primary{
  justify-self:stretch;
}
@media(max-width:900px){
  .save-primary{width:100%!important;min-height:60px!important;font-size:20px!important;}
}

/* v26.6 schedule approval improvements */
.schedule-revision-alert{border:1px solid #f59e0b;background:#fff7ed;color:#7c2d12;border-radius:14px;padding:14px 18px;margin-bottom:16px}
.month-day.occupied{background:#fff1f2;border-color:#fecdd3;color:#991b1b;cursor:not-allowed;opacity:.92}
.month-day.occupied input{cursor:not-allowed}
.month-day.occupied .day-status{font-size:11px;line-height:1.15;color:#991b1b;font-weight:700}
.approve-btn{background:#16a34a!important;color:white!important;border-color:#16a34a!important;font-weight:800;border-radius:10px;padding:9px 14px}
.reject-btn{background:#f97316!important;color:white!important;border-color:#f97316!important;font-weight:800;border-radius:10px;padding:9px 14px}
.schedule-tools .big-green-save{font-size:18px;padding:14px 24px;background:#16a34a;color:white;border:0;border-radius:12px;font-weight:900;box-shadow:0 8px 20px rgba(22,163,74,.25)}


/* v26.7 employee card and birthday reminders */
.gridform.modern button.save-primary, button.save-primary, .save-primary{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  color:#fff!important;
  border:0!important;
  min-height:56px!important;
  padding:15px 30px!important;
  border-radius:14px!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 10px 24px rgba(22,163,74,.24)!important;
}
.gridform.modern button.save-primary:hover, button.save-primary:hover{background:linear-gradient(135deg,#15803d,#16a34a)!important;}
.quick-actions{border-left:5px solid #16a34a}
.quick-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.call-btn{background:#ecfdf5!important;border-color:#86efac!important;color:#166534!important;font-weight:800!important}
.copy-btn{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important}
.birthday-panel{border:1px solid #fde68a;background:#fffbeb}
.birthday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.birthday-card{background:#fff;border:1px solid #fcd34d;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px}
.birthday-card.today{border-color:#22c55e;background:#f0fdf4}
.birthday-card b{font-size:18px;color:#92400e}
.birthday-card.today b{color:#166534}
.birthday-card span{font-size:17px;font-weight:800}
.birthday-card small{color:#6b7280}
@media(max-width:760px){.quick-row .btn,.quick-row button{width:100%;text-align:center}.gridform.modern button.save-primary{width:100%!important}}
/* v26.7: submit buttons inside modern forms are green, not white */
.gridform.modern > button{
  background:#16a34a!important;
  color:#fff!important;
  border:0!important;
  font-weight:800!important;
  border-radius:12px!important;
  padding:12px 22px!important;
  box-shadow:0 6px 16px rgba(22,163,74,.18)!important;
}
.gridform.modern > button:hover{background:#15803d!important;}

/* v26.8 schedule planning */
.schedule-planning-overview .mini-cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin:14px 0 20px}
.schedule-planning-overview .mini-cards .card{padding:18px;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.07);border:1px solid #e5e7eb}
.schedule-planning-overview .mini-cards .card span{display:block;color:#64748b;margin-bottom:8px}
.schedule-planning-overview .mini-cards .card b{font-size:28px;color:#0f172a}
.schedule-planning-overview .bad,.bad{color:#dc2626!important}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.badge.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.badge.warn{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}
.big-green-save, button.big-green-save{background:#16a34a!important;color:white!important;border:0!important;border-radius:12px!important;font-weight:800!important;min-height:48px!important;padding:12px 26px!important;box-shadow:0 8px 20px rgba(22,163,74,.25)!important}
.big-green-save:hover, button.big-green-save:hover{background:#15803d!important;transform:translateY(-1px)}
@media(max-width:1000px){.schedule-planning-overview .mini-cards{grid-template-columns:1fr 1fr}.split-grid{grid-template-columns:1fr}}
.schedule-status-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.schedule-status-tabs .tab{padding:10px 14px;border:1px solid #d9e2ef;border-radius:12px;text-decoration:none;color:#172033;background:#fff;font-weight:700}.schedule-status-tabs .tab.active{background:#16a34a;color:#fff;border-color:#16a34a}.select-pvz-label{display:flex;align-items:center;gap:10px;border:2px solid #22c55e;border-radius:10px;padding:4px 8px;background:#f0fdf4;font-weight:700}.select-pvz{min-width:210px}.muted-row{opacity:.45}.shift-pill.corrected{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}.big-green-save,.btn-primary{background:#16a34a!important;color:#fff!important;border:0!important;border-radius:12px!important;font-weight:800!important;min-height:46px;padding:12px 22px!important;box-shadow:0 4px 12px rgba(22,163,74,.2)}

/* v27.0 monthly schedule planning */
.manager-morning .mini-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.manager-calendar-filter{align-items:flex-start;}
.pvzbox.compact{max-height:180px;overflow:auto;min-width:260px;}
.schedule-calendar-scroll{overflow:auto;border:1px solid #e5e7eb;border-radius:14px;background:#fff;max-height:70vh;}
.schedule-month-table{border-collapse:separate;border-spacing:0;min-width:1200px;width:max-content;font-size:13px;}
.schedule-month-table th,.schedule-month-table td{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;vertical-align:top;}
.schedule-month-table th{position:sticky;top:0;background:#f8fafc;z-index:3;padding:8px;}
.schedule-month-table .sticky-col{position:sticky;left:0;background:#fff;z-index:4;min-width:180px;box-shadow:2px 0 5px rgba(15,23,42,.04);}
.schedule-month-table th.sticky-col{z-index:5;background:#f8fafc;}
.schedule-month-table .pvz-name{font-weight:700;color:#0f172a;padding:10px;}
.schedule-cell{width:105px;min-width:105px;height:92px;padding:6px;border-radius:0;}
.schedule-cell .cell-day{font-weight:800;margin-bottom:4px;color:#0f172a;}
.schedule-cell .cell-emp{font-size:12px;line-height:1.2;margin:2px 0;padding:4px;border-radius:8px;background:rgba(255,255,255,.62);}
.schedule-cell.approved{background:#dcfce7;}
.schedule-cell.pending{background:#fef9c3;}
.schedule-cell.corrected{background:#dbeafe;}
.schedule-cell.rejected{background:#ffedd5;}
.schedule-cell.empty{background:#fee2e2;color:#991b1b;text-align:center;}
.schedule-cell.conflict{background:#fecaca;outline:3px solid #ef4444;}
.schedule-cell.closed{background:#f1f5f9;color:#94a3b8;}
.day-head.weekend{color:#dc2626;background:#fff7ed!important;}
.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:10px 0 14px;color:#475569;font-size:14px;}
.legend-dot{width:16px;height:16px;display:inline-block;border-radius:5px;margin-right:3px;border:1px solid rgba(15,23,42,.12);}
.legend-dot.approved{background:#dcfce7}.legend-dot.pending{background:#fef9c3}.legend-dot.corrected{background:#dbeafe}.legend-dot.rejected{background:#ffedd5}.legend-dot.empty{background:#fee2e2}.legend-dot.conflict{background:#fecaca;outline:2px solid #ef4444}
.small-save{padding:6px 12px!important;min-width:auto!important;height:auto!important;border-radius:8px!important;}
@media(max-width:900px){.schedule-calendar-scroll{max-height:65vh}.schedule-month-table .sticky-col{min-width:130px}.schedule-cell{min-width:88px;width:88px;font-size:12px}}
.danger-btn{background:#dc2626!important;color:#fff!important;border:0;border-radius:10px;padding:10px 16px;font-weight:800;box-shadow:0 8px 18px rgba(220,38,38,.18)}
.danger-btn:hover{background:#b91c1c!important}
.schedule-action-cell form{margin:4px 0;display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.schedule-approved-lock{font-size:16px;line-height:1.45}
.enterprise-actions-panel table td{vertical-align:top}

/* Enterprise Alpha 2: approved employee schedule as monthly calendar */
.approved-schedule-legend{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}
.approved-schedule-legend .legend{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;padding:7px 11px;font-weight:700;font-size:13px}
.approved-schedule-legend .mine{background:#ecfdf3;border-color:#86efac;color:#166534}
.approved-schedule-legend .coworker{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.approved-calendar-wrap{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:14px;margin:10px 0 18px;overflow-x:auto}
.approved-weekdays,.approved-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px;min-width:920px}
.approved-weekdays b{text-align:center;color:#475569;padding:8px 4px}
.approved-day{min-height:116px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:10px;display:flex;flex-direction:column;gap:5px}
.approved-day.empty{background:transparent;border:0;min-height:20px}
.approved-day.mine{background:#dcfce7;border-color:#86efac;box-shadow:0 4px 12px rgba(22,163,74,.12)}
.approved-day.coworker{background:#eff6ff;border-color:#93c5fd}
.approved-day-num{font-size:22px;font-weight:900;color:#0f172a}
.approved-employee{font-size:14px;font-weight:900;color:#0f172a;line-height:1.15}
.approved-pvz,.approved-time,.approved-type,.approved-free{font-size:13px;color:#475569;line-height:1.2}
.approved-day.mine .approved-employee{color:#166534}
.approved-day.coworker .approved-employee{color:#1d4ed8}
.approved-free{margin-top:auto;color:#64748b}
.other-pvz-table{margin-top:8px}
@media(max-width:760px){.approved-weekdays,.approved-calendar-grid{grid-template-columns:repeat(7,118px);min-width:826px}.approved-day{min-height:105px;padding:8px}}
/* Enterprise Alpha 3: permanent staff and unified schedule approval */
.employee-access-grid .access-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 8px;border-bottom:1px solid #eef2f7}
.permanent-flag{font-size:13px;color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:3px 8px;white-space:nowrap}
.permanent-staff-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:12px 0}
.schedule-approval-workspace .compact-filter{align-items:end}
.approval-two-columns{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px;align-items:start}
.approval-list{max-height:780px;overflow:auto;padding-right:4px}
.approval-list h3,.approval-calendar h3{margin:0 0 10px}
.request-card{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:14px;margin:0 0 12px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.request-card.not-submitted{background:#fff7ed;border-color:#fed7aa}
.request-card .badge{display:inline-flex;margin:8px 0;padding:5px 9px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:800;font-size:12px}
.request-card .badge.ok{background:#dcfce7;color:#166534}
.request-card .badge.bad{background:#fee2e2;color:#991b1b}
.request-meta{font-size:13px;color:#475569;margin:6px 0 10px}
.request-actions{display:grid;gap:8px}
.request-actions form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.request-actions input{min-width:160px;flex:1}
.approve-btn,.reject-btn,.danger-btn{border:0;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer}
.approve-btn{background:#16a34a;color:white}.reject-btn{background:#f59e0b;color:#111827}.danger-btn{background:#dc2626;color:white}
.compact-calendar{max-height:780px}
.collapsed-helper summary{font-size:18px;font-weight:900;cursor:pointer;padding:8px 0}
@media(max-width:1100px){.approval-two-columns{grid-template-columns:1fr}.approval-list{max-height:none}}

/* Enterprise alpha4: employee PVZ assignment cards */
.employee-access-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;max-height:none;overflow:visible}
.access-card{border:1px solid #dbe5ea;border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:9px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.access-card.selected{border-color:#8bd3a8;background:#f7fff9}
.access-card.primary-pvz{border-color:#22c55e;background:#ecfdf3}
.access-card-title{font-weight:900;color:#0f172a;margin-bottom:2px}
.access-card label{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155}
.access-card .primary-label{font-weight:800;color:#047857}
.access-help{line-height:1.45}

/* Enterprise alpha4: employee schedule blocks */
.employee-schedule-section{overflow:hidden}
.employee-block-header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:18px;padding:18px 20px;margin:16px 0;background:#eef6ff;border:1px solid #cfe6ff}
.employee-block-header b{display:block;font-size:22px;color:#0f172a}.employee-block-header small{display:block;color:#64748b;margin-top:4px}
.employee-block-header.request-view{background:#f0fdf4;border-color:#bbf7d0;margin-top:32px}
.status-pill{border-radius:999px;padding:8px 14px;font-weight:900}.status-pill.green{background:#dcfce7;color:#166534;border:1px solid #86efac}
.change-schedule-box{margin:18px 0 10px}.change-schedule-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.change-schedule-form input{min-width:360px;flex:1}.change-schedule-form button{font-weight:900}
.request-change-list{display:grid;gap:12px}

/* Enterprise Alpha 7: cleaner schedule approval screen */
.schedule-approval-v2{padding:22px!important}
.approval-header-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,1.3fr);gap:18px;align-items:end;margin-bottom:14px}
.approval-header-row h2{margin:0 0 6px;font-size:28px}
.approval-filter-v2{display:grid!important;grid-template-columns:180px minmax(240px,1fr) 240px;gap:14px;align-items:end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:14px}
.approval-show-btn{height:48px;border-radius:12px!important;font-weight:900!important;background:#16a34a!important;color:white!important;border:0!important}
.manager-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:12px 0 14px}
.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px 14px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.summary-card span{display:block;color:#64748b;font-size:13px;margin-bottom:4px}.summary-card b{font-size:24px;color:#0f172a}.summary-card small{margin-left:6px;color:#64748b}.summary-card.danger b{color:#dc2626}
.approval-two-columns-v2{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start;margin-top:16px}
.approval-list-v2{max-height:74vh;overflow:auto;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:14px}
.approval-list-v2 h3,.approval-calendar-v2 h3{margin:0 0 6px}.small-muted{font-size:13px;line-height:1.25;margin-bottom:12px}
.approval-calendar-v2{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:14px;min-width:0}
.calendar-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}.compact-legend{font-size:13px;margin:0!important}.compact-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.request-actions-v2{display:grid;grid-template-columns:1fr;gap:8px}.request-actions-v2 form{display:grid;grid-template-columns:1fr auto;gap:8px}.request-actions-v2 form:first-child{grid-template-columns:1fr}.request-actions-v2 input{width:100%;min-width:0}.request-actions-v2 button{width:100%;min-height:42px}
.request-card-title{margin-bottom:8px}.schedule-admin-tools summary{font-size:22px;font-weight:900;cursor:pointer;padding:4px 0 12px}.schedule-period-form-v2{display:grid!important;grid-template-columns:160px 160px 160px minmax(200px,1fr) 190px minmax(180px,1fr) 190px;gap:12px;align-items:end}.table-scroll{overflow:auto}
@media(max-width:1200px){.approval-header-row,.approval-two-columns-v2{grid-template-columns:1fr}.manager-summary-strip{grid-template-columns:repeat(3,1fr)}.approval-filter-v2{grid-template-columns:1fr 1fr 180px}.schedule-period-form-v2{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.manager-summary-strip{grid-template-columns:repeat(2,1fr)}.approval-filter-v2,.schedule-period-form-v2{grid-template-columns:1fr}.approval-list-v2{max-height:none}.approval-header-row h2{font-size:24px}}

/* Alpha 8: visible schedule change requests */
.urgent-change-requests{margin:18px 0;padding:18px;border:1px solid #b7e4c7;background:#f0fdf4;border-radius:16px}
.urgent-change-requests h3{margin:0 0 6px;font-size:22px}
.request-change-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:12px}
.change-request-highlight{border:2px solid #16a34a;background:#fff}
.change-request-highlight .notice{margin:10px 0;background:#ecfeff;border-color:#a5f3fc}

.schedule-period-summary{
  margin:14px 0 12px;
  padding:18px 20px;
  border-radius:18px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
}
.schedule-period-title{font-size:34px;font-weight:900;color:#064e3b;line-height:1.05;}
.schedule-period-subtitle{font-size:18px;font-weight:700;color:#047857;margin-top:8px;}
@media (max-width: 900px){.schedule-period-title{font-size:28px}.schedule-period-subtitle{font-size:16px}}

/* Enterprise Beta 3 — Manager Schedule Dashboard */
.schedule-dashboard-v3 .dashboard-v3-header{align-items:flex-start;gap:24px}
.month-title-big{font-size:34px;font-weight:900;margin:6px 0 4px;color:#0f172a;letter-spacing:-.03em}
.dashboard-summary-v3 .summary-card:first-child{border-color:#bbf7d0;background:#f0fdf4}
.dashboard-grid-v3{grid-template-columns:360px minmax(0,1fr);align-items:start}
.inbox-panel-v3{position:sticky;top:14px;max-height:calc(100vh - 32px);overflow:auto}
.task-card-v3{border-radius:18px;border:1px solid #e5e7eb;background:#fff;margin-bottom:12px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.task-card-v3.not-submitted{background:#fff7ed;border-color:#fed7aa}
.task-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.task-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}
.task-badge.red{background:#fee2e2;color:#991b1b}
.task-badge.yellow{background:#fef3c7;color:#92400e}
.task-badge.blue{background:#dbeafe;color:#1e40af}
.ghost-action{display:inline-flex;margin-top:8px;padding:9px 12px;border-radius:12px;border:1px solid #d1d5db;text-decoration:none;color:#0f766e;font-weight:800;background:#fff}
.history-box-v3{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:12px}
.history-box-v3 summary{cursor:pointer;font-weight:900;color:#334155}
.history-row-v3{padding:10px 0;border-bottom:1px solid #f1f5f9}
@media (max-width: 1100px){.dashboard-grid-v3{grid-template-columns:1fr}.inbox-panel-v3{position:static;max-height:none}}

/* Enterprise Beta 3.1: fixed PVZ names while scrolling manager calendar */
.approval-calendar-v2 .schedule-calendar-scroll{
  position:relative;
  isolation:isolate;
  overflow:auto;
}
.approval-calendar-v2 .schedule-month-table{
  table-layout:fixed;
}
.approval-calendar-v2 .schedule-month-table .sticky-col{
  position:-webkit-sticky!important;
  position:sticky!important;
  left:0!important;
  z-index:30!important;
  min-width:190px!important;
  width:190px!important;
  max-width:190px!important;
  background:#fff!important;
  box-shadow:6px 0 12px rgba(15,23,42,.10)!important;
}
.approval-calendar-v2 .schedule-month-table th.sticky-col{
  top:0!important;
  z-index:50!important;
  background:#f8fafc!important;
}
.approval-calendar-v2 .schedule-month-table td.sticky-col{
  z-index:35!important;
}
.approval-calendar-v2 .schedule-month-table .pvz-name{
  white-space:normal;
  word-break:break-word;
}


/* Beta 6: PVZ module */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:8px 0 18px;flex-wrap:wrap}
.filters-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filters-line input,.filters-line select{min-width:190px}
.pvz-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.pvz-card{border-left:6px solid #e2e8f0}
.pvz-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pvz-card h2{margin:0 0 4px}
.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;font-weight:900;font-size:13px;white-space:nowrap;border:1px solid #e2e8f0;background:#f8fafc}
.status-pill.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.status-pill.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}
.status-pill.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.status-pill.muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}
.pvz-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.pvz-metrics div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:11px}
.pvz-metrics b{display:block;font-size:18px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvz-metrics span{display:block;color:#64748b;font-size:12px;margin-top:3px}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.quick-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe3ee;border-radius:12px;padding:9px 11px;text-decoration:none;color:#0f172a;background:#fff;font-weight:800}
.quick-actions a:hover{background:#ecfeff;color:#0f766e;border-color:#99f6e4}
.danger-zone{border-color:#fecaca;background:#fff7f7}
.danger-btn{background:#dc2626;color:#fff;border:0;border-radius:12px;padding:11px 14px;font-weight:900;cursor:pointer}
.danger-btn:hover{background:#b91c1c}
@media(max-width:700px){.pvz-metrics{grid-template-columns:1fr}.pvz-card-top{display:block}.status-pill{margin-top:8px}.filters-line input,.filters-line select{width:100%;min-width:0}}

/* Enterprise Beta 6.2: PVZ access visibility and management */
.pvz-profile-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.staff-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.staff-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-weight:900;padding:8px 12px}
.staff-chip.primary{background:#fef3c7;border-color:#fde68a;color:#92400e}
.pvz-access-list{display:grid;gap:10px;margin-top:12px}
.pvz-access-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.pvz-access-row small{color:#64748b;font-weight:600}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.row-actions form{display:inline-flex;margin:0}.row-actions button{border:1px solid #dbe3ee;background:#f8fafc;color:#0f172a;border-radius:12px;padding:9px 11px;font-weight:900;cursor:pointer}.row-actions button:hover{background:#ecfeff;border-color:#99f6e4}.row-actions .danger-small{background:#fff1f2;border-color:#fecdd3;color:#be123c}.row-actions .danger-small:hover{background:#ffe4e6;border-color:#fda4af}.inline-check{display:flex;align-items:center;gap:8px;margin:12px 0;font-weight:800}.employee-access-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 12px}.access-summary-card{border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:14px}.access-summary-card span{display:block;color:#64748b;font-size:13px;font-weight:800;margin-bottom:4px}.access-summary-card b{font-size:20px;color:#0f172a}.access-summary-card.primary{background:#fffbeb;border-color:#fde68a}
@media(max-width:760px){.pvz-profile-head,.pvz-access-row{display:block}.row-actions{justify-content:flex-start;margin-top:12px}.row-actions form,.row-actions button{width:100%}}

/* Beta 8.6: операторские задачи — аккуратная форма инвентаризации */
.inventory-answer-grid{display:grid;gap:10px;margin-top:10px}
.inventory-line{display:grid;grid-template-columns:minmax(180px,1fr) 180px;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;font-weight:700}
.inventory-line input[type=number]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px;background:#fff}
.task-popup-card ul{margin:14px 0;padding:14px 18px;border-radius:14px;background:#f8fafc;list-style-position:inside}
.task-popup-card li{font-size:18px;line-height:1.55;margin:4px 0;word-break:break-word}
@media(max-width:760px){.inventory-line{grid-template-columns:1fr}.inventory-line input[type=number]{max-width:none}}

/* Beta 12 — Operator Workspace */
.operator-workspace-v12{display:grid;gap:18px;margin-top:18px}
.operator-shift-card{background:linear-gradient(135deg,#ffffff,#f7fbff);border:1px solid #dbeafe;border-radius:22px;padding:22px;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.operator-shift-card .shift-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.operator-shift-card .shift-card-title{font-size:26px;font-weight:900;color:#0f172a;letter-spacing:.02em}
.operator-shift-card .shift-card-sub{color:#64748b;margin-top:4px}
.operator-shift-state{padding:10px 14px;border-radius:999px;font-weight:900;background:#fee2e2;color:#991b1b}
.operator-shift-state.open{background:#dcfce7;color:#166534}
.operator-shift-state.break{background:#fef3c7;color:#92400e}
.operator-action-grid.v12-actions{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}
.operator-action-grid.v12-actions.with-break{grid-template-columns:repeat(4,minmax(160px,1fr))}
.operator-btn.v12-main{min-height:108px;border-radius:20px;font-size:18px;box-shadow:0 10px 24px rgba(15,23,42,.10)}
.operator-btn.v12-main strong{font-size:20px}
.operator-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.operator-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:21px;font-weight:900;margin-bottom:12px;color:#111827}
.operator-section-title small{font-size:13px;color:#64748b;font-weight:600}
.operator-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:12px}
.operator-kpi-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px}
.operator-kpi-card span{display:block;color:#64748b;font-size:13px}.operator-kpi-card b{font-size:24px;color:#0f172a}
.operator-clean-details{border:0;background:transparent;padding:0;margin:0}.operator-clean-details>summary{list-style:none;cursor:pointer}.operator-clean-details>summary::-webkit-details-marker{display:none}
.operator-clean-details .details-inner{margin-top:12px}
.operator-task-mini-list{display:grid;gap:12px}.operator-task-mini-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fafafa}.operator-task-mini-card h3{margin:0 0 6px}.operator-task-meta{color:#64748b;font-size:13px;margin-bottom:8px}.operator-task-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.operator-task-actions .primary{margin-top:0}
.operator-notification-card{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.operator-notification-card .bubble{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#dbeafe;font-size:22px}.operator-notification-card b{display:block}.operator-notification-card span{color:#64748b;font-size:13px}
.operator-schedule-compact{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.operator-schedule-compact .day{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fcfcfd}.operator-schedule-compact .day b{display:block;font-size:18px;margin-bottom:4px}
.operator-schedule-request-box form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.operator-schedule-request-box input{min-height:42px;border-radius:12px;border:1px solid #cbd5e1;padding:0 12px}
.break-setting-card{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.break-setting-card b{display:block;margin-bottom:4px}.break-setting-card label{display:flex;gap:10px;align-items:flex-start}
@media(max-width:900px){.operator-action-grid.v12-actions,.operator-action-grid.v12-actions.with-break{grid-template-columns:1fr}.operator-kpi-row,.operator-schedule-compact{grid-template-columns:1fr}.operator-schedule-request-box form{grid-template-columns:1fr}}
.operator-service-area{display:flex;flex-direction:column;gap:16px}.operator-service-area .operator-tasks-details{order:1}.operator-service-area .employee-schedule-section{order:2}.operator-service-area details:not(.operator-tasks-details):not(.employee-schedule-section){order:3}

/* Beta 12.1 — Operator Workspace Redesign */
.operator-workplace-v121{display:grid;gap:18px;margin:18px 0 22px}.operator-hero-card{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:center;background:linear-gradient(135deg,#ffffff,#f8fbff);border:1px solid #dbeafe;border-radius:28px;padding:26px;box-shadow:0 18px 45px rgba(15,23,42,.08)}.operator-hero-card.is-open{border-color:#bbf7d0}.operator-hero-card.is-break{border-color:#fde68a}.operator-hero-card.is-closed{border-color:#fecaca}.operator-hello{color:#64748b;font-weight:800;letter-spacing:.02em}.operator-hero-info h2{font-size:34px;margin:6px 0 12px;color:#0f172a}.operator-hero-meta{display:flex;gap:10px;flex-wrap:wrap}.operator-hero-meta span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-weight:800;color:#334155}.operator-hero-actions{display:grid;gap:12px}.operator-primary-action{width:100%;border:0;border-radius:24px;padding:28px 22px;font-size:26px;font-weight:950;color:#fff;cursor:pointer;box-shadow:0 16px 32px rgba(15,23,42,.16)}.operator-primary-action.start{background:linear-gradient(135deg,#16a34a,#22c55e)}.operator-primary-action.end{background:linear-gradient(135deg,#dc2626,#ef4444)}.operator-primary-action.back{background:linear-gradient(135deg,#2563eb,#38bdf8)}.operator-secondary-action{width:100%;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:18px;padding:16px 18px;font-size:18px;font-weight:900;cursor:pointer}.operator-change-user{display:block;text-align:center;text-decoration:none;background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:12px;color:#0f766e;font-weight:900}.operator-grid-v121{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.operator-card-v121{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:20px;box-shadow:0 12px 28px rgba(15,23,42,.06);min-height:170px}.op-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.op-card-head b{display:block;font-size:24px;color:#111827}.op-card-head span{display:block;color:#64748b;margin-top:4px}.op-card-head em{font-style:normal;min-width:44px;height:44px;border-radius:16px;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:950}.op-card-main{color:#475569;font-size:16px;line-height:1.45;min-height:42px}.op-card-main.good{color:#15803d;font-weight:900}.op-card-main.warn{color:#b45309;font-weight:900}.op-card-btn,.operator-request-inline button{border:0;background:#0f766e;color:#fff;border-radius:15px;padding:13px 18px;font-weight:900;cursor:pointer;text-decoration:none}.op-card-btn.light{background:#f8fafc;color:#0f766e;border:1px solid #cbd5e1}.operator-schedule-compact.clean{grid-template-columns:repeat(2,minmax(130px,1fr));margin-bottom:14px}.operator-schedule-compact.clean .day small{display:block;color:#64748b;margin-top:4px}.operator-request-inline{display:grid;grid-template-columns:1fr auto;gap:10px}.operator-request-inline input{border:1px solid #cbd5e1;border-radius:14px;padding:0 12px;min-height:44px}.operator-service-area{margin-top:18px}.operator-service-area details.panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 10px 25px rgba(15,23,42,.05);padding:0!important;overflow:hidden}.operator-service-area details.panel summary{background:#f8fafc;border-radius:22px 22px 0 0;padding:18px 22px;font-size:20px;font-weight:950}.operator-service-area details.panel:not([open]) summary{border-radius:22px}.operator-service-area details.panel>*:not(summary){margin:18px 22px!important}.operator-tasks-details .notice:first-of-type{display:none}.operator-tasks-details .task-card{border-radius:20px;border:1px solid #e2e8f0;background:#fcfcfd;padding:18px;margin:14px 0;box-shadow:0 8px 20px rgba(15,23,42,.04)}.operator-tasks-details .task-card h3{font-size:22px;margin:0 0 8px;color:#0f172a}.inventory-answer-grid{display:grid;gap:12px;margin-top:10px}.inventory-line{display:grid!important;grid-template-columns:minmax(160px,1fr) 180px;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px!important}.inventory-line span{font-weight:900;color:#334155}.inventory-line input{width:100%;min-height:42px;border-radius:12px;border:1px solid #cbd5e1;padding:0 10px}.task-checklist .primary{width:100%;border-radius:16px;padding:14px 18px;margin-top:12px}.operator-title{display:none!important}@media(max-width:900px){.operator-hero-card{grid-template-columns:1fr}.operator-grid-v121{grid-template-columns:1fr}.operator-hero-info h2{font-size:28px}.operator-primary-action{font-size:22px}.inventory-line{grid-template-columns:1fr}}

/* UI Sprint 1 / Operator Workspace 3.0 */
.operator-kiosk-body{background:#f6f8fc;color:#0f172a;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.operator-kiosk-wrap{max-width:none;width:100%;padding:0;margin:0}.operator-kiosk-wrap>.operator-title,.operator-kiosk-wrap>.panel.good:first-of-type{display:none}.operator-ui-shell-v130{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f7f9fd}.operator-sidebar-v130{background:#fff;border-right:1px solid #e5eaf3;padding:28px 18px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;box-sizing:border-box}.op-brand-v130{display:flex;align-items:center;gap:12px;font-size:22px}.op-logo-v130{width:38px;height:38px;border:3px solid #2563eb;border-radius:14px;color:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:900}.op-brand-v130 small{display:block;color:#2563eb;font-size:13px;margin-top:2px}.op-side-nav-v130{display:flex;flex-direction:column;gap:10px;margin-top:8px}.op-side-nav-v130 a{display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:14px;color:#111827;text-decoration:none;font-weight:800}.op-side-nav-v130 a.active,.op-side-nav-v130 a:hover{background:#eef5ff;color:#0b57d0}.op-side-spacer-v130{flex:1}.op-problem-btn-v130{border:0;border-radius:14px;background:#0b5cff;color:#fff;text-align:left;padding:16px 18px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 14px 28px rgba(11,92,255,.22)}.op-problem-btn-v130 small{font-weight:600;opacity:.9}.op-version-v130{background:#fff;border:1px solid #e3e8f3;border-radius:14px;padding:15px;color:#475569;font-size:13px}.op-version-v130 b{color:#0f172a}.operator-main-v130{padding:0 28px 32px;min-width:0}.op-topbar-v130{height:86px;border-bottom:1px solid #e5eaf3;display:flex;align-items:center;justify-content:space-between;background:#fff;margin:0 -28px 24px;padding:0 28px}.op-topbar-v130 h1{font-size:30px;margin:0}.op-top-meta-v130{display:flex;align-items:center;gap:26px;color:#0f172a}.op-top-meta-v130 small{color:#64748b}.op-exit-v130{border:1px solid #fecaca;color:#ef4444;text-decoration:none;border-radius:12px;padding:12px 16px;font-weight:900;background:#fff}.op-shift-hero-v130{display:grid;grid-template-columns:110px 1.4fr 300px 320px;gap:24px;align-items:center;background:linear-gradient(135deg,#f2fff7,#ffffff);border:1px solid #d8eee0;border-radius:18px;box-shadow:0 14px 34px rgba(15,23,42,.06);padding:24px 28px;margin-bottom:20px}.op-shift-hero-v130.closed{background:linear-gradient(135deg,#fff7f7,#ffffff);border-color:#f1d7d7}.op-briefcase-v130{width:84px;height:84px;border-radius:50%;background:#dff8e9;display:flex;align-items:center;justify-content:center;font-size:42px}.op-shift-copy-v130 h2{font-size:28px;margin:0 0 12px}.op-shift-copy-v130 p{font-size:17px;margin:0 0 12px;color:#475569}.op-shift-status-line-v130{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#475569}.op-pill-v130{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;font-weight:900}.op-pill-v130.green{background:#ecfdf3;color:#12a150;border:1px solid #bbf7d0}.op-pill-v130.red{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.op-shift-time-v130{border-left:1px solid #dbe4f0;padding-left:30px}.op-shift-time-v130 small{font-size:16px;color:#475569}.op-shift-time-v130 b{display:block;color:#10a34a;font-size:46px;line-height:1;margin:10px 0 6px}.op-shift-time-v130 span{color:#475569;font-weight:700}.op-main-action-v130{height:68px;border:0;border-radius:14px;color:#fff;font-weight:1000;font-size:20px;cursor:pointer;width:100%;box-shadow:0 16px 28px rgba(0,0,0,.12)}.op-main-action-v130.end{background:linear-gradient(135deg,#ef4444,#dc2626)}.op-main-action-v130.start{background:linear-gradient(135deg,#22c55e,#16a34a)}.op-main-action-v130.back{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.op-today-strip-v130{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:0;background:#fff;border:1px solid #e5eaf3;border-radius:16px;margin-bottom:20px;box-shadow:0 10px 22px rgba(15,23,42,.04);overflow:hidden}.op-today-strip-v130>div{padding:18px 22px;border-right:1px solid #e5eaf3}.op-today-strip-v130>div:last-child{border-right:0}.op-today-strip-v130 b{font-size:20px}.op-today-strip-v130 a{font-weight:900;color:#0b5cff}.op-card-grid-v130{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:22px}.op-dash-card-v130{background:#fff;border:1px solid #e5eaf3;border-radius:18px;padding:24px;box-shadow:0 12px 26px rgba(15,23,42,.05);min-height:230px;display:flex;flex-direction:column}.op-dash-card-v130.blue{background:linear-gradient(135deg,#f8fbff,#fff)}.op-dash-card-v130.yellow{background:linear-gradient(135deg,#fffaf0,#fff)}.op-dash-card-v130.green{background:linear-gradient(135deg,#f5fff8,#fff)}.op-dash-card-v130.mint{background:linear-gradient(135deg,#f5fff8,#fff)}.op-dash-card-v130.purple{background:linear-gradient(135deg,#fbf7ff,#fff)}.op-dash-card-v130.sky{background:linear-gradient(135deg,#f6fbff,#fff)}.op-dash-card-v130.violet{background:linear-gradient(135deg,#fbf6ff,#fff)}.op-card-icon{width:54px;height:54px;border-radius:50%;background:#eaf2ff;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:10px}.op-dash-card-v130 h3{font-size:22px;margin:0 0 14px}.op-dash-card-v130 h4{font-size:15px;color:#334155;margin:0 0 10px}.op-dash-card-v130 p{color:#475569;line-height:1.55}.op-dash-card-v130 ul{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:11px}.op-dash-card-v130 li{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1f2937}.op-dash-card-v130 li:before{content:'●';font-size:13px;color:#3b82f6;margin-right:4px}.op-dash-card-v130 li b{background:#eef4ff;color:#0b5cff;border-radius:10px;min-width:34px;text-align:center;padding:6px 8px}.op-dash-card-v130 button{margin-top:auto;height:48px;border:1px solid #d7e4ff;border-radius:12px;background:#eef5ff;color:#0b57d0;font-weight:900;cursor:pointer}.op-dash-card-v130.green button,.op-dash-card-v130.mint button{background:#eafaf0;border-color:#d4f5df;color:#119747}.op-dash-card-v130.yellow button{background:#fff4d8;border-color:#ffe4a3;color:#d97706}.op-dash-card-v130.purple button,.op-dash-card-v130.violet button{background:#f1e7ff;border-color:#e7d6ff;color:#7c3aed}.op-dash-card-v130.sky button{background:#eef6ff;border-color:#d7eaff;color:#0b57d0}.op-knowledge-preview li{justify-content:flex-start!important}.break-card{grid-column:span 1}.operator-service-area{margin-top:24px}.operator-service-area>.panel{display:none}.operator-service-area>.panel[open]{display:block;background:#fff;border:1px solid #e5eaf3;border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 12px 26px rgba(15,23,42,.06)}.op-knowledge-list-v130{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.op-knowledge-item-v130{border:1px solid #e5eaf3;border-radius:16px;padding:18px;background:#f8fafc}.op-knowledge-item-v130 img,.op-knowledge-item-v130 video{max-width:100%;border-radius:12px;margin-top:12px}.knowledge-form{display:grid;grid-template-columns:1fr 1fr 150px 1fr;gap:14px;align-items:end}.knowledge-form textarea{min-height:100px}.knowledge-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}.knowledge-admin-card{border:1px solid #e5eaf3;border-radius:16px;background:#f8fafc;padding:18px}.knowledge-admin-card img,.knowledge-admin-card video{max-width:100%;border-radius:12px;margin:10px 0}.operator-card-v121,.operator-hero-card{display:none!important}@media(max-width:1100px){.operator-ui-shell-v130{grid-template-columns:1fr}.operator-sidebar-v130{position:static;height:auto;flex-direction:row;align-items:center}.op-side-nav-v130{flex-direction:row;flex-wrap:wrap}.op-side-spacer-v130{display:none}.op-shift-hero-v130,.op-today-strip-v130,.op-card-grid-v130{grid-template-columns:1fr}.op-topbar-v130{height:auto;padding:18px 28px;align-items:flex-start}.op-top-meta-v130{flex-wrap:wrap}.knowledge-form{grid-template-columns:1fr}}


/* UI Sprint 1 Fix: база знаний вынесена в отдельный раздел карточки ПВЗ */
.knowledge-compact-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.knowledge-open-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:220px;text-align:center}
.knowledge-editor-head{background:linear-gradient(135deg,#f8fbff,#fff)}
.knowledge-form-page{grid-template-columns:1fr 1.4fr 140px 1fr auto!important;align-items:end}
.op-knowledge-item-v130 img,.op-knowledge-item-v130 video,.knowledge-admin-card img,.knowledge-admin-card video{display:block;width:100%;max-height:420px;object-fit:cover;background:#eef2f7}
.op-dash-card-v130,.op-dash-card-v130 button,.op-problem-btn-v130,.op-side-nav-v130 a{cursor:pointer}
@media(max-width:1100px){.knowledge-form-page{grid-template-columns:1fr!important}.knowledge-compact-card{flex-direction:column;align-items:flex-start}.knowledge-open-btn{width:100%}}


/* UI Sprint 1.1 — Pixel Match Operator UI */
.operator-kiosk-body{
  background:#f5f8fd!important;
  color:#0f172a!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
}
.operator-ui-shell-v130{
  grid-template-columns:282px minmax(0,1fr)!important;
  background:#f7f9fd!important;
}
.operator-sidebar-v130{
  padding:26px 18px!important;
  border-right:1px solid #e6edf7!important;
  box-shadow:none!important;
}
.op-brand-v130{gap:14px!important;margin:0 0 20px!important;}
.op-brand-v130 b{font-size:27px!important;line-height:1!important;letter-spacing:-.02em!important;}
.op-brand-v130 small{font-size:14px!important;color:#1261ff!important;font-weight:600!important;}
.op-logo-v130{width:42px!important;height:42px!important;border-radius:15px!important;border:3px solid #1261ff!important;color:#1261ff!important;background:#fff!important;}
.op-side-nav-v130{gap:14px!important;margin-top:12px!important;}
.op-side-nav-v130 a{font-size:17px!important;padding:17px 18px!important;border-radius:16px!important;font-weight:750!important;color:#111827!important;}
.op-side-nav-v130 a.active{background:#edf4ff!important;color:#0757e7!important;box-shadow:0 10px 22px rgba(18,97,255,.08)!important;}
.op-problem-btn-v130{
  width:100%!important;border-radius:14px!important;background:#0866ff!important;
  color:#fff!important;padding:17px 18px!important;font-size:16px!important;
  box-shadow:0 16px 30px rgba(8,102,255,.24)!important;
}
.op-problem-btn-v130 small{font-size:13px!important;line-height:1.35!important;display:block;margin-top:4px!important;}
.op-version-v130{border-radius:14px!important;padding:16px 18px!important;background:#fff!important;border-color:#e1e8f3!important;}
.operator-main-v130{padding:0 34px 32px!important;}
.op-topbar-v130{
  height:90px!important;margin:0 -34px 26px!important;padding:0 34px!important;
  border-bottom:1px solid #e6edf7!important;background:#fff!important;
}
.op-topbar-v130 h1{font-size:31px!important;font-weight:900!important;letter-spacing:-.03em!important;}
.op-top-meta-v130{gap:30px!important;font-size:15px!important;}
.op-top-meta-v130>span{padding-left:18px!important;border-left:1px solid #e6edf7!important;line-height:1.25!important;}
.op-top-meta-v130>span:first-child{border-left:0!important;}
.op-user-v130{font-weight:900!important;}
.op-exit-v130{border:1px solid #fecaca!important;color:#ef3030!important;border-radius:13px!important;background:#fff!important;padding:13px 18px!important;font-size:15px!important;}
.op-shift-hero-v130{
  grid-template-columns:96px minmax(360px,1.35fr) 260px 300px!important;
  min-height:156px!important;padding:24px 30px!important;gap:28px!important;
  border-radius:18px!important;background:linear-gradient(135deg,#f2fff8 0%,#ffffff 70%)!important;
  border:1px solid #d7ecdf!important;box-shadow:0 12px 26px rgba(15,23,42,.055)!important;margin-bottom:22px!important;
}
.op-briefcase-v130{width:80px!important;height:80px!important;font-size:38px!important;background:#dff8e9!important;color:#0ea34a!important;}
.op-shift-copy-v130 h2{font-size:31px!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.035em!important;margin-bottom:14px!important;}
.op-shift-copy-v130 p{font-size:17px!important;color:#536179!important;margin-bottom:14px!important;}
.op-shift-status-line-v130{gap:16px!important;font-size:16px!important;}
.op-pill-v130{padding:7px 14px!important;border-radius:999px!important;font-size:15px!important;}
.op-shift-time-v130{padding-left:32px!important;border-left:1px solid #dbe5f1!important;}
.op-shift-time-v130 small{font-size:16px!important;color:#536179!important;font-weight:700!important;}
.op-shift-time-v130 b{font-size:46px!important;color:#13a34a!important;font-weight:950!important;letter-spacing:.02em!important;}
.op-main-action-v130{height:66px!important;border-radius:14px!important;font-size:20px!important;letter-spacing:.01em!important;}
.op-main-action-v130.end{background:linear-gradient(135deg,#ff3038,#dc2626)!important;box-shadow:0 15px 28px rgba(220,38,38,.22)!important;}
.op-main-action-v130.start{background:linear-gradient(135deg,#22c55e,#16a34a)!important;}
.op-today-strip-v130{
  grid-template-columns:1.35fr 1fr 1fr 1fr 1.05fr!important;margin-bottom:22px!important;
  border-radius:16px!important;box-shadow:0 9px 22px rgba(15,23,42,.035)!important;background:#fff!important;
}
.op-today-strip-v130>div{padding:16px 22px!important;min-height:58px!important;font-size:15px!important;}
.op-today-strip-v130 b{font-size:21px!important;}
.op-card-grid-v130{grid-template-columns:repeat(3,minmax(260px,1fr))!important;gap:24px!important;align-items:stretch!important;}
.op-dash-card-v130{
  border-radius:18px!important;min-height:244px!important;padding:24px 26px!important;
  border:1px solid #e2eaf6!important;box-shadow:0 12px 26px rgba(15,23,42,.045)!important;
}
.op-card-icon{width:58px!important;height:58px!important;font-size:29px!important;margin-bottom:12px!important;}
.op-dash-card-v130 h3{font-size:22px!important;line-height:1.15!important;font-weight:950!important;margin:0 0 18px!important;letter-spacing:-.02em!important;}
.op-dash-card-v130 h4{font-size:15px!important;margin:-8px 0 12px!important;color:#334155!important;}
.op-dash-card-v130 ul{gap:13px!important;margin-bottom:18px!important;}
.op-dash-card-v130 li{
  display:grid!important;grid-template-columns:18px minmax(0,1fr) auto!important;
  align-items:center!important;justify-content:initial!important;gap:10px!important;
  font-size:16px!important;color:#1f2937!important;min-height:26px!important;
}
.op-dash-card-v130 li:before{content:'●'!important;grid-column:1!important;color:#3b82f6!important;font-size:15px!important;margin:0!important;line-height:1!important;}
.op-dash-card-v130 li span{grid-column:2!important;white-space:normal!important;}
.op-dash-card-v130 li b{grid-column:3!important;min-width:36px!important;border-radius:10px!important;padding:6px 9px!important;font-size:16px!important;}
.op-dash-card-v130 button,.op-dash-card-v130 form button{
  height:51px!important;border-radius:12px!important;font-size:16px!important;font-weight:900!important;width:100%!important;
}
.op-dash-card-v130 p{font-size:16px!important;line-height:1.52!important;color:#536179!important;}
.break-card{grid-column:auto!important;min-height:190px!important;}
.op-dash-card-v130.break-card h3{display:flex!important;align-items:center!important;gap:12px!important;}
.operator-service-area{margin-top:24px!important;}
.operator-service-area>.panel[open]{border-radius:18px!important;border:1px solid #e2eaf6!important;box-shadow:0 14px 30px rgba(15,23,42,.06)!important;}
.operator-service-area details.panel summary{font-size:21px!important;font-weight:950!important;padding:20px 24px!important;}
.op-knowledge-list-v130{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:18px!important;}
.op-knowledge-item-v130{border-radius:18px!important;background:#fff!important;border:1px solid #e2eaf6!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important;}
.op-knowledge-item-v130 h3{font-size:22px!important;margin:0 0 10px!important;}
.op-knowledge-item-v130 img,.op-knowledge-item-v130 video{border-radius:14px!important;max-height:360px!important;object-fit:cover!important;}
@media(max-width:1200px){.op-shift-hero-v130{grid-template-columns:90px 1fr!important}.op-shift-time-v130{border-left:0!important;padding-left:0!important}.op-card-grid-v130{grid-template-columns:repeat(2,minmax(260px,1fr))!important}}
@media(max-width:820px){.operator-ui-shell-v130{grid-template-columns:1fr!important}.operator-sidebar-v130{height:auto!important;position:static!important}.op-topbar-v130{height:auto!important;gap:12px!important;flex-direction:column!important;align-items:flex-start!important}.op-top-meta-v130{gap:12px!important;flex-wrap:wrap!important}.op-card-grid-v130,.op-today-strip-v130{grid-template-columns:1fr!important}.op-shift-hero-v130{grid-template-columns:1fr!important}.operator-main-v130{padding:0 16px 24px!important}.op-topbar-v130{margin:0 -16px 18px!important;padding:16px!important}}

/* UI Sprint 1.2 — Operator Workspace rebuild + knowledge overflow fix */
.operator-kiosk-body{background:#f7f9fd!important;overflow-x:hidden!important;}
.operator-ui-shell-v130{display:grid!important;grid-template-columns:292px minmax(0,1fr)!important;min-height:100vh!important;background:#f7f9fd!important;}
.operator-sidebar-v130{width:292px!important;padding:28px 22px 24px!important;background:#fff!important;border-right:1px solid #e6edf7!important;box-sizing:border-box!important;}
.op-brand-v130{width:100%!important;display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 36px!important;}
.op-logo-v130{flex:0 0 46px!important;width:46px!important;height:46px!important;border-radius:16px!important;border:3px solid #1261ff!important;box-sizing:border-box!important;background:#fff!important;color:#1261ff!important;font-size:22px!important;}
.op-brand-v130 b{font-size:28px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.03em!important;}
.op-brand-v130 small{font-size:14px!important;color:#1261ff!important;font-weight:700!important;margin-top:4px!important;}
.op-side-nav-v130{width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;margin:0!important;}
.op-side-nav-v130 a{width:100%!important;height:68px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;padding:0 18px!important;border-radius:16px!important;text-align:left!important;text-decoration:none!important;background:#fff!important;border:1px solid transparent!important;box-shadow:none!important;font-size:17px!important;font-weight:850!important;color:#111827!important;white-space:nowrap!important;}
.op-side-nav-v130 a.active{background:#eef5ff!important;color:#0b57d0!important;border-color:#e4edff!important;box-shadow:0 14px 28px rgba(18,97,255,.10)!important;}
.op-side-nav-v130 a:hover{background:#f4f8ff!important;color:#0b57d0!important;border-color:#e8f0ff!important;}
.op-side-spacer-v130{flex:1!important;min-height:260px!important;}
.op-problem-btn-v130{width:100%!important;min-height:92px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;border:0!important;border-radius:14px!important;background:#075df5!important;color:#fff!important;padding:16px 18px!important;text-align:left!important;font-weight:950!important;font-size:15px!important;line-height:1.25!important;box-shadow:0 16px 30px rgba(7,93,245,.25)!important;}
.op-problem-btn-v130 small{display:block!important;font-size:13px!important;margin-top:5px!important;color:#e8f1ff!important;font-weight:700!important;}
.op-version-v130{width:100%!important;box-sizing:border-box!important;margin-top:18px!important;border-radius:14px!important;padding:16px 18px!important;background:#fff!important;border:1px solid #e1e8f3!important;box-shadow:0 8px 18px rgba(15,23,42,.03)!important;}
.operator-main-v130{padding:0 36px 34px!important;min-width:0!important;}
.op-topbar-v130{height:90px!important;margin:0 -36px 28px!important;padding:0 36px!important;background:#fff!important;border-bottom:1px solid #e6edf7!important;display:flex!important;align-items:center!important;}
.op-topbar-v130 h1{font-size:32px!important;font-weight:950!important;letter-spacing:-.03em!important;margin:0!important;}
.op-top-meta-v130{gap:28px!important;align-items:center!important;}
.op-top-meta-v130>span{min-width:130px!important;border-left:1px solid #e6edf7!important;padding-left:22px!important;line-height:1.22!important;}
.op-top-meta-v130>span:first-child{border-left:0!important;}
.op-exit-v130{height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;padding:0 18px!important;background:#fff!important;color:#ef3333!important;border:1px solid #fecaca!important;font-weight:900!important;}
.op-shift-hero-v130{margin:0 0 22px!important;min-height:166px!important;padding:24px 30px!important;border-radius:18px!important;background:linear-gradient(135deg,#f2fff8 0%,#fff 72%)!important;border:1px solid #d7ecdf!important;box-shadow:0 12px 26px rgba(15,23,42,.055)!important;display:grid!important;grid-template-columns:92px minmax(360px,1.35fr) 260px 300px!important;gap:28px!important;align-items:center!important;}
.op-briefcase-v130{width:82px!important;height:82px!important;border-radius:50%!important;background:#dff8e9!important;color:#0ea34a!important;font-size:38px!important;}
.op-shift-copy-v130 h2{font-size:30px!important;font-weight:950!important;letter-spacing:-.035em!important;margin:0 0 14px!important;}
.op-shift-copy-v130 p{font-size:17px!important;margin:0 0 14px!important;color:#536179!important;}
.op-shift-time-v130 b{font-size:46px!important;}
.op-main-action-v130{height:66px!important;border-radius:14px!important;font-size:20px!important;}
.op-today-strip-v130{display:grid!important;grid-template-columns:1.35fr repeat(4,1fr)!important;background:#fff!important;border:1px solid #e5eaf3!important;border-radius:16px!important;margin-bottom:22px!important;overflow:hidden!important;box-shadow:0 9px 22px rgba(15,23,42,.035)!important;}
.op-card-grid-v130{display:grid!important;grid-template-columns:repeat(3,minmax(270px,1fr))!important;gap:24px!important;align-items:stretch!important;}
.op-dash-card-v130{min-height:246px!important;border-radius:18px!important;padding:24px 26px!important;background:#fff!important;border:1px solid #e2eaf6!important;box-shadow:0 12px 26px rgba(15,23,42,.045)!important;box-sizing:border-box!important;overflow:hidden!important;}
.op-dash-card-v130.break-card{max-width:none!important;}
.op-dash-card-v130 h3,.op-dash-card-v130 h4,.op-dash-card-v130 p,.op-dash-card-v130 li,.op-dash-card-v130 span{overflow-wrap:anywhere!important;word-break:normal!important;}
.op-dash-card-v130 ul{width:100%!important;}
.op-dash-card-v130 button,.op-dash-card-v130 form button{height:51px!important;border-radius:12px!important;}
.operator-service-area{margin-top:24px!important;}
.operator-service-area>.panel[open]{background:#fff!important;border:1px solid #e2eaf6!important;border-radius:18px!important;box-shadow:0 14px 30px rgba(15,23,42,.06)!important;overflow:hidden!important;}
.op-knowledge-list-v130{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:18px!important;align-items:start!important;}
.op-knowledge-item-v130,.knowledge-admin-card{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;border-radius:18px!important;background:#fff!important;border:1px solid #e2eaf6!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important;}
.op-knowledge-item-v130 h3,.op-knowledge-item-v130 p,.knowledge-admin-card h3,.knowledge-admin-card p{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;line-height:1.45!important;}
.op-knowledge-item-v130 img,.op-knowledge-item-v130 video,.knowledge-admin-card img,.knowledge-admin-card video{display:block!important;width:100%!important;max-width:100%!important;max-height:360px!important;object-fit:contain!important;background:#f1f5f9!important;border-radius:14px!important;margin-top:12px!important;}
.knowledge-admin-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:18px!important;align-items:start!important;}
.knowledge-form{grid-template-columns:minmax(220px,1fr) minmax(280px,1.2fr) 140px minmax(260px,1fr)!important;gap:14px!important;align-items:end!important;}
.knowledge-form input,.knowledge-form textarea,.knowledge-form select{max-width:100%!important;box-sizing:border-box!important;}
@media(max-width:1260px){.operator-ui-shell-v130{grid-template-columns:260px minmax(0,1fr)!important}.operator-sidebar-v130{width:260px!important}.op-shift-hero-v130{grid-template-columns:90px 1fr!important}.op-shift-time-v130{border-left:0!important;padding-left:0!important}.op-card-grid-v130{grid-template-columns:repeat(2,minmax(270px,1fr))!important}.knowledge-form{grid-template-columns:1fr 1fr!important}}
@media(max-width:820px){.operator-ui-shell-v130{grid-template-columns:1fr!important}.operator-sidebar-v130{width:100%!important;position:static!important;height:auto!important}.op-card-grid-v130,.op-today-strip-v130{grid-template-columns:1fr!important}.op-shift-hero-v130{grid-template-columns:1fr!important}.operator-main-v130{padding:0 16px 24px!important}.op-topbar-v130{margin:0 -16px 18px!important;padding:16px!important;height:auto!important;flex-direction:column!important;align-items:flex-start!important}.knowledge-form{grid-template-columns:1fr!important}}

/* UI Sprint 1.3 — Operator Knowledge Wiki + Live Notifications */
.knowledge-wiki-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 22px!important;}
.knowledge-wiki-head h2{margin:0!important;font-size:26px!important;font-weight:950!important;letter-spacing:-.02em!important;}
.knowledge-wiki-head input{width:340px!important;max-width:100%!important;height:46px!important;border:1px solid #dbe5f1!important;border-radius:14px!important;padding:0 16px!important;font-size:15px!important;background:#f8fbff!important;}
.op-knowledge-wiki .op-knowledge-list-v130{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;}
.op-knowledge-wiki .op-knowledge-item-v130{padding:24px!important;min-height:220px!important;}
.op-knowledge-wiki .op-knowledge-item-v130 h3{font-size:24px!important;font-weight:950!important;line-height:1.2!important;}
.op-knowledge-wiki .op-knowledge-item-v130 p{font-size:16px!important;color:#334155!important;}
.knowledge-media-box{width:100%!important;margin-top:16px!important;padding:14px!important;border-radius:16px!important;background:#f3f8ff!important;box-sizing:border-box!important;}
.knowledge-media-box img,.knowledge-media-box video{width:100%!important;max-height:420px!important;object-fit:contain!important;border-radius:12px!important;background:#fff!important;}
.live-task-card{animation:opCardIn .22s ease-out;}
@keyframes opCardIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.task-card .notice.good{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#047857!important;border-radius:14px!important;padding:18px!important;}
@media(max-width:820px){.knowledge-wiki-head{flex-direction:column;align-items:stretch}.knowledge-wiki-head input{width:100%!important}.op-knowledge-wiki .op-knowledge-list-v130{grid-template-columns:1fr!important}}

/* UI Sprint 3: Personnel Enterprise */
.enterprise-body{background:#f4f7fb;color:#142033;font-family:Inter,Arial,sans-serif}.enterprise-shell{max-width:1560px;margin:0 auto;padding:24px}.emp-hero{background:linear-gradient(135deg,#ffffff,#eef7ff);border:1px solid #e2eaf5;border-radius:28px;box-shadow:0 20px 60px rgba(32,48,74,.08);padding:28px 32px;margin:0 0 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}.emp-hero h1{font-size:38px;margin:4px 0 8px;letter-spacing:-.04em}.emp-hero p{margin:0;color:#667085;font-size:16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;color:#2477d4;font-weight:900}.enterprise-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:16px;border:0;background:#2563eb;color:#fff!important;text-decoration:none!important;font-weight:900;box-shadow:0 12px 28px rgba(37,99,235,.22)}.emp-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:16px;margin:0 0 22px}.emp-stat{background:#fff;border:1px solid #e6edf6;border-radius:22px;padding:20px;box-shadow:0 14px 38px rgba(32,48,74,.06)}.emp-stat span,.emp-stat small{display:block;color:#667085}.emp-stat b{display:block;font-size:34px;margin:8px 0 2px}.emp-stat.good b{color:#16a34a}.emp-stat.warn b{color:#d97706}.emp-stat.bad b{color:#dc2626}.emp-layout{display:grid;grid-template-columns:270px 1fr;gap:22px;align-items:start}.emp-sidebar{position:sticky;top:18px;background:#101828;color:#fff;border-radius:26px;padding:18px;box-shadow:0 22px 56px rgba(16,24,40,.18)}.emp-side-title{font-weight:900;font-size:18px;margin:4px 0 16px}.emp-sidebar a{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:15px;color:#dbe7ff;text-decoration:none;font-weight:800;margin-bottom:8px}.emp-sidebar a.active,.emp-sidebar a:hover{background:#2563eb;color:#fff}.emp-side-note{margin-top:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;color:#b7c4d8;font-size:13px;line-height:1.45}.emp-main{min-width:0}.emp-panel{background:#fff;border:1px solid #e6edf6;border-radius:26px;box-shadow:0 18px 52px rgba(32,48,74,.07);padding:22px;margin-bottom:22px}.emp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.emp-panel h2{margin:0;font-size:24px;letter-spacing:-.02em}.emp-panel p{margin:5px 0 0;color:#667085}.emp-create-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px}.emp-form-card{background:#f8fbff;border:1px solid #e6edf6;border-radius:20px;padding:18px}.emp-form-card h3{margin:0 0 12px}.emp-form-card label{display:block;font-weight:800;color:#344054;margin:10px 0}.emp-form-card input,.emp-form-card select,.emp-filters input,.emp-filters select{width:100%;box-sizing:border-box;border:1px solid #dbe3ee;background:#fff;border-radius:14px;min-height:44px;padding:10px 12px}.emp-form-card small{display:block;color:#667085;font-weight:500;margin-top:5px}.full-action{width:100%;margin-top:12px}.emp-access-details{grid-column:1/-1;background:#f8fbff;border:1px solid #e6edf6;border-radius:18px;padding:14px}.emp-access-details summary{font-weight:900;cursor:pointer}.emp-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:12px;max-height:220px;overflow:auto}.emp-checks label{background:#fff;border:1px solid #e6edf6;border-radius:12px;padding:9px;font-weight:700}.emp-filters{display:grid;grid-template-columns:1.4fr repeat(5,1fr) auto auto;gap:10px;align-items:center;margin-bottom:18px}.emp-filters button,.emp-filters a{min-height:44px;border-radius:14px;border:1px solid #dbe3ee;background:#fff;color:#2563eb;font-weight:900;text-decoration:none;display:flex;align-items:center;justify-content:center;padding:0 14px}.employee-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.employee-tile{position:relative;display:block;background:#fff;border:1px solid #e6edf6;border-radius:24px;padding:18px;text-decoration:none;color:#142033;box-shadow:0 14px 38px rgba(32,48,74,.06);transition:.18s ease;overflow:hidden}.employee-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#16a34a}.employee-tile.is-warn:before{background:#f59e0b}.employee-tile.is-fired:before{background:#ef4444}.employee-tile:hover{transform:translateY(-3px);box-shadow:0 22px 58px rgba(32,48,74,.12)}.emp-avatar{width:54px;height:54px;border-radius:18px;background:#eaf2ff;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;margin-bottom:12px}.emp-tile-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.emp-tile-top h3{margin:0;font-size:20px;line-height:1.15}.emp-tile-top p{margin:5px 0 0;color:#667085}.status-chip{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;border:1px solid}.status-chip.good{background:#ecfdf3;color:#067647;border-color:#abefc6}.status-chip.warn{background:#fffaeb;color:#b54708;border-color:#fedf89}.status-chip.bad{background:#fef3f2;color:#b42318;border-color:#fecdca}.emp-info-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-top:1px solid #edf2f7;padding:10px 0}.emp-info-line span{color:#667085;font-size:13px}.emp-info-line b{text-align:right;overflow-wrap:anywhere}.emp-tile-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px;color:#667085}.emp-tile-footer strong{color:#2563eb}.empty-state{grid-column:1/-1;background:#f8fbff;border:1px dashed #cbd5e1;border-radius:20px;padding:28px;text-align:center;color:#667085;font-weight:800}@media(max-width:1180px){.emp-layout{grid-template-columns:1fr}.emp-sidebar{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.emp-sidebar a{margin:0}.emp-side-title,.emp-side-note{grid-column:1/-1}.emp-create-grid{grid-template-columns:1fr}.emp-filters{grid-template-columns:1fr 1fr}}@media(max-width:740px){.enterprise-shell{padding:14px}.emp-hero{display:block}.emp-hero .enterprise-primary{margin-top:16px;width:100%}.emp-stats-grid{grid-template-columns:1fr 1fr}.emp-sidebar{grid-template-columns:1fr}.emp-filters{grid-template-columns:1fr}.employee-card-grid{grid-template-columns:1fr}}

/* UI Sprint 3.1: Enterprise UI Kit */
:root{--nav:#071427;--nav2:#0f1b2f;--purple:#5b2eea;--purple2:#7c3aed;--blue:#2563eb;--green:#16a34a;--red:#ef4444;--orange:#f59e0b;--ink:#0f172a;--muted:#64748b;--line:#e8edf5;--bg:#f5f7fb;--card:#fff;--shadow:0 14px 38px rgba(15,23,42,.07);--radius:20px}
*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:262px;background:linear-gradient(180deg,#071427,#0b1728);color:#fff;padding:22px 18px;z-index:1000;display:flex;flex-direction:column;gap:18px;box-shadow:20px 0 50px rgba(15,23,42,.14)}.app-logo{display:flex;align-items:center;gap:14px;margin-bottom:6px}.logo-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#2563eb);display:grid;place-items:center;font-weight:900}.app-logo b{font-size:30px;line-height:24px;display:block}.app-logo small{display:block;font-size:12px;letter-spacing:.08em;color:#c7d2fe}.role-pill{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);border-radius:14px;padding:13px 14px}.role-pill span{width:11px;height:11px;background:#22c55e;border-radius:50%}.role-pill i{margin-left:auto;color:#cbd5e1}.side-nav{display:flex!important;flex-direction:column;gap:8px;margin:6px 0 0!important}.side-nav a{display:flex;align-items:center;gap:12px;height:46px;border-radius:13px;padding:0 14px!important;color:#e5e7eb!important;text-decoration:none;background:transparent!important;border:0!important;box-shadow:none!important;font-weight:700}.side-nav a:hover,.side-nav a.active{background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:12px}.mini-avatar{width:42px;height:42px;border-radius:50%;background:#fff;color:#0f172a;display:grid;place-items:center;font-weight:900}.sidebar-user small{display:block;color:#cbd5e1;margin-top:2px}.collapse-btn{background:transparent!important;color:#e2e8f0!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:13px!important;padding:12px!important}.wrap,.enterprise-shell,.ui-page{margin-left:286px!important;max-width:none!important;width:calc(100% - 320px)!important;padding:28px!important}.pvz-top-menu{display:none!important}.enterprise-body{background:var(--bg)}.ui-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.ui-page-title h1{font-size:32px;margin:0 0 6px;font-weight:900}.ui-page-title p{margin:0;color:var(--muted)}.ui-actions{display:flex;gap:12px;align-items:center}.ui-primary,.enterprise-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0!important;background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important;border-radius:13px!important;min-height:48px;padding:0 20px!important;font-weight:900;text-decoration:none;box-shadow:0 14px 26px rgba(91,46,234,.24)}.ui-secondary,.btn,.card-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line)!important;background:#fff!important;color:#111827!important;border-radius:13px!important;min-height:44px;padding:0 18px!important;font-weight:800;text-decoration:none}.ui-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:16px;margin:20px 0}.ui-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px}.ui-stat .ico{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:25px;background:#eef2ff}.ui-stat span{display:block;color:var(--muted);font-size:13px}.ui-stat b{font-size:28px}.ui-stat small{display:block;color:var(--muted)}.ui-stat.green .ico{background:#dcfce7}.ui-stat.orange .ico{background:#ffedd5}.ui-stat.blue .ico{background:#dbeafe}.ui-stat.red .ico{background:#fee2e2}.module-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.module-side{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);position:sticky;top:20px;min-height:650px}.module-side h3{font-size:18px;margin:8px 10px 18px}.module-side a{display:flex;align-items:center;gap:10px;border-radius:13px;padding:14px 16px;text-decoration:none;color:#334155;font-weight:800;margin-bottom:8px}.module-side a.active,.module-side a:hover{background:#f0eafd;color:#5b21b6}.module-note{margin-top:220px;background:#f4f0ff;border-radius:18px;padding:18px;color:#334155}.ui-card,.emp-panel,.panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px}.ui-filter{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:22px}.ui-filter .chips{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#1e293b;font-weight:900;text-decoration:none}.chip.active,.chip:hover{background:linear-gradient(135deg,#6d28d9,#2563eb);color:#fff;border-color:transparent}.ui-filter input,.ui-filter select,input,select,textarea{border:1px solid #dfe6f0;border-radius:13px;min-height:46px;padding:0 14px;background:#fff;color:#0f172a}.employee-card-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:18px}.employee-tile{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;color:#0f172a;text-decoration:none;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:.18s}.employee-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.11)}.emp-avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#eef2ff,#f8fafc);display:grid;place-items:center;font-weight:900;font-size:24px;color:#5b21b6;margin-bottom:10px}.emp-tile-top{display:flex;justify-content:space-between;gap:10px}.emp-tile-top h3{margin:0;font-size:18px}.emp-tile-top p{margin:3px 0 0;color:var(--muted)}.status-chip{display:inline-flex;align-items:center;height:28px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:900;white-space:nowrap}.status-chip.good{background:#dcfce7;color:#15803d}.status-chip.warn{background:#fef3c7;color:#d97706}.status-chip.bad{background:#fee2e2;color:#dc2626}.emp-info-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.emp-info-line span{color:var(--muted)}.emp-tile-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border:1px solid var(--line);border-radius:13px;height:44px;padding:0 14px}.emp-tile-footer strong{color:#1e40af}.ui-table-wrap,.table-wrap,.table-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}table{box-shadow:none!important;border-radius:18px!important;border-collapse:separate!important;border-spacing:0!important}th{background:#f8fafc!important;color:#475569!important;font-size:13px!important}td,th{border-bottom:1px solid var(--line)!important}.filter,.gridform{background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:var(--shadow);padding:18px!important}.empty-state{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:28px;color:var(--muted);text-align:center}@media(max-width:1280px){.ui-stat-grid{grid-template-columns:repeat(3,1fr)}.employee-card-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:980px){.app-sidebar{position:static;width:auto}.wrap,.enterprise-shell,.ui-page{margin-left:0!important;width:100%!important}.module-layout{grid-template-columns:1fr}.module-side{position:static;min-height:auto}.employee-card-grid{grid-template-columns:1fr}.ui-filter{grid-template-columns:1fr}.ui-stat-grid{grid-template-columns:1fr 1fr}}


/* UI Sprint 3.2: единый левый столбец во всех разделах */
:root{--sidebar-w:262px;--page-pad:28px;}
.app-sidebar{width:var(--sidebar-w)!important;min-width:var(--sidebar-w)!important;max-width:var(--sidebar-w)!important;box-sizing:border-box!important;}
.app-logo,.role-pill,.side-nav a,.sidebar-user,.collapse-btn{box-sizing:border-box!important;width:100%!important;}
.side-nav a{justify-content:flex-start!important;white-space:normal!important;}
.wrap,.enterprise-shell,.ui-page{margin-left:var(--sidebar-w)!important;width:calc(100% - var(--sidebar-w))!important;max-width:none!important;padding:var(--page-pad)!important;box-sizing:border-box!important;}
.legacy-top-nav,.wrap>nav:not(.side-nav){display:none!important;}
/* Чтобы старые страницы выглядели в одном стиле с новым меню */
body:has(.app-sidebar){background:#f4f7fb!important;}
@media(max-width:980px){.app-sidebar{position:static!important;width:100%!important;max-width:none!important;min-width:0!important}.wrap,.enterprise-shell,.ui-page{margin-left:0!important;width:100%!important}}

/* UI Sprint 3.3: stable global layout and section-specific inner menus */
:root{--sidebar-w:262px;--page-pad:28px;}
html,body{margin:0!important;min-height:100%;overflow-x:hidden!important;}
body{background:#f4f7fb!important;}
.app-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--sidebar-w)!important;min-width:var(--sidebar-w)!important;max-width:var(--sidebar-w)!important;box-sizing:border-box!important;z-index:1000!important;}
.app-logo,.role-pill,.side-nav,.side-nav a,.sidebar-user,.collapse-btn{box-sizing:border-box!important;width:100%!important;}
.side-nav a{justify-content:flex-start!important;white-space:normal!important;min-width:0!important;}
.wrap,.enterprise-shell,.ui-page{margin-left:var(--sidebar-w)!important;width:calc(100% - var(--sidebar-w))!important;max-width:none!important;padding:var(--page-pad)!important;box-sizing:border-box!important;overflow-x:hidden!important;}
body>.wrap,body>.enterprise-shell,body>.ui-page{min-height:100vh;}
.legacy-top-nav,.wrap>nav:not(.side-nav),.ui-page>nav:not(.side-nav){display:none!important;}
.module-layout{grid-template-columns:260px minmax(0,1fr)!important;width:100%!important;box-sizing:border-box!important;}
.module-layout>main{min-width:0!important;overflow-x:hidden!important;}
.module-side{width:260px!important;min-width:260px!important;max-width:260px!important;box-sizing:border-box!important;}
.finance-side a.active,.finance-side a:hover{background:#fff7ed!important;color:#c2410c!important;}
.kpi-side a.active,.kpi-side a:hover{background:#fff7ed!important;color:#b45309!important;}
.schedule-side a.active,.schedule-side a:hover{background:#eff6ff!important;color:#1d4ed8!important;}
.ui-stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;}
.ui-card,.panel,.filter,.gridform{max-width:100%!important;box-sizing:border-box!important;}
.ui-filter{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;}
.pvzbox,.checks,.ui-table-wrap,.table-wrap,.table-scroll{max-width:100%!important;box-sizing:border-box!important;}
.pvz-grid,.employee-card-grid{max-width:100%!important;box-sizing:border-box!important;}
@media(max-width:980px){.app-sidebar{position:static!important;width:100%!important;min-width:0!important;max-width:none!important}.wrap,.enterprise-shell,.ui-page{margin-left:0!important;width:100%!important}.module-layout{grid-template-columns:1fr!important}.module-side{width:100%!important;min-width:0!important;max-width:none!important}}

/* UI Sprint 3.5 — графики Enterprise */
.schedule-dashboard-v35{padding:24px!important;}
.schedule-dashboard-v35 .dashboard-v3-header{grid-template-columns:minmax(280px,1fr) minmax(520px,720px)!important;align-items:start;}
.schedule-top-filter{display:grid!important;grid-template-columns:repeat(2,minmax(140px,1fr)) 160px!important;gap:14px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important;}
.schedule-enterprise-calendar .schedule-top-filter{grid-template-columns:repeat(5,minmax(130px,1fr)) 140px!important;}
.schedule-top-filter label{font-weight:800;color:#334155;font-size:13px;}
.schedule-top-filter input,.schedule-top-filter select{width:100%;margin-top:6px;}
.calendar-main-wide{width:100%!important;min-width:0!important;margin-top:18px!important;}
.full-width-calendar{width:100%!important;max-width:100%!important;overflow:auto!important;max-height:68vh!important;border:1px solid var(--line);border-radius:18px;background:#fff;}
.schedule-wide-table{width:max-content!important;min-width:100%!important;font-size:12px!important;}
.schedule-wide-table th{height:48px!important;white-space:nowrap!important;text-align:center!important;}
.schedule-wide-table .sticky-col{min-width:170px!important;max-width:220px!important;left:0!important;}
.schedule-wide-table .schedule-cell{min-width:112px!important;width:112px!important;height:92px!important;padding:7px!important;}
.schedule-wide-table .cell-emp{font-size:11px!important;line-height:1.25!important;border-radius:9px!important;padding:5px!important;background:#f8fafc;border:1px solid #e5e7eb;margin-top:4px;overflow-wrap:anywhere;}
.schedule-wide-table .cell-day{font-weight:900;color:#0f172a;margin-bottom:4px;}
.requests-under-calendar{margin-top:22px!important;}
.section-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;}
.request-grid-bottom{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px;align-items:stretch;}
.request-grid-bottom .request-card{height:100%;margin:0!important;}
.approval-two-columns-v2,.dashboard-grid-v3{grid-template-columns:1fr!important;}
.inbox-panel-v3{max-height:none!important;}
.schedule-calendar-scroll.compact-calendar{max-height:68vh!important;}
@media(max-width:1300px){.request-grid-bottom{grid-template-columns:repeat(2,minmax(260px,1fr));}.schedule-dashboard-v35 .dashboard-v3-header,.schedule-enterprise-calendar .schedule-top-filter{grid-template-columns:1fr!important;}}
@media(max-width:760px){.request-grid-bottom{grid-template-columns:1fr;}.schedule-wide-table .schedule-cell{min-width:96px!important;width:96px!important}.schedule-wide-table .sticky-col{min-width:130px!important}.schedule-top-filter{grid-template-columns:1fr!important}}

/* UI Sprint 3.6: finance payroll cards */
.employee-pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.employee-pay-card{background:#fff;border:1px solid #e5eaf3;border-radius:18px;padding:18px;box-shadow:0 10px 25px rgba(15,23,42,.05)}
.pay-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.pay-card-head h3{margin:0 0 4px;font-size:18px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.badge.green{background:#dcfce7;color:#15803d}.badge.orange{background:#ffedd5;color:#c2410c}.orange-text{color:#c2410c}.pay-lines{display:grid;gap:10px}.pay-lines>div{display:flex;justify-content:space-between;gap:12px;border:1px solid #edf1f7;background:#f8fafc;border-radius:14px;padding:12px}.pay-lines span{color:#667085}.pay-lines b{font-size:17px}.pay-lines .to-pay{background:#eef6ff;border-color:#d7e9ff}.pay-meta{display:flex;gap:12px;flex-wrap:wrap;color:#667085;font-size:13px;margin-top:12px}.empty-card{border:1px dashed #d6dce8;border-radius:16px;padding:22px;color:#667085;background:#f8fafc}

/* UI Sprint 3.7: readable payroll employee cards */
.payroll-summary-card{overflow:hidden!important;}
.payroll-hint{background:#f4f0ff;border:1px solid #e7ddff;color:#5b21b6;border-radius:16px;padding:12px 14px;font-weight:800;white-space:nowrap}
.employee-pay-grid-v2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;gap:18px!important}
.pay-card-v2{position:relative;padding:20px!important;border-radius:22px!important;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;border:1px solid #e5eaf3!important;box-shadow:0 18px 38px rgba(15,23,42,.07)!important;overflow:hidden!important}
.pay-card-v2:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#22c55e}
.pay-card-v2.has-cash:before{background:#f97316}
.pay-card-head-v2{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin-bottom:16px!important}
.pay-avatar{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#4f46e5;box-shadow:inset 0 0 0 1px rgba(79,70,229,.12)}
.pay-employee-main{min-width:0}.pay-employee-main h3{font-size:19px!important;line-height:1.15!important;margin:0 0 5px!important;overflow-wrap:anywhere}.pay-subline{color:#64748b;font-size:13px;font-weight:700}
.pay-shift-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.pay-shift-strip>div{background:#f8fafc;border:1px solid #edf1f7;border-radius:16px;padding:12px}.pay-shift-strip span{display:block;color:#64748b;font-size:12px;font-weight:700}.pay-shift-strip b{display:block;margin-top:4px;font-size:22px;color:#0f172a}
.pay-money-grid{display:grid;grid-template-columns:1fr;gap:10px}.money-box{border-radius:17px;padding:14px 16px;border:1px solid #e7edf6;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;background:#fff}.money-box span{font-size:13px;color:#64748b;font-weight:800}.money-box b{font-size:20px;color:#0f172a;white-space:nowrap}.money-box small{grid-column:1/-1;color:#94a3b8;font-weight:700}.money-box.accrued{background:#f8fafc}.money-box.cash{background:#fff7ed;border-color:#fed7aa}.money-box.cash b{color:#c2410c}.money-box.payout{background:#eff6ff;border-color:#bfdbfe}.money-box.payout b{color:#1d4ed8}
.pay-meta-v2{margin-top:14px!important;padding-top:14px;border-top:1px solid #edf1f7;display:flex!important;justify-content:space-between!important;gap:10px!important}.pay-meta-v2 span{background:#f8fafc;border:1px solid #eef2f7;border-radius:999px;padding:8px 10px;color:#475569!important;font-size:12px!important}
@media(max-width:760px){.employee-pay-grid-v2{grid-template-columns:1fr!important}.pay-card-head-v2{grid-template-columns:44px 1fr!important}.pay-card-head-v2 .badge{grid-column:1/-1;width:max-content}.pay-shift-strip{grid-template-columns:1fr}.payroll-hint{white-space:normal}.money-box{grid-template-columns:1fr}.money-box b{white-space:normal}.pay-meta-v2{flex-direction:column}}

/* UI Sprint 3.8: финансы — карточки зарплаты сотрудников */
.payroll-enterprise-card{padding:24px!important;}
.payroll-card-grid-final{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(380px,1fr))!important;gap:20px!important;align-items:stretch!important;margin-top:18px!important;}
.salary-person-card{position:relative!important;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;border:1px solid #e5eaf3!important;border-radius:24px!important;box-shadow:0 18px 44px rgba(15,23,42,.075)!important;padding:22px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;gap:14px!important;min-height:520px!important;}
.salary-person-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#22c55e;}
.salary-person-card.has-cash:before{background:#f97316;}
.salary-person-head{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;margin-bottom:2px!important;}
.salary-avatar{width:56px;height:56px;border-radius:19px;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:flex;align-items:center;justify-content:center;font-weight:950;font-size:24px;color:#4f46e5;box-shadow:inset 0 0 0 1px rgba(79,70,229,.14);}
.salary-person-head h3{margin:0!important;font-size:20px!important;line-height:1.15!important;color:#0f172a!important;overflow-wrap:anywhere!important;}
.salary-person-head p{margin:5px 0 0!important;color:#64748b!important;font-weight:750!important;font-size:13px!important;}
.salary-badge{border-radius:999px;padding:8px 11px;font-weight:900;font-size:12px;white-space:nowrap;}
.salary-badge.cash{background:#ffedd5;color:#c2410c;}.salary-badge.ok{background:#dcfce7;color:#15803d;}
.salary-block-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:950;margin-top:4px;}
.salary-metrics.four{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;}
.salary-metrics>div{background:#f8fafc!important;border:1px solid #edf1f7!important;border-radius:17px!important;padding:13px 11px!important;min-width:0!important;}
.salary-metrics span{display:block;color:#64748b;font-size:11px;font-weight:850;line-height:1.2;}
.salary-metrics b{display:block;margin-top:7px;font-size:24px;color:#0f172a;line-height:1;}
.cash-text{color:#c2410c!important;}
.salary-money-list{display:grid!important;gap:10px!important;}
.salary-money-list>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 12px!important;align-items:center!important;border-radius:18px!important;border:1px solid #e7edf6!important;background:#ffffff!important;padding:14px 16px!important;}
.salary-money-list span{color:#475569;font-size:13px;font-weight:900;}
.salary-money-list b{font-size:20px;color:#0f172a;white-space:nowrap;}
.salary-money-list small{grid-column:1/-1;color:#94a3b8;font-size:12px;font-weight:750;}
.salary-money-list .cash-row{background:#fff7ed!important;border-color:#fed7aa!important;}.salary-money-list .cash-row b{color:#c2410c!important;}
.salary-money-list .to-pay-row{background:#eff6ff!important;border-color:#bfdbfe!important;}.salary-money-list .to-pay-row b{color:#1d4ed8!important;font-size:22px!important;}
.salary-control-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.salary-control-row>div{background:#f8fafc!important;border:1px solid #edf1f7!important;border-radius:17px!important;padding:13px 14px!important;}
.salary-control-row span{display:block;color:#64748b;font-size:12px;font-weight:900;}.salary-control-row b{display:block;margin-top:4px;font-size:18px;color:#0f172a;}.salary-control-row small{display:block;margin-top:3px;color:#94a3b8;font-size:12px;font-weight:800;}
.salary-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:auto!important;padding-top:6px!important;}
.salary-card-actions a{display:flex!important;align-items:center!important;justify-content:center!important;height:44px!important;border:1px solid #dbe5f1!important;border-radius:15px!important;background:#fff!important;color:#1e40af!important;text-decoration:none!important;font-weight:900!important;}
.salary-card-actions a:hover{background:#eff6ff!important;border-color:#bfdbfe!important;}
@media(max-width:900px){.payroll-card-grid-final{grid-template-columns:1fr!important}.salary-person-head{grid-template-columns:48px 1fr!important}.salary-badge{grid-column:1/-1;width:max-content}.salary-metrics.four{grid-template-columns:repeat(2,1fr)!important}.salary-money-list>div{grid-template-columns:1fr!important}.salary-control-row,.salary-card-actions{grid-template-columns:1fr!important}}
/* Sprint 42: визуальная метка дополнительной смены в календаре */
.schedule-cell .cell-emp.additional{background:#ecfeff!important;border:1px solid #67e8f9!important;color:#155e75!important;}


/* Sprint 43.1 Enterprise Shell: unified application shell only */
:root{
  --tm-sidebar-expanded:262px;
  --tm-sidebar-collapsed:82px;
  --tm-page-pad:28px;
  --tm-bg:#f4f7fb;
  --tm-surface:#ffffff;
  --tm-border:#e6edf6;
  --tm-text:#0f172a;
  --tm-muted:#64748b;
  --tm-primary:#2563eb;
  --tm-primary-2:#6d28d9;
  --tm-success:#16a34a;
  --tm-warning:#f59e0b;
  --tm-danger:#ef4444;
  --tm-radius:18px;
  --tm-shadow:0 14px 38px rgba(15,23,42,.07);
}
body:has(.app-sidebar){background:var(--tm-bg)!important;color:var(--tm-text)!important;}
.app-sidebar{transition:width .18s ease,min-width .18s ease,max-width .18s ease;padding-top:20px!important;}
.side-nav a{position:relative;transition:background .16s ease,color .16s ease,transform .16s ease;}
.side-nav a:hover{transform:translateX(2px);}
.side-nav a.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:999px;background:#fff;}
.collapse-btn{cursor:pointer!important;transition:background .16s ease!important;}
.collapse-btn:hover{background:rgba(255,255,255,.08)!important;}
body.sidebar-collapsed{--sidebar-w:var(--tm-sidebar-collapsed)!important;}
body.sidebar-collapsed .app-sidebar{width:var(--tm-sidebar-collapsed)!important;min-width:var(--tm-sidebar-collapsed)!important;max-width:var(--tm-sidebar-collapsed)!important;padding-left:12px!important;padding-right:12px!important;}
body.sidebar-collapsed .app-logo{justify-content:center!important;}
body.sidebar-collapsed .app-logo>div:not(.logo-mark),
body.sidebar-collapsed .role-pill b,
body.sidebar-collapsed .role-pill i,
body.sidebar-collapsed .side-nav a span,
body.sidebar-collapsed .sidebar-user>div:not(.mini-avatar){display:none!important;}
body.sidebar-collapsed .role-pill{justify-content:center!important;padding-left:0!important;padding-right:0!important;}
body.sidebar-collapsed .side-nav a{justify-content:center!important;padding-left:0!important;padding-right:0!important;font-size:20px!important;}
body.sidebar-collapsed .sidebar-user{justify-content:center!important;}
body.sidebar-collapsed .collapse-btn{font-size:0!important;}
body.sidebar-collapsed .collapse-btn:before{content:"☰";font-size:18px;}
body.sidebar-collapsed .wrap,
body.sidebar-collapsed .enterprise-shell,
body.sidebar-collapsed .ui-page{margin-left:var(--tm-sidebar-collapsed)!important;width:calc(100% - var(--tm-sidebar-collapsed))!important;}
.ui-page-title{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.ui-page-title h1{letter-spacing:-.02em!important;}
.panel,.ui-card,.filter,.gridform,.cards div{border-color:var(--tm-border)!important;border-radius:var(--tm-radius)!important;box-shadow:var(--tm-shadow)!important;}
button,.btn,.ui-primary,.ui-secondary,.enterprise-primary{transition:transform .12s ease,box-shadow .12s ease,background .12s ease!important;}
button:hover,.btn:hover,.ui-primary:hover,.ui-secondary:hover,.enterprise-primary:hover{transform:translateY(-1px);}
@media(max-width:980px){body.sidebar-collapsed .wrap,body.sidebar-collapsed .enterprise-shell,body.sidebar-collapsed .ui-page{margin-left:0!important;width:100%!important}.app-sidebar{transition:none!important}}

/* Sprint 43.2 — UI Components: unified visual components only */
:root{
  --ui-bg:#f4f7fb;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fafc;
  --ui-border:#e5edf7;
  --ui-text:#0f172a;
  --ui-muted:#64748b;
  --ui-primary:#2563eb;
  --ui-primary-dark:#1d4ed8;
  --ui-success:#16a34a;
  --ui-warning:#f59e0b;
  --ui-danger:#ef4444;
  --ui-info:#0284c7;
  --ui-radius:16px;
  --ui-radius-lg:22px;
  --ui-shadow:0 10px 30px rgba(15,23,42,.065);
  --ui-shadow-sm:0 4px 14px rgba(15,23,42,.045);
}

/* Typography and base spacing */
.wrap h1,.ui-page-title h1{font-size:28px!important;line-height:1.15!important;color:var(--ui-text)!important;font-weight:900!important;letter-spacing:-.025em!important;margin-bottom:18px!important;}
h2{font-size:21px!important;line-height:1.25!important;color:var(--ui-text)!important;font-weight:850!important;letter-spacing:-.015em!important;}
h3{font-size:18px!important;line-height:1.3!important;color:var(--ui-text)!important;font-weight:800!important;}
p,td,th,label,small,span{font-family:Arial,sans-serif;}
.muted,.hint,.help-text{color:var(--ui-muted)!important;}

/* Unified cards and panels */
.panel,.ui-card,.task-card,.pvz-message,.month-grid-wrap,.salary-person-card,.payroll-hero-card,.payroll-view-panel,.finance-panel,.employee-card,.status-tile,.filter,.gridform,.cards>div{
  background:var(--ui-surface)!important;
  border:1px solid var(--ui-border)!important;
  border-radius:var(--ui-radius-lg)!important;
  box-shadow:var(--ui-shadow-sm)!important;
}
.panel,.ui-card,.task-card,.filter,.gridform{padding:18px 20px!important;}
.panel:hover,.ui-card:hover,.task-card:hover,.salary-person-card:hover,.status-tile:hover{
  box-shadow:var(--ui-shadow)!important;
}
.cards{gap:14px!important;}
.cards>div{padding:18px!important;min-height:92px!important;}
.cards>div b{color:var(--ui-text)!important;font-weight:950!important;letter-spacing:-.025em!important;}
.cards>div span,.cards>div small{color:var(--ui-muted)!important;font-weight:700!important;}

/* Unified buttons */
a.btn,.btn,button,input[type="submit"],.ui-primary,.ui-secondary,.enterprise-primary,.primary,.submit-schedule,.large{
  border-radius:13px!important;
  min-height:40px;
  font-weight:800!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1.1;
}
button,.btn,input[type="submit"]{padding:10px 14px!important;}
button:not(.operator-btn):not(.submit-schedule):not(.danger):not(.bad):not(.delete):not(.primary),.btn:not(.danger):not(.primary){
  background:#fff!important;color:#1e40af!important;
}
button:not(.operator-btn):not(.submit-schedule):hover,.btn:hover,input[type="submit"]:hover{
  transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,99,235,.10)!important;border-color:#bfdbfe!important;background:#eff6ff!important;
}
button.primary,.btn.primary,.ui-primary,.enterprise-primary,input[type="submit"].primary{
  background:var(--ui-primary)!important;color:#fff!important;border-color:var(--ui-primary)!important;
}
button.primary:hover,.btn.primary:hover,.ui-primary:hover,.enterprise-primary:hover{background:var(--ui-primary-dark)!important;color:#fff!important;}
button.success,.btn.success,.submit-schedule{background:var(--ui-success)!important;color:#fff!important;border-color:var(--ui-success)!important;}
button.danger,.btn.danger,button.delete,.btn.delete{background:var(--ui-danger)!important;color:#fff!important;border-color:var(--ui-danger)!important;}
.small,button.small,.btn.small{min-height:34px!important;padding:7px 10px!important;border-radius:11px!important;font-size:13px!important;}

/* Forms and filters */
input,select,textarea{
  background:#fff!important;
  border:1px solid #dbe5f1!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  min-height:40px;
  box-sizing:border-box;
  color:var(--ui-text)!important;
  outline:none!important;
  transition:border .12s ease,box-shadow .12s ease,background .12s ease;
}
textarea{min-height:96px;line-height:1.45;}
input:focus,select:focus,textarea:focus{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;
}
.filter,.gridform,.compact,.modern{
  gap:12px!important;
  align-items:end!important;
}
.filter label,.gridform label,.modern label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#334155!important;
  font-size:13px!important;
  font-weight:800!important;
}
input[type="checkbox"],input[type="radio"]{min-height:0!important;padding:0!important;border-radius:4px!important;accent-color:var(--ui-primary);}

/* Tables */
.table-wrap{border-radius:var(--ui-radius-lg)!important;border:1px solid var(--ui-border)!important;background:#fff!important;box-shadow:var(--ui-shadow-sm)!important;overflow:auto!important;}
table{border-radius:var(--ui-radius-lg)!important;box-shadow:var(--ui-shadow-sm)!important;border:1px solid var(--ui-border)!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;}
th{background:#f8fafc!important;color:#475569!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:950!important;position:sticky;top:0;z-index:2;}
th,td{border-bottom:1px solid #edf2f7!important;padding:13px 14px!important;}
tr:hover td{background:#fbfdff!important;}
tr:last-child td{border-bottom:0!important;}

/* Badges and statuses */
.badge,.status-badge,.salary-badge{
  display:inline-flex!important;align-items:center!important;gap:6px!important;border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;font-weight:900!important;border:1px solid transparent!important;
}
.badge.ok,.status-ok,.status-approved{background:#ecfdf3!important;color:#067647!important;border-color:#abefc6!important;}
.badge.warn,.status-wait,.status-pending{background:#fffaeb!important;color:#b54708!important;border-color:#fedf89!important;}
.badge.bad,.status-bad,.status-rejected{background:#fef3f2!important;color:#b42318!important;border-color:#fecdca!important;}
.badge.info,.status-info{background:#eff8ff!important;color:#175cd3!important;border-color:#b2ddff!important;}
.bad,.bad-text{color:#b42318!important;font-weight:850!important;}.warn,.warn-text{color:#b54708!important;font-weight:850!important;}.good-text{color:#067647!important;font-weight:850!important;}

/* Modal and popup surfaces */
.modal,.dialog,.popup,.message-popup-card,.task-popup-card{
  border-radius:26px!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.22)!important;
}
.message-popup-card h2,.task-popup-card h2{font-size:28px!important;letter-spacing:-.02em!important;color:var(--ui-text)!important;}

/* Empty states */
.empty-state,.no-data,.empty-box{
  background:#fff!important;
  border:1px dashed #cbd5e1!important;
  border-radius:22px!important;
  padding:28px!important;
  text-align:center!important;
  color:var(--ui-muted)!important;
}
.empty-state b,.no-data b,.empty-box b{display:block;color:var(--ui-text)!important;font-size:18px!important;margin-bottom:6px!important;}

/* Component grids */
.hero-grid,.payroll-kpi-grid,.status-grid{gap:14px!important;}
.hero-card,.payroll-hero-card{border-radius:22px!important;border:1px solid var(--ui-border)!important;box-shadow:var(--ui-shadow-sm)!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;}
.hero-card b,.payroll-hero-card b{font-size:28px!important;color:var(--ui-text)!important;letter-spacing:-.03em!important;}
.hero-card span,.payroll-hero-card span{color:var(--ui-muted)!important;font-weight:800!important;}

/* Navigation-like pills and tabs */
.topnav a,.tabs a,.tab,.view-toggle a{
  border-radius:999px!important;
  font-weight:850!important;
  border:1px solid #dbe5f1!important;
  background:#fff!important;
  color:#1e40af!important;
  box-shadow:none!important;
}
.topnav a:hover,.tabs a:hover,.tab:hover,.view-toggle a:hover{background:#eff6ff!important;border-color:#bfdbfe!important;}
.topnav a.active,.tabs a.active,.tab.active,.view-toggle a.active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;}

@media(max-width:900px){
  .panel,.ui-card,.task-card,.filter,.gridform{padding:15px!important;border-radius:18px!important;}
  th,td{padding:10px 11px!important;}
  .cards{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:560px){.cards{grid-template-columns:1fr!important}button,.btn,input[type="submit"]{width:100%;}}

/* Sprint 43.4 — Enterprise Personnel */
.enterprise-title h1{letter-spacing:-.03em}.enterprise-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:16px 0 22px}.enterprise-kpi{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.enterprise-kpi span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f1f5f9;font-size:20px}.enterprise-kpi small{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.enterprise-kpi b{font-size:24px;letter-spacing:-.04em}.enterprise-kpi.success span{background:#dcfce7}.enterprise-kpi.info span{background:#dbeafe}.enterprise-kpi.warn span{background:#fef3c7}.enterprise-kpi.danger span{background:#fee2e2}.enterprise-personnel-layout main{min-width:0}.enterprise-create summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.enterprise-create summary span{font-size:13px;color:#64748b;font-weight:500}.personnel-workspace{padding:0;overflow:hidden}.personnel-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 160px 170px 170px auto auto auto;gap:10px;align-items:center;padding:16px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f8fafc)}.personnel-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:0 12px;height:42px}.personnel-search input{border:0;outline:0;width:100%;height:38px;background:transparent}.personnel-filter-bar select{height:42px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;padding:0 12px}.view-toggle{margin-left:auto;display:flex;background:#eef2f7;border-radius:12px;padding:4px;gap:2px}.view-toggle a{padding:8px 12px;border-radius:10px;color:#475569;text-decoration:none;font-weight:700;font-size:13px}.view-toggle a.active{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.08)}.enterprise-employee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}.enterprise-employee-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:14px;min-height:310px;transition:.16s ease}.enterprise-employee-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.09)}.enterprise-employee-card.needs-attention{border-color:#fed7aa;background:linear-gradient(180deg,#fff,#fff7ed)}.enterprise-employee-card.is-archived{opacity:.76}.e-card-head{display:flex;align-items:flex-start;gap:12px}.e-avatar{width:46px;height:46px;border-radius:16px;background:#e0edff;color:#1d4ed8;display:grid;place-items:center;font-size:20px;font-weight:900;flex:none}.e-name{min-width:0;flex:1}.e-name h3{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.e-name p{margin:3px 0 0;color:#64748b;font-size:13px}.e-main-lines{display:grid;gap:8px}.e-main-lines div{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:10px}.e-main-lines span{color:#64748b;font-size:12px}.e-main-lines b{font-size:13px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.e-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.e-card-metrics div{background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;padding:10px;text-align:center}.e-card-metrics small,.e-card-metrics em{display:block;color:#64748b;font-style:normal;font-size:11px}.e-card-metrics b{display:block;font-size:22px;letter-spacing:-.04em;margin:3px 0}.e-activity{border-top:1px solid #eef2f7;padding-top:12px;display:grid;gap:2px}.e-activity span{font-size:12px;color:#64748b}.e-activity b{font-size:14px}.e-activity small{color:#64748b}.e-actions{margin-top:auto;display:flex;gap:10px}.e-actions a{flex:1;text-align:center}.enterprise-table-wrap{display:none;padding:18px}.enterprise-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.enterprise-table th{background:#f8fafc;color:#64748b;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:12px}.enterprise-table td{border-top:1px solid #eef2f7;padding:12px;vertical-align:middle}.enterprise-table tr:hover td{background:#f8fafc}.enterprise-empty{grid-column:1/-1}.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}.status-chip.good{background:#dcfce7;color:#166534}.status-chip.warn{background:#ffedd5;color:#9a3412}.status-chip.bad{background:#fee2e2;color:#991b1b}@media(max-width:1400px){.enterprise-kpi-grid{grid-template-columns:repeat(3,1fr)}.enterprise-employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-filter-bar{grid-template-columns:1fr 1fr 1fr;}.view-toggle{margin-left:0}}@media(max-width:860px){.enterprise-kpi-grid,.enterprise-employee-grid{grid-template-columns:1fr}.personnel-filter-bar{grid-template-columns:1fr}.enterprise-table-wrap{overflow:auto}}

/* Sprint 43.5 — Enterprise Schedule */
.schedule-v435{padding:24px!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 36px rgba(15,23,42,.06)!important;border:1px solid #e6edf6!important;}
.schedule-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(620px,820px);gap:20px;align-items:start;margin-bottom:18px;}
.section-eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:900;font-size:12px;margin-bottom:8px;}
.schedule-hero h2{margin:0 0 6px;font-size:28px;letter-spacing:-.02em;color:#0f172a;}
.schedule-filter-card{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr)) 120px!important;gap:12px!important;background:#f8fafc!important;border:1px solid #e6edf6!important;border-radius:18px!important;padding:14px!important;box-shadow:none!important;}
.schedule-filter-card label{font-weight:900;color:#334155;font-size:12px;text-transform:none;}
.schedule-filter-card input,.schedule-filter-card select{margin-top:7px!important;height:42px!important;border-radius:12px!important;border:1px solid #dbe5f1!important;background:#fff!important;padding:0 12px!important;}
.schedule-filter-card .ui-btn{height:42px!important;align-self:end!important;border-radius:12px!important;}
.schedule-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin:16px 0 12px;}
.schedule-stat-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e6edf6;border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.045);}
.schedule-stat-card span{display:block;color:#64748b;font-weight:900;font-size:13px;margin-bottom:8px;}.schedule-stat-card b{display:block;color:#0f172a;font-size:30px;line-height:1;font-weight:950;}.schedule-stat-card small{display:block;margin-top:7px;color:#94a3b8;font-weight:800;}.schedule-stat-card.warning{background:#fffbeb;border-color:#fde68a}.schedule-stat-card.pending{background:#eff6ff;border-color:#bfdbfe}.schedule-stat-card.danger{background:#fff1f2;border-color:#fecdd3}
.schedule-alert-strip{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px;padding:12px 14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800;}
.schedule-alert-strip span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:6px 10px;}
.schedule-calendar-toolbar{margin-top:14px!important;margin-bottom:12px!important;padding:0 2px;}
.enterprise-calendar-shell{border-radius:20px!important;border:1px solid #dbe5f1!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 12px 24px rgba(15,23,42,.04)!important;max-height:70vh!important;}
.enterprise-schedule-table{border-spacing:0!important;font-size:12px!important;}
.enterprise-schedule-table th{background:#f8fafc!important;color:#334155!important;font-weight:950!important;border-bottom:1px solid #dbe5f1!important;}
.enterprise-schedule-table .sticky-col{background:#fff!important;border-right:1px solid #dbe5f1!important;}
.enterprise-schedule-table .pvz-name b{font-size:14px!important;color:#0f172a!important;}.enterprise-schedule-table .pvz-name small{color:#64748b!important;font-weight:800!important;}
.enterprise-schedule-table .schedule-cell{min-width:126px!important;width:126px!important;height:104px!important;padding:8px!important;transition:.15s ease!important;}
.enterprise-schedule-table .schedule-cell:hover{box-shadow:inset 0 0 0 2px #bfdbfe!important;}
.enterprise-schedule-table .schedule-cell.filled{background:#f8fff9!important;}.enterprise-schedule-table .schedule-cell.empty{background:#fff1f2!important;color:#9f1239!important;}.enterprise-schedule-table .schedule-cell.pending-cell{background:#eff6ff!important;}.enterprise-schedule-table .schedule-cell.conflict{background:#fff1f2!important;outline:3px solid #fb7185!important;}
.empty-cell-label{font-weight:950;font-size:12px;margin-bottom:5px;}.assign-link{display:inline-flex;margin-top:3px;padding:5px 8px;border-radius:999px;background:#fff;color:#1d4ed8;text-decoration:none;font-weight:900;border:1px solid #bfdbfe;}
.enterprise-schedule-table .cell-emp{display:block!important;background:#fff!important;border:1px solid #dbe5f1!important;border-radius:12px!important;padding:7px!important;margin:0 0 6px!important;color:#334155!important;font-weight:850!important;box-shadow:0 4px 10px rgba(15,23,42,.035)!important;}
.enterprise-schedule-table .cell-emp.approved{border-left:4px solid #22c55e!important;}.enterprise-schedule-table .cell-emp.additional{background:#ecfeff!important;border-color:#67e8f9!important;border-left:4px solid #06b6d4!important;color:#155e75!important;}.enterprise-schedule-table .cell-emp.replacement{background:#fff7ed!important;border-color:#fdba74!important;border-left:4px solid #f97316!important;color:#9a3412!important;}.enterprise-schedule-table .cell-emp.pending{background:#eff6ff!important;border-color:#93c5fd!important;border-left:4px solid #3b82f6!important;color:#1e40af!important;}
.legend-dot.additional{background:#ecfeff;border-color:#67e8f9!important}.enterprise-add-shift{margin-top:22px!important;border-radius:22px!important;}.schedule-add-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:14px!important;background:#f8fafc!important;border:1px solid #e6edf6!important;border-radius:18px!important;padding:16px!important;}.schedule-add-form label{font-size:12px!important;color:#475569!important;font-weight:900!important;}.schedule-add-form input,.schedule-add-form select{margin-top:7px!important;height:44px!important;border-radius:13px!important;border:1px solid #dbe5f1!important;background:#fff!important;padding:0 12px!important;}
@media(max-width:1280px){.schedule-hero{grid-template-columns:1fr}.schedule-filter-card{grid-template-columns:repeat(2,minmax(160px,1fr))!important}.schedule-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:760px){.schedule-filter-card,.schedule-summary-grid{grid-template-columns:1fr!important}.enterprise-schedule-table .schedule-cell{min-width:105px!important;width:105px!important}}

/* Sprint 43.7.2 — Finance submenu in main sidebar */
.side-nav-group{display:flex;flex-direction:column;gap:6px;margin:0;}
.side-nav-toggle{width:100%;height:46px;border:0!important;border-radius:13px;background:transparent!important;color:#e5e7eb!important;display:flex;align-items:center;gap:12px;padding:0 14px!important;font-weight:800;cursor:pointer;text-align:left;}
.side-nav-toggle i{margin-left:auto;color:#cbd5e1;font-style:normal;transition:transform .16s ease;}
.side-nav-group.open .side-nav-toggle i{transform:rotate(180deg);}
.side-nav-group.active>.side-nav-toggle,.side-nav-toggle:hover{background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important;}
.side-subnav{display:none;flex-direction:column;gap:6px;margin:0 0 2px 18px;padding-left:10px;border-left:1px solid rgba(255,255,255,.13);}
.side-nav-group.open .side-subnav{display:flex;}
.side-subnav a{height:38px!important;padding:0 12px!important;border-radius:11px!important;font-size:13px!important;color:#cbd5e1!important;background:transparent!important;}
.side-subnav a.active,.side-subnav a:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;}
.sidebar-collapsed .side-subnav{display:none!important;}
.sidebar-collapsed .side-nav-toggle span,.sidebar-collapsed .side-nav-toggle i{display:none;}
.finance-main-layout{display:block!important;width:100%!important;}
.finance-main-layout>main{width:100%!important;min-width:0!important;}


/* Sprint 43.7.4 — stable finance sidebar state */
.side-nav-group.finance-nav-group{gap:6px;}
.side-nav-group.finance-nav-group .side-nav-toggle{height:46px!important;min-height:46px!important;border-radius:13px!important;background:transparent!important;color:#e5e7eb!important;box-shadow:none!important;transition:background .15s ease,color .15s ease;}
.side-nav-group.finance-nav-group.active>.side-nav-toggle{background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important;box-shadow:0 10px 22px rgba(37,99,235,.22)!important;}
.side-nav-group.finance-nav-group .side-nav-toggle:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;}
.side-nav-group.finance-nav-group.active>.side-nav-toggle:hover{background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important;}
.side-nav-group.finance-nav-group .side-subnav{margin:4px 0 2px 18px!important;padding-left:10px!important;}
.side-nav-group.finance-nav-group .side-subnav a{height:36px!important;min-height:36px!important;border-radius:10px!important;display:flex!important;align-items:center!important;gap:10px!important;font-size:13px!important;font-weight:800!important;}
.side-nav-group.finance-nav-group .side-subnav a.active{background:rgba(255,255,255,.12)!important;color:#fff!important;}

/* Sprint 43.7.5 — finance menu parent is visually identical when open/closed */
.side-nav-group.finance-nav-group{
  width:100%!important;
  box-sizing:border-box!important;
  gap:6px!important;
}
.side-nav-group.finance-nav-group>.side-nav-toggle{
  position:relative!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  border:0!important;
  background:transparent!important;
  color:#e5e7eb!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:normal!important;
  text-align:left!important;
  transform:none!important;
}
.side-nav-group.finance-nav-group.open>.side-nav-toggle{
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  transform:none!important;
}
.side-nav-group.finance-nav-group.active>.side-nav-toggle,
.side-nav-group.finance-nav-group.active.open>.side-nav-toggle,
.side-nav-group.finance-nav-group.active>.side-nav-toggle:hover{
  background:linear-gradient(135deg,#6d28d9,#2563eb)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.side-nav-group.finance-nav-group:not(.active)>.side-nav-toggle:hover{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.side-nav-group.finance-nav-group.active>.side-nav-toggle:before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:4px;
  border-radius:999px;
  background:#fff;
}
.side-nav-group.finance-nav-group>.side-nav-toggle span{
  display:inline!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.side-nav-group.finance-nav-group>.side-nav-toggle i{
  margin-left:auto!important;
  flex:none!important;
  color:currentColor!important;
  opacity:.85!important;
  font-style:normal!important;
}
.side-nav-group.finance-nav-group .side-subnav{
  margin:4px 0 2px 18px!important;
  padding-left:10px!important;
  border-left:1px solid rgba(255,255,255,.13)!important;
}
.side-nav-group.finance-nav-group .side-subnav a{
  width:100%!important;
  box-sizing:border-box!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#cbd5e1!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  transform:none!important;
}
.side-nav-group.finance-nav-group .side-subnav a:before{display:none!important;}
.side-nav-group.finance-nav-group .side-subnav a.active,
.side-nav-group.finance-nav-group .side-subnav a:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Sprint 44 — Enterprise Schedule 2.0 */
.schedule-v44{padding:24px!important;border-radius:24px!important;background:#fff!important;border:1px solid #e6edf6!important;box-shadow:0 14px 36px rgba(15,23,42,.06)!important;}
.schedule-v44-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;}
.schedule-v44-hero h2{margin:0 0 6px;font-size:30px;letter-spacing:-.03em;color:#0f172a;}
.schedule-v44-actions{display:flex;gap:10px;flex-wrap:wrap;}
.schedule-v44-filter{display:grid;grid-template-columns:150px 150px 180px 180px minmax(220px,1fr) 120px;gap:12px;align-items:end;background:#f8fafc;border:1px solid #e6edf6;border-radius:20px;padding:14px;margin-bottom:16px;}
.schedule-v44-filter label{font-size:12px;font-weight:900;color:#475569;}
.schedule-v44-filter input,.schedule-v44-filter select{margin-top:7px;width:100%;height:44px;border-radius:13px;border:1px solid #dbe5f1;background:#fff;padding:0 12px;color:#0f172a;font-weight:700;}
.schedule-v44-filter .ui-btn{height:44px;border-radius:13px;}
.schedule-v44-kpi{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:0 0 16px;}
.schedule-kpi-card{appearance:none;text-align:left;border:1px solid #e6edf6;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:15px;box-shadow:0 8px 20px rgba(15,23,42,.04);cursor:pointer;transition:.16s ease;}
.schedule-kpi-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.07);}
.schedule-kpi-card.active{outline:3px solid #bfdbfe;border-color:#93c5fd;}
.schedule-kpi-card span{display:block;color:#64748b;font-weight:950;font-size:12px;margin-bottom:8px;}
.schedule-kpi-card b{display:block;font-size:28px;line-height:1;color:#0f172a;letter-spacing:-.04em;}
.schedule-kpi-card small{display:block;margin-top:8px;color:#94a3b8;font-weight:850;}
.schedule-kpi-card.warn{background:#fffbeb;border-color:#fde68a}.schedule-kpi-card.danger{background:#fff1f2;border-color:#fecdd3}.schedule-kpi-card.pending{background:#eff6ff;border-color:#bfdbfe}.schedule-kpi-card.violet{background:#f5f3ff;border-color:#ddd6fe}
.schedule-v44-controlbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:10px 2px 12px;}
.schedule-v44-controlbar h3{margin:0 0 4px;color:#0f172a;font-size:20px;}
.schedule-v44-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;}
.schedule-v44-scroll{max-height:72vh!important;border-radius:22px!important;background:#fff!important;}
.schedule-v44-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px;}
.schedule-v44-table th{position:sticky;top:0;z-index:3;background:#f8fafc;color:#334155;border-bottom:1px solid #dbe5f1;padding:11px 9px;text-align:center;min-width:148px;}
.schedule-v44-table th b{display:block;font-size:16px;color:#0f172a}.schedule-v44-table th small{display:block;color:#64748b;font-weight:900;margin-top:2px}
.schedule-v44-table .sticky-col{position:sticky;left:0;z-index:4;background:#fff;border-right:1px solid #dbe5f1;min-width:210px;max-width:210px;}
.schedule-v44-table .pvz-head{top:0;z-index:6;text-align:left;}
.schedule-v44-table .pvz-name{padding:12px;vertical-align:top;box-shadow:4px 0 10px rgba(15,23,42,.025);}
.schedule-v44-table .pvz-name b{display:block;font-size:14px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-v44-table .pvz-name small{display:block;color:#64748b;font-weight:800;margin-top:4px;}
.schedule-day-cell{min-width:148px;width:148px;height:132px;padding:8px;vertical-align:top;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;background:#fff;cursor:pointer;transition:.14s ease;}
.schedule-day-cell:hover{box-shadow:inset 0 0 0 2px #bfdbfe;background:#f8fafc;}
.schedule-day-cell.filled{background:#f8fff9}.schedule-day-cell.empty{background:#fff1f2}.schedule-day-cell.pending-cell{background:#eff6ff}.schedule-day-cell.conflict{background:#fff1f2;box-shadow:inset 0 0 0 2px #fb7185;}
.day-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;}
.day-card-head span{font-weight:950;color:#0f172a}.day-card-head em{font-style:normal;border-radius:999px;padding:4px 7px;background:#fff;border:1px solid #e2e8f0;color:#64748b;font-size:10px;font-weight:950;white-space:nowrap;}
.schedule-day-cell.conflict .day-card-head em{color:#be123c;border-color:#fecdd3;background:#fff1f2}.schedule-day-cell.pending-cell .day-card-head em{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.schedule-day-cell.empty .day-card-head em{color:#9f1239;border-color:#fecdd3;background:#fff1f2}
.day-shifts{display:grid;gap:6px;}.shift-pill{display:flex;align-items:flex-start;gap:6px;background:#fff;border:1px solid #dbe5f1;border-radius:12px;padding:7px;box-shadow:0 4px 10px rgba(15,23,42,.035);font-weight:850;color:#334155;line-height:1.25;}
.shift-pill i{width:7px;height:7px;border-radius:50%;background:#22c55e;margin-top:4px;flex:none}.shift-pill span{display:block;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.shift-pill.additional{background:#ecfeff;border-color:#67e8f9;color:#155e75}.shift-pill.additional i{background:#06b6d4}.shift-pill.replacement{background:#fff7ed;border-color:#fdba74;color:#9a3412}.shift-pill.replacement i{background:#f97316}.shift-pill.pending{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.shift-pill.pending i{background:#3b82f6}
.empty-day-card{height:82px;border:1px dashed #fecdd3;border-radius:14px;background:rgba(255,255,255,.65);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9f1239;font-weight:950;}.empty-day-card a{color:#1d4ed8;text-decoration:none;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 9px;font-weight:950;}
.schedule-day-drawer{position:sticky;top:16px;min-height:380px;background:#f8fafc;border:1px solid #e6edf6;border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.045);}
.drawer-empty{text-align:center;color:#64748b;padding:38px 12px;}.drawer-empty span{font-size:34px}.drawer-empty h3{color:#0f172a;margin:10px 0 6px}.drawer-empty p{margin:0;line-height:1.45}.drawer-card{display:grid;gap:14px}.drawer-top{display:flex;justify-content:space-between;gap:10px}.drawer-top h3{margin:4px 0 4px;color:#0f172a}.drawer-top p{margin:0;color:#64748b;font-weight:800}.drawer-top button{width:34px;height:34px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:20px;cursor:pointer}.drawer-block{background:#fff;border:1px solid #e6edf6;border-radius:16px;padding:13px}.drawer-block b{display:block;color:#0f172a;margin-bottom:8px}.drawer-block p{margin:0 0 8px;color:#475569;font-weight:750;line-height:1.4}.drawer-actions{display:grid;grid-template-columns:1fr;gap:9px}.empty-table-state{padding:26px;text-align:center;color:#64748b;font-weight:900}
.schedule-side-v44 a{min-height:38px;}
@media(max-width:1500px){.schedule-v44-kpi{grid-template-columns:repeat(3,1fr)}.schedule-v44-workspace{grid-template-columns:1fr}.schedule-day-drawer{position:relative;top:auto}.schedule-v44-filter{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.schedule-v44-hero,.schedule-v44-controlbar{display:block}.schedule-v44-actions{margin-top:12px}.schedule-v44-kpi,.schedule-v44-filter{grid-template-columns:1fr}.schedule-v44-table th,.schedule-day-cell{min-width:130px;width:130px}.schedule-v44-table .sticky-col{min-width:170px;max-width:170px}}

/* Sprint 44.1 — editable occupied schedule shifts */
.shift-replace-card{border:1px solid #e6edf6;border-radius:14px;background:#f8fafc;margin:8px 0;overflow:hidden;}
.shift-replace-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;color:#0f172a;font-weight:900;}
.shift-replace-card summary::-webkit-details-marker{display:none;}
.shift-replace-card summary small{display:block;margin-top:3px;color:#64748b;font-weight:800;line-height:1.3;}
.shift-replace-card summary em{font-style:normal;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 8px;font-size:11px;white-space:nowrap;}
.drawer-replace-form{display:grid;gap:9px;padding:0 12px 12px;}
.drawer-replace-form label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:900;}
.drawer-replace-form input,.drawer-replace-form select{width:100%;height:38px;border:1px solid #dbe5f1;border-radius:11px;background:#fff;padding:0 10px;color:#0f172a;font-weight:800;}
.drawer-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.drawer-replace-form .ui-btn{width:100%;height:38px;justify-content:center;}

/* Sprint 44.3: pending requests in schedule drawer are editable like approved shifts */
.request-shift-card{border-color:#bfdbfe;background:#eff6ff}
.request-drawer-badge{display:inline-flex;margin-top:4px;color:#1d4ed8;font-weight:800}

/* Sprint 44.4 — remove employee from shift action */
.drawer-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.drawer-remove-form{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.24);display:flex;flex-direction:column;gap:6px}
.ui-btn-danger-soft{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-weight:800;box-shadow:none}
.ui-btn-danger-soft:hover{background:#ffe4e6;border-color:#fca5a5;color:#991b1b}
.drawer-remove-form small{color:#64748b;font-size:12px;line-height:1.35}

/* Sprint 44.5 — Enterprise Shift Management */
.enterprise-shift-drawer{gap:16px}.enterprise-shift-form{display:grid;gap:10px;padding:0 12px 12px}.enterprise-shift-form label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:900}.enterprise-shift-form input,.enterprise-shift-form select{width:100%;border:1px solid #dbe5f0;border-radius:11px;background:#fff;padding:10px 11px;font-weight:800;color:#0f172a}.shift-lock-card{background:linear-gradient(135deg,#f8fafc,#eef6ff);border-color:#dbeafe}.shift-lock-card p{font-size:13px}.drawer-period-form{margin-top:10px}.shift-checks-inline{margin:0 12px 12px;background:#fff;border-radius:12px}.shift-check-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.shift-check-list li{font-size:12px;font-weight:850;color:#334155;background:#f8fafc;border:1px solid #e6edf6;border-radius:10px;padding:8px 9px}.shift-history-list{display:grid;gap:8px}.shift-history-list div{border:1px solid #e6edf6;background:#f8fafc;border-radius:12px;padding:9px 10px}.shift-history-list b{margin:0 0 3px!important;font-size:11px;color:#64748b}.shift-history-list span{display:block;color:#0f172a;font-size:12px;font-weight:900}.shift-history-list small{display:block;color:#64748b;font-size:11px;line-height:1.35;margin-top:2px}.approved-badge{color:#047857!important;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:3px 7px;width:max-content}.request-drawer-badge{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:3px 7px;width:max-content}.drawer-actions .ui-btn{text-align:center}.drawer-remove-form{padding:0 12px 12px;display:grid;gap:7px}.drawer-remove-form small{color:#64748b;font-size:11px;line-height:1.35}.shift-replace-card[open] summary{border-bottom:1px solid #e6edf6;background:#fff}.shift-replace-card summary span{min-width:0}.shift-replace-card summary b{white-space:normal}.shift-replace-card summary em{flex:0 0 auto}.schedule-day-drawer,.enterprise-shift-drawer{min-width:0}

/* Sprint 44.6 — Plan / Fact Schedule */
.plan-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.plan-fact-box{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;min-height:82px;}
.plan-fact-box b{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em;}
.plan-fact-box span{font-weight:800;color:#0f172a;}
.plan-fact-box small{color:#475569;font-weight:700;}
.plan-fact-box.fact-ok{background:#ecfdf5;border-color:#bbf7d0;}
.plan-fact-box.fact-wait{background:#fff7ed;border-color:#fed7aa;}
.plan-fact-box.plan-empty{background:#f8fafc;border-style:dashed;}
.replacement-note{margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-weight:800;}
.actual-only-card summary{background:#f8fafc;}
.schedule-v44 .shift-pill.fact{background:#eef2ff;border-color:#c7d2fe;color:#3730a3;}

/* Sprint 44.7: Plan -> Fact workflow */
.drawer-confirm-form{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:12px;border:1px solid rgba(37,99,235,.18);background:#eff6ff;border-radius:14px}.drawer-confirm-form small{color:#64748b;font-size:12px}.plan-fact-box.fact-wait{border-style:dashed;background:#fff7ed}.plan-fact-box.fact-ok{background:#f0fdf4;border-color:rgba(22,163,74,.2)}.replacement-note{margin:10px 0;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:700;font-size:13px}

/* Sprint 44.8 — Plan / Fact Schedule */
.schedule-plan-fact-tabs{display:flex;gap:10px;margin:16px 0 12px;align-items:center}
.schedule-plan-fact-tabs a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;color:#334155;text-decoration:none;font-weight:800;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.schedule-plan-fact-tabs a.active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 12px 28px rgba(15,23,42,.18)}
.shift-pill.fact{background:#eefdf7;border-color:#bbf7d0;color:#166534}
.fact-comment-form{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.fact-comment-form label{display:grid;gap:6px;font-weight:800;color:#334155}
.fact-comment-form input{height:40px;border:1px solid #dbe2ea;border-radius:10px;padding:0 10px;background:#fff}
.fact-comment-list{display:grid;gap:8px;margin-top:4px}
.fact-comment-list div{display:grid;gap:2px;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}
.fact-comment-list b{font-size:11px;color:#64748b}.fact-comment-list span{font-size:13px;color:#0f172a}.fact-comment-list small{font-size:11px;color:#94a3b8}
.plan-empty{opacity:.75}


/* Sprint 44.9 — schedule submenu in main sidebar + full-width schedule page */
.schedule-main-layout{display:block!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;}
.schedule-main-layout>main{width:100%!important;min-width:0!important;}
.side-nav-group.schedule-nav-group{width:100%!important;box-sizing:border-box!important;gap:6px!important;}
.side-nav-group.schedule-nav-group>.side-nav-toggle{position:relative!important;width:100%!important;height:46px!important;min-height:46px!important;max-height:46px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:0 14px!important;border-radius:13px!important;border:0!important;background:transparent!important;color:#e5e7eb!important;box-shadow:none!important;font-size:16px!important;font-weight:700!important;line-height:1!important;white-space:normal!important;text-align:left!important;transform:none!important;}
.side-nav-group.schedule-nav-group.open>.side-nav-toggle{height:46px!important;min-height:46px!important;max-height:46px!important;padding:0 14px!important;border-radius:13px!important;transform:none!important;}
.side-nav-group.schedule-nav-group.active>.side-nav-toggle,.side-nav-group.schedule-nav-group.active.open>.side-nav-toggle,.side-nav-group.schedule-nav-group.active>.side-nav-toggle:hover{background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:#fff!important;box-shadow:none!important;}
.side-nav-group.schedule-nav-group:not(.active)>.side-nav-toggle:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:none!important;}
.side-nav-group.schedule-nav-group.active>.side-nav-toggle:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:999px;background:#fff;}
.side-nav-group.schedule-nav-group>.side-nav-toggle span{display:inline!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.side-nav-group.schedule-nav-group>.side-nav-toggle i{margin-left:auto!important;flex:none!important;color:currentColor!important;opacity:.85!important;font-style:normal!important;}
.side-nav-group.schedule-nav-group .side-subnav{margin:4px 0 2px 18px!important;padding-left:10px!important;border-left:1px solid rgba(255,255,255,.13)!important;}
.side-nav-group.schedule-nav-group .side-subnav a{width:100%!important;box-sizing:border-box!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 12px!important;border-radius:10px!important;background:transparent!important;color:#cbd5e1!important;box-shadow:none!important;font-size:13px!important;font-weight:800!important;transform:none!important;}
.side-nav-group.schedule-nav-group .side-subnav a:before{display:none!important;}
.side-nav-group.schedule-nav-group .side-subnav a.active,.side-nav-group.schedule-nav-group .side-subnav a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;}

/* Sprint 44.10 — Fact Shift Quick Add */
.schedule-calendar-stack{display:grid;gap:16px;min-width:0;}
.quick-fact-add{margin-top:0!important;border:1px solid #dbeafe!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important;}
.quick-fact-add .section-head-row{align-items:flex-start!important;margin-bottom:12px!important;}
.quick-fact-add .schedule-add-form{grid-template-columns:1.05fr 1.2fr 1.25fr .8fr .8fr 1fr 1.25fr auto!important;align-items:end!important;}
.quick-fact-add .big-green-save{height:44px!important;min-width:210px!important;white-space:nowrap!important;}
.quick-add-highlight{animation:quickAddPulse 1.2s ease-out 1;}
@keyframes quickAddPulse{0%{box-shadow:0 0 0 0 rgba(37,99,235,.28)}65%{box-shadow:0 0 0 12px rgba(37,99,235,0)}100%{box-shadow:0 14px 34px rgba(15,23,42,.06)}}
@media(max-width:1700px){.quick-fact-add .schedule-add-form{grid-template-columns:repeat(4,minmax(160px,1fr))!important}.quick-fact-add .big-green-save{width:100%!important}}
@media(max-width:900px){.quick-fact-add .schedule-add-form{grid-template-columns:1fr!important}}


/* Sprint 44.10.1 — calendar layout, right panel and persistent-filter UX */
.schedule-v44-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  overflow:visible!important;
}
.schedule-calendar-stack{min-width:0!important;overflow:hidden!important;}
.schedule-v44-scroll{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  max-height:68vh!important;
  border:1px solid #dbe5f1!important;
  border-radius:20px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important;
}
.schedule-day-drawer{
  position:sticky!important;
  top:14px!important;
  width:340px!important;
  min-width:340px!important;
  max-width:340px!important;
  max-height:calc(100vh - 32px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  z-index:5!important;
}
.schedule-v44-table th{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  min-width:142px!important;
  width:142px!important;
}
.schedule-v44-table .sticky-col{
  min-width:218px!important;
  width:218px!important;
  max-width:218px!important;
  z-index:7!important;
}
.schedule-v44-table .pvz-head{
  z-index:9!important;
  background:#f8fafc!important;
}
.schedule-v44-table .pvz-name{
  height:104px!important;
  max-height:104px!important;
  padding:12px 14px!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
.schedule-v44-table .pvz-name b{
  max-width:186px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.schedule-v44-table .pvz-name small{
  max-width:186px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:10px!important;
  line-height:1.25!important;
  margin-top:5px!important;
  color:#64748b!important;
  letter-spacing:.01em!important;
}
.schedule-day-cell{
  min-width:142px!important;
  width:142px!important;
  height:104px!important;
  max-height:104px!important;
  padding:7px!important;
  box-sizing:border-box!important;
}
.day-shifts{gap:5px!important;}
.shift-pill{padding:6px!important;border-radius:10px!important;font-size:11px!important;line-height:1.18!important;}
.shift-pill span{-webkit-line-clamp:2!important;}
.empty-day-card{height:62px!important;gap:4px!important;font-size:11px!important;}
.empty-day-card a{padding:4px 8px!important;font-size:11px!important;}
.drawer-card.enterprise-shift-drawer{gap:11px!important;}
.enterprise-shift-drawer .drawer-block{padding:12px!important;}
.enterprise-shift-drawer .shift-replace-card summary{padding:10px!important;}
.enterprise-shift-drawer .drawer-replace-form{padding:0 10px 10px!important;}
.quick-fact-add{scroll-margin-top:14px!important;}
.schedule-plan-fact-tabs a{transition:.16s ease;}
.schedule-plan-fact-tabs a:hover{transform:translateY(-1px);}
@media(max-width:1180px){
  .schedule-v44-workspace{grid-template-columns:1fr!important;}
  .schedule-day-drawer{position:relative!important;top:auto!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important;}
}
@media(max-width:820px){
  .schedule-v44-table th,.schedule-day-cell{min-width:132px!important;width:132px!important;}
  .schedule-v44-table .sticky-col{min-width:176px!important;width:176px!important;max-width:176px!important;}
  .schedule-v44-table .pvz-name b,.schedule-v44-table .pvz-name small{max-width:148px!important;}
}

/* Sprint 44.10.2 — quick add actions visibility */
.quick-fact-add .schedule-add-form{
  grid-template-columns:repeat(6,minmax(150px,1fr))!important;
  align-items:end!important;
  overflow:visible!important;
}
.quick-fact-add .schedule-comment-field{
  grid-column:span 2!important;
}
.quick-add-actions{
  grid-column:1 / -1!important;
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  padding-top:4px!important;
  border-top:1px solid #e5edf7!important;
}
.quick-add-actions .big-green-save{
  height:46px!important;
  min-width:250px!important;
  width:auto!important;
  white-space:nowrap!important;
}
.quick-add-actions .btn{
  height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
  border-radius:14px!important;
  text-decoration:none!important;
}
@media(max-width:1200px){
  .quick-fact-add .schedule-add-form{grid-template-columns:repeat(2,minmax(160px,1fr))!important;}
  .quick-fact-add .schedule-comment-field{grid-column:1 / -1!important;}
}
@media(max-width:760px){
  .quick-fact-add .schedule-add-form{grid-template-columns:1fr!important;}
  .quick-add-actions .big-green-save,.quick-add-actions .btn{width:100%!important;}
}

/* Sprint 45.0 — Workplace Mode */
.workplace-panel-v45{background:#fff;border:1px solid #e5eaf2;border-radius:24px;padding:18px;margin:18px 0;box-shadow:0 16px 44px rgba(15,23,42,.08)}
.workplace-head-v45{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.workplace-head-v45 h2{margin:0;font-size:22px;color:#0f172a}.workplace-head-v45 p{margin:4px 0 0;color:#64748b;font-weight:800}.workplace-mode-pill-v45{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;border:1px solid #e5e7eb;white-space:nowrap}.workplace-mode-pill-v45.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.workplace-mode-pill-v45.off{background:#f8fafc;color:#64748b}.workplace-now-v45 h3{margin:0 0 10px;color:#111827}.workplace-shifts-v45{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.workplace-shift-card-v45{border:1px solid #e5eaf2;border-radius:18px;background:#f8fafc;padding:14px;display:grid;gap:10px}.workplace-shift-card-v45.mine{background:#ecfdf5;border-color:#bbf7d0}.workplace-shift-card-v45 b{display:block;color:#0f172a;font-size:16px}.workplace-shift-card-v45 small{display:block;color:#64748b;font-weight:800;margin-top:3px}.workplace-shift-meta-v45{display:flex;gap:8px;flex-wrap:wrap}.workplace-shift-meta-v45 span{border-radius:999px;padding:5px 9px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:900}.workplace-shift-meta-v45 .late{background:#fee2e2;color:#b91c1c}.workplace-shift-card-v45 form{display:grid;gap:8px}.workplace-shift-card-v45 input{height:38px;border:1px solid #dbe4ef;border-radius:12px;padding:0 10px}.workplace-close-btn-v45{height:40px;border:0;border-radius:12px;background:#0f172a;color:white;font-weight:950;cursor:pointer}.workplace-open-other-v45{margin-top:14px;border:1px dashed #cbd5e1;border-radius:18px;padding:14px;background:#fbfdff}.workplace-open-other-v45 summary{cursor:pointer;font-size:17px;font-weight:950;color:#0f172a}.workplace-form-v45{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(260px,1.5fr) auto;gap:12px;align-items:end;margin-top:14px}.workplace-form-v45 label{font-weight:900;color:#334155}.workplace-form-v45 input,.workplace-form-v45 select{width:100%;height:44px;border:1px solid #dbe4ef;border-radius:13px;padding:0 12px;background:#fff}.workplace-form-v45 .op-main-action-v130{height:44px;min-height:44px;padding:0 16px;white-space:nowrap}@media(max-width:1100px){.workplace-head-v45{display:grid}.workplace-form-v45{grid-template-columns:1fr}.workplace-form-v45 .op-main-action-v130{width:100%}}
/* REF-001 Dashboard Enterprise */
.executive-dashboard .panel{border-radius:24px}.executive-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff}.executive-hero h1{margin:4px 0 8px;font-size:34px}.executive-hero .muted{color:#dbeafe}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#93c5fd;margin:0}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.quick-actions .btn{background:#fff;color:#0f172a;border:0}.exec-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin:18px 0}.exec-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.07)}.exec-card span{display:block;color:#64748b;font-weight:800}.exec-card b{display:block;font-size:30px;margin:8px 0;color:#0f172a}.exec-card small{color:#64748b;line-height:1.35}.exec-card.primary{background:#eef2ff;border-color:#c7d2fe}.exec-card.good{background:#ecfdf5;border-color:#bbf7d0}.exec-card.warn{background:#fffbeb;border-color:#fde68a}.exec-card.bad{background:#fef2f2;border-color:#fecaca}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.section-head h2{margin:0 0 6px}.exec-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;margin-bottom:14px}.mini-metric{display:block;text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px}.mini-metric span{display:block;color:#64748b;font-weight:800}.mini-metric b{font-size:24px}.mini-metric.good{background:#ecfdf5}.mini-metric.warn{background:#fffbeb}.mini-metric.bad{background:#fef2f2}@media(max-width:1100px){.exec-kpi-grid{grid-template-columns:repeat(3,1fr)}.exec-columns{grid-template-columns:1fr}.executive-hero{display:block}.quick-actions{justify-content:flex-start;margin-top:14px}}@media(max-width:720px){.exec-kpi-grid,.mini-metrics{grid-template-columns:1fr}.executive-hero h1{font-size:26px}}

/* PP-01 Dashboard Pixel Perfect — Design Book v1.0 */
:root{--pp-bg:#f8fafc;--pp-card:#fff;--pp-border:#e5e7eb;--pp-text:#111827;--pp-muted:#6b7280;--pp-primary:#2563eb;--pp-success:#22c55e;--pp-warning:#f59e0b;--pp-danger:#ef4444;--pp-info:#0ea5e9;--pp-purple:#7c3aed;--pp-radius:16px;--pp-shadow:0 12px 30px rgba(15,23,42,.06)}
.pp-body{margin:0;background:var(--pp-bg);font-family:Inter,Arial,sans-serif;color:var(--pp-text)}
.pp-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.pp-sidebar{background:#fff;border-right:1px solid var(--pp-border);padding:24px 16px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;box-sizing:border-box}.pp-brand{display:flex;align-items:center;gap:12px}.pp-logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#22d3ee);display:grid;place-items:center;color:white;font-weight:900}.pp-brand b{display:block;font-size:20px}.pp-brand span,.pp-user span,.pp-title p{display:block;color:var(--pp-muted);font-size:12px}.pp-search,.pp-global-search{height:44px;border:1px solid var(--pp-border);border-radius:12px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;box-shadow:0 4px 14px rgba(15,23,42,.03)}.pp-search input,.pp-global-search input{border:0;outline:0;flex:1;padding:0;min-width:0;background:transparent}.pp-search kbd,.pp-global-search kbd{font:12px Arial;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:3px 6px}.pp-side-section{border-top:1px solid #eef2f7;padding-top:12px}.pp-side-section h4{margin:0 0 8px;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.pp-side-section a{height:36px;display:flex;align-items:center;gap:10px;border-radius:10px;padding:0 10px;text-decoration:none;color:#334155;font-size:14px;font-weight:600;border:0;background:transparent;box-shadow:none}.pp-side-section a:hover,.pp-side-section a.active{background:#eff6ff;color:#2563eb}.pp-side-section em{margin-left:auto;min-width:18px;height:18px;border-radius:999px;background:#dbeafe;color:#2563eb;font-style:normal;display:grid;place-items:center;font-size:11px}.pp-user{margin-top:auto;display:flex;align-items:center;gap:10px;border:1px solid var(--pp-border);border-radius:16px;padding:12px;background:#fff}.pp-avatar{width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,#334155,#0f172a);color:#fff;display:grid;place-items:center;font-weight:800}.pp-avatar.small{width:36px;height:36px}.pp-main{padding:24px;max-width:1680px;box-sizing:border-box}.pp-topbar{height:72px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.pp-title{display:flex;align-items:flex-start;gap:16px}.pp-title h1{margin:0;font-size:32px;line-height:1;font-weight:800}.pp-title p{margin:8px 0 0;font-size:14px}.pp-menu{border:0;background:transparent;color:#0f172a;font-size:24px;padding:2px 4px}.pp-top-actions{display:flex;align-items:center;gap:12px}.pp-global-search{width:430px;height:48px}.pp-icon-bell{position:relative;width:42px;height:42px;border-radius:13px;border:1px solid var(--pp-border);display:grid;place-items:center;background:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.03)}.pp-icon-bell span{position:absolute;right:-5px;top:-6px;background:#ef4444;color:white;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:11px;font-weight:800}.pp-org{height:44px;border:1px solid var(--pp-border);background:#fff;border-radius:13px;padding:0 18px;font-weight:700;color:#111827}.pp-profile{display:flex;align-items:center;gap:10px}.pp-profile b{font-size:14px}.pp-profile span{font-size:12px;color:var(--pp-muted)}.pp-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:18px;margin-bottom:20px}.pp-kpi{background:#fff;border:1px solid var(--pp-border);border-radius:16px;padding:20px;min-height:160px;box-shadow:var(--pp-shadow);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.pp-kpi .ico{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;font-weight:900}.ico.green{background:#dcfce7;color:#16a34a}.ico.red{background:#fee2e2;color:#ef4444}.ico.orange{background:#ffedd5;color:#f59e0b}.ico.purple{background:#ede9fe;color:#7c3aed}.ico.blue{background:#dbeafe;color:#2563eb}.pp-kpi small{display:block;font-size:13px;font-weight:700;color:#334155}.pp-kpi b{font-size:28px;line-height:1.1;display:block;margin:8px 0 0}.pp-kpi p{margin:8px 0 0;color:#64748b;font-size:12px}.spark{height:34px;width:100%;display:block;margin-top:auto;border-radius:12px;background:linear-gradient(135deg,transparent 5%,rgba(37,99,235,.18)),linear-gradient(110deg,transparent 0 10%,currentColor 10% 12%,transparent 12% 22%,currentColor 22% 25%,transparent 25% 38%,currentColor 38% 41%,transparent 41% 55%,currentColor 55% 57%,transparent 57% 70%,currentColor 70% 73%,transparent 73% 100%);opacity:.75}.spark.green{color:#22c55e}.spark.blue{color:#2563eb}.bar{height:8px;background:#eef2f7;border-radius:999px;display:block;margin-top:auto;overflow:hidden}.bar:after{content:'';display:block;height:100%;width:var(--w);border-radius:999px;background:currentColor}.bar.green{color:#22c55e}.bar.red{color:#ef4444}.bar.orange{color:#f59e0b}.bar.purple{color:#7c3aed}.pp-dashboard-grid{display:grid;grid-template-columns:1.15fr 1.35fr 1.2fr;gap:18px}.pp-card{background:#fff;border:1px solid var(--pp-border);border-radius:16px;box-shadow:var(--pp-shadow);padding:20px;min-width:0}.pp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pp-card-head h2{margin:0;font-size:18px}.pp-card-head h2 span{font-size:12px;background:#dbeafe;color:#2563eb;border-radius:999px;padding:3px 7px;margin-left:6px}.pp-card-head a{color:#2563eb;text-decoration:none;font-weight:700;font-size:13px}.pp-tasks{grid-column:span 1}.pp-payroll-card{grid-column:span 1}.pp-notifications{grid-column:span 1}.pp-shift-stats{grid-column:span 1}.pp-pvz-table{grid-column:span 1}.pp-load{grid-column:span 1}.pp-task-list,.pp-notice-list{display:grid;gap:0}.pp-task-row{display:grid;grid-template-columns:22px 1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f7;text-decoration:none;color:inherit}.pp-task-row b{display:block;font-size:14px}.pp-task-row small{display:block;color:#64748b;font-size:12px;margin-top:4px}.pp-task-row time{color:#475569;font-size:12px}.pp-priority{border-radius:8px;padding:4px 8px;font-size:11px;font-weight:800}.pp-priority.critical,.pp-priority.high{background:#fee2e2;color:#dc2626}.pp-priority.normal{background:#ffedd5;color:#f97316}.pp-priority.low{background:#dbeafe;color:#2563eb}.pp-payroll-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pp-payroll-cols>div{border-right:1px solid #e5e7eb;padding-right:16px}.pp-payroll-cols>div:last-child{border-right:0}.pp-payroll-cols small{display:block;margin-top:8px;color:#334155;font-weight:700}.pp-payroll-cols b{display:block;font-size:22px;margin:16px 0 6px}.pp-payroll-cols p{color:#64748b;font-size:12px}.pp-payroll-cols a{display:inline-flex;margin-top:12px;border-radius:10px;background:#f1f5f9;padding:10px 12px;text-decoration:none;font-weight:700;color:#334155}.pp-notice-list a{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid #eef2f7;text-decoration:none;color:#111827}.pp-notice-list time{font-size:12px;color:#64748b}.red{color:#ef4444}.orange{color:#f59e0b}.green{color:#22c55e}.blue{color:#2563eb}.purple{color:#7c3aed}.pp-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.pp-mini-kpis div{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:12px}.pp-mini-kpis small{font-size:12px;color:#475569}.pp-mini-kpis b{display:block;font-size:24px;margin-top:8px;color:#2563eb}.pp-mini-kpis .good b{color:#16a34a}.pp-mini-kpis .warn b{color:#f97316}.pp-chart-lines{height:160px;border-bottom:1px solid #e5e7eb;border-left:1px solid #e5e7eb;position:relative;background:linear-gradient(#fff,#fff),repeating-linear-gradient(to top,transparent 0 39px,#f1f5f9 40px)}.pp-chart-lines i{position:absolute;left:6%;right:4%;height:2px;border-radius:999px;background:#2563eb;transform:rotate(-6deg);top:56%}.pp-chart-lines i:nth-child(2){background:#22c55e;top:64%;transform:rotate(-4deg)}.pp-chart-lines i:nth-child(3){background:#f97316;top:78%;transform:rotate(3deg)}.pp-chart-lines i:nth-child(4){background:#8b5cf6;top:42%;transform:rotate(-8deg);opacity:.65}.pp-legend{display:flex;gap:18px;margin-top:12px;font-size:12px}.pp-pvz-table table{margin:0;background:transparent}.pp-pvz-table th{background:transparent;color:#64748b;font-size:12px}.pp-pvz-table td,.pp-pvz-table th{border-bottom:1px solid #eef2f7;padding:12px 8px}.pp-pvz-table a{color:#2563eb;font-weight:800;text-decoration:none}.pp-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.pp-status.ok{background:#dcfce7;color:#15803d}.pp-status.warn{background:#ffedd5;color:#c2410c}.pp-status.bad{background:#fee2e2;color:#dc2626}.pp-progress{display:grid;grid-template-columns:1fr 150px 36px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f7}.pp-progress i{height:6px;background:#eef2f7;border-radius:999px;overflow:hidden}.pp-progress em{display:block;height:100%;background:#22c55e;border-radius:999px}.pp-progress:nth-of-type(4) em,.pp-progress:nth-of-type(5) em{background:#f59e0b}.pp-footer{display:flex;justify-content:space-between;color:#64748b;font-size:12px;margin-top:18px;border-top:1px solid #e5e7eb;padding:18px 0}.pp-empty{padding:28px;text-align:center;color:#64748b;background:#f8fafc;border-radius:12px;border:1px dashed #cbd5e1}
@media(max-width:1400px){.pp-kpi-grid{grid-template-columns:repeat(3,1fr)}.pp-dashboard-grid{grid-template-columns:1fr 1fr}.pp-notifications{grid-column:span 2}}@media(max-width:900px){.pp-shell{grid-template-columns:1fr}.pp-sidebar{position:static;height:auto}.pp-topbar,.pp-top-actions{display:block;height:auto}.pp-global-search{width:auto;margin:12px 0}.pp-kpi-grid,.pp-dashboard-grid{grid-template-columns:1fr}.pp-notifications{grid-column:span 1}.pp-payroll-cols,.pp-mini-kpis{grid-template-columns:1fr}.pp-payroll-cols>div{border-right:0;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.pp-progress{grid-template-columns:1fr}}

/* PP-02 Dashboard pixel fixes: align real UI closer to approved Design Book */
.pp-main{padding:22px 28px 24px!important;}
.pp-topbar{align-items:center!important;margin-bottom:22px!important;}
.pp-title h1{font-size:34px!important;letter-spacing:-.03em!important;}
.pp-title p{font-size:14px!important;color:#6b7280!important;}
.pp-top-actions{background:transparent!important;gap:10px!important;}
.pp-global-search{width:520px!important;height:46px!important;border-radius:14px!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important;}
.pp-icon-bell,.pp-org{box-shadow:0 8px 22px rgba(15,23,42,.05)!important;}

.pp-kpi-grid-v2{gap:18px!important;margin-bottom:16px!important;}
.pp-kpi-v2{min-height:150px!important;padding:20px 22px!important;gap:8px!important;transition:transform .15s ease,box-shadow .15s ease!important;}
.pp-kpi-v2:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.08)!important;}
.pp-kpi-v2 .ico{width:44px!important;height:44px!important;margin-bottom:2px!important;}
.pp-kpi-v2 small{font-size:13px!important;color:#334155!important;}
.pp-kpi-v2 b{font-size:28px!important;letter-spacing:-.02em!important;}
.pp-kpi-v2 p{font-size:12px!important;color:#64748b!important;}
.sparkline{height:32px;width:100%;display:block;margin-top:auto;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(180deg,transparent,rgba(37,99,235,.08));}
.sparkline:before{content:'';position:absolute;left:0;right:0;bottom:9px;height:14px;background:currentColor;clip-path:polygon(0 70%,8% 44%,16% 62%,24% 48%,33% 64%,42% 32%,50% 50%,58% 38%,67% 60%,75% 28%,84% 42%,92% 22%,100% 36%);opacity:.9;}
.sparkline.green{color:#22c55e;background:linear-gradient(180deg,transparent,rgba(34,197,94,.10));}
.sparkline.red{color:#ef4444;background:linear-gradient(180deg,transparent,rgba(239,68,68,.10));}
.sparkline.orange{color:#f59e0b;background:linear-gradient(180deg,transparent,rgba(245,158,11,.10));}
.sparkline.purple{color:#7c3aed;background:linear-gradient(180deg,transparent,rgba(124,58,237,.10));}
.sparkline.blue{color:#2563eb;background:linear-gradient(180deg,transparent,rgba(37,99,235,.10));}
.sparkline.soft{color:#cbd5e1;background:linear-gradient(180deg,transparent,rgba(148,163,184,.10));}

.pp-attention-strip{background:#fff;border:1px solid var(--pp-border);border-radius:16px;box-shadow:var(--pp-shadow);padding:18px 18px 16px;margin-bottom:18px;}
.pp-attention-strip .pp-card-head{margin-bottom:12px!important;}
.pp-attention-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.attention-item{min-height:76px;border:1px solid #eef2f7;border-radius:14px;padding:14px;display:grid;grid-template-columns:42px 34px 1fr;gap:10px;align-items:center;text-decoration:none;color:#111827;background:#fff;}
.attention-item span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:900;}
.attention-item b{font-size:24px;line-height:1;}
.attention-item strong{display:block;font-size:13px;margin-bottom:3px;}
.attention-item small{display:block;color:#64748b;font-size:12px;}
.attention-item.danger{background:#fff7f7}.attention-item.danger span{background:#fee2e2;color:#ef4444}.attention-item.danger b{color:#111827}
.attention-item.warning{background:#fffaf3}.attention-item.warning span{background:#ffedd5;color:#f59e0b}
.attention-item.info{background:#f8fbff}.attention-item.info span{background:#dbeafe;color:#2563eb}
.attention-item.success{background:#f7fef9}.attention-item.success span{background:#dcfce7;color:#16a34a}

.pp-dashboard-grid{grid-template-columns:1.05fr 1.35fr 1.15fr!important;gap:18px!important;}
.pp-card{padding:22px!important;border-radius:18px!important;}
.pp-card-head h2{font-size:20px!important;letter-spacing:-.02em!important;}
.pp-task-row{grid-template-columns:10px 22px 1fr auto auto!important;padding:14px 0!important;}
.task-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;display:block;}
.task-dot.critical,.task-dot.high{background:#ef4444}.task-dot.normal{background:#f59e0b}.task-dot.low{background:#22c55e}
.pp-priority{font-size:11px!important;border-radius:999px!important;}

.pp-payroll-v2{display:block;text-decoration:none;color:inherit;}
.pp-payroll-v2 .pp-card-head span{color:#2563eb;font-weight:800;font-size:13px;}
.pp-payroll-v2 .pp-payroll-cols{gap:0!important;}
.pp-payroll-v2 .pp-payroll-cols>div{padding:0 20px 0 0!important;margin-right:20px!important;min-height:190px;display:flex;flex-direction:column;}
.pp-payroll-v2 .pp-payroll-cols>div:last-child{padding-right:0!important;margin-right:0!important;}
.pp-payroll-v2 .pp-payroll-cols small{font-size:14px!important;color:#334155!important;}
.pp-payroll-v2 .pp-payroll-cols b{font-size:26px!important;letter-spacing:-.02em!important;margin:14px 0 6px!important;}
.pp-payroll-v2 .pp-payroll-cols p{font-size:12px!important;margin:0!important;}
.mini-bars{height:54px;margin-top:auto;border-radius:10px;display:block;background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 16px);opacity:.62;mask:linear-gradient(to top,transparent 0 8%,#000 8% 100%);-webkit-mask:linear-gradient(to top,transparent 0 8%,#000 8% 100%);}
.mini-bars.green{color:#22c55e}.mini-bars.red{color:#ef4444}.mini-bars.orange{color:#f59e0b}
.pp-payroll-cols a{display:none!important;}

.pp-chart-lines{height:190px!important;border-left:0!important;background:linear-gradient(#fff,#fff),repeating-linear-gradient(to top,transparent 0 42px,#eef2f7 43px)!important;}
.pp-chart-lines i{height:3px!important;border-radius:999px!important;}
.pp-mini-kpis div{background:#fff!important;}

.pp-pvz-state .pvz-state-list{display:grid;gap:0;}
.pvz-state-row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eef2f7;text-decoration:none;color:#111827;}
.pvz-state-row:last-child{border-bottom:0;}
.pvz-state-row b{display:block;color:#2563eb;font-size:16px;line-height:1.2;}
.pvz-state-row small{display:block;color:#64748b;margin-top:4px;font-size:12px;}
.pvz-state-row strong{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;}
.pvz-state-row .state-dot{width:7px;height:7px;border-radius:999px;background:#ef4444;}
.pvz-state-row.ok .state-dot{background:#22c55e}.pvz-state-row.warn .state-dot{background:#f59e0b}.pvz-state-row.bad .state-dot{background:#ef4444}
.pvz-state-row.ok strong{background:#dcfce7;color:#15803d}.pvz-state-row.warn strong{background:#ffedd5;color:#c2410c}.pvz-state-row.bad strong{background:#fee2e2;color:#dc2626}

.pp-progress{grid-template-columns:1fr 180px 40px!important;}
.pp-progress i{height:8px!important;}
.pp-progress em{background:linear-gradient(90deg,#22c55e,#16a34a)!important;}
.pp-progress:nth-of-type(3) em,.pp-progress:nth-of-type(4) em,.pp-progress:nth-of-type(5) em{background:linear-gradient(90deg,#f59e0b,#f97316)!important;}

@media(max-width:1500px){.pp-attention-grid{grid-template-columns:repeat(2,1fr)}.attention-item.success{grid-column:span 2}.pp-dashboard-grid{grid-template-columns:1fr 1fr!important}.pp-notifications{grid-column:span 2}.pp-load{grid-column:span 2}}
@media(max-width:900px){.pp-attention-grid{grid-template-columns:1fr}.attention-item.success{grid-column:auto}.pp-dashboard-grid{grid-template-columns:1fr!important}.pp-notifications,.pp-load{grid-column:auto}.pp-global-search{width:auto!important}}

/* PP-03 Dashboard Typography Fix — softer Stripe/Linear typography */
.pp-body,
.pp-body input,
.pp-body select,
.pp-body textarea,
.pp-body button{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.pp-body{font-size:14px!important;line-height:1.45!important;color:#111827!important;}
.pp-title h1{font-size:32px!important;font-weight:750!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#0f172a!important;}
.pp-title p{font-size:13px!important;font-weight:400!important;line-height:1.35!important;color:#6b7280!important;margin-top:6px!important;}
.pp-brand b{font-size:18px!important;font-weight:750!important;letter-spacing:-.025em!important;line-height:1.15!important;}
.pp-brand span,.pp-user span{font-size:11px!important;line-height:1.25!important;color:#64748b!important;}
.pp-side-section h4{font-size:10.5px!important;font-weight:700!important;letter-spacing:.055em!important;color:#7b8794!important;}
.pp-side-section a{font-size:13px!important;font-weight:650!important;line-height:1.25!important;color:#334155!important;}
.pp-side-section a.active{font-weight:700!important;}
.pp-global-search input,.pp-search input{font-size:13px!important;font-weight:400!important;color:#334155!important;}
.pp-global-search kbd,.pp-search kbd{font-size:11px!important;}
.pp-profile b,.pp-user b{font-size:13px!important;font-weight:700!important;line-height:1.2!important;color:#111827!important;}
.pp-profile span{font-size:11px!important;color:#64748b!important;line-height:1.2!important;}
.pp-org{font-size:13px!important;font-weight:700!important;}

/* KPI cards */
.pp-kpi-v2 small{font-size:12.5px!important;font-weight:650!important;line-height:1.25!important;color:#334155!important;}
.pp-kpi-v2 b{font-size:26px!important;font-weight:750!important;line-height:1.05!important;letter-spacing:-.035em!important;color:#0f172a!important;}
.pp-kpi-v2 p{font-size:11.5px!important;font-weight:400!important;line-height:1.35!important;color:#64748b!important;margin-top:7px!important;}

/* Cards and section headers */
.pp-card-head h2{font-size:18px!important;font-weight:750!important;line-height:1.18!important;letter-spacing:-.025em!important;color:#0f172a!important;}
.pp-card-head a,.pp-card-head span{font-size:12.5px!important;font-weight:700!important;line-height:1.25!important;}
.pp-attention-strip .pp-card-head h2{font-size:18px!important;}
.attention-item b{font-size:22px!important;font-weight:750!important;letter-spacing:-.025em!important;}
.attention-item strong{font-size:12.5px!important;font-weight:700!important;line-height:1.2!important;color:#111827!important;}
.attention-item small{font-size:11.5px!important;line-height:1.25!important;color:#64748b!important;}

/* Task list */
.pp-task-row b{font-size:13.5px!important;font-weight:700!important;line-height:1.25!important;color:#111827!important;}
.pp-task-row small{font-size:11.5px!important;line-height:1.25!important;color:#6b7280!important;}
.pp-task-row time{font-size:11.5px!important;color:#64748b!important;}
.pp-priority{font-size:10.5px!important;font-weight:750!important;}

/* Payroll block */
.pp-payroll-v2 .pp-payroll-cols small{font-size:13px!important;font-weight:650!important;color:#334155!important;line-height:1.25!important;}
.pp-payroll-v2 .pp-payroll-cols b{font-size:24px!important;font-weight:750!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#0f172a!important;}
.pp-payroll-v2 .pp-payroll-cols p{font-size:11.5px!important;line-height:1.3!important;color:#64748b!important;}

/* Notifications */
.pp-notice-list b{font-size:13.5px!important;font-weight:650!important;line-height:1.3!important;color:#111827!important;}
.pp-notice-list time{font-size:11.5px!important;color:#64748b!important;}

/* Shift stats */
.pp-mini-kpis small{font-size:11.5px!important;font-weight:500!important;line-height:1.3!important;color:#64748b!important;}
.pp-mini-kpis b{font-size:22px!important;font-weight:750!important;letter-spacing:-.025em!important;line-height:1.05!important;}
.pp-legend{font-size:11.5px!important;color:#64748b!important;}

/* PVZ state and top late */
.pvz-state-row b{font-size:15px!important;font-weight:750!important;line-height:1.2!important;}
.pvz-state-row small{font-size:11.5px!important;line-height:1.25!important;color:#64748b!important;}
.pvz-state-row strong{font-size:11.5px!important;font-weight:750!important;}
.pp-progress span{font-size:13.5px!important;font-weight:500!important;color:#334155!important;}
.pp-progress b{font-size:13.5px!important;font-weight:750!important;color:#111827!important;}

/* General softening */
.pp-card,.pp-kpi,.pp-attention-strip{color:#111827!important;}
.pp-card b,.pp-kpi b{font-variant-numeric:tabular-nums;}
.pp-footer{font-size:11.5px!important;color:#94a3b8!important;}

/* PP-04 Dashboard Header — Stripe/Linear inspired real implementation */
.pp-topbar-v4{
  height:76px!important;
  align-items:center!important;
  padding:0!important;
  margin-bottom:26px!important;
  gap:24px!important;
}
.pp-title-v4{
  align-items:center!important;
  gap:14px!important;
  min-width:320px!important;
}
.pp-menu-v4{
  width:42px!important;
  height:42px!important;
  border:1px solid var(--pp-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
  color:#334155!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  padding:0!important;
  cursor:pointer!important;
  transition:background .15s ease, border-color .15s ease, transform .15s ease!important;
}
.pp-menu-v4:hover{background:#f8fafc!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important;}
.pp-title-v4 h1{
  font-size:32px!important;
  font-weight:760!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
  margin:0!important;
}
.pp-title-v4 p{
  margin:7px 0 0!important;
  font-size:13px!important;
  line-height:1.3!important;
  color:#64748b!important;
  white-space:nowrap!important;
}
.pp-top-actions-v4{
  flex:1!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
.pp-global-search-v4{
  width:min(520px,34vw)!important;
  height:48px!important;
  border-radius:16px!important;
  border-color:#dbe3ee!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
  padding:0 14px!important;
}
.pp-global-search-v4:focus-within{
  border-color:#bfdbfe!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.08),0 10px 28px rgba(15,23,42,.045)!important;
}
.pp-global-search-v4 input{font-size:13.5px!important;color:#334155!important;}
.pp-global-search-v4 kbd{font-size:11px!important;border-radius:8px!important;color:#64748b!important;background:#f8fafc!important;}
.pp-quick-action{
  height:44px!important;
  border:0!important;
  border-radius:14px!important;
  background:#2563eb!important;
  color:#fff!important;
  padding:0 16px!important;
  font-size:13px!important;
  font-weight:750!important;
  white-space:nowrap!important;
  box-shadow:0 12px 28px rgba(37,99,235,.18)!important;
  cursor:pointer!important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease!important;
}
.pp-quick-action:hover{transform:translateY(-1px)!important;background:#1d4ed8!important;box-shadow:0 16px 34px rgba(37,99,235,.22)!important;}
.pp-icon-v4{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  color:#334155!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}
.pp-icon-v4:hover{background:#f8fafc!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important;}
.pp-icon-v4 span{
  right:-5px!important;
  top:-6px!important;
  border:2px solid #fff!important;
  min-width:20px!important;
  height:20px!important;
  font-size:10px!important;
}
.pp-org-v4{
  height:44px!important;
  border-radius:14px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.pp-profile-v4{
  height:48px!important;
  border:1px solid var(--pp-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:0 10px 0 8px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  min-width:154px!important;
}
.pp-profile-v4 .pp-avatar.small{width:34px!important;height:34px!important;font-size:13px!important;}
.pp-profile-v4 b{font-size:13px!important;font-weight:760!important;}
.pp-profile-v4 span{font-size:11px!important;}
.pp-profile-caret{margin-left:auto!important;color:#94a3b8!important;font-size:12px!important;}
@media(max-width:1500px){
  .pp-global-search-v4{width:min(430px,30vw)!important;}
  .pp-quick-action{padding:0 13px!important;}
  .pp-profile-v4{min-width:auto!important;}
}
@media(max-width:1200px){
  .pp-topbar-v4{height:auto!important;display:grid!important;grid-template-columns:1fr!important;align-items:start!important;}
  .pp-title-v4 p{white-space:normal!important;}
  .pp-top-actions-v4{justify-content:flex-start!important;flex-wrap:wrap!important;}
  .pp-global-search-v4{width:min(100%,520px)!important;}
}

/* PP-04A Typography Overhaul — locked typography standard for Dashboard */
:root{
  --tm-font-sans:"Inter Variable","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --tm-text-primary:#111827;
  --tm-text-secondary:#6b7280;
  --tm-text-muted:#9ca3af;
  --tm-text-soft:#64748b;
  --tm-display-size:30px;
  --tm-display-lh:38px;
  --tm-display-weight:650;
  --tm-h1-size:24px;
  --tm-h1-lh:32px;
  --tm-h1-weight:650;
  --tm-h2-size:20px;
  --tm-h2-lh:28px;
  --tm-h2-weight:600;
  --tm-h3-size:18px;
  --tm-h3-lh:26px;
  --tm-h3-weight:600;
  --tm-body-size:14px;
  --tm-body-lh:22px;
  --tm-body-weight:400;
  --tm-caption-size:12px;
  --tm-caption-lh:18px;
  --tm-caption-weight:450;
  --tm-kpi-size:34px;
  --tm-kpi-lh:38px;
  --tm-kpi-weight:700;
  --tm-small-kpi-size:26px;
  --tm-small-kpi-lh:30px;
  --tm-small-kpi-weight:700;
}
.pp-body,
.pp-body *{
  font-family:var(--tm-font-sans)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:geometricPrecision!important;
}
.pp-body{
  color:var(--tm-text-primary)!important;
  font-size:var(--tm-body-size)!important;
  font-weight:var(--tm-body-weight)!important;
  line-height:var(--tm-body-lh)!important;
  letter-spacing:-.006em!important;
}
.pp-title-v4 h1,
.pp-title h1{
  font-size:var(--tm-display-size)!important;
  line-height:var(--tm-display-lh)!important;
  font-weight:var(--tm-display-weight)!important;
  letter-spacing:-.045em!important;
  color:#0f172a!important;
}
.pp-title-v4 p,
.pp-title p{
  font-size:13px!important;
  line-height:20px!important;
  font-weight:400!important;
  color:var(--tm-text-secondary)!important;
  letter-spacing:-.01em!important;
}
.pp-card-head h2{
  font-size:var(--tm-h3-size)!important;
  line-height:var(--tm-h3-lh)!important;
  font-weight:var(--tm-h3-weight)!important;
  letter-spacing:-.03em!important;
  color:#0f172a!important;
}
.pp-card-head a,
.pp-card-head span{
  font-size:12px!important;
  line-height:18px!important;
  font-weight:600!important;
  color:var(--tm-text-soft)!important;
}
.pp-brand b{
  font-size:18px!important;
  line-height:22px!important;
  font-weight:650!important;
  letter-spacing:-.04em!important;
  color:#111827!important;
}
.pp-brand span,
.pp-user span{
  font-size:11px!important;
  line-height:16px!important;
  font-weight:450!important;
  color:var(--tm-text-muted)!important;
}
.pp-side-section h4{
  font-size:10.5px!important;
  line-height:16px!important;
  font-weight:650!important;
  letter-spacing:.055em!important;
  color:#94a3b8!important;
}
.pp-side-section a{
  font-size:13.5px!important;
  line-height:20px!important;
  font-weight:500!important;
  letter-spacing:-.012em!important;
  color:#334155!important;
}
.pp-side-section a.active{
  font-weight:650!important;
  color:#2563eb!important;
}
.pp-search input,
.pp-global-search input{
  font-size:13.5px!important;
  line-height:20px!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  color:#334155!important;
}
.pp-search kbd,
.pp-global-search kbd{
  font-size:11px!important;
  line-height:14px!important;
  font-weight:500!important;
  letter-spacing:-.01em!important;
}
.pp-profile b,
.pp-user b{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
  color:#111827!important;
}
.pp-profile span{
  font-size:11px!important;
  line-height:15px!important;
  font-weight:450!important;
  color:var(--tm-text-muted)!important;
}
.pp-org-v4,
.pp-quick-action,
.pp-icon-v4{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
.pp-kpi-v2 small{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:500!important;
  color:var(--tm-text-secondary)!important;
  letter-spacing:-.01em!important;
}
.pp-kpi-v2 b{
  font-size:var(--tm-kpi-size)!important;
  line-height:var(--tm-kpi-lh)!important;
  font-weight:var(--tm-kpi-weight)!important;
  letter-spacing:-.055em!important;
  color:#0f172a!important;
}
.pp-kpi-v2 p{
  font-size:12px!important;
  line-height:18px!important;
  font-weight:450!important;
  color:var(--tm-text-muted)!important;
  letter-spacing:-.01em!important;
}
.attention-item b{
  font-size:var(--tm-small-kpi-size)!important;
  line-height:var(--tm-small-kpi-lh)!important;
  font-weight:var(--tm-small-kpi-weight)!important;
  letter-spacing:-.05em!important;
}
.attention-item strong{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:600!important;
  color:#111827!important;
  letter-spacing:-.015em!important;
}
.attention-item small{
  font-size:12px!important;
  line-height:17px!important;
  font-weight:400!important;
  color:var(--tm-text-muted)!important;
}
.pp-task-row b,
.pp-notice-list b{
  font-size:13.5px!important;
  line-height:19px!important;
  font-weight:550!important;
  letter-spacing:-.015em!important;
  color:#111827!important;
}
.pp-task-row small,
.pp-task-row time,
.pp-notice-list time{
  font-size:12px!important;
  line-height:17px!important;
  font-weight:400!important;
  color:var(--tm-text-muted)!important;
}
.pp-priority{
  font-size:10.5px!important;
  line-height:14px!important;
  font-weight:650!important;
  letter-spacing:-.005em!important;
}
.pp-payroll-v2 .pp-payroll-cols small{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:500!important;
  color:var(--tm-text-secondary)!important;
}
.pp-payroll-v2 .pp-payroll-cols b{
  font-size:28px!important;
  line-height:32px!important;
  font-weight:700!important;
  letter-spacing:-.055em!important;
  color:#0f172a!important;
}
.pp-payroll-v2 .pp-payroll-cols p{
  font-size:12px!important;
  line-height:17px!important;
  font-weight:400!important;
  color:var(--tm-text-muted)!important;
}
.pp-mini-kpis small{
  font-size:12px!important;
  line-height:17px!important;
  font-weight:450!important;
  color:var(--tm-text-muted)!important;
}
.pp-mini-kpis b{
  font-size:24px!important;
  line-height:30px!important;
  font-weight:700!important;
  letter-spacing:-.05em!important;
}
.pvz-state-row b{
  font-size:14px!important;
  line-height:19px!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
}
.pvz-state-row small{
  font-size:12px!important;
  line-height:17px!important;
  font-weight:400!important;
  color:var(--tm-text-muted)!important;
}
.pvz-state-row strong{
  font-size:11.5px!important;
  line-height:16px!important;
  font-weight:650!important;
}
.pp-progress span,
.pp-progress b{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:500!important;
  color:#334155!important;
}
.pp-progress b{font-weight:650!important;color:#111827!important;}
.pp-footer{font-size:11px!important;line-height:16px!important;font-weight:400!important;color:#9ca3af!important;}


/* PP-05: Dashboard Sidebar 2.0 — premium navigation */
.pp-shell{grid-template-columns:232px minmax(0,1fr)!important;}
.pp-sidebar-v2{
  width:232px!important;
  padding:22px 14px!important;
  gap:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  border-right:1px solid #edf2f7!important;
  box-shadow:8px 0 28px rgba(15,23,42,.025)!important;
}
.pp-brand-v2{padding:0 6px 8px 6px!important;}
.pp-logo-v2{
  width:34px!important;height:34px!important;border-radius:12px!important;
  background:linear-gradient(135deg,#2563eb 0%,#4f46e5 52%,#22d3ee 100%)!important;
  font-size:16px!important;letter-spacing:-.03em!important;
}
.pp-brand-v2 b{font-size:17px!important;line-height:20px!important;font-weight:700!important;letter-spacing:-.025em!important;color:#111827!important;}
.pp-brand-v2 span{font-size:11px!important;line-height:16px!important;color:#7b8794!important;font-weight:450!important;}
.pp-search-v2{height:42px!important;border-radius:14px!important;background:#fff!important;border-color:#e7ecf3!important;box-shadow:0 6px 18px rgba(15,23,42,.035)!important;}
.pp-search-v2 input{font-size:13px!important;color:#111827!important;}
.pp-search-v2 kbd{font-size:11px!important;background:#f8fafc!important;color:#64748b!important;border-color:#e6edf5!important;}
.pp-nav-v2{display:flex!important;flex-direction:column!important;gap:18px!important;overflow:auto!important;padding:2px 0 6px!important;margin:0!important;}
.pp-nav-v2 section{display:grid!important;gap:3px!important;margin:0!important;}
.pp-nav-v2 h4{margin:0 0 7px 8px!important;font-size:10.5px!important;line-height:14px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important;color:#8a95a6!important;}
.pp-nav-v2 a{
  height:38px!important;display:flex!important;align-items:center!important;gap:10px!important;
  padding:0 9px!important;border-radius:12px!important;text-decoration:none!important;
  color:#334155!important;background:transparent!important;border:0!important;box-shadow:none!important;
  font-size:13.5px!important;line-height:18px!important;font-weight:560!important;position:relative!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.pp-nav-v2 a:hover{background:#f4f7fb!important;color:#0f172a!important;transform:translateX(1px)!important;}
.pp-nav-v2 a.active{background:linear-gradient(90deg,#eff6ff 0%,#f8fbff 100%)!important;color:#2563eb!important;font-weight:650!important;}
.pp-nav-v2 a.active:before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:999px;background:#2563eb;}
.pp-nav-v2 .nav-ico{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;flex:0 0 22px;font-size:13px;color:#64748b;background:transparent;}
.pp-nav-v2 a.active .nav-ico{background:#dbeafe;color:#2563eb;}
.pp-nav-v2 .nav-ico.star{color:#f59e0b;background:#fff7ed;}
.pp-nav-v2 .nav-ico.recent{font-size:18px;color:#94a3b8;}
.pp-nav-v2 em{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:#eaf2ff;color:#2563eb;font-style:normal;display:grid;place-items:center;font-size:11px;font-weight:700;}
.pp-user-v2{border-radius:18px!important;padding:12px!important;border-color:#e7ecf3!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;}
.pp-user-v2 b{font-size:13.5px!important;font-weight:650!important;color:#111827!important;}
.pp-user-v2 span{font-size:12px!important;color:#7b8794!important;}
.pp-user-v2>.pp-avatar{width:38px;height:38px;box-shadow:0 8px 18px rgba(15,23,42,.12);}
@media(max-width:900px){.pp-shell{grid-template-columns:1fr!important}.pp-sidebar-v2{width:auto!important;height:auto!important;position:static!important}.pp-nav-v2{max-height:none!important}}

/* PP-05A: Sidebar text alignment fix — no wrapping, stable icon/label/badge layout */
.pp-shell{grid-template-columns:248px minmax(0,1fr)!important;}
.pp-sidebar-v2{
  width:248px!important;
  min-width:248px!important;
  max-width:248px!important;
  box-sizing:border-box!important;
}
.pp-nav-v2 a{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.pp-nav-v2 .nav-ico{
  flex:0 0 22px!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  line-height:22px!important;
  text-align:center!important;
}
.pp-nav-v2 a > span:not(.nav-ico){
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.pp-nav-v2 em{
  flex:0 0 auto!important;
  margin-left:auto!important;
}
.pp-search-v2{min-width:0!important;}
.pp-search-v2 input{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.pp-user-v2{min-width:0!important;}
.pp-user-v2 > div:nth-child(2){min-width:0!important;overflow:hidden!important;}
.pp-user-v2 b,
.pp-user-v2 span{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* PP-06: Finance Cards 2.0 — dashboard payroll/penalty/bonus block */
.pp-finance-cards-v2{
  display:block!important;
  text-decoration:none!important;
  color:inherit!important;
  overflow:hidden!important;
}
.pp-finance-cards-v2 .pp-card-head{
  margin-bottom:16px!important;
}
.pp-finance-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.pp-finance-mini-card{
  min-height:176px!important;
  padding:18px!important;
  border:1px solid #e7edf5!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  color:#111827!important;
  text-decoration:none!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(15,23,42,.045)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.pp-finance-mini-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(15,23,42,.07)!important;
  border-color:#d7e2f0!important;
}
.pp-finance-mini-card:after{
  content:'';
  position:absolute;
  left:18px;right:18px;bottom:16px;
  height:46px;
  border-radius:12px;
  opacity:.22;
  background:linear-gradient(135deg,currentColor 0%,transparent 62%);
  mask:linear-gradient(to top,transparent 0 8%,#000 8% 100%);
  -webkit-mask:linear-gradient(to top,transparent 0 8%,#000 8% 100%);
}
.pp-finance-mini-card.salary{color:#16a34a!important;}
.pp-finance-mini-card.penalties{color:#ef4444!important;}
.pp-finance-mini-card.bonuses{color:#f59e0b!important;}
.pp-finance-mini-card .pp-finance-icon{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  font-weight:750!important;
  margin-bottom:14px!important;
  background:currentColor!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(15,23,42,.11)!important;
}
.pp-finance-content{position:relative;z-index:1;}
.pp-finance-content small{
  display:block!important;
  font-size:13px!important;
  line-height:18px!important;
  font-weight:650!important;
  color:#475569!important;
  margin:0 0 7px!important;
}
.pp-finance-content b{
  display:block!important;
  font-size:26px!important;
  line-height:30px!important;
  letter-spacing:-.035em!important;
  font-weight:760!important;
  color:#0f172a!important;
  font-variant-numeric:tabular-nums!important;
  margin:0 0 6px!important;
}
.pp-finance-content p{
  margin:0!important;
  font-size:12px!important;
  line-height:17px!important;
  font-weight:440!important;
  color:#64748b!important;
}
.pp-finance-trend{
  position:absolute!important;
  right:16px!important;
  top:16px!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-style:normal!important;
  font-size:11.5px!important;
  line-height:14px!important;
  font-weight:750!important;
  z-index:2!important;
}
.pp-finance-trend.positive{background:#dcfce7!important;color:#15803d!important;}
.pp-finance-trend.negative{background:#fee2e2!important;color:#dc2626!important;}
@media(max-width:1500px){.pp-finance-card-grid{grid-template-columns:1fr!important}.pp-finance-mini-card{min-height:132px!important}.pp-finance-mini-card:after{display:none!important}}

/* PP-07 Dashboard Rebuild v1.0 — rebuild layout to match approved Design Book */
.pp-body{
  --brand-primary:#2563EB;
  --brand-primary-soft:#EFF6FF;
  --surface:#FFFFFF;
  --page:#F8FAFC;
  --line:#E5E7EB;
  --text:#111827;
  --text-2:#6B7280;
  --text-3:#94A3B8;
  font-family:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;
  background:var(--page)!important;
  color:var(--text)!important;
}
.pp-shell{grid-template-columns:240px minmax(0,1fr)!important;background:var(--page)!important;}
.pp-main{padding:28px 32px 40px!important;max-width:1680px!important;width:100%!important;margin:0 auto!important;}
.pp-card,.pp-kpi,.attention-item{border-color:rgba(226,232,240,.9)!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 12px 30px rgba(15,23,42,.035)!important;}
.pp-card-premium{padding:24px!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#fff 68%,#fbfdff)!important;}
.pp-card-head h2{font-size:18px!important;font-weight:650!important;letter-spacing:-.015em!important;color:#0F172A!important;}
.pp-card-head a{font-size:13px!important;font-weight:600!important;color:#2563EB!important;}

/* Topbar polish */
.pp-topbar-v4{margin-bottom:24px!important;align-items:center!important;}
.pp-title-v4 h1{font-size:28px!important;font-weight:650!important;letter-spacing:-.035em!important;line-height:34px!important;}
.pp-title-v4 p{font-size:13px!important;line-height:20px!important;color:var(--text-2)!important;margin-top:4px!important;}
.pp-global-search-v4{width:480px!important;background:#fff!important;border-radius:16px!important;height:48px!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important;}
.pp-quick-action{height:44px!important;border-radius:14px!important;background:#111827!important;color:#fff!important;border:0!important;padding:0 16px!important;font-weight:650!important;box-shadow:0 10px 24px rgba(17,24,39,.16)!important;}
.pp-icon-v4,.pp-org-v4{height:42px!important;border-radius:14px!important;background:#fff!important;}
.pp-profile-v4{padding:6px 10px 6px 6px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;}

/* KPI v3: number-first visual hierarchy */
.pp-kpi-grid-v2{gap:20px!important;margin-bottom:24px!important;}
.pp-kpi-v2{min-height:176px!important;padding:22px!important;border-radius:20px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto!important;gap:8px!important;background:#fff!important;}
.pp-kpi-v2 .ico{grid-column:2!important;grid-row:1!important;width:40px!important;height:40px!important;font-size:18px!important;}
.pp-kpi-v2 div{grid-column:1 / -1!important;grid-row:1 / 3!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
.pp-kpi-v2 small{order:2!important;margin-top:4px!important;font-size:13px!important;font-weight:600!important;line-height:18px!important;color:#64748B!important;}
.pp-kpi-v2 b{order:1!important;font-size:34px!important;font-weight:750!important;letter-spacing:-.045em!important;line-height:40px!important;color:#0F172A!important;margin:0!important;}
.pp-kpi-v2 p{order:3!important;margin-top:8px!important;font-size:12px!important;line-height:18px!important;color:#64748B!important;}
.pp-kpi-v2 .sparkline{grid-column:1 / -1!important;grid-row:3!important;margin-top:10px!important;height:30px!important;opacity:.7!important;}

/* Attention strip refined */
.pp-attention-strip{margin-bottom:28px!important;padding:24px!important;border-radius:22px!important;background:#fff!important;border:1px solid rgba(226,232,240,.9)!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 12px 30px rgba(15,23,42,.035)!important;}
.pp-attention-grid{gap:16px!important;}
.attention-item{min-height:94px!important;border-radius:18px!important;padding:18px!important;}
.attention-item b{font-size:28px!important;letter-spacing:-.04em!important;}
.attention-item strong{font-size:14px!important;font-weight:650!important;}
.attention-item small{font-size:12px!important;color:#64748B!important;}

/* New workspace composition */
.pp-workspace-grid-v1{display:grid!important;gap:32px!important;}
.pp-section-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;margin:0 0 16px!important;}
.pp-section-title span{display:block!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:11px!important;font-weight:700!important;color:#94A3B8!important;margin-bottom:4px!important;}
.pp-section-title h2{margin:0!important;font-size:22px!important;font-weight:650!important;letter-spacing:-.03em!important;color:#0F172A!important;}
.pp-section-title a{font-size:13px!important;color:#2563EB!important;text-decoration:none!important;font-weight:650!important;}
.pp-ops-grid{display:grid!important;grid-template-columns:1.08fr 1.24fr 1fr!important;gap:20px!important;align-items:stretch!important;}
.pp-analytics-grid{display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(310px,.88fr)!important;grid-template-rows:auto auto!important;gap:20px!important;align-items:stretch!important;}
.pp-analytics-main{grid-row:1 / span 2!important;min-height:420px!important;}
.pp-pvz-state,.pp-load{min-height:0!important;}

/* Tasks compact */
.pp-task-list-compact{gap:2px!important;}
.pp-task-row-v2{grid-template-columns:10px 1fr auto!important;padding:12px 0!important;border-bottom:1px solid #EEF2F7!important;}
.pp-task-row-v2 input,.pp-task-row-v2 .pp-priority{display:none!important;}
.pp-task-row-v2 b{font-size:13.5px!important;font-weight:620!important;line-height:18px!important;color:#111827!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:260px!important;}
.pp-task-row-v2 small,.pp-task-row-v2 time{font-size:12px!important;line-height:16px!important;color:#64748B!important;}
.task-dot{width:8px!important;height:8px!important;border-radius:99px!important;display:block!important;background:#94A3B8!important;}
.task-dot.critical,.task-dot.high{background:#EF4444!important}.task-dot.normal{background:#F59E0B!important}.task-dot.low{background:#2563EB!important}

/* Finance cards should look like dashboard cards, not a table */
.pp-finance-cards-v3{overflow:hidden!important;}
.pp-finance-card-grid-v3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card{min-height:148px!important;border-radius:18px!important;padding:18px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;border:1px solid #E5E7EB!important;background:#fff!important;box-shadow:none!important;}
.pp-finance-card-grid-v3 .pp-finance-icon{width:38px!important;height:38px!important;border-radius:14px!important;font-size:18px!important;margin:0!important;}
.pp-finance-card-grid-v3 .pp-finance-content small{font-size:13px!important;font-weight:650!important;color:#64748B!important;}
.pp-finance-card-grid-v3 .pp-finance-content b{font-size:25px!important;font-weight:760!important;line-height:30px!important;letter-spacing:-.045em!important;margin-top:4px!important;color:#0F172A!important;}
.pp-finance-card-grid-v3 .pp-finance-content p{font-size:12px!important;line-height:17px!important;color:#64748B!important;}
.pp-finance-card-grid-v3 .pp-finance-trend{position:absolute!important;top:16px!important;right:16px!important;}

/* Notification card */
.pp-notice-list-v2{gap:6px!important;}
.pp-notice-list-v2 a{grid-template-columns:34px 1fr!important;padding:10px 0!important;border-bottom:1px solid #EEF2F7!important;}
.notice-ico{width:30px!important;height:30px!important;border-radius:12px!important;display:grid!important;place-items:center!important;font-size:13px!important;background:#F8FAFC!important;font-weight:800!important;}
.notice-ico.red{background:#FEE2E2!important;color:#DC2626!important}.notice-ico.orange{background:#FFEDD5!important;color:#C2410C!important}.notice-ico.green{background:#DCFCE7!important;color:#15803D!important}.notice-ico.purple{background:#F3E8FF!important;color:#7E22CE!important}
.pp-notice-list-v2 b{font-size:13.5px!important;font-weight:620!important;line-height:18px!important;}
.pp-notice-list-v2 small{display:block!important;margin-top:3px!important;font-size:12px!important;color:#64748B!important;}

/* Analytics */
.pp-period-tabs{display:flex!important;gap:6px!important;background:#F8FAFC!important;border:1px solid #E5E7EB!important;border-radius:999px!important;padding:4px!important;}
.pp-period-tabs span{font-size:12px!important;color:#64748B!important;padding:6px 10px!important;border-radius:999px!important;font-weight:650!important;}
.pp-period-tabs .active{background:#fff!important;color:#2563EB!important;box-shadow:0 1px 2px rgba(15,23,42,.06)!important;}
.pp-mini-kpis-v2{gap:14px!important;margin-bottom:24px!important;}
.pp-mini-kpis-v2 div{border:1px solid #E5E7EB!important;border-radius:16px!important;background:#FBFDFF!important;padding:16px!important;}
.pp-mini-kpis-v2 small{font-size:12px!important;color:#64748B!important;font-weight:600!important;}
.pp-mini-kpis-v2 b{font-size:28px!important;font-weight:760!important;letter-spacing:-.04em!important;}
.pp-chart-stripe{height:238px!important;border-radius:18px!important;background:repeating-linear-gradient(to top,#fff 0,#fff 52px,#F1F5F9 53px),linear-gradient(180deg,#fff,#F8FAFC)!important;border:1px solid #EEF2F7!important;padding:14px!important;box-sizing:border-box!important;}
.pp-chart-stripe svg{width:100%!important;height:100%!important;display:block!important;}
.pp-legend-v2{gap:22px!important;margin-top:16px!important;font-size:12px!important;color:#64748B!important;}
.pp-legend-v2 span:before{content:'●';margin-right:7px;font-size:10px;}

/* PVZ state live list */
.pvz-state-list-v2{display:grid!important;gap:10px!important;}
.pvz-state-list-v2 .pvz-state-row{display:grid!important;grid-template-columns:12px 1fr auto!important;gap:12px!important;align-items:center!important;padding:13px!important;border:1px solid #EEF2F7!important;border-radius:16px!important;background:#fff!important;text-decoration:none!important;color:#111827!important;}
.pvz-state-list-v2 .pvz-state-row:hover{border-color:#BFDBFE!important;background:#F8FAFC!important;}
.pvz-state-list-v2 .state-dot{width:10px!important;height:10px!important;border-radius:99px!important;background:#22C55E!important;box-shadow:0 0 0 4px #DCFCE7!important;}
.pvz-state-list-v2 .warn .state-dot{background:#F59E0B!important;box-shadow:0 0 0 4px #FEF3C7!important;}
.pvz-state-list-v2 .bad .state-dot{background:#EF4444!important;box-shadow:0 0 0 4px #FEE2E2!important;}
.pvz-state-list-v2 b{font-size:13.5px!important;font-weight:650!important;line-height:18px!important;}
.pvz-state-list-v2 small{display:block!important;margin-top:3px!important;color:#64748B!important;font-size:12px!important;}
.pvz-state-list-v2 strong{font-size:12px!important;border-radius:999px!important;padding:5px 9px!important;background:#DCFCE7!important;color:#15803D!important;}
.pvz-state-list-v2 .warn strong{background:#FFEDD5!important;color:#C2410C!important;}
.pvz-state-list-v2 .bad strong{background:#FEE2E2!important;color:#DC2626!important;}

/* Progress */
.pp-progress-v2{grid-template-columns:1fr 128px 28px!important;gap:12px!important;padding:12px 0!important;}
.pp-progress-v2 span{font-size:13px!important;color:#334155!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.pp-progress-v2 i{height:8px!important;background:#EEF2F7!important;}
.pp-progress-v2 em{background:linear-gradient(90deg,#F59E0B,#EF4444)!important;}
.pp-progress-v2 b{font-size:13px!important;color:#0F172A!important;}

/* Remove old site-like footer from enterprise app */
.pp-footer{display:none!important;}

@media(max-width:1500px){
  .pp-ops-grid{grid-template-columns:1fr 1fr!important;}
  .pp-notifications{grid-column:1 / -1!important;}
  .pp-analytics-grid{grid-template-columns:1fr!important;}
  .pp-analytics-main{grid-row:auto!important;}
}
@media(max-width:980px){
  .pp-main{padding:20px!important;}
  .pp-ops-grid,.pp-finance-card-grid-v3,.pp-kpi-grid-v2{grid-template-columns:1fr!important;}
  .pp-global-search-v4{width:auto!important;}
}


/* PP-08 Dashboard component polish: no layout rewrite, only final visual polish */
.pp-body{background:linear-gradient(180deg,#F8FAFC 0%,#F6F8FB 100%)!important;}
.pp-main{padding-top:24px!important;}

/* Header v5: calmer, cleaner, more product-like */
.pp-topbar-v4{height:68px!important;padding:0!important;border-bottom:0!important;background:transparent!important;}
.pp-title-v4 h1{font-size:27px!important;font-weight:620!important;letter-spacing:-.04em!important;}
.pp-title-v4 p{font-size:12.5px!important;color:#64748B!important;}
.pp-menu-v4{width:42px!important;height:42px!important;border-radius:14px!important;background:#fff!important;border:1px solid #E5E7EB!important;color:#64748B!important;}
.pp-global-search-v4{width:520px!important;height:46px!important;border:1px solid #E5E7EB!important;color:#64748B!important;}
.pp-global-search-v4 input{font-size:13px!important;color:#111827!important;}
.pp-quick-action{height:42px!important;border-radius:14px!important;padding:0 15px!important;font-size:13px!important;background:#0F172A!important;}
.pp-icon-v4{width:42px!important;min-width:42px!important;display:grid!important;place-items:center!important;font-size:16px!important;color:#475569!important;border:1px solid #E5E7EB!important;position:relative!important;}
.pp-icon-v4 span{position:absolute!important;top:-6px!important;right:-6px!important;min-width:18px!important;height:18px!important;border-radius:999px!important;font-size:10px!important;line-height:18px!important;background:#2563EB!important;color:#fff!important;border:2px solid #F8FAFC!important;text-align:center!important;}
.pp-org-v4{padding:0 12px!important;font-size:13px!important;color:#334155!important;border:1px solid #E5E7EB!important;}
.pp-profile-v4{height:42px!important;min-width:132px!important;box-shadow:0 1px 2px rgba(15,23,42,.03)!important;}
.pp-profile-v4 b{font-size:13px!important;font-weight:620!important;}
.pp-profile-v4 span{font-size:11.5px!important;color:#64748B!important;}

/* KPI v4: dashboard numbers become the main visual anchor */
.pp-kpi-grid-v2{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px!important;}
.pp-kpi-v2{min-height:188px!important;padding:24px!important;border-radius:22px!important;border:1px solid rgba(226,232,240,.95)!important;background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFF 100%)!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 16px 36px rgba(15,23,42,.035)!important;}
.pp-kpi-v2:hover{transform:translateY(-3px)!important;box-shadow:0 2px 4px rgba(15,23,42,.04),0 22px 46px rgba(15,23,42,.06)!important;border-color:#BFDBFE!important;}
.pp-kpi-v2 .ico{width:36px!important;height:36px!important;border-radius:14px!important;font-size:16px!important;opacity:.95!important;}
.pp-kpi-v2 b{font-size:38px!important;line-height:42px!important;font-weight:760!important;letter-spacing:-.055em!important;}
.pp-kpi-v2 small{font-size:13px!important;font-weight:560!important;color:#64748B!important;margin-top:5px!important;}
.pp-kpi-v2 p{font-size:12px!important;color:#64748B!important;margin-top:9px!important;}
.pp-kpi-v2 .sparkline{height:34px!important;margin-top:13px!important;border-radius:14px!important;opacity:.78!important;}

/* Attention strip: keep it important, but lighter */
.pp-attention-strip{padding:22px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff 0%,#FCFDFF 100%)!important;}
.attention-item{min-height:100px!important;padding:18px 18px!important;border-radius:20px!important;transition:transform .15s ease,border-color .15s ease,background .15s ease!important;}
.attention-item:hover{transform:translateY(-2px)!important;background:#FBFDFF!important;}

/* Finance v4: three real dashboard cards, not columns */
.pp-finance-snapshot{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.pp-finance-snapshot .pp-card-head{padding:0 2px 12px!important;margin:0!important;}
.pp-finance-card-grid-v3{gap:16px!important;height:calc(100% - 34px)!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card{min-height:168px!important;padding:20px!important;border-radius:22px!important;position:relative!important;overflow:hidden!important;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%)!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.035)!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card:hover{transform:translateY(-2px)!important;border-color:#BFDBFE!important;box-shadow:0 2px 4px rgba(15,23,42,.04),0 20px 44px rgba(15,23,42,.055)!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card:before{content:''!important;position:absolute!important;left:0!important;top:0!important;right:0!important;height:3px!important;background:currentColor!important;opacity:.75!important;}
.pp-finance-card-grid-v3 .pp-finance-icon{width:42px!important;height:42px!important;border-radius:16px!important;font-size:19px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)!important;}
.pp-finance-card-grid-v3 .pp-finance-content small{font-size:13px!important;font-weight:560!important;color:#64748B!important;}
.pp-finance-card-grid-v3 .pp-finance-content b{font-size:29px!important;line-height:34px!important;font-weight:760!important;letter-spacing:-.055em!important;margin-top:6px!important;}
.pp-finance-card-grid-v3 .pp-finance-content p{font-size:12px!important;line-height:18px!important;margin-top:5px!important;}
.pp-finance-card-grid-v3 .pp-finance-trend{font-style:normal!important;font-size:11.5px!important;font-weight:700!important;padding:6px 8px!important;border-radius:999px!important;}

/* Tasks: remove technical feeling */
.pp-task-row-v2{min-height:48px!important;}
.pp-task-row-v2 b{max-width:320px!important;font-size:13.5px!important;font-weight:600!important;}
.pp-task-row-v2 time{font-weight:500!important;}

/* Analytics card polish */
.pp-analytics-main{min-height:440px!important;}
.pp-chart-stripe{height:258px!important;border-radius:22px!important;background:repeating-linear-gradient(to top,#fff 0,#fff 56px,#F1F5F9 57px),linear-gradient(180deg,#fff,#F8FAFC)!important;}
.pp-chart-stripe path[stroke="#2563EB"],.pp-chart-stripe path[stroke="#22C55E"]{stroke-width:4.5!important;}
.pp-mini-kpis-v2 div{border-radius:18px!important;padding:17px 16px!important;background:linear-gradient(180deg,#fff,#FBFDFF)!important;}

/* PVZ status list v3 */
.pvz-state-list-v2 .pvz-state-row{min-height:58px!important;border-radius:18px!important;padding:14px!important;}
.pvz-state-list-v2 b{font-size:13.5px!important;font-weight:620!important;}
.pvz-state-list-v2 strong{font-size:11.5px!important;font-weight:700!important;}

/* Global transition consistency */
.pp-card,.pp-kpi,.attention-item,.pp-finance-mini-card,.pvz-state-row,.pp-icon-v4,.pp-menu-v4{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease!important;}

@media(max-width:1680px){.pp-kpi-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important;}.pp-global-search-v4{width:420px!important;}}


/* PP-10: KPI & Finance Standard v1.0 */
.pp-finance-card-grid-v3 .pp-finance-mini-card.salary{color:#16A34A!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.penalties{color:#DC2626!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.bonuses{color:#D97706!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.salary .pp-finance-content b{color:#16A34A!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.penalties .pp-finance-content b{color:#DC2626!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.bonuses .pp-finance-content b{color:#D97706!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.salary .pp-finance-trend{background:#DCFCE7!important;color:#15803D!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.penalties .pp-finance-trend{background:#FEE2E2!important;color:#B91C1C!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.bonuses .pp-finance-trend{background:#FEF3C7!important;color:#B45309!important;}
.pp-finance-card-grid-v3 .pp-finance-content b,
.pp-kpi-v2 b{font-variant-numeric:tabular-nums!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card:after{opacity:.18!important;}


/* PP-10A: Finance cards density fix — colored amounts + high vertical bars */
.pp-finance-card-grid-v3 .pp-finance-mini-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-height:300px!important;
  padding:20px 20px 18px!important;
}
.pp-finance-card-grid-v3 .pp-finance-mini-card:after{
  display:none!important;
}
.pp-finance-card-grid-v3 .pp-finance-icon{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0 0 14px!important;
}
.pp-finance-card-grid-v3 .pp-finance-content{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  position:relative!important;
  z-index:2!important;
}
.pp-finance-card-grid-v3 .pp-finance-content small{
  font-size:13px!important;
  line-height:18px!important;
  font-weight:620!important;
  color:#64748B!important;
  margin:0!important;
}
.pp-finance-meta{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:2px 0 4px!important;
  color:#64748B!important;
  font-size:12px!important;
  line-height:16px!important;
  font-weight:520!important;
}
.pp-finance-meta span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.pp-finance-meta span + span:before{
  content:''!important;
  width:1px!important;
  height:14px!important;
  background:#E2E8F0!important;
  margin-right:2px!important;
}
.pp-finance-card-grid-v3 .pp-finance-content b{
  font-size:31px!important;
  line-height:36px!important;
  font-weight:780!important;
  letter-spacing:-.055em!important;
  margin:0!important;
  font-variant-numeric:tabular-nums!important;
}
.pp-finance-card-grid-v3 .pp-finance-content p{
  font-size:12px!important;
  line-height:17px!important;
  color:#64748B!important;
  margin:0!important;
}
.pp-finance-bars{
  display:flex!important;
  align-items:flex-end!important;
  gap:7px!important;
  height:92px!important;
  margin-top:auto!important;
  padding-top:18px!important;
  position:relative!important;
  z-index:1!important;
}
.pp-finance-bars span{
  display:block!important;
  width:100%!important;
  max-width:13px!important;
  min-width:8px!important;
  height:var(--h,70%)!important;
  border-radius:999px 999px 6px 6px!important;
  background:currentColor!important;
  opacity:.58!important;
  box-shadow:0 8px 18px color-mix(in srgb,currentColor 18%, transparent)!important;
}
.pp-finance-card-grid-v3 .pp-finance-mini-card.salary .pp-finance-content b{color:#16A34A!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.penalties .pp-finance-content b{color:#DC2626!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.bonuses .pp-finance-content b{color:#D97706!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.salary .pp-finance-bars span{background:#16A34A!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.penalties .pp-finance-bars span{background:#DC2626!important;}
.pp-finance-card-grid-v3 .pp-finance-mini-card.bonuses .pp-finance-bars span{background:#D97706!important;}
@media(max-width:1500px){
  .pp-finance-card-grid-v3 .pp-finance-mini-card{min-height:230px!important;}
  .pp-finance-bars{height:64px!important;}
}


/* PP-10B: Finance cards real 30-day shift count + larger meta */
.pp-finance-meta{
  font-size:13.5px!important;
  line-height:18px!important;
  font-weight:620!important;
  margin:4px 0 6px!important;
}
.pp-finance-meta span{
  gap:6px!important;
}
.pp-finance-meta span:last-child{
  color:#334155!important;
  font-weight:700!important;
}
.pp-finance-card-grid-v3 .pp-finance-content small{
  font-size:13.5px!important;
}

/* PP-11: PVZ Page Design Alignment — Dashboard v1.0 visual language */
.pvz-enterprise-body{background:#F8FAFC!important;}
.pvz-workspace-v1{padding:28px!important;max-width:1680px!important;box-sizing:border-box!important;}
.pvz-page-header-v1{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);border:1px solid #E5E7EB;border-radius:24px;padding:26px 28px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 16px 38px rgba(15,23,42,.04)}
.pvz-eyebrow-v1{font-size:12px;font-weight:760;letter-spacing:.08em;text-transform:uppercase;color:#2563EB;margin-bottom:8px}.pvz-page-header-v1 h1{margin:0;font-size:32px;line-height:38px;font-weight:650;letter-spacing:-.04em;color:#111827}.pvz-page-header-v1 p{margin:8px 0 0;color:#6B7280;font-size:14px;line-height:22px}.pvz-header-actions-v1{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pvz-btn-v1{height:44px;border-radius:14px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px;font-weight:720;border:1px solid #E5E7EB;background:#fff;color:#111827;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.pvz-btn-v1:hover{transform:translateY(-1px);border-color:#BFDBFE;box-shadow:0 10px 24px rgba(15,23,42,.06)}.pvz-btn-v1.primary{background:#0F172A;color:#fff;border-color:#0F172A}.pvz-btn-v1.secondary{background:#fff;color:#334155}
.pvz-kpi-grid-v1{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0 0 20px}.pvz-kpi-v1{min-height:150px;border:1px solid #E5E7EB;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);padding:22px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.035);position:relative;overflow:hidden}.pvz-kpi-v1:before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:currentColor;opacity:.75}.pvz-kpi-v1 span{display:block;font-size:13px;line-height:18px;font-weight:560;color:#64748B}.pvz-kpi-v1 b{display:block;margin-top:10px;font-size:38px;line-height:42px;font-weight:760;letter-spacing:-.055em;color:#111827;font-variant-numeric:tabular-nums}.pvz-kpi-v1 small{display:block;margin-top:8px;font-size:12px;line-height:17px;color:#94A3B8}.pvz-kpi-v1.blue{color:#2563EB}.pvz-kpi-v1.green{color:#16A34A}.pvz-kpi-v1.red{color:#DC2626}.pvz-kpi-v1.purple{color:#7C3AED}.pvz-kpi-v1.orange{color:#D97706}.pvz-kpi-v1.green b{color:#16A34A}.pvz-kpi-v1.red b{color:#DC2626}.pvz-kpi-v1.orange b{color:#D97706}
.pvz-create-v1,.pvz-filter-card-v1,.pvz-table-card-v1{background:#fff;border:1px solid #E5E7EB;border-radius:24px;padding:20px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.035);margin-bottom:20px}.pvz-create-v1[hidden]{display:none!important}.pvz-section-head-v1{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pvz-section-head-v1 h2{font-size:18px;line-height:26px;font-weight:600;margin:0;color:#111827}.pvz-section-head-v1 p{margin:4px 0 0;color:#6B7280;font-size:13px;line-height:20px}.pvz-mini-btn-v1{border:1px solid #E5E7EB;background:#fff;border-radius:12px;height:36px;padding:0 12px;font-weight:700;color:#475569;cursor:pointer}.pvz-create-form-v1{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.pvz-create-form-v1 label{display:grid;gap:7px;font-size:13px;color:#64748B;font-weight:650}.pvz-create-form-v1 input,.pvz-create-form-v1 select,.pvz-filter-form-v1 input,.pvz-filter-form-v1 select{height:44px;border:1px solid #DFE6F0;border-radius:14px;background:#fff;padding:0 13px;color:#111827;font-size:14px;outline:0}.pvz-create-form-v1 input:focus,.pvz-create-form-v1 select:focus,.pvz-filter-form-v1 input:focus,.pvz-filter-form-v1 select:focus{border-color:#93C5FD;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.pvz-tabs-v1{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.pvz-tabs-v1 a{height:38px;border:1px solid #E5E7EB;border-radius:999px;display:inline-flex;align-items:center;padding:0 16px;text-decoration:none;color:#475569;font-size:13px;font-weight:720;background:#fff}.pvz-tabs-v1 a.active{background:#EFF6FF;border-color:#BFDBFE;color:#2563EB}.pvz-tabs-v1 a.wb.active{background:#F5F3FF;border-color:#DDD6FE;color:#7C3AED}.pvz-tabs-v1 a.yandex.active{background:#FFFBEB;border-color:#FDE68A;color:#B45309}.pvz-filter-form-v1{display:grid;grid-template-columns:minmax(260px,1fr) 200px 180px auto;gap:12px;align-items:center}.pvz-search-v1{height:44px;border:1px solid #DFE6F0;border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#94A3B8}.pvz-search-v1 input{border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:auto!important;flex:1;min-width:0}
.pvz-count-v1{height:32px;border-radius:999px;background:#F1F5F9;color:#475569;display:inline-flex;align-items:center;padding:0 11px;font-size:12px;font-weight:760}.pvz-table-v1{border:1px solid #E5E7EB;border-radius:20px;overflow:hidden;background:#fff}.pvz-row-v1{display:grid;grid-template-columns:minmax(280px,1.45fr) 150px minmax(210px,1fr) 140px 120px 90px 40px;gap:16px;align-items:center;width:100%;border:0;border-bottom:1px solid #EEF2F7;background:#fff;text-align:left;color:#111827}.pvz-row-v1.head{min-height:52px;padding:0 18px;background:#F8FAFC;color:#64748B;font-size:12px;font-weight:760;text-transform:uppercase;letter-spacing:.04em}.pvz-row-v1.item{min-height:76px;padding:12px 18px;font-family:inherit;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.pvz-row-v1.item:hover{background:#FBFDFF;box-shadow:inset 3px 0 0 currentColor}.pvz-row-v1.item.green{color:#16A34A}.pvz-row-v1.item.red{color:#DC2626}.pvz-row-v1.item.yellow{color:#D97706}.pvz-row-v1.item.gray{color:#94A3B8}.pvz-row-v1:last-child{border-bottom:0}.pvz-cell-main-v1{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:12px;align-items:center;color:#111827}.pvz-cell-main-v1 strong{font-size:14px;font-weight:650;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvz-cell-main-v1 small{grid-column:2;color:#6B7280;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvz-dot-v1{width:12px;height:12px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 13%, transparent)}.pvz-dot-v1.green{color:#16A34A}.pvz-dot-v1.red{color:#DC2626}.pvz-dot-v1.yellow{color:#D97706}.pvz-dot-v1.gray{color:#94A3B8}.pvz-status-v1{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:760;font-style:normal;white-space:nowrap}.pvz-status-v1.ok{background:#DCFCE7;color:#15803D}.pvz-status-v1.bad{background:#FEE2E2;color:#B91C1C}.pvz-status-v1.warn{background:#FEF3C7;color:#B45309}.pvz-status-v1.muted{background:#F1F5F9;color:#64748B}.pvz-today-v1 b,.pvz-number-v1 b{display:block;color:#111827;font-size:13.5px;font-weight:650}.pvz-today-v1 small,.pvz-number-v1 small{display:block;color:#94A3B8;font-size:12px;margin-top:3px}.pvz-kpi-pill-v1{height:34px;border-radius:12px;background:#ECFDF5;color:#15803D;display:inline-flex;align-items:center;justify-content:center;font-weight:780;font-size:13px}.pvz-open-v1{color:#94A3B8;font-size:20px;text-align:right}.pvz-empty-v1{padding:32px;text-align:center;color:#64748B;background:#F8FAFC}
.pvz-drawer-backdrop-v1{position:fixed;inset:0;background:rgba(15,23,42,.22);z-index:1300;opacity:0;pointer-events:none;transition:opacity .18s ease}.pvz-drawer-v1{position:fixed;right:0;top:0;bottom:0;width:480px;max-width:calc(100vw - 24px);background:#fff;border-left:1px solid #E5E7EB;box-shadow:-28px 0 80px rgba(15,23,42,.18);z-index:1301;padding:24px;transform:translateX(104%);transition:transform .22s ease;overflow:auto}.pvz-drawer-open-v1 .pvz-drawer-v1{transform:translateX(0)}.pvz-drawer-open-v1 .pvz-drawer-backdrop-v1{opacity:1;pointer-events:auto}.pvz-drawer-head-v1{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #EEF2F7;padding-bottom:18px}.pvz-drawer-head-v1 span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#2563EB;font-weight:760}.pvz-drawer-head-v1 h2{font-size:24px;line-height:30px;letter-spacing:-.04em;margin:6px 0 4px;color:#111827}.pvz-drawer-head-v1 p{margin:0;color:#6B7280}.pvz-drawer-head-v1 button{width:38px;height:38px;border-radius:13px;border:1px solid #E5E7EB;background:#fff;font-size:22px;color:#64748B;cursor:pointer}.pvz-drawer-status-v1{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.pvz-drawer-status-v1 b{font-size:22px;color:#15803D}.pvz-drawer-grid-v1{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pvz-drawer-grid-v1 div{border:1px solid #E5E7EB;border-radius:18px;background:#F8FAFC;padding:16px}.pvz-drawer-grid-v1 small{display:block;color:#64748B;font-size:12px;font-weight:650}.pvz-drawer-grid-v1 b{display:block;margin-top:8px;color:#111827;font-size:20px;line-height:24px}.pvz-drawer-grid-v1 span{display:block;margin-top:5px;color:#94A3B8;font-size:12px}.pvz-drawer-actions-v1{display:grid;gap:10px;margin-top:18px}
@media(max-width:1500px){.pvz-kpi-grid-v1{grid-template-columns:repeat(3,1fr)}.pvz-row-v1{grid-template-columns:minmax(260px,1.4fr) 140px minmax(190px,1fr) 120px 100px 80px 32px}}
@media(max-width:1100px){.pvz-page-header-v1{display:block}.pvz-header-actions-v1{margin-top:16px}.pvz-kpi-grid-v1{grid-template-columns:1fr 1fr}.pvz-filter-form-v1{grid-template-columns:1fr 1fr}.pvz-row-v1.head{display:none}.pvz-row-v1.item{grid-template-columns:1fr;gap:10px;align-items:start}.pvz-row-v1.item span{width:100%}.pvz-open-v1{text-align:left}.pvz-drawer-v1{width:430px}}
@media(max-width:720px){.pvz-workspace-v1{padding:18px!important}.pvz-kpi-grid-v1,.pvz-filter-form-v1,.pvz-create-form-v1{grid-template-columns:1fr}.pvz-drawer-grid-v1{grid-template-columns:1fr}}

/* PP-12: Employees Page Design Alignment */
.employees-enterprise-body{background:#F8FAFC!important;}
.employees-workspace-v1{padding:28px!important;max-width:1680px!important;box-sizing:border-box!important;}
.employees-page-header-v1{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);border:1px solid #E5E7EB;border-radius:24px;padding:26px 28px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 16px 38px rgba(15,23,42,.04)}
.employees-eyebrow-v1{font-size:12px;font-weight:760;letter-spacing:.08em;text-transform:uppercase;color:#2563EB;margin-bottom:8px}.employees-page-header-v1 h1{margin:0;font-size:32px;line-height:38px;font-weight:650;letter-spacing:-.04em;color:#111827}.employees-page-header-v1 p{margin:8px 0 0;color:#6B7280;font-size:14px;line-height:22px}.employees-header-actions-v1{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.employees-btn-v1{height:44px;border-radius:14px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px;font-weight:720;border:1px solid #E5E7EB;background:#fff;color:#111827;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.employees-btn-v1:hover{transform:translateY(-1px);border-color:#BFDBFE;box-shadow:0 10px 24px rgba(15,23,42,.06)}.employees-btn-v1.primary{background:#0F172A;color:#fff;border-color:#0F172A}.employees-btn-v1.secondary{background:#fff;color:#334155}
.employees-kpi-grid-v1{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0 0 20px}.employees-kpi-v1{min-height:150px;border:1px solid #E5E7EB;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);padding:22px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.035);position:relative;overflow:hidden}.employees-kpi-v1:before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:currentColor;opacity:.75}.employees-kpi-v1 span{display:block;font-size:13px;line-height:18px;font-weight:560;color:#64748B}.employees-kpi-v1 b{display:block;margin-top:10px;font-size:38px;line-height:42px;font-weight:760;letter-spacing:-.055em;color:#111827;font-variant-numeric:tabular-nums}.employees-kpi-v1 small{display:block;margin-top:8px;font-size:12px;line-height:17px;color:#94A3B8}.employees-kpi-v1.blue{color:#2563EB}.employees-kpi-v1.green{color:#16A34A}.employees-kpi-v1.red{color:#DC2626}.employees-kpi-v1.purple{color:#7C3AED}.employees-kpi-v1.orange{color:#D97706}.employees-kpi-v1.green b{color:#16A34A}.employees-kpi-v1.red b{color:#DC2626}.employees-kpi-v1.orange b{color:#D97706}
.employees-create-v1,.employees-filter-card-v1,.employees-table-card-v1{background:#fff;border:1px solid #E5E7EB;border-radius:24px;padding:20px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.035);margin-bottom:20px}.employees-create-v1[hidden]{display:none!important}.employees-section-head-v1{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.employees-section-head-v1 h2{font-size:18px;line-height:26px;font-weight:600;margin:0;color:#111827}.employees-section-head-v1 p{margin:4px 0 0;color:#6B7280;font-size:13px;line-height:20px}.employees-mini-btn-v1{border:1px solid #E5E7EB;background:#fff;border-radius:12px;height:36px;padding:0 12px;font-weight:700;color:#475569;cursor:pointer}.employees-mini-btn-v1.active{background:#111827;color:#fff;border-color:#111827}.employees-create-form-v1{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.4fr 1fr auto;gap:12px;align-items:end}.employees-create-form-v1 label{display:grid;gap:7px;font-size:13px;color:#64748B;font-weight:650}.employees-create-form-v1 input,.employees-create-form-v1 select,.employees-filter-form-v1 input,.employees-filter-form-v1 select{height:44px;border:1px solid #DFE6F0;border-radius:14px;background:#fff;padding:0 13px;color:#111827;font-size:14px;outline:0}.employees-create-form-v1 input:focus,.employees-create-form-v1 select:focus,.employees-filter-form-v1 input:focus,.employees-filter-form-v1 select:focus{border-color:#93C5FD;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.employees-filter-form-v1{display:grid;grid-template-columns:minmax(280px,1.8fr) repeat(4,minmax(140px,1fr)) auto auto;gap:12px;align-items:center}.employees-search-v1{height:44px;border:1px solid #DFE6F0;border-radius:14px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 13px}.employees-search-v1 input{height:42px!important;border:0!important;box-shadow:none!important;padding:0!important;flex:1}.employees-view-actions-v1{display:flex;gap:8px;align-items:center}
.employees-grid-v1{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.employee-card-v1{position:relative;border:1px solid #E5E7EB;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);padding:18px;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.employee-card-v1:hover{transform:translateY(-2px);border-color:#BFDBFE;box-shadow:0 16px 34px rgba(15,23,42,.07)}.employee-card-open-v1{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;border-radius:22px}.employee-card-v1 a,.employee-card-v1 button:not(.employee-card-open-v1){position:relative;z-index:2}.employee-head-v1{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.employee-avatar-v1{width:44px;height:44px;border-radius:16px;background:#EEF2FF;color:#2563EB;display:flex;align-items:center;justify-content:center;font-weight:850;font-size:18px}.employee-name-v1 h3{margin:0;font-size:15px;line-height:20px;font-weight:720;color:#111827}.employee-name-v1 p{margin:2px 0 0;color:#64748B;font-size:12.5px;line-height:17px}.employee-status-v1{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11.5px;font-weight:800;white-space:nowrap}.employee-status-v1.good{background:#DCFCE7;color:#15803D}.employee-status-v1.warn{background:#FFEDD5;color:#C2410C}.employee-status-v1.bad{background:#FEE2E2;color:#DC2626}.employees-kpi-v1.purple b,.employee-card-v1 .purple{color:#7C3AED}.employee-lines-v1{display:grid;gap:9px;margin:18px 0}.employee-lines-v1 div{display:flex;justify-content:space-between;gap:12px;border:1px solid #F1F5F9;border-radius:14px;padding:10px 12px;background:#F8FAFC}.employee-lines-v1 span{font-size:12px;color:#64748B}.employee-lines-v1 b{font-size:13px;color:#111827;text-align:right}.employee-metrics-v1{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.employee-metrics-v1 div{border:1px solid #EEF2F7;border-radius:16px;background:#fff;padding:12px}.employee-metrics-v1 small{font-size:11.5px;color:#64748B}.employee-metrics-v1 b{display:block;margin-top:5px;font-size:22px;line-height:26px;font-weight:780;color:#2563EB}.employee-metrics-v1 em{display:block;margin-top:2px;font-style:normal;font-size:11.5px;color:#94A3B8}.employee-bottom-v1{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #EEF2F7}.employee-bottom-v1 span{font-size:12px;color:#64748B}.employee-bottom-v1 b{font-size:12.5px;color:#111827;text-align:right}.employee-actions-v1{display:flex;gap:10px;margin-top:14px}.employee-actions-v1 .employees-btn-v1{flex:1;height:40px}.employees-empty-v1{grid-column:1/-1;border:1px dashed #CBD5E1;border-radius:18px;background:#F8FAFC;padding:28px;text-align:center;color:#64748B}
.employees-table-wrap-v1{overflow:auto;border:1px solid #E5E7EB;border-radius:18px}.employees-table-v1{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.employees-table-v1 th{height:52px;background:#F8FAFC;color:#64748B;font-size:12px;text-align:left;padding:0 14px;border-bottom:1px solid #E5E7EB}.employees-table-v1 td{height:60px;padding:10px 14px;border-bottom:1px solid #EEF2F7;color:#334155}.employees-table-v1 tr:hover td{background:#F8FAFC}.employee-table-open-v1{display:grid;gap:2px;border:0;background:transparent;text-align:left;cursor:pointer;color:#111827}.employee-table-open-v1 b{font-size:14px}.employee-table-open-v1 small{color:#64748B}
.employee-drawer-v1{position:fixed;inset:0;background:rgba(15,23,42,.22);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:80}.employee-drawer-v1.open{opacity:1;pointer-events:auto}.employee-drawer-panel-v1{position:absolute;right:0;top:0;width:480px;max-width:calc(100vw - 24px);height:100%;background:#fff;border-left:1px solid #E5E7EB;box-shadow:-20px 0 50px rgba(15,23,42,.14);padding:26px;box-sizing:border-box;transform:translateX(24px);transition:transform .2s ease;overflow:auto}.employee-drawer-v1.open .employee-drawer-panel-v1{transform:translateX(0)}.employee-drawer-close-v1{position:absolute;right:18px;top:18px;width:36px;height:36px;border-radius:12px;border:1px solid #E5E7EB;background:#fff;font-size:22px;cursor:pointer}.employee-drawer-head-v1{display:flex;align-items:center;gap:14px;margin:18px 0 20px}.employee-drawer-head-v1 h2{margin:0;font-size:22px;line-height:28px}.employee-drawer-head-v1 p{margin:3px 0 0;color:#64748B}.employee-drawer-kpis-v1{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.employee-drawer-kpis-v1 div,.employee-drawer-info-v1 div{border:1px solid #EEF2F7;border-radius:16px;background:#F8FAFC;padding:14px}.employee-drawer-kpis-v1 small,.employee-drawer-info-v1 span{font-size:12px;color:#64748B}.employee-drawer-kpis-v1 b,.employee-drawer-info-v1 b{display:block;margin-top:6px;color:#111827}.employee-drawer-info-v1{display:grid;gap:10px}.employee-drawer-actions-v1{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@media(max-width:1280px){.employees-kpi-grid-v1{grid-template-columns:repeat(3,1fr)}.employees-grid-v1{grid-template-columns:repeat(2,1fr)}.employees-filter-form-v1{grid-template-columns:1fr 1fr 1fr}.employees-create-form-v1{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.employees-page-header-v1{display:block}.employees-header-actions-v1{margin-top:16px}.employees-kpi-grid-v1,.employees-grid-v1,.employees-filter-form-v1,.employees-create-form-v1{grid-template-columns:1fr}.employee-drawer-panel-v1{width:100%}}

/* PP-12A: Employees page must use frozen Dashboard design system */
.employees-shell-v2 .employees-page-header-v1{display:none!important;}
.employees-shell-v2 .employees-workspace-v1{padding:28px 32px 40px!important;max-width:1680px!important;width:100%!important;margin:0 auto!important;}
.employees-shell-v2 .employees-topbar-v2{height:68px!important;margin-bottom:24px!important;}
.employees-shell-v2 .employees-kpi-grid-v1{grid-template-columns:repeat(7,minmax(140px,1fr))!important;gap:14px!important;margin:0 0 20px!important;}
.employees-shell-v2 .employees-kpi-v1{border-radius:18px!important;min-height:132px!important;padding:20px!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 12px 28px rgba(15,23,42,.045)!important;}
.employees-shell-v2 .employees-filter-card-v1,
.employees-shell-v2 .employees-table-card-v1{border-radius:22px!important;border:1px solid #e5e7eb!important;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.045)!important;background:#fff!important;}
.employees-shell-v2 .employees-grid-v1{grid-template-columns:repeat(3,minmax(280px,1fr))!important;gap:16px!important;}
.employees-shell-v2 .employee-card-v1{min-height:auto!important;padding:18px!important;border-radius:20px!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;overflow:hidden!important;}
.employees-shell-v2 .employee-card-open-v1{z-index:0!important;}
.employees-shell-v2 .employee-card-v1 > *:not(.employee-card-open-v1){position:relative!important;z-index:1!important;}
.employees-shell-v2 .employee-head-v1{grid-template-columns:44px minmax(0,1fr) auto!important;}
.employees-shell-v2 .employee-name-v1 h3{font-size:15px!important;line-height:20px!important;font-weight:700!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.employees-shell-v2 .employee-lines-v1{margin:14px 0!important;}
.employees-shell-v2 .employee-lines-v1 div{padding:9px 11px!important;}
.employees-shell-v2 .employee-metrics-v1{gap:8px!important;}
.employees-shell-v2 .employee-metrics-v1 div{padding:10px!important;border-radius:14px!important;}
.employees-shell-v2 .employee-metrics-v1 b{font-size:20px!important;line-height:24px!important;}
.employees-shell-v2 .employee-actions-v1{margin-top:12px!important;}
.employees-shell-v2 .employees-btn-v1.primary{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;}
.employees-shell-v2 .employees-btn-v1.secondary{background:#fff!important;color:#334155!important;border-color:#e5e7eb!important;}
@media(max-width:1280px){.employees-shell-v2 .employees-grid-v1{grid-template-columns:repeat(2,minmax(0,1fr))!important}.employees-shell-v2 .employees-kpi-grid-v1{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* STAFF-ONBOARD-01: safe employee onboarding workflow */
.employees-onboarding-eyebrow-v1{margin-bottom:5px;color:#2563eb;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.employees-onboarding-form-v1{display:grid;gap:16px}
.employees-onboarding-step-v1{border:1px solid #e5e7eb;border-radius:18px;background:#fbfdff;padding:18px}
.employees-onboarding-step-head-v1{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.employees-onboarding-step-head-v1>span{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:850}
.employees-onboarding-step-head-v1 h3{margin:1px 0 0;color:#111827;font-size:15px;line-height:20px;font-weight:760}
.employees-onboarding-step-head-v1 p{margin:3px 0 0;color:#64748b;font-size:12.5px;line-height:18px}
.employees-onboarding-fields-v1{display:grid;gap:12px}
.employees-onboarding-fields-v1.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.employees-onboarding-fields-v1.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.employees-onboarding-fields-v1 label{display:grid;gap:7px;color:#475569;font-size:12.5px;font-weight:700}
.employees-onboarding-fields-v1 input,.employees-onboarding-fields-v1 select,.employees-onboarding-fields-v1 textarea{box-sizing:border-box;width:100%;border:1px solid #dfe6f0;border-radius:13px;background:#fff;padding:0 13px;color:#111827;font:inherit;font-weight:500;outline:0}
.employees-onboarding-fields-v1 input,.employees-onboarding-fields-v1 select{height:44px}.employees-onboarding-fields-v1 textarea{min-height:86px;padding-top:12px;padding-bottom:12px;resize:vertical}
.employees-onboarding-fields-v1 input:focus,.employees-onboarding-fields-v1 select:focus,.employees-onboarding-fields-v1 textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.employees-onboarding-fields-v1 .span-2{grid-column:span 2}.employees-onboarding-fields-v1 .span-3{grid-column:span 3}
.employees-onboarding-subtitle-v1{margin:4px 0 11px;color:#1e3a8a;font-size:13px;font-weight:850}.employees-onboarding-fields-v1+.employees-onboarding-subtitle-v1{margin-top:18px}
.employees-onboarding-doc-note-v1{margin:14px 0 0;border-left:3px solid #2563eb;border-radius:8px;background:#eff6ff;padding:11px 13px;color:#1e40af;font-size:12px;line-height:18px}
.employees-onboarding-access-v1{margin:14px 0 0;border:1px solid #e5e7eb;border-radius:15px;background:#fff;padding:14px}
.employees-onboarding-access-v1 legend{padding:0 6px;color:#334155;font-size:12.5px;font-weight:760}
.employees-onboarding-access-v1>p{margin:0 0 12px;color:#64748b;font-size:12px}
.employees-onboarding-pvz-grid-v1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.employees-onboarding-pvz-grid-v1 label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;border:1px solid #e5e7eb;border-radius:12px;padding:0 10px;background:#f8fafc;cursor:pointer}
.employees-onboarding-pvz-grid-v1 label:has(input:checked){border-color:#86efac;background:#f0fdf4}
.employees-onboarding-pvz-grid-v1 input{width:16px;height:16px;margin:0;accent-color:#16a34a}
.employees-onboarding-pvz-grid-v1 span{overflow:hidden;color:#111827;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.employees-onboarding-pvz-grid-v1 small{color:#94a3b8;font-size:9px;font-weight:750;text-transform:uppercase}
.employees-onboarding-switch-v1{display:flex;align-items:flex-start;gap:11px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;padding:14px;cursor:pointer}
.employees-onboarding-switch-v1>input{width:18px;height:18px;margin:2px 0 0;accent-color:#2563eb}
.employees-onboarding-switch-v1 span{display:grid;gap:3px}
.employees-onboarding-switch-v1 b{color:#1e3a8a;font-size:13px}
.employees-onboarding-switch-v1 small{color:#64748b;font-size:12px;font-weight:500}
.employees-onboarding-switch-v1+.employees-onboarding-fields-v1{margin-top:12px}
.employees-onboarding-manager-note-v1{margin-top:12px;border-left:3px solid #f59e0b;border-radius:8px;background:#fffbeb;padding:11px 13px;color:#92400e;font-size:12px;line-height:18px}
.employees-onboarding-actions-v1{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}
@media(max-width:1200px){.employees-onboarding-pvz-grid-v1{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.employees-onboarding-fields-v1.cols-2,.employees-onboarding-fields-v1.cols-3,.employees-onboarding-pvz-grid-v1{grid-template-columns:1fr}.employees-onboarding-fields-v1 .span-2,.employees-onboarding-fields-v1 .span-3{grid-column:span 1}.employees-onboarding-actions-v1{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:820px){.employees-shell-v2 .employees-grid-v1,.employees-shell-v2 .employees-kpi-grid-v1{grid-template-columns:1fr!important}}

/* PP-12B — Employee Drawer Navigation */
.employees-table-v1 tbody tr[data-employee-row],
.employee-card-v1[data-employee-row]{cursor:pointer;outline:none;}
.employees-table-v1 tbody tr[data-employee-row]:hover{background:#F8FAFC;}
.employees-table-v1 tbody tr[data-employee-row]:focus-visible,
.employee-card-v1[data-employee-row]:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.18);border-color:#93C5FD;}
.employee-table-open-v1{width:100%;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:inherit;font:inherit;}
.employee-table-open-v1 b{display:block;font-size:14px;line-height:20px;color:#111827;}
.employee-table-open-v1 small{display:block;margin-top:2px;font-size:12px;line-height:16px;color:#64748B;}

/* PP-12C: Employee Drawer Card v2.0 */
.employee-drawer-v2{z-index:1400;background:rgba(15,23,42,.24);backdrop-filter:blur(2px)}
.employee-drawer-panel-v2{width:480px;padding:24px;background:#fff;box-shadow:-30px 0 80px rgba(15,23,42,.18);border-left:1px solid #E5E7EB}
.employee-drawer-close-v2{top:20px;right:20px;color:#64748B;transition:all .18s ease}
.employee-drawer-close-v2:hover{background:#F8FAFC;color:#111827;transform:translateY(-1px)}
.employee-drawer-hero-v2{display:flex;gap:16px;align-items:flex-start;padding:8px 44px 20px 0;border-bottom:1px solid #EEF2F7;margin-bottom:16px}
.employee-drawer-avatar-v2{width:62px;height:62px;border-radius:22px;font-size:25px;background:linear-gradient(135deg,#2563EB,#7C3AED);color:#fff;box-shadow:0 16px 35px rgba(37,99,235,.22)}
.employee-drawer-title-v2{min-width:0;flex:1}.employee-drawer-eyebrow-v2{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#2563EB;font-weight:760;margin-bottom:6px}.employee-drawer-title-v2 h2{font-size:23px;line-height:29px;margin:0;color:#111827;letter-spacing:-.035em}.employee-drawer-title-v2 p{margin:5px 0 12px;color:#64748B;font-size:13px;line-height:18px}.employee-drawer-badges-v2{display:flex;gap:8px;flex-wrap:wrap}.employee-health-badge-v2{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:760}.employee-health-badge-v2.good{background:#ECFDF5;color:#15803D;border:1px solid #BBF7D0}.employee-health-badge-v2.warn{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A}.employee-health-badge-v2.bad{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA}
.employee-drawer-kpi-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.employee-drawer-kpi-grid-v2 div{border:1px solid #E5E7EB;border-radius:18px;background:#F8FAFC;padding:15px 16px}.employee-drawer-kpi-grid-v2 small{display:block;color:#64748B;font-size:12px;font-weight:650}.employee-drawer-kpi-grid-v2 b{display:block;margin-top:7px;color:#111827;font-size:24px;line-height:28px;letter-spacing:-.04em}.employee-drawer-kpi-grid-v2 em{display:block;margin-top:4px;color:#94A3B8;font-size:12px;font-style:normal;font-weight:650}
.employee-drawer-block-v2{border:1px solid #E5E7EB;border-radius:20px;background:#fff;padding:16px;margin-top:12px;box-shadow:0 10px 24px rgba(15,23,42,.035)}.employee-drawer-section-head-v2{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.employee-drawer-section-head-v2 h3{margin:0;color:#111827;font-size:15px;line-height:20px;font-weight:650}.employee-drawer-section-head-v2 span{color:#64748B;font-size:12px;font-weight:700}.employee-drawer-info-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.employee-drawer-info-grid-v2 div{background:#F8FAFC;border:1px solid #EEF2F7;border-radius:15px;padding:12px}.employee-drawer-info-grid-v2 small{display:block;color:#64748B;font-size:12px}.employee-drawer-info-grid-v2 b{display:block;margin-top:5px;color:#111827;font-size:14px;line-height:18px}.employee-drawer-access-v2{display:flex;gap:8px;flex-wrap:wrap}.employee-drawer-access-v2 span{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:999px;background:#EFF6FF;color:#1D4ED8;border:1px solid #DBEAFE;font-size:12px;font-weight:750}
.employee-drawer-finance-v2{display:grid;grid-template-columns:1fr;gap:10px}.employee-drawer-finance-v2 div{display:flex;justify-content:space-between;align-items:center;border:1px solid #EEF2F7;border-radius:16px;background:#F8FAFC;padding:12px 13px;position:relative;overflow:hidden}.employee-drawer-finance-v2 div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.employee-drawer-finance-v2 small{color:#64748B;font-size:12px;font-weight:700}.employee-drawer-finance-v2 b{font-size:19px;line-height:24px;letter-spacing:-.03em}.employee-drawer-finance-v2 .salary:before{background:#16A34A}.employee-drawer-finance-v2 .salary b{color:#16A34A}.employee-drawer-finance-v2 .bonus:before{background:#D97706}.employee-drawer-finance-v2 .bonus b{color:#D97706}.employee-drawer-finance-v2 .penalty:before{background:#DC2626}.employee-drawer-finance-v2 .penalty b{color:#DC2626}.employee-drawer-actions-v2{grid-template-columns:1fr 1fr;margin-top:0}.employees-btn-v1.danger{border-color:#FECACA!important;color:#DC2626!important;background:#FEF2F2!important}.employee-drawer-timeline-v2{display:grid;gap:10px}.employee-drawer-timeline-v2 div{position:relative;padding-left:18px}.employee-drawer-timeline-v2 div:before{content:"";position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:50%;background:#2563EB;box-shadow:0 0 0 4px #EFF6FF}.employee-drawer-timeline-v2 span{display:block;color:#94A3B8;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.employee-drawer-timeline-v2 b{display:block;margin-top:2px;color:#111827;font-size:13px;line-height:18px}.employee-drawer-timeline-v2 small{display:block;margin-top:1px;color:#64748B;font-size:12px;line-height:16px}
@media(max-width:820px){.employee-drawer-panel-v2{width:100%;max-width:none}.employee-drawer-kpi-grid-v2,.employee-drawer-info-grid-v2{grid-template-columns:1fr}.employee-drawer-actions-v2{grid-template-columns:1fr}}

/* PP-13 Employee Full Profile UI Redesign. UI-only; keeps existing routes/actions. */
.employee-profile-page-v1{background:#f4f7fb!important;color:#0f172a!important;}
.employee-profile-shell-v1{margin-left:var(--sidebar-w,240px)!important;width:calc(100% - var(--sidebar-w,240px))!important;max-width:1780px!important;padding:30px 34px 44px!important;box-sizing:border-box!important;}
.employee-profile-hero-v1,.employee-profile-card-v1,.employee-profile-alert-v1,.employee-profile-kpi-v1{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 1px 2px rgba(15,23,42,.03),0 14px 34px rgba(15,23,42,.045);box-sizing:border-box;}
.employee-profile-hero-v1{padding:22px 24px;margin-bottom:18px;}
.employee-profile-breadcrumb-v1{display:flex;gap:10px;align-items:center;color:#94a3b8;font-size:13px;font-weight:700;margin-bottom:16px;}
.employee-profile-breadcrumb-v1 a{color:#334155;text-decoration:none;font-weight:800;}
.employee-profile-hero-main-v1{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;}
.employee-profile-avatar-v1{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#eef2ff,#f8fafc);display:grid;place-items:center;font-size:30px;font-weight:800;color:#2563eb;border:1px solid #dbeafe;}
.employee-profile-title-row-v1{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.employee-profile-title-v1 h1{margin:0;font-size:30px;line-height:38px;font-weight:650;letter-spacing:-.03em;color:#0f172a;}
.employee-profile-title-v1 p{margin:4px 0 10px;color:#64748b;font-size:14px;font-weight:500;}
.employee-profile-status-v1,.employee-profile-health-v1{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;white-space:nowrap;}
.employee-profile-status-v1.good,.employee-profile-health-v1.good{background:#dcfce7;color:#15803d;}
.employee-profile-status-v1.warn,.employee-profile-health-v1.warn{background:#fef3c7;color:#b45309;}
.employee-profile-status-v1.bad,.employee-profile-health-v1.bad{background:#fee2e2;color:#dc2626;}
.employee-profile-health-v1{width:max-content;}
.employee-profile-actions-v1{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.ep-btn-v1{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:14px;padding:0 16px;text-decoration:none;border:1px solid #e5e7eb;background:#fff;color:#334155;font-size:13px;font-weight:850;box-shadow:none;cursor:pointer;}
.ep-btn-v1.primary{background:#111827;color:#fff;border-color:#111827;}
.ep-btn-v1.secondary{background:#fff;color:#334155;border-color:#e5e7eb;}
.ep-btn-v1.danger{background:#fff1f2;color:#dc2626;border-color:#fecdd3;}
.ep-btn-v1:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08);}
.employee-profile-alert-v1{padding:16px 18px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid #22c55e;}
.employee-profile-alert-v1.warn{border-left-color:#f59e0b;background:#fffdf5;}.employee-profile-alert-v1.bad{border-left-color:#ef4444;background:#fff7f7;}
.employee-profile-alert-v1 b{display:block;font-size:15px;margin-bottom:2px;}.employee-profile-alert-v1 span{color:#64748b;font-size:13px;font-weight:500;}.employee-profile-alert-v1 a{font-size:13px;font-weight:850;color:#2563eb;text-decoration:none;white-space:nowrap;}
.employee-profile-kpi-grid-v1{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin-bottom:20px;}
.employee-profile-kpi-v1{padding:18px 20px;min-height:132px;position:relative;overflow:hidden;}
.employee-profile-kpi-v1:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#2563eb;opacity:.9;}.employee-profile-kpi-v1.green:before{background:#16a34a}.employee-profile-kpi-v1.red:before{background:#dc2626}.employee-profile-kpi-v1.amber:before{background:#d97706}.employee-profile-kpi-v1 span{display:block;color:#64748b;font-size:13px;font-weight:800;margin-bottom:12px;}.employee-profile-kpi-v1 b{font-size:34px;line-height:38px;font-weight:750;color:#111827;letter-spacing:-.04em;}.employee-profile-kpi-v1 small{display:block;color:#94a3b8;font-size:12px;font-weight:700;margin-top:8px;}.employee-profile-kpi-v1.green b{color:#16a34a}.employee-profile-kpi-v1.red b{color:#dc2626}.employee-profile-kpi-v1.amber b{color:#d97706}.employee-profile-kpi-v1.blue b{color:#2563eb}
.employee-profile-layout-v1{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start;}
.employee-profile-main-v1,.employee-profile-side-v1{display:grid;gap:18px;}
.employee-profile-card-v1{padding:20px;}
.ep-section-head-v1{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;}
.ep-section-head-v1 h2{margin:0;font-size:18px;line-height:24px;font-weight:650;letter-spacing:-.02em;color:#111827;}.ep-section-head-v1 span{color:#94a3b8;font-size:12px;font-weight:800;white-space:nowrap;margin-top:3px;}
.employee-today-grid-v1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}.employee-today-grid-v1 div,.employee-contact-list-v1 div,.employee-doc-list-v1 div{border:1px solid #eef2f7;border-radius:16px;padding:13px 14px;background:#fbfdff;}.employee-today-grid-v1 span,.employee-contact-list-v1 span{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:7px;}.employee-today-grid-v1 b,.employee-contact-list-v1 b{font-size:14px;color:#0f172a;line-height:20px;}
.employee-access-grid-v1{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.employee-access-card-v1{border:1px solid #e5e7eb;border-radius:16px;padding:13px 14px;background:#fff;}.employee-access-card-v1.primary{border-color:#bfdbfe;background:#eff6ff;}.employee-access-card-v1.warn{border-color:#fed7aa;background:#fff7ed;}.employee-access-card-v1.bad{border-color:#fecaca;background:#fff1f2;}.employee-access-card-v1 b{display:block;font-size:13px;color:#111827;margin-bottom:5px;}.employee-access-card-v1 span{color:#64748b;font-size:12px;font-weight:700;}
.employee-timeline-v1{position:relative;display:grid;gap:0;}.employee-timeline-item-v1{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:0 0 18px;position:relative;}.employee-timeline-item-v1:not(:last-child):before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:#e5e7eb;}.employee-timeline-item-v1 i{width:17px;height:17px;border-radius:50%;background:#22c55e;border:4px solid #dcfce7;margin-top:2px;z-index:1;}.employee-timeline-item-v1.warn i{background:#f59e0b;border-color:#fef3c7;}.employee-timeline-item-v1 b{display:block;font-size:14px;color:#111827;margin-bottom:3px;}.employee-timeline-item-v1 span{color:#64748b;font-size:13px;font-weight:500;}
.employee-profile-table-v1{overflow:auto;border:1px solid #e5e7eb;border-radius:18px;background:#fff;}.employee-profile-table-v1 table{width:100%;border-collapse:separate;border-spacing:0;}.employee-profile-table-v1 th{background:#f8fafc!important;color:#64748b!important;font-size:12px!important;text-transform:none!important;}.employee-profile-table-v1 td,.employee-profile-table-v1 th{padding:13px 14px!important;border-bottom:1px solid #eef2f7!important;}
.employee-finance-list-v1{display:grid;gap:10px;}.employee-finance-list-v1>div{border:1px solid #e5e7eb;border-radius:18px;padding:14px 16px;background:#fff;position:relative;overflow:hidden;}.employee-finance-list-v1>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#16a34a;}.employee-finance-list-v1 .bonus:before{background:#d97706}.employee-finance-list-v1 .penalty:before{background:#dc2626}.employee-finance-list-v1 span{display:block;color:#64748b;font-size:13px;font-weight:850;margin-bottom:6px;}.employee-finance-list-v1 b{font-size:24px;line-height:30px;font-weight:760;color:#16a34a;letter-spacing:-.03em;}.employee-finance-list-v1 .bonus b{color:#d97706}.employee-finance-list-v1 .penalty b{color:#dc2626}.employee-finance-list-v1 small{display:block;color:#94a3b8;font-size:12px;font-weight:700;margin-top:5px;}
.employee-contact-list-v1,.employee-doc-list-v1{display:grid;gap:10px;}.employee-doc-list-v1>div,.employee-doc-list-v1>a{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;box-sizing:border-box;border:1px solid #eef2f7!important;border-radius:16px;padding:13px 14px;background:#fbfdff;text-decoration:none!important}.employee-doc-list-v1>a:hover{border-color:#93c5fd!important;background:#eff6ff}.employee-doc-list-v1 b{display:block;min-width:0;font-size:13px;color:#111827;}.employee-doc-list-v1 span{display:block;color:#64748b;font-weight:800;font-size:12px;white-space:nowrap;}

/* STAFF-DOCS-01 — employee legal profile and printable contract */
.employee-documents-shell-v1{padding:32px;max-width:1500px;margin:0 auto;width:100%}
.employee-documents-header-v1{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.employee-documents-header-v1 a{color:#2563eb;text-decoration:none;font-weight:800}.employee-documents-header-v1 h1{font-size:32px;margin:8px 0 4px;color:#0f172a}.employee-documents-header-v1 p{margin:0;color:#64748b}.employee-documents-header-actions-v1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.employee-doc-ready-v1{border-radius:999px;padding:9px 13px;font-size:12px;font-weight:850}.employee-doc-ready-v1.ready{background:#dcfce7;color:#15803d}.employee-doc-ready-v1.draft{background:#fff7ed;color:#c2410c}
.employee-doc-notice-v1{border-radius:16px;padding:14px 16px;margin-bottom:16px;border:1px solid}.employee-doc-notice-v1.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.employee-doc-notice-v1.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.employee-doc-form-v1{display:grid;gap:18px}.employee-doc-panel-v1{background:#fff;border:1px solid #dfe5ed;border-radius:22px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.employee-doc-step-v1{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.employee-doc-step-v1>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-weight:900}.employee-doc-step-v1 h2{margin:0;color:#0f172a;font-size:20px}.employee-doc-step-v1 p{margin:4px 0 0;color:#64748b;font-size:13px}
.employee-doc-grid-v1{display:grid;gap:14px}.employee-doc-grid-v1.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-doc-grid-v1.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-doc-grid-v1 .span-2{grid-column:span 2}.employee-doc-grid-v1 .span-3{grid-column:span 3}.employee-doc-grid-v1 label{display:grid;gap:7px;color:#475569;font-size:12px;font-weight:850}.employee-doc-grid-v1 input,.employee-doc-grid-v1 select,.employee-doc-grid-v1 textarea{width:100%;border:1px solid #d7dee8;border-radius:12px;background:#fff;padding:12px 13px;color:#0f172a;font:inherit;font-size:14px;outline:none}.employee-doc-grid-v1 input:focus,.employee-doc-grid-v1 select:focus,.employee-doc-grid-v1 textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.employee-doc-grid-v1 textarea{resize:vertical}
.employee-doc-summary-v1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.employee-doc-summary-v1 div{background:#f8fafc;border:1px solid #e8edf3;border-radius:14px;padding:12px}.employee-doc-summary-v1 span{display:block;color:#64748b;font-size:11px;font-weight:800;margin-bottom:5px}.employee-doc-summary-v1 b{color:#0f172a;font-size:13px}
.employee-doc-form-actions-v1{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:12px;background:rgba(248,250,252,.94);backdrop-filter:blur(8px);padding:12px;border:1px solid #e2e8f0;border-radius:18px;z-index:4}.employees-btn-v1.print{background:#16a34a;color:#fff;border-color:#16a34a}
.employee-doc-grid-v1 input[readonly]{background:#f1f5f9;color:#64748b}.employee-doc-owner-note-v1{margin:14px 0 0;color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:700}
@media(max-width:1000px){.employee-documents-shell-v1{padding:20px}.employee-documents-header-v1{align-items:flex-start;flex-direction:column}.employee-doc-grid-v1.cols-3,.employee-doc-grid-v1.cols-2,.employee-doc-summary-v1{grid-template-columns:1fr 1fr}.employee-doc-grid-v1 .span-3{grid-column:span 2}}
@media(max-width:700px){.employee-doc-grid-v1.cols-3,.employee-doc-grid-v1.cols-2,.employee-doc-summary-v1{grid-template-columns:1fr}.employee-doc-grid-v1 .span-2,.employee-doc-grid-v1 .span-3{grid-column:span 1}.employee-doc-form-actions-v1{position:static;display:grid}.employee-documents-header-actions-v1{justify-content:flex-start}}
.employee-action-list-v1{display:grid;gap:10px;}.employee-action-list-v1 a{min-height:44px;border:1px solid #e5e7eb;border-radius:15px;background:#fff;color:#334155;text-decoration:none;display:flex;align-items:center;padding:0 14px;font-size:13px;font-weight:850;}.employee-action-list-v1 a:hover{background:#f8fafc;border-color:#cbd5e1;}
.employee-admin-details-v1 summary{cursor:pointer;font-size:15px;font-weight:850;color:#0f172a;}.employee-admin-form-v1{display:grid;gap:11px;margin-top:16px;}.employee-admin-form-v1 label{display:grid;gap:6px;color:#64748b;font-size:12px;font-weight:800;}.employee-admin-form-v1 input,.employee-admin-form-v1 select,.employee-remark-form-v1 input,.employee-remark-form-v1 select{width:100%;min-height:42px;border:1px solid #dfe6f0;border-radius:13px;padding:0 12px;background:#fff;color:#0f172a;}.employee-access-admin-v1{display:grid;gap:8px;max-height:280px;overflow:auto;border:1px solid #eef2f7;border-radius:16px;padding:10px;background:#fbfdff;}.access-mini-v1{display:block!important;border:1px solid #eef2f7;border-radius:13px;padding:10px!important;background:#fff!important;color:#334155!important;}.access-mini-v1.selected{border-color:#bfdbfe;background:#eff6ff!important;}.access-mini-v1 small{display:block;margin-top:7px;color:#64748b;}.employee-inline-form-v1{margin:12px 0;}.ep-muted-v1{color:#64748b;font-size:13px;font-weight:500;}
.employee-remarks-full-v1{margin-top:20px;}.employee-remark-form-v1{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(180px,1fr) 90px auto;gap:10px;align-items:center;}
@media(max-width:1280px){.employee-profile-layout-v1{grid-template-columns:1fr}.employee-profile-side-v1{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-today-grid-v1{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-access-grid-v1{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-remark-form-v1{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.employee-profile-shell-v1{margin-left:0!important;width:100%!important;padding:18px!important}.employee-profile-hero-main-v1{grid-template-columns:60px minmax(0,1fr)}.employee-profile-actions-v1{grid-column:1/-1;justify-content:flex-start}.employee-profile-kpi-grid-v1,.employee-profile-side-v1,.employee-today-grid-v1,.employee-access-grid-v1,.employee-remark-form-v1{grid-template-columns:1fr}.employee-profile-alert-v1{display:grid}.employee-profile-title-v1 h1{font-size:24px;line-height:30px}}

/* PP-13A — Employee full profile design standard fix */
body.employee-profile-page-v1 .app-sidebar{
  background:#fff!important;
  border-right:1px solid #e5e7eb!important;
  box-shadow:none!important;
  color:#0f172a!important;
}
body.employee-profile-page-v1 .app-logo,
body.employee-profile-page-v1 .role-pill,
body.employee-profile-page-v1 .sidebar-user,
body.employee-profile-page-v1 .collapse-btn{
  background:#fff!important;
  color:#0f172a!important;
  border-color:#e5e7eb!important;
}
body.employee-profile-page-v1 .side-nav a,
body.employee-profile-page-v1 .side-nav-toggle{
  background:transparent!important;
  color:#475569!important;
  border-radius:14px!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  white-space:nowrap!important;
}
body.employee-profile-page-v1 .side-nav a.active,
body.employee-profile-page-v1 .side-nav a:hover,
body.employee-profile-page-v1 .side-nav-group.active>.side-nav-toggle,
body.employee-profile-page-v1 .side-nav-toggle:hover{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  box-shadow:inset 3px 0 0 #2563eb!important;
}
.employee-admin-center-v1{
  margin:0 0 20px!important;
  padding:22px!important;
}
.employee-admin-center-head-v1 p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:500;
  line-height:1.45;
}
.employee-admin-form-v2{display:grid;gap:20px;}
.employee-edit-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:14px;
}
.employee-edit-grid-v2 label,
.employee-security-form-v2 label{
  display:grid;
  gap:7px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.employee-edit-grid-v2 input,
.employee-edit-grid-v2 select,
.employee-security-form-v2 input{
  width:100%;
  min-height:44px;
  border:1px solid #dfe6f0;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  padding:0 13px;
  box-sizing:border-box;
}
.employee-access-panel-v2{
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:18px;
  background:#f8fafc;
}
.employee-access-panel-title-v2{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:14px;
}
.employee-access-panel-title-v2 b{font-size:16px;color:#111827;}
.employee-access-panel-title-v2 span{font-size:12px;color:#64748b;font-weight:700;}
.employee-access-buttons-v2{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:10px;
  align-items:stretch;
}
.access-toggle-v2{
  cursor:pointer;
  min-height:78px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  box-sizing:border-box;
  transition:.16s ease;
}
.access-toggle-v2:hover{transform:translateY(-1px);border-color:#bfdbfe;box-shadow:0 10px 22px rgba(15,23,42,.07);}
.access-toggle-v2:has(>input:checked){background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #bfdbfe;}
.access-toggle-v2>input{position:absolute;opacity:0;pointer-events:none;}
.access-toggle-v2 strong{font-size:13px;line-height:18px;color:#0f172a;}
.access-toggle-v2:has(>input:checked) strong{color:#1d4ed8;}
.access-toggle-v2 small{display:flex;align-items:center;gap:7px;color:#64748b;font-size:12px;font-weight:800;}
.access-toggle-v2 small input{accent-color:#2563eb;width:15px;height:15px;}
.employee-admin-actions-center-v2{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  padding-top:4px;
}
.employee-admin-actions-center-v2 .ep-btn-v1{min-width:190px;}
.employee-security-center-v1{margin-bottom:20px!important;}
.employee-security-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:12px;
}
.employee-security-form-v2{
  border:1px solid #eef2f7;
  border-radius:18px;
  padding:14px;
  background:#fbfdff;
  display:grid;
  gap:10px;
  align-content:start;
}
.employee-security-form-v2 .ep-btn-v1{width:100%;}
.employee-admin-details-v1{display:none!important;}
@media(max-width:1280px){
  .employee-edit-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .employee-access-buttons-v2{grid-template-columns:repeat(3,minmax(0,1fr));}
  .employee-security-grid-v2{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .employee-edit-grid-v2,.employee-access-buttons-v2,.employee-security-grid-v2{grid-template-columns:1fr;}
  .employee-access-panel-title-v2{display:grid;}
  .employee-admin-actions-center-v2{display:grid;grid-template-columns:1fr;}
  .employee-admin-actions-center-v2 .ep-btn-v1{min-width:0;width:100%;}
}

/* PP-13B: Employee profile access split + finance breakdown */
.employee-profile-top-phone-v2{
  display:inline-flex;
  align-items:center;
  width:max-content;
  gap:7px;
  margin:0 0 10px;
  padding:7px 11px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
  font-size:13px;
  font-weight:800;
}
.employee-access-stack-v2{display:grid;gap:16px;}
.current-access-v2{background:#fff!important;border-color:#dbeafe!important;}
.add-access-v2{background:#f8fafc!important;}
.employee-access-buttons-v2.current{grid-template-columns:repeat(3,minmax(180px,1fr));}
.employee-access-buttons-v2.add{grid-template-columns:repeat(4,minmax(160px,1fr));}
.access-current-v2{background:#eff6ff!important;border-color:#bfdbfe!important;box-shadow:inset 0 0 0 1px #dbeafe;}
.access-add-v2{background:#fff;}
.access-toggle-v2 em{
  display:inline-flex;
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.employee-access-hint-v2,.employee-access-empty-v2{margin:12px 0 0;color:#64748b;font-size:12px;font-weight:700;}
.employee-market-filter-v2{display:grid;gap:6px;color:#64748b;font-size:12px;font-weight:900;min-width:180px;}
.employee-market-filter-v2 select{height:42px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;color:#0f172a;padding:0 12px;font-weight:800;}
.employee-finance-breakdown-v2{gap:10px!important;}
.employee-finance-breakdown-v2 .main{border-color:#bbf7d0!important;background:#f0fdf4!important;}
.employee-finance-breakdown-v2 .cash{border-left:3px solid #2563eb!important;background:#eff6ff!important;}
.employee-finance-breakdown-v2 .cash b{color:#2563eb!important;}
.employee-finance-breakdown-v2 .cash span{color:#1d4ed8!important;}
@media(max-width:1280px){.employee-access-buttons-v2.current,.employee-access-buttons-v2.add{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px){.employee-access-buttons-v2.current,.employee-access-buttons-v2.add{grid-template-columns:1fr}.employee-market-filter-v2{min-width:0;width:100%;}.employee-profile-top-phone-v2{width:100%;box-sizing:border-box;}}

/* PP-13C: Employee access management UX — separate primary PVZ and extra access */
.employee-access-stack-v3{display:grid;gap:16px;margin-top:16px;}
.employee-access-toolbar-v3{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:18px;border:1px solid #e5e7eb;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);}
.employee-access-toolbar-v3 h3{margin:0 0 5px;color:#0f172a;font-size:18px;line-height:24px;font-weight:760;letter-spacing:-.02em;}
.employee-access-toolbar-v3 p{margin:0;color:#64748b;font-size:13px;line-height:19px;font-weight:650;}
.primary-pvz-v3{background:#fff!important;border-color:#e5e7eb!important;}
.extra-access-v3{background:#fbfdff!important;border-color:#e5e7eb!important;}
.employee-access-choice-grid-v3{display:grid;gap:10px;align-items:stretch;}
.employee-access-choice-grid-v3.primary{grid-template-columns:repeat(3,minmax(180px,1fr));}
.employee-access-choice-grid-v3.extra{grid-template-columns:repeat(4,minmax(160px,1fr));}
.access-choice-v3{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:12px 13px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;box-sizing:border-box;}
.access-choice-v3:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 10px 22px rgba(15,23,42,.06);}
.access-choice-v3 input{position:absolute;opacity:0;pointer-events:none;}
.access-choice-v3 strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:13px;line-height:18px;font-weight:760;}
.access-choice-v3 em{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.04em;}
.access-control-v3{width:18px;height:18px;border:2px solid #cbd5e1;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;}
.access-control-v3.radio{border-radius:999px;}
.access-control-v3.check{border-radius:6px;}
.access-choice-v3:has(input:checked){border-color:#86efac;background:#f0fdf4;box-shadow:inset 0 0 0 1px #bbf7d0;}
.access-choice-v3:has(input:checked) strong{color:#166534;}
.access-choice-v3:has(input:checked) .access-control-v3{border-color:#16a34a;background:#16a34a;}
.access-choice-v3:has(input:checked) .access-control-v3.radio:after{content:'';width:7px;height:7px;border-radius:999px;background:#fff;}
.access-choice-v3:has(input:checked) .access-control-v3.check:after{content:'✓';color:#fff;font-size:12px;font-weight:900;line-height:1;}
.primary-choice-v3:has(input:checked){border-color:#f59e0b;background:#fffbeb;box-shadow:inset 0 0 0 1px #fde68a;}
.primary-choice-v3:has(input:checked) strong{color:#92400e;}
.primary-choice-v3:has(input:checked) .access-control-v3{border-color:#d97706;background:#d97706;}
.access-choice-v3.neutral:has(input:checked){border-color:#cbd5e1;background:#f8fafc;box-shadow:inset 0 0 0 1px #e2e8f0;}
.access-choice-v3.neutral:has(input:checked) strong{color:#334155;}
.access-choice-v3.neutral:has(input:checked) .access-control-v3{border-color:#64748b;background:#64748b;}
.employee-drawer-phone-v3{display:inline-flex!important;align-items:center;gap:6px;width:max-content;margin-top:6px!important;padding:6px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#334155!important;font-size:13px!important;font-weight:800!important;}
@media(max-width:1280px){.employee-access-toolbar-v3{display:grid}.employee-access-choice-grid-v3.primary,.employee-access-choice-grid-v3.extra{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px){.employee-access-choice-grid-v3.primary,.employee-access-choice-grid-v3.extra{grid-template-columns:1fr}.employee-access-toolbar-v3{padding:14px}}

/* PP-13D — unified employee sidebar + clickable top blocks */
.pp-shell .employee-profile-shell-v1{
  margin-left:0!important;
  width:100%!important;
  max-width:1680px!important;
}
.employees-kpi-filter-v1{
  display:block;
  width:100%;
  text-align:left;
  border:1px solid #E5E7EB;
  cursor:pointer;
  font:inherit;
}
.employees-kpi-filter-v1:hover,
.employee-profile-kpi-link-v1:hover{
  transform:translateY(-2px);
  border-color:#BFDBFE!important;
  box-shadow:0 16px 34px rgba(15,23,42,.07)!important;
}
.employees-kpi-filter-v1.is-active{
  outline:2px solid rgba(37,99,235,.18);
  background:linear-gradient(180deg,#fff 0%,#F8FBFF 100%);
}
.employee-profile-kpi-link-v1{
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.employee-profile-kpi-link-v1:focus,
.employees-kpi-filter-v1:focus{
  outline:2px solid rgba(37,99,235,.28);
  outline-offset:2px;
}

/* PP-13E — Employee profile navigation fix */
.employee-table-actions-v1{display:flex;gap:8px;align-items:center;justify-content:flex-end;white-space:nowrap}
.employee-table-actions-v1 .employees-btn-v1{padding:9px 12px;font-size:12px;min-height:34px}
.employee-actions-v1 .employees-btn-v1.primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* PP-14A — Schedule workspace design alignment */
body:has(.app-sidebar){background:#F4F7FB!important;color:#0F172A!important;}
.app-sidebar{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-right:1px solid #E5E7EB!important;
  box-shadow:10px 0 30px rgba(15,23,42,.05)!important;
}
.logo-mark{background:#EEF2FF!important;color:#4F46E5!important;box-shadow:none!important;}
.app-logo small,.sidebar-user small{color:#64748B!important;}
.role-pill{background:#F8FAFC!important;border-color:#E2E8F0!important;color:#0F172A!important;}
.role-pill i{color:#64748B!important;}
.side-nav a,.side-nav-toggle{
  color:#334155!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.side-nav a:hover,.side-nav a.active,.side-nav-group.active>.side-nav-toggle,.side-nav-toggle:hover{
  background:#F1F5F9!important;
  color:#111827!important;
}
.side-subnav a.active,.side-subnav a:hover{background:#EEF2FF!important;color:#3730A3!important;}
.mini-avatar{background:#EEF2FF!important;color:#3730A3!important;}
.collapse-btn{color:#334155!important;border-color:#E2E8F0!important;background:#FFFFFF!important;}

.schedule-workspace-page-v1 .schedule-page-header-v1{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:20px!important;
}
.schedule-header-actions-v1{display:flex!important;gap:10px!important;align-items:center!important;}
.schedule-layout-standard-v1{grid-template-columns:260px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;}
.schedule-layout-standard-v1 .schedule-side-v44{
  background:#FFFFFF!important;
  border:1px solid #E5E7EB!important;
  border-radius:24px!important;
  box-shadow:0 16px 40px rgba(15,23,42,.055)!important;
}
.schedule-layout-standard-v1 .schedule-side-v44 h3{color:#0F172A!important;font-size:18px!important;font-weight:900!important;}
.schedule-layout-standard-v1 .schedule-side-v44 a{min-height:46px!important;color:#334155!important;}
.schedule-layout-standard-v1 .schedule-side-v44 a.active,
.schedule-layout-standard-v1 .schedule-side-v44 a:hover{background:#EEF2FF!important;color:#3730A3!important;}
.schedule-layout-standard-v1 .module-note{margin-top:32px!important;background:#F8FAFC!important;border:1px solid #E5E7EB!important;color:#64748B!important;}
.schedule-v44{border-radius:28px!important;padding:24px!important;background:#FFFFFF!important;}
.schedule-v44-hero{
  padding:22px!important;
  border:1px solid #E5E7EB!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%)!important;
  margin-bottom:16px!important;
}
.schedule-v44-hero h2{font-size:28px!important;font-weight:900!important;color:#0F172A!important;}
.schedule-quick-view-v1{
  min-width:190px!important;
  padding:13px 16px!important;
  border:1px solid #DBEAFE!important;
  border-radius:18px!important;
  background:#EFF6FF!important;
  color:#1E3A8A!important;
  display:grid!important;
  gap:4px!important;
  align-content:center!important;
}
.schedule-quick-view-v1 span{font-size:12px!important;font-weight:800!important;color:#64748B!important;}
.schedule-quick-view-v1 b{font-size:18px!important;}
.schedule-plan-fact-tabs{
  background:#F8FAFC!important;
  border:1px solid #E5E7EB!important;
  border-radius:18px!important;
  padding:6px!important;
  display:flex!important;
  gap:6px!important;
  margin-bottom:14px!important;
}
.schedule-plan-fact-tabs a{
  flex:1!important;
  min-height:44px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  color:#334155!important;
  font-weight:900!important;
}
.schedule-plan-fact-tabs a.active{background:#FFFFFF!important;color:#1D4ED8!important;box-shadow:0 8px 20px rgba(15,23,42,.07)!important;}
.schedule-v44-filter{
  background:#FFFFFF!important;
  border:1px solid #E5E7EB!important;
  border-radius:22px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.04)!important;
}
.schedule-v44-kpi{grid-template-columns:repeat(6,minmax(145px,1fr))!important;}
.schedule-kpi-card{
  min-height:118px!important;
  border-radius:22px!important;
  background:#FFFFFF!important;
  border:1px solid #E5E7EB!important;
  box-shadow:0 10px 26px rgba(15,23,42,.045)!important;
  position:relative!important;
  overflow:hidden!important;
}
.schedule-kpi-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:#2563EB;opacity:.9;}
.schedule-kpi-card.warn:before{background:#D97706;}.schedule-kpi-card.danger:before{background:#DC2626;}.schedule-kpi-card.pending:before{background:#2563EB;}.schedule-kpi-card.violet:before{background:#7C3AED;}
.schedule-kpi-card:hover{transform:translateY(-2px)!important;border-color:#BFDBFE!important;box-shadow:0 18px 38px rgba(15,23,42,.08)!important;}
.schedule-kpi-card.active{outline:2px solid rgba(37,99,235,.22)!important;background:#F8FBFF!important;}
.schedule-kpi-card b{font-size:30px!important;font-weight:900!important;}
.schedule-v44-controlbar{padding:4px 2px 12px!important;}
.schedule-v44-controlbar h3{font-weight:900!important;letter-spacing:-.02em!important;}
.schedule-v44-workspace{grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important;}
.schedule-v44-scroll{border:1px solid #E5E7EB!important;box-shadow:0 12px 28px rgba(15,23,42,.04)!important;}
.schedule-v44-table th{background:#F8FAFC!important;color:#334155!important;}
.schedule-v44-table .sticky-col{background:#FFFFFF!important;}
.schedule-day-cell{cursor:pointer!important;transition:background .14s ease, box-shadow .14s ease, transform .14s ease!important;}
.schedule-day-cell:hover{box-shadow:inset 0 0 0 2px #BFDBFE!important;background:#F8FBFF!important;}
.schedule-day-drawer{
  border:1px solid #E5E7EB!important;
  border-radius:24px!important;
  background:#FFFFFF!important;
  box-shadow:0 16px 40px rgba(15,23,42,.055)!important;
}
.schedule-day-drawer .drawer-empty{background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%)!important;border-radius:24px!important;}
.enterprise-add-shift{border-radius:24px!important;border:1px solid #E5E7EB!important;box-shadow:0 14px 34px rgba(15,23,42,.055)!important;}
.schedule-cell-hidden-v1{opacity:.2!important;}
@media(max-width:1500px){.schedule-v44-kpi{grid-template-columns:repeat(3,minmax(0,1fr))!important}.schedule-v44-workspace{grid-template-columns:1fr!important}.schedule-layout-standard-v1{grid-template-columns:1fr!important}.schedule-layout-standard-v1 .schedule-side-v44{position:static!important;min-height:auto!important}.schedule-layout-standard-v1 .module-note{margin-top:12px!important}}
@media(max-width:900px){.schedule-workspace-page-v1 .schedule-page-header-v1{display:grid!important}.schedule-header-actions-v1{display:grid!important}.schedule-plan-fact-tabs{display:grid!important}.schedule-v44-kpi,.schedule-v44-filter{grid-template-columns:1fr!important}}


/* PP-14B — Schedule Layout Cleanup: remove inner left module and use top tabs */
.schedule-main-single.schedule-layout-clean-v2{
  display:block;
  width:100%;
  max-width:none;
}
.schedule-main-content-clean-v2{
  display:block;
  width:100%;
  min-width:0;
}
.schedule-top-tabs-clean-v2{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 18px;
  padding:12px;
  background:#fff;
  border:1px solid var(--border,#e5e7eb);
  border-radius:20px;
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.schedule-top-tabs-clean-v2 a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:9px 14px;
  border-radius:12px;
  color:#475569;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  border:1px solid transparent;
  background:#f8fafc;
}
.schedule-top-tabs-clean-v2 a:hover{
  color:#0f172a;
  background:#eef4ff;
  border-color:#dbeafe;
}
.schedule-top-tabs-clean-v2 a.active{
  color:#1d4ed8;
  background:#eff6ff;
  border-color:#bfdbfe;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.08);
}
.schedule-workspace-page-v1 .schedule-layout-standard-v1,
.schedule-workspace-page-v1 .module-layout{
  grid-template-columns:1fr !important;
}
.schedule-workspace-page-v1 .schedule-side,
.schedule-workspace-page-v1 .module-side.schedule-side{
  display:none !important;
}
.schedule-workspace-page-v1 .schedule-enterprise-calendar,
.schedule-workspace-page-v1 .schedule-dashboard-v35,
.schedule-main-content-clean-v2 > .panel{
  margin-top:0;
}
.schedule-workspace-page-v1 .schedule-v44-workspace{
  align-items:start;
}
@media (max-width: 900px){
  .schedule-top-tabs-clean-v2{gap:8px;padding:10px;border-radius:16px;}
  .schedule-top-tabs-clean-v2 a{flex:1 1 140px;justify-content:center;}
}

/* PP-14C — Enterprise Calendar UX */
.schedule-v44-table td.schedule-day-cell{position:relative;min-width:150px;vertical-align:top;transition:background .16s ease, box-shadow .16s ease, transform .16s ease;}
.schedule-v44-table td.schedule-day-cell:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:12px 12px 0 0;background:#16a34a;opacity:.95;}
.schedule-v44-table td.schedule-day-cell.empty:before{background:#f59e0b;}
.schedule-v44-table td.schedule-day-cell.conflict:before{background:#dc2626;}
.schedule-v44-table td.schedule-day-cell.pending-cell:before{background:#2563eb;}
.schedule-v44-table td.schedule-day-cell:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.08);z-index:4;}
.day-coverage-card{margin:8px 0 8px;padding:8px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;display:grid;gap:7px;}
.day-coverage-bar{height:7px;border-radius:999px;background:#eef2f7;overflow:hidden;}
.day-coverage-bar i{display:block;width:var(--coverage,0%);height:100%;border-radius:999px;background:#16a34a;}
.schedule-day-cell.empty .day-coverage-bar i{background:#f59e0b;}
.schedule-day-cell.conflict .day-coverage-bar i{background:#dc2626;}
.schedule-day-cell.pending-cell .day-coverage-bar i{background:#2563eb;}
.day-coverage-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#64748b;}
.day-coverage-meta b{font-size:13px;color:#111827;font-weight:750;}
.day-state-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;line-height:1;color:#64748b;}
.day-state-row span{padding:4px 6px;border-radius:999px;background:#f8fafc;border:1px solid #eef2f7;}
.enterprise-day-shifts-v3{max-height:74px;overflow:auto;padding-right:2px;}
.compact-empty-day-v3{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.day-hover-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:6px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease, transform .16s ease;}
.schedule-day-cell:hover .day-hover-actions{opacity:1;transform:translateY(0);pointer-events:auto;}
.day-hover-actions button{width:28px;height:28px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;box-shadow:0 8px 18px rgba(15,23,42,.10);cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;}
.day-hover-actions button:hover{background:#f1f5f9;border-color:#cbd5e1;}
.day-card-head{padding-top:4px;}
.schedule-v44-table th{position:sticky;top:0;z-index:5;background:#fff;}
@media (max-width: 1100px){.schedule-v44-table td.schedule-day-cell{min-width:132px}.day-state-row{gap:4px}.day-state-row span{font-size:10px;padding:3px 5px}}

/* PP-14D — Sidebar Alignment & Navigation Standard
   Fix schedule submenu alignment in the approved light sidebar.
   UI-only: no routes, API, DB or business logic changes. */
.app-sidebar .side-nav-group.schedule-nav-group,
.app-sidebar .side-nav-group.finance-nav-group{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:6px!important;
}
.app-sidebar .side-nav-group.schedule-nav-group>.side-nav-toggle,
.app-sidebar .side-nav-group.finance-nav-group>.side-nav-toggle{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0 14px!important;
  margin:0!important;
  border-radius:13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  color:#334155!important;
  background:transparent!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:left!important;
  box-shadow:none!important;
  transform:none!important;
}
.app-sidebar .side-nav-group.schedule-nav-group.active>.side-nav-toggle,
.app-sidebar .side-nav-group.finance-nav-group.active>.side-nav-toggle,
.app-sidebar .side-nav-group.schedule-nav-group>.side-nav-toggle:hover,
.app-sidebar .side-nav-group.finance-nav-group>.side-nav-toggle:hover{
  background:#F1F5F9!important;
  color:#111827!important;
  box-shadow:none!important;
}
.app-sidebar .side-nav-group.schedule-nav-group.active>.side-nav-toggle:before,
.app-sidebar .side-nav-group.finance-nav-group.active>.side-nav-toggle:before{
  background:#2563EB!important;
}
.app-sidebar .side-nav-group.schedule-nav-group>.side-nav-toggle i,
.app-sidebar .side-nav-group.finance-nav-group>.side-nav-toggle i{
  margin-left:auto!important;
  color:#64748B!important;
  opacity:1!important;
}
.app-sidebar .side-nav-group.schedule-nav-group .side-subnav,
.app-sidebar .side-nav-group.finance-nav-group .side-subnav{
  margin:2px 0 4px 0!important;
  padding:0!important;
  border-left:0!important;
  display:none;
  flex-direction:column!important;
  gap:4px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.app-sidebar .side-nav-group.schedule-nav-group.open .side-subnav,
.app-sidebar .side-nav-group.finance-nav-group.open .side-subnav{
  display:flex!important;
}
.app-sidebar .side-nav-group.schedule-nav-group .side-subnav a,
.app-sidebar .side-nav-group.finance-nav-group .side-subnav a{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0 14px 0 28px!important;
  margin:0!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  color:#475569!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  transform:none!important;
  text-decoration:none!important;
}
.app-sidebar .side-nav-group.schedule-nav-group .side-subnav a.active,
.app-sidebar .side-nav-group.finance-nav-group .side-subnav a.active,
.app-sidebar .side-nav-group.schedule-nav-group .side-subnav a:hover,
.app-sidebar .side-nav-group.finance-nav-group .side-subnav a:hover{
  background:#EEF2FF!important;
  color:#1D4ED8!important;
}
.sidebar-collapsed .app-sidebar .side-subnav{display:none!important;}

/* PP-14E — Schedule Problem Control Panel
   UI-only enhancement: problem mode, smarter day drawer, legend/control focus. */
.schedule-problem-panel-v1{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:18px;
  align-items:center;
  margin:18px 0 16px;
  padding:18px 20px;
  border:1px solid #dbe5f1;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.problem-panel-main-v1 h3{margin:4px 0 6px;font-size:20px;line-height:1.15;color:#0f172a;font-weight:850;}
.problem-panel-main-v1 p{margin:0;color:#64748b;font-size:14px;line-height:1.35;max-width:760px;}
.problem-panel-actions-v1{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.problem-action{
  min-width:126px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:12px 14px;
  background:#fff;
  color:#0f172a;
  display:grid;
  gap:4px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
}
.problem-action b{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.03em;}
.problem-action span{font-size:12px;color:#64748b;font-weight:800;}
.problem-action:hover,.problem-action.active{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,23,42,.08);border-color:#bfdbfe;background:#eff6ff;}
.problem-action.danger b{color:#dc2626;}.problem-action.warn b{color:#d97706;}.problem-action.pending b{color:#2563eb;}
.day-drawer-summary-v1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;}
.day-drawer-summary-v1 div{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:10px 12px;display:grid;gap:3px;}
.day-drawer-summary-v1 span{font-size:11px;color:#64748b;font-weight:800;}
.day-drawer-summary-v1 b{font-size:18px;color:#0f172a;font-weight:900;}
.problem-drawer-block-v1{border-left:4px solid #f59e0b!important;background:#fffbeb!important;}
.problem-drawer-block-v1.blue{border-left-color:#2563eb!important;background:#eff6ff!important;}
.problem-drawer-block-v1.red{border-left-color:#dc2626!important;background:#fef2f2!important;}
.problem-drawer-block-v1 p{margin:6px 0 10px;color:#475569;}
.problem-focus-pulse{animation:problemPulseV1 1.25s ease-in-out 1;}
@keyframes problemPulseV1{0%,100%{box-shadow:0 0 0 rgba(37,99,235,0)}35%{box-shadow:0 0 0 5px rgba(37,99,235,.22),0 16px 34px rgba(15,23,42,.15)}}
@media(max-width:1100px){.schedule-problem-panel-v1{grid-template-columns:1fr}.problem-panel-actions-v1{justify-content:flex-start}.problem-action{flex:1 1 140px}.day-drawer-summary-v1{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* PP-14F — Schedule Final Polish
   UI-only: cleaner calendar modes, stronger legend, smarter day drawer, no API/DB/route changes. */
.schedule-final-controlbar-v1{
  align-items:center!important;
  padding:12px 14px!important;
  border:1px solid #e6edf6!important;
  border-radius:18px!important;
  background:#fff!important;
  margin:14px 0 12px!important;
}
.schedule-view-switch-v1{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid #dbe5f1!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  flex:0 0 auto!important;
}
.schedule-view-switch-v1 button{
  border:0!important;
  background:transparent!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:9px 12px!important;
  border-radius:11px!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.schedule-view-switch-v1 button.active{
  background:#fff!important;
  color:#1d4ed8!important;
  box-shadow:0 6px 14px rgba(15,23,42,.08)!important;
}
.schedule-final-legend-v1{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:0 0 14px!important;
  padding:10px 12px!important;
  border:1px solid #e6edf6!important;
  border-radius:16px!important;
  background:#f8fafc!important;
}
.schedule-final-legend-v1 span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #e6edf6!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:850!important;
}
.schedule-view-compact .schedule-problem-panel-v1{
  grid-template-columns:minmax(220px,1fr) auto!important;
  padding:14px 16px!important;
  margin:12px 0 14px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
.schedule-view-compact .problem-panel-main-v1 p{font-size:13px!important;max-width:620px!important;}
.schedule-view-compact .problem-action{min-width:112px!important;padding:10px 12px!important;border-radius:14px!important;}
.schedule-view-compact .problem-action b{font-size:19px!important;}
.schedule-view-compact .schedule-v44-table td.schedule-day-cell{
  height:116px!important;
  max-height:116px!important;
  min-width:142px!important;
  width:142px!important;
  padding:8px!important;
}
.schedule-view-compact .day-card-head{margin-bottom:5px!important;}
.schedule-view-compact .day-card-head span{font-size:12px!important;}
.schedule-view-compact .day-card-head em{font-size:9px!important;padding:3px 6px!important;}
.schedule-view-compact .day-coverage-card{
  margin:6px 0!important;
  padding:7px!important;
  gap:5px!important;
  border-radius:11px!important;
}
.schedule-view-compact .day-coverage-bar{height:6px!important;}
.schedule-view-compact .day-coverage-meta b{font-size:12px!important;}
.schedule-view-compact .day-coverage-meta span{font-size:11px!important;}
.schedule-view-compact .day-state-row{display:none!important;}
.schedule-view-compact .enterprise-day-shifts-v3{
  max-height:28px!important;
  overflow:hidden!important;
}
.schedule-view-compact .enterprise-day-shifts-v3 .shift-pill:nth-child(n+2){display:none!important;}
.schedule-view-compact .shift-pill{
  padding:5px 6px!important;
  border-radius:9px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  box-shadow:none!important;
}
.schedule-view-compact .shift-pill span{-webkit-line-clamp:1!important;}
.schedule-view-detail .schedule-v44-table td.schedule-day-cell{
  height:168px!important;
  max-height:168px!important;
  min-width:168px!important;
  width:168px!important;
}
.schedule-view-detail .enterprise-day-shifts-v3{max-height:86px!important;}
.schedule-view-detail .day-state-row{display:flex!important;}
.schedule-view-load .schedule-v44-table td.schedule-day-cell{
  height:96px!important;
  max-height:96px!important;
  min-width:126px!important;
  width:126px!important;
  text-align:center!important;
  overflow:hidden!important;
}
.schedule-view-load .day-card-head{
  justify-content:center!important;
  margin:0 0 8px!important;
}
.schedule-view-load .day-card-head em,
.schedule-view-load .day-state-row,
.schedule-view-load .day-shifts,
.schedule-view-load .empty-day-card,
.schedule-view-load .day-hover-actions{display:none!important;}
.schedule-view-load .day-coverage-card{
  border:0!important;
  background:transparent!important;
  padding:4px!important;
  margin:0!important;
  gap:8px!important;
}
.schedule-view-load .day-coverage-bar{
  height:34px!important;
  border-radius:13px!important;
  background:#fff7ed!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)!important;
}
.schedule-view-load .day-coverage-bar i{background:linear-gradient(90deg,#fbbf24,#22c55e)!important;}
.schedule-view-load .schedule-day-cell.conflict .day-coverage-bar{background:#fee2e2!important;}
.schedule-view-load .schedule-day-cell.pending-cell .day-coverage-bar{background:#dbeafe!important;}
.schedule-view-load .day-coverage-meta{justify-content:center!important;display:grid!important;gap:1px!important;}
.schedule-view-load .day-coverage-meta b{font-size:13px!important;}
.schedule-view-load .day-coverage-meta span{font-size:11px!important;color:#64748b!important;}
.smart-day-drawer-v1{
  gap:12px!important;
}
.smart-day-drawer-v1 .drawer-top{
  padding:4px 2px 10px!important;
  border-bottom:1px solid #e6edf6!important;
}
.smart-day-drawer-v1 .drawer-top h3{font-size:22px!important;letter-spacing:-.02em!important;}
.day-drawer-summary-v1{
  margin:4px 0 2px!important;
  gap:7px!important;
}
.day-drawer-summary-v1 div{
  padding:9px 10px!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 6px 14px rgba(15,23,42,.035)!important;
}
.day-drawer-summary-v1 b{font-size:17px!important;}
.day-drawer-section-v1{
  padding:12px!important;
  border-radius:15px!important;
}
.day-drawer-section-v1 > b{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  font-size:14px!important;
}
.shift-history-list div{
  position:relative!important;
  padding-left:18px!important;
}
.shift-history-list div:before{
  content:"";
  position:absolute;
  left:8px;
  top:13px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#2563eb;
}
.schedule-cell-hidden-v1{opacity:.18!important;filter:grayscale(.35)!important;}
@media(max-width:1100px){
  .schedule-final-controlbar-v1{display:grid!important;gap:12px!important;}
  .schedule-view-switch-v1{width:100%!important;overflow:auto!important;}
  .schedule-view-switch-v1 button{flex:1 0 auto!important;}
}

/* PP-14G — Schedule Fact Live Visibility */
.schedule-live-fact-panel.pp14g-live-panel{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;margin:14px 0;border:1px solid var(--border,#e5e7eb);
  border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.schedule-live-fact-panel h3{margin:2px 0 4px;font-size:16px;color:#0f172a;}
.schedule-live-fact-panel p{margin:0;font-size:13px;max-width:620px;}
.live-fact-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:1;}
.live-fact-chip{display:flex;flex-direction:column;gap:2px;min-width:150px;padding:9px 11px;border-radius:13px;text-decoration:none;background:#f8fafc;border:1px solid #dbeafe;color:#0f172a;}
.live-fact-chip b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.live-fact-chip span{font-size:12px;color:#2563eb;}
.live-fact-empty{font-size:13px;color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;}
@media (max-width: 1100px){.schedule-live-fact-panel.pp14g-live-panel{align-items:stretch;flex-direction:column}.live-fact-list{justify-content:flex-start}}

/* PP-14G — Schedule Fact Live Visibility */
.schedule-live-fact-panel.pp14g-live-panel{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;margin:14px 0;border:1px solid var(--border,#e5e7eb);
  border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.schedule-live-fact-panel h3{margin:2px 0 4px;font-size:16px;color:#0f172a;}
.schedule-live-fact-panel p{margin:0;font-size:13px;max-width:620px;}
.live-fact-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:1;}
.live-fact-chip{display:flex;flex-direction:column;gap:2px;min-width:150px;padding:9px 11px;border-radius:13px;text-decoration:none;background:#f8fafc;border:1px solid #dbeafe;color:#0f172a;}
.live-fact-chip b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.live-fact-chip span{font-size:12px;color:#2563eb;}
.live-fact-empty{font-size:13px;color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;}
@media (max-width: 1100px){.schedule-live-fact-panel.pp14g-live-panel{align-items:stretch;flex-direction:column}.live-fact-list{justify-content:flex-start}}

/* PP-15A — Enterprise Calendar Framework */
.enterprise-calendar-component{border:1px solid #e5edf7;border-radius:22px;background:#fff;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.055);}
.enterprise-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px;}
.enterprise-calendar-head h3{margin:0 0 5px;font-size:22px;letter-spacing:-.02em;color:#0f172a;}
.enterprise-calendar-head .muted{margin:0;color:#64748b;font-size:13px;}
.enterprise-calendar-legend{justify-content:flex-end;max-width:620px;}
.enterprise-calendar-modebar{display:flex;gap:6px;margin:8px 0 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:4px;width:max-content;}
.enterprise-calendar-modebar span{font-size:12px;font-weight:900;color:#64748b;padding:7px 12px;border-radius:10px;}
.enterprise-calendar-modebar span.active{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.08);}
.enterprise-calendar-shell-v2{border:1px solid #dbe5f1;border-radius:18px;overflow:auto;max-height:72vh;background:#fff;}
.enterprise-calendar-table-v2{border-spacing:0!important;font-size:12px!important;}
.enterprise-calendar-table-v2 th{background:#f8fafc!important;color:#334155!important;font-weight:950!important;}
.enterprise-calendar-table-v2 .sticky-col{background:#fff!important;border-right:1px solid #dbe5f1!important;}
.enterprise-calendar-table-v2 .pvz-name{min-width:190px!important;}
.enterprise-calendar-table-v2 .pvz-name b{display:block;color:#0f172a;font-size:14px;line-height:1.2;}
.enterprise-calendar-table-v2 .pvz-name small{display:block;margin-top:4px;color:#64748b;font-weight:800;}
.enterprise-calendar-cell{position:relative;min-width:122px!important;width:122px!important;height:104px!important;padding:8px!important;background:#fff!important;transition:.14s ease;}
.enterprise-calendar-cell:hover{box-shadow:inset 0 0 0 2px #bfdbfe!important;}
.enterprise-cell-strip{position:absolute;left:0;top:0;right:0;height:4px;background:#cbd5e1;border-radius:8px 8px 0 0;}
.enterprise-cell-strip.approved{background:#22c55e}.enterprise-cell-strip.pending{background:#3b82f6}.enterprise-cell-strip.corrected{background:#06b6d4}.enterprise-cell-strip.rejected{background:#f97316}.enterprise-cell-strip.empty{background:#ef4444}.enterprise-cell-strip.conflict{background:#dc2626}
.enterprise-calendar-cell.approved{background:#f8fff9!important}.enterprise-calendar-cell.pending{background:#eff6ff!important}.enterprise-calendar-cell.corrected{background:#ecfeff!important}.enterprise-calendar-cell.rejected{background:#fff7ed!important}.enterprise-calendar-cell.empty{background:#fff1f2!important;color:#9f1239!important}.enterprise-calendar-cell.conflict{background:#fff1f2!important;outline:3px solid #fb7185!important;}
.cell-day-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;}
.cell-day-row b{font-size:14px;color:#0f172a;}.cell-day-row small{font-size:10px;color:#64748b;font-weight:900;}
.enterprise-calendar-shift-card{display:block!important;background:#fff!important;border:1px solid #dbe5f1!important;border-radius:11px!important;padding:6px!important;margin:0 0 5px!important;box-shadow:0 4px 9px rgba(15,23,42,.035)!important;line-height:1.15!important;}
.enterprise-calendar-shift-card span{display:block;font-weight:900;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.enterprise-calendar-shift-card small{display:block;margin-top:2px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.enterprise-more,.enterprise-empty-label{display:block;margin-top:4px;font-size:11px;font-weight:900;color:#64748b;}
@media(max-width:900px){.enterprise-calendar-head{flex-direction:column}.enterprise-calendar-cell{min-width:104px!important;width:104px!important}.enterprise-calendar-table-v2 .pvz-name{min-width:140px!important}}

/* PP-16B — Enterprise Shift Opening */
.pp16b-action-stack{display:grid!important;gap:12px!important;align-self:stretch!important;align-content:center!important;}
.pp16b-open-card{background:#ffffff;border:1px solid #dbeafe;border-radius:18px;padding:16px 16px 14px;box-shadow:0 12px 24px rgba(15,23,42,.06);display:grid;gap:9px;color:#0f172a;}
.pp16b-open-card.success{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#fff)}
.pp16b-open-title{font-size:15px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;color:#2563eb;}
.pp16b-open-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eef2f7;padding-top:8px;}
.pp16b-open-line:first-of-type{border-top:0;padding-top:0;}
.pp16b-open-line span{font-size:12px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.pp16b-open-line b{font-size:14px;color:#111827;text-align:right;}
.pp16b-open-check{border-radius:999px;padding:8px 11px;font-weight:950;font-size:13px;width:max-content;}
.pp16b-open-check.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
.pp16b-open-check.warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a;}
.pp16b-open-card small{color:#64748b;font-weight:750;line-height:1.35;}
.pp16b-start{height:76px!important;font-size:21px!important;letter-spacing:.02em!important;}
@media(max-width:1260px){.pp16b-action-stack{grid-column:1/-1!important}.pp16b-open-card{max-width:none!important}}

/* PP-16.1 — Operator Dashboard UI Refresh, 09.07.2026 00:39
   Scope: UI only. No routes/API/DB/business logic changes. */
.pp16-operator-header{
  min-height:104px!important;
  height:auto!important;
  align-items:center!important;
  gap:24px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)!important;
}
.pp16-header-main{display:flex;flex-direction:column;gap:4px;min-width:260px;}
.pp16-header-kicker{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;}
.pp16-header-sub{font-size:14px;color:#64748b;font-weight:800;}
.pp16-header-meta{gap:12px!important;flex-wrap:wrap;justify-content:flex-end;}
.pp16-meta-card{display:block;min-width:142px;padding:12px 14px;border:1px solid #e2eaf6;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045);line-height:1.25;}
.pp16-meta-card b{font-size:15px;color:#0f172a;}
.pp16-meta-card.ok{background:#f0fdf4;border-color:#bbf7d0;}
.pp16-meta-card.idle{background:#f8fafc;border-color:#e2e8f0;}
.pp16-exit{min-height:44px;display:flex!important;align-items:center;justify-content:center;}
.pp16-shift-workbench{
  grid-template-columns:96px minmax(360px,1.6fr) 250px 330px!important;
  border-radius:24px!important;
  padding:30px 32px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.075)!important;
}
.pp16-shift-workbench.open{background:linear-gradient(135deg,#ecfdf5 0%,#ffffff 62%,#f8fbff 100%)!important;border-color:#bbf7d0!important;}
.pp16-shift-workbench.closed{background:linear-gradient(135deg,#fff7ed 0%,#ffffff 65%,#f8fbff 100%)!important;border-color:#fed7aa!important;}
.pp16-shift-workbench .op-briefcase-v130{width:76px!important;height:76px!important;font-size:36px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);}
.pp16-shift-workbench .op-shift-copy-v130 h2{font-size:30px!important;margin-bottom:8px!important;letter-spacing:-.035em;}
.pp16-shift-workbench .op-shift-copy-v130 p{font-size:16px!important;margin-bottom:12px!important;}
.pp16-shift-progress{height:10px;border-radius:999px;background:#e8eef7;overflow:hidden;margin-top:16px;max-width:480px;}
.pp16-shift-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#2563eb);transition:width .25s ease;}
.pp16-shift-progress-caption{margin-top:7px;color:#64748b;font-size:13px;font-weight:800;}
.pp16-shift-workbench .op-shift-time-v130{background:#fff;border:1px solid #e2eaf6;border-radius:18px;padding:18px 20px!important;border-left:1px solid #e2eaf6!important;box-shadow:0 10px 22px rgba(15,23,42,.045);}
.pp16-shift-workbench .op-shift-time-v130 b{font-size:38px!important;color:#0f172a!important;}
.pp16-shift-workbench .op-main-action-v130{height:76px!important;border-radius:18px!important;font-size:21px!important;letter-spacing:.01em;}
.pp16b-open-card{border-radius:18px!important;border-color:#e2eaf6!important;box-shadow:0 10px 22px rgba(15,23,42,.045);}
.op-today-strip-v130{border-radius:20px!important;box-shadow:0 12px 28px rgba(15,23,42,.055)!important;}
.op-today-strip-v130>div{min-height:74px;display:flex;flex-direction:column;justify-content:center;}
.op-card-grid-v130{align-items:stretch!important;}
.op-dash-card-v130{border-radius:22px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.op-dash-card-v130:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.075)!important;border-color:#cfe0ff!important;}
.op-dash-card-v130 button,.op-dash-card-v130 form button{font-size:15px!important;font-weight:950!important;}
@media(max-width:1260px){.pp16-shift-workbench{grid-template-columns:88px 1fr!important}.pp16-header-meta{justify-content:flex-start!important}.pp16-meta-card{min-width:130px}.pp16-shift-workbench .op-shift-time-v130{border-left:1px solid #e2eaf6!important}}
@media(max-width:820px){.pp16-operator-header{padding:18px!important}.pp16-header-meta{width:100%}.pp16-meta-card{width:100%;box-sizing:border-box}.pp16-shift-workbench{grid-template-columns:1fr!important;padding:22px!important}.pp16-shift-workbench .op-briefcase-v130{display:none}.pp16-shift-workbench .op-main-action-v130{height:66px!important}}

/* OP-01 — Operator top section refresh
   Date: 09.07.2026 01:08
   Scope: UI only. No API, DB, routes, services or business logic changes. */
.op01-top-card{
  min-height:94px!important;
  height:auto!important;
  border:1px solid #e5eaf3!important;
  border-radius:22px!important;
  margin:0 0 22px!important;
  padding:18px 22px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.055)!important;
}
.op01-person-card h1{
  font-size:28px!important;
  letter-spacing:-.035em!important;
  line-height:1.08!important;
}
.op01-header-meta{gap:10px!important;}
.op01-meta-card{
  min-width:128px!important;
  padding:11px 13px!important;
  border-radius:14px!important;
}
.op01-exit{border-radius:14px!important;min-width:86px!important;}
.op01-shift-card{
  grid-template-columns:86px minmax(380px,1.4fr) 230px 320px!important;
  min-height:188px!important;
  padding:26px 30px!important;
  border-radius:24px!important;
  margin-bottom:18px!important;
}
.op01-shift-card.open{
  background:linear-gradient(135deg,#ecfdf5 0%,#ffffff 62%,#f8fbff 100%)!important;
  border-color:#bbf7d0!important;
}
.op01-shift-card.closed{
  background:linear-gradient(135deg,#fff7ed 0%,#ffffff 62%,#f8fbff 100%)!important;
  border-color:#fed7aa!important;
}
.op01-shift-icon{
  width:72px!important;
  height:72px!important;
  font-size:34px!important;
  background:#fff!important;
  border:1px solid #e2eaf6!important;
  box-shadow:0 10px 22px rgba(15,23,42,.05)!important;
}
.op01-shift-label{
  color:#2563eb;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.op01-shift-copy h2{
  font-size:36px!important;
  margin:0 0 8px!important;
  letter-spacing:-.045em!important;
}
.op01-status-row{gap:12px!important;margin-top:10px!important;}
.op01-status-row span:not(.op-pill-v130){
  background:#fff;
  border:1px solid #e2eaf6;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:850;
}
.op01-progress{height:12px!important;max-width:560px!important;margin-top:18px!important;background:#e6edf7!important;}
.op01-progress-caption{font-size:14px!important;color:#475569!important;}
.op01-plan-card{
  padding:20px!important;
  border-radius:20px!important;
}
.op01-plan-card b{
  font-size:32px!important;
  color:#0f172a!important;
  letter-spacing:-.04em!important;
}
.op01-action-card .op-main-action-v130{
  min-height:82px!important;
  font-size:22px!important;
  border-radius:20px!important;
  text-transform:uppercase;
}
.op01-action-card .pp16b-open-card{
  border-radius:20px!important;
}
.op01-action-card .pp16b-open-title{
  color:#0f172a!important;
}
.op-today-strip-v130{
  border-radius:20px!important;
  box-shadow:0 12px 26px rgba(15,23,42,.045)!important;
}
.op-today-strip-v130>div{
  min-height:68px;
}
@media(max-width:1260px){
  .op01-shift-card{grid-template-columns:80px 1fr!important;}
  .op01-plan-card,.op01-action-card{grid-column:1/-1!important;}
}
@media(max-width:820px){
  .op01-top-card{border-radius:0!important;margin:0 -16px 18px!important;}
  .op01-shift-card{grid-template-columns:1fr!important;padding:22px!important;}
  .op01-shift-icon{display:none!important;}
  .op01-shift-copy h2{font-size:30px!important;}
  .op01-action-card .op-main-action-v130{min-height:70px!important;}
}

/* PP-14.5 Employee rating enterprise cards */

.employee-rating-grid-v1{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:18px;
}

.employee-rating-grid-v1 > div{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:6px;
    min-height:110px;
}

.employee-rating-grid-v1 span{
    font-size:13px;
    color:#64748b;
    font-weight:600;
}

.employee-rating-grid-v1 b{
    font-size:32px;
    line-height:1;
    color:#0f172a;
}

.employee-rating-grid-v1 small{
    font-size:13px;
    color:#475569;
}


/* общий рейтинг */
.employee-rating-grid-v1 > div:first-child{
    background:#f0fdf4;
    border-color:#bbf7d0;
}

.employee-rating-grid-v1 > div:first-child b{
    color:#16a34a;
}


/* KPI */
.employee-rating-grid-v1 > div:nth-child(2){
    background:#eff6ff;
    border-color:#bfdbfe;
}

.employee-rating-grid-v1 > div:nth-child(2) b{
    color:#2563eb;
}


/* дисциплина */
.employee-rating-grid-v1 > div:nth-child(3){
    background:#ecfdf5;
    border-color:#a7f3d0;
}

.employee-rating-grid-v1 > div:nth-child(3) b{
    color:#059669;
}


/* задачи */
.employee-rating-grid-v1 > div:nth-child(4){
    background:#faf5ff;
    border-color:#e9d5ff;
}

.employee-rating-grid-v1 > div:nth-child(4) b{
    color:#9333ea;
}


/* смены */
.employee-rating-grid-v1 > div:nth-child(5){
    background:#f8fafc;
}


/* зарплата */
.employee-rating-grid-v1 > div:nth-child(6){
    background:#fffbeb;
    border-color:#fde68a;
}

.employee-rating-grid-v1 > div:nth-child(6) b{
    color:#d97706;
}


@media(max-width:900px){

    .employee-rating-grid-v1{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:600px){

    .employee-rating-grid-v1{
        grid-template-columns:1fr;
    }

}


/* ===== Enterprise Sidebar ===== */

.side-nav-section-title{
    margin:18px 12px 8px;
    padding-bottom:6px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#8b95a7;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.pp-search{
    display:flex;
    align-items:center;
    gap:8px;
    margin:12px;
    padding:8px 10px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
}

.pp-search input{
    flex:1;
    border:none;
    background:transparent;
    color:#fff;
    outline:none;
    font-size:14px;
}

.pp-search kbd{
    font-size:11px;
    color:#9aa3b2;
}

/* ===== Enterprise Sidebar ===== */
.side-nav-section-title{
    margin:18px 12px 8px;
    padding-bottom:6px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#8b95a7;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.pp-search{
    display:flex;
    align-items:center;
    gap:8px;
    margin:12px;
    padding:8px 10px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
}

.pp-search input{
    flex:1;
    min-width:0;
    border:none;
    background:transparent;
    color:#fff;
    outline:none;
    font-size:14px;
}

.pp-search input::placeholder{
    color:#9aa3b2;
}

.pp-search kbd{
    flex-shrink:0;
    font-size:10px;
    color:#9aa3b2;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    border-radius:5px;
    padding:2px 4px;
}

/* UI-NAV-01 — shared Enterprise sidebar and first module migration: PVZ */
.pp-shell{
    grid-template-columns:248px minmax(0,1fr)!important;
}

.pp-sidebar-v2{
    width:248px!important;
    min-width:248px!important;
    max-width:248px!important;
}

body.pvz-enterprise-body .pp-shell > main.pp-main.ui-page,
body.pvz-enterprise-detail .pp-shell > main.pp-main.ui-page.main,
body.pvz-knowledge-enterprise .pp-shell > main.pp-main.ui-page{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    padding:28px 32px 40px!important;
}

body.pvz-knowledge-enterprise .pvz-knowledge-workspace{
    min-height:100vh;
}

@media(max-width:900px){
    .pp-shell{
        grid-template-columns:1fr!important;
    }

    .pp-sidebar-v2{
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        height:auto!important;
        position:static!important;
    }

    body.pvz-enterprise-body .pp-shell > main.pp-main.ui-page,
    body.pvz-enterprise-detail .pp-shell > main.pp-main.ui-page.main,
    body.pvz-knowledge-enterprise .pp-shell > main.pp-main.ui-page{
        padding:20px!important;
    }
}

/* UI-NAV-01A — keep the shared sidebar vertical-only */
.pp-sidebar-v2{
    overflow:hidden!important;
}

.pp-nav-v2{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
}

.pp-nav-v2 section,
.pp-user-v2{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}

/* UI-NAV-03 — shared Enterprise sidebar for planning pages */
body.planning-enterprise-body .planning-workspace-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:28px 32px 40px!important;
    box-sizing:border-box!important;
}

body.planning-enterprise-body .planning-workspace-v1 > .ui-page,
body.planning-enterprise-body .planning-workspace-v1 > .wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.planning-enterprise-body .planning-workspace-v1 > .wrap > h1{
    margin-top:0!important;
}

@media(max-width:900px){
    body.planning-enterprise-body .planning-workspace-v1{
        padding:20px!important;
    }
}

/* UI-NAV-04 — shared Enterprise sidebar for operations pages */
body.operations-enterprise-body .operations-workspace-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:28px 32px 40px!important;
    box-sizing:border-box!important;
}

body.operations-enterprise-body .operations-workspace-v1 > .wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.operations-enterprise-body .operations-workspace-v1 > .wrap > h1{
    margin-top:0!important;
}

@media(max-width:900px){
    body.operations-enterprise-body .operations-workspace-v1{
        padding:20px!important;
    }
}

/* UI-NAV-05 — shared Enterprise sidebar for finance and payroll pages */
body.finance-enterprise-body .finance-workspace-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:28px 32px 40px!important;
    box-sizing:border-box!important;
}

body.finance-enterprise-body .finance-workspace-v1 > .ui-page,
body.finance-enterprise-body .finance-workspace-v1 > .wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.finance-enterprise-body .payroll-main-v1{
    padding:0!important;
    overflow-x:hidden!important;
}

body.finance-enterprise-body .payroll-main-v1 .payroll-workspace{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

body.finance-enterprise-body .finance-expense-form-v1{
    grid-template-columns:repeat(3,minmax(180px,1fr))!important;
    margin-bottom:0!important;
}

@media(max-width:900px){
    body.finance-enterprise-body .finance-workspace-v1{
        padding:20px!important;
    }

    body.finance-enterprise-body .payroll-main-v1{
        padding:0!important;
    }

    body.finance-enterprise-body .finance-expense-form-v1{
        grid-template-columns:1fr!important;
    }
}

/* UI-NAV-06 — shared Enterprise sidebar for network analytics */
body.analytics-enterprise-body{
    background:#f4f7fb!important;
}

body.analytics-enterprise-body .analytics-workspace-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:28px 32px 40px!important;
    box-sizing:border-box!important;
}

body.analytics-enterprise-body .analytics-workspace-v1 > .wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

.analytics-page-head-v1{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.analytics-page-head-v1 h1{
    margin:5px 0 7px!important;
    font-size:34px!important;
    line-height:1.12;
    letter-spacing:-.035em;
    color:#101828;
}

.analytics-page-head-v1 p,
.analytics-section-head-v1 p{
    margin:0;
    color:#667085;
    line-height:1.45;
}

.analytics-eyebrow-v1{
    color:#2563eb;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.analytics-actions-v1{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.analytics-summary-grid-v1{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.analytics-summary-grid-v1--compact{
    grid-template-columns:repeat(3,minmax(210px,1fr));
}

.analytics-stat-card-v1{
    position:relative;
    overflow:hidden;
    min-height:132px;
    padding:20px;
    background:#fff;
    border:1px solid #e4eaf2;
    border-radius:22px;
    box-shadow:0 14px 38px rgba(15,23,42,.055);
}

.analytics-stat-card-v1:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:4px;
    background:#2563eb;
}

.analytics-stat-card-v1 span,
.analytics-stat-card-v1 small{
    display:block;
    color:#667085;
}

.analytics-stat-card-v1 span{
    font-size:13px;
    font-weight:700;
}

.analytics-stat-card-v1 b,
.analytics-stat-card-v1 strong{
    display:block;
    margin:8px 0 4px;
    color:#101828;
    font-size:30px;
    line-height:1.05;
    overflow-wrap:anywhere;
}

.analytics-stat-card-v1 strong{
    font-size:21px;
}

.analytics-stat-card-v1 small{
    font-size:12px;
}

.analytics-stat-card-v1.is-green:before{background:#16a34a}
.analytics-stat-card-v1.is-green b{color:#16a34a}
.analytics-stat-card-v1.is-red:before{background:#ef4444}
.analytics-stat-card-v1.is-red b{color:#dc2626}
.analytics-stat-card-v1.is-amber:before{background:#f59e0b}
.analytics-stat-card-v1.is-amber b{color:#d97706}
.analytics-stat-card-v1.is-blue:before{background:#2563eb}
.analytics-stat-card-v1.is-blue b{color:#2563eb}

.analytics-table-card-v1{
    padding:20px!important;
}

.analytics-section-head-v1{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.analytics-section-head-v1 h2{
    margin:0 0 5px;
    color:#101828;
    font-size:22px;
}

.analytics-table-v1{
    width:100%;
    min-width:780px;
}

.analytics-table-v1 th{
    white-space:nowrap;
}

.analytics-entity-link-v1{
    color:#155eef;
    font-weight:800;
    text-decoration:none;
}

.analytics-entity-link-v1:hover{
    text-decoration:underline;
}

.analytics-status-v1{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.analytics-status-v1.is-online{
    background:#dcfce7;
    color:#15803d;
}

.analytics-status-v1.is-offline{
    background:#fee2e2;
    color:#b42318;
}

.analytics-status-v1.is-warning{
    background:#fff3cd;
    color:#b54708;
}

.analytics-empty-v1{
    padding:34px!important;
    color:#667085;
    text-align:center;
    font-weight:700;
}

body.analytics-enterprise-body .event-toolbar{
    margin:0 0 22px;
}

@media(max-width:1100px){
    .analytics-summary-grid-v1,
    .analytics-summary-grid-v1--compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    body.analytics-enterprise-body .analytics-workspace-v1{
        padding:20px!important;
    }

    .analytics-page-head-v1,
    .analytics-section-head-v1{
        flex-direction:column;
    }
}

@media(max-width:620px){
    .analytics-summary-grid-v1,
    .analytics-summary-grid-v1--compact{
        grid-template-columns:1fr;
    }

    .analytics-actions-v1{
        width:100%;
    }

    .analytics-actions-v1 .ui-secondary{
        flex:1 1 auto;
    }
}

/* UI-NAV-06A — accessible scrolling for the complete Enterprise menu */
.pp-sidebar-v2{
    display:flex!important;
    flex-direction:column!important;
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow:hidden!important;
}

.pp-sidebar-v2 > .pp-nav-v2{
    flex:1 1 0!important;
    height:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:scroll!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin;
    scrollbar-color:#cbd5e1 transparent;
    padding-right:5px!important;
}

.pp-sidebar-v2 > .pp-nav-v2::-webkit-scrollbar{
    width:6px;
}

.pp-sidebar-v2 > .pp-nav-v2::-webkit-scrollbar-track{
    background:transparent;
}

.pp-sidebar-v2 > .pp-nav-v2::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
}

.pp-sidebar-v2 > .pp-nav-v2::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}

@media(max-width:900px){
    .pp-sidebar-v2{
        position:static!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
    }

    .pp-sidebar-v2 > .pp-nav-v2{
        flex:none!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
        scrollbar-gutter:auto!important;
        padding-right:0!important;
    }
}

/* UI-NAV-06B — whole-sidebar scrolling and always-visible analytics */
.pp-sidebar-v2{
    gap:10px!important;
    padding:16px 12px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin;
    scrollbar-color:#cbd5e1 transparent;
}

.pp-sidebar-v2 > .pp-brand-v2{
    flex:0 0 auto!important;
    padding-bottom:2px!important;
}

.pp-sidebar-v2 > .pp-nav-v2{
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    gap:9px!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-gutter:auto!important;
    padding:0 3px 2px 0!important;
}

.pp-sidebar-v2 > .pp-nav-v2 section{
    gap:1px!important;
}

.pp-sidebar-v2 > .pp-nav-v2 h4{
    margin:0 0 3px 7px!important;
    font-size:9.5px!important;
    line-height:12px!important;
}

.pp-sidebar-v2 > .pp-nav-v2 a{
    height:32px!important;
    gap:8px!important;
    padding:0 8px!important;
    border-radius:10px!important;
    font-size:12.5px!important;
    line-height:16px!important;
}

.pp-sidebar-v2 > .pp-nav-v2 .nav-ico{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    line-height:20px!important;
    flex-basis:20px!important;
}

.pp-sidebar-v2 > .pp-user-v2{
    flex:0 0 auto!important;
    position:static!important;
    margin-top:4px!important;
    padding:9px!important;
}

.pp-sidebar-v2::-webkit-scrollbar{
    width:6px;
}

.pp-sidebar-v2::-webkit-scrollbar-track{
    background:transparent;
}

.pp-sidebar-v2::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
}

.pp-sidebar-v2::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}

@media(max-width:900px){
    .pp-sidebar-v2{
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
        scrollbar-gutter:auto!important;
    }
}

/* UI-NAV-07 — hierarchical navigation and settings workspace */
.pp-nav-parent-v3{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 28px;
    align-items:center;
}

.pp-nav-parent-v3 > a{
    min-width:0;
    padding-right:4px!important;
}

.pp-nav-toggle-v3{
    width:26px;
    height:26px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#64748b;
    cursor:pointer;
    display:grid;
    place-items:center;
}

.pp-nav-toggle-v3:hover,
.pp-nav-toggle-v3:focus-visible{
    background:#eef4ff;
    color:#2563eb;
    outline:none;
}

.pp-nav-toggle-v3 span{
    display:block;
    font-size:16px;
    line-height:1;
    transition:transform .18s ease;
}

.pp-nav-group-v3.is-open .pp-nav-toggle-v3 span{
    transform:rotate(180deg);
}

.pp-nav-submenu-v3{
    display:grid;
    gap:1px;
    margin:2px 0 2px 16px;
    padding-left:8px;
    border-left:1px solid #dbe5f1;
}

.pp-nav-submenu-v3[hidden]{
    display:none!important;
}

.pp-nav-submenu-v3 a,
.pp-nav-v2 a.pp-nav-child-v3{
    height:30px!important;
    font-size:12px!important;
}

.pp-nav-submenu-v3 a .nav-ico,
.pp-nav-v2 a.pp-nav-child-v3 .nav-ico{
    width:18px!important;
    min-width:18px!important;
    flex-basis:18px!important;
}

body.settings-enterprise-body{
    background:#f4f7fb!important;
}

body.settings-enterprise-body .settings-workspace-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:28px 32px 40px!important;
    box-sizing:border-box!important;
}

body.settings-enterprise-body .settings-page-v1{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

.settings-page-head-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    margin-bottom:22px;
}

.settings-page-head-v1 h1{
    margin:5px 0 7px;
    color:#101828;
    font-size:34px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.settings-page-head-v1 p,
.settings-section-head-v1 p{
    margin:0;
    color:#667085;
    line-height:1.45;
}

.settings-eyebrow-v1{
    color:#2563eb;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.settings-card-v1,
body.finance-settings-enterprise-body .settings-card{
    margin-bottom:18px;
    padding:20px!important;
    border:1px solid #e4eaf2!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 14px 38px rgba(15,23,42,.055);
}

.settings-section-head-v1{
    display:flex;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.settings-section-head-v1 h2{
    margin:0 0 5px;
    color:#101828;
    font-size:21px;
}

.settings-role-note-v1{
    margin-bottom:16px;
    padding:12px 14px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#eff6ff;
    color:#344054;
}

.settings-gridform-v1{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(160px,1fr))!important;
    align-items:end;
    gap:12px!important;
    margin:0 0 18px!important;
}

.settings-gridform-v1--single{
    grid-template-columns:1fr!important;
    margin-bottom:0!important;
}

.settings-gridform-v1 label{
    display:grid;
    gap:6px;
    color:#344054;
    font-size:13px;
    font-weight:700;
}

.settings-gridform-v1 input,
.settings-gridform-v1 select,
.settings-table-wrap-v1 select{
    width:100%;
    min-height:42px;
    padding:9px 12px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    box-sizing:border-box;
}

.settings-gridform-v1 button{
    min-height:42px;
}

.settings-two-column-v1{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.settings-table-wrap-v1{
    width:100%;
    overflow-x:auto;
    border:1px solid #e4eaf2;
    border-radius:16px;
}

.settings-table-wrap-v1 table{
    width:100%;
    margin:0;
    border:0;
}

.settings-table-wrap-v1 th{
    white-space:nowrap;
}

.settings-status-v1{
    display:inline-flex;
    padding:4px 9px;
    border-radius:999px;
    background:#f2f4f7;
    color:#667085;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.settings-status-v1.is-active{
    background:#dcfce7;
    color:#15803d;
}

.settings-pvz-grid-v1{
    margin-bottom:16px;
}

.settings-actions-v1{
    display:flex;
    justify-content:flex-end;
}

body.finance-settings-enterprise-body .page-shell{
    width:100%;
}

body.finance-settings-enterprise-body .page-header{
    margin-bottom:2px;
}

body.finance-settings-enterprise-body .page-header h1{
    font-size:34px;
    letter-spacing:-.035em;
}

body.finance-settings-enterprise-body .notice{
    border-color:#bfdbfe;
    background:#eff6ff;
    color:#1d4ed8;
    font-weight:700;
}

body.finance-settings-enterprise-body .settings-form{
    background:#f8fafc;
}

body.finance-settings-enterprise-body .settings-table{
    min-width:720px;
}

@media(max-width:1050px){
    .settings-gridform-v1{
        grid-template-columns:repeat(2,minmax(160px,1fr))!important;
    }
}

@media(max-width:900px){
    body.settings-enterprise-body .settings-workspace-v1{
        padding:20px!important;
    }

    .settings-page-head-v1,
    .settings-two-column-v1{
        grid-template-columns:1fr;
    }

    .settings-page-head-v1{
        flex-direction:column;
    }
}

@media(max-width:620px){
    .settings-gridform-v1{
        grid-template-columns:1fr!important;
    }
}

/* UI-NAV-07.1 — finance navigation and scoped P&L */
body.finance-enterprise-body .finance-workspace-v1{
    padding-bottom:48px!important;
}

.finance-scope-card-v1{
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:18px;
    align-items:end;
    margin:18px 0 20px;
}

.finance-scope-filter-v1{
    display:grid;
    grid-template-columns:repeat(2,minmax(150px,.8fr)) minmax(220px,1.35fr) auto;
    gap:12px;
    align-items:end;
}

.finance-scope-filter-v1 label{
    display:grid;
    gap:7px;
    min-width:0;
}

.finance-scope-filter-v1 label > span,
.finance-scope-summary-v1 > span{
    color:#64748b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.02em;
}

.finance-scope-filter-v1 input,
.finance-scope-filter-v1 select{
    width:100%;
    min-height:46px;
    border:1px solid #dbe2ea;
    border-radius:13px;
    background:#fff;
    padding:0 13px;
    color:#172033;
}

.finance-scope-filter-v1 .ui-primary{
    min-height:46px;
    white-space:nowrap;
}

.finance-scope-summary-v1{
    min-height:76px;
    display:grid;
    align-content:center;
    gap:3px;
    border-left:1px solid #e2e8f0;
    padding-left:18px;
}

.finance-scope-summary-v1 strong{
    color:#0f172a;
    font-size:18px;
}

.finance-scope-summary-v1 small{
    color:#64748b;
}

.finance-results-card-v1,
.finance-expense-breakdown-v1{
    margin-top:20px;
}

.finance-section-heading-v1{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:16px;
}

.finance-section-heading-v1 h2{
    margin:3px 0 5px;
}

.finance-section-heading-v1 p{
    margin:0;
    color:#64748b;
}

.finance-results-table-v1{
    overflow:auto;
    border:1px solid #e2e8f0;
    border-radius:16px;
}

.finance-results-table-v1 table{
    width:100%;
    min-width:820px;
    border-collapse:collapse;
}

.finance-results-table-v1 th,
.finance-results-table-v1 td{
    padding:14px 16px;
    border-bottom:1px solid #e8edf3;
    text-align:left;
    white-space:nowrap;
}

.finance-results-table-v1 th{
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.finance-results-table-v1 tbody tr:last-child td{
    border-bottom:0;
}

.finance-results-table-v1 td:first-child a{
    color:#0f766e;
    font-weight:800;
}

.finance-positive-v1{
    color:#15803d;
    font-weight:800;
}

.finance-negative-v1{
    color:#dc2626;
    font-weight:800;
}

.finance-empty-v1{
    padding:30px!important;
    color:#64748b;
    text-align:center!important;
}

.finance-category-grid-v1{
    display:grid;
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:12px;
}

.finance-category-grid-v1 article{
    display:grid;
    gap:7px;
    padding:16px;
    border:1px solid #e2e8f0;
    border-radius:15px;
    background:#f8fafc;
}

.finance-category-grid-v1 span{
    color:#64748b;
}

.finance-category-grid-v1 strong{
    color:#0f172a;
    font-size:18px;
}

.finance-settings-nav-v1{
    position:sticky;
    top:12px;
    z-index:6;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    padding:10px;
    border:1px solid #dbe2ea;
    border-radius:18px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 30px rgba(15,23,42,.08);
    backdrop-filter:blur(12px);
}

.finance-settings-nav-v1 a{
    display:grid;
    grid-template-columns:34px 1fr;
    column-gap:9px;
    align-items:center;
    min-width:0;
    padding:10px;
    border-radius:12px;
    color:#172033;
}

.finance-settings-nav-v1 a:hover{
    background:#eff6ff;
    color:#1d4ed8;
}

.finance-settings-nav-v1 a > span{
    grid-row:1 / 3;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#eaf1ff;
    color:#2563eb;
    font-weight:900;
}

.finance-settings-nav-v1 b,
.finance-settings-nav-v1 small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.finance-settings-nav-v1 small{
    color:#64748b;
    font-size:11px;
}

.finance-settings-anchor-v1{
    scroll-margin-top:110px;
}

.finance-settings-anchor-v1:target{
    border-color:#93c5fd!important;
    box-shadow:0 0 0 3px rgba(59,130,246,.12),0 18px 40px rgba(15,23,42,.08)!important;
}

@media(max-width:1180px){
    .finance-scope-card-v1{
        grid-template-columns:1fr;
    }

    .finance-scope-summary-v1{
        border-left:0;
        border-top:1px solid #e2e8f0;
        padding:14px 0 0;
    }

    .finance-settings-nav-v1{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .finance-scope-filter-v1{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .finance-category-grid-v1{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .finance-scope-filter-v1,
    .finance-settings-nav-v1,
    .finance-category-grid-v1{
        grid-template-columns:1fr;
    }

    .finance-section-heading-v1{
        flex-direction:column;
    }
}

/* UI-NAV-07.1A — finance filter layout correction */
@media(max-width:1500px){
    .finance-scope-card-v1{
        grid-template-columns:minmax(0,1fr);
        align-items:stretch;
    }

    .finance-scope-summary-v1{
        min-height:auto;
        border-left:0;
        border-top:1px solid #e2e8f0;
        padding:14px 0 0;
    }
}

/* FIN-PNL-01 — factual additional income, expenses and payroll-aware P&L */
.finance-entry-card-v1{
    margin-top:20px;
}

.finance-entry-form-v1{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:18px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#f8fafc;
}

.finance-entry-form-v1 label{
    min-width:0;
    display:grid;
    align-content:start;
    gap:7px;
}

.finance-entry-form-v1 label[hidden]{
    display:none!important;
}

.finance-entry-form-v1 label > span{
    color:#475569;
    font-size:12px;
    font-weight:800;
}

.finance-entry-form-v1 input,
.finance-entry-form-v1 select{
    width:100%;
    min-width:0;
    min-height:46px;
    padding:0 14px;
    border:1px solid #d8e0ea;
    border-radius:13px;
    background:#fff;
    color:#0f172a;
    box-sizing:border-box;
}

.finance-entry-form-v1 input:focus,
.finance-entry-form-v1 select:focus{
    outline:0;
    border-color:#3b82f6;
    box-shadow:0 0 0 3px rgba(59,130,246,.12);
}

.finance-entry-form-v1 select:disabled{
    color:#94a3b8;
    background:#f1f5f9;
}

.finance-entry-submit-v1{
    min-height:46px;
    grid-column:1/-1;
}

.finance-entry-status-v1{
    min-height:20px;
    grid-column:1/-1;
    margin:0;
    color:#475569;
    font-size:13px;
    font-weight:700;
}

.finance-results-table-v1 table{
    min-width:1120px;
}

.finance-results-table-v1 td:nth-child(n+2){
    white-space:nowrap;
}

@media(max-width:1050px){
    .finance-entry-form-v1{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .finance-entry-form-v1{
        grid-template-columns:1fr;
        padding:14px;
    }
}
/* FIN-PNL-01A: factual main revenue and completeness state */
.finance-data-warning-v1 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid #f4c36a;
  border-radius: 16px;
  background: #fff8e8;
  color: #7a4a00;
}

.finance-data-warning-v1 .ico {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #ffe4a8;
  font-weight: 900;
}

.finance-data-warning-v1 strong {
  display: block;
  margin-bottom: 3px;
  color: #5d3900;
}

.finance-data-warning-v1 p {
  margin: 0;
  line-height: 1.45;
}

.finance-data-warning-v1 a {
  color: #174ea6;
  font-weight: 800;
  white-space: nowrap;
}

.finance-missing-badge-v1 {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff0cf;
  color: #8a5300;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .finance-data-warning-v1 {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .finance-data-warning-v1 a {
    grid-column: 2;
  }
}

/* SCHED-PREF-01C: prominent manager filters and direct PVZ calendar navigation. */
.schedule-dashboard-v35 .dashboard-v3-header {
  align-items: stretch !important;
  grid-template-columns: minmax(320px, .8fr) minmax(700px, 1.2fr) !important;
  gap: 30px !important;
}

.schedule-dashboard-v35 .schedule-top-filter-v1c {
  align-self: stretch !important;
  min-height:142px;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.2fr) minmax(190px, .65fr) !important;
  align-items: end !important;
  gap: 20px !important;
  padding: 24px !important;
  border: 2px solid #dbeafe !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%) !important;
  box-shadow: 0 16px 36px rgba(37, 99, 235, .09) !important;
}

.schedule-dashboard-v35 .schedule-top-filter-v1c label {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.schedule-dashboard-v35 .schedule-top-filter-v1c input,
.schedule-dashboard-v35 .schedule-top-filter-v1c select {
  height: 56px !important;
  margin-top: 9px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
}

.schedule-dashboard-v35 .schedule-top-filter-v1c .approval-show-btn {
  min-height: 56px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

.schedule-open-calendar-v1 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px;
  margin-top: 14px;
  padding: 10px 14px !important;
  border: 1px solid #93c5fd !important;
  border-radius: 12px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.schedule-calendar-target-v1 {
  scroll-margin-top: 24px;
}

.schedule-focus-note-v1 {
  margin: 0 0 14px;
  padding: 13px 16px;
  border: 1px solid #93c5fd;
  border-left: 5px solid #2563eb;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a8a;
}

.enterprise-schedule-table .cell-emp.employee-focus-v1,
.enterprise-calendar-shift-card.employee-focus-v1 {
  border-color: #2563eb !important;
  outline: 3px solid rgba(37, 99, 235, .28) !important;
  outline-offset: 1px;
  background: #dbeafe !important;
  color: #1e3a8a !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .18) !important;
}

@media (max-width: 1300px) {
  .schedule-dashboard-v35 .dashboard-v3-header {
    grid-template-columns: 1fr !important;
  }

  .schedule-dashboard-v35 .schedule-top-filter-v1c {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }

  .schedule-dashboard-v35 .schedule-top-filter-v1c .approval-show-btn {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .schedule-dashboard-v35 .schedule-top-filter-v1c {
    min-height: 0;
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  .schedule-dashboard-v35 .schedule-top-filter-v1c .approval-show-btn {
    grid-column: auto;
  }
}

/* FIN-PNL-03A: scalable recurring finance management */
.finance-recurring-page-v4 {
  display: grid;
  gap: 22px;
}

.finance-recurring-summary-v4,
.finance-recurring-overview-metrics-v4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.finance-recurring-summary-v4 article,
.finance-recurring-overview-metrics-v4 article {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid #dbe4f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.finance-recurring-summary-v4 span,
.finance-recurring-summary-v4 small,
.finance-recurring-overview-metrics-v4 span {
  color: #64748b;
}

.finance-recurring-summary-v4 strong,
.finance-recurring-overview-metrics-v4 strong {
  color: #0f172a;
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.05;
}

.finance-recurring-summary-v4 .is-expense strong,
.finance-recurring-overview-metrics-v4 article:nth-child(2) strong {
  color: #dc2626;
}

.finance-recurring-summary-v4 .is-income strong,
.finance-recurring-overview-metrics-v4 article:nth-child(3) strong {
  color: #16a34a;
}

.finance-recurring-overview-v4,
.finance-recurring-create-v4,
.finance-recurring-directory-v4 {
  display: grid;
  gap: 18px;
}

.finance-recurring-overview-metrics-v4 article {
  background: #f8fafc;
  box-shadow: none;
}

.finance-recurring-form-v4,
.finance-recurring-filters-v4,
.finance-recurring-edit-grid-v4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 16px;
}

.finance-recurring-form-v4 label,
.finance-recurring-filters-v4 label,
.finance-recurring-edit-grid-v4 label {
  display: grid;
  align-content: start;
  gap: 7px;
}

.finance-recurring-form-v4 label > span,
.finance-recurring-filters-v4 label > span,
.finance-recurring-edit-grid-v4 label > span {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

.finance-recurring-form-v4 input,
.finance-recurring-form-v4 select,
.finance-recurring-filters-v4 input,
.finance-recurring-filters-v4 select,
.finance-recurring-edit-grid-v4 input,
.finance-recurring-edit-grid-v4 textarea {
  width: 100%;
}

.finance-recurring-form-actions-v4 {
  display: flex;
  align-items: end;
  gap: 10px;
  grid-column: 1 / -1;
}

.finance-recurring-filters-v4 {
  grid-template-columns: minmax(230px, 1.6fr) repeat(4, minmax(130px, 1fr)) auto auto;
  align-items: end;
}

.finance-recurring-table-v4 td:nth-child(2) strong,
.finance-recurring-table-v4 td:nth-child(2) small {
  display: block;
}

.finance-recurring-table-v4 td:nth-child(2) small {
  margin-top: 4px;
  color: #64748b;
}

.finance-recurring-table-v4 td.is-expense {
  color: #b91c1c;
  font-weight: 800;
}

.finance-recurring-table-v4 td.is-income {
  color: #15803d;
  font-weight: 800;
}

.finance-recurring-pagination-v4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #64748b;
  font-weight: 700;
}

.finance-recurring-pagination-v4 > div {
  display: flex;
  gap: 10px;
}

.finance-recurring-actions-v4 {
  position: relative;
  width: max-content;
}

.finance-recurring-actions-v4 summary {
  display: grid;
  width: 42px;
  height: 36px;
  place-items: center;
  border: 1px solid #dbe4f0;
  border-radius: 11px;
  color: #1d4ed8;
  cursor: pointer;
  font-weight: 900;
  list-style: none;
}

.finance-recurring-actions-v4 summary::-webkit-details-marker {
  display: none;
}

.finance-recurring-actions-v4[open] {
  z-index: 30;
}

.finance-recurring-actions-v4 > div {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  z-index: 40;
  width: 190px;
  overflow: hidden;
  border: 1px solid #dbe4f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 30px rgba(15, 23, 42, .14);
}

.finance-recurring-actions-v4 > div > button {
  display: block;
  width: 100%;
  padding: 10px 13px;
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  color: #1e3a8a;
  cursor: pointer;
  text-align: left;
  font-weight: 750;
}

.finance-recurring-actions-v4 > div > button:last-child {
  border-bottom: 0;
}

.finance-recurring-actions-v4 > div > button:hover {
  background: #eff6ff;
}

.finance-recurring-actions-v4 > div > button.is-danger {
  color: #b91c1c;
}

.finance-recurring-dialog-v4 {
  width: min(760px, calc(100vw - 32px));
}

.finance-recurring-dialog-v4 > form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px;
}

.finance-recurring-dialog-v4 > form > * {
  grid-column: 1 / -1;
}

.finance-recurring-context-v4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.finance-recurring-context-v4 > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 13px;
  background: #f1f5f9;
}

.finance-recurring-context-v4 span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.finance-recurring-edit-grid-v4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-recurring-edit-grid-v4 .is-wide {
  grid-column: 1 / -1;
}

.finance-recurring-preview-v4 {
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
  color: #1e3a8a;
  font-weight: 750;
}

.finance-recurring-history-dialog-v4 {
  width: min(780px, calc(100vw - 32px));
}

/* FIN-PNL-03B: visible actions and current/future rate separation */
.finance-recurring-action-trigger-v5 {
  display: grid;
  width: 44px;
  height: 38px;
  place-items: center;
  border: 1px solid #dbe4f0;
  border-radius: 11px;
  background: #fff;
  color: #1d4ed8;
  cursor: pointer;
  font-size: 16px;
  font-weight: 900;
}

.finance-recurring-action-trigger-v5:hover {
  border-color: #93c5fd;
  background: #eff6ff;
}

.finance-recurring-actions-dialog-v5 {
  width: min(520px, calc(100vw - 32px));
  padding: 0;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .28);
}

.finance-recurring-actions-dialog-v5::backdrop {
  background: rgba(15, 23, 42, .54);
  backdrop-filter: blur(3px);
}

.finance-recurring-actions-shell-v5 {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.finance-recurring-action-context-v5 {
  padding: 14px 16px;
  border-radius: 14px;
  background: #f1f5f9;
  color: #475569;
  font-weight: 750;
  line-height: 1.45;
}

.finance-recurring-action-buttons-v5 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.finance-recurring-action-buttons-v5 > button {
  min-height: 44px;
}

.finance-recurring-action-buttons-v5 > button.is-danger {
  border-color: #fecaca;
  color: #b91c1c;
}

.finance-recurring-rate-v5 strong,
.finance-recurring-rate-v5 small {
  display: block;
}

.finance-recurring-rate-v5 small {
  margin-top: 5px;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .finance-recurring-summary-v4,
  .finance-recurring-overview-metrics-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .finance-recurring-form-v4,
  .finance-recurring-filters-v4 {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 700px) {
  .finance-recurring-summary-v4,
  .finance-recurring-overview-metrics-v4,
  .finance-recurring-form-v4,
  .finance-recurring-filters-v4,
  .finance-recurring-context-v4,
  .finance-recurring-edit-grid-v4 {
    grid-template-columns: 1fr;
  }

  .finance-recurring-edit-grid-v4 .is-wide {
    grid-column: 1;
  }

  .finance-recurring-action-buttons-v5 {
    grid-template-columns: 1fr;
  }

  .finance-recurring-pagination-v4 {
    align-items: stretch;
    flex-direction: column;
  }
}

/* FIN-PNL-03: versioned monthly income and expense rules */
.finance-recurring-card-v3 {
  display: grid;
  gap: 22px;
}

.finance-recurring-form-v3 {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}

.finance-recurring-form-v3 label {
  display: grid;
  align-content: start;
  gap: 7px;
}

.finance-recurring-form-v3 label > span {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

.finance-recurring-form-v3 label > small {
  color: #64748b;
  font-size: 11px;
}

.finance-recurring-form-v3 input,
.finance-recurring-form-v3 select {
  width: 100%;
  min-height: 46px;
}

.finance-recurring-form-v3 .ui-primary {
  min-height: 46px;
  align-self: end;
}

.finance-recurring-form-v3 .finance-entry-status-v1 {
  grid-column: 1 / -1;
  margin: 0;
}

.finance-recurring-table-v3 td:nth-child(3) {
  white-space: nowrap;
  font-weight: 800;
}

.finance-recurring-table-v3 td:nth-child(4) {
  white-space: nowrap;
}

.finance-operation-status-v2.is-paused {
  color: #92400e;
  background: #fef3c7;
}

.finance-operation-status-v2.is-ended,
.finance-operation-status-v2.is-superseded {
  color: #64748b;
  background: #e2e8f0;
}

@media (max-width: 1180px) {
  .finance-recurring-form-v3 {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 760px) {
  .finance-recurring-form-v3 {
    grid-template-columns: 1fr;
  }
}
/* FIN-PNL-02: finance operation journal */
.finance-journal-v2 {
  display: grid;
  gap: 22px;
}

.finance-journal-filters-v2 {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}

.finance-journal-filters-v2 label,
.finance-operation-dialog-v2 label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.finance-journal-filters-v2 label > span,
.finance-operation-dialog-v2 label > span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.finance-journal-filters-v2 input,
.finance-journal-filters-v2 select,
.finance-operation-dialog-v2 input,
.finance-operation-dialog-v2 select {
  width: 100%;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid #dbe2ea;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
}

.finance-journal-summary-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.finance-journal-summary-v2 article {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}

.finance-journal-summary-v2 span {
  color: #64748b;
  font-size: 13px;
}

.finance-journal-summary-v2 strong {
  color: #0f172a;
  font-size: 20px;
}

.finance-journal-table-v2 table {
  min-width: 1120px;
}

.finance-journal-table-v2 td {
  vertical-align: middle;
}

.finance-operation-status-v2 {
  font-weight: 800;
}

.finance-operation-status-v2.is-posted {
  color: #15803d;
}

.finance-operation-status-v2.is-draft {
  color: #b45309;
}

.finance-operation-status-v2.is-cancelled {
  color: #64748b;
}

.finance-operation-cancelled-v2 {
  background: #f8fafc;
  opacity: .72;
}

.finance-operation-cancelled-v2 td {
  text-decoration-color: #94a3b8;
}

.finance-operation-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 220px;
}

.finance-operation-actions-v2 .btn {
  min-height: 34px;
  padding: 6px 10px;
  font-size: 12px;
}

.finance-operation-cancel-v2 {
  color: #b91c1c;
}

.finance-operation-dialog-v2 {
  width: min(720px, calc(100vw - 32px));
  padding: 0;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
}

.finance-operation-dialog-v2::backdrop {
  background: rgba(15, 23, 42, .45);
  backdrop-filter: blur(3px);
}

.finance-operation-dialog-v2 form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 24px;
}

.finance-operation-dialog-head-v2,
.finance-operation-dialog-actions-v2,
.finance-operation-dialog-comment-v2,
.finance-operation-dialog-v2 .finance-entry-status-v1 {
  grid-column: 1 / -1;
}

.finance-operation-dialog-head-v2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.finance-operation-dialog-head-v2 h2 {
  margin: 5px 0 0;
}

.finance-operation-dialog-actions-v2 {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.finance-operation-history-shell-v2 {
  display: grid;
  gap: 18px;
  max-height: min(760px, calc(100vh - 64px));
  padding: 24px;
  overflow: auto;
}

.finance-operation-history-list-v2 {
  display: grid;
  gap: 14px;
}

.finance-operation-history-list-v2 article {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #f8fafc;
}

.finance-operation-history-head-v2 {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.finance-operation-history-head-v2 strong {
  color: #0f172a;
  text-transform: capitalize;
}

.finance-operation-history-head-v2 time,
.finance-operation-history-actor-v2 {
  color: #64748b;
  font-size: 13px;
}

.finance-operation-history-actor-v2 {
  margin: 7px 0 12px;
  font-weight: 700;
}

.finance-operation-history-list-v2 dl {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(220px, 1.3fr);
  margin: 0;
  border-top: 1px solid #e2e8f0;
}

.finance-operation-history-list-v2 dt,
.finance-operation-history-list-v2 dd {
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid #e2e8f0;
}

.finance-operation-history-list-v2 dt {
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

.finance-operation-history-list-v2 dd {
  color: #0f172a;
  font-weight: 700;
}

.finance-operation-history-reason-v2 {
  margin: 12px 0 0;
  color: #92400e;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .finance-journal-filters-v2 {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
}

@media (max-width: 760px) {
  .finance-journal-filters-v2,
  .finance-journal-summary-v2,
  .finance-operation-dialog-v2 form {
    grid-template-columns: 1fr;
  }

  .finance-operation-dialog-head-v2,
  .finance-operation-dialog-actions-v2,
  .finance-operation-dialog-comment-v2,
  .finance-operation-dialog-v2 .finance-entry-status-v1 {
    grid-column: 1;
  }
}

/* DASH-UI-01: role-scoped operational command center */
.dashboard-command-page {
  display: grid;
  gap: 22px;
  min-width: 0;
  padding-bottom: 36px;
}

.dashboard-command-header,
.dashboard-section-heading,
.dashboard-command-tools,
.dashboard-user-chip,
.dashboard-decision-card,
.dashboard-all-clear,
.dashboard-row-actions {
  display: flex;
  align-items: center;
}

.dashboard-command-header {
  justify-content: space-between;
  gap: 24px;
  padding: 4px 0;
}

.dashboard-command-title h1 {
  margin: 3px 0 2px;
  color: #0f172a;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.05;
}

.dashboard-command-title p,
.dashboard-section-heading p,
.dashboard-live-card p,
.dashboard-decision-card p,
.dashboard-all-clear p,
.dashboard-network-table small,
.dashboard-user-chip small {
  margin: 0;
  color: #64748b;
}

.dashboard-command-eyebrow,
.dashboard-section-heading > div > span {
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dashboard-command-tools {
  justify-content: flex-end;
  gap: 12px;
}

.dashboard-scope-filter {
  display: grid;
  gap: 5px;
}

.dashboard-scope-filter label {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-scope-filter select {
  min-width: 230px;
  height: 44px;
  padding: 0 38px 0 14px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font-weight: 700;
}

.dashboard-user-chip {
  gap: 10px;
  min-height: 44px;
  padding: 7px 12px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #fff;
}

.dashboard-user-chip > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: #0f172a;
  color: #fff;
  font-weight: 800;
}

.dashboard-user-chip div {
  display: grid;
}

.dashboard-command-section,
.dashboard-empty-scope {
  border: 1px solid #dfe6ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .045);
}

.dashboard-command-section {
  padding: 22px;
}

.dashboard-section-heading {
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.dashboard-section-heading h2 {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 23px;
}

.dashboard-section-heading > p {
  text-align: right;
}

.dashboard-live-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(145px, 1fr));
  gap: 12px;
}

.dashboard-live-card {
  position: relative;
  display: grid;
  min-height: 152px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 17px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}

.dashboard-live-card::after {
  position: absolute;
  right: -18px;
  bottom: -35px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: .055;
}

.dashboard-live-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
}

.dashboard-live-icon {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 11px;
  background: currentColor;
  color: #fff;
  font-weight: 900;
}

.dashboard-live-card small,
.dashboard-decision-card small {
  color: #64748b;
  font-weight: 700;
}

.dashboard-live-card strong {
  margin: 4px 0;
  font-size: 30px;
  line-height: 1;
}

.dashboard-live-card p {
  font-size: 12px;
}

.dashboard-live-card.tone-blue { color: #2563eb; }
.dashboard-live-card.tone-green { color: #16a34a; }
.dashboard-live-card.tone-violet { color: #7c3aed; }
.dashboard-live-card.tone-red { color: #dc2626; }
.dashboard-live-card.tone-orange { color: #d97706; }

.dashboard-live-card small,
.dashboard-live-card p {
  color: #64748b;
}

.dashboard-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 12px;
}

.dashboard-decision-card {
  gap: 14px;
  min-height: 108px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #f59e0b;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
}

.dashboard-decision-card.tone-danger {
  border-left-color: #ef4444;
  background: #fffafa;
}

.dashboard-decision-card.tone-warning {
  border-left-color: #f59e0b;
  background: #fffdf8;
}

.dashboard-decision-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #fff1f2;
  color: #dc2626;
  font-size: 18px;
  font-weight: 900;
}

.dashboard-decision-card.tone-warning .dashboard-decision-icon {
  background: #fff7e6;
  color: #d97706;
}

.dashboard-decision-card > div {
  display: grid;
  flex: 1;
  gap: 2px;
}

.dashboard-decision-card strong {
  font-size: 25px;
}

.dashboard-decision-card > b {
  align-self: flex-end;
  color: #2563eb;
  font-size: 12px;
  white-space: nowrap;
}

.dashboard-all-clear {
  gap: 14px;
  padding: 18px;
  border: 1px solid #bbf7d0;
  border-radius: 16px;
  background: #f0fdf4;
}

.dashboard-all-clear > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}

.dashboard-all-clear strong {
  color: #166534;
}

.dashboard-empty-scope {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
}

.dashboard-empty-scope > span {
  color: #2563eb;
  font-size: 30px;
}

.dashboard-empty-scope h2,
.dashboard-empty-scope p {
  margin: 0;
}

.dashboard-empty-scope p {
  margin-top: 4px;
  color: #64748b;
}

.dashboard-network-section {
  min-width: 0;
}

.dashboard-network-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
}

.dashboard-network-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
}

.dashboard-network-table th,
.dashboard-network-table td {
  padding: 14px 13px;
  border-bottom: 1px solid #e8edf4;
  text-align: left;
  vertical-align: middle;
}

.dashboard-network-table th {
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.dashboard-network-table tbody tr:last-child td {
  border-bottom: 0;
}

.dashboard-network-table tbody tr:hover {
  background: #fbfdff;
}

.dashboard-network-table td > strong,
.dashboard-network-table td > small {
  display: block;
}

.dashboard-network-table td > small {
  margin-top: 3px;
  font-size: 11px;
}

.dashboard-state-badge,
.dashboard-delay,
.dashboard-problem-count,
.dashboard-no-problems {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.dashboard-state-badge.tone-good,
.dashboard-delay.tone-good,
.dashboard-no-problems {
  background: #dcfce7;
  color: #15803d;
}

.dashboard-state-badge.tone-danger,
.dashboard-delay.tone-danger,
.dashboard-problem-count {
  background: #fee2e2;
  color: #b91c1c;
}

.dashboard-state-badge.tone-neutral,
.dashboard-delay.tone-neutral {
  background: #f1f5f9;
  color: #475569;
}

.dashboard-problem-count {
  text-decoration: none;
}

.dashboard-row-actions {
  gap: 6px;
}

.dashboard-row-actions a {
  padding: 7px 9px;
  border: 1px solid #dbe3ee;
  border-radius: 9px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.dashboard-row-actions a.primary {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}

.dashboard-table-empty {
  padding: 34px !important;
  color: #64748b;
  text-align: center !important;
}

@media (max-width: 1500px) {
  .dashboard-live-grid {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }
}

@media (max-width: 1050px) {
  .dashboard-command-header,
  .dashboard-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-section-heading > p {
    text-align: left;
  }

  .dashboard-decision-grid {
    grid-template-columns: repeat(2, minmax(230px, 1fr));
  }
}

@media (max-width: 760px) {
  .dashboard-command-tools {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .dashboard-scope-filter select {
    width: 100%;
  }

  .dashboard-live-grid,
  .dashboard-decision-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-command-section {
    padding: 16px;
  }

  .dashboard-live-card {
    min-height: 130px;
  }
}
/* Calendar plan/fact semantics — 2026-08-03 */
.enterprise-calendar-modebar{display:none!important}
.enterprise-calendar-cell.planned{background:#eff6ff!important;border-color:#bfdbfe!important}
.enterprise-calendar-cell.planned .enterprise-cell-strip{background:#2563eb!important}
.enterprise-calendar-cell.planned .cell-emp{background:#eff6ff!important;border-color:#93c5fd!important;color:#1d4ed8!important}
.enterprise-calendar-cell.unassigned{background:#fff1f2!important;border-color:#fda4af!important}
.enterprise-calendar-cell.unassigned .enterprise-cell-strip{background:#dc2626!important}
.enterprise-calendar-cell.unassigned .enterprise-empty-label{color:#b91c1c!important}
.enterprise-calendar-cell.no_show{background:#fffbeb!important;border-color:#fcd34d!important}
.enterprise-calendar-cell.no_show .enterprise-cell-strip{background:#d97706!important}
.enterprise-calendar-cell.no_show .enterprise-empty-label{color:#a16207!important}
.enterprise-calendar-cell.replacement{background:#faf5ff!important;border-color:#d8b4fe!important}
.enterprise-calendar-cell.replacement .enterprise-cell-strip{background:#7c3aed!important}
.enterprise-calendar-cell.replacement .cell-emp{background:#faf5ff!important;border-color:#c4b5fd!important;color:#6d28d9!important}
.legend-dot.planned{background:#2563eb!important}
.legend-dot.unassigned{background:#dc2626!important}
.legend-dot.no_show{background:#eab308!important}
.legend-dot.replacement{background:#7c3aed!important}
.schedule-plan-fact-tabs a{font-size:14px!important;padding:14px 18px!important}
.schedule-plan-fact-tabs a.active{color:#1d4ed8!important;border-color:#2563eb!important;background:#eff6ff!important}
.schedule-day-cell.schedule-cell-hidden-v1{display:none!important}
.schedule-problem-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}
.schedule-problem-filters>span{font-size:12px;font-weight:900;color:#64748b;margin-right:4px}
.schedule-problem-filters button{border:1px solid #dbe3ef;background:#fff;color:#334155;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.schedule-problem-filters button b{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:6px;border-radius:999px;background:#fee2e2;color:#b91c1c}
.schedule-problem-filters button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.schedule-problem-filters button.danger{color:#b91c1c}
.schedule-problem-filters button.warn{color:#a16207}
.schedule-problem-filters button.violet{color:#6d28d9}

/* Calendar visual rebuild matching the approved compact mockup */
.planning-enterprise-body .schedule-workspace-page-v1{max-width:none!important;padding:20px 24px 34px!important}
.schedule-page-header-v1{margin:0 0 14px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.schedule-page-header-v1 .section-eyebrow,.schedule-page-header-v1 p{display:none!important}
.schedule-page-header-v1 h1{font-size:34px!important;letter-spacing:-.04em!important}
.schedule-main-single,.schedule-main-content-clean-v2{display:block!important;width:100%!important}
.schedule-top-tabs-clean-v2{display:none!important}
.schedule-v44{display:flex!important;flex-direction:column!important;gap:12px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.schedule-v44-hero,.schedule-live-fact-panel,.schedule-problem-panel-v1,.schedule-v44-controlbar,.schedule-final-legend-v1{display:none!important}
.schedule-plan-fact-tabs{order:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;margin:0!important;border:1px solid #dbe3ef!important;border-radius:12px!important;background:#fff!important;padding:0!important;overflow:hidden!important}
.schedule-plan-fact-tabs a{border:0!important;border-radius:0!important;text-align:center!important;background:#fff!important;color:#475569!important}
.schedule-plan-fact-tabs a.active{box-shadow:inset 0 0 0 2px #2563eb!important;background:#f8fbff!important;color:#1d4ed8!important}
.schedule-v44-kpi{order:2!important;display:grid!important;grid-template-columns:repeat(5,minmax(150px,1fr))!important;gap:12px!important;margin:0!important}
.schedule-v44-kpi .schedule-kpi-card{min-height:88px!important;padding:14px 16px!important;border-radius:14px!important;background:#fff!important;text-align:left!important;box-shadow:0 5px 16px rgba(15,23,42,.055)!important}
.schedule-v44-kpi .schedule-kpi-card:nth-child(6){display:none!important}
.schedule-v44-kpi .schedule-kpi-card span{font-size:12px!important;color:#64748b!important}
.schedule-v44-kpi .schedule-kpi-card b{font-size:29px!important;line-height:1.05!important;margin-top:5px!important}
.schedule-v44-filter{order:3!important;display:grid!important;grid-template-columns:150px 130px 160px 160px minmax(230px,1fr) auto!important;gap:10px!important;margin:0!important;padding:10px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important}
.schedule-v44-filter label{font-size:10px!important;color:#64748b!important}
.schedule-v44-filter input,.schedule-v44-filter select,.schedule-v44-filter button{height:40px!important}
.schedule-problem-filters{order:4!important;margin:0!important}
.schedule-v44-workspace{order:5!important;display:block!important;margin:0!important}
.schedule-calendar-stack{width:100%!important}
.enterprise-calendar-component{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:12px!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important}
.enterprise-calendar-head{margin:0 0 8px!important}
.enterprise-calendar-head h3{font-size:18px!important;margin:0!important}
.enterprise-calendar-head .section-eyebrow,.enterprise-calendar-head p{display:none!important}
.enterprise-calendar-legend{justify-content:flex-end!important;gap:7px!important}
.enterprise-calendar-shell-v2{max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;border-radius:10px!important}
.enterprise-calendar-table-v2{table-layout:fixed!important;min-width:980px!important;border-collapse:separate!important;border-spacing:0!important}
.enterprise-calendar-table-v2 th{height:43px!important;padding:6px!important;background:#f8fafc!important;font-size:12px!important}
.enterprise-calendar-table-v2 .sticky-col{width:150px!important;min-width:150px!important;max-width:150px!important}
.enterprise-calendar-table-v2 td{height:54px!important;min-width:118px!important;padding:3px 5px!important;vertical-align:middle!important}
.enterprise-calendar-table-v2 .pvz-name b{font-size:12px!important;line-height:1.2!important}
.enterprise-calendar-table-v2 .pvz-name small,.enterprise-calendar-cell .cell-day-row{display:none!important}
.enterprise-calendar-cell .enterprise-cell-strip{height:3px!important;top:0!important;left:0!important;right:0!important;border-radius:0!important}
.enterprise-calendar-cell .cell-emp{margin:0!important;padding:6px 7px!important;border-radius:7px!important;min-height:39px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.enterprise-calendar-cell .cell-emp span{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.enterprise-calendar-cell .cell-emp small{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.enterprise-calendar-cell .enterprise-empty-label{font-size:10px!important;line-height:1.15!important;display:block!important;text-align:center!important}
.schedule-day-drawer{display:block!important;position:fixed!important;z-index:10020!important;top:14px!important;right:14px!important;bottom:14px!important;width:min(430px,calc(100vw - 28px))!important;max-height:none!important;overflow:auto!important;padding:0!important;background:#fff!important;border:1px solid #dbe3ef!important;border-radius:18px!important;box-shadow:0 0 0 100vmax rgba(15,23,42,.22),0 24px 70px rgba(15,23,42,.24)!important;transform:translateX(calc(100% + 40px))!important;opacity:0!important;pointer-events:none!important;transition:transform .22s ease,opacity .22s ease!important}
.schedule-day-drawer.open{transform:none!important;opacity:1!important;pointer-events:auto!important}
.schedule-day-drawer .drawer-card{border:0!important;border-radius:18px!important;box-shadow:none!important;padding:16px!important}
.quick-fact-add{display:none!important;position:fixed!important;z-index:10030!important;inset:5vh 4vw auto!important;max-height:90vh!important;overflow:auto!important;margin:0!important;padding:22px!important;border-radius:20px!important;box-shadow:0 0 0 100vmax rgba(15,23,42,.3),0 25px 70px rgba(15,23,42,.25)!important}
.quick-fact-add:target,.quick-fact-add.is-open{display:block!important}
.quick-fact-add .section-head-row p{display:none!important}
.quick-fact-add .schedule-add-form{grid-template-columns:repeat(4,minmax(150px,1fr))!important}
.quick-fact-add .quick-add-actions{grid-column:1/-1!important;justify-content:flex-end!important}
@media(max-width:1200px){.schedule-v44-kpi{grid-template-columns:repeat(3,1fr)!important}.schedule-v44-filter{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.planning-enterprise-body .schedule-workspace-page-v1{padding:12px!important}.schedule-page-header-v1 h1{font-size:27px!important}.schedule-v44-kpi{grid-template-columns:repeat(2,1fr)!important}.schedule-v44-filter{grid-template-columns:1fr!important}.schedule-plan-fact-tabs a{font-size:12px!important}.quick-fact-add .schedule-add-form{grid-template-columns:1fr!important}}

/* Add-shift block stays below the calendar and is filled from a selected cell. */
.quick-fact-add,.quick-fact-add:target,.quick-fact-add.is-open{display:block!important;position:relative!important;z-index:1!important;inset:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;margin:14px 0 0!important;padding:18px!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important}
.quick-fact-add .section-head-row p{display:block!important;margin-top:5px!important}
.quick-fact-add.quick-add-highlight{outline:3px solid rgba(37,99,235,.25)!important;box-shadow:0 12px 34px rgba(37,99,235,.14)!important}
.schedule-header-actions-v1 .ui-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important}
.schedule-header-actions-v1 button.ui-primary{border:0!important;cursor:pointer!important;font:inherit!important;font-weight:900!important}
