:root{--ink:#101114;--muted:#667085;--line:#e5e7eb;--bg:#f4f5f3;--card:#fff;--gold:#ffd600;--green:#0f9f67;--red:#d92d20;--blue:#2563eb;--orange:#d97706;--radius:20px;--shadow:0 10px 30px rgba(16,24,40,.08)}*{box-sizing:border-box}html{background:#0b0c0e}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 50% 35%,rgba(255,214,0,.08),transparent 26%),var(--bg);color:var(--ink);font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.topbar{position:sticky;top:0;z-index:20;min-height:94px;padding:calc(10px + env(safe-area-inset-top)) max(18px,calc((100vw - 1180px)/2)) 12px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#0a0b0d,#121316);color:#fff;border-bottom:3px solid var(--gold);box-shadow:0 12px 30px rgba(0,0,0,.18)}.brand-wrap{display:flex;align-items:center;gap:10px}.brand-wrap img{width:58px;height:58px;object-fit:contain}.brand-wrap b{color:var(--gold);letter-spacing:.08em}.brand-wrap small{display:block;font-size:10px;letter-spacing:.2em}.user-tools{display:flex;align-items:center;gap:10px}.user-tools #syncState{font-size:12px;color:#78e4aa}.topbar select{width:auto;background:#26272b;color:#fff;border:1px solid #44464c;border-radius:13px;padding:11px 12px}main{max-width:1180px;margin:auto;padding:30px 18px 118px}.page{display:none}.page.active{display:block}h1{font-size:clamp(30px,6vw,48px);line-height:1.05;margin:0 0 8px;letter-spacing:-.03em}h2{font-size:22px;margin:28px 0 14px}.subtitle,.muted,small{color:var(--muted)}.subtitle{font-size:17px;margin:0}.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card,.entity-card,.site-card,.pay-card,.invoice-card,.list-item,.site-summary{background:rgba(255,255,255,.96);border:1px solid rgba(229,231,235,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:20px}.metric small{display:block}.metric strong{display:block;margin-top:10px;font-size:32px}.accent-metric{border-color:#f5d000;background:linear-gradient(135deg,#fff,#fff9cf)}button{border:0;border-radius:13px;background:var(--ink);color:#fff;padding:11px 15px;font-weight:800;cursor:pointer}button.accent{background:var(--gold);color:#111}.segmented{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding-bottom:4px}.segmented button{white-space:nowrap;background:#fff;color:var(--muted);border:1px solid var(--line)}.segmented button.active{background:#111;color:#fff}.payday-banner{width:100%;margin:18px 0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f59e0b,#ef4444);font-size:16px}.stack,.mobile-list,.invoice-grid,.timeline{display:grid;gap:12px}.site-summary,.list-item{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink);padding:16px}.site-summary small,.list-item small,.entity-main small,.invoice-head small,.timeline small{display:block}.entity-card,.site-card,.pay-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px}.site-card{border-left:5px solid var(--green);cursor:pointer}.site-completed{border-left-color:#111}.site-paused{border-left-color:var(--orange)}.entity-main{min-width:0}.entity-main b,.name-link{font-size:18px}.name-link{background:none;color:var(--ink);padding:0;text-align:left}.badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.working,.paid,.active{background:#c9f7dd;color:#05603f}.unpaid,.overdue{background:#ffd6d2;color:#9f1a11}.pending,.prepared,.day-off,.paused{background:#fff0b5;color:#8a4b00}.sick{background:#ffd7d7;color:#9f1a11}.holiday{background:#dbeafe;color:#1d4ed8}.no-work,.completed{background:#e5e7eb;color:#374151}.menu-cell{position:relative}.kebab{background:transparent;color:#111;font-size:24px;padding:6px 10px}.row-menu{display:none;position:absolute;right:0;top:44px;z-index:50;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.row-menu.open{display:grid}.row-menu.open-up{top:auto;bottom:44px}.row-menu button{background:#fff;color:#111;text-align:left}.row-menu .danger-item{color:var(--red)}.filters,.invoice-filters,.payroll-top{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filters>*{flex:1 1 170px}.invoice-filters>*{flex:1 1 150px}.invoice-filters input:first-child{flex:2 1 280px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;font:inherit}textarea{min-height:110px}.site-tabs{display:flex;gap:10px;overflow:auto;margin:0 0 22px;padding-bottom:6px}.site-tabs button{min-width:190px;text-align:left;background:#fff;color:#111;border:1px solid var(--line)}.site-tabs button.active{border-color:var(--green);box-shadow:0 0 0 2px #c9f7dd}.site-tabs small{display:block}.pay-card{grid-template-columns:minmax(0,1fr) auto auto auto}.pay-card>strong{font-size:18px}.method-icon{width:44px;height:44px;padding:0;background:#fff;color:#111;border:1px solid var(--line);font-size:20px}.status-button{min-width:130px}.status-button.paid{background:#0f9f67;color:#fff}.status-button.unpaid{background:#d92d20;color:#fff}.status-button.pending{background:#f59e0b;color:#111}.invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-card{padding:18px}.invoice-head,.invoice-foot{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.invoice-head b{font-size:18px}.invoice-money{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.invoice-money div{padding:10px;background:#f7f7f5;border-radius:12px}.invoice-money strong{display:block;margin-top:4px}.invoice-note{background:#fff8d5;border-left:4px solid var(--gold);padding:10px;border-radius:10px}.timeline article{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.details-grid div{padding:12px;background:#f7f7f5;border-radius:12px}.details-grid b{display:block}.completed-folder{margin-top:24px}.completed-folder summary{font-size:20px;font-weight:900;cursor:pointer}.empty{text-align:center;padding:36px;color:var(--muted)}dialog{border:0;border-radius:22px;padding:0;width:min(620px,calc(100% - 24px));max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}#modalBody{padding:22px}#modalBody h2{margin-top:0}.actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;background:#fff;border-top:1px solid var(--line)}.secondary{background:#fff;color:#111;border:1px solid var(--line)}label{display:block;margin:12px 0 6px;font-weight:800}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;justify-content:center;overflow-x:auto;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:2px solid var(--gold);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{min-width:80px;background:transparent;color:var(--muted);border-radius:0;padding:11px 8px;font-size:11px}.bottom-nav button span{display:block;font-size:19px}.bottom-nav button.active{color:#111;box-shadow:inset 0 4px var(--gold)}#toast{position:fixed;z-index:100;left:50%;bottom:105px;transform:translate(-50%,20px);opacity:0;background:#111;color:#fff;border-radius:12px;padding:11px 16px;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:760px){main{padding-top:24px}.brand-wrap div,#syncState{display:none}.brand-wrap img{width:52px;height:52px}.toolbar{align-items:flex-start}.grid{grid-template-columns:1fr 1fr}.invoice-grid{grid-template-columns:1fr}.invoice-money{grid-template-columns:1fr 1fr}.pay-card{grid-template-columns:minmax(0,1fr) auto auto}.status-button{grid-column:1/-1;width:100%}.timeline article{grid-template-columns:1fr auto}.timeline-date{grid-column:1/-1}.bottom-nav{justify-content:flex-start}}@media(max-width:430px){.topbar{padding-left:12px;padding-right:12px}.topbar select{padding:9px 8px}.grid{grid-template-columns:1fr 1fr}.metric strong{font-size:27px}.entity-card,.site-card{grid-template-columns:minmax(0,1fr) auto}.entity-card>.menu-cell,.site-card>.menu-cell{grid-column:2;grid-row:1/3}.badge{justify-self:start}.invoice-money{grid-template-columns:1fr 1fr}}

/* v4.1 premium invoice + black/gold refinement */
:root{
  --bg:#f6f4ef;
  --card:#fffdf9;
  --line:#ece7db;
  --shadow:0 12px 34px rgba(15,23,42,.07);
  --green:#15803d;
}
body{background:radial-gradient(circle at 50% 15%,rgba(255,214,0,.08),transparent 24%),linear-gradient(180deg,#faf7f0 0%,#f3f0e8 100%)}
.topbar{background:linear-gradient(180deg,#0b0c10 0%,#14161b 100%);border-bottom:2px solid #c8a84d}
button.accent{background:linear-gradient(180deg,#f3d46c,#d7a726);color:#111}
.card,.entity-card,.site-card,.pay-card,.invoice-card,.list-item,.site-summary{border-color:rgba(200,168,77,.18);background:rgba(255,253,249,.96)}
.badge{font-weight:800}
.working,.paid,.active{background:#e9f7ef;color:#166534}
.pending,.prepared,.day-off,.paused{background:#fff6db;color:#92400e}
.no-work,.completed{background:#eef0f3;color:#475467}
.invoice-summary-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.invoice-summary-card{padding:18px;border:1px solid rgba(200,168,77,.18);border-radius:18px;background:rgba(255,253,249,.96);box-shadow:var(--shadow)}
.invoice-summary-card.primary{background:linear-gradient(135deg,#17181d 0%,#23262d 100%);color:#fff;border-color:#23262d}
.invoice-summary-card small,.invoice-summary-card span{display:block;color:var(--muted)}
.invoice-summary-card.primary small,.invoice-summary-card.primary span{color:rgba(255,255,255,.72)}
.invoice-summary-card strong{display:block;margin:8px 0 4px;font-size:28px;line-height:1.1}
.invoice-list-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 14px;padding:0 2px}
.invoice-mainline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.invoice-mainline>div{padding:12px 14px;background:#f8f6f0;border:1px solid #eee7d4;border-radius:14px}
.invoice-mainline strong{display:block;margin-top:4px;font-size:22px;line-height:1.1}
.invoice-card .invoice-foot{margin-top:6px;padding-top:10px;border-top:1px solid #eee7d4;align-items:center}
.invoice-card .badge{border:none}
.invoice-note{margin-top:12px}
@media(max-width:760px){
  .invoice-summary-bar{grid-template-columns:1fr}
  .invoice-list-title{display:block}
  .invoice-list-title small{display:block;margin-top:4px}
}

/* UPFIX v4.2 — fast site-to-worker assignment */
.daily-date-card{display:grid;gap:8px;margin-bottom:16px;padding:14px 16px;background:rgba(255,255,255,.96);border:1px solid rgba(200,168,77,.24);border-radius:18px;box-shadow:var(--shadow)}
.daily-date-card input{font-size:17px;font-weight:800;border-color:rgba(200,168,77,.35)}
.daily-site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.daily-site-card{min-height:150px;padding:18px;text-align:left;color:var(--ink);background:linear-gradient(145deg,#fff,#fffaf0);border:1px solid rgba(200,168,77,.34);border-radius:20px;box-shadow:var(--shadow)}
.daily-site-card:active{transform:scale(.99)}
.daily-site-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.daily-site-top b{font-size:19px;line-height:1.2}
.daily-site-top strong{display:grid;place-items:center;min-width:42px;height:42px;padding:0 8px;border-radius:14px;background:#111;color:var(--gold);font-size:20px}
.daily-site-card>small{display:block;margin:6px 0 14px}
.daily-team-preview{display:block;min-height:39px;color:#344054;font-weight:700}
.daily-site-action{display:block;margin-top:12px;color:#111;font-size:13px;font-weight:900}
.daily-empty{grid-column:1/-1}
.compact-away .entity-card{box-shadow:none;background:rgba(255,255,255,.7)}
.assign-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.assign-head .subtitle{margin-bottom:2px;font-size:14px}
.assign-head>b,.assign-head div>b{font-size:18px}
.assign-count{display:grid;place-items:center;min-width:48px;height:48px;padding:0 10px;border-radius:15px;background:#111;color:var(--gold);font-size:21px;font-weight:900}
.worker-search{margin-bottom:10px}
.assign-tools{display:flex;gap:8px;margin-bottom:12px}
.assign-tools button{flex:1;padding:10px 12px}
.worker-picker{display:grid;gap:8px}
.worker-pick{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer}
.worker-pick input{position:absolute;opacity:0;pointer-events:none}
.worker-pick-check{display:grid;place-items:center;width:28px;height:28px;border:2px solid #c7c9ce;border-radius:9px;color:transparent;font-weight:950}
.worker-pick input:checked+.worker-pick-check{border-color:#111;background:var(--gold);color:#111}
.worker-pick:has(input:checked){border-color:#c8a84d;background:#fffaf0;box-shadow:0 0 0 2px rgba(255,214,0,.12)}
.worker-pick-main{min-width:0}
.worker-pick-main b,.worker-pick-main small{display:block}
.worker-pick-main b{font-size:16px}
.worker-pick em{max-width:105px;color:#8a4b00;font-size:11px;font-style:normal;font-weight:800;text-align:right}
[hidden]{display:none!important}
@media(max-width:600px){.daily-site-grid{grid-template-columns:1fr}.daily-site-card{min-height:135px}.worker-pick{grid-template-columns:32px minmax(0,1fr)}.worker-pick em{grid-column:2;text-align:left;max-width:none;margin-top:-5px}}


/* UPFIX v4.3 — read-only site teams outside Daily */
.readonly-team-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.readonly-team-head .subtitle{margin-bottom:2px;font-size:14px}
.readonly-team-head div>b{font-size:18px}
.readonly-team-list{display:grid;gap:8px}
.readonly-worker-name{padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:17px;font-weight:850}
.readonly-team-note{margin:14px 2px 0;color:var(--muted);font-size:13px;line-height:1.35;text-align:center}

/* UPFIX v4.4 — two-Friday payroll, organised invoices, recurring expenses */
.payroll-friday-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.payroll-friday-tabs button{display:grid;gap:4px;min-height:82px;padding:15px 16px;text-align:left;color:var(--ink);background:rgba(255,253,249,.96);border:1px solid rgba(200,168,77,.28);border-radius:18px;box-shadow:var(--shadow)}
.payroll-friday-tabs button span{color:var(--muted);font-size:13px}
.payroll-friday-tabs button strong{font-size:19px;line-height:1.15}
.payroll-friday-tabs button.active{color:#fff;background:linear-gradient(145deg,#121317,#24262d);border-color:#c8a84d;box-shadow:0 0 0 2px rgba(200,168,77,.18),var(--shadow)}
.payroll-friday-tabs button.active span{color:rgba(255,255,255,.7)}
.payroll-period-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 15px;border:1px solid rgba(200,168,77,.22);border-radius:15px;background:#fffaf0}
.payroll-period-note span{color:var(--muted)}
.payroll-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.payroll-summary-grid article{padding:16px;border:1px solid rgba(200,168,77,.2);border-radius:18px;background:rgba(255,253,249,.96);box-shadow:var(--shadow)}
.payroll-summary-grid article small,.payroll-summary-grid article span{display:block;color:var(--muted)}
.payroll-summary-grid article strong{display:block;margin:8px 0 5px;font-size:25px;line-height:1.05}
.payroll-summary-grid article.remaining{color:#fff;background:linear-gradient(145deg,#111317,#292c33);border-color:#292c33}
.payroll-summary-grid article.remaining small,.payroll-summary-grid article.remaining span{color:rgba(255,255,255,.7)}
.payroll-worker-card{display:block;padding:0;overflow:hidden}
.payroll-worker-card.is-paid{opacity:.82}
.pay-edit{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 18px 14px;text-align:left;color:var(--ink);background:transparent;border-radius:0}
.pay-edit b,.pay-edit small{display:block}
.pay-edit b{font-size:18px}
.pay-edit strong{font-size:19px;white-space:nowrap}
.pay-edit em{color:var(--muted);font-size:13px;font-style:normal;font-weight:800}
.payroll-worker-card .status-button{width:calc(100% - 28px);min-height:48px;margin:0 14px 14px;border-radius:15px}
.payroll-worker-card.is-paid .pay-edit strong{text-decoration:line-through;text-decoration-thickness:1px}

.invoice-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 16px}
.invoice-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:#fff;border:1px solid var(--line)}
.invoice-tabs button span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:12px}
.invoice-tabs button.active{color:#fff;background:#111;border-color:#111}
.invoice-tabs button.active span{background:var(--gold);color:#111}
.invoice-groups{display:grid;gap:22px}
.invoice-site-group{display:grid;gap:12px}
.invoice-group-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 3px 9px;border-bottom:1px solid rgba(200,168,77,.28)}
.invoice-group-head b,.invoice-group-head small{display:block}
.invoice-group-head b{font-size:20px}
.invoice-group-head strong{font-size:15px;text-align:right}
.overdue-group .invoice-group-head{color:#991b1b;border-bottom-color:#fecaca}
.invoice-amount-block span{display:block;margin-top:5px;color:var(--muted);font-size:14px;font-weight:800}
.invoice-card .invoice-foot .badge{pointer-events:none}
.modal-note{padding:14px 16px;border:1px solid rgba(200,168,77,.26);border-radius:14px;background:#fffaf0}
.modal-note strong{display:block;margin-top:5px;font-size:24px}

.expense-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.expense-section{margin-top:24px}
.section-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.section-title h2{margin:0}
.section-title span{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#111;color:var(--gold);font-size:12px;font-weight:900}
.expense-item{gap:12px}
.expense-actions{display:flex;align-items:center;gap:6px}
.expense-actions>strong{white-space:nowrap;font-size:18px}

@media(max-width:900px){
  .payroll-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .payroll-friday-tabs{gap:8px}
  .payroll-friday-tabs button{min-height:78px;padding:12px}
  .payroll-friday-tabs button strong{font-size:16px}
  .payroll-period-note{display:grid;gap:2px}
  .payroll-summary-grid{gap:9px}
  .payroll-summary-grid article{padding:14px}
  .payroll-summary-grid article strong{font-size:22px}
  .pay-edit{grid-template-columns:1fr;gap:8px}
  .pay-edit strong{justify-self:start}
  .invoice-group-head{align-items:flex-start}
  .invoice-group-head strong{max-width:48%}
  .expense-toolbar{width:100%;justify-content:stretch}
  .expense-toolbar button{flex:1}
}


/* UPFIX v4.4.1 — historical sites, split shifts and mobile hardening */
.historical-site-card{background:linear-gradient(145deg,#f4f4f5,#fff);border-style:dashed;opacity:.9}
.historical-site-card .daily-site-action{color:var(--muted)}
.readonly-worker-name{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.readonly-worker-name span{min-width:0;overflow-wrap:anywhere}
.readonly-worker-name small{white-space:nowrap;color:var(--muted);font-size:13px}
.invoice-card,.invoice-grid,.invoice-site-group,.invoice-mainline,.invoice-foot,.entity-main{min-width:0}
.invoice-card b,.invoice-card small,.invoice-card strong,.invoice-card span,.invoice-group-head b{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:600px){
  .invoice-tabs{gap:6px}
  .invoice-tabs button{min-width:0;padding:11px 7px;font-size:12px}
  .invoice-tabs button span{min-width:20px;height:20px;padding:0 5px}
  .invoice-mainline{grid-template-columns:1fr}
  .invoice-card{overflow:hidden}
  .invoice-card .invoice-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .invoice-group-head{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
  .invoice-group-head strong{max-width:none;text-align:left;overflow-wrap:anywhere}
  .readonly-worker-name{align-items:flex-start}
}

/* v5.0.2 — visible Monday–Friday payroll attendance */
.payroll-day-strip{display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));gap:6px;padding:0 14px 12px;overflow-x:auto}
.payroll-day{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line,#ddd);border-radius:10px;padding:6px 3px;background:var(--panel,#fff);font-style:normal}
.payroll-day b{font-size:11px;text-transform:uppercase}
.payroll-day small{font-size:12px}
.payroll-day em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;opacity:.75}
.payroll-day.working{border-color:#9fc9aa;background:#eef8f0}
.payroll-day.day-off{border-color:#df6b6b;background:#ffe8e8;color:#a40000;font-weight:700}
.payroll-day.sick,.payroll-day.holiday{border-color:#e2b85b;background:#fff5da}
.payroll-day.no-work,.payroll-day.no-record{opacity:.55}
.payroll-day:nth-child(6),.payroll-day:nth-child(7){box-shadow:inset 0 0 0 1px rgba(160,120,0,.12)}
@media(max-width:520px){.payroll-day-strip{gap:4px;padding:0 10px 10px}.payroll-day{padding:5px 1px}.payroll-day em{font-size:8px}}


/* UPFIX v5.1.0 Analytics */
:root{--chart-1:#d4af37;--chart-2:#111827;--chart-3:#64748b;--chart-4:#b7791f;--chart-5:#475569;--chart-6:#a16207;--chart-7:#334155;--chart-8:#f59e0b;--surface-3:#e5e7eb}
.analytics-range{margin-bottom:16px;overflow-x:auto;justify-content:flex-start}
.analytics-range button{white-space:nowrap}
.analytics-kpis .metric span{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.danger-metric strong{color:#b42318}
.analytics-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;margin-top:18px}
.analytics-panel{padding:18px;min-width:0}
.analytics-panel .section-title{margin:0 0 18px;align-items:flex-start}
.analytics-panel .section-title h2{margin:0}
.analytics-panel .section-title small{color:var(--muted)}
.company-chart-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}
.company-pie{width:210px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--pie));display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.company-pie:after{content:"";position:absolute;inset:25%;border-radius:50%;background:var(--card,#fff);box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.company-pie>div{position:relative;z-index:1;text-align:center;display:grid}
.company-pie strong{font-size:30px}.company-pie small{color:var(--muted)}
.company-legend{display:grid;gap:8px;max-height:300px;overflow:auto}
.company-legend article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.company-legend i{width:10px;height:34px;border-radius:8px;background:var(--legend)}
.company-legend div{min-width:0}.company-legend b,.company-legend small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-legend small{color:var(--muted)}
.analytics-chart-wrap{overflow:hidden}.analytics-line-chart{width:100%;height:auto;min-height:220px;overflow:visible}
.chart-axis{stroke:var(--line);stroke-width:2}.chart-line{fill:none;stroke:var(--gold,#b9952f);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--card,#fff);stroke:var(--gold,#b9952f);stroke-width:4}
.analytics-chart-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin-top:-5px}.analytics-chart-labels span{text-align:center;min-width:0}.analytics-chart-labels b,.analytics-chart-labels small{display:block}.analytics-chart-labels small{color:var(--muted);font-size:11px}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.company-chart-layout{grid-template-columns:180px 1fr}.company-pie{width:175px}}
@media(max-width:600px){.analytics-panel{padding:14px}.company-chart-layout{grid-template-columns:1fr}.company-pie{width:190px;margin:auto}.analytics-chart-labels{display:flex;overflow-x:auto;justify-content:space-between}.analytics-chart-labels span{min-width:78px}.analytics-line-chart{min-width:620px}.analytics-chart-wrap{overflow-x:auto}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpis .metric:last-child{grid-column:1/-1}}

/* UPFIX v5.2.0 — Temporary/Outsource workers and weekly site headcount */
.worker-type-temporary{border-left:5px solid #7c3aed;background:linear-gradient(135deg,#fff,#f5f0ff)}
.worker-type-outsource{border-left:5px solid #0284c7;background:linear-gradient(135deg,#fff,#eef9ff)}
.worker-inactive{opacity:.62;filter:saturate(.75)}
.worker-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.worker-type-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.worker-type-badge.temporary{background:#ede9fe;color:#5b21b6}
.worker-type-badge.outsource{background:#e0f2fe;color:#075985}
.weekly-headcount-head{margin-bottom:14px}
.weekly-headcount-list{display:grid;gap:9px}
.weekly-headcount-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.weekly-headcount-row b,.weekly-headcount-row small{display:block}
.weekly-headcount-row strong{display:grid;place-items:center;min-width:54px;height:42px;padding:0 10px;border-radius:12px;background:#111;color:var(--gold);font-size:19px}
.weekly-headcount-row.is-off{opacity:.68}
.weekly-headcount-row.is-off strong{background:#e5e7eb;color:#475467;font-size:12px}
.weekly-headcount-nav{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;margin-top:15px}
@media(max-width:600px){.weekly-headcount-nav{grid-template-columns:1fr 1fr}.weekly-headcount-nav #siteWeeksCurrent{grid-column:1/-1;grid-row:1}.weekly-headcount-row{padding:12px}.weekly-headcount-row b{font-size:13px}}


/* UPFIX v5.3.0 — branded dark interface update */
:root{
  --ink:#f7f7f4;--muted:#9ba0aa;--line:#292c31;--bg:#090a0c;--card:#131518;
  --panel:#101214;--panel-2:#17191d;--gold:#ffd000;--gold-soft:#2d2705;
  --green:#27c46a;--red:#ff5a52;--blue:#4c9cff;--orange:#ffae21;
  --radius:16px;--shadow:0 16px 38px rgba(0,0,0,.28)
}
html,body{background:#070809;color:var(--ink);color-scheme:dark}
body{background:radial-gradient(circle at 50% -10%,rgba(255,208,0,.08),transparent 26%),linear-gradient(180deg,#0b0c0e,#08090a 50%,#060708);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.topbar{min-height:106px;padding:calc(10px + env(safe-area-inset-top)) max(18px,calc((100vw - 1180px)/2)) 12px;background:linear-gradient(135deg,#08090a,#121416);border-bottom:1px solid rgba(255,208,0,.7);box-shadow:none}
.brand-wrap{gap:13px}.brand-wrap img{width:70px;height:70px;filter:drop-shadow(0 5px 12px rgba(255,208,0,.12))}.brand-copy{display:grid;line-height:1.2}.brand-copy small{color:#c8cbd0;font-size:12px}.brand-copy b{color:#fff;letter-spacing:0;font-size:17px}.brand-copy em{display:none;color:var(--gold);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.13em;margin-top:4px}
.user-tools{gap:10px}.user-tools #syncState{position:absolute;right:18px;top:calc(8px + env(safe-area-inset-top));font-size:10px}.topbar select{height:44px;background:#17191d;color:#fff;border:1px solid #303339;border-radius:12px;padding:0 34px 0 14px}.header-bell{position:relative;width:28px;height:28px;color:var(--gold);font-size:20px;display:grid;place-items:center}
main{max-width:1180px;padding:28px 18px 108px}.toolbar{align-items:center;margin-bottom:20px}.toolbar h1{font-size:clamp(30px,7vw,46px);letter-spacing:-.045em}.subtitle{font-size:14px;color:var(--muted)}h2{font-size:19px}
button{border-radius:12px;background:#1b1d21;color:#fff;border:1px solid #2e3137;transition:transform .15s ease,border-color .15s ease,background .15s ease}button:active{transform:scale(.985)}button.accent,.add-site-button{background:linear-gradient(135deg,#ffdf21,#ffc400);color:#080808;border-color:#ffd000;box-shadow:0 10px 24px rgba(255,208,0,.14)}
.card,.entity-card,.site-card,.pay-card,.invoice-card,.list-item,.site-summary,.analytics-panel,.invoice-summary-card{background:linear-gradient(145deg,#17191c,#111315);border-color:#292c31;box-shadow:var(--shadow)}
.segmented{padding:4px;background:#111316;border:1px solid #25282d;border-radius:13px;gap:4px}.segmented button{background:transparent;color:#9da2aa;border:0}.segmented button.active{background:#25282d;color:var(--gold);box-shadow:none}
.ui-icon{display:inline-grid;place-items:center}.ui-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.row-arrow svg{width:18px;height:18px}
.dashboard-range{max-width:610px}.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.dashboard-kpi{grid-column:span 2;display:flex;gap:13px;align-items:flex-start;min-height:132px;padding:18px;background:linear-gradient(145deg,#16181b,#101214);border:1px solid #292c31;border-radius:16px;box-shadow:var(--shadow)}.dashboard-kpi.wide{grid-column:span 3}.dashboard-kpi>span{flex:0 0 52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,208,0,.26);border-radius:13px;background:linear-gradient(145deg,#201e14,#141515);color:var(--gold)}.dashboard-kpi>span .ui-icon svg{width:28px;height:28px}.dashboard-kpi div{min-width:0}.dashboard-kpi small,.dashboard-kpi em{display:block;color:#b8bbc1;font-style:normal}.dashboard-kpi strong{display:block;font-size:28px;line-height:1.1;margin-top:6px;overflow-wrap:anywhere}.dashboard-kpi em{color:var(--gold);font-size:12px;margin-top:8px}
.dashboard-panel{margin-top:16px;padding:14px;background:linear-gradient(145deg,#131518,#0f1113);border:1px solid #282b30;border-radius:18px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 11px}.section-head h2{margin:0}.section-head button{background:transparent;border:0;color:var(--gold);padding:8px}.dashboard-site-list,.activity-list{display:grid;gap:8px}.dashboard-site-row,.activity-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;background:#17191c;border-color:#2a2d32;padding:12px}.dashboard-site-icon,.activity-icon{width:52px;height:52px;display:grid;place-items:center;color:var(--gold);background:#0c0e10;border:1px solid #34302a;border-radius:12px}.dashboard-site-main,.activity-row>span:nth-child(2){min-width:0}.dashboard-site-main b,.activity-row b{display:block;font-size:16px}.dashboard-site-main small,.activity-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-site-row>strong{min-width:48px;padding:9px 12px;border-radius:10px;background:var(--gold-soft);color:var(--gold);text-align:center}.avatar-stack{display:flex;align-items:center;margin-top:8px;min-height:24px}.avatar-stack i,.avatar-stack em{width:25px;height:25px;display:grid;place-items:center;margin-right:-5px;border:2px solid #17191c;border-radius:50%;background:#34373d;color:#fff;font-size:8px;font-style:normal;font-weight:800}.avatar-stack em{background:#2d2705;color:var(--gold);margin-left:8px;border-color:#2d2705}.activity-row.passive{grid-template-columns:auto minmax(0,1fr);cursor:default}.activity-row>strong{text-align:right}.activity-row>strong small{font-weight:500}.danger-text{color:#ff625a}.success-text{color:#42d67c}
.worker-controls{display:grid;gap:12px;margin-bottom:16px}.search-box{display:flex;align-items:center;gap:10px;background:#111316;border:1px solid #2d3036;border-radius:12px;padding:0 12px}.search-box .ui-icon{color:#8d929a}.search-box input{border:0;background:transparent;padding-left:0;outline:none}.worker-filter-chips{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.worker-filter-chips button{white-space:nowrap;background:#141619;color:#aeb2b9}.worker-filter-chips button.active{background:var(--gold-soft);border-color:#655608;color:var(--gold)}.worker-list-modern{display:grid;gap:8px}.worker-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 12px;background:linear-gradient(145deg,#17191c,#121416);border:1px solid #292c31;border-radius:14px}.worker-avatar{width:42px;height:42px;display:grid;place-items:center;padding:0;border-radius:50%;background:#31343a;color:#fff;border:1px solid #464a51;font-size:11px;font-weight:900}.worker-row-main{min-width:0}.worker-row-main b,.worker-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-row-main b{font-size:15px}.worker-type-temporary,.worker-type-outsource{background:linear-gradient(145deg,#17191c,#121416)}.worker-type-temporary{border-left:3px solid #9d75ff}.worker-type-outsource{border-left:3px solid #35bafa}.worker-type-badge.temporary{background:#2b2140;color:#c3a8ff}.worker-type-badge.outsource{background:#102b37;color:#74d5ff}
.daily-head-actions{display:flex;gap:8px}.calendar-button{position:relative;width:46px;height:46px;margin:0;display:grid;place-items:center;border:1px solid #30343a;border-radius:12px;background:#17191d;color:#fff;overflow:hidden}.calendar-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.daily-week-strip{display:grid;grid-template-columns:44px repeat(7,minmax(48px,1fr)) 44px;gap:6px;align-items:stretch;margin-bottom:18px;padding:8px;background:#101214;border:1px solid #292c31;border-radius:15px;overflow:auto}.daily-week-strip button{min-width:48px;padding:8px 4px;background:transparent;border:0;color:#a9adb4}.daily-week-strip button small,.daily-week-strip button b{display:block}.daily-week-strip button b{font-size:17px}.daily-week-strip button.active{background:linear-gradient(145deg,#ffdf22,#ffc400);color:#080808;border-radius:11px}.daily-week-strip .week-arrow{font-size:26px}.daily-instruction{color:var(--muted);margin:0 2px 14px}.daily-site-grid{display:grid;gap:10px}.daily-site-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;padding:14px;background:linear-gradient(145deg,#17191c,#121416);border:1px solid #2a2d32;border-radius:15px;color:#fff}.daily-site-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,208,0,.24);border-radius:12px;background:#0d0f11;color:var(--gold)}.daily-site-content{min-width:0}.daily-site-content b,.daily-site-content small,.daily-site-content em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-site-content b{font-size:17px}.daily-site-content em{margin-top:5px;color:#adb1b8;font-size:11px;font-style:normal}.daily-site-card>strong{min-width:48px;padding:9px 11px;border-radius:10px;background:var(--gold-soft);color:var(--gold);text-align:center;font-size:16px}.away-section{margin-top:22px}
.site-card{border-left:3px solid var(--gold)}.site-paused{border-left-color:var(--orange)}.site-completed{border-left-color:#5f646c}.entity-main b,.name-link{color:#fff}.name-link{background:none;border:0}.site-card .entity-main span{display:inline-block;margin-top:8px;color:var(--gold)}
.payroll-friday-tabs button,.payroll-summary-grid article,.pay-card{background:linear-gradient(145deg,#17191c,#111315);border-color:#292c31}.payroll-friday-tabs button.active{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.payroll-summary-grid article strong{color:#fff}.payroll-summary-grid article.cash strong{color:#35d779}.payroll-summary-grid article.bank strong{color:#5da8ff}.payroll-day{background:#101214;border-color:#2a2d32}.payroll-day.working{background:#102219;border-color:#215d39}.payroll-day.day-off{background:#2b1616;border-color:#69312e}
.invoice-card,.invoice-summary-card,.invoice-site-group,.timeline article,.details-grid div{background:linear-gradient(145deg,#17191c,#111315);border-color:#292c31}.invoice-money div,.modal-note{background:#101214}.invoice-note{background:#272109;color:#fff}.invoice-tabs button{background:#141619;color:#aeb2b9}.invoice-tabs button.active{background:var(--gold-soft);color:var(--gold);border-color:#665709}
input,select,textarea{background:#111316;color:#fff;border-color:#30343a}input::placeholder,textarea::placeholder{color:#70757e}.secondary{background:#15171a;color:#fff;border-color:#34373d}.badge{border:1px solid transparent}.working,.paid,.active{background:#123620;color:#57df89}.unpaid,.overdue,.sick{background:#3a1817;color:#ff726a}.pending,.prepared,.day-off,.paused{background:#382f0d;color:#ffd536}.holiday{background:#142b45;color:#69afff}.no-work,.completed{background:#292c31;color:#c0c4ca}
dialog{background:#0f1113;color:#fff;border:1px solid #30343a}.actions{background:#111315;border-color:#292c31}.modal-note{border-color:#403a21}
.weekly-headcount-row{background:#15171a;border-color:#2d3035}.weekly-headcount-row strong{min-width:76px;height:52px;background:linear-gradient(145deg,#ffdf22,#ffc400);color:#090909;line-height:1}.weekly-headcount-row strong span,.weekly-headcount-row strong small{display:block}.weekly-headcount-row strong small{margin-top:3px;color:#342d00;font-size:9px;text-transform:uppercase}.weekly-headcount-row.is-off strong{background:#25282d;color:#9ea3aa}.weekly-headcount-nav{grid-template-columns:1fr 1fr}
.more-menu{display:grid;gap:9px}.more-menu>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left;padding:14px;background:linear-gradient(145deg,#17191c,#111315);border-color:#292c31}.more-menu .more-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#0c0e10;color:var(--gold)}.more-menu b,.more-menu small{display:block}.more-menu b{font-size:16px}.more-menu small{color:#969ba3}
.bottom-nav{background:rgba(9,10,12,.94);border-top:1px solid #26292e;backdrop-filter:blur(22px);padding:5px 6px env(safe-area-inset-bottom);justify-content:space-around}.bottom-nav button{min-width:64px;display:grid;place-items:center;gap:2px;background:transparent;border:0;color:#8f949c;padding:7px 5px}.bottom-nav button .ui-icon svg{width:23px;height:23px}.bottom-nav button .nav-label{font-size:10px}.bottom-nav button.active{color:var(--gold);box-shadow:inset 0 2px var(--gold)}
#toast{background:#202328;border:1px solid #3a3d43}
@media(max-width:760px){
  .topbar{min-height:92px;padding-left:15px;padding-right:15px}.brand-wrap img{width:56px;height:56px}.brand-copy small{font-size:10px}.brand-copy b{font-size:13px}.brand-copy em{display:block}.topbar select{height:40px;max-width:104px;padding-left:11px}.user-tools{gap:6px}.user-tools #syncState{display:none}.header-bell{display:none}
  main{padding:21px 14px 102px}.toolbar{align-items:flex-start}.toolbar h1{font-size:30px}.toolbar>.accent{white-space:nowrap}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-kpi,.dashboard-kpi.wide{grid-column:span 1;min-height:116px;padding:13px;display:block}.dashboard-kpi:last-child{grid-column:1/-1}.dashboard-kpi>span{width:42px;height:42px;margin-bottom:9px}.dashboard-kpi>span .ui-icon svg{width:23px;height:23px}.dashboard-kpi strong{font-size:21px}.dashboard-site-row,.activity-row{gap:9px;padding:10px}.dashboard-site-icon,.activity-icon{width:45px;height:45px}.dashboard-site-main b,.activity-row b{font-size:14px}.dashboard-site-row>strong{min-width:42px;padding:8px}.daily-head-actions{flex-direction:row}.daily-week-strip{grid-template-columns:36px repeat(7,48px) 36px;margin-left:-2px;margin-right:-2px}.daily-site-card{padding:11px;gap:9px}.daily-site-icon{width:44px;height:44px}.daily-site-content b{font-size:15px}.daily-site-card>strong{min-width:42px;padding:8px}.worker-row{grid-template-columns:auto minmax(0,1fr) auto auto}.weekly-headcount-row{padding:12px}.weekly-headcount-row b{font-size:12px}.weekly-headcount-row strong{min-width:68px}.invoice-grid{grid-template-columns:1fr}
}
@media(max-width:430px){.brand-copy small{display:none}.brand-copy b{max-width:125px}.topbar select{max-width:90px}.dashboard-site-main .avatar-stack{display:none}.dashboard-kpi small{font-size:10px}.dashboard-kpi strong{font-size:19px}.worker-row .badge{font-size:9px;padding:6px 7px}.bottom-nav button{min-width:58px}}

/* v5.3.0 final specificity fixes */
.page.active{display:block;background:transparent;color:inherit}
@media(max-width:760px){
  .brand-wrap .brand-copy{display:grid}
  .topbar select{max-width:118px}
  .daily-week-strip{grid-template-columns:30px repeat(7,minmax(36px,1fr)) 30px;gap:4px;overflow:visible}
  .daily-week-strip button{min-width:0}
}


/* UPFIX v5.4.0 — readability, responsive cards and premium consistency */
.brand-wrap img{display:block;object-fit:contain;object-position:center;background:transparent}
.activity-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-row>strong{min-width:0;max-width:150px;white-space:nowrap}
.activity-row.audit-link{grid-template-columns:auto minmax(0,1fr) auto;cursor:pointer}

.invoice-card{overflow:visible;padding:16px}
.invoice-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.invoice-title-block{min-width:0}
.invoice-display-title{display:block;max-width:100%;overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap;word-break:normal!important;overflow-wrap:normal!important;font-size:19px!important;line-height:1.2}
.invoice-title-block small{margin-top:5px;overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap;word-break:normal!important}
.invoice-card .kebab{color:#d7dae0;background:#141619;border:1px solid #30343a;min-width:44px;height:44px;padding:0}
.row-menu{background:#17191d;border-color:#34373d}.row-menu button{background:#17191d;color:#fff}
.invoice-mainline{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin:14px 0}
.invoice-mainline>div,.invoice-info-card{min-width:0;padding:13px 14px;background:linear-gradient(145deg,#101214,#0c0e10)!important;border:1px solid #2c3036!important;border-radius:13px}
.invoice-info-card small{display:block;color:#8f959f;font-size:12px;font-weight:700}
.invoice-info-card strong{display:block;margin-top:5px;color:#fff!important;font-size:clamp(18px,4.8vw,24px);line-height:1.08;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.invoice-amount-block strong{color:var(--gold)!important}
.invoice-amount-block span{display:block;margin-top:6px;color:#c3c7ce!important;font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.invoice-card .invoice-foot{margin-top:2px;padding-top:12px;border-top:1px solid #30343a!important;align-items:center}
.invoice-card .invoice-foot>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-note{background:#211d08!important;border-left-color:var(--gold);color:#fff}

.worker-picker{gap:9px}
.worker-pick{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:13px 14px;min-height:70px;background:linear-gradient(145deg,#17191c,#111315)!important;border:1px solid #30343a!important;border-radius:14px;color:#fff;box-shadow:none}
.worker-pick:hover{border-color:#555a63!important}
.worker-pick:has(input:checked){background:linear-gradient(145deg,#201d0c,#15150f)!important;border-color:#d0ae18!important;box-shadow:0 0 0 1px rgba(255,208,0,.18),0 10px 24px rgba(0,0,0,.18)}
.worker-pick-check{width:30px;height:30px;border:2px solid #5d626b;background:#0c0e10;color:transparent}
.worker-pick input:checked+.worker-pick-check{border-color:var(--gold);background:var(--gold);color:#090909}
.worker-pick-main{min-width:0}
.worker-pick-main b{display:block;color:#fff!important;font-size:16px;font-weight:850;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.worker-pick-main small{display:block;margin-top:4px;color:#aeb3bc!important;font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assign-head{margin-bottom:12px}.worker-search{background:#0d0f11!important;border-color:#343840!important}.assign-tools button{min-height:44px}

.analytics-kpis{align-items:stretch}
.analytics-kpis .metric{min-width:0;overflow:hidden;padding:17px;background:linear-gradient(145deg,#17191c,#101214);border-color:#2b2f35}
.analytics-kpis .metric small,.analytics-kpis .metric span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-kpis .money-value{display:block;min-width:0;max-width:100%;margin-top:10px;color:#fff;font-size:clamp(20px,5.1vw,34px);line-height:1.05;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:clip;font-variant-numeric:tabular-nums}
.analytics-kpis .danger-metric .money-value{color:#ff5d55}
.analytics-kpis .accent-metric{grid-column:1/-1;background:linear-gradient(145deg,#1d1a0d,#111315);border-color:#665709}
.analytics-kpis .accent-metric .money-value{color:var(--gold)}

@media(max-width:600px){
  .invoice-mainline{grid-template-columns:1fr 1fr}
  .invoice-info-card strong{font-size:clamp(17px,5.3vw,22px)}
  .activity-row>strong{max-width:115px;font-size:13px}
  .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-kpis .metric{padding:15px 13px;min-height:145px}
  .analytics-kpis .money-value{font-size:clamp(18px,5.1vw,24px)}
}
@media(max-width:390px){
  .invoice-mainline{grid-template-columns:1fr}
  .analytics-kpis{grid-template-columns:1fr}
  .analytics-kpis .metric,.analytics-kpis .metric:last-child,.analytics-kpis .accent-metric{grid-column:1}
  .analytics-kpis .money-value{font-size:28px}
}

/* UPFIX v5.5.0 — Invoice Search & UX */
.invoice-search-panel{position:relative;display:grid;gap:12px;margin:0 0 22px;padding:14px;border:1px solid #292c31;border-radius:18px;background:linear-gradient(145deg,#17191c,#111315);box-shadow:var(--shadow)}
.invoice-search-wrap{position:relative;display:flex;align-items:center;gap:10px}
.invoice-search-wrap>span{position:absolute;left:15px;color:#aeb2b9;font-size:24px;pointer-events:none}
.invoice-search-wrap input{height:52px;padding:0 48px 0 46px;border:1px solid #3a3e45;background:#0d0f11;color:#fff;font-size:16px;font-weight:750;box-shadow:inset 0 0 0 1px rgba(255,214,0,.02)}
.invoice-search-wrap input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,214,0,.13)}
.invoice-search-clear{position:absolute;right:7px;display:none;width:38px;height:38px;padding:0;border-radius:50%;background:#272a2f;color:#fff;font-size:24px;line-height:1}
.invoice-search-clear.visible{display:grid;place-items:center}
.invoice-quick-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.invoice-quick-filters::-webkit-scrollbar{display:none}
.invoice-quick-filters button{flex:0 0 auto;padding:9px 13px;border:1px solid #33373d;background:#141619;color:#b9bdc5;border-radius:999px;font-size:12px;font-weight:850}
.invoice-quick-filters button.active{background:var(--gold);border-color:var(--gold);color:#111}
.invoice-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:9px}
.invoice-filter-grid select{min-width:0;background:#101214;color:#fff;border-color:#33373d}
.invoice-view-toggle{display:flex;padding:3px;border:1px solid #33373d;border-radius:13px;background:#0e1012}
.invoice-view-toggle button{padding:9px 11px;background:transparent;color:#9fa4ad;border-radius:9px;font-size:12px;white-space:nowrap}
.invoice-view-toggle button.active{background:#292d33;color:#fff}
.invoice-advanced{border-top:1px solid #292c31;padding-top:10px}
.invoice-advanced summary{cursor:pointer;color:#aeb2b9;font-weight:800}
.invoice-date-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.invoice-date-filters label{margin:0;color:#9fa4ad;font-size:12px}
.invoice-date-filters input{margin-top:5px;background:#101214;color:#fff;border-color:#33373d}
.invoice-summary-card.danger-summary{border-color:rgba(217,45,32,.42);background:linear-gradient(145deg,#241516,#151214)}
.invoice-summary-card.danger-summary strong{color:#ff8b83}
.invoice-card{position:relative;border-left:4px solid #69707a}
.overdue-group .invoice-card{border-left-color:#ef4444}
.invoice-card:has(.badge.paid){border-left-color:#22c55e}
.invoice-groups.compact-view{gap:16px}
.compact-view .invoice-site-group{gap:8px}
.compact-view .invoice-grid{display:grid;grid-template-columns:1fr;gap:7px}
.compact-view .invoice-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(110px,.65fr) auto;align-items:center;gap:12px;padding:11px 12px;border-radius:13px}
.compact-view .invoice-head{display:contents}
.compact-view .invoice-title-block{grid-column:1}
.compact-view .invoice-display-title{font-size:15px!important}
.compact-view .invoice-title-block small{font-size:11px}
.compact-view .invoice-mainline{grid-column:2;display:block;margin:0}
.compact-view .invoice-mainline .invoice-info-card:first-child{display:none}
.compact-view .invoice-mainline>div{padding:0!important;border:0!important;background:transparent!important}
.compact-view .invoice-info-card small{display:none}
.compact-view .invoice-info-card strong{font-size:17px}
.compact-view .invoice-amount-block span{font-size:10px;margin-top:2px}
.compact-view .menu-cell{grid-column:3;grid-row:1}
.compact-view .invoice-foot{grid-column:1/-1;margin:0!important;padding-top:7px!important;font-size:11px}
.compact-view .invoice-note{grid-column:1/-1;margin:0;padding:8px 10px;font-size:12px}
@media(max-width:760px){.invoice-filter-grid{grid-template-columns:1fr 1fr}.invoice-view-toggle{grid-column:1/-1}.invoice-view-toggle button{flex:1}.invoice-search-panel{margin-left:-2px;margin-right:-2px;padding:11px}.compact-view .invoice-card{grid-template-columns:minmax(0,1fr) auto}.compact-view .invoice-mainline{grid-column:1}.compact-view .menu-cell{grid-column:2}.compact-view .invoice-foot{grid-column:1/-1}}

/* UPFIX v5.6.0 — Weekly Summary, separated expenses and Payroll period card */
.payroll-period-note{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;
  margin:0 0 16px;padding:14px 16px;text-align:left;color:#fff;
  border:1px solid #30343a;border-radius:17px;background:linear-gradient(145deg,#17191c,#101214);
  box-shadow:var(--shadow)
}
.payroll-period-note:hover{border-color:#5b5018}
.payroll-period-note .payroll-period-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,208,0,.45);border-radius:13px;background:#0d0f11;color:var(--gold)}
.payroll-period-note .payroll-period-icon .ui-icon svg{width:27px;height:27px}
.payroll-period-note .payroll-period-copy{display:block;min-width:0;color:inherit}
.payroll-period-copy small,.payroll-period-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payroll-period-copy small{color:#aeb2b9;font-size:13px;font-weight:700}
.payroll-period-copy strong{margin-top:3px;color:var(--gold);font-size:18px;letter-spacing:-.015em}
.payroll-period-note>.row-arrow{color:#bfc3ca}
.period-detail-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:6px 0 16px;padding:15px;border:1px solid #30343a;border-radius:15px;background:#101214}
.period-detail-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,208,0,.42);border-radius:12px;color:var(--gold)}
.period-detail-card small,.period-detail-card strong{display:block}.period-detail-card strong{margin-top:4px;color:var(--gold);font-size:17px}
.payroll-period-details b{font-size:16px}

.weekly-summary-tabs{margin-bottom:18px}
.weekly-summary-hero{padding:20px;margin-bottom:16px;background:linear-gradient(145deg,#17191c,#0e1012);border-color:#30343a}
.weekly-summary-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #2c3036}
.weekly-summary-title span{color:#b7bbc2;font-size:14px;font-weight:900;letter-spacing:.04em}.weekly-summary-title small{white-space:nowrap}
.weekly-summary-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}
.weekly-summary-kpis article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding:8px 18px;border-right:1px solid #30343a}
.weekly-summary-kpis article:first-child{padding-left:0}.weekly-summary-kpis article:last-child{padding-right:0;border-right:0}
.weekly-kpi-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid;border-radius:50%;background:#0b0d0f}
.weekly-kpi-icon.invoice{color:var(--gold);border-color:#8b7500}.weekly-kpi-icon.payroll{color:#45d77d;border-color:#267a48}.weekly-kpi-icon.profit{color:var(--gold);border-color:#8b7500}
.weekly-kpi-icon .ui-icon svg{width:27px;height:27px}
.weekly-summary-kpis small,.weekly-summary-kpis strong,.weekly-summary-kpis em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weekly-summary-kpis small{color:#aeb2b9;font-size:13px}.weekly-summary-kpis strong{margin-top:5px;color:#fff;font-size:clamp(21px,3.5vw,31px);letter-spacing:-.035em}.weekly-summary-kpis em{margin-top:6px;color:#9fa4ad;font-style:normal;font-size:12px}
.weekly-profit-kpi.positive strong,.weekly-profit-kpi.positive em{color:#43d779}.weekly-profit-kpi.negative strong,.weekly-profit-kpi.negative em{color:#ff625a}
.weekly-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weekly-detail-panel{padding:17px;min-width:0}
.weekly-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #2d3035}.weekly-panel-head h2{margin:0;font-size:17px}.weekly-panel-head small{display:block;margin-top:3px}.weekly-panel-head>strong{color:var(--gold);white-space:nowrap}
.weekly-detail-list{display:grid;gap:2px;margin-top:7px}.weekly-detail-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 3px;text-align:left;background:transparent;border:0;border-bottom:1px solid #25282d;border-radius:0}
.weekly-detail-row>span:nth-child(2){min-width:0}.weekly-detail-row b,.weekly-detail-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-detail-row small{font-size:11px}.weekly-detail-row>strong{white-space:nowrap;font-size:14px}.weekly-detail-row>.row-arrow{color:#7f858e}
.weekly-row-dot{width:10px;height:10px;border-radius:50%}.invoice-dot{background:#48cf72}.payroll-dot{background:#9f78ff}
.weekly-open-all{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;background:#121416;color:var(--gold);border-color:#34383e}
.weekly-profit-overview{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:16px;padding:20px;overflow:hidden}
.weekly-profit-overview h2{margin:0 0 13px}.weekly-profit-lines{display:grid;gap:9px;min-width:0}.weekly-profit-lines p{display:flex;justify-content:space-between;gap:18px;margin:0;padding-bottom:8px;border-bottom:1px solid #2b2f34}.weekly-profit-lines p.result{padding-top:4px;border-bottom:0;font-size:17px}.weekly-profit-lines .cost{color:#ff625a}.positive{color:#43d779!important}.negative{color:#ff625a!important}
.weekly-margin-ring{--ring-color:#43d779;width:154px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring-color) 0 var(--margin),#342020 var(--margin) 360deg)}
.weekly-margin-ring.negative{--ring-color:#ff625a}.weekly-margin-ring:before{content:"";grid-area:1/1;width:112px;aspect-ratio:1;border-radius:50%;background:#101214}
.weekly-margin-ring>div{grid-area:1/1;position:relative;text-align:center}.weekly-margin-ring strong,.weekly-margin-ring small{display:block}.weekly-margin-ring strong{color:#fff;font-size:25px}.weekly-margin-ring small{font-size:11px}
.weekly-profit-note{position:absolute;left:20px;bottom:8px;margin:0;color:#777d86;font-size:10px}

.profit-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px}
.profit-kpi{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:158px;padding:20px;background:linear-gradient(145deg,#17191c,#101214);border:1px solid #2d3036;border-radius:18px;box-shadow:var(--shadow)}
.profit-kpi>span{width:54px;height:54px;display:grid;place-items:center;border:1px solid;border-radius:50%;background:#0c0e10}.profit-kpi>span .ui-icon svg{width:28px;height:28px}
.profit-kpi.received>span,.profit-kpi.gross>span{color:#46d579;border-color:#286f45}.profit-kpi.payroll>span{color:#b084ff;border-color:#65439d}.profit-kpi.net>span{color:var(--gold);border-color:#8c7400}
.profit-kpi small,.profit-kpi strong,.profit-kpi em{display:block}.profit-kpi small{color:#aeb2b9;font-size:14px}.profit-kpi strong{margin-top:7px;color:#fff;font-size:clamp(26px,5.4vw,40px);line-height:1.02;letter-spacing:-.045em;white-space:nowrap}.profit-kpi em{margin-top:8px;color:#9fa4ad;font-style:normal;font-size:12px}
.profit-kpi.gross.positive strong{color:#58d47f}.profit-kpi.net.positive strong{color:var(--gold)}.profit-kpi.negative strong{color:#ff625a}
.profit-formula{display:grid;grid-template-columns:auto auto auto auto auto auto auto;align-items:center;justify-content:center;gap:13px;margin:0 0 22px;padding:14px 16px;border:1px solid #2e3238;border-radius:15px;background:linear-gradient(145deg,#15171a,#0e1012);font-variant-numeric:tabular-nums}
.profit-formula span,.profit-formula strong{font-size:15px;white-space:nowrap}.profit-formula .received{color:#48d779}.profit-formula .payroll{color:#b084ff}.profit-formula .expenses{color:#ff625a}.profit-formula small{grid-column:1/-1;text-align:center;color:#7f858e;font-size:10px}
.business-expenses-panel{padding:18px}.business-expenses-panel .section-title{margin:0 0 8px}.business-expenses-panel .section-title h2{margin:0}.business-expenses-panel .section-title strong{color:#ff625a;font-size:20px}
.expense-category-list{display:grid}.expense-category-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:12px 4px;text-align:left;background:transparent;border:0;border-bottom:1px solid #292d32;border-radius:0}.expense-category-row:last-child{border-bottom:0}.expense-category-row>span:nth-child(2){min-width:0}.expense-category-row b,.expense-category-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-category-row b{font-size:15px}.expense-category-row strong{white-space:nowrap;font-size:16px}.expense-category-row>.row-arrow{color:#8d929a}
.expense-category-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid;border-radius:50%;background:#0b0d0f;flex:0 0 auto}.expense-category-icon .ui-icon svg{width:23px;height:23px}
.expense-category-icon.fuel{color:#ff574f;border-color:#873630}.expense-category-icon.vehicleInsurance{color:#5ba4ff;border-color:#315e91}.expense-category-icon.vehicleTax{color:#ffd000;border-color:#826c00}.expense-category-icon.vehicleTransport{color:#5ba4ff;border-color:#315e91}.expense-category-icon.toolsEquipment{color:#ffae21;border-color:#815b1a}.expense-category-icon.materials{color:#bc83ff;border-color:#67458f}.expense-category-icon.subscriptions{color:#ffd000;border-color:#826c00}.expense-category-icon.financeLease{color:#48d779;border-color:#287644}.expense-category-icon.officeProfessional{color:#79c7ff;border-color:#3a6d90}.expense-category-icon.other{color:#ffd000;border-color:#826c00}
.expense-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center}.expense-item-copy{min-width:0}.expense-item-copy b,.expense-item-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.expense-detail-list{display:grid;gap:8px}.expense-detail-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid #292d32;border-radius:13px;background:#111315}.expense-detail-row b,.expense-detail-row small{display:block}.expense-detail-row strong{white-space:nowrap}

@media(max-width:760px){
  .weekly-summary-kpis{grid-template-columns:1fr}.weekly-summary-kpis article{padding:13px 0;border-right:0;border-bottom:1px solid #30343a}.weekly-summary-kpis article:last-child{border-bottom:0}
  .weekly-detail-grid{grid-template-columns:1fr}.weekly-profit-overview{grid-template-columns:1fr}.weekly-margin-ring{margin:auto}.weekly-profit-note{position:static;grid-column:1/-1;text-align:center}
  .profit-kpi{min-height:145px;padding:16px;grid-template-columns:1fr}.profit-kpi>span{width:46px;height:46px}.profit-kpi strong{font-size:clamp(23px,7vw,32px)}
  .profit-formula{grid-template-columns:auto auto auto;gap:8px}.profit-formula b:nth-of-type(2),.profit-formula strong{grid-row:2}.profit-formula small{grid-row:3}
}
@media(max-width:430px){
  .payroll-period-note{padding:12px}.payroll-period-copy strong{font-size:15px}
  .weekly-summary-title{display:grid}.weekly-summary-kpis strong{font-size:25px}.weekly-detail-row{grid-template-columns:auto minmax(0,1fr) auto}.weekly-detail-row>.row-arrow{display:none}
  .profit-kpi-grid{grid-template-columns:1fr}.profit-kpi{grid-template-columns:auto minmax(0,1fr);min-height:132px}.profit-kpi strong{font-size:29px}
  .profit-formula{display:flex;flex-wrap:wrap}.profit-formula small{flex-basis:100%}
  .expense-category-row{grid-template-columns:auto minmax(0,1fr) auto}.expense-category-row>.row-arrow{display:none}.expense-category-icon{width:42px;height:42px}
  .expense-item{grid-template-columns:auto minmax(0,1fr)!important}.expense-actions{grid-column:2;justify-content:space-between;margin-top:5px}
}

/* v5.6.0 mobile polish */
.expense-item .kebab{color:#fff;background:#141619;border-color:#30343a}
@media(max-width:430px){
  #profit .toolbar{gap:8px}
  #profit .expense-toolbar{width:auto;flex-wrap:nowrap;gap:6px}
  #profit .expense-toolbar button{flex:0 0 auto;padding:10px 8px;font-size:11px;line-height:1.15}
}

/* v5.7.0 payroll week navigator */
.payroll-period-picker{display:grid;gap:16px}.period-picker-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:14px;border:1px solid #30343a;border-radius:16px;background:#111315}.period-picker-nav>div{text-align:center;min-width:0}.period-picker-nav small,.period-picker-nav strong,.period-picker-nav em{display:block}.period-picker-nav small{color:#969ca6}.period-picker-nav strong{margin-top:4px;color:var(--gold);font-size:18px}.period-picker-nav em{margin-top:5px;color:#b4b8c0;font-style:normal;font-size:12px}.period-picker-nav button{min-width:44px;height:44px;padding:0;font-size:28px}.period-date-label{margin:0;color:#aeb2b9;font-size:13px}.payroll-period-picker input[type=date]{width:100%;margin:0}.period-picker-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}.period-picker-actions button{min-height:48px}
@media(max-width:430px){.period-picker-nav{grid-template-columns:42px minmax(0,1fr) 42px;padding:12px 8px}.period-picker-nav strong{font-size:15px}.period-picker-actions{grid-template-columns:1fr}}


/* UPFIX v5.8.0 — AI Assistant v1 */
.ai-security-card,.ai-hero-card{display:flex;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:15px;margin:12px 0;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}
.ai-security-card>span,.ai-orb{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:15px;background:rgba(201,164,82,.12);color:#d9b966}
.ai-security-card b,.ai-hero-card b{display:block;font-size:15px}.ai-security-card small,.ai-hero-card small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}
.ai-hero-card{padding:18px;background:radial-gradient(circle at top right,rgba(201,164,82,.13),transparent 45%),linear-gradient(145deg,#17191d,#0e0f12)}
.ai-orb{width:58px;height:58px;flex-basis:58px;border-radius:50%;box-shadow:0 0 28px rgba(201,164,82,.18)}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.ai-action{min-height:105px;text-align:left;display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#14161a;color:inherit}
.ai-action .ui-icon{color:#d9b966}.ai-action b{display:block;line-height:1.3}.ai-action small{display:block;color:var(--muted);margin-top:7px}
.ai-ask h2,.ai-answer h2,.panel h2{margin-top:0}.ai-input-row{display:flex;gap:8px}.ai-input-row input{min-width:0;flex:1}.ai-input-row button{width:auto;white-space:nowrap}
.ai-invoice-select{display:grid;gap:9px}.ai-invoice-select button{width:100%}
.ai-alert-list{display:grid;gap:8px}.ai-alert{display:flex;gap:10px;align-items:flex-start;padding:11px;border-radius:12px;background:rgba(255,255,255,.035)}
.ai-alert>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:800}.ai-alert p{margin:1px 0 0;line-height:1.35}
.ai-alert.danger>span{background:rgba(231,76,60,.18);color:#ff7161}.ai-alert.warning>span{background:rgba(241,196,15,.16);color:#f1c40f}
.ai-answer pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.55;color:var(--text);background:rgba(0,0,0,.2);padding:14px;border-radius:12px}.ai-answer button{width:100%}
@media(max-width:430px){.ai-grid{grid-template-columns:1fr}.ai-action{min-height:82px}.ai-input-row{display:grid}.ai-input-row button{width:100%}}

/* UPFIX v5.9.0 command-centre update */
.daily-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.daily-mode-tabs button{min-height:46px;border:1px solid #30343a;background:#111318;color:#aeb3bc;border-radius:13px;font-weight:750}.daily-mode-tabs button.active{background:var(--gold);border-color:var(--gold);color:#111}
.matrix-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:10px;padding:10px;border:1px solid #2d3137;border-radius:15px;background:#111318}.matrix-toolbar div{text-align:center}.matrix-toolbar small,.matrix-toolbar b{display:block}.matrix-toolbar small{color:#959ba5}.matrix-toolbar b{margin-top:3px}.matrix-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.matrix-layout:has(.matrix-drawer){grid-template-columns:minmax(0,1fr) 290px}.matrix-scroll{overflow:auto;border:1px solid #2d3137;border-radius:16px;background:#101216}.daily-matrix{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.daily-matrix th,.daily-matrix td{border-right:1px solid #282c32;border-bottom:1px solid #282c32}.daily-matrix thead th{position:sticky;top:0;z-index:3;background:#14171b}.daily-matrix .site-col{position:sticky;left:0;z-index:2;width:235px;min-width:235px;background:#14171b;text-align:left}.daily-matrix thead .site-col{z-index:4;padding:14px}.daily-matrix tbody .site-col{display:flex;align-items:center;gap:10px;padding:11px 13px}.daily-matrix .site-col b,.daily-matrix .site-col small{display:block}.daily-matrix .site-col small{color:#8f959f;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.daily-matrix th button,.daily-matrix td button{width:100%;height:100%;min-height:58px;border:0;border-radius:0;background:transparent;color:inherit}.daily-matrix th button small,.daily-matrix th button b{display:block}.daily-matrix th button small{color:#969ca6}.daily-matrix th button.active{color:#111;background:var(--gold)}.daily-matrix td{text-align:center}.daily-matrix td strong{font-size:18px}.daily-matrix td strong.zero{color:#6f747d}.daily-matrix td small{margin-left:4px;color:#54d879}.daily-matrix .selected-col{background:rgba(255,210,0,.055)}.daily-matrix tr.selected-row>*{box-shadow:inset 0 1px rgba(255,210,0,.38),inset 0 -1px rgba(255,210,0,.38)}.daily-matrix td.selected-cell{outline:2px solid var(--gold);outline-offset:-2px;background:rgba(255,210,0,.1)}.site-status-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#48d779}.site-status-dot.completed{background:#747b85}.matrix-drawer{border:1px solid #30343a;border-radius:16px;background:#121419;padding:15px}.matrix-drawer-head{display:flex;justify-content:space-between;gap:8px}.matrix-drawer-head h3{margin:3px 0}.matrix-drawer-head small{color:#969ca6}.matrix-drawer-head button{width:36px;height:36px;padding:0;border-radius:50%}.matrix-drawer-count{display:flex;align-items:baseline;gap:7px;margin:18px 0}.matrix-drawer-count strong{font-size:34px;color:var(--gold)}.matrix-drawer-count span{color:#9da2aa}.matrix-worker-list{display:grid;gap:8px}.matrix-worker-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #292d33;border-radius:12px}.matrix-worker-row>span,.map-team span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#35300c;color:#ffd900;font-weight:800}.matrix-worker-row b,.matrix-worker-row small{display:block}.matrix-worker-row small{color:#9298a2}
.map-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:10px}.map-kpis article{padding:13px;border:1px solid #2d3137;border-radius:14px;background:#13151a}.map-kpis small,.map-kpis strong{display:block}.map-kpis small{color:#969ca6}.map-kpis strong{font-size:25px;margin-top:5px}.operations-map-shell{position:relative;border:1px solid #2d3137;border-radius:17px;overflow:hidden;background:#0c1015}.operations-map{height:440px;overflow:hidden;touch-action:none;background-color:#10151c;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(circle at 70% 35%,rgba(255,196,0,.08),transparent 32%);background-size:32px 32px,32px 32px,auto}.map-plane{position:absolute;inset:0;transform-origin:center;transition:transform .08s linear}.map-plane:before,.map-plane:after{content:"";position:absolute;inset:12% 8%;border:1px solid rgba(255,198,0,.16);border-radius:45% 55% 38% 62%/55% 42% 58% 45%;transform:rotate(-8deg)}.map-plane:after{inset:24% 20%;transform:rotate(17deg);border-color:rgba(84,216,121,.12)}.map-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50% 50% 50% 8px;rotate:-45deg;border:2px solid #fff;background:#766300;color:#fff}.map-marker>*{rotate:45deg}.map-marker span{font-weight:900}.map-marker b{position:absolute;left:35px;top:30px;width:max-content;max-width:140px;padding:3px 6px;border-radius:6px;background:rgba(8,10,13,.85);font-size:10px}.map-marker.staffed{background:#147b36}.map-marker.empty{background:#6b5a00}.map-controls{position:absolute;z-index:5;left:12px;top:12px;display:grid;gap:6px}.map-controls button{width:40px;height:40px;padding:0}.map-site-details{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:92px;padding:15px;border-top:1px solid #2e3238;background:#14171b}.map-site-details h3{margin:3px 0}.map-site-details p{margin:0;color:#979da7}.map-site-details>strong{color:var(--gold)}.map-team{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.map-site-details button{grid-column:1/-1}
.invoice-command-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.invoice-command-kpis article{padding:17px;border:1px solid #30343a;border-radius:16px;background:linear-gradient(145deg,#171a1f,#101216)}.invoice-command-kpis small,.invoice-command-kpis strong,.invoice-command-kpis span{display:block}.invoice-command-kpis small{color:#a2a8b1}.invoice-command-kpis strong{margin:8px 0 5px;font-size:clamp(22px,4vw,34px);letter-spacing:-.04em}.invoice-command-kpis span{color:#949aa4}.invoice-command-kpis .danger{border-color:#6f2727}.invoice-command-kpis .danger strong{color:#ff7068}.invoice-command-kpis .paid strong{color:#53d87b}.invoice-health-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 12px;border:1px solid #30343a;border-radius:16px;background:#111318}.invoice-health-strip article{padding:14px;text-align:center;border-right:1px solid #30343a}.invoice-health-strip article:last-child{border-right:0}.invoice-health-strip small,.invoice-health-strip strong,.invoice-health-strip span{display:block}.invoice-health-strip small,.invoice-health-strip span{color:#969ca6}.invoice-health-strip strong{font-size:20px;margin:6px 0}.sticky-invoice-tools{position:sticky;top:0;z-index:8;backdrop-filter:blur(15px);background:rgba(14,16,19,.94)}.floating-add-invoice{position:fixed;z-index:20;right:24px;bottom:92px;width:58px;height:58px;padding:0;border-radius:50%;font-size:30px;background:var(--gold);color:#111;box-shadow:0 10px 30px rgba(0,0,0,.42)}
.intelligence-top{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.business-health{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid #30343a;border-radius:18px;background:linear-gradient(145deg,#171a1f,#101216)}.health-ring{--score:80;width:108px;height:108px;flex:0 0 108px;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle at center,#14171b 59%,transparent 61%),conic-gradient(var(--gold) calc(var(--score)*1%),#2d3137 0)}.health-ring strong{font-size:31px}.health-ring small{color:#959ba5}.business-health h3{margin:4px 0}.business-health p{margin:0;color:#999fa8;line-height:1.4}.intelligence-metrics{display:grid;gap:8px}.intelligence-metrics article{padding:12px;border:1px solid #30343a;border-radius:14px;background:#13151a}.intelligence-metrics small,.intelligence-metrics strong,.intelligence-metrics span{display:block}.intelligence-metrics strong{font-size:20px;margin:4px 0}.positive{color:#53d87b!important}.negative{color:#ff7068!important}.section-title{display:flex;align-items:center;justify-content:space-between}.intelligence-priorities{margin:18px 0}.intelligence-priorities .section-title span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2a2d33}.priority-card{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;margin-top:8px;text-align:left;background:#14171b;border:1px solid #30343a}.priority-card i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#54201d;color:#ff776c;font-style:normal}.priority-card.success i{background:#163d24;color:#59d87c}.intelligence-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.intelligence-actions button{text-align:left;min-height:112px}.intelligence-actions span,.intelligence-actions b,.intelligence-actions small{display:block}.intelligence-actions span{color:var(--gold)}.intelligence-actions b{margin-top:8px}.intelligence-actions small{margin-top:5px;color:#969ca6}.quick-question-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.quick-question-row button{width:auto;padding:8px 10px;border-radius:999px;background:#202329;color:#c4c8ce}.answer-head{display:flex;justify-content:space-between}.intelligence-answer pre{white-space:pre-wrap;font-family:inherit;line-height:1.55}.intelligence-history .text-button{width:auto;background:transparent;border:0;color:#9ea4ad}.intelligence-history>button[data-history-id]{width:100%;display:flex;justify-content:space-between;text-align:left;background:transparent;border:0;border-bottom:1px solid #2a2e34;border-radius:0;padding:11px 2px}.intelligence-history>button b,.intelligence-history>button small{display:block}.intelligence-history>button small{color:#90969f;margin-top:3px}
@media(max-width:900px){.matrix-layout:has(.matrix-drawer){grid-template-columns:1fr}.matrix-drawer{order:2}.intelligence-top{grid-template-columns:1fr}.intelligence-actions{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.invoice-command-kpis{grid-template-columns:1fr}.invoice-health-strip{grid-template-columns:1fr 1fr}.invoice-health-strip article:nth-child(2){border-right:0}.invoice-health-strip article:nth-child(-n+2){border-bottom:1px solid #30343a}.map-kpis{grid-template-columns:1fr 1fr}.map-kpis article:last-child{grid-column:1/-1}.operations-map{height:360px}.intelligence-actions{grid-template-columns:1fr 1fr}.business-health{align-items:flex-start}.health-ring{width:88px;height:88px;flex-basis:88px}.floating-add-invoice{right:18px;bottom:86px}}
@media(prefers-reduced-motion:reduce){.map-plane{transition:none!important}}

/* UPFIX v6.0.0 — operational UX refinements */
.brand-wrap img{object-fit:cover;border-radius:16px;background:#050607}

/* Daily Matrix: stable sticky axis and mobile readability */
.matrix-scroll{position:relative;max-height:min(64dvh,720px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.daily-matrix{width:max-content;min-width:100%;table-layout:fixed}
.daily-matrix th,.daily-matrix td{min-width:84px;height:70px;background:#101216}
.daily-matrix thead th{top:0;z-index:12;background:#171a1f;box-shadow:0 1px 0 #363b43}
.daily-matrix .site-col{left:0;z-index:11;width:220px;min-width:220px;max-width:220px;background:#171a1f;box-shadow:1px 0 0 #363b43}
.daily-matrix thead .site-col{z-index:20;padding:0}
.matrix-site-head{height:70px;display:flex;align-items:center;padding:0 16px;font-size:18px;font-weight:900}
.daily-matrix tbody .site-col{display:table-cell;padding:0;vertical-align:middle}
.matrix-site-cell{height:70px;display:flex;align-items:center;gap:10px;padding:10px 13px;min-width:0}
.matrix-site-cell>div{min-width:0}
.matrix-site-cell b,.matrix-site-cell small{display:block;overflow:hidden;text-overflow:ellipsis}
.matrix-site-cell b{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.15}
.matrix-site-cell small{white-space:nowrap;max-width:178px;margin-top:4px;color:#8f959f;font-size:10px}
.daily-matrix th button,.daily-matrix td button{min-height:70px}
.daily-matrix td button{display:grid;place-content:center;gap:2px}
.daily-matrix td button strong{font-size:22px;font-variant-numeric:tabular-nums}
.daily-matrix td button small{margin:0;color:#7e858f;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.daily-matrix .selected-col{background:rgba(255,210,0,.065)}
.daily-matrix tr.selected-row>*{background-color:rgba(255,210,0,.045);box-shadow:inset 0 1px rgba(255,210,0,.45),inset 0 -1px rgba(255,210,0,.45)}
.daily-matrix tr.selected-row>.site-col{background:#1c1d18}
.daily-matrix td.selected-cell{position:relative;outline:2px solid var(--gold);outline-offset:-2px;background:rgba(255,210,0,.14)}

/* Real operations map */
.real-map-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:520px;border:1px solid #30343a;border-radius:18px;overflow:hidden;background:#111318}
.real-operations-map{position:relative;min-height:520px;background:#111820}
.map-loading,.map-load-error{height:100%;min-height:420px;display:grid;place-content:center;text-align:center;gap:6px;color:#9ba2ac}
.map-load-error b{color:#fff;font-size:18px}.map-load-error small{max-width:280px}
.leaflet-container{font:14px/1.35 Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#111820}
.leaflet-control-zoom a{background:#15181d!important;color:#fff!important;border-color:#30343a!important}
.leaflet-control-attribution{background:rgba(11,13,16,.76)!important;color:#aeb4bc!important}
.leaflet-control-attribution a{color:#ffd600!important}
.upfix-map-icon-wrap{background:transparent;border:0}
.upfix-map-icon{width:42px;height:48px;display:grid;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);box-shadow:0 7px 20px rgba(0,0,0,.35);background:#6c5b00;color:#fff;transition:.2s}
.upfix-map-icon.staffed{background:#117d3b}.upfix-map-icon.empty{background:#705e00}
.upfix-map-icon b{transform:rotate(45deg);font-size:15px}
.leaflet-marker-icon.active .upfix-map-icon{transform:rotate(-45deg) scale(1.16);box-shadow:0 0 0 5px rgba(255,214,0,.3),0 9px 25px rgba(0,0,0,.45);border-color:#ffd600}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(255,214,0,.28)!important}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#ffd600!important;color:#111!important;font-weight:900}
.real-map-shell .map-site-details{display:block;min-width:0;padding:18px;border:0;border-left:1px solid #30343a;overflow:auto;background:#14171b}
.map-empty-state{display:grid!important;place-content:center!important;text-align:center;color:#969ca6}
.map-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.map-detail-head h3{font-size:22px;margin:4px 0}.map-detail-head p{margin:0;color:#979da7;line-height:1.4}
.map-detail-head>strong{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:50%;background:var(--gold);color:#111;font-size:20px}
.map-worker-detail-list{display:grid;gap:8px;margin:18px 0}
.map-worker-detail-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #2b3036;border-radius:13px;background:#101216}
.map-worker-detail-list article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#35300c;color:#ffd900;font-weight:900}
.map-worker-detail-list b,.map-worker-detail-list small{display:block;min-width:0}.map-worker-detail-list small{color:#9298a2;overflow-wrap:anywhere}.map-worker-detail-list em{color:#54d879;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}
.map-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.map-site-list{margin-top:14px;padding:16px;border:1px solid #30343a;border-radius:17px;background:#121419}
.map-site-list .section-title{margin-bottom:8px}.map-site-list .section-title h2{margin:0}.map-site-list .section-title span{background:#282c32;color:#ffd600}
.map-site-list>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 42px 18px;align-items:center;gap:10px;padding:11px 3px;text-align:left;border:0;border-bottom:1px solid #292d33;border-radius:0;background:transparent;color:#fff}
.map-site-list>button:last-child{border-bottom:0}.map-site-list b,.map-site-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-site-list small{color:#9298a2}.map-site-list strong{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#1d4d2c;color:#62dd86}.map-site-list i{color:#858b94;font-style:normal;font-size:22px}

/* Invoice control centre */
.invoice-kpi-scroll{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:9px;margin:10px 0 13px;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}
.invoice-kpi{scroll-snap-align:start;display:block;min-height:112px;padding:14px;text-align:left;border:1px solid #30343a;background:linear-gradient(145deg,#171a1f,#101216);color:#fff}
.invoice-kpi small,.invoice-kpi strong,.invoice-kpi span{display:block}.invoice-kpi small{color:#a2a8b1}.invoice-kpi strong{margin:8px 0 5px;font-size:23px;line-height:1;white-space:nowrap}.invoice-kpi span{color:#9299a2;font-size:12px}.invoice-kpi.danger strong{color:#ff7068}.invoice-kpi.warning strong{color:#ffd65a}.invoice-kpi.paid strong{color:#53d87b}.invoice-kpi.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.invoice-control-toolbar{position:sticky;top:0;z-index:9;display:grid;gap:10px;margin-bottom:13px;padding:12px;border:1px solid #30343a;border-radius:17px;background:rgba(14,16,19,.96);backdrop-filter:blur(16px)}
.invoice-toolbar-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.invoice-toolbar-actions button{min-width:0;padding:10px 11px}
.compact-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.compact-chips button{flex:0 0 auto;padding:8px 12px}
.invoice-saved-view{height:43px;background:#111318;color:#fff;border-color:#34383e}
.invoice-bulk-bar{display:none;position:sticky;top:126px;z-index:8;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid #4b430e;border-radius:14px;background:#201d08}.invoice-bulk-bar.visible{display:flex}.invoice-bulk-bar div{display:flex;gap:6px;flex-wrap:wrap}.invoice-bulk-bar button{padding:8px 10px;font-size:12px}.invoice-bulk-bar button:disabled{opacity:.45}
.invoice-header-add{padding:10px 13px}
.invoice-groups{padding-bottom:90px}
.invoice-grid{gap:10px}
.invoice-site-group{gap:9px}.invoice-group-head{padding:0 3px 7px}.invoice-group-head b{font-size:18px}.invoice-group-head small{font-size:11px}
.invoice-control-card{position:relative;overflow:hidden;padding:15px;border:1px solid #30343a!important;background:linear-gradient(145deg,#15181d,#101216)!important;box-shadow:none!important;color:#fff;cursor:pointer}
.invoice-control-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6b717a}.invoice-control-card.risk-low:before{background:#cf9d23}.invoice-control-card.risk-medium:before{background:#e07a22}.invoice-control-card.risk-high:before,.invoice-control-card.risk-critical:before{background:#ff4f4f}
.invoice-control-card .invoice-head{align-items:center}.invoice-title-block{min-width:0;flex:1}.invoice-control-card .invoice-display-title{font-size:19px;color:#fff}.invoice-control-card .invoice-title-block small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca2ab}.invoice-control-card .kebab{color:#fff;border:1px solid #353a41;background:#15181d}
.invoice-control-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.invoice-control-values>div{min-width:0;padding:10px;border:1px solid #292d33;border-radius:12px;background:#0d0f12}.invoice-control-values small,.invoice-control-values b,.invoice-control-values strong,.invoice-control-values em{display:block}.invoice-control-values small{color:#8f959f}.invoice-control-values b,.invoice-control-values strong{margin-top:5px;color:#fff;overflow-wrap:anywhere}.invoice-control-values .primary-value strong{color:var(--gold);font-size:20px}.invoice-control-values em{margin-top:4px;color:#ff766e;font-size:10px;font-style:normal;font-weight:800}
.invoice-payment-progress{height:5px;overflow:hidden;border-radius:999px;background:#2a2e34}.invoice-payment-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b99700,#ffd600)}.invoice-payment-progress.large{height:8px;margin:14px 0 5px}
.invoice-control-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.invoice-control-foot small{color:#969ca6}.badge.partial{background:#43380a;color:#ffd84a}.badge.risk-low{background:#3c310b;color:#ffd45a}.badge.risk-medium{background:#49280d;color:#ffae5b}.badge.risk-high,.badge.risk-critical{background:#4e1717;color:#ff7770}
.invoice-description{margin:10px 0 0;padding:8px 10px;border-left:3px solid #5e531a;border-radius:8px;background:#171711;color:#c0c4ca}
.invoice-select-box{position:relative;display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;margin:0}.invoice-select-box input{position:absolute;opacity:0}.invoice-select-box span{width:20px;height:20px;border:2px solid #666d76;border-radius:6px}.invoice-select-box input:checked+span{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 4px #15181d}
.compact-view .invoice-grid{display:grid;grid-template-columns:1fr;gap:7px}.compact-view .invoice-site-group{gap:7px}
.invoice-compact-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1.5fr) minmax(105px,.8fr) minmax(120px,.8fr) auto auto;align-items:center;gap:12px;min-width:0;padding:11px 12px;border:1px solid #30343a;border-radius:14px;background:#13161a;color:#fff;cursor:pointer}.invoice-compact-row:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#636a73}.invoice-compact-row.risk-low:before{background:#cf9d23}.invoice-compact-row.risk-medium:before{background:#e07a22}.invoice-compact-row.risk-high:before,.invoice-compact-row.risk-critical:before{background:#ff4f4f}
.invoice-compact-main,.invoice-compact-due,.invoice-compact-money{min-width:0}.invoice-compact-main b,.invoice-compact-main small,.invoice-compact-due small,.invoice-compact-due b,.invoice-compact-due em,.invoice-compact-money small,.invoice-compact-money strong,.invoice-compact-money span{display:block}.invoice-compact-main b{font-size:16px}.invoice-compact-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#939aa3}.invoice-compact-due small,.invoice-compact-money small{color:#878e98;font-size:10px}.invoice-compact-due b{margin-top:2px;font-size:13px}.invoice-compact-due em{color:#ff7169;font-size:10px;font-style:normal;font-weight:900}.invoice-compact-money{text-align:right}.invoice-compact-money strong{font-size:16px;color:var(--gold);white-space:nowrap}.invoice-compact-money span{font-size:10px;color:#878e98}.invoice-compact-row .kebab{padding:5px 8px;color:#fff;background:#111318;border:1px solid #34383e}
.floating-add-invoice{right:max(14px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));width:46px;height:46px;font-size:25px;line-height:1;border:2px solid #0b0c0e;box-shadow:0 8px 22px rgba(0,0,0,.45);transition:.2s}.floating-add-invoice:active{transform:scale(.92)}
.invoice-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invoice-detail-hero h3{margin:3px 0 0;font-size:23px}.invoice-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}.invoice-detail-grid article{padding:12px;border:1px solid #30343a;border-radius:13px;background:#111318}.invoice-detail-grid small,.invoice-detail-grid strong,.invoice-detail-grid em{display:block}.invoice-detail-grid small{color:#969ca6}.invoice-detail-grid strong{margin-top:5px;font-size:20px}.invoice-detail-grid .gold strong{color:var(--gold)}.invoice-detail-grid .remaining strong{color:#ff766e}.invoice-detail-grid em{margin-top:4px;color:#ff7169;font-size:11px;font-style:normal;font-weight:800}
.invoice-detail-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.invoice-detail-actions button{min-width:0;padding:10px 8px;font-size:12px}.invoice-detail-section{margin-top:18px}.invoice-detail-section h3{margin:13px 0 7px}.invoice-detail-section p{margin:0;padding:11px;border:1px solid #2d3137;border-radius:12px;background:#111318;color:#c2c7ce}.invoice-attachment{display:inline-flex;padding:10px 12px;border:1px solid #4f4309;border-radius:11px;background:#211e09;color:#ffd600;text-decoration:none;font-weight:800}
.invoice-history-list{display:grid;gap:7px}.invoice-history-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border:1px solid #2b3036;border-radius:12px;background:#111318}.invoice-history-list b,.invoice-history-list small{display:block}.invoice-history-list small{color:#9298a2}.invoice-history-list strong{color:#ffd600}.invoice-history-list.audit article{display:block}.compact-empty{padding:16px}.reminder-draft{min-height:310px;line-height:1.5}.full-width-action{width:100%;margin-top:12px}

/* Organised Intelligence */
.ai-period-tabs{display:flex;gap:7px;margin:8px 0 14px;overflow:auto}.ai-period-tabs button{flex:0 0 auto;padding:8px 13px;background:#181b20;color:#aeb4bd;border:1px solid #30343a}.ai-period-tabs button.active{background:var(--gold);color:#111;border-color:var(--gold)}
.ai-overview-section,.ai-attention-section,.ai-quick-section,.ai-recommendations{margin-top:17px}.ai-overview-section .section-title h2,.ai-attention-section .section-title h2,.ai-quick-section .section-title h2,.ai-recommendations .section-title h2{margin:0}.ai-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:9px}.ai-overview-grid button{display:block;min-width:0;padding:13px;text-align:left;border:1px solid #30343a;background:linear-gradient(145deg,#171a1f,#101216)}.ai-overview-grid small,.ai-overview-grid strong,.ai-overview-grid span{display:block}.ai-overview-grid small,.ai-overview-grid span{color:#969ca6}.ai-overview-grid strong{margin:7px 0 5px;font-size:21px;overflow-wrap:anywhere}.ai-overview-grid .danger strong,.ai-overview-grid .negative-card strong{color:#ff7068}.ai-overview-grid .positive-card strong{color:#55d87d}
.ai-attention-list{display:grid;gap:7px;margin-top:9px}.ai-attention-list button{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;text-align:left;background:#14171b;border:1px solid #30343a}.ai-attention-list i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#54201d;color:#ff776c;font-style:normal}.ai-attention-list span{min-width:0;overflow-wrap:anywhere}.ai-clear-state{padding:15px;border:1px solid #21472e;border-radius:13px;background:#102318;color:#5dde82}.ai-show-all{display:block;margin:8px auto 0;background:transparent;color:#ffd600;border:0}
.ai-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:9px}.ai-quick-grid button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;min-height:94px;padding:13px;text-align:left;background:#171a1f;border:1px solid #30343a}.ai-quick-grid .ui-icon{color:#ffd600}.ai-quick-grid b,.ai-quick-grid small{display:block}.ai-quick-grid small{margin-top:4px;color:#969ca6}
.ai-recommendations{display:grid;gap:8px}.ai-recommendations .section-title{margin-bottom:1px}.ai-recommendations article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #30343a;border-radius:14px;background:#14171b}.ai-recommendations article>span{color:#ffd600}.ai-recommendations b{display:block}.ai-recommendations p{margin:3px 0 0;color:#969ca6}.ai-recommendations button{padding:9px 11px;white-space:nowrap}

@media(max-width:900px){
  .real-map-shell{grid-template-columns:1fr}.real-map-shell .map-site-details{border-left:0;border-top:1px solid #30343a;max-height:none}.real-operations-map{min-height:430px}
  .ai-overview-grid,.ai-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .brand-wrap img{width:58px;height:58px;border-radius:13px}
  .matrix-scroll{max-height:58dvh;border-radius:14px}
  .daily-matrix th,.daily-matrix td,.daily-matrix th button,.daily-matrix td button{height:64px;min-height:64px;min-width:78px}
  .daily-matrix .site-col{width:150px;min-width:150px;max-width:150px}.matrix-site-head{height:64px;padding:0 11px;font-size:16px}.matrix-site-cell{height:64px;padding:7px 9px}.matrix-site-cell b{font-size:12px;-webkit-line-clamp:2}.matrix-site-cell small{max-width:125px;font-size:9px}.daily-matrix td button strong{font-size:19px}
  .matrix-layout:has(.matrix-drawer) .matrix-drawer{position:fixed;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:45;max-height:55dvh;overflow:auto;box-shadow:0 -20px 50px rgba(0,0,0,.55)}
  .real-operations-map{min-height:390px}.map-site-list{padding:13px}.map-detail-actions{grid-template-columns:1fr}
  .invoice-kpi-scroll{grid-template-columns:repeat(5,150px)}.invoice-kpi{min-height:102px;padding:12px}.invoice-kpi strong{font-size:20px}
  .invoice-control-toolbar{padding:10px}.invoice-toolbar-actions{grid-template-columns:1fr 1fr 72px}.invoice-toolbar-actions button{font-size:11px;padding:9px 6px}
  .invoice-bulk-bar{top:112px;align-items:flex-start;flex-direction:column}.invoice-bulk-bar div{width:100%}.invoice-bulk-bar button{flex:1}
  .invoice-control-values{grid-template-columns:1fr 1fr}.invoice-control-card{padding:13px}.invoice-control-values .primary-value strong{font-size:18px}
  .invoice-compact-row{grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;padding:10px}.invoice-compact-due{grid-column:2}.invoice-compact-money{grid-column:3;grid-row:1/3}.invoice-compact-row>.badge{grid-column:4;grid-row:1/3}.invoice-compact-row>.menu-cell{grid-column:5;grid-row:1/3}.invoice-compact-row .invoice-select-box{grid-row:1/3}.invoice-compact-main small{max-width:190px}.invoice-compact-money span{display:none}
  .floating-add-invoice{width:42px;height:42px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));font-size:22px}
  .invoice-detail-actions{grid-template-columns:1fr 1fr}.invoice-detail-grid{gap:7px}.invoice-detail-grid article{padding:10px}.invoice-detail-grid strong{font-size:18px}
  .ai-overview-grid,.ai-quick-grid{grid-template-columns:1fr 1fr}.ai-overview-grid button{padding:11px}.ai-overview-grid strong{font-size:18px}.ai-quick-grid button{grid-template-columns:28px minmax(0,1fr);min-height:88px;padding:11px}.ai-recommendations article{grid-template-columns:32px minmax(0,1fr)}.ai-recommendations article button{grid-column:2;justify-self:start}
}
@media(max-width:390px){.invoice-toolbar-actions{grid-template-columns:1fr 1fr}.invoice-toolbar-actions button:last-child{grid-column:1/-1}.invoice-compact-main small{max-width:145px}.ai-overview-grid,.ai-quick-grid{grid-template-columns:1fr}}
@media(max-width:620px){.invoice-compact-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.invoice-header-add{display:none}}


/* Dashboard Pro Preview */
.dashboard-view-toggle{max-width:360px;margin-bottom:12px}
.dashboard-range-pro{max-width:560px;margin-bottom:14px}
.pro-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px}.pro-hero-card,.pro-panel{padding:16px 16px 18px;background:linear-gradient(145deg,#131518,#0d0f12);border:1px solid #2a2d33;border-radius:18px;box-shadow:var(--shadow)}
.need-list{display:grid;gap:10px}.need-item,.highlight-row,.pro-list-row,.pro-alert-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #2a2d33;background:#17191d;border-radius:14px;padding:13px 14px;color:inherit}.need-item span,.highlight-row span,.pro-list-row span,.pro-alert-item span{min-width:0}.need-item b,.highlight-row b,.pro-list-row b,.pro-alert-item b{display:block}.need-item small,.highlight-row small,.pro-list-row small,.pro-alert-item small{display:block;color:#b8bbc1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.need-item.danger,.pro-alert-item.danger{border-color:rgba(255,98,90,.35)}.need-item.warning,.pro-alert-item.warning{border-color:rgba(255,208,0,.28)}
.cash-card.positive{border-color:rgba(66,214,124,.28)}.cash-card.negative{border-color:rgba(255,98,90,.3)}.cash-big-number small{display:block;color:#b8bbc1}.cash-big-number strong{display:block;font-size:36px;line-height:1.1;margin-top:8px}.cash-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.cash-breakdown div{padding:14px;border-radius:14px;background:#17191d;border:1px solid #272b31}.cash-breakdown small{display:block;color:#aeb2ba}.cash-breakdown b{display:block;margin-top:6px;font-size:19px}
.pro-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.pro-mini-card{padding:16px;border-radius:16px;background:linear-gradient(145deg,#14171a,#0f1114);border:1px solid #2a2d31;box-shadow:var(--shadow)}.pro-mini-card.clickable{cursor:pointer}.pro-mini-card small,.pro-mini-card em{display:block;color:#b8bbc1;font-style:normal}.pro-mini-card strong{display:block;margin-top:6px;font-size:28px;line-height:1.1}.pro-mini-card em{margin-top:7px;color:var(--gold);font-size:12px}
.pro-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ageing-list{display:grid;gap:8px;margin-bottom:12px}.ageing-row{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:12px;background:#17191d;border:1px solid #262a30}.ageing-row span{color:#bdc0c6}.highlight-row{margin-top:4px}.pro-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pro-action-grid button{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid #2b2e34;background:#17191d;color:#fff}.pro-action-grid .ui-icon{color:var(--gold)}
.pro-list-stack{display:grid;gap:9px}.secondary-stack{margin-top:12px;padding-top:12px;border-top:1px solid #22262b}.pro-list-row{padding:12px 13px}.pro-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-weight:800;flex:0 0 30px}.pro-rank.muted{background:#2a2410}.mini-tabs{display:flex;gap:8px;margin:-2px 0 12px}.mini-tabs span{padding:8px 10px;border-radius:999px;background:#17191d;border:1px solid #2a2d33;color:#b7bac1;font-size:12px}.mini-tabs span.active{border-color:rgba(255,208,0,.35);color:var(--gold)}
.pro-alert-list{display:grid;gap:10px}.pro-alert-item{padding:13px 14px}.pro-alert-item i,.need-item i{font-style:normal;color:#9fa4ad}.pro-alert-dot{width:10px;height:10px;border-radius:50%;background:#ff625a;display:inline-block;flex:0 0 10px}.pro-alert-item.warning .pro-alert-dot{background:var(--gold)}.ai-summary-panel p{margin:0;color:#d6dae1;line-height:1.6}.warning-text{color:#ffcf4a}
@media(max-width:860px){.pro-hero-grid,.pro-main-grid,.pro-kpi-grid{grid-template-columns:1fr}.cash-big-number strong{font-size:30px}}
@media(max-width:520px){.dashboard-view-toggle{max-width:none}.cash-breakdown,.pro-action-grid{grid-template-columns:1fr}.pro-mini-card strong{font-size:23px}.need-item,.highlight-row,.pro-list-row,.pro-alert-item{padding:12px}}

/* UPFIX Control v6.2.0 — Projects, top drawers, notifications and invoice grouping */
.header-icon-button{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center;background:#17191d;border:1px solid #303339;border-radius:13px;color:#fff;flex:0 0 auto}
.header-icon-button .ui-icon,.header-icon-button .ui-icon svg{width:21px;height:21px}
.header-icon-glyph{font-size:0}
.header-icon-glyph:before{content:"";width:19px;height:19px;display:block;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E")}
.header-icon-button b{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #0b0d0f;font-size:10px;line-height:1}
.header-grid-icon{width:18px;height:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.header-grid-icon i{display:block;border:1.8px solid var(--gold);border-radius:2px}
.drawer-backdrop{position:fixed;inset:0;z-index:78;background:rgba(0,0,0,.64);backdrop-filter:blur(5px)}
.top-drawer{position:fixed;z-index:79;top:0;right:0;width:min(470px,100%);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));overflow:auto;background:linear-gradient(180deg,#111317,#090b0d);border-left:1px solid #2b2f35;box-shadow:-24px 0 70px rgba(0,0,0,.46);transform:translateX(105%);transition:transform .24s ease;color:#fff}
.top-drawer.open{transform:translateX(0)}body.drawer-open{overflow:hidden}.top-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 18px;border-bottom:1px solid #2a2e33}.top-drawer>header small{letter-spacing:.16em;text-transform:uppercase;color:#8d939d}.top-drawer>header h2{margin:3px 0 0;font-size:26px}.drawer-close{width:42px;height:42px;padding:0;background:#1b1e22;border:1px solid #353a41;font-size:26px;font-weight:400}
.notification-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0;border:1px solid #333840;border-radius:13px;overflow:hidden}.notification-tabs button{border-radius:0;background:#171a1e;color:#b5bac2;border-right:1px solid #333840;padding:12px 8px}.notification-tabs button:last-child{border-right:0}.notification-tabs button.active{background:var(--gold);color:#111}
.notification-list{display:grid;gap:10px}.notification-item{width:100%;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto 14px;align-items:center;gap:12px;padding:14px;background:#15181c;color:#fff;border:1px solid #30343a;border-radius:15px;text-align:left}.notification-item:hover{border-color:#59606a}.notification-item>span:nth-child(2){min-width:0}.notification-item b,.notification-item small{display:block}.notification-item b{font-size:15px;white-space:normal}.notification-item small{margin-top:3px;color:#969ca6}.notification-item>strong{font-size:15px;white-space:nowrap}.notification-item>i{font-style:normal;color:#8e949d;font-size:22px}.notification-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#252a30;color:var(--gold)}.notification-icon .ui-icon svg{width:19px;height:19px}.notification-item.critical .notification-icon{background:rgba(239,68,68,.18);color:#ff625b}.notification-item.warning .notification-icon{background:rgba(249,115,22,.17);color:#ff982f}.notification-item.notice .notification-icon{background:rgba(255,214,0,.14);color:var(--gold)}
.more-drawer-menu{display:grid;gap:10px;padding-top:18px}.more-drawer-menu>button{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 16px;align-items:center;gap:13px;padding:14px;background:#15181c;border:1px solid #30343a;border-radius:15px;color:#fff;text-align:left}.more-drawer-menu>button>span{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#0c0e10;color:var(--gold)}.more-drawer-menu .ui-icon svg{width:22px;height:22px}.more-drawer-menu b,.more-drawer-menu small{display:block}.more-drawer-menu b{font-size:16px}.more-drawer-menu small{margin-top:3px;color:#979da6}.more-drawer-menu>button>i{font-style:normal;color:#8f959e;font-size:22px}

.dashboard-attention-v620{margin:18px 0 22px;padding:16px;background:linear-gradient(145deg,#15181b,#101215);border:1px solid #353a41;border-radius:20px;box-shadow:0 14px 35px rgba(0,0,0,.18)}.dashboard-attention-v620>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dashboard-attention-v620 h2{margin:2px 0 0;font-size:19px}.dashboard-attention-v620>header small{color:#8e949d;letter-spacing:.13em;text-transform:uppercase;font-size:9px}.dashboard-attention-v620>header button{background:none;color:var(--gold);padding:7px}.dashboard-attention-v620>div{display:grid;gap:8px}.dashboard-attention-v620 .notification-item{grid-template-columns:36px minmax(0,1fr) auto 12px;padding:10px 11px;background:#111418}.dashboard-attention-v620 .notification-icon{width:32px;height:32px}.dashboard-attention-v620 .notification-item b{font-size:14px}.dashboard-attention-v620 .notification-item small{font-size:11px}.dashboard-attention-v620 .notification-item>strong{font-size:14px}

.invoice-project-group{margin:0 0 18px;background:#111418;border:1px solid #2d3238;border-radius:20px;overflow:visible}.invoice-project-group.has-overdue{border-color:rgba(239,68,68,.42)}.invoice-project-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #30353b;background:linear-gradient(180deg,#171a1e,#131619);border-radius:20px 20px 0 0}.invoice-project-head small{display:block;color:#9298a2}.invoice-project-head h3{margin:2px 0 0;font-size:19px;color:#fff}.invoice-project-summary{text-align:right}.invoice-project-summary strong,.invoice-project-summary span{display:block}.invoice-project-summary strong{color:var(--gold);font-size:20px}.invoice-project-summary span{margin-top:3px;color:#aaaeb6;font-size:11px}.invoice-project-group>.invoice-grid{padding:12px;grid-template-columns:1fr}.invoice-compact-v620{position:relative;display:grid;grid-template-columns:minmax(170px,1.35fr) minmax(92px,.55fr) minmax(126px,.72fr) minmax(104px,.55fr) 46px;align-items:center;gap:14px;min-height:106px;padding:14px 12px 14px 18px;background:#15181c;border:1px solid #343940;border-radius:16px;color:#fff;overflow:visible}.invoice-compact-v620:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 6px 6px 0;background:var(--gold)}.invoice-compact-v620.risk-low:before{background:#eab308}.invoice-compact-v620.risk-medium:before{background:#f97316}.invoice-compact-v620.risk-high:before,.invoice-compact-v620.risk-critical:before{background:#ef4444}.invoice-compact-main,.invoice-compact-meta,.invoice-compact-money,.invoice-compact-status{min-width:0}.invoice-compact-main b,.invoice-compact-main small,.invoice-compact-meta small,.invoice-compact-meta b,.invoice-compact-money small,.invoice-compact-money strong,.invoice-compact-money span{display:block}.invoice-compact-main b{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-compact-main small{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9ba1aa}.invoice-compact-meta b{font-size:17px}.invoice-compact-meta em{display:block;margin-top:4px;color:#ff6b65;font-style:normal;font-weight:800;font-size:12px;white-space:nowrap}.invoice-compact-meta em.on-time{color:#7cbd8f}.invoice-compact-money{text-align:right}.invoice-compact-money strong{font-size:21px;color:var(--gold);white-space:nowrap}.invoice-compact-money span{margin-top:3px;color:#8e959f;font-size:11px;white-space:nowrap}.invoice-compact-status{display:flex;justify-content:flex-end}.invoice-compact-status .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.invoice-compact-menu{justify-self:end}.invoice-compact-menu .kebab{color:#fff}.invoice-select-box+.invoice-compact-main{padding-left:34px}.invoice-compact-v620>.invoice-select-box{position:absolute;left:14px;top:14px;z-index:2}

.project-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.project-kpis article{display:flex;align-items:center;gap:13px;padding:17px;background:linear-gradient(145deg,#171a1e,#111418);border:1px solid #343940;border-radius:17px;color:#fff}.project-kpis article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#0d0f11;color:var(--gold)}.project-kpis article small,.project-kpis article strong{display:block}.project-kpis article small{color:#a1a6ae}.project-kpis article strong{margin-top:3px;font-size:22px}.project-controls{display:flex;align-items:center;gap:12px;margin:0 0 18px}.project-search{flex:1;display:flex;align-items:center;gap:10px;padding:0 14px;background:#13161a;border:1px solid #343940;border-radius:15px}.project-search span{font-size:24px;color:#9aa0a8}.project-search input{border:0;background:transparent;color:#fff;padding:14px 0;outline:0}.project-filters{display:flex;gap:8px;overflow:auto}.project-filters button{white-space:nowrap;background:#15181c;color:#abb0b7;border:1px solid #343940}.project-filters button.active{background:var(--gold);color:#111;border-color:var(--gold)}.project-list{display:grid;gap:12px}.project-card{position:relative;background:#13161a;border:1px solid #343940;border-left:5px solid var(--gold);border-radius:18px;color:#fff;overflow:visible}.project-card.completed{border-left-color:#39a76a}.project-card.paused{border-left-color:#f59e0b}.project-card.project-risk{box-shadow:inset 0 0 0 1px rgba(239,68,68,.22)}.project-card-open{width:100%;display:block;padding:17px 58px 16px 18px;background:transparent;color:#fff;text-align:left}.project-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.project-card-head h3{margin:0;font-size:20px}.project-card-head p{margin:3px 0 0;color:#9da3ac}.project-card-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:15px;border-top:1px solid #30353b;border-bottom:1px solid #30353b}.project-card-metrics div{padding:12px;border-right:1px solid #30353b}.project-card-metrics div:last-child{border-right:0}.project-card-metrics small,.project-card-metrics strong{display:block}.project-card-metrics small{color:#9da3ac}.project-card-metrics strong{margin-top:4px;font-size:18px}.gold-text{color:var(--gold)!important}.project-card-finance{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 0}.project-card-finance small,.project-card-finance strong{display:block}.project-card-finance small{color:#9da3ac}.project-card-finance strong{margin-top:3px;font-size:17px}.project-overdue b,.project-overdue small{color:#ff615a}.project-progress{display:flex;align-items:center;gap:13px}.project-progress>span{height:6px;flex:1;background:#30343a;border-radius:999px;overflow:hidden}.project-progress i{display:block;height:100%;background:var(--gold);border-radius:inherit}.project-progress small{color:#9da3ac;white-space:nowrap}.project-menu-cell{position:absolute;right:8px;top:10px}.project-menu-cell .kebab{color:#fff}
.project-detail-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:18px}.project-detail-header h1{font-size:27px;margin:0}.project-detail-header p{margin:3px 0 0;color:#949aa3}.project-detail-tabs{display:flex;overflow:auto;border:1px solid #343940;border-radius:14px;background:#121519;margin-bottom:16px}.project-detail-tabs button{min-width:110px;flex:1;border-radius:0;background:transparent;color:#b2b7be;border-right:1px solid #343940}.project-detail-tabs button:last-child{border-right:0}.project-detail-tabs button.active{background:linear-gradient(90deg,#4f4400,#191a14);color:#fff;box-shadow:inset 0 -3px var(--gold)}.project-detail-tabs button span{display:inline-grid;place-items:center;margin-left:5px;min-width:19px;height:19px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px}.project-detail-content{min-height:300px}.project-detail-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.project-financial-summary,.project-info-panel{padding:18px;background:#13161a;border:1px solid #343940;border-radius:18px;color:#fff}.project-financial-summary h3,.project-info-panel h3{margin:0 0 13px}.project-financial-summary>div,.project-info-panel>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.project-financial-summary span,.project-info-panel span{color:#a2a7af}.project-financial-summary hr{border:0;border-top:1px solid #343940}.project-margin-row{margin:8px -18px -18px;padding:15px 18px!important;background:#181b1f;border-radius:0 0 18px 18px}.project-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.project-mini-kpis article{padding:15px;background:#13161a;border:1px solid #343940;border-radius:15px;color:#fff}.project-mini-kpis small,.project-mini-kpis strong{display:block}.project-mini-kpis strong{font-size:24px;margin-top:5px}.project-mini-kpis .risk{border-color:rgba(239,68,68,.42);background:rgba(84,20,20,.22)}.project-direct-actions,.project-tab-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.project-people-list,.project-timeline,.document-list{display:grid;gap:10px}.project-people-list article,.project-timeline article,.document-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;background:#13161a;border:1px solid #343940;border-radius:15px;color:#fff}.project-worker-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#262a30;color:var(--gold);font-weight:900}.project-people-list b,.project-people-list small{display:block}.project-people-list small{color:#9ca2aa}.project-cost-summary,.expense-page-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.project-cost-summary article,.expense-page-kpis article{padding:16px;background:#13161a;border:1px solid #343940;border-radius:15px;color:#fff}.project-cost-summary small,.project-cost-summary strong,.expense-page-kpis small,.expense-page-kpis strong{display:block}.project-cost-summary strong,.expense-page-kpis strong{font-size:22px;margin-top:5px}.project-timeline article{grid-template-columns:14px minmax(0,1fr) auto}.project-timeline article>i{width:10px;height:10px;border-radius:50%;background:var(--gold)}.project-timeline article>i.payment{background:#34a56f}.project-timeline article>i.expense{background:#ef4444}.project-timeline b,.project-timeline small{display:block}.project-timeline small{color:#9ba1aa}.document-card{grid-template-columns:42px minmax(0,1fr) auto auto}.document-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#22262b;color:var(--gold)}.document-card b,.document-card small{display:block}.document-card small{color:#9aa0a8}.document-card a{color:var(--gold);text-decoration:none;font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.settings-grid article{padding:18px;background:#13161a;border:1px solid #343940;border-radius:18px;color:#fff}.settings-grid h3{margin:0 0 10px}.settings-grid select{background:#1a1d21;color:#fff;border-color:#3b4047}.backup-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.backup-status-grid article{display:flex;align-items:center;gap:12px;padding:18px;background:#13161a;border:1px solid #343940;border-radius:18px;color:#fff}.backup-status-grid small,.backup-status-grid strong{display:block}.backup-status-grid strong{margin-top:4px}.sync-dot{width:15px;height:15px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.1)}.sync-dot.live{background:#32a66d;box-shadow:0 0 0 6px rgba(50,166,109,.1)}.backup-actions{display:flex;gap:12px;margin-top:15px}.backup-import-button{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:11px 15px;border-radius:13px;background:var(--gold);color:#111;font-weight:900;cursor:pointer}

@media(max-width:900px){.project-kpis{grid-template-columns:1fr 1fr}.project-detail-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.invoice-compact-v620{grid-template-columns:minmax(150px,1fr) 92px minmax(118px,.8fr) 46px}.invoice-compact-status{grid-column:2/4;grid-row:2;justify-content:flex-start}.invoice-compact-v620{min-height:128px}.invoice-compact-menu{grid-column:4;grid-row:1/3}.project-card-metrics,.project-card-finance{grid-template-columns:1fr 1fr}.project-card-metrics div:nth-child(2){border-right:0}.project-card-metrics div:nth-child(-n+2){border-bottom:1px solid #30353b}.project-mini-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{gap:8px}.user-tools{gap:6px}.header-icon-button{width:40px;height:40px}.topbar select{height:40px;padding-left:10px;padding-right:27px}.more-header-button{display:grid}.project-kpis{grid-template-columns:1fr 1fr}.project-kpis article{padding:13px;align-items:flex-start}.project-kpis article>span{width:34px;height:34px}.project-kpis article strong{font-size:18px}.project-controls{display:block}.project-filters{margin-top:10px}.invoice-project-head{align-items:flex-start}.invoice-project-summary strong{font-size:17px}.invoice-project-summary span{max-width:130px}.invoice-compact-v620{grid-template-columns:minmax(0,1fr) 46px;grid-template-areas:"main menu" "meta meta" "money money" "status status";gap:9px;padding:14px 11px 14px 17px;min-height:0}.invoice-compact-main{grid-area:main;padding-right:4px}.invoice-compact-meta{grid-area:meta;display:flex;align-items:flex-end;justify-content:space-between;padding-top:7px;border-top:1px solid #30353b}.invoice-compact-money{grid-area:money;display:flex;align-items:baseline;justify-content:space-between;text-align:left}.invoice-compact-money small{display:none}.invoice-compact-money strong{font-size:23px}.invoice-compact-status{grid-area:status;justify-content:flex-start}.invoice-compact-menu{grid-area:menu;align-self:start}.invoice-compact-v620>.invoice-select-box{left:12px;top:11px}.invoice-select-box+.invoice-compact-main{padding-left:31px}.project-card-open{padding:15px 48px 14px 14px}.project-card-head{display:block}.project-card-head .badge{margin-top:8px}.project-card-metrics,.project-card-finance{grid-template-columns:1fr 1fr}.project-card-finance{gap:8px}.project-detail-header{grid-template-columns:auto minmax(0,1fr)}.project-detail-header>#editProjectDetail{grid-column:1/-1;width:100%}.project-detail-tabs button{min-width:96px}.project-mini-kpis{grid-template-columns:1fr 1fr}.project-cost-summary,.expense-page-kpis{grid-template-columns:1fr}.backup-status-grid{grid-template-columns:1fr}.backup-actions{display:grid}.document-card{grid-template-columns:38px minmax(0,1fr)}.document-card a,.document-card button{grid-column:2}.notification-item{grid-template-columns:38px minmax(0,1fr) 14px}.notification-item>strong{grid-column:2;grid-row:2}.notification-item>i{grid-column:3;grid-row:1/3}.dashboard-attention-v620 .notification-item{grid-template-columns:32px minmax(0,1fr) 12px}.dashboard-attention-v620 .notification-item>strong{grid-column:2;grid-row:2}.dashboard-attention-v620 .notification-item>i{grid-column:3;grid-row:1/3}}
@media(max-width:410px){.brand-wrap img{width:45px;height:45px}.user-tools #activeUser{max-width:92px}.user-tools #language{max-width:58px}.header-icon-button{width:38px;height:38px}.more-header-button{display:grid}.project-kpis{grid-template-columns:1fr}.project-card-metrics{grid-template-columns:1fr 1fr}.project-card-metrics strong{font-size:16px}}
.dashboard-invoice-links-v620{display:flex;gap:8px;overflow:auto;margin:-10px 0 20px}.dashboard-invoice-links-v620 button{white-space:nowrap;background:#14171b;color:#d0d3d8;border:1px solid #343940;padding:10px 13px}.dashboard-invoice-links-v620 button:first-child{color:var(--gold);border-color:#5f550e}


/* UPFIX v6.3.0 Tasks & Notes */
.tasks-shell{max-width:980px;margin:0 auto;padding-bottom:120px}.tasks-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.tasks-head small{color:#9299a3;font-weight:700}.tasks-head h1{margin:3px 0 0;font-size:31px;letter-spacing:-.8px}.tasks-head>div:last-child{display:flex;gap:8px}.task-head-mic,.task-head-add{width:46px;height:46px;display:grid;place-items:center;padding:0;border-radius:14px}.task-head-mic{background:#171a1f;color:var(--gold);border:1px solid #3a3f47}.task-head-add{background:var(--gold);color:#101114}.task-buckets{display:grid;gap:10px}.task-bucket-card{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto 14px;align-items:center;text-align:left;gap:13px;padding:17px 16px;background:#13161a;color:#fff;border:1px solid #30353b;border-radius:18px}.task-bucket-card:hover{border-color:#50555d}.task-bucket-card>div b,.task-bucket-card>div small{display:block}.task-bucket-card>div b{font-size:16px;letter-spacing:.3px}.task-bucket-card>div small{margin-top:4px;color:#969da6;font-size:12px}.task-bucket-card>strong{font-size:22px}.task-bucket-card>i{font-style:normal;color:#727983;font-size:25px}.task-bucket-mark{width:10px;height:10px;border-radius:50%;background:#8d949d}.task-bucket-card.today .task-bucket-mark{background:#ff514a;box-shadow:0 0 0 5px rgba(255,81,74,.1)}.task-bucket-card.week .task-bucket-mark{background:#f59f36}.task-bucket-card.waiting .task-bucket-mark{background:#d7bd39}.task-bucket-card.inbox .task-bucket-mark{background:#4c8dff}.task-bucket-card.later .task-bucket-mark{background:#858d97}.task-quick-capture{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin:14px 0}.task-quick-capture button{display:flex;align-items:center;gap:12px;text-align:left;justify-content:flex-start;min-height:72px;border-radius:18px}.task-quick-capture button:first-child{background:linear-gradient(135deg,#332f09,#161813);border:1px solid #766817;color:#fff}.task-quick-capture button:first-child .ui-icon{color:var(--gold)}.task-quick-capture button:last-child{background:#13161a;color:#fff;border:1px solid #30353b}.task-quick-capture b,.task-quick-capture small{display:block}.task-quick-capture small{color:#9ba1a9;margin-top:3px}.task-list-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:12px 0}.task-search{display:flex;align-items:center;gap:9px;background:#14171b;border:1px solid #343940;border-radius:14px;padding:0 12px}.task-search .ui-icon{color:#8d949d}.task-search input{background:transparent;border:0;color:#fff;padding:12px 0;width:100%;outline:0}.task-back{margin-bottom:10px;background:transparent;color:var(--gold);padding-left:0}.task-list{display:grid;gap:9px}.task-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:15px 13px;background:#13161a;border:1px solid #30353b;border-radius:17px;color:#fff;cursor:pointer}.task-card.high{border-left:3px solid #ff514a}.task-card.done{opacity:.6}.task-card.done .task-card-title b{text-decoration:line-through}.task-check{width:29px;height:29px;padding:0;border-radius:50%;background:transparent;color:#0e1115;border:2px solid #707780;display:grid;place-items:center;font-weight:900}.task-card.done .task-check{background:var(--gold);border-color:var(--gold)}.task-card-title{display:flex;gap:8px;align-items:center}.task-card-title b{font-size:15px}.task-card-title span{font-size:9px;padding:3px 6px;border-radius:999px;background:rgba(255,81,74,.13);color:#ff6861;text-transform:uppercase;font-weight:900}.task-card-main p{margin:5px 0 8px;color:#a6acb4;font-size:12px;line-height:1.4}.task-card-meta{display:flex;gap:9px;flex-wrap:wrap}.task-card-meta span{font-size:10px;color:#8f969f}.task-card-arrow{font-style:normal;color:#767d87;font-size:23px}.task-empty{padding:42px 20px;text-align:center;border:1px dashed #343940;border-radius:18px;color:#8f969f}.task-empty .ui-icon{width:34px;height:34px;margin:0 auto 10px;color:#6f7780}.task-empty b{display:block}.task-floating-mic,.task-floating-add{position:fixed;z-index:40;bottom:calc(86px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;display:grid;place-items:center;padding:0;box-shadow:0 12px 30px rgba(0,0,0,.42)}.task-floating-mic{right:82px;background:#191c21;color:var(--gold);border:1px solid #50555d}.task-floating-add{right:17px;background:var(--gold);color:#101114;border:0}.task-floating-mic .ui-icon,.task-floating-add .ui-icon{width:24px;height:24px}.task-reminder-banner{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;gap:10px;text-align:left;padding:12px 14px;margin-bottom:12px;background:rgba(245,159,54,.08);border:1px solid rgba(245,159,54,.35);border-radius:15px;color:#fff}.task-reminder-banner>span{color:#f2b14f}.task-reminder-banner b,.task-reminder-banner small{display:block}.task-reminder-banner small{color:#a9aeb5;margin-top:2px}.task-reminder-banner>i{font-style:normal;font-size:22px;color:#9aa0a8}
.task-editor>label,.task-editor-grid label{display:block;margin:12px 0 6px;color:#aeb4bb;font-size:12px;font-weight:800}.task-editor input,.task-editor textarea,.task-editor select{width:100%}.task-editor textarea{min-height:118px}.task-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.task-audio-capture{margin-top:15px}.task-audio-capture>button{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:11px;background:linear-gradient(135deg,#312c08,#151714);color:#fff;border:1px solid #665c17;text-align:left}.task-audio-capture button .ui-icon{color:var(--gold)}.task-audio-capture b,.task-audio-capture small{display:block}.task-audio-capture small{color:#9da3aa}.task-audio-capture #taskRecordingState{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 13px;border-radius:14px;background:#221313;border:1px solid #5d2525}.task-audio-capture #taskRecordingState[hidden]{display:none}.task-audio-capture #taskRecordingState>i{width:10px;height:10px;border-radius:50%;background:#ff514a;animation:taskPulse 1.2s infinite}.task-audio-capture #taskRecordingState button{grid-column:1/-1;background:#ff514a;color:#fff}.task-attachments-editor{margin-top:16px;padding-top:14px;border-top:1px solid #33383f}.task-attachments-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-file-picker{display:flex!important;align-items:center;gap:7px!important;margin:0!important;padding:9px 11px;border-radius:12px;background:#1a1d22;color:var(--gold)!important;border:1px solid #3a4047;cursor:pointer;font-size:11px!important}.task-file-picker input{display:none}.task-attachments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;position:relative}.task-attachment{position:relative;min-height:68px;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:left;background:#181b20;color:#fff;border:1px solid #363c43;border-radius:13px;background-size:cover;background-position:center}.task-attachment>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#252a30;color:var(--gold);font-size:11px;font-weight:900}.task-attachment b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-attachment small{color:#89919a}.task-attachment.has-preview b,.task-attachment.has-preview small{text-shadow:0 1px 3px #000}.task-attachment.missing{opacity:.45}.task-attachment-remove{position:absolute;margin-top:-5px;margin-left:-28px;width:24px;height:24px;padding:0;border-radius:50%;background:#3a2020;color:#ff7770;z-index:4}.task-media-player{width:100%;max-height:65vh}.task-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.task-editor-actions .danger{background:#3b1717;color:#ff7770;border:1px solid #662b2b}@keyframes taskPulse{50%{opacity:.3;transform:scale(.82)}}
@media(max-width:600px){.tasks-head h1{font-size:27px}.task-quick-capture{grid-template-columns:1fr}.task-list-tools{grid-template-columns:1fr}.task-editor-grid{grid-template-columns:1fr}.task-attachments-grid{grid-template-columns:1fr 1fr}.task-floating-mic{right:78px}.task-floating-add{right:14px}}
@media(max-width:390px){.task-attachments-grid{grid-template-columns:1fr}.task-bucket-card{padding:14px 12px}.task-bucket-card>strong{font-size:19px}}
/* v6.4.0 */
.carry-mode{margin-top:7px;max-width:150px;padding:7px 9px;border-radius:9px;background:#17191e;color:#fff;border:1px solid #3b3f49;font-size:12px}
.analytics-week-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 16px}.analytics-week-nav button{width:42px;height:38px}.analytics-weekly-business-summary{margin:16px 0}.weekly-business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.weekly-business-grid article{padding:14px;border:1px solid var(--border);border-radius:14px}.weekly-business-grid small{display:block;opacity:.7}.weekly-business-grid strong{font-size:1.2rem}.summary-profit{border-color:#d7ad16!important}@media(max-width:700px){.weekly-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v6.4.1 */
.company-pick .worker-pick-main{gap:7px}.company-crew-control{display:flex;align-items:center;gap:8px;margin-top:5px}.company-crew-control small{min-width:76px}.company-crew-control input{width:76px;min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);padding:6px 8px}.subcontractor-pay-card{border-color:rgba(255,199,0,.35)}.weekly-site-summary-list{display:grid;gap:8px}.weekly-site-summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px}.weekly-site-summary-row span{display:grid;gap:3px}.weekly-site-summary-row small{color:var(--muted)}.weekly-site-summary-row strong{text-align:right}
\n/* v6.6.0 Site History details */\n.weekly-headcount-row{width:100%;text-align:left;color:inherit;background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:12px}\n.site-week-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}.site-week-kpis article{padding:14px;border:1px solid var(--line);border-radius:14px}.site-week-kpis small,.site-week-kpis strong{display:block}.site-week-kpis strong{margin-top:5px}.site-week-days{display:grid;gap:10px}.site-week-day{border:1px solid var(--line);border-radius:14px;padding:13px}.site-week-day.is-off{opacity:.6}.site-week-day-head{display:flex;justify-content:space-between}.site-week-workers{display:grid;gap:8px;margin-top:10px}.site-week-workers>div{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center}.site-week-workers>div>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#17191d;color:var(--gold);font-weight:900}.site-week-workers p{margin:0}.site-week-workers b,.site-week-workers small{display:block}@media(max-width:600px){.site-week-kpis{grid-template-columns:1fr}.weekly-headcount-row{padding:13px}}\n
/* v6.7 focused UX corrections */
#activeUser[hidden],#language[hidden]{display:none!important}.quick-action-header-button{font-size:27px;line-height:1;color:var(--gold);display:grid;place-items:center}.labour-summary-card{grid-template-columns:minmax(0,1fr) auto}.labour-summary-card .status-button{grid-column:1/-1;width:100%}.weekly-headcount-row.is-off{opacity:.72}.weekly-headcount-row.is-off:not(:disabled){cursor:pointer}

/* v6.7.1 Payroll day details */
button.payroll-day{font:inherit;color:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
button.payroll-day:active{transform:translateY(1px)}
.labour-summary-main .labour-days-total{display:inline;color:var(--gold);font-size:inherit}
.payroll-day-detail-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.payroll-day-detail-head small{color:var(--muted)}.payroll-day-detail-list{display:grid;gap:10px}.payroll-day-detail-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.payroll-day-detail-card small,.payroll-day-detail-card b{display:block}.payroll-day-detail-card small{color:var(--muted);margin-bottom:4px}.payroll-day-detail-card p{grid-column:1/-1;margin:0;color:var(--muted)}
@media(max-width:560px){.payroll-day-detail-card{grid-template-columns:1fr 1fr}}

/* v6.7.5 Vacation status */
.worker-row.worker-vacation{border-color:rgba(255,214,0,.48);box-shadow:inset 3px 0 0 var(--gold)}
.worker-row.worker-vacation .name-link{color:var(--gold)!important;text-shadow:0 0 14px rgba(255,214,0,.16)}
.worker-row.worker-vacation .worker-avatar{border-color:#7a6900;color:var(--gold)}
.worker-row.worker-vacation .badge.holiday{background:#3b3307;color:var(--gold);border-color:#6f5e00}

/* v6.7.6 Deleted workers recovery */
.worker-filter-chips button[data-worker-filter="deleted"]{border-color:rgba(255,255,255,.18)}
.worker-filter-chips button[data-worker-filter="deleted"].active{border-color:#ffcc00;box-shadow:0 0 0 1px rgba(255,204,0,.25) inset}
.worker-row.worker-archived{opacity:.76;border-style:dashed}
.worker-row.worker-archived .name-link{color:#aeb3bd}
.worker-type-badge.archived{background:rgba(255,255,255,.08);color:#b9bdc6;border:1px solid rgba(255,255,255,.12)}
.restore-worker{color:#ffd400!important;font-weight:800!important}

/* v6.7.7 Weekly reporting navigator */
.dashboard-week-nav{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;margin:14px 0 16px;padding:12px 14px;border:1px solid #303238;border-radius:15px;background:#111316}.dashboard-week-nav>div{text-align:center}.dashboard-week-nav small,.dashboard-week-nav em{display:block;color:#aeb2ba;font-style:normal;font-size:12px}.dashboard-week-nav b{display:block;margin:3px 0;color:#fff}.dashboard-week-nav em{color:var(--gold)}.dashboard-week-nav button{min-height:42px;padding:0 14px;border-radius:11px;border:1px solid #3b3e45;background:#191b1f;color:#fff;font-weight:700}.dashboard-week-nav button:disabled{opacity:.35;cursor:not-allowed}.weekly-report-nav{margin-bottom:18px}@media(max-width:700px){.dashboard-week-nav{grid-template-columns:1fr 1fr}.dashboard-week-nav>div{grid-column:1/-1;grid-row:1}.dashboard-week-nav button{grid-row:2;font-size:12px;padding:0 8px}}

/* v6.8.0 Supplier Companies */
.supplier-companies-panel{margin:14px 0 18px;padding:15px;border:1px solid rgba(255,204,0,.28);border-radius:20px;background:linear-gradient(145deg,rgba(255,204,0,.055),rgba(18,20,24,.96) 42%)}
.supplier-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.supplier-panel-head h2{margin:0;font-size:18px}.supplier-panel-head small{display:block;margin-top:3px;color:var(--muted)}.supplier-panel-head button{padding:10px 13px}
.supplier-company-grid{display:grid;gap:10px}.supplier-company-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;padding:10px;border:1px solid #33373e;border-radius:16px;background:#121418}.supplier-card-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:4px;background:transparent;border:0;color:#fff;text-align:left}.supplier-card-main>span:nth-child(2){min-width:0}.supplier-card-main b,.supplier-card-main small{display:block}.supplier-card-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplier-card-main small{margin-top:4px;color:var(--muted);font-size:11px}.supplier-card-main>strong{color:var(--gold);white-space:nowrap}.supplier-company-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;border:1px solid rgba(255,204,0,.35);background:#1b1c16;color:var(--gold);font-weight:900}.supplier-card-actions{display:flex;gap:6px;align-items:center}.supplier-card-actions button{padding:8px 9px;font-size:11px}
.supplier-detail-summary,.supplier-payment-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 15px}.supplier-detail-summary article,.supplier-payment-kpis article{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.supplier-detail-summary small,.supplier-detail-summary strong,.supplier-payment-kpis small,.supplier-payment-kpis strong{display:block}.supplier-detail-summary small,.supplier-payment-kpis small{color:var(--muted);font-size:10px}.supplier-detail-summary strong,.supplier-payment-kpis strong{margin-top:5px}.supplier-detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:17px}.supplier-detail-actions button{padding:10px 7px;font-size:11px}.supplier-detail-list,.supplier-pay-breakdown{display:grid;gap:8px;margin:8px 0 16px}.supplier-detail-row,.supplier-pay-site-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#14171b}.supplier-detail-row>div,.supplier-pay-site-row>span{min-width:0;flex:1}.supplier-detail-row b,.supplier-detail-row small,.supplier-pay-site-row b,.supplier-pay-site-row small{display:block}.supplier-detail-row small,.supplier-pay-site-row small{color:var(--muted);margin-top:3px;font-size:11px}.supplier-detail-row button{padding:7px 9px}
.assignment-worker-group{display:grid;gap:8px;margin-bottom:13px;padding:10px;border:1px solid #30343a;border-radius:14px;background:#101216}.assignment-worker-group.supplier-assignment-group{border-color:rgba(255,204,0,.28);background:rgba(255,204,0,.025)}.assignment-group-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 3px 7px}.assignment-group-head small{color:var(--muted)}.supplier-aware-picker{display:grid;gap:9px}.supplier-person-pick{align-items:flex-start}.supplier-assignment-controls{display:grid;grid-template-columns:minmax(130px,1fr) 92px;gap:7px;margin-top:8px}.supplier-assignment-controls>span{display:grid;gap:3px}.supplier-assignment-controls small{color:#9ca2aa;font-size:9px;text-transform:uppercase;letter-spacing:.4px}.supplier-assignment-controls input,.supplier-assignment-controls select{width:100%;min-height:35px;padding:6px 8px;border:1px solid #3d424a;border-radius:9px;background:#171a1f;color:#fff}.supplier-assignment-rate{color:var(--gold)!important;font-weight:800}
.payroll-section-label{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:20px 2px 9px}.payroll-section-label h2{margin:0;font-size:17px}.payroll-section-label small{color:var(--muted)}.supplier-payroll-card{border-color:rgba(255,204,0,.35);grid-template-columns:minmax(0,1fr) auto}.supplier-pay-edit{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:transparent;color:#fff;padding:0;border:0}.supplier-pay-edit b,.supplier-pay-edit small{display:block}.supplier-pay-edit small{margin-top:3px;color:var(--muted)}.supplier-pay-edit>strong{white-space:nowrap}.supplier-card-site-preview{grid-column:1/-1;display:grid;gap:5px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}.supplier-card-site-preview span{display:flex;justify-content:space-between;gap:10px}.supplier-card-site-preview small{color:var(--muted)}.supplier-card-site-preview b{font-size:11px}.supplier-payroll-card .status-button{grid-column:1/-1;width:100%}
@media(max-width:650px){.supplier-panel-head{align-items:flex-start}.supplier-panel-head button{font-size:11px}.supplier-company-card{grid-template-columns:1fr}.supplier-card-actions{justify-content:flex-end}.supplier-detail-summary,.supplier-payment-kpis{grid-template-columns:1fr 1fr}.supplier-detail-actions{grid-template-columns:1fr}.supplier-assignment-controls{grid-template-columns:minmax(0,1fr) 82px}.supplier-pay-edit{align-items:flex-start}.supplier-pay-edit>strong{font-size:15px}.supplier-card-main{grid-template-columns:40px minmax(0,1fr)}.supplier-card-main>strong{grid-column:2}.supplier-card-actions button{flex:1}}
