
:root{
 --bg:#f6f8fc;--surface:#fff;--surface2:#f0f5fb;--text:#142033;--muted:#738198;--line:#dbe5ef;
 --primary:#0b73f6;--primary2:#eaf3ff;--green:#16a765;--green2:#e8f7ef;--red:#e5484d;--red2:#fff0f1;
 --gold:#e4a92a;--purple:#7a5af8;--shadow:0 8px 24px rgba(28,45,67,.08);--radius:18px;--header-h:74px;--nav-h:74px;
 color-scheme:light dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
@media(prefers-color-scheme:dark){:root{
 --bg:#07111d;--surface:#0d1b2a;--surface2:#11263a;--text:#f3f7fb;--muted:#92a5b8;--line:#284158;
 --primary:#3a97ff;--primary2:#102b47;--green:#39c980;--green2:#103325;--red:#ff6b70;--red2:#38171b;
 --gold:#f0b64a;--purple:#9f87ff;--shadow:0 10px 28px rgba(0,0,0,.24);
}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{overscroll-behavior-y:none}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}
.app-shell{min-height:100dvh}.app-header{position:fixed;z-index:50;top:0;left:0;right:0;height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand-wrap{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:12px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:22px;letter-spacing:.1px}.brand-copy span{font-size:12px;color:var(--muted);font-weight:700}.beta-badge{font-size:10px;font-weight:900;background:#ffd86b;color:#392700;border-radius:999px;padding:5px 7px;white-space:nowrap}
.header-actions{display:flex;gap:8px}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);min-width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative}.add-btn{background:var(--primary);color:white;border-color:var(--primary);font-size:25px}.sync-chip{gap:7px;padding:0 12px;min-width:auto}.sync-dot{width:8px;height:8px;border-radius:50%;background:#9aa8b7}.sync-text{font-size:12px;font-weight:800}.sync-chip.synced .sync-dot{background:var(--green)}.sync-chip.pending .sync-dot{background:var(--gold)}.sync-chip.conflict .sync-dot{background:var(--red)}
.notify-dot{position:absolute;right:-3px;top:-5px;background:var(--red);color:#fff;border:2px solid var(--surface);font-size:10px;font-weight:900;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center}.hidden{display:none!important}
.main-content{padding:calc(var(--header-h) + env(safe-area-inset-top) + 18px) 18px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px);max-width:1100px;margin:0 auto;min-height:100dvh;outline:none}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 16px}.page-head h1{font-size:30px;margin:0}.page-head p{margin:4px 0 0;color:var(--muted)}.back-title{display:flex;align-items:center;gap:10px}.back-btn{border:0;background:var(--primary2);color:var(--primary);width:42px;height:42px;border-radius:14px;font-weight:900}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:14px}.section-title{font-size:18px;margin:0 0 12px}.muted{color:var(--muted)}
.project-picker{display:flex;align-items:center;gap:12px}.project-avatar{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#dcecff,#fff2d1);display:grid;place-items:center;font-size:25px;flex:0 0 auto}.project-picker select,.field select,.field input,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:13px;padding:12px 13px;min-height:46px;outline:none}.project-picker select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.metric{min-height:104px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.metric .ico{font-size:20px}.metric strong{font-size:24px}.metric small{font-weight:800;color:var(--muted)}.metric.green{background:color-mix(in srgb,var(--green2) 70%,var(--surface))}.metric.red{background:color-mix(in srgb,var(--red2) 70%,var(--surface))}.metric.blue{background:color-mix(in srgb,var(--primary2) 70%,var(--surface))}
.progress-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.progress-track{height:9px;border-radius:9px;background:var(--surface2);overflow:hidden;flex:1}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#28c88a,var(--primary));width:0}.status-pill{font-size:11px;font-weight:900;padding:6px 8px;border-radius:999px;background:var(--green2);color:var(--green)}
.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.quick-btn{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-height:92px;padding:11px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-weight:800}.quick-btn span{font-size:24px}.quick-btn:hover{border-color:var(--primary);transform:translateY(-1px)}
.alert-card{border-left:4px solid var(--gold)}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.alert-row:first-of-type{border-top:0}.link-btn{border:0;background:none;color:var(--primary);font-weight:800;padding:8px}
.bottom-nav{position:fixed;z-index:60;bottom:0;left:0;right:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr)}.nav-btn{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:100%;min-width:0}.nav-btn span{font-size:20px}.nav-btn b{font-size:10px}.nav-btn.active{color:var(--primary);background:linear-gradient(180deg,transparent,var(--primary2))}
.list{display:grid;gap:10px}.list-row{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;min-height:74px}.list-row .grow{flex:1;min-width:0}.list-row strong{display:block;font-size:16px}.list-row small{color:var(--muted)}.chev{font-size:24px;color:var(--muted)}
.project-card{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:18px;padding:15px}.project-card-top{display:flex;gap:12px;align-items:center}.project-card .mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mini{background:var(--surface2);border-radius:12px;padding:9px}.mini b{display:block;font-size:16px}.mini span{font-size:10px;color:var(--muted);font-weight:800}.project-progress{height:7px;background:var(--surface2);border-radius:8px;overflow:hidden;margin-top:12px}.project-progress i{display:block;height:100%;background:var(--primary)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:13px;min-height:44px;padding:10px 14px;font-weight:800}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.danger{background:var(--red2);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}.btn.block{width:100%}.segmented{display:flex;background:var(--surface2);padding:4px;border-radius:14px;gap:4px}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:8px;font-weight:800}.segmented button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}
.attendance-table{display:grid;gap:10px}.trade-row{display:grid;grid-template-columns:minmax(130px,1.15fr) 150px 105px minmax(190px,1fr) 120px;grid-template-areas:"trade counter shift name rate";align-items:end;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}.trade-name{grid-area:trade;align-self:center;font-weight:900;display:flex;flex-direction:column;gap:4px;min-width:0}.trade-name strong{font-size:16px}.trade-workers{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.attendance-control{display:flex;flex-direction:column;gap:5px;min-width:0}.attendance-control label{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-left:2px}.attendance-control label span{text-transform:none;letter-spacing:0;font-weight:700}.counter-control{grid-area:counter}.shift-control{grid-area:shift}.name-control{grid-area:name}.rate-control{grid-area:rate}.counter{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface2);height:44px}.counter button{height:42px;border:0;background:transparent;color:var(--primary);font-size:20px;font-weight:900}.counter b{text-align:center}.trade-row select,.trade-row input{width:100%;height:44px;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:11px;padding:0 10px}.name-control select{font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.field.full{grid-column:1/-1}.field textarea{min-height:88px;resize:vertical}
.modal-layer{position:fixed;z-index:100;inset:0;background:rgba(4,12,22,.55);display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(720px,100%);max-height:min(88dvh,900px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal.full{width:min(1000px,100%)}.modal-head{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:16px}.modal-close{width:42px;height:42px;border:0;border-radius:13px;background:var(--surface2);color:var(--text);font-size:20px}.modal-actions{position:sticky;bottom:0;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:12px 16px;display:flex;justify-content:flex-end;gap:10px}
.doc-items{display:grid;gap:8px}.doc-item{display:grid;grid-template-columns:1.8fr .8fr .8fr 44px;gap:8px}.doc-item input{width:100%;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:11px;padding:10px}.gst-details{border:1px solid var(--line);border-radius:15px;margin-top:12px}.gst-details summary{padding:13px 14px;font-weight:900;cursor:pointer}.gst-details>div{padding:0 14px 14px}.total-box{margin-top:12px;background:var(--surface2);border-radius:14px;padding:12px}.total-line{display:flex;justify-content:space-between;padding:5px 0}.total-line.grand{font-size:20px;font-weight:900;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.report-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:flex;align-items:center;gap:12px}.report-icon{width:48px;height:48px;border-radius:14px;background:var(--primary2);display:grid;place-items:center;font-size:24px}.report-card .grow{flex:1}.report-card-actions{display:flex;gap:7px}.report-card-actions button{border:0;background:var(--primary2);color:var(--primary);border-radius:10px;padding:8px 10px;font-weight:800}
.sync-panel{display:grid;gap:12px}.sync-state{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--surface2);border-radius:14px}.sync-state b{display:block}.sync-state small{color:var(--muted)}
.vai-screen{min-height:65dvh;display:flex;flex-direction:column}.vai-hero{text-align:center;padding:10px 0 18px}.vai-hero img{width:90px;height:90px;object-fit:contain}.vai-chips{display:grid;gap:8px}.vai-chips button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:11px;text-align:left;font-weight:800}.vai-chat{flex:1;display:grid;align-content:end;gap:8px;margin-top:12px}.bubble{max-width:82%;padding:11px 13px;border-radius:15px;background:var(--surface2)}.bubble.user{margin-left:auto;background:var(--primary);color:#fff}.vai-compose{display:grid;grid-template-columns:1fr 46px;gap:8px;margin-top:12px}.vai-compose input{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:14px;padding:12px}.vai-compose button{border:0;background:var(--primary);color:#fff;border-radius:14px;font-size:20px}
.toast-root{position:fixed;z-index:200;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);transform:translateX(-50%);display:grid;gap:8px;width:min(92vw,460px)}.toast{background:#162130;color:#fff;border-radius:13px;padding:12px 14px;box-shadow:var(--shadow);animation:toastIn .2s ease}.toast.error{background:#7d2025}.toast.success{background:#12643e}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:780px){
 .app-header{padding-left:12px;padding-right:12px}.brand-logo{width:38px;height:38px}.brand-copy strong{font-size:19px}.beta-badge{display:none}.sync-chip .sync-text{display:none}.sync-chip{padding:0;width:44px}
 .main-content{padding-left:12px;padding-right:12px}.page-head h1{font-size:26px}.metric-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(4,1fr)}.trade-row{grid-template-columns:minmax(92px,1fr) 140px 86px;grid-template-areas:"trade counter shift" "name name rate";align-items:end}.trade-name{align-self:center}.name-control{grid-area:name}.rate-control{grid-area:rate}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.doc-item{grid-template-columns:1fr 76px 86px 42px}.report-card{align-items:flex-start}.report-card-actions{flex-direction:column}.bottom-nav{grid-template-columns:repeat(6,1fr)}.nav-btn b{font-size:9px}.modal-layer{padding:0;align-items:flex-end}.modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0}.modal.full{width:100%}
}
@media(max-width:430px){.quick-grid{grid-template-columns:repeat(3,1fr)}.metric{min-height:96px}.metric strong{font-size:21px}.brand-copy span{font-size:11px}.bottom-nav{height:calc(70px + env(safe-area-inset-bottom))}.nav-btn span{font-size:19px}.nav-btn b{font-size:8.5px}.trade-row{grid-template-columns:minmax(84px,1fr) 132px 82px;grid-template-areas:"trade counter shift" "name name rate";gap:8px;padding:10px}.attendance-control label{font-size:9px}.trade-workers{font-size:10px}}
@media(min-width:1000px){.main-content{padding-left:26px;padding-right:26px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(900px,calc(100% - 30px));border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;overflow:hidden}.app-header{padding-left:max(24px,calc((100vw - 1100px)/2));padding-right:max(24px,calc((100vw - 1100px)/2))}.quick-btn{min-height:104px}}
@media print{.app-header,.bottom-nav,.modal-actions,.modal-close,.no-print{display:none!important}.main-content{padding:0}.modal-layer{position:static;background:none;padding:0}.modal{max-height:none;overflow:visible;border:0;box-shadow:none;width:100%}}

/* V34 Beta 2 Change 1: attendance worker/rate controls */
@media(prefers-color-scheme:dark){
  .attendance-control select,
  .attendance-control input,
  .counter{background:var(--surface2);color:var(--text);border-color:var(--line)}
  .attendance-control select option{background:var(--surface);color:var(--text)}
}

/* V34 Beta 3 Change 2: clickable Home calendar date */
.home-date-card-v34{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  border-radius:16px;
  min-height:64px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font:inherit;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  touch-action:manipulation;
}
.home-date-card-v34:hover{border-color:var(--primary);background:var(--surface2)}
.home-date-card-v34:active{transform:scale(.985)}
.calendar-glyph-v34{font-size:15px;color:var(--primary);font-weight:900}
.home-date-native-v34{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  left:-9999px!important;
  top:-9999px!important;
}
@media(max-width:700px){
  .home-date-card-v34{
    min-height:58px;
    padding:0 16px;
    font-size:17px;
    border-radius:15px;
  }
}
@media(prefers-color-scheme:dark){
  .home-date-card-v34{
    background:var(--surface);
    color:var(--text);
    border-color:var(--line);
  }
  .home-date-card-v34:hover{background:var(--surface2)}
}

/* V34 Beta 4 Change 3: global modal scroll lock */
html.modal-open-v34,
body.modal-open-v34{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  width:100%!important;
}
body.modal-open-v34{
  position:fixed!important;
  left:0!important;
  right:0!important;
}
.modal-layer{
  overscroll-behavior:contain!important;
  touch-action:none;
  overflow:hidden!important;
}
.modal{
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.modal-body{
  overscroll-behavior:contain!important;
}
@media(max-width:700px){
  .modal-layer{
    height:100dvh!important;
    min-height:100dvh!important;
  }
  .modal{
    max-height:92dvh!important;
  }
}

/* V34 Beta 5 Change 4: true viewport bottom navigation */
:root{
  --bottom-nav-h:76px;
}
.bottom-nav,
.bottom,
nav.bottom,
#bottomNav,
[data-bottom-nav]{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  min-height:var(--bottom-nav-h)!important;
  z-index:1000!important;
  transform:none!important;
  margin:0!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  background:color-mix(in srgb,var(--surface) 96%,transparent)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--line)!important;
  box-shadow:0 -8px 24px rgba(15,35,60,.08)!important;
}

/* Ensure the app content always clears the fixed nav */
main,
.app-main,
#appMain,
.page,
.page-content,
#pageRoot{
  padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 22px)!important;
}

/* Extra clearance for long Home sections/cards */
#app,
.app-shell{
  min-height:100dvh;
}

/* iOS PWA safe area */
@supports(padding:max(0px)){
  .bottom-nav,
  .bottom,
  nav.bottom,
  #bottomNav,
  [data-bottom-nav]{
    padding-bottom:max(env(safe-area-inset-bottom),0px)!important;
  }
}

/* Mobile touch targets */
@media(max-width:700px){
  :root{--bottom-nav-h:72px}
  .bottom-nav button,
  .bottom button,
  nav.bottom button,
  #bottomNav button,
  [data-bottom-nav] button{
    min-height:58px!important;
    touch-action:manipulation;
  }
}

/* Desktop keeps nav stable and centered without covering content */
@media(min-width:901px){
  :root{--bottom-nav-h:70px}
}

/* When a modal is open the nav belongs to the frozen background */
body.modal-open-v34 .bottom-nav,
body.modal-open-v34 .bottom,
body.modal-open-v34 nav.bottom,
body.modal-open-v34 #bottomNav,
body.modal-open-v34 [data-bottom-nav]{
  pointer-events:none!important;
}

/* V34 Beta 6 Change 5: clear Money Received action */
.payment-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.received-btn-v34{
  background:color-mix(in srgb,var(--primary) 8%,var(--surface))!important;
  color:var(--primary)!important;
  border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line))!important;
}
.received-btn-v34:hover{
  background:color-mix(in srgb,var(--primary) 14%,var(--surface))!important;
}
.empty-received-v34{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
@media(max-width:700px){
  .payments-head-v34{
    align-items:flex-start;
    gap:12px;
  }
  .payment-head-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .payment-head-actions .btn{
    width:100%;
    min-height:54px;
    padding:8px 10px;
    white-space:normal;
    line-height:1.15;
  }
  .empty-received-v34{
    align-items:stretch;
    flex-direction:column;
  }
  .empty-received-v34 .btn{
    width:100%;
  }
}
@media(max-width:390px){
  .payment-head-actions{
    grid-template-columns:1fr;
  }
}
@media(prefers-color-scheme:dark){
  .received-btn-v34{
    background:color-mix(in srgb,var(--primary) 13%,var(--surface))!important;
    color:#8fc2ff!important;
  }
}

/* V34 Beta 7 Change 6: report preview and PDF */
.report-print-sheet{background:#fff;color:#0d1b2e;padding:20px;border-radius:14px}
.report-brand{display:flex;align-items:center;gap:12px}.report-brand img{width:52px;height:52px;object-fit:contain}.report-brand h2{margin:0;font-size:22px}.report-brand div div{font-size:12px}
.report-rule{border-top:2px solid #111;margin:12px 0 18px}.report-print-sheet h1{font-size:24px;margin:0 0 8px}.report-period{font-size:14px;margin-bottom:16px}
.report-metrics{display:grid;gap:10px;margin:14px 0}.report-metrics.two,.report-metrics.four{grid-template-columns:repeat(2,1fr)}
.report-metric{border:1px solid #dce5ee;border-radius:12px;padding:12px}.report-metric span{display:block;color:#728198;font-size:12px;font-weight:800;margin-bottom:7px}.report-metric strong{font-size:20px}
.report-section-title{margin:18px 0 8px}.report-details{display:grid;gap:6px}.report-detail-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;border-bottom:1px solid #edf1f5;padding:7px 0;font-size:13px}
.report-generated{margin-top:18px;color:#7d899b;font-size:11px}
@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body{background:#fff!important;overflow:visible!important;height:auto!important}
  body *{visibility:hidden!important}
  #printReportV34,#printReportV34 *{visibility:visible!important}
  #printReportV34{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#000!important;background:#fff!important}
  .modal-head,.modal-actions,.bottom-nav,.bottom,header,.app-header{display:none!important}
}

/* V34 Beta 8 Change 7: report period selector */
.report-period-select-v34{
  width:100%;
  min-height:54px;
  border:1px solid var(--line);
  background:var(--surface2);
  color:var(--text);
  border-radius:14px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.report-period-select-v34:hover{border-color:var(--primary)}
.report-period-chevron-v34{font-size:24px;color:var(--primary);line-height:1}
.period-mode-v34{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:16px;
}
.period-mode-btn-v34{
  min-height:46px;
  border:1px solid var(--line);
  background:var(--surface2);
  color:var(--muted);
  border-radius:12px;
  font-weight:900;
}
.period-mode-btn-v34.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
.period-preview-v34{
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  background:var(--surface2);
  color:var(--text);
  font-weight:800;
  text-align:center;
}
@media(max-width:700px){
  .period-mode-v34{grid-template-columns:1fr 1fr 1fr}
  .period-mode-btn-v34{font-size:13px;padding:8px}
}

/* V34.0.1 Beta 9 stability pass: modal stacking, safe areas, VAI and print */
#modalRoot.active-v34{position:fixed;inset:0;z-index:5000;pointer-events:none}
#modalRoot.active-v34 .modal-layer{pointer-events:auto}
.modal-layer{z-index:5000!important;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;touch-action:none}
.modal{display:flex;flex-direction:column;overflow:hidden!important;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)))!important}
.modal-head{flex:0 0 auto}
.modal-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.modal-actions{position:relative!important;flex:0 0 auto;bottom:auto!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
body.modal-open-v34 .bottom-nav{z-index:60!important;pointer-events:none!important}
body.modal-open-v34 #app{pointer-events:none;user-select:none}

/* Inputs inside sheets must stay above the iPhone home indicator and remain tappable. */
.modal input,.modal select,.modal textarea,.modal button{touch-action:manipulation}
.modal .field input,.modal .field select,.modal .field textarea{font-size:16px}

/* Report preview has its own scroll body; actions never sit under bottom navigation. */
.report-preview-modal-v34{width:min(820px,100%)!important}
.report-preview-modal-v34 .modal-body{background:var(--surface2)}
.report-preview-modal-v34 .report-print-sheet{margin:0 auto;max-width:760px}

/* VAI is a true chat workspace, not a stretched generic form. */
.vai-modal-v34{width:min(980px,calc(100vw - 32px))!important;height:min(820px,calc(100dvh - 32px))!important;max-height:none!important}
.vai-modal-v34 .modal-body{padding:0!important;overflow:hidden!important}
.vai-screen{height:100%;min-height:0!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:16px}
.vai-hero{display:flex!important;align-items:center;justify-content:center;gap:14px;text-align:left!important;padding:0!important}
.vai-hero img{width:58px!important;height:58px!important;border-radius:16px}
.vai-hero h2{margin:0 0 3px;font-size:22px}.vai-hero p{margin:0}
.vai-chips{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.vai-chips button{min-height:46px}
.vai-chat{min-height:0!important;overflow:auto!important;align-content:start!important;margin-top:0!important;padding:12px;border:1px solid var(--line);background:var(--surface2);border-radius:16px}
.vai-compose{margin-top:0!important;position:relative;background:var(--surface);padding-top:0}
.vai-compose input{font-size:16px;min-height:50px}
.vai-compose button{min-width:50px;min-height:50px}

@media(max-width:780px){
  .modal-layer{padding:max(8px,env(safe-area-inset-top)) 0 0!important;align-items:flex-end!important}
  .modal{width:100%!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;border-radius:22px 22px 0 0!important;border-bottom:0!important}
  .modal-actions{padding-bottom:calc(12px + max(env(safe-area-inset-bottom),8px))!important}
  .vai-modal-v34{height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;border-radius:20px 20px 0 0!important}
  .vai-modal-v34 .modal-head{padding:12px 14px}
  .vai-screen{padding:12px;gap:10px}
  .vai-hero{justify-content:flex-start}
  .vai-hero img{width:46px!important;height:46px!important}
  .vai-hero h2{font-size:18px}.vai-hero p{font-size:12px}
  .vai-chips{grid-template-columns:1fr 1fr!important}
  .vai-chips button{font-size:12px;padding:9px;min-height:42px}
  .vai-chat{padding:10px}
  .bubble{max-width:90%}
}
@media(max-width:430px){
  .vai-chips{grid-template-columns:1fr!important}
  .modal-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .modal-actions .btn{width:100%}
}

/* Print fallback: isolate report even if iframe printing is unavailable. */
@media print{
  body{position:static!important;top:auto!important;width:auto!important;overflow:visible!important}
  body>#app,body>#toastRoot,body>#restoreInput{display:none!important}
  body>#modalRoot{display:block!important;position:static!important}
  #modalRoot .modal-layer{display:block!important;position:static!important;padding:0!important;background:#fff!important}
  #modalRoot .modal{display:block!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;background:#fff!important}
  #modalRoot .modal-head,#modalRoot .modal-actions{display:none!important}
  #modalRoot .modal-body{display:block!important;overflow:visible!important;padding:0!important}
  #modalRoot .modal-body>*:not(#printReportV34){display:none!important}
  #printReportV34{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important}
}

/* V34 Beta 10: unified iOS-safe Home + Attendance date selector */
.date-picker-shell-v34{
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.date-picker-shell-v34 .home-date-card-v34{
  width:100%;
  pointer-events:none;
}
.date-picker-native-v34{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:.001!important;
  z-index:3!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  -webkit-appearance:none;
  appearance:none;
}
.date-picker-shell-v34:focus-within .home-date-card-v34{
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent),var(--shadow-sm);
}
.attendance-head-actions-v34{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.attendance-project-card-v34 .field{margin:0}
.attendance-project-card-v34 select{
  width:100%;
  min-height:50px;
  border:1px solid var(--line);
  background:var(--surface2);
  color:var(--text);
  border-radius:13px;
  padding:0 14px;
  font:inherit;
  font-weight:800;
}
@media(max-width:700px){
  .attendance-page-head-v34{align-items:flex-start}
  .attendance-head-actions-v34{width:auto;max-width:58%;flex-direction:column;align-items:stretch}
  .attendance-head-actions-v34 .date-picker-shell-v34{width:100%}
  .attendance-head-actions-v34 .copy-yesterday-v34{min-height:40px;padding:8px 12px;font-size:12px}
}
@media(max-width:430px){
  .attendance-page-head-v34{gap:10px}
  .attendance-head-actions-v34{max-width:60%}
  .attendance-head-actions-v34 .home-date-card-v34{min-height:54px;padding:0 12px;font-size:16px}
}

/* V34 Beta 11: Attendance date layout + reliable calendar trigger */
.date-picker-shell-v34{
  position:relative;
  display:inline-flex;
  width:auto;
  min-width:0;
}
.date-picker-shell-v34 .home-date-card-v34{
  position:relative;
  z-index:1;
  width:auto;
  min-width:170px;
  border:1.5px solid var(--primary);
  background:var(--surface2);
}
.date-picker-native-v34{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  z-index:2!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  /* Keep the native date control intact on iOS. */
  -webkit-appearance:auto!important;
  appearance:auto!important;
}
.attendance-page-head-v34{
  align-items:center;
}
.attendance-project-top-v34{
  display:flex;
  align-items:flex-end;
  gap:10px;
}
.attendance-project-field-v34{
  flex:1;
  min-width:0;
}
.copy-yesterday-v34{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:50px;
}
@media(max-width:700px){
  .attendance-page-head-v34{align-items:center;gap:10px}
  .attendance-page-head-v34>.date-picker-shell-v34{width:auto;max-width:58%}
  .attendance-page-head-v34>.date-picker-shell-v34 .home-date-card-v34{min-width:0;width:100%;min-height:58px;padding:0 13px;font-size:16px}
  .attendance-project-top-v34{align-items:flex-end}
  .copy-yesterday-v34{min-height:50px;padding:9px 11px;font-size:11px}
}
@media(max-width:430px){
  .attendance-page-head-v34 h1{font-size:26px}
  .attendance-page-head-v34 p{font-size:13px}
  .attendance-page-head-v34>.date-picker-shell-v34{max-width:56%}
  .attendance-page-head-v34>.date-picker-shell-v34 .home-date-card-v34{font-size:15px;padding:0 10px}
}

/* V34 Beta 12: Attendance header/project row viewport-safe layout */
.attendance-page-head-v34{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  width:100%;
}
.attendance-page-head-v34>div:first-child{min-width:0}
.attendance-page-head-v34>.date-picker-shell-v34{
  justify-self:end;
  max-width:100%;
}
.attendance-page-head-v34>.date-picker-shell-v34 .home-date-card-v34{
  min-width:170px;
  max-width:100%;
}
.attendance-project-top-v34{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  width:100%;
}
.attendance-project-field-v34{min-width:0;width:100%}
.copy-yesterday-v34{justify-self:end;max-width:100%}

@media(max-width:780px){
  .attendance-page-head-v34{
    grid-template-columns:minmax(0,1fr) minmax(150px,46%);
    gap:10px;
  }
  .attendance-page-head-v34>.date-picker-shell-v34{width:100%;max-width:none}
  .attendance-page-head-v34>.date-picker-shell-v34 .home-date-card-v34{
    width:100%;min-width:0;min-height:58px;padding:0 12px;font-size:16px;
  }
  .attendance-project-top-v34{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:520px){
  .attendance-page-head-v34{grid-template-columns:minmax(0,1fr) minmax(142px,48%)}
  .attendance-page-head-v34 h1{font-size:26px}
  .attendance-page-head-v34 p{font-size:13px}
  .copy-yesterday-v34{min-height:46px;padding:8px 10px;font-size:11px}
}
@media(max-width:390px){
  .attendance-page-head-v34{grid-template-columns:minmax(0,1fr) minmax(132px,49%)}
  .attendance-page-head-v34>.date-picker-shell-v34 .home-date-card-v34{font-size:14px;padding:0 8px}
}


/* V34 Beta 13: compact attendance rows like approved reference */
.attendance-table-compact-v34{gap:10px}
.trade-row-compact-v34{grid-template-columns:minmax(180px,1.35fr) 110px 78px 92px;grid-template-areas:'trade counter shift rate';align-items:center}
.trade-row-compact-v34 .trade-name{align-self:center;gap:3px}
.trade-row-compact-v34 .trade-name strong{font-size:15px;line-height:1.2}
.trade-row-compact-v34 .trade-workers{font-size:12px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.trade-row-compact-v34 .attendance-control{gap:4px}
.trade-row-compact-v34 .attendance-control label{font-size:9px}
.trade-row-compact-v34 .counter{height:40px}
.trade-row-compact-v34 .counter button{height:38px}
.trade-row-compact-v34 select,.trade-row-compact-v34 input{height:40px;padding:0 9px}
@media(max-width:860px){.trade-row-compact-v34{grid-template-columns:minmax(140px,1fr) 118px 86px 96px}}
@media(max-width:560px){.trade-row-compact-v34{grid-template-columns:minmax(0,1fr) 120px 84px 86px;grid-template-areas:'trade counter shift rate';padding:10px;gap:8px}.trade-row-compact-v34 .trade-name strong{font-size:14px}.trade-row-compact-v34 .trade-workers{font-size:11px}}
@media(max-width:390px){.trade-row-compact-v34{grid-template-columns:minmax(88px,1fr) 108px 74px 82px}.trade-row-compact-v34 .trade-workers{font-size:10px}}

/* V34 Beta 15: worker editor */
.worker-active-field-v34 select{min-height:44px}


/* V34 Beta 16: multi-worker trade attendance + custom trades */
.attendance-trades-v34{display:grid;gap:12px;margin-top:12px}.attendance-trade-card-v34{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.attendance-trade-head-v34{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 55%,var(--surface))}.attendance-trade-head-v34 strong{display:block;font-size:16px}.attendance-trade-head-v34 small{display:block;color:var(--muted);margin-top:2px}.add-trade-worker-v34{min-height:36px;padding:7px 10px;font-size:12px}.attendance-worker-list-v34{display:grid}.attendance-worker-row-v34{display:grid;grid-template-columns:minmax(130px,1.2fr) 150px 105px 120px;grid-template-areas:'worker counter shift rate';align-items:end;gap:10px;padding:11px 12px;border-top:1px solid var(--line)}.attendance-worker-row-v34:first-child{border-top:0}.attendance-worker-name-v34{grid-area:worker;align-self:center;min-width:0}.attendance-worker-name-v34 strong{font-size:15px}.attendance-worker-row-v34 .counter-control{grid-area:counter}.attendance-worker-row-v34 .shift-control{grid-area:shift}.attendance-worker-row-v34 .rate-control{grid-area:rate}.attendance-worker-row-v34 select,.attendance-worker-row-v34 input{width:100%;height:42px;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:11px;padding:0 10px}@media(max-width:620px){.attendance-worker-row-v34{grid-template-columns:minmax(88px,1fr) 128px 84px 92px;gap:7px;padding:10px}.attendance-worker-name-v34 strong{font-size:14px}.attendance-trade-head-v34{padding:10px}.add-trade-worker-v34{font-size:11px;padding:6px 8px}}


/* V34 Beta 17: compact collapsed empty trades + mobile fit */
.attendance-trade-card-v34.empty-trade-v34 .attendance-trade-head-v34{border-bottom:0}
.attendance-trade-card-v34.empty-trade-v34{min-height:0}
.attendance-worker-row-v34{grid-template-columns:minmax(120px,1.2fr) 150px 105px 112px}
.attendance-worker-name-v34 strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:620px){
  .attendance-trades-v34{gap:9px}
  .attendance-trade-head-v34{min-height:66px}
  .attendance-trade-card-v34.empty-trade-v34 .attendance-trade-head-v34{min-height:68px}
  .attendance-worker-row-v34{grid-template-columns:minmax(72px,1fr) minmax(104px,1.35fr) minmax(70px,.85fr) minmax(72px,.9fr);gap:6px;padding:9px 10px}
  .attendance-worker-row-v34 .counter{grid-template-columns:30px 1fr 30px;height:40px}
  .attendance-worker-row-v34 .counter button{height:38px;font-size:18px}
  .attendance-worker-row-v34 select,.attendance-worker-row-v34 input{height:40px;padding:0 7px;font-size:14px}
  .attendance-worker-row-v34 .attendance-control label{font-size:8px;letter-spacing:.03em}
  .attendance-worker-name-v34 strong{font-size:13px}
  .attendance-trade-head-v34 strong{font-size:15px}
  .attendance-trade-head-v34 small{font-size:11px}
  .add-trade-worker-v34{white-space:nowrap;min-height:38px}
}
@media(max-width:390px){
  .attendance-worker-row-v34{grid-template-columns:minmax(64px,.9fr) minmax(100px,1.35fr) minmax(66px,.85fr) minmax(68px,.9fr);gap:5px;padding:8px}
  .attendance-worker-row-v34 .counter{grid-template-columns:28px 1fr 28px}
  .attendance-worker-row-v34 select,.attendance-worker-row-v34 input{padding:0 5px}
}


/* V34 Beta 18: collapsible trade attendance accordion */
.attendance-trade-head-v34{cursor:pointer;border-bottom:0;user-select:none}
.attendance-trade-title-v34{min-width:0;flex:1}
.attendance-trade-actions-v34{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.attendance-trade-chevron-v34{display:grid;place-items:center;width:30px;height:30px;font-size:22px;font-weight:900;color:var(--text);transition:transform .18s ease}
.attendance-trade-card-v34.is-open-v34 .attendance-trade-head-v34{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary2) 34%,var(--surface))}
.attendance-trade-card-v34.is-open-v34 .attendance-trade-chevron-v34{transform:rotate(180deg)}
.attendance-trade-card-v34.is-collapsed-v34 .attendance-worker-list-v34{display:none}
.attendance-trade-card-v34.is-collapsed-v34 .attendance-trade-head-v34{min-height:72px}
@media(max-width:620px){
  .attendance-trade-card-v34.is-collapsed-v34 .attendance-trade-head-v34{min-height:66px}
  .attendance-trade-actions-v34{gap:4px}
  .attendance-trade-chevron-v34{width:24px;height:28px;font-size:20px}
  .add-trade-worker-v34{min-height:38px;padding:6px 8px}
}


/* V34 Beta 19: PDF preview / save / share */
.pdf-preview-modal-v34{width:min(980px,100%)!important}
.pdf-preview-modal-v34 .modal-body{padding:0;background:#e9eef5}
.pdf-viewer-v34{height:min(72dvh,900px);background:#e9eef5}
.pdf-viewer-v34 iframe{width:100%;height:100%;border:0;background:#fff;display:block}
@media(max-width:600px){.pdf-preview-modal-v34{max-height:96dvh}.pdf-viewer-v34{height:70dvh}.pdf-preview-modal-v34 .modal-actions{display:grid;grid-template-columns:1fr 1fr}.pdf-preview-modal-v34 .modal-actions .btn{width:100%}}

/* V34.0.3 Beta1 feature parity */
.material-total-v34{font-weight:900}


/* V34.0.3 Beta2 QA: dark-mode color corrections and document/report preview safety */
#docPrint,.report-print-sheet{background:#fff!important;color:#0b1728!important}
#docPrint{padding:18px;border-radius:14px}
#docPrint .total-box{background:#f0f5fb!important;color:#0b1728!important}
#docPrint .total-line{color:#0b1728!important}
.pdf-preview-modal-v34 .modal-body,.pdf-viewer-v34{background:var(--surface2)!important}
@media(prefers-color-scheme:dark){
  .pdf-preview-modal-v34 .modal-head,.pdf-preview-modal-v34 .modal-actions{background:var(--surface)!important;color:var(--text)!important}
  .material-total-v34{color:var(--text)}
  .report-period-select-v34,.period-mode-btn-v34,.period-preview-v34{border-color:var(--line);background:var(--surface2);color:var(--text)}
  .report-card,.list-row,.card,.metric,.quick-btn{border-color:var(--line)}
  select,input,textarea{color-scheme:dark}
}
@media(prefers-color-scheme:light){select,input,textarea{color-scheme:light}}


/* V34 MASTER TEST 01 — reliable native calendar target */
.date-picker-shell-v34{position:relative!important;display:inline-flex!important;cursor:pointer!important;overflow:hidden!important;isolation:isolate!important}
.date-picker-shell-v34 .home-date-card-v34{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;pointer-events:none!important;position:relative!important;z-index:1!important}
.date-picker-shell-v34 .date-picker-native-v34{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;opacity:.01!important;z-index:10!important;pointer-events:auto!important;cursor:pointer!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;-webkit-appearance:auto!important;appearance:auto!important}
.date-picker-shell-v34 .date-picker-native-v34::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:.01!important;cursor:pointer!important}

/* V34 MASTER TEST 02 — materials UX */
#matAmountV34[readonly]{font-weight:900;background:var(--surface2);color:var(--text)}
#matCustomName.hidden{display:none!important}
#matName+#matCustomName:not(.hidden){margin-top:7px}

/* V34 MASTER TEST 03 — unified Payments Center */
.quick-grid-home-v34{grid-template-columns:repeat(5,minmax(0,1fr))}
.payment-project-card-v34{margin-bottom:12px}
.payment-summary-v34{margin-bottom:12px}
.payment-position-v34{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.payment-position-v34>div{background:var(--surface2);border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:4px}
.payment-position-v34 span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.payment-position-v34 b{font-size:15px}
.payment-actions-v34{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.payment-actions-v34 .btn{width:100%}
.payment-filter-v34{overflow:auto;white-space:nowrap}
.payment-filter-v34 button{min-width:82px}
.payment-transaction-row-v34{min-height:68px}
.transaction-type-v34{width:38px;height:38px;border-radius:12px;background:var(--surface2);display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.transaction-in-v34{color:var(--green)}
.transaction-out-v34{color:var(--text)}
@media(max-width:720px){
 .quick-grid-home-v34{grid-template-columns:repeat(3,1fr)}
 .payment-actions-v34{grid-template-columns:repeat(2,1fr)}
 .payment-position-v34{grid-template-columns:1fr}
}
@media(max-width:430px){
 .payment-summary-v34{grid-template-columns:repeat(2,1fr)}
 .payment-actions-v34{grid-template-columns:repeat(2,1fr)}
 .payment-actions-v34 .btn{font-size:12px;padding:9px 8px}
 .payment-filter-v34{display:flex}
}
html[data-theme="dark"] .transaction-type-v34,
body.dark .transaction-type-v34{background:var(--surface2);color:var(--text)}

/* V34 MASTER TEST 04 — modern payment input forms */
.payment-actions-three-v34{grid-template-columns:repeat(3,1fr)}
.modern-payment-modal-v34 .modal{max-width:760px}
.modern-payment-modal-v34 .modal-body{padding:18px 20px 12px}
.modern-input-card-v34{
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(180deg,var(--surface),var(--surface2));
  padding:18px;
  box-shadow:0 12px 34px rgba(17,38,70,.06)
}
.modern-section-title-v34{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}
.modern-section-title-v34>span{font-size:16px;font-weight:900;color:var(--text)}
.modern-section-title-v34>small{font-size:12px;color:var(--muted)}
.modern-form-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.modern-form-grid-v34 .field{margin:0}
.modern-form-grid-v34 .field.full{grid-column:1/-1}
.modern-form-grid-v34 label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.055em;font-weight:900;color:var(--muted)}
.modern-form-grid-v34 label span{font-size:9px;font-weight:800;letter-spacing:.02em}
.modern-form-grid-v34 input,
.modern-form-grid-v34 select,
.modern-form-grid-v34 textarea{
  min-height:50px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.modern-form-grid-v34 textarea{min-height:92px}
.modern-form-grid-v34 input:focus,
.modern-form-grid-v34 select:focus,
.modern-form-grid-v34 textarea:focus{outline:none;border-color:#2f7df6;box-shadow:0 0 0 3px rgba(47,125,246,.12)}
.money-input-v34{font-weight:900;font-size:16px}
.balance-readonly-v34{font-weight:900;background:var(--surface2)!important}
.input-hint-v34{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.date-display-shell-v34{position:relative}
.date-display-v34{width:100%;padding-right:46px;font-variant-numeric:tabular-nums}
.date-calendar-icon-v34{position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:14px;opacity:.8}
.date-native-overlay-v34{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;z-index:2}
.expense-status-note-v34{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.expense-status-note-v34 b{font-size:11px}
.expense-status-note-v34 span{font-size:10px;color:var(--muted)}
html[data-theme="dark"] .modern-input-card-v34,
body.dark .modern-input-card-v34{box-shadow:none}
@media(max-width:640px){
  .payment-actions-three-v34{grid-template-columns:1fr}
  .modern-payment-modal-v34 .modal-body{padding:12px}
  .modern-input-card-v34{padding:14px;border-radius:16px}
  .modern-form-grid-v34{grid-template-columns:1fr;gap:11px}
  .modern-form-grid-v34 .field.full{grid-column:auto}
}

/* V34 MASTER TEST 05 — Option 1 payment UI */
.modern-payment-modal-v34 .modal{max-width:760px;border-radius:22px}
.modern-payment-modal-v34 .modal-body{background:var(--surface);padding:18px}
.modern-input-card-v34{
  background:var(--surface);
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:0;
}
.option1-title-v34{
  display:flex;align-items:center;gap:12px;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)
}
.option1-title-v34>div:last-child{display:flex;flex-direction:column;gap:2px}
.option1-title-v34 span{font-size:18px;font-weight:900;color:var(--text)}
.option1-title-v34 small{font-size:11px;color:var(--muted)}
.option1-icon-v34{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  font-size:19px;font-weight:900;color:white;flex:0 0 auto
}
.option1-icon-v34.received{background:#19b977}
.option1-icon-v34.labour{background:#27a5ef}
.option1-icon-v34.expense{background:#ff6d5e}
.modern-form-grid-v34 input,
.modern-form-grid-v34 select,
.modern-form-grid-v34 textarea,
.select-like-v34{
  min-height:48px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface2);color:var(--text)
}
.select-like-v34{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:0 14px;font:inherit;text-align:left;cursor:pointer
}
.select-like-v34 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seg-control-v34{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface2);min-height:48px}
.seg-control-v34.three{grid-template-columns:repeat(3,1fr)}
.seg-control-v34 button{border:0;background:transparent;color:var(--text);font-weight:800;font-size:12px}
.seg-control-v34 button.active{background:#1677ff;color:white}
.hidden-select-v34{display:none!important}
.payee-selector-v34{display:flex;flex-direction:column;gap:12px}
.payee-search-wrap-v34 input,.payee-add-v34 input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);padding:0 14px}
.payee-list-v34{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}
.payee-row-v34{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:0 14px;font-weight:800;text-align:left}
.payee-add-v34{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:10px;border-top:1px solid var(--border)}
.payee-picker-modal-v34 .modal{max-width:520px}
@media(max-width:640px){
  .option1-title-v34{align-items:flex-start}
  .modern-payment-modal-v34 .modal-body{padding:14px}
  .payee-add-v34{grid-template-columns:1fr}
}

/* V34 MASTER TEST 06 — Documents & Contracts rebuild, Option 2 */
.docs-hub-modal-v34 .modal{max-width:820px}
.docs-hub-intro-v34{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:14px;border-radius:18px;background:linear-gradient(135deg,rgba(41,139,255,.16),rgba(51,211,153,.08));border:1px solid var(--border)}
.docs-hub-intro-v34>div:first-child{display:flex;flex-direction:column;gap:4px}
.docs-hub-intro-v34 b{font-size:16px}.docs-hub-intro-v34 span{font-size:11px;color:var(--muted)}
.docs-hub-badge-v34{font-size:11px;font-weight:900;letter-spacing:.08em;padding:8px 10px;border-radius:10px;background:#1677ff;color:#fff}
.docs-card-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.doc-type-card-v34{min-height:94px;border:1px solid var(--border);border-radius:17px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;color:#0c1c32;box-shadow:0 8px 24px rgba(16,42,70,.05)}
.doc-card-icon-v34{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:20px;background:rgba(255,255,255,.72);flex:0 0 auto}
.doc-card-copy-v34{display:flex;flex-direction:column;gap:4px}.doc-card-copy-v34 b{font-size:14px}.doc-card-copy-v34 small{font-size:10px;opacity:.72}
.doc-blue{background:linear-gradient(135deg,#d7ecff,#b9ddff)}.doc-green{background:linear-gradient(135deg,#ddffe8,#c8f7d7)}.doc-orange{background:linear-gradient(135deg,#fff0d9,#ffd9a8)}.doc-purple{background:linear-gradient(135deg,#eee1ff,#d8c1ff)}.doc-teal{background:linear-gradient(135deg,#dcfff4,#bfeee0)}.doc-red{background:linear-gradient(135deg,#ffe4e7,#ffcbd1)}.doc-sky{background:linear-gradient(135deg,#e2f4ff,#c6e6ff)}.doc-gold{background:linear-gradient(135deg,#fff1d2,#ffe0a1)}
.docs-saved-entry-v34{width:100%;margin-top:12px;min-height:70px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}
.docs-saved-entry-v34 small{display:block;margin-top:3px;color:var(--muted)}
.saved-docs-filter-v34{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.saved-docs-filter-v34 button{border:0;background:var(--surface2);color:var(--muted);padding:8px 12px;border-radius:999px;font-weight:800;white-space:nowrap}.saved-docs-filter-v34 button.active{background:#1677ff;color:white}
.saved-doc-row-v34{width:100%;display:flex;align-items:center;gap:11px;min-height:64px;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.saved-doc-icon-v34{width:38px;height:38px;border-radius:11px;background:var(--surface2);display:grid;place-items:center}.saved-doc-row-v34 small{display:block;color:var(--muted);margin-top:3px}.saved-doc-total-v34{font-weight:900;white-space:nowrap}.empty-docs-v34{padding:26px;text-align:center;display:flex;flex-direction:column;gap:5px;color:var(--muted)}.empty-docs-v34 b{color:var(--text)}
.doc-editor-modal-v34 .modal{max-width:860px}.doc-editor-v34{display:flex;flex-direction:column;gap:14px}
.doc-editor-hero-v34{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:17px;background:var(--surface2);border:1px solid var(--border)}.doc-editor-icon-v34{width:43px;height:43px;border-radius:13px;background:#1677ff;color:#fff;display:grid;place-items:center;font-size:19px}.doc-editor-hero-v34>div{display:flex;flex-direction:column;gap:3px}.doc-editor-hero-v34 b{font-size:16px}.doc-editor-hero-v34 small{font-size:10px;color:var(--muted)}
.doc-editor-section-v34{padding:15px;border-radius:17px;border:1px solid var(--border);background:var(--surface)}.doc-section-title-v34{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.doc-section-title-v34 b{font-size:13px}.doc-section-title-v34 span{font-size:10px;color:var(--muted)}.doc-items-head-v34{flex-direction:row;align-items:center;justify-content:space-between}
.doc-item-table-head-v34,.doc-item-v34{display:grid;grid-template-columns:minmax(0,1fr) 72px 105px 38px;gap:8px;align-items:center}.doc-item-table-head-v34{padding:0 5px 7px;font-size:9px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.doc-item-v34{padding:6px 0}.doc-item-v34 input{min-height:43px;border-radius:11px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.doc-remove-v34{width:36px;height:36px;border-radius:10px;border:0;background:rgba(230,50,70,.12);color:#d9304f;font-size:20px}
.doc-tax-v34{border:1px solid var(--border);border-radius:17px;padding:12px 15px;background:var(--surface)}.doc-tax-v34 summary{font-weight:900;cursor:pointer}.doc-tax-v34 summary span{font-size:9px;color:var(--muted);margin-left:5px}
.doc-total-card-v34{margin-left:auto;width:min(100%,380px);padding:15px 17px;border:1px solid var(--border);border-radius:17px;background:var(--surface2)}.doc-total-card-v34>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.doc-total-card-v34 .grand{border-top:1px solid var(--border);margin-top:5px;padding-top:12px;font-size:17px;font-weight:900}
.doc-preview-modal-v34 .modal,.doc-pdf-preview-modal-v34 .modal{max-width:900px}.doc-preview-stage-v34,.doc-pdf-preview-shell-v34{background:#2b3039;padding:22px;border-radius:14px;overflow:auto}
.doc-paper-v34{width:min(100%,760px);min-height:900px;margin:auto;background:#fff;color:#0b1728;padding:34px 38px;box-shadow:0 12px 35px rgba(0,0,0,.25);font-family:Arial,sans-serif}.doc-paper-v34.compact{min-height:0}
.doc-paper-header-v34{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #17324f;padding-bottom:14px}.doc-brand-v34{display:flex;gap:10px;align-items:center}.doc-brand-v34 img{width:46px;height:46px;object-fit:contain}.doc-brand-v34>div{display:flex;flex-direction:column}.doc-brand-v34 b{font-size:18px}.doc-brand-v34 span{font-size:9px;font-weight:700}.doc-brand-v34 small{font-size:7px}.doc-paper-title-v34{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.doc-paper-title-v34 b{font-size:18px}.doc-paper-title-v34 small{font-size:8px}
.doc-paper-meta-v34{margin-top:16px;padding:12px;background:#edf5fb;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}.doc-paper-meta-v34 div,.doc-paper-subject-v34{display:flex;gap:8px}.doc-paper-meta-v34 small,.doc-paper-subject-v34 small{font-size:7px;font-weight:900;color:#53657a}.doc-paper-meta-v34 b,.doc-paper-subject-v34 b{font-size:8px}.doc-paper-subject-v34{padding:12px 0}
.doc-paper-table-v34{margin-top:18px;border-bottom:1px solid #cad7e3}.doc-paper-tr-v34{display:grid;grid-template-columns:42px minmax(0,1fr) 70px 95px 105px;font-size:8px;border-top:1px solid #d7e1ea;min-height:30px;align-items:center}.doc-paper-tr-v34.head{background:#dfeef7;font-weight:900}.doc-paper-tr-v34 span{padding:7px 8px}.doc-paper-tr-v34 span:nth-child(n+3){text-align:right}
.doc-paper-summary-v34{width:260px;margin:20px 0 0 auto}.doc-paper-summary-v34>div{display:flex;justify-content:space-between;padding:5px;font-size:9px}.doc-paper-summary-v34 .grand{border-top:1px solid #233d56;font-weight:900;font-size:11px;margin-top:4px;padding-top:8px}
.doc-paper-sign-v34{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:80px}.doc-paper-sign-v34 div{display:flex;flex-direction:column;text-align:center;gap:7px;font-size:8px}.doc-paper-sign-v34 span{border-top:1px solid #43576c}.doc-paper-footer-v34{display:flex;justify-content:space-between;border-top:1px solid #43576c;margin-top:28px;padding-top:8px;font-size:6px}
html[data-theme="dark"] .doc-type-card-v34,body.dark .doc-type-card-v34{color:#0b1728}
@media(max-width:640px){.docs-card-grid-v34{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-type-card-v34{min-height:102px;padding:12px;flex-direction:column;align-items:flex-start}.doc-card-icon-v34{width:38px;height:38px}.doc-item-table-head-v34{display:none}.doc-item-v34{grid-template-columns:1fr 62px 82px 34px}.doc-paper-v34{width:700px}.doc-preview-stage-v34,.doc-pdf-preview-shell-v34{padding:10px;overflow:auto}}

/* V34 MASTER TEST 07 — Reports Option 2 */
.option2-reports-v34{padding-bottom:24px}.reports-head-v34{margin-bottom:14px}.report-selector-row-v34{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.report-selector-card-v34{min-height:78px;border:1px solid var(--border);border-radius:17px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:7px;position:relative}.report-selector-card-v34 small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}.report-selector-card-v34 select{border:0;background:transparent;color:var(--text);font-size:15px;font-weight:850;padding:0;min-height:30px}.period-card-v34{text-align:left;color:var(--text)}.period-card-v34 b{font-size:14px;line-height:1.25;padding-right:20px}.period-card-v34>span{position:absolute;right:14px;bottom:20px;color:#2490ff;font-size:22px}.report-quick-period-v34{display:flex;gap:7px;overflow:auto;padding:1px 0 13px}.report-quick-period-v34 button{border:1px solid var(--border);background:var(--surface2);color:var(--text);padding:8px 13px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.report-quick-period-v34 button.active{background:#9ed7ff;color:#07182d;border-color:#9ed7ff}.report-visual-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-visual-card-v34{min-height:154px;border:0;border-radius:18px;padding:16px;text-align:left;color:#122035;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 9px 25px rgba(10,30,50,.08)}.report-card-blue{background:linear-gradient(135deg,#e2f1ff,#acd7ff)}.report-card-green{background:linear-gradient(135deg,#e6ffed,#bcefc9)}.report-card-orange{background:linear-gradient(135deg,#fff2dd,#ffd2a0)}.report-card-purple{background:linear-gradient(135deg,#eee8ff,#d5c8ff)}.report-card-pink{background:linear-gradient(135deg,#ffe9ef,#ffcad8)}.report-card-combined-v34{grid-column:1/-1;min-height:116px}.report-card-top-v34{display:flex;align-items:center;justify-content:space-between}.report-card-icon-v34{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.60);display:grid;place-items:center;font-size:23px}.report-card-arrow-v34{width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.48);display:grid;place-items:center;font-size:22px}.report-card-copy-v34{display:flex;flex-direction:column;gap:4px}.report-card-copy-v34 b{font-size:15px}.report-card-copy-v34 small{font-size:11px;line-height:1.35;opacity:.78}.report-hint-v34{margin-top:12px;padding:13px 15px;border-radius:16px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:11px}.report-hint-v34>span{font-size:20px}.report-hint-v34>div{display:flex;flex-direction:column;gap:3px}.report-hint-v34 b{font-size:12px}.report-hint-v34 small{font-size:10px;color:var(--muted)}.report-brand-option2-v34{display:flex;align-items:center;gap:10px}.report-brand-option2-v34 img{width:48px;height:48px;object-fit:contain}.report-brand-option2-v34 h2{margin:0}.report-brand-option2-v34 small{font-size:9px;color:var(--muted)}@media(max-width:640px){.report-selector-card-v34{min-height:72px;padding:11px}.period-card-v34 b{font-size:13px}.report-visual-card-v34{min-height:138px;padding:14px}.report-card-copy-v34 b{font-size:14px}.report-card-copy-v34 small{font-size:10px}}@media(max-width:390px){.report-selector-row-v34{grid-template-columns:1fr}}html[data-theme="dark"] .report-visual-card-v34,body.dark .report-visual-card-v34{color:#102039}

/* V34 MASTER TEST 07A — mobile-safe report PDF preview */
.report-pdf-preview-modal-v34 .modal{max-width:940px}
.report-pdf-preview-shell-v34{background:#24272d;padding:14px;border-radius:14px;overflow:auto;max-height:72vh}
.report-paper-v34{width:min(100%,820px);min-height:980px;margin:auto;background:#fff;color:#0b1728;padding:30px 34px;box-shadow:0 12px 30px rgba(0,0,0,.24);font-family:Arial,sans-serif}
.report-paper-header-v34{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #17324f;padding-bottom:13px}
.report-paper-brand-v34{display:flex;align-items:center;gap:10px}.report-paper-brand-v34 img{width:48px;height:48px;object-fit:contain}.report-paper-brand-v34>div{display:flex;flex-direction:column}.report-paper-brand-v34 b{font-size:18px}.report-paper-brand-v34 span{font-size:9px;font-weight:700}.report-paper-brand-v34 small{font-size:7px}
.report-paper-title-v34{text-align:right;display:flex;flex-direction:column;gap:3px}.report-paper-title-v34 b{font-size:18px}.report-paper-title-v34 small{font-size:8px}
.report-paper-meta-v34{margin-top:14px;background:#edf5fb;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:11px}.report-paper-meta-v34 div{display:flex;flex-direction:column;gap:3px}.report-paper-meta-v34 small{font-size:6px;font-weight:900;color:#53657a}.report-paper-meta-v34 b{font-size:8px}
.report-paper-kpis-v34{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.report-paper-kpis-v34>div{border:1px solid #cedbe7;padding:12px;min-height:58px}.report-paper-kpis-v34 small{display:block;font-size:6px;font-weight:900;color:#53657a;margin-bottom:6px}.report-paper-kpis-v34 b{font-size:12px}
.report-paper-v34 h3{font-size:10px;margin:18px 0 8px}
.report-paper-table-v34{border-top:1px solid #cad7e3}.report-paper-table-v34 .rpt-row{display:grid;grid-template-columns:1.2fr .7fr .8fr 1fr;border-bottom:1px solid #d6e0e8;min-height:28px;align-items:center;font-size:8px}.report-paper-table-v34 .rpt-row.head{background:#dfeef7;font-weight:900}.report-paper-table-v34 .rpt-row span{padding:6px 7px}.report-paper-table-v34 .rpt-row span:nth-child(n+2){text-align:right}
.empty-rpt-v34{padding:18px;font-size:8px;color:#66788c}
.report-combined-grid-v34{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.rpt-summary-line{display:flex;justify-content:space-between;border-bottom:1px solid #d9e2ea;padding:7px 4px;font-size:8px}
.report-paper-footer-v34{display:flex;justify-content:space-between;border-top:1px solid #43576c;margin-top:28px;padding-top:8px;font-size:6px}
@media(max-width:640px){
  .report-pdf-preview-shell-v34{padding:8px;max-height:70vh}
  .report-paper-v34{width:720px;min-height:930px;padding:26px 30px}
}

/* V34 FINAL RC1 — Project icon & colour selector */
.project-customize-v34{grid-column:1/-1;margin-top:4px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface2)}
.project-customize-preview-v34{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.project-customize-preview-v34>div{display:flex;flex-direction:column;gap:2px}
.project-customize-preview-v34 b{font-size:12px}
.project-customize-preview-v34 small{font-size:10px;color:var(--muted)}
.project-avatar-v34{--project-color:#1677ff;width:38px;height:38px;border-radius:12px;background:var(--project-color);color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.project-avatar-v34.large{width:48px;height:48px;border-radius:15px;font-size:20px}
.project-icon-grid-v34{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.project-icon-choice-v34{min-height:62px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.project-icon-choice-v34 span{font-size:19px}.project-icon-choice-v34 small{font-size:8px;color:var(--muted)}
.project-icon-choice-v34.active{border-color:#1677ff;box-shadow:0 0 0 2px rgba(22,119,255,.15)}
.project-colour-grid-v34{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.project-colour-choice-v34{width:30px;height:30px;border-radius:50%;border:3px solid transparent;background:var(--swatch)}
.project-colour-choice-v34.active{outline:2px solid var(--text);outline-offset:2px}
@media(max-width:640px){.project-icon-grid-v34{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V34.1 — Supabase app-login gate */
body.supabase-auth-locked-v34{overflow:hidden}
body.supabase-auth-locked-v34 #app{display:none!important}
#authRoot:empty{display:none}
.supa-login-shell-v34{position:fixed;inset:0;z-index:10000;min-height:100dvh;display:grid;grid-template-columns:1.02fr .98fr;background:#f4f7fb;color:#142338}
.supa-login-brand-v34{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px;color:#fff;background:linear-gradient(150deg,#0c3558,#145a91 55%,#2177b8);position:relative;overflow:hidden}
.supa-login-brand-v34:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-23%;height:48%;background:rgba(255,255,255,.08);transform:rotate(-7deg)}
.supa-login-brand-v34 img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18))}
.supa-login-brand-v34 h1{font-size:38px;margin:12px 0 0;letter-spacing:.04em}.supa-login-brand-v34 p{font-size:18px;margin:3px 0 24px}.supa-login-brand-v34 small{opacity:.82}
.supa-login-panel-v34{display:flex;align-items:center;justify-content:center;padding:28px}
.supa-login-card-v34{width:min(440px,100%);background:#fff;border:1px solid #dbe4ee;border-radius:25px;padding:30px;box-shadow:0 24px 70px rgba(25,52,82,.13)}
.supa-secure-badge-v34{width:max-content;margin:0 auto 12px;padding:6px 10px;border-radius:999px;background:#eaf7ef;color:#23814e;font-size:10px;font-weight:850}
.supa-login-card-v34 h2{text-align:center;font-size:27px;margin:3px 0 5px}.supa-login-card-v34>p{text-align:center;color:#708095;font-size:13px;line-height:1.45;margin:0 0 23px}
.supa-login-card-v34 label{display:flex;flex-direction:column;gap:7px;margin:0 0 14px;font-size:11px;font-weight:850;color:#62758b;text-transform:uppercase;letter-spacing:.03em}
.supa-login-card-v34 input{width:100%;height:52px;border:1px solid #cdd9e6;border-radius:14px;background:#f8fbff;color:#142338;padding:0 14px;font-size:15px;outline:none}.supa-login-card-v34 input:focus{border-color:#1c74b6;box-shadow:0 0 0 3px rgba(28,116,182,.12)}
.supa-pin-wrap-v34{position:relative}.supa-pin-wrap-v34 input{padding-right:50px}.supa-pin-wrap-v34 button{position:absolute;right:6px;top:6px;width:40px;height:40px;border:0;background:transparent;color:#61758c;font-size:16px}
.supa-login-primary-v34{width:100%;height:52px;border:0;border-radius:14px;background:linear-gradient(135deg,#0d4775,#1874b3);color:#fff;font-size:15px;font-weight:900;box-shadow:0 9px 22px rgba(18,91,145,.19)}.supa-login-primary-v34:disabled{opacity:.65}
.supa-login-help-v34{display:block;width:100%;padding:14px 6px 5px;border:0;background:transparent;color:#316a97;font-size:12px;font-weight:750}
.supa-login-error-v34{margin:-2px 0 12px;padding:10px 12px;border:1px solid #ffbdc3;border-radius:12px;background:#fff0f1;color:#b92938;font-size:12px}.supa-login-error-v34.hidden{display:none}
.supa-login-foot-v34{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;color:#718195;font-size:10px}.supa-login-foot-v34 .sync-dot{position:static;width:7px;height:7px;border-radius:50%;background:#2bab68}
.supa-mobile-brand-v34{display:none}
.account-card-v34{display:flex;align-items:center;gap:12px}.account-avatar-v34{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#1c78b8;color:#fff;font-weight:900;font-size:17px;flex:0 0 auto}
@media(max-width:760px){
 .supa-login-shell-v34{grid-template-columns:1fr;background:#fff}
 .supa-login-brand-v34{display:none}.supa-login-panel-v34{padding:18px;align-items:center}
 .supa-login-card-v34{border:0;box-shadow:none;padding:16px 8px 26px}
 .supa-mobile-brand-v34{display:flex;position:absolute;top:calc(28px + env(safe-area-inset-top));left:0;right:0;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}
 .supa-mobile-brand-v34 img{width:58px;height:58px;object-fit:contain}.supa-mobile-brand-v34 b{font-size:21px;margin-top:3px}.supa-mobile-brand-v34 span{font-size:10px;color:#6d7d90}
 .supa-login-panel-v34{padding-top:135px}
}
@media(prefers-color-scheme:dark){
 .supa-login-shell-v34{background:#081521;color:#f5f8fb}
 .supa-login-panel-v34{background:#081521}.supa-login-card-v34{background:#0e2133;border-color:#284158;color:#f5f8fb}
 .supa-login-card-v34 input{background:#142b41;border-color:#32506a;color:#f5f8fb}.supa-login-card-v34>p,.supa-login-foot-v34{color:#9aabba}
 .supa-login-card-v34 label{color:#a9b7c5}.supa-mobile-brand-v34 span{color:#9babb9}
}

.hidden-nav-v34{display:none!important}
.users-toolbar-v34{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.users-toolbar-v34 small{display:block;color:var(--muted);margin-top:2px}
.permission-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-row-v34{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.permission-row-v34 span{font-size:11px;font-weight:750}.permission-row-v34 input{width:18px;height:18px;accent-color:#1677ff}
.account-avatar-v34.role-admin{background:#e95662}.account-avatar-v34.role-manager{background:#2c7be5}.account-avatar-v34.role-supervisor{background:#2da66f}.account-avatar-v34.role-user{background:#8a5ce6}
@media(max-width:680px){.permission-grid-v34{grid-template-columns:1fr}}

/* ===== V34.3.0 Stable UI Polish ===== */
.modal-card{border-radius:22px;box-shadow:0 22px 70px rgba(15,23,42,.18);overflow:hidden}
.modal-head{padding:18px 20px;border-bottom:1px solid var(--line,#e5e7eb)}
.modal-body{padding:20px;overscroll-behavior:contain}
.modal-foot{padding:14px 20px 18px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line,#e5e7eb);background:var(--panel,#fff)}
.modal-foot .btn{min-height:44px;border-radius:13px;padding:10px 16px;font-weight:700}
.modal-foot .btn.primary{box-shadow:0 8px 22px rgba(22,119,255,.18)}
.modal-foot .btn.danger{background:#fff1f2;color:#b42318;border:1px solid #fecdd3;box-shadow:none}
.modal-foot .btn.danger:hover{background:#ffe4e6}
.form-grid{gap:14px}
.field>label{font-weight:700;letter-spacing:.01em}
.field input,.field select,.field textarea{min-height:46px;border-radius:13px}
.list-row{min-height:58px}
.project-card,.card{border-radius:20px}
.bottom-nav button{min-height:60px}
@media(max-width:640px){
  .modal-card{border-radius:20px 20px 0 0;max-height:92dvh}
  .modal-body{padding:16px}
  .modal-foot{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--panel,#fff);z-index:3}
  .modal-foot .btn{flex:1 1 calc(50% - 6px)}
  .modal-foot .btn.primary{flex-basis:100%}
  .modal-foot .btn.danger{order:-1}
}
[data-theme="dark"] .modal-foot .btn.danger{background:#3a1619;color:#fecaca;border-color:#7f1d1d}

/* ===== V34.4 Common Upgrade Phase 1 ===== */
.search-v344{display:flex;flex-direction:column;gap:14px}
.search-box-v344{display:flex;gap:10px;align-items:center}
.search-box-v344 input{flex:1;min-height:48px;border-radius:14px}
.search-filters-v344{display:flex;gap:8px;overflow:auto;padding-bottom:2px}
.search-chip-v344{border:1px solid var(--line,#dbe3ee);background:var(--panel,#fff);border-radius:999px;padding:8px 12px;white-space:nowrap;font-weight:700;font-size:12px}
.search-chip-v344.active{background:#1677ff;color:#fff;border-color:#1677ff}
.search-results-v344{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto}
.search-result-v344{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line,#e5e7eb);background:var(--panel,#fff);border-radius:14px;padding:12px}
.search-result-v344 .sr-ico{width:38px;height:38px;border-radius:11px;background:#eef6ff;display:grid;place-items:center;font-size:18px;flex:0 0 auto}
.search-result-v344 .grow{min-width:0}
.search-result-v344 small{display:block;color:var(--muted,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-v344{display:flex;flex-direction:column;gap:0}
.timeline-row-v344{display:grid;grid-template-columns:16px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.timeline-dot-v344{width:10px;height:10px;border-radius:50%;background:#1677ff;margin-top:6px;box-shadow:0 0 0 4px rgba(22,119,255,.10)}
.timeline-row-v344 b{display:block}
.timeline-row-v344 small{color:var(--muted,#64748b)}
.timeline-date-v344{font-size:11px;color:var(--muted,#64748b);white-space:nowrap}
.notice-list-v344{display:flex;flex-direction:column;gap:10px}
.notice-v344{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff)}
.notice-v344 .n-ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff7ed;flex:0 0 auto}
.notice-v344.good .n-ico{background:#ecfdf3}
.close-summary-v344{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.close-summary-v344 .mini{padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:15px;background:var(--panel,#fff)}
.close-check-v344{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.recent-activity-v344{display:flex;flex-direction:column;gap:8px}
.recent-activity-v344 .list-row{border:1px solid var(--line,#e5e7eb);border-radius:14px}
.metric-grid-v344{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.metric-v344{padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:15px;background:var(--panel,#fff)}
.metric-v344 small{display:block;color:var(--muted,#64748b);margin-bottom:6px}
.metric-v344 strong{font-size:18px}
@media(min-width:760px){.metric-grid-v344{grid-template-columns:repeat(3,minmax(0,1fr))}.close-summary-v344{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== V34.5 Common Upgrade Phase 2 ===== */
.photo-grid-v345{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.photo-card-v345{border:1px solid var(--line,#e5e7eb);border-radius:16px;overflow:hidden;background:var(--panel,#fff)}
.photo-card-v345 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eef2f7}
.photo-meta-v345{padding:10px}
.photo-meta-v345 b,.photo-meta-v345 small{display:block}
.photo-meta-v345 small{color:var(--muted,#64748b);margin-top:3px}
.task-list-v345{display:flex;flex-direction:column;gap:10px}
.task-v345{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff)}
.task-v345.done{opacity:.66}
.task-v345.done b{text-decoration:line-through}
.priority-v345{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}
.priority-v345.high{background:#fee2e2;color:#b42318}.priority-v345.medium{background:#fff7ed;color:#b45309}.priority-v345.low{background:#ecfdf3;color:#047857}
.audit-v345{display:flex;flex-direction:column}
.audit-row-v345{display:grid;grid-template-columns:12px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.audit-dot-v345{width:9px;height:9px;border-radius:50%;background:#6366f1;margin-top:5px}
.audit-row-v345 small{color:var(--muted,#64748b)}
.transfer-box-v345{border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:15px;background:var(--panel,#fff);margin-bottom:12px}
.transfer-box-v345 h3{margin:0 0 6px}
@media(min-width:720px){.photo-grid-v345{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== V34.6 Reminder Center Phase 1 ===== */
.reminder-list-v346{display:flex;flex-direction:column;gap:10px}
.reminder-card-v346{border:1px solid var(--line,#e5e7eb);background:var(--panel,#fff);border-radius:16px;padding:13px;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:start}
.reminder-card-v346.done{opacity:.62}
.reminder-ico-v346{width:42px;height:42px;border-radius:13px;background:#eef6ff;display:grid;place-items:center;font-size:20px}
.reminder-card-v346 small{display:block;color:var(--muted,#64748b);margin-top:3px}
.reminder-actions-v346{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.reminder-chip-v346{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;background:#eef2ff}
.reminder-chip-v346.high{background:#fee2e2;color:#b42318}
.reminder-chip-v346.medium{background:#fff7ed;color:#b45309}
.reminder-chip-v346.low{background:#ecfdf3;color:#047857}
.reminder-quick-v346{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reminder-permission-v346{border:1px dashed var(--line,#dbe3ee);border-radius:15px;padding:13px;background:var(--panel,#fff)}
.upcoming-reminders-v346{display:flex;flex-direction:column;gap:8px}
.upcoming-reminder-v346{display:flex;gap:10px;align-items:center;border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:10px;background:var(--panel,#fff)}
.upcoming-reminder-v346 .u-time{font-weight:800;white-space:nowrap}

/* ===== V34.7 Reminder Push Phase 2 ===== */
.push-status-v347{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff);margin-top:10px}
.push-status-v347 .ico{width:38px;height:38px;border-radius:12px;background:#eef6ff;display:grid;place-items:center;flex:0 0 auto}
.push-status-v347 small{display:block;color:var(--muted,#64748b);margin-top:3px}
.push-test-v347{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* V34.7.1 VHOMES reminder UI polish */
.reminder-permission-v346 b{display:block}
.reminder-permission-v346 small{line-height:1.4}
.push-status-v347 + .push-status-v347{display:none!important}
@media(max-width:600px){
  .push-status-v347{padding:12px}
  .push-test-v347 .btn{min-height:44px}
}

/* ===== V34.8 Daily Control Phase 1 ===== */
.command-grid-v348{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.command-metric-v348{border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff)}
.command-metric-v348 small{display:block;color:var(--muted,#64748b);margin-bottom:5px}
.command-metric-v348 strong{font-size:18px}
.command-alert-v348{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line,#e5e7eb)}
.calendar-toolbar-v348{display:flex;gap:8px;align-items:center}
.calendar-toolbar-v348 input{flex:1}
.calendar-list-v348{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.calendar-item-v348{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;background:var(--panel,#fff)}
.calendar-item-v348 .ci{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef6ff;font-size:18px}
.calendar-item-v348 small{display:block;color:var(--muted,#64748b);margin-top:3px}
.calendar-type-v348{font-size:10px;font-weight:800;border-radius:999px;padding:4px 8px;background:#eef2ff;white-space:nowrap}
.task-meta-v348{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.task-chip-v348{font-size:10px;border-radius:999px;padding:4px 7px;background:#f1f5f9}
@media(min-width:760px){.command-grid-v348{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ===== V34.9 Daily Control Phase 2 ===== */
.progress-stage-list-v349{display:flex;flex-direction:column;gap:10px}
.progress-stage-v349{border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:12px;background:var(--panel,#fff)}
.progress-stage-v349 .top{display:flex;align-items:center;gap:10px}
.progress-stage-v349 .grow{flex:1}
.progress-stage-v349 small{display:block;color:var(--muted,#64748b);margin-top:3px}
.progress-bar-mini-v349{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-top:10px}
.progress-bar-mini-v349>span{display:block;height:100%;background:#1677ff}
.money-grid-v349{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.money-card-v349{border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff)}
.money-card-v349 small{display:block;color:var(--muted,#64748b);margin-bottom:5px}
.money-card-v349 strong{font-size:18px}
.money-card-v349.warn{border-color:#f5c2c7}
.photo-compare-v349{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.photo-compare-v349 .pc{border:1px solid var(--line,#e5e7eb);border-radius:15px;overflow:hidden;background:var(--panel,#fff)}
.photo-compare-v349 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.photo-compare-v349 .meta{padding:10px}
.photo-filter-v349{display:flex;gap:8px;overflow:auto;margin-bottom:12px}
.photo-filter-v349 .btn{white-space:nowrap}
@media(min-width:760px){.money-grid-v349{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ===== V35.0 Daily Control Phase 3 ===== */
.material-plan-v350{display:flex;flex-direction:column;gap:10px}
.material-plan-row-v350{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:12px;background:var(--panel,#fff)}
.material-plan-row-v350 small{display:block;color:var(--muted,#64748b);margin-top:3px}
.status-pill-v350{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;background:#eef2ff}
.status-pill-v350.ordered{background:#fff7ed;color:#b45309}
.status-pill-v350.received{background:#ecfdf3;color:#047857}
.status-pill-v350.pending{background:#fee2e2;color:#b42318}
.report-section-v350{border:1px solid var(--line,#e5e7eb);border-radius:15px;padding:13px;background:var(--panel,#fff);margin-top:12px}
.report-section-v350 h4{margin:0 0 8px}
.user-activity-filter-v350{display:flex;gap:8px;overflow:auto;margin-bottom:12px}
.user-activity-row-v350{display:grid;grid-template-columns:12px 1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.user-activity-row-v350 small{display:block;color:var(--muted,#64748b)}

/* V35.0.1 Integration Audit */
.health-summary-v351{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 16px}.health-summary-v351>div{border:1px solid var(--line,#e5e7eb);background:var(--panel,#fff);border-radius:14px;padding:12px;text-align:center}.health-summary-v351 small{display:block;color:var(--muted,#64748b)}.health-summary-v351 strong{font-size:20px}.health-list-v351{display:flex;flex-direction:column;gap:9px}.health-row-v351{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;background:var(--panel,#fff)}.health-row-v351>span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:800}.health-row-v351.pass>span{background:#dcfce7;color:#166534}.health-row-v351.warn>span{background:#fef3c7;color:#92400e}.health-row-v351.fail>span{background:#fee2e2;color:#991b1b}.health-row-v351 small{display:block;color:var(--muted,#64748b);margin-top:3px}@media(max-width:520px){.health-summary-v351{grid-template-columns:1fr 1fr 1fr;gap:6px}.health-summary-v351>div{padding:9px 5px}}

/* V35.0.2 supplier payable integration */
.material-pay-v352{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px;background:var(--soft,#f1f5f9)}


/* ===== V35.0.3 Workflow Verification ===== */
.workflow-summary-v353{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.workflow-summary-v353>div{border:1px solid var(--line,#dbe3ea);border-radius:16px;padding:12px;text-align:center;background:var(--panel,#fff)}
.workflow-summary-v353 small{display:block;color:var(--muted,#748198);margin-bottom:4px;font-weight:700}.workflow-summary-v353 strong{font-size:18px}
.workflow-note-v353{padding:13px 14px;border-radius:15px;background:rgba(22,119,255,.08);border:1px solid rgba(22,119,255,.18);margin-bottom:12px}
.workflow-note-v353 b,.workflow-note-v353 small{display:block}.workflow-note-v353 small{margin-top:4px;color:var(--muted,#748198);line-height:1.45}
.workflow-list-v353{display:flex;flex-direction:column;gap:9px}
.workflow-row-v353{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line,#dbe3ea);border-radius:15px;background:var(--panel,#fff)}
.workflow-row-v353 small{display:block;margin-top:3px;color:var(--muted,#748198);line-height:1.35}.workflow-icon-v353{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:rgba(245,158,11,.12)}
.workflow-row-v353.pass .workflow-icon-v353{background:rgba(34,197,94,.14);color:#087a3e}.workflow-row-v353.todo{border-style:dashed}
.workflow-result-v353{margin-top:14px;border-radius:15px;padding:14px}.workflow-result-v353 b,.workflow-result-v353 small{display:block}.workflow-result-v353 small{margin-top:4px;line-height:1.4}
.workflow-result-v353.complete{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.24)}.workflow-result-v353.pending{background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.22)}
@media(max-width:560px){.workflow-summary-v353{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-summary-v353>div:last-child{grid-column:1/-1}.workflow-row-v353{align-items:flex-start}.workflow-row-v353 .link-btn{align-self:center}}


/* ===== VHOMES V35.1 UI Refresh Phase 1 ===== */
:root{
 --bg:#f4f7fb;--surface:#ffffff;--surface2:#f1f5fa;--text:#122033;--muted:#74839a;--line:#dbe5ef;
 --primary:#1677f9;--primary-strong:#0d63da;--cyan:#08b8d9;--green:#12a66a;--green2:#e7f8ef;--red:#e54855;--red2:#fff0f2;
 --gold:#e8a72f;--purple:#7d5cf5;--shadow:0 10px 30px rgba(26,54,93,.08);--shadow-hover:0 16px 38px rgba(19,72,145,.15);
 --radius:20px;--ease-v35:cubic-bezier(.2,.8,.2,1);
}
html[data-theme="dark"]{--bg:#06111d;--surface:#0c1b29;--surface2:#122537;--text:#f4f8fc;--muted:#93a5b8;--line:#243d52;--primary:#3294ff;--primary-strong:#61adff;--green:#3bcd86;--green2:#0f3324;--red:#ff737a;--red2:#39191d;--shadow:0 12px 34px rgba(0,0,0,.28);--shadow-hover:0 18px 42px rgba(0,0,0,.38)}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
@media(prefers-color-scheme:dark){html:not([data-theme]){--bg:#06111d;--surface:#0c1b29;--surface2:#122537;--text:#f4f8fc;--muted:#93a5b8;--line:#243d52;--primary:#3294ff;--primary-strong:#61adff;--green:#3bcd86;--green2:#0f3324;--red:#ff737a;--red2:#39191d;--shadow:0 12px 34px rgba(0,0,0,.28)}}
body{background:radial-gradient(circle at 15% -10%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 35%),var(--bg);transition:background .28s var(--ease-v35),color .28s var(--ease-v35)}
.app-header{background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--line) 80%,transparent)}
.brand-logo{filter:drop-shadow(0 5px 10px rgba(0,91,190,.12))}.beta-badge{background:linear-gradient(135deg,#1677f9,#08b8d9);color:#fff;box-shadow:0 5px 14px rgba(22,119,249,.22)}
.icon-btn,.btn,.quick-btn,.nav-btn,.list-row,.project-card,.card{transition:transform .18s var(--ease-v35),box-shadow .22s var(--ease-v35),border-color .22s var(--ease-v35),background .22s var(--ease-v35),color .22s var(--ease-v35)}
.icon-btn:active,.btn:active,.quick-btn:active,.nav-btn:active,.list-row:active,.project-card:active{transform:scale(.97)}
.card{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--line) 86%,transparent)}
.card:hover,.project-card:hover,.list-row:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--primary) 30%,var(--line))}
.home-hero-v3510{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:20px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#0d6be8 0%,#148bf5 52%,#14b8a6 120%);box-shadow:0 18px 44px rgba(16,108,220,.22)}
.home-hero-v3510:before,.home-hero-v3510:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}.home-hero-v3510:before{width:150px;height:150px;right:-42px;top:-74px;animation:floatV3510 6s ease-in-out infinite}.home-hero-v3510:after{width:84px;height:84px;right:62px;bottom:-48px;animation:floatV3510 5s ease-in-out infinite reverse}.home-hero-v3510>div{position:relative;z-index:1}.home-hero-v3510 h2{font-size:26px;line-height:1.05;margin:6px 0 8px}.home-hero-v3510 p{margin:0;opacity:.88;max-width:520px}.hero-kicker-v3510{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.hero-pulse-v3510{width:82px;height:82px;flex:0 0 82px;display:grid;place-items:center;position:relative}.hero-pulse-v3510 span{position:absolute;inset:0;border-radius:50%;border:7px solid rgba(255,255,255,.24);border-top-color:#fff;animation:heroSpinV3510 3s linear infinite}.hero-pulse-v3510 b{font-size:20px}
.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;right:-28px;top:-28px;background:color-mix(in srgb,var(--primary) 8%,transparent)}.metric strong{letter-spacing:-.02em}.metric .ico{transition:transform .25s var(--ease-v35)}.metric:hover .ico{transform:translateY(-2px) rotate(-5deg)}
.quick-btn{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#fff),var(--surface));box-shadow:0 7px 18px rgba(25,56,91,.05)}.quick-btn:before{content:"";position:absolute;inset:auto 18% 0;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transform:scaleX(.3);transition:.22s}.quick-btn:hover:before{opacity:1;transform:scaleX(1)}.quick-btn span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--primary2) 72%,var(--surface));transition:transform .22s var(--ease-v35),filter .22s}.quick-btn:active span{animation:iconBounceV3510 .32s var(--ease-v35)}
.progress-bar,.project-progress i,.progress-bar-mini-v349>span{background:linear-gradient(90deg,#19c88a,var(--primary),#56b7ff);background-size:200% 100%;animation:progressGlowV3510 4s linear infinite}.status-pill{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent)}
.notify-dot:not(.hidden){animation:bellBadgeV3510 1.7s ease-in-out infinite}.sync-chip.synced .sync-dot{box-shadow:0 0 0 0 rgba(57,201,128,.4);animation:syncPulseV3510 2.2s ease-out infinite}
.bottom-nav{background:color-mix(in srgb,var(--surface) 90%,transparent)!important;box-shadow:0 -10px 30px rgba(15,35,60,.08)!important}.nav-btn{position:relative}.nav-btn.active:after{content:"";position:absolute;bottom:6px;width:24px;height:3px;border-radius:99px;background:var(--primary);box-shadow:0 0 14px color-mix(in srgb,var(--primary) 60%,transparent)}.nav-btn.active span{animation:navPopV3510 .34s var(--ease-v35)}
.modal{box-shadow:0 32px 90px rgba(0,0,0,.28);animation:modalUpV3510 .24s var(--ease-v35)}.toast.success{position:relative;overflow:hidden}.toast.success:after{content:"✓";float:right;font-weight:900;animation:successPopV3510 .4s var(--ease-v35)}
.theme-preview-v3510{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.theme-swatch-v3510{border-radius:16px;padding:14px;border:1px solid var(--line);display:grid;gap:4px}.theme-swatch-v3510 b{font-size:15px}.theme-swatch-v3510 small{font-size:11px}.theme-swatch-v3510.light{background:#f8fbff;color:#142033}.theme-swatch-v3510.dark{background:#0c1b29;color:#f4f8fc;border-color:#274057}
.ui-enter-v3510{animation:viewEnterV3510 .38s var(--ease-v35) both;animation-delay:var(--ui-delay,0ms)}
@keyframes viewEnterV3510{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
@keyframes iconBounceV3510{0%,100%{transform:scale(1)}45%{transform:scale(.86)}75%{transform:scale(1.1)}}
@keyframes navPopV3510{0%{transform:scale(.8)}70%{transform:scale(1.13)}100%{transform:scale(1)}}
@keyframes progressGlowV3510{to{background-position:-200% 0}}
@keyframes syncPulseV3510{0%{box-shadow:0 0 0 0 rgba(57,201,128,.35)}70%{box-shadow:0 0 0 8px rgba(57,201,128,0)}100%{box-shadow:0 0 0 0 rgba(57,201,128,0)}}
@keyframes bellBadgeV3510{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-8deg)}88%{transform:rotate(8deg)}92%{transform:rotate(-5deg)}96%{transform:rotate(5deg)}}
@keyframes heroSpinV3510{to{transform:rotate(360deg)}}
@keyframes floatV3510{50%{transform:translateY(10px) translateX(-4px)}}
@keyframes modalUpV3510{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
@keyframes successPopV3510{0%{transform:scale(.2) rotate(-20deg)}75%{transform:scale(1.2) rotate(4deg)}100%{transform:scale(1)}}
@media(max-width:700px){.home-hero-v3510{padding:17px;border-radius:20px}.home-hero-v3510 h2{font-size:22px}.hero-pulse-v3510{width:68px;height:68px;flex-basis:68px}.quick-grid-home-v34{grid-template-columns:repeat(4,1fr)!important;gap:8px}.quick-grid-home-v34 .quick-btn{min-height:84px;font-size:11px}.quick-grid-home-v34 .quick-btn span{width:38px;height:38px;font-size:21px}.metric-grid{gap:9px}.metric{min-height:98px;padding:13px}.page-head{align-items:flex-start}}
@media(max-width:430px){.home-hero-v3510{gap:10px}.home-hero-v3510 p{font-size:12px}.hero-pulse-v3510{width:58px;height:58px;flex-basis:58px}.hero-pulse-v3510 b{font-size:16px}.quick-grid-home-v34{grid-template-columns:repeat(3,1fr)!important}}
@media(min-width:900px){.home-hero-v3510{padding:24px 28px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid-home-v34{grid-template-columns:repeat(7,minmax(0,1fr))}.main-content{max-width:1180px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}


/* ===== V35.1.2 Quick Actions Micro-Animations ===== */
.qa-head-v3512{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 0 10px}.qa-head-v3512 .section-title{margin:0}.qa-head-v3512 small{display:block;margin-top:3px;color:var(--muted)}.qa-count-v3512{font-size:12px;color:var(--primary);font-weight:800;white-space:nowrap}
.qa-grid-v3512 .quick-btn{isolation:isolate;position:relative;overflow:visible}.qa-grid-v3512 .quick-btn>span{position:relative;z-index:2}.qa-grid-v3512 .quick-btn:after{content:"";position:absolute;inset:5px;border-radius:14px;pointer-events:none;opacity:0;box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 28%,transparent)}
.qa-grid-v3512 .quick-btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(25,56,91,.12)}
.qa-grid-v3512 .quick-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.qa-grid-v3512 .quick-btn:active:after{animation:qaRippleV3512 .42s ease-out}
.qa-attendance-v3512:hover>span,.qa-attendance-v3512:focus-visible>span{animation:qaGlowPulseV3512 .9s ease-in-out}
.qa-material-v3512:hover>span{animation:qaLiftV3512 .46s var(--ease-v35)}
.qa-expense-v3512:hover>span{animation:qaSoftPulseV3512 .6s ease-in-out}
.qa-payment-v3512:hover>span,.qa-money-v3512:hover>span{animation:qaCoinPopV3512 .42s var(--ease-v35)}
.qa-reminder-v3512 .qa-badge-v3512{position:absolute;top:-6px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:white;font-style:normal;font-size:10px;display:grid;place-items:center;box-shadow:0 4px 10px rgba(239,68,68,.35)}
.qa-reminder-v3512 .qa-badge-v3512:empty{display:none}.qa-reminder-v3512:has(.qa-badge-v3512:not(:empty))>span{animation:qaBellWiggleV3512 3.8s ease-in-out infinite;transform-origin:50% 15%}
.qa-calendar-v3512:hover>span{animation:qaCalendarFlipV3512 .5s ease}
.qa-progress-v3512:hover>span{animation:qaProgressRiseV3512 .55s var(--ease-v35)}.qa-progress-v3512:hover:before{content:"✦";position:absolute;top:7px;right:12px;color:#f4b400;font-size:13px;animation:qaSparkV3512 .75s ease-out}
.qa-plan-v3512:hover>span{animation:qaBoxLiftV3512 .5s var(--ease-v35)}
.qa-report-v3512:hover>span{animation:qaPaperSlideV3512 .48s var(--ease-v35)}
.qa-search-v3512:hover>span{animation:qaZoomV3512 .42s ease}
.qa-activity-v3512:hover>span{animation:qaClockTickV3512 .5s steps(3,end)}
.qa-vai-v3512{grid-column:span 2!important;min-height:88px!important;display:grid!important;grid-template-columns:48px 1fr 34px!important;grid-template-rows:auto auto!important;text-align:left!important;align-items:center!important;justify-items:start!important;column-gap:11px!important;padding:12px 14px!important;background:linear-gradient(115deg,color-mix(in srgb,#7c3aed 12%,var(--surface)),color-mix(in srgb,#38bdf8 10%,var(--surface)))!important}
.qa-vai-v3512>span{grid-row:1/3;width:48px!important;height:48px!important;font-size:28px!important;background:linear-gradient(135deg,#ede9fe,#e0f2fe)!important;box-shadow:0 0 0 0 rgba(124,58,237,.2);animation:qaVaiBreatheV3512 3.2s ease-in-out infinite}.qa-vai-v3512>b{font-size:13px}.qa-vai-v3512>small{font-size:10px;color:var(--muted);line-height:1.25}.qa-vai-v3512>em{grid-column:3;grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:white;font-style:normal;font-size:18px;justify-self:end;animation:qaArrowHintV3512 2.8s ease-in-out infinite}
@keyframes qaRippleV3512{0%{opacity:.45;box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 35%,transparent)}100%{opacity:0;box-shadow:0 0 0 14px transparent}}
@keyframes qaGlowPulseV3512{0%,100%{transform:scale(1);filter:none;box-shadow:none}50%{transform:scale(1.08);filter:saturate(1.2);box-shadow:0 0 18px color-mix(in srgb,var(--primary) 35%,transparent)}}
@keyframes qaLiftV3512{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes qaSoftPulseV3512{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@keyframes qaCoinPopV3512{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(1.15) rotate(-5deg)}70%{transform:scale(1.06) rotate(4deg)}}
@keyframes qaBellWiggleV3512{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(10deg)}94%{transform:rotate(-10deg)}97%{transform:rotate(6deg)}}
@keyframes qaCalendarFlipV3512{0%{transform:perspective(100px) rotateX(0)}50%{transform:perspective(100px) rotateX(-24deg) scale(.96)}100%{transform:perspective(100px) rotateX(0)}}
@keyframes qaProgressRiseV3512{0%{transform:translateY(4px) scale(.94)}60%{transform:translateY(-4px) scale(1.08)}100%{transform:none}}
@keyframes qaSparkV3512{0%{opacity:0;transform:translate(-5px,6px) scale(.5)}45%{opacity:1}100%{opacity:0;transform:translate(5px,-7px) scale(1.15)}}
@keyframes qaBoxLiftV3512{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-2deg)}}
@keyframes qaPaperSlideV3512{0%{transform:translateX(-3px);opacity:.7}55%{transform:translateX(5px);opacity:1}100%{transform:none}}
@keyframes qaZoomV3512{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes qaClockTickV3512{0%{transform:rotate(0)}100%{transform:rotate(18deg)}}
@keyframes qaVaiBreatheV3512{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(124,58,237,0)}50%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(124,58,237,.08)}}
@keyframes qaArrowHintV3512{0%,80%,100%{transform:translateX(0)}88%{transform:translateX(3px)}94%{transform:translateX(-1px)}}
[data-theme="dark"] .qa-vai-v3512{background:linear-gradient(115deg,rgba(84,39,137,.30),rgba(14,116,144,.20))!important}[data-theme="dark"] .qa-vai-v3512>span{background:linear-gradient(135deg,#2e1d4f,#123f54)!important}
@media(max-width:700px){.qa-head-v3512{margin-top:18px}.qa-grid-v3512{grid-template-columns:repeat(4,1fr)!important}.qa-vai-v3512{grid-column:span 4!important}.qa-grid-v3512 .quick-btn{min-height:86px!important}}
@media(max-width:390px){.qa-grid-v3512{grid-template-columns:repeat(3,1fr)!important}.qa-vai-v3512{grid-column:span 3!important}.qa-grid-v3512 .quick-btn{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.qa-grid-v3512 *,.qa-grid-v3512 *:before,.qa-grid-v3512 *:after{animation:none!important;transition:none!important}.qa-grid-v3512 .quick-btn:hover{transform:none!important}}


/* ===== V35.1.3 Navigation and cross-device UI polish ===== */
:root{--header-h:66px;--nav-h:72px;--v3513-ease:cubic-bezier(.2,.7,.2,1)}
.app-header{gap:10px;padding-inline:max(14px,env(safe-area-inset-left));box-shadow:0 5px 18px rgba(18,44,75,.035)}
.brand-wrap{gap:9px}.brand-logo{width:39px;height:39px}.brand-copy strong{font-size:20px;line-height:1.1}.brand-copy span{font-size:11px;font-weight:650}
.header-actions{gap:7px;flex-shrink:0}.icon-btn{min-width:42px;height:42px;border-radius:13px;transition:transform .18s var(--v3513-ease),background .18s ease}
.icon-btn:active{transform:scale(.95)}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;box-sizing:border-box}
.bottom-nav .nav-btn{min-height:64px;gap:5px;touch-action:manipulation;transition:background .2s ease,color .2s ease}
.bottom-nav .nav-btn span{display:flex;align-items:center;justify-content:center;height:23px;width:23px}
.bottom-nav .nav-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav .nav-btn b{font-size:10px!important;font-weight:750;letter-spacing:0}
.nav-btn:focus-visible,.list-row:focus-visible,.v3513-projects-link:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
.v3513-group-title{margin:18px 4px 9px;font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.085em}
.v3513-in-list{grid-column:1/-1;margin:16px 4px 0}
.v3513-group-title:first-child{margin-top:5px}
.v3513-project-field{flex:1;min-width:0}
.v3513-projects-link{width:42px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface2);color:var(--primary);font-size:26px;font-weight:700}
.project-picker{padding:12px 14px;gap:10px}.project-picker .project-avatar{width:42px;height:42px;font-size:22px}.project-picker select{min-height:42px;padding:8px 12px}.project-picker small{display:block;margin-top:3px}
.metric{position:relative;overflow:hidden}.metric .ico{line-height:1.1}.metric strong{font-variant-numeric:tabular-nums}
.home-hero-v3510{min-height:0}.home-hero-v3510 h2{line-height:1.17}.hero-pulse-v3510{opacity:.92}
.list-row{transition:transform .18s var(--v3513-ease),border-color .2s ease,box-shadow .2s ease;touch-action:manipulation}
.list-row:active{transform:scale(.995)}
.modal-head h2{font-size:clamp(18px,4.5vw,24px);line-height:1.2;overflow-wrap:anywhere}
.modal-actions button{min-height:44px}
[data-theme="dark"] .bottom-nav{background:color-mix(in srgb,var(--surface) 96%,transparent)!important}
[data-theme="dark"] .metric{border-color:#2c4257}
[data-theme="dark"] .metric small{color:#b6c4d2}
[data-theme="dark"] .v3513-projects-link{background:#183047;border-color:#38536a;color:#86bfff}
@media(max-width:780px){
 .app-header{padding-inline:12px}.brand-logo{width:36px;height:36px}.brand-copy strong{font-size:18px}.brand-copy span{font-size:10px}
 .main-content{padding-top:calc(var(--header-h) + env(safe-area-inset-top) + 12px)}
 .page-head{margin-bottom:12px}.page-head h1{font-size:25px}
 .page-head p{font-size:13px}
 .project-picker{margin-top:12px}
 .home-hero-v3510{padding:17px 18px}
 .home-hero-v3510 h2{font-size:clamp(18px,5.3vw,23px)}
 .home-hero-v3510 p{font-size:12px;line-height:1.4}
 .metric-grid{gap:8px;margin-top:12px}.metric{min-height:92px;padding:12px}
 .bottom-nav{min-height:calc(72px + env(safe-area-inset-bottom))!important}
}
@media(max-width:360px){.brand-copy strong{font-size:16px}.header-actions{gap:4px}.icon-btn{min-width:38px;width:38px;height:40px}.project-picker{padding:10px}.page-head h1{font-size:23px}.bottom-nav .nav-btn b{font-size:9px!important}}
@media(min-width:1000px){.app-header{padding-left:max(24px,calc((100vw - 1100px)/2));padding-right:max(24px,calc((100vw - 1100px)/2))}.bottom-nav{max-width:780px!important}}
@media(prefers-reduced-motion:reduce){.bottom-nav .nav-btn,.list-row,.icon-btn{transition:none!important}}

/* V35.1.4: Collapsible Verification & Diagnostics folder in More */
.v3514-folder{min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.025)}
.v3514-folder-header{display:flex;align-items:center;gap:12px;padding:14px;min-height:72px;list-style:none;cursor:pointer;user-select:none;color:var(--text);touch-action:manipulation}
.v3514-folder-header::-webkit-details-marker{display:none}
.v3514-folder-header::marker{content:''}
.v3514-folder-header .grow{flex:1;min-width:0}
.v3514-folder-header strong{display:block;font-size:16px;line-height:1.3}
.v3514-folder-header small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}
.v3514-folder-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:13px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-size:23px}
.v3514-folder-count{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--primary)}
.v3514-folder-chevron{font-size:23px;font-weight:700;color:var(--muted);transition:transform .2s ease;line-height:1}
.v3514-folder[open] .v3514-folder-chevron{transform:rotate(180deg)}
.v3514-folder[open]{border-color:color-mix(in srgb,var(--primary) 32%,var(--line))}
.v3514-folder-content{display:grid;gap:8px;padding:0 10px 10px;border-top:1px solid var(--line)}
.v3514-folder-content .list-row{min-height:65px;border-radius:12px}
.v3514-folder-content .list-row:first-child{margin-top:9px}
.v3514-folder-header:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
@media(hover:hover){.v3514-folder-header:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}}
@media(prefers-reduced-motion:reduce){.v3514-folder-chevron{transition:none}}

/* V35.1.5 — cross-brand responsive navigation, refined folders and subtle motion */
:root{--v3515-ease:cubic-bezier(.22,.8,.25,1)}
.v3515-more{display:grid;gap:12px;padding-bottom:16px}
.v3515-folder{border:1px solid var(--line);background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 3px 14px rgba(20,40,75,.035);min-width:0}
.v3515-folder>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:17px 16px;min-height:86px;color:var(--text);touch-action:manipulation;outline-offset:-3px}
.v3515-folder>summary::-webkit-details-marker{display:none}
.v3515-folder>summary:focus-visible{outline:3px solid var(--primary)}
.v3515-folder-icon{display:grid;place-items:center;width:54px;height:54px;min-width:54px;border-radius:16px;background:var(--primary2);color:var(--primary);font-size:28px}
.v3515-folder-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.v3515-folder-copy strong{font-size:18px;line-height:1.22;font-weight:850;letter-spacing:-.018em}
.v3515-folder-copy small{font-size:13px;line-height:1.4;color:var(--muted)}
.v3515-chevron{width:43px;height:43px;min-width:43px;display:grid;place-items:center;border-radius:50%;background:var(--primary2);color:var(--text)}
.v3515-chevron svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--v3515-ease)}
.v3515-folder[open] .v3515-chevron svg{transform:rotate(180deg)}
.v3515-folder[open]>summary{border-bottom:1px solid var(--line)}
.v3515-folder-body{padding:8px;display:grid;gap:7px;animation:v3515-reveal .2s var(--v3515-ease)}
.v3515-folder-body .list-row{min-height:61px;padding:10px 12px;border-radius:13px;box-shadow:none;background:var(--surface2);border-color:transparent}
.v3515-folder-body .report-icon{width:40px;height:40px;min-width:40px;border-radius:12px;font-size:20px;background:var(--surface);color:var(--primary)}
.v3515-folder-body .list-row strong{font-size:14px}
.v3515-folder-body .list-row small{font-size:11px;line-height:1.35;display:block;margin-top:3px}
.v3515-folder-body .list-row:active{transform:scale(.987)}
.v3515-folder-body .list-row:hover{border-color:var(--line)}
.v3515-folder-body .chev{font-size:20px}
.v3515-note{font-size:12px;line-height:1.45;color:var(--muted);padding:6px 10px 10px}
.v3515-appearance{display:flex;align-items:center;gap:7px;padding:9px 8px;flex-wrap:wrap}
.v3515-appearance span{font-size:12px;color:var(--muted);font-weight:800;margin-right:auto}
.v3515-appearance button{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:11px;padding:9px 11px;font-size:12px;font-weight:800;min-height:38px}
.v3515-appearance button[aria-pressed=true]{color:var(--primary);border-color:var(--primary);background:var(--primary2)}
.v3515-account{margin-top:4px}
.v3515-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#1769df,#188fdb 74%,#16a2b2);color:#fff;padding:19px 20px;border-radius:22px;margin:0 0 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.v3515-hero:after{content:'';position:absolute;width:190px;height:190px;right:-125px;top:-115px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.v3515-hero small{font-weight:900;letter-spacing:.13em;opacity:.85}
.v3515-hero b{display:block;font-size:20px;margin:7px 0 3px}
.v3515-hero p{margin:0;font-size:12px;line-height:1.5;opacity:.88}
.v3515-hero .v3515-star{font-size:25px;opacity:.85;animation:v3515-spark 3s ease-in-out infinite}
.quick-btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .19s var(--v3515-ease),border-color .19s,box-shadow .19s}
.quick-btn:hover{box-shadow:0 8px 18px rgba(20,85,165,.11)}
.quick-btn:active{transform:scale(.956)!important}
.quick-btn span:first-child{display:inline-grid;place-items:center;transition:transform .2s var(--v3515-ease)}
.quick-btn:active span:first-child{transform:scale(1.13) translateY(-2px)}
.quick-btn[data-action="reminder-center-v346"] span:first-child{transform-origin:50% 5%}
.quick-btn[data-action="reminder-center-v346"]:active span:first-child{animation:v3515-wiggle .32s ease}
.nav-btn{touch-action:manipulation}.nav-btn:active span{transform:scale(1.12)}
.nav-btn.active{position:relative}.nav-btn.active:after{content:'';position:absolute;width:25px;height:3px;border-radius:4px;background:var(--primary);bottom:4px;left:calc(50% - 12.5px)}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:780px){.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-btn b{font-size:10px}}
@media(max-width:430px){.v3515-folder>summary{padding:14px 12px;gap:10px;min-height:79px}.v3515-folder-icon{width:48px;height:48px;min-width:48px}.v3515-folder-copy strong{font-size:16px}.v3515-chevron{width:38px;height:38px;min-width:38px}.nav-btn b{font-size:9px}}
@media(min-width:760px){.v3515-more{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.v3515-folder>summary{min-height:98px}.v3515-more .v3515-account{grid-column:1/-1}}
@keyframes v3515-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes v3515-spark{50%{transform:scale(1.13) rotate(9deg);opacity:1}}
@keyframes v3515-wiggle{25%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}75%{transform:rotate(-7deg)}}
@media(prefers-reduced-motion:reduce){.v3515-folder-body,.v3515-chevron svg,.v3515-hero .v3515-star,.quick-btn,.quick-btn span:first-child,.nav-btn span{animation:none!important;transition:none!important}}


/* V35.1.7 — Option 5 clock with greeting. Only the home banner is changed. */
.home-hero-v3510{isolation:isolate}
.hero-clock-v3517{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;min-width:202px;padding-left:18px;border-left:1px solid rgba(255,255,255,.35);color:#fff;font-variant-numeric:tabular-nums}
.hero-clock-sun-v3517{display:grid;place-items:center;width:49px;height:49px;flex:0 0 49px;font-size:32px;filter:drop-shadow(0 2px 7px rgba(255,214,77,.45));animation:clockGlowV3517 5s ease-in-out infinite}
.hero-clock-text-v3517{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.hero-clock-greet-v3517{font-size:12px;font-weight:600;opacity:.92;white-space:nowrap}
.hero-clock-time-v3517{display:flex;align-items:baseline;gap:5px;white-space:nowrap;line-height:1.04}
.hero-clock-time-v3517 time{font-size:clamp(25px,3.1vw,38px);font-weight:850;letter-spacing:-.055em;color:#fff}
.hero-clock-time-v3517 span{font-size:13px;font-weight:700;letter-spacing:.01em}
.hero-clock-date-v3517{font-size:11px;opacity:.88;white-space:nowrap}
@keyframes clockGlowV3517{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(max-width:700px){.home-hero-v3510{gap:11px}.hero-clock-v3517{gap:6px;min-width:0;padding-left:9px}.hero-clock-sun-v3517{font-size:23px;width:29px;height:32px;flex-basis:29px}.hero-clock-time-v3517 time{font-size:25px}.hero-clock-time-v3517 span{font-size:11px}.hero-clock-greet-v3517,.hero-clock-date-v3517{font-size:10px}.home-hero-v3510 h2{font-size:clamp(18px,4.7vw,22px)}}
@media(max-width:390px){.home-hero-v3510{padding:14px;gap:6px}.hero-clock-v3517{padding-left:7px;gap:3px}.hero-clock-sun-v3517{display:none}.hero-clock-time-v3517 time{font-size:22px}.hero-clock-date-v3517{font-size:9px}.home-hero-v3510 h2{font-size:18px}.home-hero-v3510 p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-clock-sun-v3517{animation:none}}

/* V35.1.8: personal quick-action preferences */
.qa-controls-v3518{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.qa-edit-v3518{min-height:38px;min-width:64px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--primary);font-weight:750;cursor:pointer;transition:transform .18s,border-color .18s}
.qa-edit-v3518:active{transform:scale(.96)}.qa-edit-v3518:hover{border-color:var(--primary)}
.qa-preferences-v3518{margin:14px 0}.qa-preferences-v3518 .btn{margin-top:12px}
.qa-switch-v3518{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0}.qa-switch-v3518 small{display:block;color:var(--muted);margin-top:4px}.qa-switch-v3518 input{width:22px;height:22px;accent-color:var(--primary);flex:none}
.qa-settings-list-v3518{display:flex;flex-direction:column;gap:8px;margin:12px 0}.qa-setting-row-v3518{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid var(--line);border-radius:13px;padding:7px;background:var(--surface)}
.qa-setting-toggle-v3518{display:flex;align-items:center;gap:9px;text-align:left;flex:1;min-width:0;min-height:42px;color:var(--text);background:transparent;border:0;font-weight:750;cursor:pointer}.qa-setting-toggle-v3518 small{color:var(--muted);font-size:11px;margin-left:auto}
.qa-setting-check-v3518{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:9px;background:var(--primary);color:#fff}.qa-setting-toggle-v3518[aria-pressed="false"] .qa-setting-check-v3518{background:var(--surface-2,#eef4ff);color:var(--primary)}
.qa-order-v3518{display:flex;gap:4px}.qa-order-v3518 button{min-width:33px;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}.qa-order-v3518 button:disabled{opacity:.3;cursor:default}
.app-header [data-action="quick-add"][hidden]{display:none!important}
@media(max-width:470px){.qa-head-v3512{align-items:center}.qa-count-v3512{display:none}.qa-edit-v3518{min-width:60px}.qa-settings-list-v3518{gap:6px}}
@media(prefers-reduced-motion:reduce){.qa-edit-v3518{transition:none}}

/* V35.1.9: Daily Site Command Center readable in dark mode. */
html[data-theme="dark"] .command-metric-v348, body.dark .command-metric-v348{background:var(--surface2)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] .command-metric-v348 small, body.dark .command-metric-v348 small{color:#b7c9db!important}
html[data-theme="dark"] .command-metric-v348 strong, body.dark .command-metric-v348 strong{color:#f6f9ff!important;opacity:1!important}
@media(prefers-color-scheme:dark){html:not([data-theme]) .command-metric-v348{background:var(--surface2)!important;border-color:var(--line)!important;color:var(--text)!important}html:not([data-theme]) .command-metric-v348 small{color:#b7c9db!important}html:not([data-theme]) .command-metric-v348 strong{color:#f6f9ff!important;opacity:1!important}}

/* V36.0 SIMPLIFIED TEST UI — all existing edit forms and reports unchanged */
:root{--v36-brand:#2563eb;--v36-brand-soft:color-mix(in srgb,#2563eb 11%,var(--surface));}
@media(prefers-color-scheme:dark){:root{--v36-brand:#60a5fa;--v36-brand-soft:color-mix(in srgb,#60a5fa 11%,var(--surface));}}
.v36-screen{max-width:1060px;margin:0 auto;display:grid;gap:18px;padding-bottom:18px}
.v36-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:5px}
.v36-intro h1{font-size:clamp(25px,3.2vw,36px);line-height:1.15;letter-spacing:-.04em;margin:6px 0}
.v36-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}
.v36-eyebrow{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--v36-brand)}
.v36-project-picker{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 13px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow)}
.v36-project-glyph{background:var(--v36-brand-soft);color:var(--v36-brand);width:45px;height:45px;flex:0 0 45px;border-radius:14px;display:grid;place-items:center;font-size:28px;font-weight:700}
.v36-picker-copy{display:grid;gap:2px;flex:1;min-width:0}.v36-picker-copy small{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.v36-picker-copy select{width:100%;max-width:100%;padding:3px 0;background:transparent;border:0;color:var(--text);font-size:17px;font-weight:800;outline-offset:4px}
.v36-picker-copy option{background:var(--surface);color:var(--text)}.v36-project-all{background:var(--surface2);color:var(--text);border:0;border-radius:12px;min-width:40px;min-height:42px;font-size:26px}
.v36-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.v36-metric{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:15px;display:flex;flex-direction:column;gap:11px;box-shadow:var(--shadow)}
.v36-metric-top{display:flex;align-items:center;gap:9px;min-width:0}.v36-metric-top small{font-size:11px;color:var(--muted);font-weight:700}
.v36-metric-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;font-size:17px;font-weight:800}
.v36-metric strong{font-size:clamp(21px,2.4vw,30px);font-weight:850;letter-spacing:-.055em;line-height:1.08;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.v36-metric-foot{font-size:10px;color:var(--muted);line-height:1.35}
.v36-blue .v36-metric-icon,.v36-action-blue .v36-action-icon{background:rgba(59,130,246,.13);color:#3b82f6}
.v36-green .v36-metric-icon,.v36-action-green .v36-action-icon{background:rgba(16,185,129,.14);color:#059669}
.v36-amber .v36-metric-icon,.v36-action-amber .v36-action-icon{background:rgba(245,158,11,.15);color:#b9770e}
.v36-violet .v36-metric-icon,.v36-action-violet .v36-action-icon{background:rgba(139,92,246,.14);color:#8b5cf6}
.v36-action-slate .v36-action-icon{background:var(--surface2);color:var(--text)}
.v36-primary-cta{display:flex;align-items:center;gap:13px;width:100%;background:linear-gradient(115deg,#2563eb,color-mix(in srgb,#2563eb 72%,#0f172a));color:white;text-align:left;border:0;padding:16px 18px;border-radius:19px;box-shadow:0 10px 24px color-mix(in srgb,#2563eb 23%,transparent);min-height:78px}
.v36-primary-cta .v36-cta-plus{width:43px;height:43px;border-radius:13px;background:rgba(255,255,255,.18);font-size:29px;display:grid;place-items:center}
.v36-primary-cta>span:nth-child(2){flex:1;display:grid;gap:3px}.v36-primary-cta strong{font-size:17px}.v36-primary-cta small{font-size:11px;opacity:.9}
.v36-primary-cta>span:last-child{font-size:27px}.v36-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:17px 18px;box-shadow:var(--shadow);min-width:0}
.v36-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.v36-section-head h2{font-size:17px;letter-spacing:-.025em;margin:0 0 4px}
.v36-section-head p{color:var(--muted);font-size:11px;margin:0;line-height:1.45}.v36-text-button{color:var(--v36-brand);background:transparent;border:0;padding:4px 0;font-size:12px;font-weight:750;white-space:nowrap}
.v36-daily{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.v36-daily>div{display:grid;gap:6px;padding:6px 14px;border-right:1px solid var(--line);min-width:0}.v36-daily>div:first-child{padding-left:3px}.v36-daily>div:last-child{border:0}
.v36-daily strong{font-size:clamp(17px,2.5vw,23px);letter-spacing:-.04em;overflow-wrap:anywhere}.v36-daily span{font-size:11px;color:var(--muted)}
.v36-events{display:grid;gap:0}.v36-event{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);min-width:0}
.v36-event:first-child{border-top:0;padding-top:0}.v36-event-icon{height:38px;width:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:var(--surface2);color:var(--text);font-size:18px}
.v36-event-text{display:grid;gap:4px;min-width:0;flex:1}.v36-event-text strong{font-size:12px;line-height:1.35}.v36-event-text small{font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.v36-event time{font-size:10px;white-space:nowrap;color:var(--muted)}.v36-empty{color:var(--muted);font-size:12px;padding:12px 0;line-height:1.6}
.v36-bottom-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v36-bottom-links button{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);min-height:48px;font-weight:750}
.v36-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v36-action{min-width:0;display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:15px;text-align:left;min-height:79px}
.v36-action-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:22px;font-weight:800}.v36-action-copy{display:grid;gap:4px;flex:1;min-width:0}
.v36-action-copy strong{font-size:13px;line-height:1.3}.v36-action-copy small{color:var(--muted);font-size:11px;line-height:1.35}.v36-action-arrow{font-size:23px;color:var(--muted)}
.v36-action:active,.v36-primary-cta:active{transform:scale(.99)}.v36-action:hover{border-color:var(--v36-brand)}
.v36-hint{display:grid;gap:6px;background:var(--v36-brand-soft);border:1px solid color-mix(in srgb,var(--v36-brand) 30%,var(--line));border-radius:17px;padding:15px;font-size:12px;line-height:1.5}
.v36-hint strong{color:var(--v36-brand)}.v36-hint span{color:var(--muted)}
.v36-ledger-hero{padding:23px;border-radius:19px;background:linear-gradient(115deg,#2563eb,color-mix(in srgb,#2563eb 65%,#0f172a));color:white;display:grid;gap:7px}
.v36-ledger-hero small{font-size:10px;letter-spacing:.12em;font-weight:850;opacity:.85}.v36-ledger-hero strong{font-size:clamp(29px,5vw,42px);letter-spacing:-.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.v36-ledger-hero p{margin:0;font-size:12px;opacity:.87}.v36-balances{display:grid;gap:0}.v36-balances>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:13px}.v36-balances>div:last-child{border-bottom:0}
.v36-balances strong{font-variant-numeric:tabular-nums;font-size:15px;overflow-wrap:anywhere;text-align:right}
.v36-balance-total{font-weight:800;color:var(--v36-brand)}
.v36-menu-btn{font-size:19px;font-weight:800;color:var(--v36-brand)}
.v36-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.v36-bottom-nav .nav-btn b{font-size:11px}
@media(max-width:790px){.v36-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.v36-screen{gap:14px}.v36-panel{padding:14px}.v36-intro h1{font-size:27px}.v36-metric{padding:13px;gap:8px}.v36-metric strong{font-size:22px}.v36-actions{grid-template-columns:1fr}.v36-event time{font-size:9px}.v36-intro .date-picker-shell-v34{flex-shrink:0}.v36-intro .home-date-card-v34{font-size:11px}}
@media(prefers-color-scheme:dark){.v36-green .v36-metric-icon,.v36-action-green .v36-action-icon{color:#34d399}.v36-amber .v36-metric-icon,.v36-action-amber .v36-action-icon{color:#fbbf24}.v36-blue .v36-metric-icon,.v36-action-blue .v36-action-icon{color:#60a5fa}.v36-violet .v36-metric-icon,.v36-action-violet .v36-action-icon{color:#c4b5fd}}
@media(prefers-reduced-motion:reduce){.v36-action,.v36-primary-cta{transition:none!important}}

/* V36.0.1 · Home banner and unified payments hub */
.v36-home .home-hero-v3510{margin:0}
.v36-payment-hub .v36-payment-list{display:grid;gap:11px}
.v36-payment-hub .v36-action{min-height:86px;border-radius:16px;background:var(--surface)}
.v36-payment-hub .v36-action:hover{background:var(--surface2)}
.v36-payment-hub .v36-other-options{display:grid;gap:9px;margin-left:16px;padding:2px 0 2px 14px;border-left:2px solid var(--line)}
.v36-payment-hub .v36-other-options.hidden{display:none}
.v36-payment-hub .v36-other-options .v36-action{min-height:75px}
.v36-hub-back{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-size:12px;font-weight:800;white-space:nowrap}
.v36-hub-modal{display:grid;gap:12px}
.v36-due-summary{display:flex;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;background:var(--surface2)}
.v36-purchase-row{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.v36-purchase-row small{display:block;color:var(--muted);font-size:11px;line-height:1.6}
.v36-purchase-head,.v36-due-line{display:flex;justify-content:space-between;align-items:center;gap:10px}
.v36-purchase-head strong{overflow-wrap:anywhere}
.v36-due-line .btn{flex-shrink:0}
@media(max-width:480px){.v36-home .home-hero-v3510{padding:15px 12px}.v36-home .home-hero-v3510 p{max-width:225px}.v36-payment-hub .v36-other-options{margin-left:6px;padding-left:9px}}

/* V36.0.2 — full-viewport 4-tab navigation; recent activity collapsed by default */
html,body{width:100%;max-width:100%;}
body #app .bottom-nav.v36-bottom-nav{
 position:fixed!important;left:0!important;right:0!important;bottom:0!important;
 width:100vw!important;max-width:none!important;transform:none!important;
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 box-sizing:border-box!important;border-radius:0!important;border-left:0!important;border-right:0!important;
 margin:0!important;overflow:visible!important;
 padding-left:max(0px,env(safe-area-inset-left))!important;
 padding-right:max(0px,env(safe-area-inset-right))!important;
}
body #app .v36-bottom-nav .nav-btn{width:100%!important;min-width:0!important;justify-content:center!important;}
.v36-recent-collapsible{display:block!important;}
.v36-recent-summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:32px;}
.v36-recent-summary::-webkit-details-marker{display:none;}
.v36-recent-summary>span:first-child{display:grid;gap:4px;}
.v36-recent-summary strong{font-size:17px;letter-spacing:-.025em;}
.v36-recent-summary small{color:var(--muted);font-size:11px;}
.v36-recent-state{display:flex;align-items:center;gap:8px;color:var(--v36-brand);font-size:12px;font-weight:750;white-space:nowrap;}
.v36-recent-summary .v36-recent-hide{display:none;}
.v36-recent-collapsible[open] .v36-recent-hide{display:inline;}
.v36-recent-collapsible[open] .v36-recent-show{display:none;}
.v36-recent-collapsible[open] .v36-recent-state>span:last-child{transform:rotate(180deg);}
.v36-recent-content{padding-top:15px;}
.v36-recent-content>.v36-text-button{margin-top:10px;}
@media(min-width:901px){body #app .bottom-nav.v36-bottom-nav{left:0!important;right:0!important;width:100vw!important;max-width:none!important;transform:none!important;}}

/* V36.1: actionable summary cards retain the existing visual hierarchy. */
.v36-metric-link{font:inherit;color:var(--text);text-align:left;width:100%;cursor:pointer;appearance:none;-webkit-appearance:none}.v36-metric-link:focus-visible{outline:3px solid #347dff;outline-offset:3px}.v36-metric-link:hover{filter:brightness(1.03)}

/* V36.1.1: Restore the existing VAI assistant at the Home heading, beside the date. */
.v36-home .v36-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}
.v36-home .v36-vai-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:7px 13px 7px 8px;border:1px solid color-mix(in srgb,#7c3aed 26%,var(--line));border-radius:16px;background:color-mix(in srgb,#7c3aed 8%,var(--surface));color:var(--text);font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,transform .15s ease}
.v36-home .v36-vai-entry img{width:32px;height:32px;border-radius:10px;object-fit:cover;flex:0 0 32px;background:#fff}
.v36-home .v36-vai-entry:hover{background:color-mix(in srgb,#7c3aed 15%,var(--surface));transform:translateY(-1px)}
.v36-home .v36-vai-entry:focus-visible{outline:3px solid var(--v36-brand);outline-offset:3px}
@media(max-width:600px){.v36-home .v36-intro{flex-wrap:wrap;align-items:flex-start}.v36-home .v36-intro>div:first-child{flex:1 1 100%}.v36-home .v36-intro-actions{width:100%;justify-content:space-between;gap:8px}.v36-home .v36-vai-entry{min-height:44px;padding:5px 10px 5px 6px}}
@media(prefers-reduced-motion:reduce){.v36-home .v36-vai-entry{transition:none}.v36-home .v36-vai-entry:hover{transform:none}}


/* V36.1.2 — project setup, scoped to the project modal only. */
.project-modal-v3612{width:min(780px,100%)!important}
.project-modal-v3612 .modal-head{padding:14px 16px}
.project-modal-v3612 .modal-body{padding:14px 16px!important;overscroll-behavior:contain}
.project-modal-v3612 .modal-actions{display:flex!important;flex-wrap:wrap;gap:8px;align-items:center}
.project-modal-v3612 .modal-actions .project-save-v3612{flex:1 1 100%;min-height:48px;order:-1;background:#193e63;color:#fff;border-radius:12px;font-weight:850;letter-spacing:.04em}
.project-modal-v3612 .project-save-v3612:disabled{opacity:.45;cursor:not-allowed}
.project-form-v3612{display:grid;gap:11px}
.project-form-v3612>.field>label,.project-setup-label-v3612{display:block;font-size:11px;font-weight:850;letter-spacing:.035em;margin-bottom:5px;color:var(--muted)}
.project-form-v3612>.field>input{min-height:46px}
.project-setup-label-v3612{margin:8px 0 4px}
.project-setup-label-v3612 span{font-weight:650;opacity:.8}
.project-setup-v3612{display:grid;gap:8px;min-width:0}
.project-modal-v3612 .project-icon-grid-v34{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.project-modal-v3612 .project-icon-choice-v34{min-width:0;min-height:61px;gap:4px;border-radius:12px;background:var(--surface);padding:5px 2px;border:1px solid var(--line)}
.project-modal-v3612 .project-icon-choice-v34>span{font-size:23px;line-height:1.1}
.project-modal-v3612 .project-icon-choice-v34 small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 2px;color:var(--muted)}
.project-modal-v3612 .project-icon-choice-v34.active{border:2px solid #1768ed;background:color-mix(in srgb,#1768ed 8%,var(--surface));box-shadow:none}
.project-modal-v3612 .project-colour-grid-v34{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:8px 5px;margin:1px 0}
.project-modal-v3612 .project-colour-choice-v34{width:30px;height:30px;max-width:100%;justify-self:center;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer}
.project-modal-v3612 .project-colour-choice-v34.active{outline:2px solid #1768ed;outline-offset:2px}
.project-custom-color-v3612{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:7px 9px;background:var(--surface2)}
.project-custom-color-v3612 label{flex:1;font-weight:750;font-size:11px}
.project-custom-color-v3612 input[type=color]{width:44px;height:38px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.project-custom-color-v3612 .btn{flex:2;min-height:40px;background:var(--surface);color:var(--text);font-size:12px}
#projectCustomIconV3612{display:block;width:100%;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-size:12px}
.project-image-tools-v3612{display:flex;align-items:center;justify-content:space-between;gap:7px}
.project-image-tools-v3612 small{font-size:10px;color:var(--muted)}
.project-image-tools-v3612 button{padding:6px 9px;font-size:10px;min-height:30px}
.project-image-tools-v3612 button.hidden{display:none!important}
.project-live-preview-v3612{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--surface2);min-width:0}
.project-live-preview-v3612>div{min-width:0;display:grid;gap:3px}
.project-live-preview-v3612 strong,.project-live-preview-v3612 small{display:block;overflow-wrap:anywhere}
.project-live-preview-v3612 strong{font-size:14px}
.project-live-preview-v3612 small{color:var(--muted);font-size:10px}
.project-avatar-v34 .project-icon-image-v3612,.v36-project-glyph .project-icon-image-v3612{width:80%;height:80%;object-fit:contain;display:block}
.project-advanced-v3612{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:3px}
.project-advanced-v3612 summary{font-weight:750;font-size:12px;cursor:pointer}
.project-advanced-fields-v3612{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:12px}
.project-advanced-fields-v3612 .field{min-width:0}
.project-advanced-fields-v3612 .field label{font-size:11px}
.project-modal-v3612 .modal-actions>.btn:not(.project-save-v3612){flex:1 1 90px}
@media(max-width:680px){
 .project-modal-v3612 .project-icon-grid-v34{grid-template-columns:repeat(4,minmax(0,1fr))}
 .project-modal-v3612 .project-colour-grid-v34{grid-template-columns:repeat(8,minmax(0,1fr))}
 .project-advanced-fields-v3612{grid-template-columns:1fr}
 .project-modal-v3612 .modal-actions{display:flex!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}
 .project-modal-v3612 .modal-actions .project-save-v3612{flex-basis:100%!important;order:-1}
 .project-modal-v3612 .modal-actions>.btn:not(.project-save-v3612){flex:1 1 90px}
}

/* build 36.1.3.home-layout.vhomes */

/* V36.1.5: scoped mobile home alignment and accessible project financial cards. */
@media(max-width:600px){
 .v36-home .v36-intro-actions{justify-content:flex-end!important;width:100%!important}
 .v36-home .v36-intro-actions>.date-picker-shell-v34{margin-left:auto;max-width:100%}
}
/* Project detail values must remain readable when user switches to dark mode. */
html[data-theme="dark"] .metric-v344,body.dark .metric-v344{background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-theme="dark"] .metric-v344 strong,body.dark .metric-v344 strong{color:#f3f7fb!important;opacity:1!important}
html[data-theme="dark"] .metric-v344 small,body.dark .metric-v344 small{color:#b7c9db!important}
@media(prefers-color-scheme:dark){
 html:not([data-theme]) .metric-v344{background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important}
 html:not([data-theme]) .metric-v344 strong{color:#f3f7fb!important;opacity:1!important}
 html:not([data-theme]) .metric-v344 small{color:#b7c9db!important}
}

/* V36.1.6: keep the existing mobile layout; inset the Home date selector 10px from the right edge. */
@media(max-width:600px){
  .v36-home .v36-intro-actions>.date-picker-shell-v34{margin-right:10px!important;max-width:calc(100% - 10px)!important;box-sizing:border-box}
}


/* V36.1.7: feedback only; no changes to persistence or calculations. */
@media (prefers-reduced-motion: no-preference) {
  .toast.success.v3617-success {animation:v3617-toast-in .24s ease-out both;}
  .toast.success.v3617-success.v3617-payment {animation:v3617-toast-in .24s ease-out both,v3617-payment-glow .46s ease-out .2s;}
  button[data-action]:active,.nav-btn:active {transform:scale(.975);transition:transform .12s ease-out;}
  .v3617-picked {animation:v3617-pick .26s ease-out both;}
  .v3617-counter {animation:v3617-count .24s ease-out both;}
  .v3617-ripple {animation:v3617-ripple .38s ease-out both;}
  @keyframes v3617-toast-in {from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes v3617-payment-glow {40%{box-shadow:0 0 0 6px rgba(33,192,145,.18)}to{box-shadow:0 0 0 0 rgba(33,192,145,0)}}
  @keyframes v3617-pick {45%{transform:scale(1.035)}to{transform:scale(1)}}
  @keyframes v3617-count {40%{transform:scale(1.12)}to{transform:scale(1)}}
  @keyframes v3617-ripple {from{box-shadow:0 0 0 0 rgba(33,192,145,.4)}to{box-shadow:0 0 0 13px rgba(33,192,145,0)}}
}
/* Selection remains visually clear even when motion is disabled. */
button[data-action].v3617-picked {outline:2px solid #4b9bff;outline-offset:1px;}

/* V36.1.8: approved home order without moving or resizing financial widgets. */
.v36-home{grid-template-columns:minmax(0,1fr)}
.v36-home>.v36-intro{grid-row:1}
.v36-home>.home-hero-v3510{grid-row:2}
.v36-home>.v3618-home-controls{grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.v36-home>.v3618-home-controls .date-picker-shell-v34{margin-left:auto;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:600px){
 .v36-home>.v3618-home-controls{width:100%!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:8px}
 .v36-home>.v3618-home-controls .date-picker-shell-v34{margin-right:10px!important;max-width:calc(100% - 10px)!important;flex:0 1 auto;min-width:0}
 .v36-home>.v3618-home-controls .v36-vai-entry{flex:0 0 auto}
}
/* Supplier Payables: isolated colours and responsive rows in light and dark modes. */
.v3618-supplier-modal .v3618-payables-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.v3618-supplier-modal .v3618-payables-summary .money-card-v349{min-width:0;background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important;overflow-wrap:anywhere}
.v3618-supplier-modal .v3618-payables-summary .money-card-v349 small{color:var(--muted)!important;line-height:1.4}
.v3618-supplier-modal .v3618-payables-summary .money-card-v349 strong{display:block;color:var(--text)!important;opacity:1!important;font-variant-numeric:tabular-nums}
.v3618-supplier-group{margin-top:12px;min-width:0;padding:14px}
.v3618-supplier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.v3618-supplier-name{min-width:0;flex:1;display:grid;gap:3px;overflow-wrap:anywhere}
.v3618-supplier-name b{font-size:15px;line-height:1.35}
.v3618-supplier-name small{display:block;font-size:11px;line-height:1.35}
.v3618-supplier-head>strong{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.v3618-supplier-item{display:flex;align-items:center;gap:12px;padding:12px 0;min-width:0}
.v3618-supplier-description{flex:1 1 auto;min-width:0;display:grid;gap:5px;overflow-wrap:anywhere}
.v3618-supplier-description strong{line-height:1.35}
.v3618-supplier-description small{color:var(--muted);line-height:1.5}
.v3618-supplier-payment{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.v3618-supplier-payment b{font-variant-numeric:tabular-nums;white-space:nowrap}
.v3618-supplier-payment .link-btn{min-height:44px;min-width:44px}
@media(max-width:520px){
 .v3618-supplier-group{padding:12px}
 .v3618-supplier-item{flex-wrap:wrap;gap:8px}
 .v3618-supplier-description{flex:1 1 100%}
 .v3618-supplier-payment{width:100%;justify-content:space-between}
 .v3618-supplier-modal .v3618-payables-summary .money-card-v349{padding:11px}
}
@media(prefers-reduced-motion:no-preference){.v3618-supplier-payment .link-btn:active{transform:scale(.96)}.v3617-counter{display:inline-block}}

/* V36.1.9: structural Home order follows DOM, not an implicit CSS-grid override. */
.v36-home > .v36-intro,.v36-home > .home-hero-v3510,.v36-home > .v3618-home-controls{grid-row:auto!important;grid-column:1!important}
.v36-home > .v3618-home-controls{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:12px}
@media(max-width:600px){
 .v36-home > .v3618-home-controls{gap:8px;flex-wrap:nowrap!important}
 .v36-home > .v3618-home-controls .date-picker-shell-v34{margin:0 10px 0 auto!important;flex:0 1 auto;max-width:calc(100% - 10px)!important;min-width:0}
 .v36-home > .v3618-home-controls .v36-vai-entry{flex:0 0 auto}
}
/* Supplier Payables is themed inside the dialog, not by inherited legacy panel defaults. */
.v3618-supplier-modal .v3618-payables-summary .money-card-v349{background:#e9f1fb!important;color:#142033!important;border:1px solid #b8cadc!important}
.v3618-supplier-modal .v3618-payables-summary .money-card-v349 small{color:#45566b!important}
.v3618-supplier-modal .v3618-payables-summary .money-card-v349 strong{color:#142033!important;opacity:1!important}
@media(prefers-color-scheme:dark){
 .v3618-supplier-modal .v3618-payables-summary .money-card-v349{background:#172c40!important;color:#f3f7fb!important;border-color:#36506a!important}
 .v3618-supplier-modal .v3618-payables-summary .money-card-v349 small{color:#bbcad8!important}
 .v3618-supplier-modal .v3618-payables-summary .money-card-v349 strong{color:#f3f7fb!important}
}
.v3618-supplier-modal .v3618-supplier-group{background:var(--surface)!important;color:var(--text)!important}
.v3618-supplier-modal .v3618-supplier-head{align-items:flex-start;flex-wrap:wrap}
.v3618-supplier-modal .v3618-supplier-name{flex:1 1 60%;min-width:0}
.v3618-supplier-modal .v3618-supplier-head>strong{margin-left:auto}
.v3618-supplier-modal .v3618-supplier-item{border-bottom:1px solid var(--line)}
.v3618-supplier-modal .v3618-supplier-item:last-child{border-bottom:0}
@media(max-width:520px){
 .v3618-supplier-modal .v3618-payables-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v3618-supplier-modal .v3618-supplier-payment{flex-basis:100%;width:100%}
}

/* V36.1.11: Reports period presets must never produce a horizontal scroll bar. */
.option2-reports-v34 .report-quick-period-v34{overflow:visible;min-width:0;padding-bottom:13px;border:0;scrollbar-width:none}
.option2-reports-v34 .report-quick-period-v34::-webkit-scrollbar{display:none}
.option2-reports-v34 .report-visual-grid-v34{align-items:stretch;min-width:0}
.option2-reports-v34 .report-visual-card-v34{min-width:0;box-sizing:border-box}
@media(max-width:640px){
 .option2-reports-v34 .report-quick-period-v34{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .option2-reports-v34 .report-quick-period-v34 button{min-width:0;padding:9px 2px;font-size:clamp(9px,2.6vw,11px);text-align:center}
 .option2-reports-v34 .report-visual-grid-v34{gap:10px}
 .option2-reports-v34 .report-visual-card-v34{height:100%;min-height:138px}
}

/* V36.1.12: Existing task engine made accessible from the streamlined Home. */
.v3612-task-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.v3612-task-head>strong{font-size:18px;letter-spacing:-.025em;color:var(--text)}
.v3612-task-head .v36-text-button{margin:0;white-space:nowrap}
.v3612-task-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line);min-width:0}
.v3612-task-row>input{accent-color:var(--primary);width:20px;height:20px;flex:none;cursor:pointer}
.v3612-task-open{flex:1;min-width:0;border:0;background:transparent;text-align:left;color:var(--text);padding:4px 0;cursor:pointer}
.v3612-task-open strong,.v3612-task-open small{display:block;overflow-wrap:anywhere}
.v3612-task-open strong{font-size:14px}.v3612-task-open small{font-size:11px;color:var(--muted);margin-top:4px}
.v3612-task-status{flex:none;font-size:10px;font-weight:750;border-radius:999px;background:var(--surface2);color:var(--text);padding:6px 9px}
.v3612-task-status.complete{color:#087d61;background:#ddf8ee}.v3612-task-status.overdue{color:#ae3d27;background:#ffede7}
.v3612-task-row.is-done .v3612-task-open strong{text-decoration:line-through;opacity:.65}
.v3612-notice-detail{flex:1;min-width:0;overflow-wrap:anywhere}.v3612-notice-detail b,.v3612-notice-detail small{display:block}
.v3612-reminder-button{margin-top:10px;min-height:40px;max-width:100%;white-space:normal;text-align:center}
@media(max-width:440px){.v3612-task-row{gap:8px}.v3612-task-status{font-size:9px;padding:5px 7px}}

/* V36.1.14: restrained responsive polish; no financial/UI interaction changes. */
.v36-home,.v36-screen{min-width:0}
.v36-home .home-hero-v3510>div:first-child{min-width:0;flex:1 1 auto}
.v36-home .hero-clock-v3517{flex-shrink:0}
.v36-home .v3618-home-controls{min-width:0}
.v36-home .v3618-home-controls .date-picker-shell-v34{box-sizing:border-box}
@media(max-width:430px){
  .v36-home .home-hero-v3510{gap:8px}
  .v36-home .home-hero-v3510 h2{overflow-wrap:anywhere}
  .v36-home .hero-clock-v3517{padding-left:8px}
  .v36-home .v3618-home-controls{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .v36-home .home-hero-v3510:before,.v36-home .home-hero-v3510:after{animation:none!important}
}

/* V36.1.16: compact project progress, display-only; uses saved project.progress. */
.v36-project-progress{flex:0 1 38%;min-width:120px;max-width:420px;display:flex;align-items:center;gap:10px;margin-left:auto}
.v36-project-progress-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.v36-project-progress-track{height:9px;width:100%;background:var(--surface2);border-radius:999px;overflow:hidden}
.v36-project-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2fa9ee,#2873f4);transition:width .25s ease}
.v36-project-progress-label{font-size:10px;color:var(--muted);line-height:1.2}
.v36-project-progress-value{min-width:43px;white-space:nowrap;color:var(--text);font-size:17px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:600px){
 .v36-project-picker{flex-wrap:wrap}
 .v36-picker-copy{flex:1 1 calc(100% - 115px)}
 .v36-project-progress{order:3;flex:1 1 100%;max-width:none;margin:2px 0 0 0;padding:0 3px}
 .v36-project-all{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.v36-project-progress-fill{transition:none}}

/* V36.1.17: compact entry and itemized financial detail; respects existing themes */
.v36117-metric-chevron{position:absolute;right:12px;top:12px;font-size:19px;color:var(--accent,#267af0)}
.v36-metric{position:relative;text-align:left;width:100%;cursor:pointer}
.v36117-chooser{display:grid;gap:12px;margin-top:16px}.v36117-chooser button{position:relative;padding:20px 44px 20px 18px;text-align:left;border:1px solid var(--border,#d8e2ed);border-radius:16px;background:var(--card,#f7faff);color:var(--text,#142436);cursor:pointer}.v36117-chooser strong,.v36117-chooser small{display:block}.v36117-chooser small{margin-top:6px;color:var(--muted,#64748b)}.v36117-chooser span{position:absolute;right:16px;top:23px;font-size:22px}
.v36117-fin-hero{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px;border-radius:15px;background:var(--surface,#edf4ff);border:1px solid var(--border,#d8e2ed)}.v36117-fin-hero>span{flex:1 1 100%;color:var(--muted,#64748b)}.v36117-fin-hero>strong{font-size:clamp(22px,4vw,32px);flex:1}.v36117-fin-list{display:grid;gap:9px;margin:13px 0}.v36117-fin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid var(--border,#d8e2ed);border-radius:13px;background:var(--card,#f7faff)}.v36117-fin-copy{display:flex;flex-direction:column;gap:3px;flex:1 1 170px;min-width:0;overflow-wrap:anywhere}.v36117-fin-copy small{color:var(--muted,#64748b)}.v36117-fin-actions{display:flex;justify-content:flex-end}.v36117-filter{display:flex;gap:7px;overflow-x:auto;margin-top:12px}.v36117-filter button{border:1px solid var(--border,#d8e2ed);background:var(--card,#f7faff);color:inherit;border-radius:22px;padding:9px 15px;white-space:nowrap}.v36117-filter button.active{background:var(--accent,#176bec);color:white}
.v36117-compact-modal .option1-title-v34,.v36117-compact-modal .expense-status-note-v34{display:none}.v36117-compact-modal .modern-input-card-v34{padding-top:6px}.v36117-compact-modal .modern-form-grid-v34,.v36117-compact-modal .form-grid{gap:11px}.v36117-compact-modal .field textarea{min-height:62px}.v36117-compact-modal .v36117-condensed{display:none!important}.v36117-compact-modal .v36117-total input{font-weight:750}
@media(max-width:550px){.v36117-fin-modal .modal-body{padding:14px}.v36117-fin-hero>.btn{width:100%}.v36117-fin-row{gap:8px}.v36117-compact-modal .modern-form-grid-v34{grid-template-columns:1fr}.v36117-compact-modal .modern-form-grid-v34 .field.full{grid-column:1/-1}.v36117-compact-modal .field label{font-size:11px}}


/* V36.1.18 – compact project histories, accessible on mobile and in both themes */
.v36118-histories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.v36118-history{min-width:0}.v36118-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.v36118-history-head strong{font-size:17px}.v36118-history-head small{color:var(--muted)}
.v36118-history-list{display:grid;gap:7px}.v36118-history-row{display:flex;align-items:center;gap:7px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.v36118-history-copy{appearance:none;border:0;background:transparent;color:var(--text);text-align:left;flex:1;min-width:0;cursor:pointer;display:grid;gap:4px;padding:2px}.v36118-history-copy>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.v36118-history-copy strong{font-size:13px;overflow-wrap:anywhere}.v36118-history-copy small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.v36118-tag{font-size:9px;color:#aa541d;background:#ffead9;border-radius:20px;padding:4px 6px;font-style:normal;font-weight:800}.v36118-tag.received{color:#086e44;background:#ddf9eb}
.v36118-edit,.v36118-trash{border:0;background:transparent;color:var(--accent,#267af0);font-weight:700;cursor:pointer;padding:8px 5px;white-space:nowrap}.v36118-trash{color:var(--muted);font-size:20px}.v36118-view-all{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);padding:11px;text-align:left;font-weight:700;cursor:pointer}
.v36118-history button:focus-visible{outline:2px solid var(--accent,#267af0);outline-offset:2px}
.v36118-compact-payee input{width:100%}.v36118-compact-payee small{color:var(--muted);font-size:11px}
@media(max-width:760px){.v36118-histories{grid-template-columns:minmax(0,1fr)}.v36118-history{padding:13px}.v36118-history-head strong{font-size:16px}}

/* V36.1.19: compact expandable histories, payment choices and Today shortcut */
.v36119-date-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.v36119-today{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--accent,#267af0);padding:11px 13px;font-weight:750;cursor:pointer;white-space:nowrap}.v36119-today:hover{background:var(--surface2)}
.v36119-history{padding:0;overflow:hidden}.v36119-history>.v36118-history-head{cursor:pointer;display:flex;align-items:center;gap:12px;margin:0;padding:16px;list-style:none}.v36119-history>.v36118-history-head::-webkit-details-marker,.v36119-date>summary::-webkit-details-marker{display:none}.v36119-history>.v36118-history-head strong{flex:1}.v36119-history>.v36118-history-head small{font-size:11px}.v36119-history>.v36118-history-head span{transition:transform .18s}.v36119-history[open]>.v36118-history-head span:last-child{transform:rotate(180deg)}.v36119-history>.v36118-history-list{padding:0 14px 8px}.v36119-history>.v36118-view-all{width:calc(100% - 28px);margin:4px 14px 14px}.v36119-date{border:1px solid var(--line);border-radius:12px;background:var(--surface2);overflow:hidden;margin:8px 0}.v36119-date>summary{list-style:none;cursor:pointer;padding:12px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--text);font-size:12px}.v36119-date>summary span{color:var(--muted);font-size:11px}.v36119-date[open]>summary{border-bottom:1px solid var(--line)}.v36119-date>.v36118-history-row{margin:5px 7px;background:var(--surface);border-radius:8px}.v36119-date>.v36118-history-row:last-child{margin-bottom:8px}
.v36119-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.v36119-payment-grid .v36-action{min-width:0}.v36119-payment-grid .v36-action:last-child:nth-child(odd){grid-column:1/-1}.v36119-payments .v36-panel{padding:18px}
.v36119-activity-log{display:grid;gap:8px;max-height:65vh;overflow:auto}.v36119-activity-row{padding:11px 13px;border-bottom:1px solid var(--line);display:grid;gap:3px}.v36119-activity-row small{color:var(--muted);overflow-wrap:anywhere}.v36119-activity-row[hidden],.v36119-date[hidden]{display:none!important}
@media(max-width:760px){.v36119-payment-grid{grid-template-columns:minmax(0,1fr)}.v36119-payment-grid .v36-action:last-child:nth-child(odd){grid-column:auto}.v36119-today{padding:11px 9px;font-size:12px}.v36119-date-tools{gap:5px}.v36119-history>.v36118-history-head{padding:14px 12px}.v36119-history>.v36118-history-head small{max-width:48%;text-align:right}.v36119-date>summary{align-items:flex-start}.v36119-date>summary span{max-width:60%;text-align:right}}

/* V36.1.20: one responsive Today + date control, compact calendar filter for project activity. */
.v36-home .v36120-combined-date{display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden;isolation:isolate}
.v36-home .v36120-combined-date .v36120-today{border:0;background:var(--v36-brand-soft);color:var(--v36-brand);padding:11px 12px;font-weight:800;font-size:13px;white-space:nowrap;flex-shrink:0;min-height:46px;cursor:pointer}
.v36-home .v36120-combined-date .v36120-date-divider{width:1px;height:28px;flex:0 0 1px;background:var(--line)}
.v36-home .v36120-combined-date .date-picker-shell-v34{min-width:0!important;max-width:100%!important;flex:1 1 auto!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
.v36-home .v36120-combined-date .home-date-card-v34{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;padding:10px 12px!important;white-space:nowrap!important;font-size:clamp(12px,2.9vw,16px)!important}
.v36-home .v36120-combined-date .calendar-glyph-v34{flex-shrink:0}
.v36-home .v36120-combined-date:focus-within{outline:2px solid var(--v36-brand);outline-offset:1px}
.v36120-activity{position:relative}.v36120-activity>.v36-recent-summary{padding-right:143px;min-height:44px}
.v36120-activity-calendar{position:absolute;right:114px;top:13px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--v36-brand);cursor:pointer;overflow:hidden}
.v36120-activity-calendar>span{font-size:19px;pointer-events:none}.v36120-activity-calendar input{position:absolute;inset:0;width:100%;height:100%;opacity:.01;cursor:pointer;font-size:16px}
.v36120-activity-filter{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;border-radius:10px;background:var(--v36-brand-soft);color:var(--v36-brand);font-size:12px;font-weight:750}
.v36120-activity-filter[hidden]{display:none!important}.v36120-activity-filter button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
@media(max-width:600px){.v36-home .v36-intro-actions.v3618-home-controls{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:9px!important;flex-wrap:nowrap!important;justify-content:stretch!important;width:100%!important}.v36-home .v3618-home-controls>.v36-vai-entry{min-width:0;max-width:100%;padding:8px!important}.v36-home .v36120-combined-date{width:100%;min-width:0;justify-self:stretch}.v36-home .v36120-combined-date .v36120-today{padding:8px 7px;font-size:11px;min-height:47px}.v36-home .v36120-combined-date .home-date-card-v34{padding:8px 5px!important;font-size:clamp(10px,2.8vw,13px)!important;letter-spacing:-.02em!important}.v36120-activity>.v36-recent-summary{padding-right:128px}.v36120-activity-calendar{right:103px;top:10px;width:32px;height:32px}.v36120-activity .v36-recent-state{font-size:11px;gap:3px}}
@media(max-width:360px){.v36-home .v3618-home-controls>.v36-vai-entry span{font-size:11px}.v36-home .v36120-combined-date .v36120-today{padding:8px 5px;font-size:10px}.v36-home .v36120-combined-date .home-date-card-v34{font-size:10px!important;padding:8px 3px!important}}


/* V36.1.21 — responsive dashboard and modal contrast polish. */
.v36-home .v36120-combined-date{background:var(--surface)!important;border-color:var(--line)!important;overflow:hidden!important;max-width:100%!important}
.v36-home .v36120-combined-date .v36120-today{background:transparent!important;color:var(--v36-brand,var(--primary))!important;border:0!important;border-radius:0!important;min-width:0;line-height:1.2}
.v36-home .v36120-combined-date .v36120-date-divider{background:var(--line)!important;opacity:.7}
.v36-home .v36120-combined-date .date-picker-shell-v34,.v36-home .v36120-combined-date .home-date-card-v34{background:transparent!important;color:var(--text)!important;box-shadow:none!important}
.v36-home .v36120-combined-date .home-date-card-v34{justify-content:center!important;gap:5px!important}
.v36-home .v36120-combined-date .calendar-glyph-v34{color:var(--v36-brand,var(--primary))!important}
.v36120-activity>.v36-recent-summary{padding-right:0!important;gap:8px;min-height:40px}
.v36120-activity>.v36-recent-summary>span:first-child{min-width:0;flex:1 1 auto}
.v36120-activity .v36-recent-summary strong{white-space:nowrap;letter-spacing:-.035em;font-size:clamp(15px,3.5vw,17px)}
.v36120-activity .v36-recent-state{flex:0 0 auto;margin-left:auto;min-width:0;white-space:nowrap}
.v36120-activity-calendar{right:108px!important;top:12px!important}
.v36120-activity:not([open]){padding-top:11px!important;padding-bottom:11px!important}
.v36120-activity:not([open]) .v36-recent-summary{min-height:40px}
@media(max-width:600px){
 .v36-home .v36-intro-actions.v3618-home-controls{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important}
 .v36-home .v36120-combined-date .v36120-today{padding:8px 6px!important;font-size:11px!important}
 .v36-home .v36120-combined-date .home-date-card-v34{padding:8px 4px!important;font-size:clamp(10px,2.8vw,13px)!important}
 .v36120-activity>.v36-recent-summary{padding-right:0!important}
 .v36120-activity-calendar{right:104px!important;top:11px!important;width:29px!important;height:29px!important}
 .v36120-activity .v36-recent-state{font-size:11px!important}
}
@media(max-width:375px){.v36120-activity .v36-recent-summary strong{font-size:15px}.v36120-activity-calendar{right:96px!important}.v36120-activity .v36-recent-state{font-size:10px!important}}
/* Finance drilldown rows must inherit theme colours, never light-on-white. */
.v36117-fin-modal .v36117-finance,.v36117-fin-modal .v36117-fin-hero,.v36117-fin-modal .v36117-fin-row{color:var(--text)!important}
.v36117-fin-modal .v36117-fin-hero,.v36117-fin-modal .v36117-fin-row{background:var(--surface2)!important;border-color:var(--line)!important}
.v36117-fin-modal .v36117-fin-hero>strong,.v36117-fin-modal .v36117-fin-row strong,.v36117-fin-modal .v36117-fin-row b{color:var(--text)!important;opacity:1!important}
.v36117-fin-modal .v36117-fin-hero>span,.v36117-fin-modal .v36117-fin-copy small{color:var(--muted)!important;opacity:1!important}
.v36117-fin-modal .v36117-filter{max-width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 0 6px}
.v36117-fin-modal .v36117-filter button{flex-shrink:0;background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important;min-height:42px}
.v36117-fin-modal .v36117-filter button.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
.v36117-fin-modal .v36117-fin-actions{flex-wrap:wrap;gap:7px}
.v36117-fin-modal .v36117-fin-actions .btn{min-height:42px}
.v36117-fin-modal .v36117-fin-actions .btn:not(.danger){background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
.v36117-fin-modal .v36117-fin-actions .btn.danger{background:var(--red2)!important;color:var(--red)!important;border-color:var(--line)!important}
/* Notification: keep all title, note and action contrast accessible. */
.notice-v344{background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important}
.notice-v344 .v3612-notice-detail{min-width:0;flex:1;display:grid;gap:5px}
.notice-v344 .v3612-notice-detail>b{color:var(--text)!important;opacity:1!important;overflow-wrap:anywhere;line-height:1.4}
.notice-v344 .v3612-notice-detail>small{display:block;color:var(--muted)!important;opacity:1!important;overflow-wrap:anywhere;line-height:1.5}
.notice-v344 .v3612-reminder-button{justify-self:start;min-height:42px}

/* V36.1.22: quick project progress modal, theme-aware and mobile responsive. */
.v36122-progress-editor{display:grid;gap:18px;min-width:0}
.v36122-progress-project{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border,#30475b);border-radius:14px;min-width:0}
.v36122-progress-project>div:last-child{flex:1;min-width:0}
.v36122-progress-project strong{display:block;overflow-wrap:anywhere}
.v36122-progress-project small{display:block;color:var(--muted,#8899aa);margin-top:4px}
.v36122-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v36122-progress-head label{font-weight:700}
.v36122-progress-head output{font-size:30px;font-weight:800;color:var(--blue,#348ff0);font-variant-numeric:tabular-nums}
#v36122Range{width:100%;accent-color:#2687ea;cursor:pointer;min-height:35px}
.v36122-progress-track{height:8px;background:var(--border,#30475b);border-radius:999px;overflow:hidden}
.v36122-progress-track span{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,#2588f8,#0bbd9a)}
.v36122-progress-marks{display:flex;justify-content:space-between;gap:5px;font-size:11px;color:var(--muted,#8899aa)}
.v36122-progress-editor textarea{width:100%;min-height:66px}
.v36122-progress-hint{font-size:12px;line-height:1.5}
.v36122-progress-icon{color:#0bc6a4}
@media(max-width:420px){.v36122-progress-head output{font-size:25px}.v36122-progress-editor{gap:13px}}


/* V36.1.24 VHOMES project navigation and reviewed Quick Actions */
.v36123-account{display:flex;align-items:center;gap:7px;max-width:175px;min-width:0;color:var(--text);font-size:12px;font-weight:700;white-space:nowrap}.v36123-account #v36123HeaderName{overflow:hidden;text-overflow:ellipsis}.v36123-avatar{height:32px;width:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2,var(--surface));color:#159e84;border:1px solid var(--line);font-size:19px}
.v36123-project{padding-bottom:30px}.v36123-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}.v36123-actions .section-title{margin-bottom:14px}.v36123-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.v36123-tool{min-width:0;min-height:118px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:12px 4px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;transition:border-color .22s,box-shadow .22s,transform .22s}.v36123-tool strong{font-size:13px}.v36123-tool:active{transform:scale(.98)}.v36123-tool:focus-visible{outline:2px solid #2785ef;outline-offset:2px}.v36123-tool-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--qa-accent);background:var(--qa-soft);box-shadow:0 0 0 0 transparent;transition:box-shadow .22s,transform .22s}.v36123-tool-icon svg{width:28px;height:28px}.v36123-tool:hover .v36123-tool-icon,.v36123-tool:focus-visible .v36123-tool-icon{box-shadow:0 0 0 5px var(--qa-halo),0 0 17px var(--qa-halo);transform:scale(1.035)}.v36123-purple{--qa-accent:#7653d6;--qa-soft:#eee7ff;--qa-halo:#7653d633}.v36123-blue{--qa-accent:#287eee;--qa-soft:#e5efff;--qa-halo:#287eee33}.v36123-orange{--qa-accent:#f1703c;--qa-soft:#fff0e8;--qa-halo:#f1703c33}.v36123-green{--qa-accent:#00ad73;--qa-soft:#dff8ee;--qa-halo:#00ad7333}.v36123-yellow{--qa-accent:#d59511;--qa-soft:#fff2d9;--qa-halo:#d5951133}.v36123-pink{--qa-accent:#db3590;--qa-soft:#ffe7f4;--qa-halo:#db359033}.v36123-cyan{--qa-accent:#08a1ae;--qa-soft:#def8f9;--qa-halo:#08a1ae33}.v36123-red{--qa-accent:#df5266;--qa-soft:#ffe7ee;--qa-halo:#df526633}.v36123-indigo{--qa-accent:#6259d8;--qa-soft:#edeaff;--qa-halo:#6259d833}.v36123-royal{--qa-accent:#2875eb;--qa-soft:#e5efff;--qa-halo:#2875eb33}
[data-theme="dark"] .v36123-tool-icon{background:color-mix(in srgb,var(--qa-accent) 19%,var(--surface));color:var(--qa-accent)}
@media(max-width:620px){.v36123-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v36123-tool{min-height:95px}.v36123-account{max-width:93px;font-size:11px}.v36123-avatar{width:28px;height:28px;flex-basis:28px}.v36123-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(min-width:621px) and (max-width:850px){.v36123-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.v36123-tool,.v36123-tool-icon{transition:none!important}}

/* V36.1.23: compact authenticated header and touch glow; retain legacy views reachable through More/project shortcuts. */
.v36123-account{appearance:none;background:transparent;border:0;cursor:pointer;text-align:left;padding:0 2px;}
.v36123-account:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:9px;}
.v36123-project .v36123-tool:active .v36123-tool-icon{box-shadow:0 0 0 5px var(--qa-halo),0 0 18px var(--qa-halo);transform:scale(1.055);}
@media(max-width:620px){
  .app-header{padding-left:10px;padding-right:10px;gap:5px;}
  .brand-wrap{gap:5px;flex:1 1 auto;overflow:hidden;}
  .brand-logo{width:32px;height:32px;flex:0 0 32px;}
  .brand-copy{min-width:0;overflow:hidden;}
  .brand-copy strong{font-size:clamp(13px,3.65vw,17px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .brand-copy span{font-size:10px;}
  .beta-badge{display:none;}
  .header-actions{flex:0 0 auto;gap:4px;align-items:center;}
  .header-actions>.icon-btn{width:34px;min-width:34px;height:38px;border-radius:11px;padding:0;}
  .header-actions .sync-text{display:none;}
  .header-actions #alertCount{right:-3px;}
  .v36123-account{max-width:88px;min-width:0;gap:4px;font-size:11px;}
  .v36123-avatar{width:27px;height:27px;flex-basis:27px;font-size:12px;font-weight:850;}
  .v36123-account #v36123HeaderName{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;}
}
@media(max-width:365px){.v36123-account{max-width:69px}.v36123-avatar{width:24px;height:24px;flex-basis:24px}.app-header{padding-left:7px;padding-right:7px}.brand-logo{width:29px;height:29px;flex-basis:29px}}
@media(prefers-reduced-motion:reduce){.v36123-project .v36123-tool:active .v36123-tool-icon{transition:none;transform:none;}}

/* V36.1.24 Project quick action navigation. Preserve touch targets in a true two-row layout on mobile. */
@media (max-width:620px){.v36123-tool-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}.v36123-tool{min-height:75px!important;border-radius:10px!important;padding:6px 1px!important;gap:5px!important}.v36123-tool strong{font-size:clamp(8px,2.35vw,11px)!important;font-weight:750;line-height:1.2;text-align:center;overflow-wrap:anywhere}.v36123-tool-icon{width:28px!important;height:28px!important;min-height:28px!important;border-radius:8px!important}.v36123-tool-icon svg{width:17px!important;height:17px!important}.v36123-actions{padding:10px!important}.v36123-actions .section-title{margin-bottom:10px!important}}
@media (max-width:355px){.v36123-tool-grid{gap:3px!important}.v36123-tool strong{font-size:8px!important}}
.v36124-payment-choices{scroll-margin-top:16px}.v36124-payment-choices .v36119-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#v36124WorkersHistory,#v36124EntryTypes{scroll-margin-top:16px}

/* V36.1.24.1 — theme contrast hotfix for More → diagnostics, search and daily reports.
   Older cards used var(--panel,#fff); --panel was undefined, so dark mode
   rendered white cards with inherited near-white text. Bind it to the theme. */
:root { --panel:var(--surface); }
.search-chip-v344,
.search-result-v344,
.health-summary-v351>div,
.health-row-v351,
.workflow-summary-v353>div,
.workflow-row-v353,
.money-card-v349,
.report-section-v350 {color:var(--text);}
.search-chip-v344.active{color:#fff;}
.search-box-v344 input{min-width:0;background:var(--surface2);color:var(--text);border:1px solid var(--line);}
.search-box-v344 input::placeholder{color:var(--muted);opacity:1;}
.health-summary-v351 small,
.health-row-v351 small,
.workflow-summary-v353 small,
.workflow-row-v353 small,
.money-card-v349 small {color:var(--muted);}
.health-summary-v351 strong,
.health-row-v351 b,
.workflow-summary-v353 strong,
.workflow-row-v353 b,
.money-card-v349 strong,
.report-section-v350 h4 {color:var(--text);opacity:1;}
/* Small text and active search pills also need adequate contrast in light mode. */
.health-summary-v351 small,
.health-row-v351 small,
.workflow-summary-v353 small,
.workflow-row-v353 small,
.money-card-v349 small,
.search-result-v344 small {color:#536276;}
.search-chip-v344.active{background:#095eb8;border-color:#095eb8;color:#fff;}

html[data-theme="dark"] .health-summary-v351 small,
html[data-theme="dark"] .health-row-v351 small,
html[data-theme="dark"] .workflow-summary-v353 small,
html[data-theme="dark"] .workflow-row-v353 small,
html[data-theme="dark"] .money-card-v349 small,
html[data-theme="dark"] .search-result-v344 small {color:#b8c7d8;}
@media(prefers-color-scheme:dark){html:not([data-theme]) .health-summary-v351 small,
html:not([data-theme]) .health-row-v351 small,
html:not([data-theme]) .workflow-summary-v353 small,
html:not([data-theme]) .workflow-row-v353 small,
html:not([data-theme]) .money-card-v349 small,
html:not([data-theme]) .search-result-v344 small {color:#b8c7d8;}}


/* V36.1.25 · VHOMES Home review (approved C3 header, date A, summary A, static finance). */
.app-header.v36125-premium-header{background:linear-gradient(114deg,#081a31 0%,#0b2d50 60%,#06486a 100%)!important;border-color:#27618a!important;box-shadow:0 2px 16px rgba(0,10,35,.2);color:#f8fbff;}
.v36125-premium-header .brand-wrap{min-width:0;flex:1 1 auto;gap:9px;}
.v36125-premium-header .brand-logo{border-radius:0;filter:none;flex:0 0 auto;}
.v36125-premium-header .brand-copy strong{color:#fff;}
.v36125-premium-header .brand-copy span{color:#b8cce5;}
.v36125-premium-header .v36125-tagline{border-left:1px solid #49799b;padding-left:13px;margin-left:7px;font-size:11px;font-style:italic;line-height:1.38;color:#b8cee6;max-width:117px;white-space:normal;}
.v36125-premium-header .header-actions{align-items:center;}
.v36125-premium-header .icon-btn{background:#0a2c47;color:#f6faff;border-color:#2c668d;}
.v36125-premium-header .v36123-account{color:#fff;}
.v36125-premium-header .v36123-avatar{color:#29d1ae;border-color:#2c668d;background:#0a2c47;}
.v36125-premium-header .notify-dot{border-color:#0a2c47;}
.v36125-premium-header .sync-chip .sync-dot{width:12px;height:12px;box-shadow:0 0 0 5px rgba(36,218,168,.09);}
.v36125-premium-header .sync-chip.synced .sync-dot{background:#26d5a0;}
.v36125-premium-header button:focus-visible{outline:2px solid #8cc8ff;outline-offset:2px;}
@media(max-width:650px){
 .v36125-premium-header .brand-wrap{gap:6px;}
 .v36125-premium-header .brand-logo{width:31px;height:35px;flex-basis:31px;}
 .v36125-premium-header .brand-copy strong{font-size:clamp(13px,3.7vw,16px);}
 .v36125-premium-header .v36125-tagline{font-size:9px;margin-left:0;padding-left:7px;line-height:1.25;}
 .v36125-premium-header .header-actions{gap:4px;}
 .v36125-premium-header .header-actions>.icon-btn{width:32px;min-width:32px;height:37px;}
 .v36125-premium-header .v36123-account{max-width:76px;}
}
@media(max-width:420px){
 /* Use a second short line for the tagline instead of squeezing the three touch controls. */
 .v36125-premium-header .brand-wrap{position:relative;padding-bottom:12px;}
 .v36125-premium-header .v36125-tagline{position:absolute;left:38px;bottom:0;border:0;padding:0;font-size:8px;white-space:nowrap;}
 .v36125-premium-header .v36125-tagline br{display:none;}
 .v36125-premium-header .v36125-tagline br::after{content:' ';}
 .v36125-premium-header .brand-copy strong{font-size:14px;}
 .v36125-premium-header .brand-copy span{font-size:9px;}
 .v36125-premium-header .v36123-account{max-width:70px;}
}
.v36-home .home-hero-v3510.v36125-home-hero{background:linear-gradient(122deg,#0856c9,#078bd2)!important;color:white;box-shadow:0 15px 30px rgba(0,85,187,.17);}
.v36-home .v36125-home-hero .hero-clock-v3517{min-width:0;color:#fff;}
.v36-home .v36125-home-hero .v36125-clock-label{font-size:10px;letter-spacing:.02em;opacity:.94;}
.v36-home .v36125-home-hero .hero-clock-date-v3517{font-size:11px;opacity:.95;}
.v36-home .v36125-home-hero .hero-clock-time-v3517 time{font-size:clamp(23px,3.6vw,35px);}
.v36-home .v36125-home-hero .hero-clock-time-v3517 span{font-size:12px;}
.v36-home .v36125-date-field{display:grid;align-content:center;min-width:0;flex:1 1 auto;padding:5px 7px;}
.v36-home .v36125-date-field>small{color:var(--muted);font-size:9px;letter-spacing:.045em;font-weight:850;line-height:1.2;padding-left:3px;}
.v36-home .v36125-working-date .date-picker-shell-v34{margin:0!important;}
.v36-home .v36125-working-date .home-date-card-v34{padding:3px 2px!important;text-align:left!important;justify-content:flex-start!important;font-weight:800;}
.v36-home .v36125-working-date .v36120-today{min-height:65px;}
.v36-home .v36125-working-date .v36120-date-divider{height:37px;}
.v36-home .v36125-daily>div{gap:6px;text-align:center;align-content:start;justify-items:center;}
.v36-home .v36125-daily>div:first-child{padding-left:0;}
.v36-home .v36125-daily>div:last-child{padding-right:0;}
.v36-home .v36125-daily .v36125-daily-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:17px;font-weight:850;}
.v36-home .v36125-daily .v36125-daily-icon.workers{background:rgba(39,135,235,.19);color:#59b6ff;}
.v36-home .v36125-daily .v36125-daily-icon.labour{background:rgba(25,173,127,.19);color:#23cda1;}
.v36-home .v36125-daily .v36125-daily-icon.materials{background:rgba(222,155,30,.2);color:#f5ae26;}
.v36-home .v36125-daily strong{font-variant-numeric:tabular-nums;}
.v36-home .v36125-daily span:last-child{line-height:1.4;}
.v36-home .v36125-readonly-metric{cursor:default!important;color:var(--text);user-select:text;min-width:0;}
.v36-home .v36125-readonly-metric:hover{filter:none!important;}
.v36-home .v36125-readonly-metric .v36-metric-top small{color:var(--muted);}
.v36-home .v36125-readonly-metric .v36-metric-foot{color:var(--muted);}
@media(max-width:440px){
 .v36-home .v36125-home-hero{gap:7px;min-height:135px;}
 .v36-home .v36125-home-hero h2{font-size:clamp(17px,4.6vw,22px);}
 .v36-home .v36125-home-hero p{max-width:none;font-size:11px;}
 .v36-home .v36125-home-hero .hero-clock-v3517{padding-left:9px;}
 .v36-home .v36125-home-hero .hero-clock-time-v3517 time{font-size:clamp(21px,5.8vw,26px);}
 .v36-home .v36125-home-hero .hero-clock-date-v3517{font-size:9px;white-space:normal;}
 .v36-home .v36125-home-hero .v36125-clock-label{font-size:9px;white-space:normal;}
 .v36-home .v36125-working-date .v36120-today{min-height:67px;}
 .v36-home .v36125-working-date .home-date-card-v34{font-size:clamp(10px,2.7vw,12px)!important;}
 .v36-home .v36125-date-field>small{font-size:8px;}
 .v36-home .v36125-daily>div{padding-inline:7px;}
 .v36-home .v36125-daily strong{font-size:clamp(16px,4.1vw,21px);}
 .v36-home .v36125-daily span:last-child{font-size:10px;}
}

/* VHOMES V36.1.26: approved Soft Navy dark mode. Light mode unchanged. */
html[data-theme="dark"]{
 --bg:#0d1726;--surface:#18283b;--surface2:#243750;--text:#f4f7fc;
 --muted:#b5c6d9;--line:#37516b;--border:#37516b;
 --primary:#3587f6;--primary-strong:#69aaff;--primary2:#132f51;
 --shadow:0 12px 34px rgba(0,7,18,.32);--shadow-hover:0 18px 42px rgba(0,7,18,.4);
}
@media(prefers-color-scheme:dark){html:not([data-theme]){
 --bg:#0d1726;--surface:#18283b;--surface2:#243750;--text:#f4f7fc;
 --muted:#b5c6d9;--line:#37516b;--border:#37516b;--primary:#3587f6;--primary-strong:#69aaff;
}}
/* Restore visibility of original transparent logo by changing header background only. */
.app-header.v36125-premium-header{background:#104277!important;border-color:#31618f!important;}
/* Top-right Today and working date, without changing the controls. */
.v36-home .v36-intro-actions.v3618-home-controls{justify-content:space-between!important;}
.v36-home .v36126-working-date{margin-left:auto;flex:0 1 auto;width:auto;max-width:min(73%,465px);min-width:0;}
.v36-home .v36126-working-date .v36125-date-field{min-width:0;}
.v36-home .v36126-working-date .home-date-card-v34{font-size:clamp(11px,3vw,15px)!important;}
.v36-home .v36125-home-hero .v36126-day-icon{display:grid!important;place-items:center;width:30px;height:33px;flex:0 0 30px;font-size:25px;}
@media(max-width:440px){
 .v36-home .v36126-working-date{max-width:72%;}
 .v36-home .v36125-home-hero .v36126-day-icon{width:23px;height:28px;flex-basis:23px;font-size:21px;}
 .v36-home .v36125-home-hero .hero-clock-v3517{gap:4px;}
}
@media(prefers-reduced-motion:no-preference){.v36-home .v36126-day-icon{animation:clockGlowV3517 5s ease-in-out infinite}}
.v36126-history-screen{min-width:0;}
.v36126-history-head{align-items:center;}
.v36126-history-page{display:grid;gap:9px;}
.v36126-history-record{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left;}
.v36126-history-record span{display:grid;gap:3px;min-width:0;}
.v36126-history-record small{color:var(--muted);font-size:12px;}
.v36126-history-record b{white-space:nowrap;color:var(--primary);}
.v36126-activity-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.v36126-activity-filter label{font-size:12px;color:var(--muted);font-weight:750;}
.v36126-activity-filter input{min-width:0;max-width:155px;padding:9px;border-radius:10px;border:1px solid var(--line);color:var(--text);background:var(--surface2);color-scheme:inherit;}
/* When form dialogs are open, present exactly one overlay with no navigation peeking through. */
body.modal-open-v34 .app-header,body.modal-open-v34 .bottom-nav{visibility:hidden!important;pointer-events:none!important;}
#modalRoot.active-v34{z-index:9000!important;isolation:isolate;}
#modalRoot.active-v34 .modal-layer{background:rgba(4,12,22,.73)!important;}
@media(max-width:700px){#modalRoot.active-v34 .modal{max-height:calc(100dvh - env(safe-area-inset-top) - 14px)!important;}}

/* The underlying page is not visible when a full form is open. */
body.modal-open-v34 #main{visibility:hidden!important;}
#modalRoot.active-v34 .modal{background:var(--surface)!important;opacity:1!important;}


/* V36.1.27: shared, responsive project tools and genuinely persisted attendance confirmation. */
.v36127-saved{margin:14px 0 25px;padding:16px;display:grid;gap:11px;scroll-margin-top:85px}
.v36127-saved-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.v36127-saved-head strong{font-size:17px;color:var(--text)}
.v36127-saved-head small,.v36127-saved-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.v36127-saved-status{background:rgba(16,185,129,.13);color:var(--text);font-weight:800;border-radius:99px;padding:5px 10px;font-size:12px}
.v36127-saved-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--text);align-items:center}
.v36127-saved-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
.v36127-saved-totals{display:flex;justify-content:space-between;gap:10px;border-top:2px solid var(--line);padding-top:12px;font-weight:850;color:var(--text)}
.v36126-history-screen,.v36126-history-page{min-width:0}.v36126-history-page{display:grid;gap:9px}
.v36126-history-record{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left}
.v36126-history-record span{min-width:0;display:grid;gap:3px}.v36126-history-record small{color:var(--muted);font-size:12px}.v36126-history-record b{white-space:nowrap;color:var(--primary)}
.v36126-activity-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.v36126-activity-filter label{font-size:12px;color:var(--muted);font-weight:750}.v36126-activity-filter input{max-width:160px;min-width:0;background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px}
.v36123-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.v36123-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 3px;min-width:0;min-height:85px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;color:var(--text);cursor:pointer}.v36123-tool strong{font-size:11px;overflow-wrap:anywhere;text-align:center}.v36123-tool-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--v36-brand-soft,var(--surface));color:var(--primary)}.v36123-tool-icon svg{width:22px;height:22px}.v36123-actions{margin:12px 0}
@media(max-width:620px){.v36123-tool-grid{gap:5px}.v36123-tool{min-height:75px;padding:6px 1px}.v36123-tool strong{font-size:clamp(8px,2.3vw,11px)}.v36123-tool-icon{width:28px;height:28px}.v36123-tool-icon svg{width:18px;height:18px}.v36127-saved{padding:12px}}
/* Calendar and expand buttons must remain separate in narrow and wide viewports. */
.v36120-activity{position:relative}.v36120-activity>.v36-recent-summary{padding-right:180px!important;min-height:50px;align-items:center}.v36120-activity-calendar{right:130px!important;top:14px!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:10px}.v36120-activity-calendar>span{display:grid;place-items:center;width:100%;height:100%}.v36120-activity-calendar svg{display:block;width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.v36120-activity>.v36-recent-summary{padding-right:143px!important}.v36120-activity-calendar{right:105px!important;top:13px!important;width:33px!important;height:33px!important}.v36120-activity-calendar svg{width:19px;height:19px}.v36120-activity .v36-recent-state{font-size:11px!important}}
@media(max-width:375px){.v36120-activity>.v36-recent-summary{padding-right:133px!important}.v36120-activity-calendar{right:96px!important}.v36120-activity .v36-recent-summary strong{font-size:14px!important}}


/* V36.1.28: Recent Activity controls are one true flex row, not absolutely overlaid. */
.v36-home .v36128-activity>.v36-recent-summary{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 gap:8px!important;padding:0!important;min-height:44px!important;width:100%!important;
}
.v36-home .v36128-activity .v36128-activity-title{
 display:flex!important;flex-direction:column!important;gap:3px!important;flex:1 1 auto!important;
 min-width:0!important;max-width:none!important;
}
.v36-home .v36128-activity .v36128-activity-title strong{
 font-size:clamp(15px,3.6vw,18px)!important;letter-spacing:-.025em!important;
 white-space:nowrap!important;overflow:visible!important;
}
.v36-home .v36128-activity .v36128-activity-controls{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 gap:9px!important;flex:0 0 auto!important;min-width:0!important;
}
.v36-home .v36128-activity .v36120-activity-calendar{
 position:relative!important;inset:auto!important;top:auto!important;right:auto!important;
 margin:0!important;padding:0!important;display:grid!important;place-items:center!important;
 width:36px!important;height:36px!important;flex:0 0 36px!important;
 background:var(--surface2)!important;border:1px solid var(--line)!important;
 border-radius:10px!important;cursor:pointer!important;z-index:1!important;
}
.v36-home .v36128-activity .v36120-activity-calendar svg{width:20px!important;height:20px!important;display:block!important;}
.v36-home .v36128-activity .v36-recent-state{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 flex:0 0 auto!important;width:auto!important;margin:0!important;
 white-space:nowrap!important;font-size:12px!important;gap:4px!important;
}
.v36-home .v36128-activity .v36-recent-content{width:100%;}
@media(max-width:390px){
 .v36-home .v36128-activity .v36128-activity-controls{gap:6px!important;}
 .v36-home .v36128-activity .v36120-activity-calendar{width:32px!important;height:32px!important;flex-basis:32px!important;}
 .v36-home .v36128-activity .v36-recent-state{font-size:11px!important;gap:2px!important;}
 .v36-home .v36128-activity .v36128-activity-title strong{font-size:14px!important;}
}
/* Compact working-date card: retain Today and picker in the approved right position. */
.v36-home .v36126-working-date{min-height:54px!important;align-items:center!important;}
.v36-home .v36126-working-date .v36120-today{
 min-height:48px!important;height:48px!important;align-self:center!important;
 padding-top:6px!important;padding-bottom:6px!important;
}
.v36-home .v36126-working-date .v36125-date-field{
 align-self:center!important;padding:3px 5px!important;gap:2px!important;
}
.v36-home .v36126-working-date .v36125-date-field>small{line-height:1.1!important;}
.v36-home .v36126-working-date .v36120-date-divider{height:30px!important;align-self:center!important;}
.v36-home .v36126-working-date .home-date-card-v34{min-height:30px!important;padding-top:2px!important;padding-bottom:2px!important;}

/* V36.1.29 — Full task list and dedicated task creation view. */
.v36129-task-page{display:flex;flex-direction:column;gap:12px;min-width:0}
.v36129-task-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v36129-task-tab{padding:11px 5px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);font-weight:700;cursor:pointer}
.v36129-task-tab.is-active{background:#176bea;border-color:#176bea;color:#fff}
.v36129-new-task{width:100%;min-height:46px}
.v36129-task-list{max-height:55vh;overflow-y:auto}
.v36129-task-list .task-v345{min-width:0}
.v36129-empty{padding:24px 6px;text-align:center}
.v36129-status{font-size:12px;font-weight:700;color:var(--text2)}
.v36129-status.done{color:#109a6b}
.modal.v36129-task-modal{max-width:650px}
@media(max-width:600px){.v36129-task-list{max-height:50vh}.v36129-task-page .task-v345{gap:8px}}
/* Tasks open as a full-screen workspace on mobile, above bottom navigation. */
@media(max-width:700px){
 #modalRoot.active-v34 .modal.v36129-task-modal{width:100%!important;max-width:none!important;height:calc(100dvh - env(safe-area-inset-top))!important;max-height:calc(100dvh - env(safe-area-inset-top))!important;border-radius:16px 16px 0 0!important;display:flex;flex-direction:column}
 #modalRoot .v36129-task-modal .modal-head,#modalRoot .v36129-task-modal .modal-actions{flex-shrink:0}
 #modalRoot .v36129-task-modal .modal-body{overflow-y:auto;min-height:0;flex:1}
}


/* V36.1.30 cross-device accessibility and activity/task control polish. */
.v36-home .v36128-activity>.v36-recent-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:48px!important;padding:0!important;width:100%!important;box-sizing:border-box}
.v36-home .v36128-activity .v36128-activity-title{flex:1 1 auto!important;min-width:0!important;max-width:none!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.v36-home .v36128-activity .v36128-activity-title strong{display:block!important;white-space:nowrap!important;letter-spacing:0!important;font-size:clamp(15px,2vw,19px)!important;line-height:1.25!important}
.v36-home .v36128-activity .v36128-activity-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex:0 0 auto!important;min-width:0!important}
.v36-home .v36128-activity .v36120-activity-calendar{position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;margin:0!important;padding:0!important;border-radius:10px!important;background:var(--surface2)!important;border:1px solid var(--line)!important;cursor:pointer!important;z-index:1!important}
.v36-home .v36128-activity .v36120-activity-calendar svg{width:21px!important;height:21px!important;display:block!important;stroke:currentColor!important;stroke-width:2!important;fill:none!important}
.v36-home .v36128-activity .v36-recent-state{position:static!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;flex:0 0 auto!important;white-space:nowrap!important;width:auto!important;max-width:none!important;margin:0!important;font-size:12px!important}
.v36-home .v36128-activity .v36-recent-content{width:100%;clear:both}
.v36-home .v36128-activity .v36120-activity-calendar:focus-within{outline:2px solid #2678e9;outline-offset:2px}
.v36129-task-tab:focus-visible,.v36129-new-task:focus-visible{outline:2px solid #2678e9;outline-offset:3px}
@media(max-width:420px){.v36-home .v36128-activity>.v36-recent-summary{gap:6px!important}.v36-home .v36128-activity .v36128-activity-controls{gap:7px!important}.v36-home .v36128-activity .v36120-activity-calendar{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important}.v36-home .v36128-activity .v36-recent-state{font-size:11px!important}.v36-home .v36128-activity .v36128-activity-title strong{font-size:15px!important}}


/* ==========================================================================
   V37.0.0 — Approved VHOMES workflow/UI
   ========================================================================== */
:root{--v37-teal:#078b83;--v37-teal-2:#0aa79c;--v37-navy:#0b2342;--v37-soft:#eef8f7;--v37-bg:#f6f9f9;--v37-card:#fff;--v37-line:#dce7e7;--v37-muted:#708090}
.main-content{background:var(--v37-bg)}
.v37-page{max-width:1180px;margin:0 auto;padding:18px 18px 110px;color:var(--text)}
.v37-page h1{font-size:clamp(30px,5vw,48px);letter-spacing:-1.5px;margin:0;color:var(--v37-navy)}
.v37-page h2{margin:0;color:var(--v37-navy);font-size:20px}.v37-page p{color:var(--muted)}
.v37-title-row,.v37-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.v37-title-row{margin-bottom:20px}.v37-title-row p{margin:4px 0 0}
.v37-section{margin-top:22px}.v37-section-head{margin-bottom:12px}.v37-section-head>button,.v37-section-head>span{border:0;background:none;color:var(--v37-teal);font-weight:700}
.v37-card{background:var(--surface);border:1px solid var(--v37-line);border-radius:22px;padding:18px;box-shadow:0 8px 28px rgba(8,44,61,.05)}
.v37-icon{display:inline-flex;width:24px;height:24px;color:var(--v37-teal)}.v37-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v37-money-icon{font-size:24px;font-weight:900;color:#f28b28}
.v37-bottom-nav .nav-btn svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.v37-bottom-nav .nav-btn.active{color:var(--v37-teal);background:#eaf6f5}
.v37-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v37-home-head h1{font-size:clamp(26px,5vw,38px);margin:4px 0}.v37-home-head p{margin:0}.v37-eyebrow{font-weight:900;color:var(--v37-teal);letter-spacing:.12em}.v37-date-pill{border:0;border-radius:14px;background:#e8f5f3;color:var(--v37-teal);font-weight:800;padding:11px 14px}
.v37-active-site{margin-top:18px}.v37-active-site-card{width:100%;display:grid;grid-template-columns:52px 1fr auto auto;gap:12px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--v37-line);border-radius:18px;padding:10px 14px}.v37-active-site-card div:nth-child(2){display:flex;flex-direction:column}.v37-active-site-card span{font-weight:900;color:var(--v37-teal)}.v37-mini-thumb,.v37-site-thumb{overflow:hidden;border-radius:14px;background:#dff2ef}.v37-mini-thumb{width:52px;height:52px}.v37-mini-thumb img,.v37-site-thumb img{width:100%;height:100%;object-fit:cover}.v37-site-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:30px;color:var(--v37-teal)}
.v37-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.v37-summary-grid>button{background:var(--surface);border:1px solid var(--v37-line);border-radius:18px;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}.v37-summary-grid>button strong{font-size:20px;color:var(--v37-navy)}.v37-summary-grid>button small{grid-column:1/-1;color:var(--muted)}
.v37-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v37-quick-grid button{border:1px solid var(--v37-line);background:var(--surface);border-radius:18px;padding:16px 10px;display:flex;flex-direction:column;gap:8px;align-items:center;color:var(--v37-navy)}
.v37-compact-list{display:grid;gap:8px}.v37-compact-list>button{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid var(--v37-line);background:var(--surface);padding:12px 14px;border-radius:14px}.v37-compact-list button div{display:flex;flex-direction:column}.v37-compact-list small{color:var(--muted)}.v37-check{font-size:22px;color:var(--v37-teal)}.v37-empty,.v37-empty-card{padding:18px;color:var(--muted);text-align:center}.v37-empty-card{background:var(--surface);border:1px dashed var(--v37-line);border-radius:18px}
.v37-search{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--v37-line);border-radius:16px;padding:0 14px;margin:10px 0 14px}.v37-search input{flex:1;border:0;background:none;padding:14px 0;color:var(--text);outline:none}.v37-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#eff5f5;padding:5px;border-radius:18px;margin-bottom:16px}.v37-segments button{border:0;background:transparent;padding:12px;border-radius:14px;font-weight:800;color:var(--v37-navy)}.v37-segments button.active{background:var(--v37-teal);color:#fff;box-shadow:0 6px 14px rgba(5,139,131,.18)}.v37-segments span{opacity:.75;margin-left:6px}
.v37-site-list{display:grid;gap:12px}.v37-site-card{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--v37-line);border-radius:22px;padding:14px;box-shadow:0 6px 20px rgba(9,36,51,.05)}.v37-site-thumb{width:150px;height:110px}.v37-site-main{min-width:0}.v37-site-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.v37-site-title strong{font-size:22px;color:var(--v37-navy)}.v37-site-main>small{color:var(--muted)}.v37-status{white-space:nowrap;border-radius:999px;background:#e8f6f3;color:var(--v37-teal);padding:7px 10px;font-weight:800;font-size:12px}.v37-progress-line{margin:8px 0}.v37-progress-line>span{font-size:13px;color:var(--muted)}.v37-progress-line>div,.v37-progress-big{height:8px;background:#e3ebed;border-radius:999px;overflow:hidden;margin-top:5px}.v37-progress-line i,.v37-progress-big i{display:block;height:100%;background:linear-gradient(90deg,var(--v37-teal),#33b9ae);border-radius:inherit}.v37-site-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}.v37-site-meta span{display:flex;align-items:center;gap:5px}.v37-site-meta .v37-icon{width:18px;height:18px}.v37-site-meta b{color:var(--v37-navy)}
.v37-site-detail{padding-bottom:110px}.v37-site-hero{height:260px;position:relative;background:#173a4a;overflow:hidden}.v37-site-hero>img,.v37-site-hero>.v37-site-fallback{width:100%;height:100%;object-fit:cover}.v37-site-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,20,34,.8),rgba(3,20,34,.1))}.v37-site-hero-overlay{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:14px;color:#fff}.v37-site-hero-overlay h1{margin:0;font-size:34px}.v37-site-hero-overlay p{margin:2px 0;color:#fff}.v37-back{align-self:start;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.18);color:#fff;border-radius:50%;width:42px;height:42px;font-size:28px}.v37-site-tabs{display:flex;overflow:auto;background:var(--surface);border-bottom:1px solid var(--v37-line);padding:0 12px;scrollbar-width:none}.v37-site-tabs button{flex:0 0 auto;border:0;background:none;padding:16px 14px;font-weight:800;color:var(--muted);border-bottom:3px solid transparent}.v37-site-tabs button.active{color:var(--v37-teal);border-color:var(--v37-teal)}.v37-site-content{max-width:1120px;margin:16px auto;padding:0 18px}.v37-overview-grid{display:grid;gap:14px}.v37-progress-card>div:first-child{display:flex;justify-content:space-between}.v37-progress-card strong{font-size:28px;color:var(--v37-teal)}.v37-progress-card>button{border:0;background:none;color:var(--v37-teal);font-weight:800;padding:12px 0 0}.v37-fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v37-fin-grid>div{background:#f7fafb;border:1px solid #e6eeee;border-radius:14px;padding:12px}.v37-fin-grid small{display:block;color:var(--muted);margin-bottom:4px}.v37-fin-grid b{color:var(--v37-navy);font-size:18px}
.v37-progress-hero{display:flex;align-items:center;gap:18px;margin-bottom:16px}.v37-ring{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--v37-teal) calc(var(--p,65)*1%),#e7eeee 0);border:12px solid #eef5f4}.v37-ring strong{font-size:28px;color:var(--v37-navy)}.v37-stage-list,.v37-menu-list,.v37-record-list{display:grid;gap:8px}.v37-stage-list>button,.v37-menu-list>button,.v37-record-list>button{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--v37-line);background:none;padding:13px 4px;color:var(--text)}.v37-stage-list small,.v37-record-list span{color:var(--muted)}.v37-stage-list b{grid-column:2;grid-row:1/3;color:var(--v37-teal)}.v37-inline-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.v37-menu-list>button{grid-template-columns:auto 1fr auto}.v37-menu-list span:nth-child(2){display:flex;flex-direction:column}.v37-menu-list small{color:var(--muted)}
.v37-payment-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.v37-payment-actions button{border:1px solid var(--v37-line);background:#f8fbfb;border-radius:14px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.v37-task-list{display:grid;gap:8px}.v37-task-list label{display:flex;gap:12px;border:1px solid var(--v37-line);border-radius:14px;padding:13px}.v37-task-list span{display:flex;flex-direction:column}.v37-task-list small{color:var(--muted)}.v37-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v37-photo-grid button,.v37-photo-grid>div{display:flex;flex-direction:column;text-align:left;border:0;background:none}.v37-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.v37-photo-grid small{color:var(--muted)}
.v37-report-controls{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-bottom:10px}.v37-report-controls select,.v37-report-controls button{border:1px solid var(--v37-line);background:var(--surface);border-radius:16px;padding:14px;color:var(--text);font-weight:700}.v37-report-summary{background:var(--surface);border:1px solid var(--v37-line);border-radius:22px;padding:18px;margin-top:16px}.v37-report-list{display:grid;gap:10px}.v37-report-list>button{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--v37-line);border-radius:18px;padding:16px}.v37-report-list>button span:nth-child(2){display:flex;flex-direction:column}.v37-report-list small{color:var(--muted)}
.v37-more-list{display:grid;gap:12px}.v37-more-row{display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center;text-align:left;border:1px solid var(--v37-line);background:var(--surface);border-radius:20px;padding:14px 16px}.v37-more-icon{width:50px;height:50px;border-radius:14px;background:#eaf6f5;display:grid;place-items:center;color:var(--v37-teal);font-size:24px}.v37-more-row span:nth-child(2){display:flex;flex-direction:column}.v37-more-row small{color:var(--muted);margin-top:3px}
.v37-att-top{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:center}.v37-att-top select,.v37-att-top .date-picker-v34{min-width:0}.v37-copy{margin:16px 0}.v37-att-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:16px}.v37-named-list{display:grid}.v37-named-row{display:grid;grid-template-columns:1fr 120px 90px;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--v37-line)}.v37-named-row label{display:flex;gap:12px;align-items:center}.v37-named-row label span{display:flex;flex-direction:column}.v37-named-row small{color:var(--muted)}.v37-named-row select,.v37-count-card select,.v37-count-card input{border:1px solid var(--v37-line);background:var(--surface);color:var(--text);border-radius:12px;padding:10px}.v37-count-list{display:grid;gap:10px}.v37-count-card{border:1px solid var(--v37-line);border-radius:16px;padding:14px}.v37-count-card>label{display:grid;gap:6px}.v37-count-title{display:flex;justify-content:space-between;margin-bottom:10px}.v37-count-title button{border:0;background:none;color:#c43a3a}.v37-count-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.v37-count-fields label{display:grid;gap:6px}.v37-att-summary{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px;padding:14px;border-radius:14px;background:#e9f6f4}.v37-save-att{margin-top:16px}
.v37-weight-list{display:grid;gap:8px}.v37-weight-list label{display:grid;grid-template-columns:1fr 100px auto;align-items:center;gap:8px}.v37-weight-list input{padding:10px;border:1px solid var(--v37-line);border-radius:10px}.v37-client-preview header{display:flex;gap:14px;align-items:center;border-bottom:2px solid var(--v37-line);padding-bottom:14px}.v37-client-preview header img{width:70px}.v37-client-preview header div{display:flex;flex-direction:column}.v37-client-preview section{padding:16px 0;border-bottom:1px solid var(--v37-line)}.v37-client-stage{display:flex;justify-content:space-between;padding:8px 0}.v37-about{text-align:center}.v37-about img{width:110px}
@media(max-width:760px){.v37-page{padding:14px 12px 100px}.v37-page h1{font-size:34px}.v37-summary-grid{grid-template-columns:repeat(2,1fr)}.v37-quick-grid{grid-template-columns:repeat(4,1fr);gap:8px}.v37-quick-grid button{padding:12px 5px;font-size:12px}.v37-site-card{grid-template-columns:84px 1fr auto;padding:10px}.v37-site-thumb{width:84px;height:84px}.v37-site-title strong{font-size:18px}.v37-site-meta{gap:10px;font-size:11px}.v37-site-meta span:last-child{display:none}.v37-site-hero{height:220px}.v37-site-hero-overlay h1{font-size:28px}.v37-site-content{padding:0 12px}.v37-fin-grid{grid-template-columns:repeat(2,1fr)}.v37-payment-actions{grid-template-columns:repeat(2,1fr)}.v37-photo-grid{grid-template-columns:repeat(2,1fr)}.v37-att-grid{grid-template-columns:1fr}.v37-att-top{grid-template-columns:1fr 1fr}.v37-att-top .btn{grid-column:1/-1;width:max-content}.v37-named-row{grid-template-columns:1fr 105px 72px}.v37-report-controls{grid-template-columns:.9fr 1.1fr}.v37-home-head{align-items:center}.v37-date-pill{font-size:12px;padding:9px}.v37-site-title .v37-status{display:none}}
@media(prefers-color-scheme:dark){:root{--v37-bg:#0b1219;--v37-card:#121c25;--v37-line:#283642;--v37-navy:#eef8ff;--v37-muted:#9eacb8}.v37-fin-grid>div,.v37-payment-actions button{background:#111b24}}

/* V37.0.1 correction 1 — clean header + working-day welcome */
.app-header.v36125-premium-header{background:var(--surface)!important;color:var(--v37-navy)!important;border-color:var(--v37-line)!important;box-shadow:0 1px 0 rgba(15,43,65,.06)!important}
.v36125-premium-header .brand-copy strong,.v36125-premium-header .v36123-account{color:var(--v37-navy)!important}
.v36125-premium-header .brand-copy span,.v36125-premium-header .v36125-tagline{color:var(--v37-muted)!important;border-color:var(--v37-line)!important}
.v36125-premium-header .icon-btn,.v36125-premium-header .v36123-avatar{background:#f4f8f8!important;color:var(--v37-teal)!important;border-color:var(--v37-line)!important}
.app-header.v37-home-hidden{display:none!important}
.v37-home{padding-top:24px}
.v37-working-day{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;margin:0 0 22px}
.v37-working-copy .v37-eyebrow{font-size:13px;letter-spacing:.18em;margin-bottom:12px}
.v37-working-copy h1{font-size:clamp(38px,7.2vw,64px);line-height:1.02;letter-spacing:-2.2px;margin:0 0 18px;color:var(--v37-navy)}
.v37-workday-date{position:relative;display:inline-block;color:var(--v37-muted);font-size:clamp(18px,3.2vw,28px);line-height:1.45;cursor:pointer}
.v37-workday-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.v37-working-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.v37-live-time{display:flex;align-items:center;gap:10px;border:1px solid var(--v37-line);background:var(--surface);border-radius:22px;padding:13px 18px;white-space:nowrap;box-shadow:0 5px 18px rgba(8,44,61,.04)}
.v37-live-time .v37-day-icon{font-size:28px;line-height:1;color:#f3ad29}
.v37-live-time b{font-size:22px;color:var(--v37-teal);letter-spacing:-.4px}
.v37-home-bell{position:relative;width:58px;height:58px;border-radius:18px;border:1px solid var(--v37-line);background:var(--surface);display:grid;place-items:center;color:var(--v37-teal);box-shadow:0 5px 18px rgba(8,44,61,.04)}
.v37-home-bell .v37-icon{width:30px;height:30px}
.v37-home-bell .notify-dot{position:absolute;right:-3px;top:-5px}
@media(max-width:650px){
 .v37-home{padding-top:20px}
 .v37-working-day{gap:12px;margin-bottom:18px}
 .v37-working-copy .v37-eyebrow{font-size:11px;margin-bottom:9px}
 .v37-working-copy h1{font-size:clamp(34px,11vw,48px);margin-bottom:13px;letter-spacing:-1.8px}
 .v37-workday-date{font-size:17px;max-width:240px}
 .v37-live-time{padding:10px 12px;border-radius:18px;gap:7px}
 .v37-live-time .v37-day-icon{font-size:23px}
 .v37-live-time b{font-size:18px}
 .v37-home-bell{width:50px;height:50px;border-radius:16px}
}
@media(max-width:410px){
 .v37-working-day{grid-template-columns:minmax(0,1fr) 118px}
 .v37-live-time{width:118px;justify-content:center;padding:9px 8px}
 .v37-live-time b{font-size:16px}
}

/* V37.0.2 Home site selector */
.v37-home-site-picker{display:grid;gap:10px}
.v37-home-site-choice{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line,#dbe4e8);border-radius:16px;background:var(--card,#fff);text-align:left;color:inherit}
.v37-home-site-choice.selected{border-color:#14988f;background:#eefaf8}
.v37-home-site-choice .v37-mini-thumb{width:52px;height:52px;border-radius:13px;overflow:hidden;background:#e7f5f3}
.v37-home-site-choice .v37-mini-thumb img{width:100%;height:100%;object-fit:cover}
.v37-home-site-choice b{display:block;font-size:15px}
.v37-home-site-choice small{display:block;margin-top:3px;color:#768496}
.v37-home-site-choice>span{font-size:20px;color:#14988f;font-weight:800}

/* V37.1.0 consolidated approved UI corrections */
.v371-summary-readonly>div{background:var(--surface);border:1px solid var(--v37-line);border-radius:18px;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;min-width:0}.v371-summary-readonly>div strong{font-size:20px;color:var(--v37-navy)}.v371-summary-readonly>div small{grid-column:1/-1;color:var(--muted)}
.v371-collapse{margin-top:10px;border:1px solid var(--v37-line);border-radius:18px;background:var(--surface);overflow:hidden}.v371-collapse-head{width:100%;border:0;background:transparent;padding:16px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:inherit}.v371-collapse-head span{display:flex;align-items:center;gap:10px}.v371-collapse-head small{color:var(--muted);font-weight:700}.v371-collapse-body{border-top:1px solid var(--v37-line);padding:10px 14px 14px}
.v371-site-card{padding:9px 11px!important;grid-template-columns:72px 1fr auto!important;gap:11px!important}.v371-site-card .v37-site-thumb{width:72px!important;height:68px!important}.v371-site-card .v37-site-title strong{font-size:17px!important}.v371-site-card .v37-progress-line{margin:5px 0!important}.v371-site-card .v37-site-meta{gap:12px!important}
.v371-site-menu{display:grid;gap:9px}.v371-site-menu>button,.v371-module-actions>button{width:100%;border:1px solid var(--v37-line);background:var(--surface);border-radius:16px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;color:inherit}.v371-site-menu .v37-icon,.v371-module-actions .v37-icon{width:28px;height:28px;color:var(--v37-teal)}.v371-site-menu span b,.v371-module-actions span b{display:block;color:var(--v37-navy)}.v371-site-menu span small,.v371-module-actions span small{display:block;margin-top:3px;color:var(--muted)}.v371-site-menu>button>strong,.v371-module-actions>button>strong{font-size:22px;color:var(--muted)}
.v371-back-menu{border:0;background:none;color:var(--v37-teal);font-weight:850;padding:3px 0 12px}.v371-progress-stage{margin-top:12px;padding:11px 12px;border-radius:13px;background:#f5faf9}.v371-progress-stage span,.v371-progress-stage small{display:block;color:var(--muted)}.v371-progress-stage b{display:block;margin:3px 0;color:var(--v37-navy)}
.v371-module-actions{display:grid;gap:10px}.v371-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v371-recent-head{margin-top:18px}.v371-in{color:#158568!important}.v371-out{color:#d66754!important}
.v371-site-form .project-setup-v3612{border:1px solid var(--v37-line);border-radius:16px;padding:12px;background:#fbfdfd}.v371-site-form .project-live-preview-v3612 .project-avatar-v34{animation:v371SiteFloat 2.8s ease-in-out infinite}.v371-client-card{margin:12px 0;padding:14px;border:1px solid var(--v37-line);border-radius:16px;background:#fbfdfd}.v371-client-card h3{margin:0 0 10px}.v371-client-card details{margin:8px 0}.v371-client-card summary{cursor:pointer;font-weight:750;color:var(--v37-teal)}.v371-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}@keyframes v371SiteFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:760px){.v371-site-card{grid-template-columns:64px 1fr auto!important}.v371-site-card .v37-site-thumb{width:64px!important;height:62px!important}.v371-client-grid{grid-template-columns:1fr}.v371-summary-readonly>div{padding:13px}.v371-site-menu>button,.v371-module-actions>button{padding:13px 12px}.v37-site-hero{height:190px!important}}

/* V37.1.1 canonical payment UI */
.v3711-payments-page{max-width:1120px;margin:0 auto}.v3711-pay-site{width:100%;display:grid;grid-template-columns:50px 1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:12px 16px;margin:8px 0 16px;text-align:left}.v3711-pay-site small{display:block;color:var(--muted);margin-top:3px}.v3711-payment-modal .modal{max-width:900px}.v3711-money-form,.v3711-labour-pay{display:grid;gap:16px}.v3711-modal-lead{display:flex;gap:12px;align-items:center}.v3711-modal-lead>span{width:48px;height:48px;border-radius:16px;background:#e9f8f5;display:grid;place-items:center}.v3711-modal-lead h3{margin:0;font-size:22px}.v3711-modal-lead p{margin:3px 0 0;color:var(--muted)}.v3711-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v3711-money-form label,.v3711-labour-pay label{font-weight:700;display:grid;gap:7px}.v3711-money-form label small,.v3711-labour-pay label small{font-weight:500;color:var(--muted)}.v3711-money-form input,.v3711-money-form select,.v3711-money-form textarea,.v3711-labour-pay input,.v3711-labour-pay select,.v3711-labour-pay textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:13px;padding:12px 14px;font:inherit}.v3711-readonly{min-height:48px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);display:flex;align-items:center;gap:9px;padding:10px 12px}.v3711-readonly svg{width:20px}.v3711-client-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:14px;align-items:end}.v3711-client-card{background:#eaf8f5;border-radius:16px;padding:14px;display:grid;gap:3px;color:var(--text)}.v3711-client-card b{color:var(--teal,#078d84)}.v3711-money-input{display:grid;grid-template-columns:48px 1fr;border:1px solid #64c7bd;border-radius:13px;overflow:hidden}.v3711-money-input span{display:grid;place-items:center;background:#e9f8f5;color:#078d84;font-size:24px}.v3711-money-input input{border:0!important;border-radius:0!important}.v3711-update-note{background:var(--surface-2);border-radius:15px;padding:13px 15px;display:grid;gap:4px}.v3711-update-note span{color:var(--muted)}.v3711-pay-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:4px;border-radius:14px}.v3711-pay-tabs button{border:0;background:transparent;padding:11px;border-radius:11px;font-weight:800;color:var(--text)}.v3711-pay-tabs button.active{background:#0a8f87;color:#fff}.v3711-labour-list{display:grid;gap:10px;max-height:340px;overflow:auto}.v3711-labour-card{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:start;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:12px}.v3711-labour-card.selected{border-color:#0a8f87;background:#eefaf8}.v3711-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dff5ef;color:#087c73;font-weight:900}.v3711-labour-card small{display:block;color:var(--muted);margin-top:2px}.v3711-labour-card em{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px;margin-top:10px;font-style:normal}.v3711-labour-card em i{font-style:normal;color:var(--muted);font-size:11px}.v3711-labour-card em strong{font-size:13px}.v3711-labour-card .warn{color:#d64a3a}.v3711-pay-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:700px){.v3711-two,.v3711-client-row,.v3711-pay-fields{grid-template-columns:1fr}.v3711-payment-modal .modal{max-width:96vw}.v3711-labour-card em{grid-template-columns:1fr 1fr}.v3711-pay-site{grid-template-columns:44px 1fr auto auto}}

/* V37.1.2 — VHOMES UNIFORM UI NORMALIZATION PASS */
:root{
  --primary:#078b83;
  --primary2:#eaf6f5;
  --bg:#f6f9f9;
  --surface2:#f4f8f8;
  --line:#dce7e7;
  --radius:18px;
  --shadow:0 6px 22px rgba(8,44,61,.055);
}

/* Global typography + section rhythm */
.page-head h1,.v37-page h1{color:var(--v37-navy,#0b2342);letter-spacing:-1px}
.page-head p,.muted{color:var(--v37-muted,#708090)}
.section-title,.v37-section-head h2{color:var(--v37-navy,#0b2342);font-weight:850;letter-spacing:-.25px}
.card,.v37-card,.list-row,.project-card,.v37-report-list>button,.v37-more-row{border-color:var(--v37-line,#dce7e7);box-shadow:var(--shadow);border-radius:18px}

/* Buttons — one clear family */
.btn{min-height:46px;border-radius:14px;font-weight:800;border-color:var(--v37-line,#dce7e7);box-shadow:none}
.btn.primary,.project-save-v3612{background:var(--v37-teal,#078b83)!important;border-color:var(--v37-teal,#078b83)!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,139,131,.16)!important}
.btn.primary:hover,.project-save-v3612:hover{background:#067a73!important}
.btn.danger{background:#fff3f2;color:#c84b3f;border-color:#f3d1cd}
.link-btn{color:var(--v37-teal,#078b83)}

/* Forms — same labels, controls and focus state everywhere */
.field{gap:7px}
.field label,.modern-form-grid-v34 label,.v3711-money-form label,.v3711-labour-pay label{
  font-size:13px!important;
  line-height:1.2;
  font-weight:800!important;
  color:var(--v37-navy,#0b2342)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.field input,.field select,.field textarea,
.modern-form-grid-v34 input,.modern-form-grid-v34 select,.modern-form-grid-v34 textarea,
.payee-search-wrap-v34 input,.payee-add-v34 input,
.v3711-money-form input,.v3711-money-form select,.v3711-money-form textarea,
.v3711-labour-pay input,.v3711-labour-pay select,.v3711-labour-pay textarea{
  min-height:52px!important;
  border:1px solid var(--v37-line,#dce7e7)!important;
  border-radius:14px!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  padding:12px 14px!important;
  box-shadow:none!important;
}
.field textarea,.modern-form-grid-v34 textarea,.v3711-money-form textarea,.v3711-labour-pay textarea{min-height:92px!important}
.field input:focus,.field select:focus,.field textarea:focus,
.modern-form-grid-v34 input:focus,.modern-form-grid-v34 select:focus,.modern-form-grid-v34 textarea:focus,
.v3711-money-form input:focus,.v3711-money-form select:focus,.v3711-money-form textarea:focus,
.v3711-labour-pay input:focus,.v3711-labour-pay select:focus,.v3711-labour-pay textarea:focus{
  border-color:#5dbdb5!important;
  box-shadow:0 0 0 3px rgba(7,139,131,.10)!important;
  outline:none!important;
}
.input-hint-v34{font-size:12px;color:var(--v37-muted,#708090)}

/* Segmented controls */
.segmented,.v3711-pay-tabs{background:#eef5f5!important;border-radius:14px!important;padding:4px!important}
.segmented button.active,.v3711-pay-tabs button.active{background:var(--v37-teal,#078b83)!important;color:#fff!important;box-shadow:none!important}

/* Modals — use Money Received as the master visual reference */
.modal-layer{background:rgba(17,31,43,.62)!important;backdrop-filter:blur(4px)}
.modal{border:1px solid var(--v37-line,#dce7e7)!important;border-radius:24px!important;box-shadow:0 30px 90px rgba(4,26,37,.22)!important;background:var(--surface)!important}
.modal-head{padding:18px 20px!important;background:var(--surface)!important;border-bottom:1px solid var(--v37-line,#dce7e7)!important;backdrop-filter:none!important}
.modal-head h2{font-size:24px!important;letter-spacing:-.4px;color:var(--v37-navy,#0b2342)!important}
.modal-close{width:44px!important;height:44px!important;border-radius:14px!important;background:#f1f6f6!important;color:var(--v37-navy,#0b2342)!important}
.modal-body{padding:20px!important;background:var(--surface)!important}
.modal-actions,.modal-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom))!important;background:var(--surface)!important;border-top:1px solid var(--v37-line,#dce7e7)!important;gap:10px!important}
.modal-actions .btn,.modal-foot .btn{min-height:48px!important;border-radius:14px!important}

/* Old financial form cards should no longer look like a separate blue system */
.modern-input-card-v34,.v36117-compact-modal .modern-input-card-v34{
  background:var(--surface)!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.option1-title-v34{color:var(--v37-navy,#0b2342)!important}
.expense-status-note-v34{background:#eef8f7!important;border-color:var(--v37-line,#dce7e7)!important;color:var(--v37-muted,#708090)!important}

/* Primary page chrome */
.back-btn{background:#edf7f6;color:var(--v37-teal,#078b83);border-radius:14px}
.status-pill,.v37-status{background:#e8f6f3;color:var(--v37-teal,#078b83)}
.progress-bar,.project-progress i{background:linear-gradient(90deg,var(--v37-teal,#078b83),#35b7ad)}

/* Bottom navigation: fixed four-tab geometry and the same active treatment */
.bottom-nav{grid-template-columns:repeat(4,1fr)!important;background:color-mix(in srgb,var(--surface) 97%,transparent)!important;border-color:var(--v37-line,#dce7e7)!important}
.nav-btn{color:#78879b!important}
.nav-btn.active{color:var(--v37-teal,#078b83)!important;background:#eaf6f5!important}
.nav-btn b{font-weight:800}

/* Payment page should visually match the approved simplified screen */
.v3711-payments-page .page-head .v37-eyebrow{display:none}
.v3711-pay-site{border-color:var(--v37-line,#dce7e7)!important;box-shadow:var(--shadow)}
.v371-module-actions>button,.v371-site-menu>button{
  border-color:var(--v37-line,#dce7e7)!important;
  box-shadow:0 4px 14px rgba(8,44,61,.035);
}
.v3711-client-card,.v3711-update-note{background:#eef8f7!important;border:1px solid var(--v37-line,#dce7e7)}
.v3711-money-input{border-color:#5dbdb5!important}
.v3711-money-input span{background:#e9f8f5!important;color:var(--v37-teal,#078b83)!important}

/* Desktop should preserve the same visual scale instead of feeling like a separate desktop theme */
@media(min-width:900px){
  .main-content{max-width:1080px;padding-left:24px;padding-right:24px}
  .modal{width:min(780px,calc(100vw - 48px))}
  .modal.full{width:min(1040px,calc(100vw - 48px))}
  .field input,.field select,.field textarea,.modern-form-grid-v34 input,.modern-form-grid-v34 select,.v3711-money-form input,.v3711-money-form select,.v3711-labour-pay input,.v3711-labour-pay select{font-size:15px}
}

/* Mobile normalization */
@media(max-width:650px){
  .main-content{padding-left:16px!important;padding-right:16px!important}
  .page-head h1{font-size:30px}
  .card,.v37-card{padding:16px}
  .modal-layer{padding:max(8px,env(safe-area-inset-top)) 0 0!important;align-items:flex-end!important}
  .modal{border-radius:24px 24px 0 0!important;width:100%!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important}
  .modal-head{padding:17px 16px!important}
  .modal-body{padding:16px!important}
  .modal-actions,.modal-foot{padding-left:16px!important;padding-right:16px!important}
  .modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .modal-actions .btn{width:100%!important}
  .field input,.field select,.field textarea,.modern-form-grid-v34 input,.modern-form-grid-v34 select,.modern-form-grid-v34 textarea,.v3711-money-form input,.v3711-money-form select,.v3711-money-form textarea,.v3711-labour-pay input,.v3711-labour-pay select,.v3711-labour-pay textarea{font-size:16px!important}
}

@media(prefers-color-scheme:dark){
  :root{--primary:#36c4b8;--primary2:#113833;--bg:#0b1219;--surface2:#13212a;--line:#293945}
  .modal-close,.back-btn{background:#13252d!important}
  .modern-input-card-v34,.v3711-client-card,.v3711-update-note{background:#12242a!important}
}


/* V37.1.3 — HEADER + SITE OVERVIEW + INLINE PROJECT ACTIVITY */
.app-header{display:flex!important}
.app-header .brand-wrap{min-width:0}.app-header .header-actions{gap:8px}.app-header .sync-chip{min-width:auto}
.v371-site-header{max-width:1120px;margin:18px auto 0;padding:16px 18px;display:grid;grid-template-columns:44px 74px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--v37-line,#dce7e7);border-radius:20px;box-shadow:var(--shadow)}
.v371-site-back{width:42px;height:42px;border:1px solid var(--v37-line,#dce7e7);background:#edf7f6;color:var(--v37-teal,#078b83);border-radius:14px;font-size:28px;line-height:1}
.v371-site-header-thumb{width:74px;height:64px;border-radius:16px;overflow:hidden;background:#edf7f6}.v371-site-header-thumb img,.v371-site-header-thumb .v37-site-fallback{width:100%;height:100%;object-fit:cover;display:grid;place-items:center}
.v371-site-header-copy{min-width:0}.v371-site-header-copy>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.v371-site-header-copy h1{margin:0;color:var(--v37-navy,#0b2342);font-size:26px;letter-spacing:-.5px}.v371-site-header-copy p,.v371-site-header-copy small{margin:2px 0 0;color:var(--v37-muted,#708090)}
.v371-site-edit{min-height:42px;padding:0 15px;border:1px solid #a7d9d4;background:#eef9f7;color:var(--v37-teal,#078b83);border-radius:13px;font-weight:850}.v37-site-content{margin-top:14px}
.v371-project-activity .v37-section-head{align-items:center}.v371-project-activity .v37-section-head>div{display:grid;gap:2px}.v371-project-activity .v37-section-head span{font-size:12px;color:var(--v37-muted,#708090)}.v371-project-activity .v37-section-head button{border:0;background:none;color:var(--v37-teal,#078b83);font-weight:850}
.v371-activity-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin:14px 0}.v371-activity-tools input{min-height:46px;border:1px solid var(--v37-line,#dce7e7);border-radius:13px;padding:0 14px;background:var(--surface);color:var(--text)}
.v371-activity-filters{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.v371-activity-filters button{border:1px solid var(--v37-line,#dce7e7);background:#f4f8f8;color:var(--v37-navy,#0b2342);border-radius:999px;padding:9px 12px;font-weight:800;white-space:nowrap}.v371-activity-filters button.active{background:var(--v37-teal,#078b83);border-color:var(--v37-teal,#078b83);color:#fff}
.v371-activity-list{display:grid}.v371-activity-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--v37-line,#dce7e7)}.v371-activity-row:first-child{border-top:0}.v371-activity-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf6f5;color:var(--v37-teal,#078b83);font-size:13px}.v371-activity-row b{display:block;color:var(--v37-navy,#0b2342)}.v371-activity-row small{display:block;color:var(--v37-muted,#708090);margin-top:2px}.v371-activity-row time{font-size:11px;color:var(--v37-muted,#708090);white-space:nowrap}
@media(max-width:700px){.v371-site-header{margin:12px 12px 0;padding:13px;grid-template-columns:40px 58px 1fr auto;gap:10px}.v371-site-header-thumb{width:58px;height:54px}.v371-site-header-copy h1{font-size:20px}.v371-site-edit{padding:0 11px}.v371-activity-tools{grid-template-columns:1fr}.v371-activity-row{grid-template-columns:32px 1fr}.v371-activity-row time{grid-column:2;font-size:10px}}

/* ==========================================================================
   V37.2.0 — UI FOUNDATION TEST
   One shared visual system for Light + Dark.
   Scope: shared tokens/chrome + Home + Sites only.
   ========================================================================== */
:root,
:root[data-theme="light"]{
  --ui-bg:#f4f8f9;
  --ui-surface:#ffffff;
  --ui-surface-2:#f0f6f6;
  --ui-surface-3:#e7f3f2;
  --ui-text:#10233f;
  --ui-muted:#728196;
  --ui-border:#d8e4e6;
  --ui-accent:#0a968d;
  --ui-accent-strong:#07847c;
  --ui-accent-soft:#e6f5f3;
  --ui-success:#16966f;
  --ui-warning:#e9a52a;
  --ui-danger:#d9554c;
  --ui-header:#ffffff;
  --ui-nav:#ffffff;
  --ui-shadow:0 8px 28px rgba(16,47,64,.07);
  --ui-shadow-soft:0 4px 16px rgba(16,47,64,.045);
  --ui-radius:18px;
  --ui-radius-lg:22px;

  --bg:var(--ui-bg);
  --surface:var(--ui-surface);
  --surface2:var(--ui-surface-2);
  --surface-2:var(--ui-surface-2);
  --text:var(--ui-text);
  --muted:var(--ui-muted);
  --line:var(--ui-border);
  --primary:var(--ui-accent);
  --primary2:var(--ui-accent-soft);
  --green:var(--ui-success);
  --gold:var(--ui-warning);
  --red:var(--ui-danger);
  --shadow:var(--ui-shadow-soft);
  --radius:var(--ui-radius);

  --v37-teal:var(--ui-accent);
  --v37-teal-2:#22b6ab;
  --v37-navy:var(--ui-text);
  --v37-soft:var(--ui-accent-soft);
  --v37-bg:var(--ui-bg);
  --v37-card:var(--ui-surface);
  --v37-line:var(--ui-border);
  --v37-muted:var(--ui-muted);
}

:root[data-theme="dark"]{
  --ui-bg:#08131d;
  --ui-surface:#102334;
  --ui-surface-2:#142a3d;
  --ui-surface-3:#183246;
  --ui-text:#f2f7fa;
  --ui-muted:#a8b8c8;
  --ui-border:#294155;
  --ui-accent:#2bc0b4;
  --ui-accent-strong:#39cdc1;
  --ui-accent-soft:#123a3a;
  --ui-success:#48c99c;
  --ui-warning:#f2b54a;
  --ui-danger:#ff786f;
  --ui-header:#0d1d2b;
  --ui-nav:#102334;
  --ui-shadow:0 12px 30px rgba(0,0,0,.24);
  --ui-shadow-soft:0 6px 18px rgba(0,0,0,.16);
}

@media(prefers-color-scheme:dark){
  :root:not([data-theme]){
    --ui-bg:#08131d;
    --ui-surface:#102334;
    --ui-surface-2:#142a3d;
    --ui-surface-3:#183246;
    --ui-text:#f2f7fa;
    --ui-muted:#a8b8c8;
    --ui-border:#294155;
    --ui-accent:#2bc0b4;
    --ui-accent-strong:#39cdc1;
    --ui-accent-soft:#123a3a;
    --ui-success:#48c99c;
    --ui-warning:#f2b54a;
    --ui-danger:#ff786f;
    --ui-header:#0d1d2b;
    --ui-nav:#102334;
    --ui-shadow:0 12px 30px rgba(0,0,0,.24);
    --ui-shadow-soft:0 6px 18px rgba(0,0,0,.16);
  }
}

/* Shared chrome */
html,body,.main-content{background:var(--ui-bg)!important;color:var(--ui-text)!important}
.app-header.v36125-premium-header{
  background:color-mix(in srgb,var(--ui-header) 97%,transparent)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
  box-shadow:0 1px 0 rgba(12,37,51,.05)!important;
}
.v36125-premium-header .brand-copy strong,
.v36125-premium-header .v36123-account{color:var(--ui-text)!important}
.v36125-premium-header .brand-copy span,
.v36125-premium-header .v36125-tagline{color:var(--ui-muted)!important;border-color:var(--ui-border)!important}
.v36125-premium-header .icon-btn,
.v36125-premium-header .v36123-avatar{
  background:var(--ui-surface-2)!important;
  color:var(--ui-accent)!important;
  border-color:var(--ui-border)!important;
}
.v36125-premium-header .sync-chip.synced .sync-dot{background:var(--ui-success)!important}
.beta-badge{display:none!important}

.bottom-nav{
  grid-template-columns:repeat(4,1fr)!important;
  background:color-mix(in srgb,var(--ui-nav) 97%,transparent)!important;
  border-color:var(--ui-border)!important;
  box-shadow:0 -6px 22px rgba(8,35,48,.035);
}
.nav-btn{color:var(--ui-muted)!important;background:transparent!important}
.nav-btn.active{color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important}
.nav-btn b{font-weight:800}

/* Foundation components */
.card,.v37-card,.list-row,.project-card,.v371-collapse{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.btn{border-color:var(--ui-border)!important;background:var(--ui-surface)!important;color:var(--ui-text)!important}
.btn.primary{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important}
.btn.primary:hover{background:var(--ui-accent-strong)!important}

/* HOME — approved layout, same geometry in light and dark */
.v37-home{color:var(--ui-text)!important}
.v37-working-copy .v37-eyebrow{color:var(--ui-accent)!important}
.v37-working-copy h1{color:var(--ui-text)!important}
.v37-workday-date{color:var(--ui-muted)!important}
.v37-live-time,
.v37-home-bell{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v37-live-time b,.v37-home-bell{color:var(--ui-accent)!important}
.v37-active-site-card{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  color:var(--ui-text)!important;
}
.v37-active-site-card strong{color:var(--ui-text)!important}
.v37-active-site-card small{color:var(--ui-muted)!important}
.v37-active-site-card span{color:var(--ui-accent)!important}
.v37-mini-thumb,.v37-site-thumb{background:var(--ui-accent-soft)!important}
.v37-site-fallback{color:var(--ui-accent)!important}
.v371-summary-readonly>div{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v371-summary-readonly>div strong{color:var(--ui-text)!important}
.v371-summary-readonly>div small{color:var(--ui-muted)!important}
.v37-quick-grid button{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v37-quick-grid button .v37-icon{color:var(--ui-accent)!important}
.v371-collapse{overflow:hidden}
.v371-collapse-head{color:var(--ui-text)!important;background:var(--ui-surface)!important}
.v371-collapse-head small{color:var(--ui-muted)!important}
.v371-collapse-body{border-color:var(--ui-border)!important;background:var(--ui-surface)!important}
.v37-compact-list>button{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v37-compact-list small,.v37-empty{color:var(--ui-muted)!important}

/* Home site chooser */
.v37-home-site-choice{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v37-home-site-choice.selected{background:var(--ui-accent-soft)!important;border-color:var(--ui-accent)!important}
.v37-home-site-choice small{color:var(--ui-muted)!important}
.v37-home-site-choice>span{color:var(--ui-accent)!important}

/* SITES — one compact site-card pattern */
.v37-page h1,.v37-title-row h1{color:var(--ui-text)!important}
.v37-title-row p,.v37-page p{color:var(--ui-muted)!important}
.v37-add-site{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important}
.v37-search{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow-soft)!important}
.v37-search input{color:var(--ui-text)!important}
.v37-search input::placeholder{color:var(--ui-muted)!important;opacity:.78}
.v37-segments{background:var(--ui-surface-2)!important}
.v37-segments button{color:var(--ui-muted)!important}
.v37-segments button.active{background:var(--ui-accent)!important;color:#fff!important;box-shadow:none!important}
.v37-site-card{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  color:var(--ui-text)!important;
}
.v37-site-title strong,.v37-site-meta b{color:var(--ui-text)!important}
.v37-site-main>small,.v37-site-meta,.v37-progress-line>span{color:var(--ui-muted)!important}
.v37-status{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}
.v37-progress-line>div{background:var(--ui-surface-3)!important}
.v37-progress-line i{background:linear-gradient(90deg,var(--ui-accent),#42c8bd)!important}
.v37-empty-card{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-muted)!important}

/* Keep mobile proportions compact — do not enlarge typography/cards in dark mode */
@media(max-width:760px){
  .v37-page{padding:16px 14px 98px!important}
  .v37-page h1{font-size:36px!important;line-height:1.05}
  .v37-title-row{align-items:flex-start!important}
  .v37-add-site{min-height:54px!important;border-radius:17px!important;padding:10px 16px!important}
  .v371-site-card{grid-template-columns:64px minmax(0,1fr) auto!important;gap:11px!important;padding:11px!important}
  .v371-site-card .v37-site-thumb{width:64px!important;height:64px!important}
  .v37-site-meta{font-size:11px!important}
}

/* ==========================================================================
   V37.2.1 — UI FOUNDATION CLEANUP
   Scope: Home + Sites + More chrome only. No workflow/data changes.
   ========================================================================== */

/* Always leave content clear of the fixed bottom navigation + device safe area. */
.v37-page,
.v37-site-content,
.v37-home{
  padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
}

/* Keep Home geometry compact and identical in light/dark on narrow phones. */
@media(max-width:410px){
  .v37-working-day{grid-template-columns:minmax(0,1fr) 106px!important;gap:10px!important}
  .v37-live-time{width:106px!important;padding:9px 6px!important}
  .v37-live-time .v37-day-icon{font-size:20px!important}
  .v37-live-time b{font-size:15px!important}
  .v37-workday-date{font-size:15px!important;line-height:1.42!important;max-width:210px!important}
  .v37-working-copy h1{font-size:42px!important;line-height:1!important;margin-bottom:11px!important}
  .v37-home-bell{width:48px!important;height:48px!important}
}

/* Slightly more compact quick entry while preserving 44px+ touch targets. */
@media(max-width:650px){
  .v37-quick-grid button{min-height:74px!important;padding:9px 5px!important;gap:6px!important}
  .v37-quick-grid button .v37-icon{width:28px!important;height:28px!important}
}

/* Compact Site menu rows so more canonical sections fit above the nav. */
@media(max-width:650px){
  .v37-menu-list{gap:8px!important}
  .v37-menu-list>button{padding:10px 4px!important;min-height:66px!important}
  .v37-menu-list>button b{font-size:16px!important}
  .v37-menu-list>button small{font-size:12px!important;line-height:1.3!important}
}

/* More icon tiles must be theme-aware, not near-white in dark mode. */
.v37-more-icon{
  background:color-mix(in srgb,var(--ui-accent) 10%,var(--ui-surface-2))!important;
  border:1px solid color-mix(in srgb,var(--ui-accent) 16%,var(--ui-border))!important;
  color:var(--ui-accent)!important;
}
:root[data-theme="dark"] .v37-more-icon{
  background:color-mix(in srgb,var(--ui-accent) 12%,var(--ui-surface-2))!important;
}

/* One restrained active-nav treatment in both themes. */
.nav-btn.active{
  background:color-mix(in srgb,var(--ui-accent) 12%,var(--ui-nav))!important;
  color:var(--ui-accent)!important;
}
.nav-btn.active:after{background:var(--ui-accent)!important;box-shadow:none!important}

/* Sync control keeps exactly the same structure in both themes. */
.v36125-premium-header .sync-chip{
  background:var(--ui-surface-2)!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:none!important;
}


/* V37.2.3 Reports stability + responsive summary */
.v3714-project-summary{margin-top:16px;padding:18px}
.v3714-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.v3714-summary-grid>div{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:14px;border:1px solid var(--v37-line);border-radius:16px;background:var(--surface-2,var(--surface));}
.v3714-summary-grid .v37-icon{width:42px;height:42px;border-radius:12px}
.v3714-summary-grid span{min-width:0;display:flex;flex-direction:column;gap:3px}
.v3714-summary-grid small{color:var(--muted);font-size:12px;line-height:1.2}
.v3714-summary-grid b{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.v37-report-period button{min-width:0}
.v37-report-period .active{background:var(--primary);color:#fff;border-color:var(--primary)}
.v37-report-controls button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
  .v3714-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .v3714-summary-grid>div{grid-template-columns:36px minmax(0,1fr);padding:12px;gap:8px}
  .v3714-summary-grid .v37-icon{width:36px;height:36px}
  .v3714-summary-grid b{font-size:16px}
  .v37-report-controls{grid-template-columns:.9fr 1.35fr}
  .v37-report-period{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v37-report-period button{padding:11px 6px;font-size:12px;white-space:normal;line-height:1.15}
}

/* ==========================================================================
   V37.2.4 — SITE OVERVIEW FOUNDATION
   Uses the same shared light/dark tokens as Home + Sites. UI only.
   ========================================================================== */
.v371-site-header{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v371-site-back,
.v371-site-edit{
  background:var(--ui-accent-soft)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 30%,var(--ui-border))!important;
  color:var(--ui-accent)!important;
}
.v371-site-header-thumb{background:var(--ui-accent-soft)!important}
.v371-site-header-copy h1{color:var(--ui-text)!important}
.v371-site-header-copy p,.v371-site-header-copy small{color:var(--ui-muted)!important}
.v37-site-content{color:var(--ui-text)!important}
.v371-back-menu{color:var(--ui-accent)!important}

.v3724-overview{gap:14px!important}
.v3724-overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.v3724-overview-metrics>div{
  min-width:0;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  align-items:center!important;
  padding:14px!important;
  background:var(--ui-surface)!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v3724-overview-metrics .v37-icon{grid-row:1/3;width:34px!important;height:34px!important;color:var(--ui-accent)!important}
.v3724-overview-metrics strong{font-size:22px!important;line-height:1.05;color:var(--ui-text)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3724-overview-metrics small{font-size:12px!important;color:var(--ui-muted)!important}

.v3724-progress-card,
.v3724-financial,
.v371-project-activity{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v3724-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v3724-progress-head>div{display:grid;gap:2px}
.v3724-progress-head small{color:var(--ui-muted)!important;font-weight:700}
.v3724-progress-head strong{font-size:30px;color:var(--ui-accent)!important;line-height:1}
.v3724-progress-head>button,
.v3724-financial .v37-section-head>button{
  border:0;background:none;color:var(--ui-accent)!important;font-weight:850;padding:4px 0
}
.v3724-progress-bar{margin:14px 0 12px;background:var(--ui-surface-3)!important;border-radius:999px;overflow:hidden;height:9px}
.v3724-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ui-accent),#42c8bd)!important;border-radius:999px}
.v3724-current-stage{
  width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;
  border:1px solid var(--ui-border)!important;background:var(--ui-surface-2)!important;color:var(--ui-text)!important;
  border-radius:16px;padding:14px
}
.v3724-current-stage span{display:grid;gap:3px}
.v3724-current-stage small,.v3724-current-stage em{color:var(--ui-muted)!important;font-style:normal;font-size:12px}
.v3724-current-stage b{color:var(--ui-text)!important;font-size:18px}
.v3724-current-stage>strong{color:var(--ui-accent)!important;font-size:24px}

.v3724-financial .v37-section-head h2,
.v371-project-activity h2{color:var(--ui-text)!important}
.v3724-financial .v37-section-head p{margin:2px 0 0;color:var(--ui-muted)!important;font-size:12px}
.v3724-financial .v37-fin-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}
.v3724-financial .v37-fin-grid>div{
  min-width:0;background:var(--ui-surface-2)!important;border:1px solid var(--ui-border)!important;border-radius:14px;padding:12px
}
.v3724-financial .v37-fin-grid small{color:var(--ui-muted)!important}
.v3724-financial .v37-fin-grid b{display:block;color:var(--ui-text)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.v371-project-activity .v37-section-head span,
.v371-activity-row small,
.v371-activity-row time{color:var(--ui-muted)!important}
.v371-project-activity .v37-section-head button{color:var(--ui-accent)!important}
.v371-activity-tools input{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v371-activity-tools input::placeholder{color:var(--ui-muted)!important}
.v371-activity-filters button{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v371-activity-filters button.active{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important}
.v371-activity-row{border-color:var(--ui-border)!important}
.v371-activity-row b{color:var(--ui-text)!important}
.v371-activity-dot{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}

@media(max-width:760px){
  .v371-site-header{margin:12px 14px 0!important;padding:12px!important;grid-template-columns:40px 56px minmax(0,1fr) auto!important}
  .v371-site-header-copy>div{gap:6px!important}
  .v371-site-header-copy h1{font-size:20px!important}
  .v371-site-header-copy p,.v371-site-header-copy small{font-size:12px!important}
  .v371-site-edit{min-height:40px!important;padding:0 10px!important}
  .v3724-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .v3724-overview-metrics>div{grid-template-columns:34px minmax(0,1fr)!important;padding:12px!important}
  .v3724-overview-metrics .v37-icon{width:30px!important;height:30px!important}
  .v3724-overview-metrics strong{font-size:19px!important}
  .v3724-financial .v37-fin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v3724-financial .v37-fin-grid b{font-size:15px!important}
}

/* ==========================================================================
   V37.2.5 — LABOUR / ATTENDANCE UI FOUNDATION
   Same geometry in light/dark. UI only; existing attendance data/actions kept.
   ========================================================================== */

/* Money values: keep full Indian-format amount on one line and shrink only when needed. */
.v3725-money-value{white-space:nowrap!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
@media(max-width:430px){
  .v371-summary-readonly .v3725-money-value{font-size:clamp(17px,5.7vw,25px)!important}
}
@media(max-width:375px){
  .v371-summary-readonly .v3725-money-value{font-size:clamp(15px,5.2vw,21px)!important}
}

/* Never allow a touch/focus state to wash Site-menu text out in dark mode. */
.v371-site-menu>button:focus,
.v371-site-menu>button:focus-visible,
.v371-site-menu>button:active{
  background:color-mix(in srgb,var(--ui-accent) 12%,var(--ui-surface))!important;
  border-color:color-mix(in srgb,var(--ui-accent) 48%,var(--ui-border))!important;
  color:var(--ui-text)!important;
  outline:none!important;
}
.v371-site-menu>button:focus span b,
.v371-site-menu>button:focus-visible span b,
.v371-site-menu>button:active span b{color:var(--ui-text)!important}
.v371-site-menu>button:focus span small,
.v371-site-menu>button:focus-visible span small,
.v371-site-menu>button:active span small{color:var(--ui-muted)!important}
:root[data-theme="dark"] .v371-site-menu>button:hover{
  background:color-mix(in srgb,var(--ui-accent) 9%,var(--ui-surface))!important;
  border-color:color-mix(in srgb,var(--ui-accent) 34%,var(--ui-border))!important;
}

.v3725-attendance{color:var(--ui-text)!important}
.v3725-attendance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.v3725-kicker{display:block;color:var(--ui-accent);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}
.v3725-attendance-head h1{margin:0;color:var(--ui-text)!important;font-size:36px;line-height:1.05}
.v3725-attendance-head p{margin:6px 0 0;color:var(--ui-muted)!important}
.v3725-back-site{min-height:44px;padding:10px 15px!important;border-radius:14px!important}

.v3725-att-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px!important;margin-bottom:12px}
.v3725-att-controls>label{display:grid;gap:7px;min-width:0}
.v3725-att-controls>label>span{font-size:12px;font-weight:850;color:var(--ui-muted)}
.v3725-att-controls select,
.v3725-att-controls input,
.v3725-att-controls .date-picker-v34{
  width:100%;min-width:0;background:var(--ui-surface-2)!important;color:var(--ui-text)!important;
  border:1px solid var(--ui-border)!important;border-radius:14px!important;min-height:50px!important;box-shadow:none!important
}

.v3725-copy{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;width:100%;margin:0 0 14px!important;min-height:52px;border-radius:15px!important;background:var(--ui-accent-soft)!important;color:var(--ui-text)!important;border-color:color-mix(in srgb,var(--ui-accent) 22%,var(--ui-border))!important}
.v3725-copy .v37-icon{width:23px;height:23px;color:var(--ui-accent)!important}
.v3725-copy span{font-weight:850}

.v3725-att-grid{grid-template-columns:1.15fr .85fr!important;gap:14px!important;align-items:start}
.v3725-att-card{padding:16px!important;background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow-soft)!important}
.v3725-att-card-head{margin-bottom:8px!important;align-items:center!important}
.v3725-att-card-head h2{color:var(--ui-text)!important;margin:0}
.v3725-att-card-head p{color:var(--ui-muted)!important;margin:4px 0 0}
.v3725-head-action{white-space:nowrap;min-height:42px;border-radius:13px!important;color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important;border-color:color-mix(in srgb,var(--ui-accent) 28%,var(--ui-border))!important}

.v3725-named-row{grid-template-columns:minmax(0,1fr) 126px auto!important;gap:10px!important;padding:13px 0!important;border-color:var(--ui-border)!important}
.v3725-worker-check{min-width:0}
.v3725-worker-check input{width:22px;height:22px;accent-color:var(--ui-accent);flex:0 0 auto}
.v3725-worker-check b{font-size:16px;color:var(--ui-text)!important}
.v3725-worker-check small{font-size:12px;color:var(--ui-muted)!important;white-space:normal}
.v3725-shift{display:grid!important;gap:5px!important}
.v3725-shift>span{font-size:10px;font-weight:850;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.06em}
.v3725-shift select,
.v3725-count-card select,
.v3725-count-card input{
  background:var(--ui-surface-2)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;
  border-radius:13px!important;min-height:46px!important;padding:9px 11px!important
}
.v3725-row-pay{color:var(--ui-text)!important;font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}

.v3725-count-list{gap:10px!important}
.v3725-count-card{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;padding:13px!important;border-radius:15px!important}
.v3725-count-card label{color:var(--ui-muted)!important;font-size:12px;font-weight:800}
.v3725-count-card label>span{display:block;margin-bottom:5px}
.v3725-count-title b{color:var(--ui-text)!important}
.v3725-count-title button{color:var(--ui-danger,#d55454)!important;font-weight:750}
.v3725-add-team{margin-top:10px;border-radius:13px!important;color:var(--ui-accent)!important}
.v3725-empty{padding:18px 8px!important;text-align:center!important;color:var(--ui-muted)!important}

.v3725-att-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.v3725-att-summary>div{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:15px;padding:12px;box-shadow:var(--ui-shadow-soft)!important}
.v3725-att-summary .v37-icon{width:30px;height:30px;color:var(--ui-accent)!important}
.v3725-att-summary span{display:grid;min-width:0}
.v3725-att-summary small{color:var(--ui-muted)!important;font-size:11px;line-height:1.2}
.v3725-att-summary b{color:var(--ui-text)!important;font-size:18px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3725-save-att{margin-top:14px!important;min-height:54px!important;border-radius:16px!important;font-size:16px!important}

@media(max-width:760px){
  .v3725-attendance{padding-left:14px!important;padding-right:14px!important}
  .v3725-attendance-head h1{font-size:32px!important}
  .v3725-att-controls{grid-template-columns:1fr 1fr!important;padding:12px!important}
  .v3725-att-grid{grid-template-columns:1fr!important}
  .v3725-att-card{padding:14px!important}
  .v3725-att-card-head{align-items:flex-start!important}
  .v3725-head-action{font-size:12px!important;padding:8px 10px!important}
  .v3725-named-row{grid-template-columns:minmax(0,1fr) 105px 64px!important}
  .v3725-worker-check b{font-size:15px!important}
  .v3725-row-pay{font-size:15px!important}
  .v3725-att-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .v3725-attendance-head{align-items:flex-start}
  .v3725-attendance-head h1{font-size:30px!important}
  .v3725-attendance-head p{font-size:13px!important}
  .v3725-back-site{padding:9px 11px!important}
  .v3725-att-controls{grid-template-columns:1fr!important}
  .v3725-named-row{grid-template-columns:minmax(0,1fr) 102px!important}
  .v3725-row-pay{grid-column:2;text-align:right;margin-top:-4px}
  .v3725-worker-check{grid-row:1/3}
  .v3725-shift{grid-column:2}
}

/* V37.2.6 — Labour/Attendance cleanup: contrast, compact controls, equal geometry */
.v3725-att-controls{padding:10px!important;gap:10px!important}
.v3725-att-controls select,
.v3725-att-controls input,
.v3725-att-controls .date-picker-v34{min-height:44px!important;border-radius:12px!important}
.v3725-back-site{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important}
.v3725-group-card .v3725-empty{padding:12px 6px!important}
.v3725-group-card:has(.v3725-count-list .v3725-empty){padding-bottom:12px!important}
.v3725-att-summary>div{background:var(--ui-surface)!important;color:var(--ui-text)!important}
:root[data-theme="dark"] .v3725-att-summary>div{
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 16%,var(--ui-border))!important;
}
:root[data-theme="dark"] .v3725-att-summary small{color:#aebed0!important}
:root[data-theme="dark"] .v3725-att-summary b{color:#f5f8fb!important}
:root[data-theme="dark"] .v3725-att-summary .v37-icon{color:#34c7bb!important}
@media(max-width:760px){
  .v3725-att-controls{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}
  .v3725-att-controls>label>span{font-size:11px!important}
  .v3725-group-card{padding-bottom:12px!important}
}
@media(max-width:430px){
  .v3725-att-controls{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;padding:9px!important}
  .v3725-att-controls select,
  .v3725-att-controls input,
  .v3725-att-controls .date-picker-v34{min-height:42px!important;font-size:14px!important}
  .v3725-attendance-head{margin-bottom:10px!important}
  .v3725-back-site{min-height:40px!important}
  .v3725-group-card .v3725-empty{padding:9px 4px!important}
}
/* long money values: one line, scale only the amount */
.v371-summary-readonly strong.v3725-money-value,
.v371-summary-readonly .v3725-money-value{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(16px,4.8vw,24px)!important;letter-spacing:-.035em!important}
@media(max-width:380px){
  .v371-summary-readonly strong.v3725-money-value,
  .v371-summary-readonly .v3725-money-value{font-size:clamp(14px,4.4vw,19px)!important}
}

/* V37.2.7 — Material UI foundation + final dark-state hardening */
/* Prevent touch/focus from ever washing Site Menu rows out in dark mode. */
html[data-theme="dark"] body .v371-site-menu>button:is(:hover,:focus,:focus-visible,:active){
  background:color-mix(in srgb,var(--ui-accent) 14%,var(--ui-surface))!important;
  border-color:color-mix(in srgb,var(--ui-accent) 46%,var(--ui-border))!important;
  color:var(--ui-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body .v371-site-menu>button:is(:hover,:focus,:focus-visible,:active) span b{color:#f5f8fb!important}
html[data-theme="dark"] body .v371-site-menu>button:is(:hover,:focus,:focus-visible,:active) span small,
html[data-theme="dark"] body .v371-site-menu>button:is(:hover,:focus,:focus-visible,:active)>strong{color:#aebed0!important}

/* Attendance summary: force theme surface and readable contrast in dark mode. */
html[data-theme="dark"] body .v3725-att-summary,
html[data-theme="dark"] body .v3725-att-summary>div{background:transparent!important}
html[data-theme="dark"] body .v3725-att-summary>div{
  background:#12283a!important;
  border-color:#28465d!important;
  color:#f5f8fb!important;
}
html[data-theme="dark"] body .v3725-att-summary small{color:#aebed0!important}
html[data-theme="dark"] body .v3725-att-summary b{color:#f5f8fb!important}
html[data-theme="dark"] body .v3725-att-summary .v37-icon{color:#32c7bb!important}

/* Home: extra-small responsive type for large INR values. */
@media(max-width:430px){
  .v371-summary-readonly .v3725-money-value{font-size:clamp(15px,4.9vw,21px)!important;letter-spacing:-.045em!important}
  .v371-summary-readonly>div{column-gap:7px!important}
}
@media(max-width:380px){
  .v371-summary-readonly .v3725-money-value{font-size:clamp(13px,4.5vw,18px)!important}
}

.v3727-materials{padding:18px!important;background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow-soft)!important}
.v3727-materials-head{margin-bottom:14px!important}
.v3727-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--ui-accent);margin-bottom:4px}
.v3727-materials-head h2{margin:0;color:var(--ui-text)!important}
.v3727-materials-head p{margin:5px 0 0;color:var(--ui-muted)!important}
.v3727-material-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v3727-material-summary>div{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:14px;padding:11px 12px}
.v3727-material-summary .v37-icon{width:28px;height:28px;color:var(--ui-accent)}
.v3727-material-summary span{display:grid;min-width:0}
.v3727-material-summary small{font-size:11px;line-height:1.15;color:var(--ui-muted)}
.v3727-material-summary b{font-size:17px;line-height:1.15;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3727-material-actions{display:grid!important;gap:10px!important}
.v3727-material-actions>button{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;min-height:70px!important;padding:12px 14px!important;border-radius:15px!important}
.v3727-material-actions>button:hover{background:color-mix(in srgb,var(--ui-accent) 6%,var(--ui-surface-2))!important}
.v3727-material-actions>button span b{color:var(--ui-text)!important}
.v3727-material-actions>button span small{color:var(--ui-muted)!important}
.v3727-material-actions>button>strong{color:var(--ui-muted)!important}
.v3727-material-actions .v3727-primary-action{background:var(--ui-accent-soft)!important;border-color:color-mix(in srgb,var(--ui-accent) 34%,var(--ui-border))!important}

/* Material modals follow the same light/dark token system without changing field logic. */
.v3727-material-editor .modal-card,.v3727-material-history .modal-card,.v3727-supplier-dues .modal-card{background:var(--ui-surface)!important;color:var(--ui-text)!important}
.v3727-material-editor .field label,.v3727-material-history .field label,.v3727-supplier-dues .field label{color:var(--ui-muted)!important;text-transform:none!important;letter-spacing:0!important}
.v3727-material-editor input,.v3727-material-editor select,.v3727-material-editor textarea,
.v3727-material-history input,.v3727-material-history select,
.v3727-supplier-dues input,.v3727-supplier-dues select{
  background:var(--ui-surface-2)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;border-radius:13px!important;box-shadow:none!important
}
.v3727-material-editor .v36117-total input{font-weight:850!important;color:var(--ui-accent)!important}
.v3727-material-history .list-row,.v3727-supplier-dues .card{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v3727-material-history .list-row small,.v3727-supplier-dues small{color:var(--ui-muted)!important}

@media(max-width:760px){
  .v3727-material-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3727-materials{padding:14px!important}
}
@media(max-width:430px){
  .v3727-material-summary>div{grid-template-columns:28px minmax(0,1fr);padding:10px;gap:8px}
  .v3727-material-summary .v37-icon{width:25px;height:25px}
  .v3727-material-summary b{font-size:15px}
  .v3727-material-actions>button{min-height:64px!important}
}

/* V37.2.8 — remove legacy hard-coded white hover/focus surfaces.
   These token-based rules intentionally come last so System/Light/Dark all
   use the same component geometry without iOS sticky-hover washing rows out. */
.v371-site-menu>button:hover,
.v371-site-menu>button:focus,
.v371-site-menu>button:focus-visible,
.v371-site-menu>button:active,
.v371-module-actions>button:hover,
.v371-module-actions>button:focus,
.v371-module-actions>button:focus-visible,
.v371-module-actions>button:active{
  background:color-mix(in srgb,var(--ui-accent) 9%,var(--ui-surface-2))!important;
  border-color:color-mix(in srgb,var(--ui-accent) 36%,var(--ui-border))!important;
  color:var(--ui-text)!important;
  outline:none!important;
  box-shadow:none!important;
}
.v371-site-menu>button:is(:hover,:focus,:focus-visible,:active) span b,
.v371-module-actions>button:is(:hover,:focus,:focus-visible,:active) span b{color:var(--ui-text)!important}
.v371-site-menu>button:is(:hover,:focus,:focus-visible,:active) span small,
.v371-site-menu>button:is(:hover,:focus,:focus-visible,:active)>strong,
.v371-module-actions>button:is(:hover,:focus,:focus-visible,:active) span small,
.v371-module-actions>button:is(:hover,:focus,:focus-visible,:active)>strong{color:var(--ui-muted)!important}
.v3727-material-actions .v3727-primary-action,
.v3727-material-actions .v3727-primary-action:hover,
.v3727-material-actions .v3727-primary-action:focus,
.v3727-material-actions .v3727-primary-action:focus-visible,
.v3727-material-actions .v3727-primary-action:active{
  background:var(--ui-accent-soft)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border))!important;
}
/* System-dark has no data-theme attribute: keep explicit fallback for Safari/iOS sticky hover. */
@media(prefers-color-scheme:dark){
  :root:not([data-theme]) .v371-site-menu>button:is(:hover,:focus,:focus-visible,:active),
  :root:not([data-theme]) .v371-module-actions>button:is(:hover,:focus,:focus-visible,:active){
    background:#16313f!important;
    border-color:#2f756f!important;
    color:#f2f7fa!important;
  }
  :root:not([data-theme]) .v3727-material-actions .v3727-primary-action:is(:hover,:focus,:focus-visible,:active){
    background:#123a3a!important;
    border-color:#2f756f!important;
  }
}


/* V37.2.9 — clean interaction-state repair.
   Touch focus/active must never repaint cards; desktop hover gets only a subtle tint. */
.v371-site-menu>button:focus,
.v371-site-menu>button:focus-visible,
.v371-site-menu>button:active{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  outline:none!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.v371-module-actions>button:focus,
.v371-module-actions>button:focus-visible,
.v371-module-actions>button:active,
.v3727-material-actions>button:focus,
.v3727-material-actions>button:focus-visible,
.v3727-material-actions>button:active{
  background:var(--ui-surface-2)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  outline:none!important;
  box-shadow:none!important;
}
.v3727-material-actions .v3727-primary-action,
.v3727-material-actions .v3727-primary-action:focus,
.v3727-material-actions .v3727-primary-action:focus-visible,
.v3727-material-actions .v3727-primary-action:active{
  background:var(--ui-accent-soft)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 34%,var(--ui-border))!important;
  color:var(--ui-text)!important;
}
.v371-site-menu>button:is(:focus,:focus-visible,:active) span b,
.v371-module-actions>button:is(:focus,:focus-visible,:active) span b,
.v3727-material-actions>button:is(:focus,:focus-visible,:active) span b{color:var(--ui-text)!important}
.v371-site-menu>button:is(:focus,:focus-visible,:active) span small,
.v371-site-menu>button:is(:focus,:focus-visible,:active)>strong,
.v371-module-actions>button:is(:focus,:focus-visible,:active) span small,
.v371-module-actions>button:is(:focus,:focus-visible,:active)>strong,
.v3727-material-actions>button:is(:focus,:focus-visible,:active) span small,
.v3727-material-actions>button:is(:focus,:focus-visible,:active)>strong{color:var(--ui-muted)!important}
@media (hover:hover) and (pointer:fine){
  .v371-site-menu>button:hover{
    background:color-mix(in srgb,var(--ui-accent) 7%,var(--ui-surface))!important;
    border-color:color-mix(in srgb,var(--ui-accent) 28%,var(--ui-border))!important;
  }
  .v371-module-actions>button:hover,
  .v3727-material-actions>button:hover{
    background:color-mix(in srgb,var(--ui-accent) 6%,var(--ui-surface-2))!important;
    border-color:color-mix(in srgb,var(--ui-accent) 24%,var(--ui-border))!important;
  }
  .v3727-material-actions .v3727-primary-action:hover{
    background:color-mix(in srgb,var(--ui-accent) 16%,var(--ui-surface-2))!important;
  }
}


/* V37.3.0 — global action-card consistency + responsive money values.
   Action rows share one surface in light/dark. Emphasis is border-only, never a full fill. */
.v373-module-page{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;color:var(--ui-text)!important}
.v373-kicker{display:block;margin-bottom:6px;color:var(--ui-accent)!important;font-weight:900;font-size:12px;letter-spacing:.18em}
.v373-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.v373-summary-grid>div{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--ui-border)!important;border-radius:14px;background:var(--ui-surface-2)!important;color:var(--ui-text)!important}
.v373-summary-grid .v37-icon{width:27px;height:27px;color:var(--ui-accent)!important}
.v373-summary-grid span{min-width:0;display:grid}
.v373-summary-grid small{font-size:11px;line-height:1.15;color:var(--ui-muted)!important}
.v373-summary-grid b{font-size:17px;line-height:1.15;color:var(--ui-text)!important;white-space:nowrap;overflow:visible;text-overflow:clip;letter-spacing:-.025em}
.v373-money{font-variant-numeric:tabular-nums;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;letter-spacing:-.045em!important}

/* One action-row system across Materials, Expenses and other module action lists. */
.v371-module-actions>button,.v373-action-row,.v3727-material-actions>button{
  background:var(--ui-surface-2)!important;
  border:1px solid var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:none!important;
}
.v371-module-actions>button span b,.v373-action-row span b,.v3727-material-actions>button span b{color:var(--ui-text)!important}
.v371-module-actions>button span small,.v373-action-row span small,.v3727-material-actions>button span small,
.v371-module-actions>button>strong,.v373-action-row>strong,.v3727-material-actions>button>strong{color:var(--ui-muted)!important}
.v371-module-actions>button .v37-icon,.v373-action-row .v37-icon,.v3727-material-actions>button .v37-icon{color:var(--ui-accent)!important}

/* Primary/add rows are differentiated only with a subtle accent border. */
.v373-action-emphasis,.v3727-material-actions .v3727-primary-action{
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border))!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--ui-accent) 80%,transparent)!important;
}

/* Touch/focus must not leave a selected-looking fill. */
.v371-module-actions>button:is(:focus,:focus-visible,:active),
.v373-action-row:is(:focus,:focus-visible,:active),
.v3727-material-actions>button:is(:focus,:focus-visible,:active){
  background:var(--ui-surface-2)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  outline:none!important;
}
.v373-action-emphasis:is(:focus,:focus-visible,:active),
.v3727-material-actions .v3727-primary-action:is(:focus,:focus-visible,:active){
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border))!important;
}
@media (hover:hover) and (pointer:fine){
  .v371-module-actions>button:hover,.v373-action-row:hover,.v3727-material-actions>button:hover{
    background:color-mix(in srgb,var(--ui-accent) 5%,var(--ui-surface-2))!important;
    border-color:color-mix(in srgb,var(--ui-accent) 24%,var(--ui-border))!important;
  }
}

/* Full currency is always visible; scale the amount rather than truncating it. */
.v371-summary-readonly .v3725-money-value,
.v3727-material-summary b,
.v373-summary-grid .v373-money,
.v3714-summary-grid b,
.v37-fin-grid b{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;min-width:0}
@media(max-width:760px){
  .v373-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v373-summary-grid>div{grid-template-columns:27px minmax(0,1fr);padding:10px;gap:7px}
  .v373-summary-grid b,.v3727-material-summary b{font-size:clamp(13px,4.35vw,17px)!important}
  .v373-summary-grid .v373-money,.v3727-material-summary b{letter-spacing:-.055em!important}
  .v371-summary-readonly .v3725-money-value{font-size:clamp(12px,4.25vw,18px)!important;letter-spacing:-.055em!important}
  .v3714-summary-grid b,.v37-fin-grid b{font-size:clamp(13px,4.15vw,17px)!important;letter-spacing:-.04em!important}
}
@media(max-width:390px){
  .v373-summary-grid .v373-money,.v3727-material-summary b{font-size:clamp(12px,4vw,15px)!important}
  .v371-summary-readonly .v3725-money-value{font-size:clamp(11px,3.9vw,16px)!important}
}


/* V37.3.1 verified consistency repair */
.v371-module-actions>button,.v3727-material-actions>button,.v373-action-row{
  background:var(--ui-surface-2)!important;
  border:1px solid var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:none!important;
}
.v373-action-emphasis,.v3727-material-actions .v3727-primary-action{
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 30%,var(--ui-border))!important;
  box-shadow:none!important;
}
.v371-module-actions>button:is(:hover,:focus,:focus-visible,:active),
.v3727-material-actions>button:is(:hover,:focus,:focus-visible,:active),
.v373-action-row:is(:hover,:focus,:focus-visible,:active){
  background:var(--ui-surface-2)!important;
  color:var(--ui-text)!important;
}
.v373-summary-grid b,.v373-money,.v3727-material-summary b,.v3714-summary-grid b,.v37-fin-grid b{
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
@media(max-width:760px){
  .v373-summary-grid b,.v373-money,.v3727-material-summary b{font-size:clamp(12px,3.8vw,16px)!important;letter-spacing:-.05em!important}
}


/* ========================================================================== 
   V37.3.2 — VISUAL COLOR AUDIT / ACTIVE SCREEN TOKEN LOCK
   Scope: current Home, Sites, Site Menu/Overview, Attendance, Materials,
   Expenses, Payments, Reports, More, active modals and bottom navigation.
   Purpose: one color system in light/dark; no page-specific filled action rows.
   ========================================================================== */

/* Global active-screen surfaces */
.v37-page,
.v37-home,
.v37-site-content,
.v371-module-page,
.v3711-payments-page,
.v3725-att-page,
.v3727-materials-page,
.v373-module-page{
  color:var(--ui-text)!important;
}

/* Every current neutral card/list/action uses the same surface family. */
.v37-active-site-card,
.v371-summary-readonly>div,
.v37-quick-grid>button,
.v371-collapse,
.v371-collapse-head,
.v371-collapse-body,
.v37-site-card,
.v371-site-header,
.v371-site-menu>button,
.v3724-overview-metrics>div,
.v3724-progress-card,
.v3724-current-stage,
.v3724-financial,
.v371-project-activity,
.v3725-att-card,
.v3725-named-row,
.v3725-count-row,
.v3725-att-summary,
.v3727-material-summary>div,
.v3727-material-actions>button,
.v371-module-actions>button,
.v373-action-row,
.v373-summary-grid>div,
.v3711-pay-site,
.v3711-pay-action,
.v3711-recent-card,
.v37-report-list>button,
.v3714-summary-grid>div,
.v37-more-row,
.modal-card,
.modal-body,
.modern-input-card-v34{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}

/* Secondary/inset surfaces only. */
.v37-segments,
.v37-compact-list>button,
.v3724-current-stage,
.v3724-financial .v37-fin-grid>div,
.v3725-named-row,
.v3725-count-row,
.v3727-material-summary>div,
.v373-summary-grid>div,
.v3711-recent-card,
.v371-activity-tools input,
.v371-activity-filters button,
.v37-report-controls select,
.v37-report-controls button{
  background:var(--ui-surface-2)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
}

/* Action rows: same neutral surface; importance via accent border/icon only. */
.v371-module-actions>button,
.v3727-material-actions>button,
.v373-action-row,
.v3711-pay-action{
  background:var(--ui-surface-2)!important;
  border:1px solid var(--ui-border)!important;
  color:var(--ui-text)!important;
  box-shadow:none!important;
}
.v373-action-emphasis,
.v3727-material-actions .v3727-primary-action,
.v371-module-actions>button:first-child{
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 38%,var(--ui-border))!important;
  box-shadow:inset 3px 0 0 var(--ui-accent)!important;
}

/* Accent is reserved for selected controls, primary buttons and icons. */
.v37-segments button.active,
.v37-report-period button.active,
.v3711-pay-tabs button.active,
.segmented button.active,
.btn.primary,
.v37-add-site{
  background:var(--ui-accent)!important;
  border-color:var(--ui-accent)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Site menu selected state is tinted, never white. */
.v371-site-menu>button.active,
.v371-site-menu>button[aria-current="page"],
.v371-site-menu>button.is-active{
  background:var(--ui-accent-soft)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border))!important;
  color:var(--ui-text)!important;
}
.v371-site-menu>button.active .v37-icon,
.v371-site-menu>button[aria-current="page"] .v37-icon,
.v371-site-menu>button.is-active .v37-icon{color:var(--ui-accent)!important}

/* Touch/focus/active never changes a dark card to a light card. */
.v371-site-menu>button:is(:focus,:focus-visible,:active),
.v371-module-actions>button:is(:focus,:focus-visible,:active),
.v3727-material-actions>button:is(:focus,:focus-visible,:active),
.v373-action-row:is(:focus,:focus-visible,:active),
.v3711-pay-action:is(:focus,:focus-visible,:active),
.v37-report-list>button:is(:focus,:focus-visible,:active),
.v37-more-row:is(:focus,:focus-visible,:active){
  background:var(--ui-surface-2)!important;
  border-color:color-mix(in srgb,var(--ui-accent) 24%,var(--ui-border))!important;
  color:var(--ui-text)!important;
  outline:none!important;
}
@media (hover:hover) and (pointer:fine){
  .v371-site-menu>button:hover,
  .v371-module-actions>button:hover,
  .v3727-material-actions>button:hover,
  .v373-action-row:hover,
  .v3711-pay-action:hover,
  .v37-report-list>button:hover,
  .v37-more-row:hover{
    background:color-mix(in srgb,var(--ui-accent) 6%,var(--ui-surface-2))!important;
    border-color:color-mix(in srgb,var(--ui-accent) 26%,var(--ui-border))!important;
  }
}

/* Text hierarchy is token-only. */
.v37-page h1,.v37-page h2,.v37-page h3,
.v371-site-header-copy h1,
.v371-module-actions b,.v3727-material-actions b,.v373-action-row b,
.v37-report-list b,.v37-more-row b,
.v3725-att-card b,.v3725-att-summary b,
.v3724-overview-metrics strong,.v3724-financial b,
.v3711-payments-page b{
  color:var(--ui-text)!important;
}
.v37-page p,.v37-page small,
.v371-module-actions small,.v3727-material-actions small,.v373-action-row small,
.v37-report-list small,.v37-more-row small,
.v3725-att-card small,.v3725-att-summary small,
.v3724-financial small,.v3711-payments-page small{
  color:var(--ui-muted)!important;
}

/* Summary amount readability. Full values stay visible; size scales, never ellipsis. */
.v3725-money-value,
.v373-money,
.v3727-material-summary b,
.v3714-summary-grid b,
.v37-fin-grid b,
.v3724-overview-metrics strong{
  color:var(--ui-text)!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums;
  min-width:0;
}
@media(max-width:760px){
  .v3725-money-value,
  .v373-money,
  .v3727-material-summary b,
  .v3714-summary-grid b,
  .v37-fin-grid b,
  .v3724-overview-metrics strong{
    font-size:clamp(11px,3.8vw,17px)!important;
    letter-spacing:-.055em!important;
  }
}

/* More icons: tinted in both modes, never bright white tiles in dark. */
.v37-more-icon{
  background:color-mix(in srgb,var(--ui-accent) 11%,var(--ui-surface-2))!important;
  color:var(--ui-accent)!important;
  border:1px solid color-mix(in srgb,var(--ui-accent) 15%,var(--ui-border))!important;
}

/* Bottom navigation: same geometry; active uses soft accent tint only. */
.v37-bottom-nav,.bottom-nav{
  background:color-mix(in srgb,var(--ui-surface) 96%,transparent)!important;
  border-color:var(--ui-border)!important;
}
.v37-bottom-nav .nav-btn,.bottom-nav .nav-btn{color:var(--ui-muted)!important;background:transparent!important}
.v37-bottom-nav .nav-btn.active,.bottom-nav .nav-btn.active{
  color:var(--ui-accent)!important;
  background:var(--ui-accent-soft)!important;
}

/* Dark-mode readability lock. */
:root[data-theme="dark"] .v3725-att-summary,
:root[data-theme="dark"] .v3724-current-stage,
:root[data-theme="dark"] .v3724-financial,
:root[data-theme="dark"] .v371-project-activity,
:root[data-theme="dark"] .v37-report-list>button,
:root[data-theme="dark"] .v37-more-row,
:root[data-theme="dark"] .modal-card{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
}
:root[data-theme="dark"] .v3725-att-summary b,
:root[data-theme="dark"] .v3724-current-stage b,
:root[data-theme="dark"] .v3724-financial b,
:root[data-theme="dark"] .v37-report-list b,
:root[data-theme="dark"] .v37-more-row b{color:var(--ui-text)!important}
:root[data-theme="dark"] .v3725-att-summary small,
:root[data-theme="dark"] .v3724-current-stage small,
:root[data-theme="dark"] .v3724-financial small,
:root[data-theme="dark"] .v37-report-list small,
:root[data-theme="dark"] .v37-more-row small{color:var(--ui-muted)!important}

/* V37.3.3 — REPORT DATE + RESPONSIVE MONEY POLISH */
.v3733-report-date{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  text-align:center!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.2!important;
}
.v3733-report-date span{
  min-width:0!important;
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.2!important;
}
.v3733-report-date>b{font-size:18px;color:var(--ui-accent);line-height:1}

/* Currency values scale by actual digit count, not one-size-fits-all. */
.v3733-report-money,.v3733-money-sm,.v3733-money-md,.v3733-money-lg,.v3733-money-xl{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1.08!important;
  max-width:100%!important;
}
.v3733-money-sm{font-size:18px!important;letter-spacing:-.02em!important}
.v3733-money-md{font-size:17px!important;letter-spacing:-.03em!important}
.v3733-money-lg{font-size:16px!important;letter-spacing:-.045em!important}
.v3733-money-xl{font-size:14.5px!important;letter-spacing:-.055em!important}

/* Reports summary: equal visual balance and a little more room for money text. */
.v3714-summary-grid>div{
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:8px!important;
  padding:12px!important;
  min-height:92px!important;
  align-content:center!important;
}
.v3714-summary-grid .v37-icon{width:38px!important;height:38px!important}
.v3714-summary-grid small{font-size:11.5px!important;line-height:1.18!important}
.v3714-summary-grid .v3733-report-money{margin-top:2px!important}

@media(max-width:760px){
  .v37-report-controls{grid-template-columns:.82fr 1.38fr!important}
  .v37-report-controls select,.v37-report-controls button{min-height:54px!important;padding:11px 12px!important}
  .v3733-report-date{font-size:13.5px!important}
  .v3714-summary-grid>div{grid-template-columns:34px minmax(0,1fr)!important;gap:7px!important;padding:11px!important;min-height:88px!important}
  .v3714-summary-grid .v37-icon{width:34px!important;height:34px!important}
  .v3714-summary-grid small{font-size:11px!important}
  .v3714-summary-grid .v3733-money-sm{font-size:17px!important}
  .v3714-summary-grid .v3733-money-md{font-size:16px!important}
  .v3714-summary-grid .v3733-money-lg{font-size:14.75px!important}
  .v3714-summary-grid .v3733-money-xl{font-size:13.25px!important}

  /* Home/Expenses: long amounts get extra breathing room without shrinking labels/icons. */
  .v371-summary-readonly .v3733-money-lg,.v373-summary-grid .v3733-money-lg{font-size:15px!important;letter-spacing:-.05em!important}
  .v371-summary-readonly .v3733-money-xl,.v373-summary-grid .v3733-money-xl{font-size:13px!important;letter-spacing:-.06em!important}
}
@media(max-width:390px){
  .v37-report-controls{grid-template-columns:.78fr 1.42fr!important;gap:8px!important}
  .v3733-report-date{font-size:12.5px!important}
  .v3714-summary-grid .v3733-money-lg{font-size:13.5px!important}
  .v3714-summary-grid .v3733-money-xl{font-size:12px!important}
}


/* V37.3.4 — stronger global long-money sizing for compact mobile summary cards. */
@media(max-width:760px){
  /* Home summary: preserve icon/label, reduce only long values. */
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-lg{
    font-size:12px!important;
    letter-spacing:-.055em!important;
  }
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-xl{
    font-size:10.5px!important;
    letter-spacing:-.065em!important;
  }

  /* Expense / Materials / generic 2-column summaries. */
  .v373-summary-grid b.v3733-money-lg,
  .v3727-material-summary b.v3733-money-lg{
    font-size:12px!important;
  }
  .v373-summary-grid b.v3733-money-xl,
  .v3727-material-summary b.v3733-money-xl{
    font-size:10.5px!important;
  }

  /* Reports summary: long amounts stay visually balanced. */
  .v3714-summary-grid b.v3733-money-lg{font-size:12.5px!important}
  .v3714-summary-grid b.v3733-money-xl{font-size:11px!important}
}
@media(max-width:390px){
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-lg{font-size:11.5px!important}
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-xl{font-size:10px!important}
  .v373-summary-grid b.v3733-money-lg,.v3727-material-summary b.v3733-money-lg{font-size:11.5px!important}
  .v373-summary-grid b.v3733-money-xl,.v3727-material-summary b.v3733-money-xl{font-size:10px!important}
}

/* V37.3.5 — Home-only long money rebalance.
   Keep report/expense compact sizing unchanged; restore stronger visual weight on Home. */
@media(max-width:760px){
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-lg{
    font-size:16.5px!important;
    letter-spacing:-.045em!important;
  }
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-xl{
    font-size:15px!important;
    letter-spacing:-.052em!important;
  }
}
@media(max-width:390px){
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-lg{
    font-size:16px!important;
  }
  .v37-summary-grid.v371-summary-readonly strong.v3725-money-value.v3733-money-xl{
    font-size:14.5px!important;
  }
}

/* V37.3.6 — PAYMENTS UI FOUNDATION
   Uses the verified shared light/dark tokens; no page-specific hard-coded white surfaces. */
.v3736-payments-page{max-width:1120px;margin:0 auto}
.v3736-payments-card{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow)!important}
.v3736-kicker{display:block;margin-bottom:3px;color:var(--ui-accent);font-size:11px;font-weight:900;letter-spacing:.12em}
.v3736-payments-head h2{margin:0;color:var(--ui-text)}
.v3736-payments-head p{margin:4px 0 0;color:var(--ui-muted)}
.v3736-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:14px 0 18px!important}
.v3736-payment-actions>button{
  min-width:0!important;min-height:92px!important;padding:12px!important;
  grid-template-columns:46px minmax(0,1fr)!important;display:grid!important;gap:11px!important;align-items:center!important;
  text-align:left!important;border:1px solid var(--ui-border)!important;border-radius:16px!important;
  background:var(--ui-surface)!important;color:var(--ui-text)!important;box-shadow:none!important;
}
.v3736-payment-actions>button>span:last-child{min-width:0}
.v3736-payment-actions b{display:block;color:var(--ui-text)!important;font-size:14px;line-height:1.2}
.v3736-payment-actions small{display:block;margin-top:4px;color:var(--ui-muted)!important;font-size:11.5px;line-height:1.25}
.v3736-pay-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--ui-accent-soft);color:var(--ui-accent)}
.v3736-pay-icon .v37-icon{width:25px;height:25px;color:currentColor!important}
.v3736-pay-icon.received{background:color-mix(in srgb,var(--ui-success) 13%,var(--ui-surface));color:var(--ui-success)}
.v3736-pay-icon.labour{background:color-mix(in srgb,#4d7fe8 12%,var(--ui-surface));color:#4d7fe8}
.v3736-pay-icon.supplier{background:color-mix(in srgb,#d89a32 13%,var(--ui-surface));color:#b77b18}
.v3736-pay-icon.other{background:color-mix(in srgb,#8d6ad8 12%,var(--ui-surface));color:#7652c7}
@media(hover:hover) and (pointer:fine){.v3736-payment-actions>button:hover{border-color:color-mix(in srgb,var(--ui-accent) 48%,var(--ui-border))!important;background:var(--ui-accent-soft)!important}}
.v3736-payment-actions>button:active{border-color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important}
.v3736-recent-head{align-items:end!important}
.v3736-recent-head>div>span{display:block;color:var(--ui-muted);font-size:11.5px;margin-top:2px}
.v3736-recent-head button{border:0;background:transparent;color:var(--ui-accent);font-weight:850;padding:6px}
.v3736-payment-list{display:grid;gap:8px}
.v3736-payment-row{
  width:100%;min-width:0;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:10px!important;align-items:center!important;text-align:left!important;padding:11px 12px!important;
  background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:14px!important;color:var(--ui-text)!important;
}
.v3736-payment-row-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900}
.v3736-payment-row-icon.in{background:color-mix(in srgb,var(--ui-success) 13%,var(--ui-surface));color:var(--ui-success)}
.v3736-payment-row-icon.out{background:color-mix(in srgb,var(--ui-danger) 11%,var(--ui-surface));color:var(--ui-danger)}
.v3736-payment-row small,.v3736-payment-row em{display:block;color:var(--ui-muted)!important;font-size:11px;font-style:normal;line-height:1.25}
.v3736-payment-row b{display:block;color:var(--ui-text)!important;margin:2px 0;line-height:1.2}
.v3736-payment-row>strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px!important;letter-spacing:-.02em}

/* Money Received + Labour Payment: one token-based modal family. */
.v3711-payment-modal .modal,.v3736-payment-modal.modal{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v3711-payment-modal .modal-head,.v3736-payment-modal .modal-head{background:var(--ui-surface)!important;border-color:var(--ui-border)!important}
.v3711-payment-modal .modal-body,.v3736-payment-modal .modal-body{background:var(--ui-surface)!important}
.v3711-payment-modal .modal-actions,.v3736-payment-modal .modal-actions{background:var(--ui-surface)!important;border-color:var(--ui-border)!important}
.v3711-modal-lead>span{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}
.v3711-modal-lead h3,.v3711-money-form label,.v3711-labour-pay label{color:var(--ui-text)!important}
.v3711-money-form input,.v3711-money-form select,.v3711-money-form textarea,.v3711-labour-pay input,.v3711-labour-pay select,.v3711-labour-pay textarea,
.v3736-payment-modal input,.v3736-payment-modal select,.v3736-payment-modal textarea{
  background:var(--ui-surface-2)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;box-shadow:none!important
}
.v3711-readonly,.v3711-update-note{background:var(--ui-surface-2)!important;border:1px solid var(--ui-border)!important;color:var(--ui-text)!important}
.v3711-client-card{background:var(--ui-accent-soft)!important;border:1px solid color-mix(in srgb,var(--ui-accent) 28%,var(--ui-border))!important;color:var(--ui-text)!important}
.v3711-client-card b{color:var(--ui-accent)!important}
.v3711-money-input{border-color:color-mix(in srgb,var(--ui-accent) 60%,var(--ui-border))!important;background:var(--ui-surface-2)!important}
.v3711-money-input span{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}
.v3711-pay-tabs{background:var(--ui-surface-2)!important;border:1px solid var(--ui-border)!important}
.v3711-pay-tabs button{color:var(--ui-muted)!important}
.v3711-pay-tabs button.active{background:var(--ui-accent)!important;color:#fff!important}
.v3711-labour-card{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.v3711-labour-card.selected{background:var(--ui-accent-soft)!important;border-color:var(--ui-accent)!important}
.v3711-avatar{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}

/* Supplier payables/payment share the same modal/card surfaces. */
.v3727-supplier-dues .money-card-v349,.v3727-supplier-dues .v3618-supplier-group,.v3736-payment-modal .card{
  background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important;box-shadow:none!important
}
.v3727-supplier-dues .v3618-supplier-item{border-color:var(--ui-border)!important}
.v3727-supplier-dues strong,.v3736-payment-modal strong{color:var(--ui-text)!important}
.v3727-supplier-dues small,.v3736-payment-modal p{color:var(--ui-muted)!important}

/* Other Payment reuses expense storage but must visually present as a payment form. */
.v3736-other-payment .expense-modern-v34,.v3736-other-payment .modern-input-card-v34{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:none!important}

@media(max-width:700px){
  .v3736-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v3736-payment-actions>button{min-height:86px!important;padding:10px!important;grid-template-columns:40px minmax(0,1fr)!important;gap:9px!important}
  .v3736-pay-icon{width:40px;height:40px;border-radius:12px}
  .v3736-payment-actions b{font-size:13px}
  .v3736-payment-actions small{font-size:10.5px}
  .v3736-payment-row{grid-template-columns:34px minmax(0,1fr) auto!important;padding:10px!important;gap:8px!important}
  .v3736-payment-row-icon{width:32px;height:32px}
  .v3736-payment-row>strong{font-size:12.5px!important}
}


/* V37.3.7 — More + Documents UI foundation */
.v3737-more-page .v37-more-list{gap:10px}
.v3737-more-row{min-height:78px;padding:12px 14px;border-radius:18px;background:var(--ui-surface,var(--surface))!important;border:1px solid var(--ui-line,var(--v37-line))!important;color:var(--ui-text,var(--text))!important;box-shadow:none!important}
.v3737-more-row .v37-more-icon{width:46px;height:46px;border-radius:14px;background:var(--ui-accent-soft,#eaf6f5)!important;color:var(--ui-accent,var(--v37-teal))!important;font-size:21px}
.v3737-more-row b{color:var(--ui-text,var(--text))!important}.v3737-more-row small{color:var(--ui-muted,var(--muted))!important;line-height:1.35}
.v3737-folder{display:grid;gap:10px}.v3737-folder>p{margin:0 0 4px;color:var(--ui-muted,var(--muted));font-size:13px}
.v3737-folder-row{width:100%;min-height:70px;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--ui-line,var(--border));border-radius:16px;padding:11px 13px;background:var(--ui-surface,var(--surface));color:var(--ui-text,var(--text))}
.v3737-folder-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.v3737-folder-row small{margin-top:3px;color:var(--ui-muted,var(--muted));line-height:1.3}.v3737-folder-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--ui-accent-soft,#eaf6f5);color:var(--ui-accent,var(--v37-teal));font-size:20px}
.v3737-docs-hub{display:grid;gap:12px}.v3737-docs-intro{display:flex;gap:12px;align-items:center;padding:12px 2px 6px}.v3737-docs-intro>div{display:flex;flex-direction:column}.v3737-docs-intro small{color:var(--ui-muted,var(--muted));margin-top:3px}.v3737-docs-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--ui-accent-soft,#eaf6f5);color:var(--ui-accent,var(--v37-teal));font-size:24px}
.v3737-doc-site,.v3737-doc-card{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--ui-line,var(--border));border-radius:17px;padding:12px 14px;background:var(--ui-surface,var(--surface));color:var(--ui-text,var(--text));box-shadow:none}
.v3737-doc-site span:nth-child(2),.v3737-doc-card span:nth-child(2){display:flex;flex-direction:column;min-width:0}.v3737-doc-site small,.v3737-doc-card small{color:var(--ui-muted,var(--muted));margin-top:3px;line-height:1.3}.v3737-doc-icon{width:46px;height:46px;border-radius:14px;background:var(--ui-accent-soft,#eaf6f5);color:var(--ui-accent,var(--v37-teal));display:grid;place-items:center;font-size:20px}.v3737-doc-grid{display:grid;gap:10px}
:root[data-theme="dark"] .v3737-more-row,:root[data-theme="dark"] .v3737-folder-row,:root[data-theme="dark"] .v3737-doc-site,:root[data-theme="dark"] .v3737-doc-card{background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important}
@media (min-width:720px){.v3737-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3737-more-page .v37-more-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V37.4.1 — Daily Usage Upgrade */
.v3741-project-visual{display:grid;place-items:center;width:100%;height:100%}.v3741-project-visual .project-avatar-v34{width:100%;height:100%;min-width:0;border-radius:inherit;font-size:clamp(24px,5vw,38px);box-shadow:none}.v3741-project-visual .project-icon-image-v3612{width:70%;height:70%;object-fit:contain}
.v3741-today-card{margin-top:16px;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:20px;box-shadow:var(--shadow)}.v3741-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v3741-today-head small{display:block;color:var(--muted);font-weight:850;letter-spacing:.04em}.v3741-today-head h2{margin:3px 0 0;font-size:21px}.v3741-today-head>span{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;background:color-mix(in srgb,var(--gold) 12%,var(--surface2));color:var(--gold)}.v3741-today-head>span.closed{background:color-mix(in srgb,var(--green) 13%,var(--surface2));color:var(--green)}.v3741-score{margin:14px 0;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:end}.v3741-score strong{font-size:26px}.v3741-score span{color:var(--muted);font-weight:800;padding-bottom:4px}.v3741-score>div{grid-column:1/-1;height:7px;background:var(--surface2);border-radius:8px;overflow:hidden}.v3741-score i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#2fc4b8);border-radius:inherit}.v3741-today-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.v3741-today-mini>span{min-width:0;border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:9px;display:grid;grid-template-columns:auto 1fr;gap:2px 6px;align-items:center}.v3741-today-mini .v37-icon{grid-row:1/3}.v3741-today-mini b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3741-today-mini small{color:var(--muted);font-size:10px;font-weight:800}
.v3741-sub-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding:12px;border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--line));background:color-mix(in srgb,var(--primary) 5%,var(--surface2));border-radius:14px}.v3741-sub-fields label{display:grid;gap:6px}.v3741-sub-fields span{font-size:11px;font-weight:900;color:var(--muted)}.v3741-sub-fields input,.v3741-sub-fields select{width:100%;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;padding:9px 10px}.v3741-group-card.is-subcontractor{border-color:color-mix(in srgb,var(--primary) 42%,var(--line))}
.v3741-log{display:grid;gap:12px}.v3741-log-site{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}.v3741-log-site .v3741-project-visual{width:52px;height:52px}.v3741-log-site b,.v3741-log-site small{display:block}.v3741-log-site small{color:var(--muted)}.v3741-log-site>span{font-weight:900;color:var(--primary)}.v3741-log-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:var(--surface);border-radius:14px}.v3741-log-row.done{border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.v3741-log-row b,.v3741-log-row small{display:block}.v3741-log-row small{color:var(--muted);margin-top:2px}.v3741-log-row strong{color:var(--green)}.v3741-log-row button{border:0;background:var(--primary2);color:var(--primary);border-radius:10px;padding:8px 10px;font-weight:900}.v3741-quick-close{display:grid;gap:7px;padding:11px;border-radius:14px;background:var(--surface2)}.v3741-quick-close label,.v3741-important,.v3741-carry label{display:flex;align-items:center;gap:8px;font-weight:750}.v3741-log-section{border:1px solid var(--line);border-radius:16px;padding:13px;background:var(--surface)}.v3741-log-section h3{margin:0 0 10px}.v3741-log-section textarea{width:100%;min-height:84px;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:12px;padding:11px;resize:vertical}.v3741-issue-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.v3741-issue-chips button{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}.v3741-issue-chips button.active{background:color-mix(in srgb,var(--primary) 16%,var(--surface2));border-color:var(--primary);color:var(--primary)}.v3741-important{margin-top:9px}.v3741-log-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v3741-sub-summary{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-top:1px solid var(--line)}.v3741-sub-summary:first-of-type{border-top:0}.v3741-sub-summary small{grid-column:1/-1;color:var(--muted)}
.v3741-summary h2{margin:0}.v3741-summary>small{color:var(--muted)}.v3741-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.v3741-summary-grid>div{border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:11px}.v3741-summary-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800}.v3741-summary-grid b{display:block;margin-top:5px;font-size:17px}.v3741-summary section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.v3741-summary section h3{margin:0 0 6px}.v3741-summary section p{margin:0;white-space:pre-wrap}.v3741-summary section.tomorrow{background:color-mix(in srgb,var(--green) 7%,var(--surface2));padding:12px;border-radius:14px;border-top:0}
.v3741-week-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.v3741-week-head span{color:var(--muted);font-weight:800}.v3741-week-day{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 0;border-top:1px solid var(--line)}.v3741-week-day small{grid-column:1/-1;color:var(--muted)}.v3741-carry{display:grid;gap:12px}.v3741-carry p{margin:0 0 4px}.v3741-carry label{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.v3741-sub-payment{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));background:color-mix(in srgb,var(--primary) 5%,var(--surface2));border-radius:14px}.v3741-sub-payment label{display:grid;gap:6px;font-weight:850}.v3741-sub-payment select,.v3741-sub-payment input{min-height:44px;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;padding:9px}
@media(max-width:620px){.v3741-today-mini{grid-template-columns:repeat(2,1fr)}.v3741-sub-fields,.v3741-sub-payment{grid-template-columns:1fr}.v3741-log-actions{grid-template-columns:1fr}.v3741-today-card{padding:14px}}

/* VHOMES V37.5.0 Smart Daily Workspace — additive Home styles */
.v375-home{max-width:1100px;margin:0 auto;padding:12px 12px 120px;display:grid;gap:12px;color:var(--text)}
.v375-home *{box-sizing:border-box}
.v375-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 3px}
.v375-home-head h1{font-size:clamp(21px,3vw,29px);line-height:1.2;margin:5px 0 0}
.v375-version{font-size:10px;font-weight:800;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:7px;border-radius:9px;white-space:nowrap}
.v375-context{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:17px}
.v375-context label,.v375-inline-form label{font-size:11px;letter-spacing:.01em;line-height:1.3;font-weight:700;color:var(--muted);display:grid;gap:6px;min-width:0}
.v375-home select,.v375-home input,.v375-home textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:43px;padding:9px 11px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:11px;font:inherit;font-size:14px;outline-offset:1px}
.v375-home input:focus,.v375-home select:focus{border-color:#4f8ef6}
.v375-home .v375-context select,.v375-home .v375-context input{margin:0;font-weight:650}
.v375-context .v375-today{margin-top:auto;min-height:43px;padding:0 12px;border-radius:11px;border:1px solid #7babff;color:#1769cf;background:transparent;font-weight:800}
.v375-statusbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 3px}
.v375-statusbar .v375-review-tag{font-size:12px;font-weight:800;border-radius:999px;padding:6px 10px;background:color-mix(in srgb,var(--surface) 86%,#999);border:1px solid var(--line)}
.v375-review-tag.reviewed{color:#168456;background:#e2f8ec;border-color:#b5eacc}
.v375-review-tag.needs{color:#a66a08;background:#fff0ce;border-color:#ead59a}
.v375-sync-tag{margin-left:auto;font-size:11px;color:var(--muted)}
.v375-tiny{font-size:11px!important;font-weight:750;padding:8px 9px;border-radius:9px;border:1px solid var(--line);color:var(--text);background:var(--surface)}
.v375-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.v375-summary>div{border-radius:15px;padding:14px 12px;min-width:0;display:flex;flex-direction:column;gap:5px;background:#e9f3ff;color:#102b51;border:1px solid #dbeaff}
.v375-summary>div:nth-child(2){background:#fff1e5;border-color:#ffe1c9;color:#6c350f}
.v375-summary>div:nth-child(3){background:#e7f9f0;border-color:#cef4e1;color:#14563d}
.v375-summary>div:nth-child(4){background:#f2ebff;border-color:#eadbff;color:#42227e}
.v375-summary small{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
.v375-summary strong{font-size:clamp(15px,2.2vw,24px);letter-spacing:-.04em;overflow-wrap:anywhere}
.v375-modules{display:grid;gap:10px}
.v375-module{background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden}
.v375-module-toggle{background:transparent;color:var(--text);border:none;width:100%;display:flex;align-items:center;text-align:left;gap:12px;min-height:78px;padding:13px 15px;cursor:pointer}
.v375-module:nth-child(1){--v375-accent:#1974e8;--v375-pale:#eaf4ff}
.v375-module:nth-child(2){--v375-accent:#e97e26;--v375-pale:#fff1e4}
.v375-module:nth-child(3){--v375-accent:#119869;--v375-pale:#eaf9f2}
.v375-module:nth-child(4){--v375-accent:#734de3;--v375-pale:#f1edff}
.v375-module:nth-child(5){--v375-accent:#d69a13;--v375-pale:#fff7dd}
.v375-module-toggle .v375-num{width:31px;height:31px;display:grid;place-items:center;flex:none;background:var(--v375-accent);border-radius:50%;color:#fff;font-weight:900;font-size:15px}
.v375-module-toggle .v37-icon{color:var(--v375-accent);flex:none;display:inline-flex}
.v375-module-toggle .v37-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none}
.v375-module-label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.v375-module-label b{font-size:16px;line-height:1.1;color:var(--text)}
.v375-module-label small{font-size:11px;line-height:1.3;color:var(--muted)}
.v375-module-metric{font-size:11px;font-weight:750;color:var(--muted);text-align:right;max-width:165px}
.v375-module.is-open>.v375-module-toggle{background:color-mix(in srgb,var(--surface) 80%,var(--v375-accent) 20%)}
.v375-module-body{padding:12px 13px 16px;border-top:1px solid var(--line);display:grid;gap:12px}
.v375-tabs,.v375-paytabs{display:flex;gap:4px;border-radius:12px;background:var(--surface-alt,var(--bg));padding:4px;overflow:auto}
.v375-tabs button,.v375-paytabs button{flex:1;min-width:0;border:0;border-radius:9px;background:transparent;color:var(--muted);padding:11px 9px;font-size:12px;font-weight:750;white-space:nowrap}
.v375-tabs button.active,.v375-paytabs button.active{background:#1d73e6;color:white}
.v375-subcard{border-radius:13px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.v375-grouphead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--text);padding:14px;text-align:left}
.v375-grouphead span{display:grid;gap:4px}
.v375-grouphead small,.v375-worker-label small,.v375-entry small,.v375-task small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.v375-groupbody{padding:0 14px 12px;display:grid;gap:8px}
.v375-shift-head{display:flex;justify-content:space-between;color:var(--muted)}
.v375-shiftrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.v375-shiftrow>span{display:grid;font-weight:700;font-size:13px}
.v375-shiftrow>span small{font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}
.v375-stepper{display:flex;align-items:center;gap:11px}
.v375-stepper strong{min-width:22px;text-align:center;font-size:15px}
.v375-stepper button{border-radius:10px;background:color-mix(in srgb,var(--surface) 75%,#9bbbe6 25%);border:1px solid var(--line);color:var(--text);font-weight:850;min-width:38px;min-height:38px;font-size:20px}
.v375-groupfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.v375-groupfoot small{font-size:11px;color:var(--muted)}
.v375-outline{border:1px solid var(--line)!important;border-radius:11px;background:var(--surface);color:var(--text);min-height:41px;padding:8px 13px;font-size:13px;font-weight:750}
.v375-outline.danger{color:#b32935}
.v375-worker-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 1px}
.v375-worker-label{display:flex;align-items:center;gap:11px;flex:1;color:var(--text);min-width:0}
.v375-worker-label input[type=checkbox],.v375-task input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:#1974e8;flex:none}
.v375-worker-row select{width:112px;flex:none}
.v375-inline-hint{margin:3px 0;color:var(--muted);font-size:11px;line-height:1.45}
.v375-inline-form{display:grid;gap:12px;background:color-mix(in srgb,var(--surface) 92%,#9db8d9 8%);border:1px solid var(--line);padding:14px;border-radius:13px}
.v375-inline-form h3{font-size:15px;margin:0}
.v375-form2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v375-form3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.v375-form-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.v375-home .btn.primary{border-radius:11px;min-height:43px;font-size:13px}
.v375-full{width:100%}
.v375-entrylist{display:grid;gap:4px}
.v375-entry{display:flex;align-items:center;gap:10px;padding:12px 3px;border-bottom:1px solid var(--line)}
.v375-entry>div{flex:1;min-width:0}
.v375-entry b{overflow-wrap:anywhere;font-size:13px}
.v375-entry strong{font-size:13px;white-space:nowrap}
.v375-editbtn{border:1px solid var(--line);border-radius:8px;color:var(--text);background:transparent;padding:7px 9px;font-size:11px}
.v375-muted{font-size:12px;color:var(--muted);margin:5px 0}
.v375-supplier{border-top:1px solid var(--line);padding-top:11px}
.v375-supplier summary{font-size:13px;font-weight:750;color:var(--text);padding:8px 2px;cursor:pointer}
.v375-supplier .v375-entry button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px}
.v375-task{display:flex;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line)}
.v375-task span{flex:1;font-size:13px}
.v375-foot{padding:10px 5px;display:grid;gap:7px}
.v375-foot>strong{font-size:13px}
/* Preserve readability on narrow phones and all existing light/dark themes. */
@media(max-width:600px){.v375-home{padding:9px 9px 105px;gap:10px}.v375-context{grid-template-columns:1fr 1fr;gap:7px;padding:10px}.v375-context .v375-today{grid-column:2;justify-self:end;margin-top:0;min-height:32px}.v375-statusbar{gap:6px}.v375-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v375-summary>div{min-height:88px}.v375-module-toggle{padding:12px 10px;gap:8px;min-height:73px}.v375-module-label b{font-size:14px}.v375-module-metric{max-width:95px;font-size:10px}.v375-module-toggle .v37-icon svg{width:21px;height:21px}.v375-module-toggle .v375-num{width:27px;height:27px;font-size:12px}.v375-module-body{padding:11px 10px 15px}.v375-form3{grid-template-columns:1fr 1fr}.v375-form3>label:last-child{grid-column:span 2}.v375-paytabs button{font-size:10px;padding:10px 7px}}
@media(max-width:355px){.v375-module-metric{display:none}.v375-form2{grid-template-columns:1fr}.v375-context{grid-template-columns:1fr}.v375-context .v375-today{grid-column:1}}
@media(prefers-color-scheme:dark){.v375-summary>div{background:#142d44;border-color:#224664;color:#d2e9ff}.v375-summary>div:nth-child(2){background:#3a291d;border-color:#67452b;color:#ffe4c7}.v375-summary>div:nth-child(3){background:#17392e;border-color:#2c644a;color:#c9f9df}.v375-summary>div:nth-child(4){background:#2e2247;border-color:#52396d;color:#eee2ff}.v375-review-tag.reviewed{background:#123f2b;border-color:#296848;color:#c5ffdd}.v375-review-tag.needs{background:#493819;border-color:#745622;color:#ffe2a0}}
[data-theme="dark"] .v375-summary>div{background:#142d44;border-color:#224664;color:#d2e9ff}
[data-theme="dark"] .v375-summary>div:nth-child(2){background:#3a291d;border-color:#67452b;color:#ffe4c7}
[data-theme="dark"] .v375-summary>div:nth-child(3){background:#17392e;border-color:#2c644a;color:#c9f9df}
[data-theme="dark"] .v375-summary>div:nth-child(4){background:#2e2247;border-color:#52396d;color:#eee2ff}

@media(max-width:600px){.v375-home-head h1{font-size:clamp(18px,5vw,23px);white-space:nowrap}.v375-home-head .v37-eyebrow{font-size:10px;letter-spacing:.035em}.v375-version{font-size:9px;padding:6px 5px}}

/* V37.5.1 MOBILE GEOMETRY HOTFIX — presentation only, no ledger/entry changes */
html,body,#app,.app-shell,#main.main-content{max-width:100%;min-width:0}
.v375-home{width:100%;max-width:100%;min-width:0;overflow-x:clip}
.v375-home>*,.v375-home .v375-module,.v375-home .v375-module-body,.v375-home .v375-context,.v375-home .v375-summary{min-width:0;max-width:100%}
.v375-home-head>div{min-width:0}
.v375-home-head h1{overflow-wrap:break-word;word-break:normal;letter-spacing:-.035em!important}
.v375-context label,.v375-context label>*{min-width:0;max-width:100%}
.v375-home .v375-context select,.v375-home .v375-context input{font-size:14px}
.v375-statusbar>*{min-width:0}
.v375-module-toggle .v375-module-label{min-width:0}
.v375-module-label b,.v375-module-label small{overflow-wrap:anywhere}
.v375-module-toggle>span:last-child{flex:none}
.v375-module-metric{min-width:0;overflow-wrap:anywhere}
.v375-form2>*,.v375-form3>*,.v375-inline-form>*{min-width:0}
.v375-entry{min-width:0;flex-wrap:wrap}
.v375-entry>div{min-width:130px}
@media(max-width:760px){
  .v37-page.v375-home{padding:10px 11px calc(105px + env(safe-area-inset-bottom,0px))!important}
  .v37-page.v375-home h1{font-size:clamp(20px,5.4vw,26px)!important;line-height:1.16!important;letter-spacing:-.035em!important}
  .v375-home-head{padding:3px 0;gap:6px}
  .v375-home-head .v37-eyebrow{font-size:9px;letter-spacing:.02em}
  .v375-context{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:11px}
  .v375-context label{font-size:11px}
  .v375-context .v375-today{grid-column:1/-1;justify-self:end;min-height:34px;padding:5px 13px}
  .v375-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .v375-summary>div{padding:12px 10px;min-height:83px}
  .v375-summary strong{font-size:clamp(17px,5vw,22px);overflow-wrap:anywhere}
  .v375-module-toggle{padding:12px 9px;gap:7px;min-height:70px}
  .v375-module-label b{font-size:14px}
  .v375-module-label small{font-size:10px}
  .v375-module-toggle .v375-num{width:27px;height:27px}
  .v375-module-toggle .v37-icon svg{width:20px;height:20px}
  .v375-module-metric{font-size:10px;max-width:80px;line-height:1.2}
  .v375-module-body{padding:11px 9px 15px}
  .v375-tabs,.v375-paytabs{max-width:100%}
  .v375-groupfoot{flex-wrap:wrap}
}
@media(max-width:390px){
  .v375-module-metric{display:none}
  .v375-context{grid-template-columns:minmax(0,1fr)}
  .v375-context .v375-today{grid-column:1}
  .v375-form2,.v375-form3{grid-template-columns:minmax(0,1fr)}
  .v375-form3>label:last-child{grid-column:auto}
  .v375-worker-row{flex-wrap:wrap}
  .v375-worker-row select{width:100%;max-width:100%}
}

/* V37.5.2 shared Site inline editor; keep existing Sites menu and history */
.v375-site-inline{width:100%;max-width:100%;min-width:0;overflow-x:hidden;margin:14px 0;padding:12px!important;border:1px solid var(--line);border-radius:18px;background:var(--surface);gap:12px;}
.v375-site-editor-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:15px}
.v375-site-date{display:grid;gap:5px;max-width:270px;font-size:12px;font-weight:700;color:var(--muted)}
.v375-site-date input{width:100%;min-width:0}
.v375-site-inline .v375-module-body{padding:0;min-width:0}
.v375-paytabs{display:grid!important;grid-template-columns:1.15fr .9fr .85fr 1.15fr;gap:3px;overflow:visible!important;min-width:0;max-width:100%;}
.v375-paytabs button{min-width:0!important;padding:10px 3px!important;font-size:clamp(9px,2.35vw,12px)!important;letter-spacing:-.035em;white-space:nowrap;overflow:visible;text-align:center}
.v375-site-inline .v375-paytabs button{font-size:clamp(9px,2.35vw,12px)!important}
.v375-site-inline .v375-inline-form,.v375-site-inline .v375-subcard,.v375-site-inline .v375-entry{min-width:0;max-width:100%}
@media(max-width:420px){.v375-site-inline{padding:9px!important}.v375-site-editor-top strong{font-size:13px}.v375-paytabs button{font-size:9px!important}}

/* V37.5.3 — compact daily workspace polish, scoped to inline editors. */
.v375-home .v375-module-body, .v375-site-inline .v375-module-body { min-width:0; max-width:100%; overflow-x:clip; gap:9px; }
.v375-home .v375-inline-form, .v375-site-inline .v375-inline-form { gap:9px; padding:11px; border-radius:12px; min-width:0; max-width:100%; }
.v375-home .v375-inline-form label, .v375-site-inline .v375-inline-form label { display:grid; gap:5px; min-width:0; max-width:100%; }
.v375-home .v375-inline-form input, .v375-home .v375-inline-form select, .v375-site-inline .v375-inline-form input, .v375-site-inline .v375-inline-form select { box-sizing:border-box; display:block; width:100%; min-width:0!important; max-width:100%!important; height:42px; min-height:42px; padding:8px 10px; font-size:16px; }
.v375-home input[type=date],.v375-home input[type=time],.v375-site-inline input[type=date],.v375-site-inline input[type=time] { min-width:0!important; max-width:100%!important; -webkit-appearance:none; appearance:none; }
.v375-home .v375-form2,.v375-site-inline .v375-form2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; width:100%; }
.v375-home .v375-form2>label,.v375-site-inline .v375-form2>label { min-width:0; width:100%; overflow:hidden; }
.v375-home .v375-inline-hint,.v375-site-inline .v375-inline-hint { margin:1px 0; font-size:11px; line-height:1.35; }
.v375-home .v375-entry,.v375-site-inline .v375-entry { padding:9px 2px; gap:8px; }
.v375-home .v375-task,.v375-site-inline .v375-task { padding:9px 2px; gap:9px; }
.v375-home .v375-full,.v375-site-inline .v375-full { min-height:43px; }
.v375-home .v375-foot { padding:7px 3px; gap:5px; }
.v375-home .v375-foot .v36-events { max-width:100%; }
.v375-activity-all { justify-self:start; background:transparent; border:0; color:var(--text); font-weight:750; font-size:12px; padding:9px 3px; cursor:pointer; }
@media(max-width:420px) {
  .v375-home .v375-form2,.v375-site-inline .v375-form2 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .v375-home .v375-inline-form,.v375-site-inline .v375-inline-form { padding:10px; gap:8px; }
  .v375-home .v375-form2 input,.v375-home .v375-form2 select,.v375-site-inline .v375-form2 input,.v375-site-inline .v375-form2 select { padding-left:7px; padding-right:7px; }
}
@media(max-width:340px){.v375-home .v375-form2,.v375-site-inline .v375-form2 { grid-template-columns:minmax(0,1fr)!important; }}
