*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --nav:#ffffff;--nav-deep:#eef1f6;--nav-txt:#5a6b85;--nav-icon:#9aa7bd;
  --bg:#eef1f6;--card:#ffffff;--card2:#f7f9fc;
  --ink:#0d1525;--ink2:#5a6b85;--ink3:#9aa7bd;
  --sep:rgba(0,0,0,.07);--sep2:rgba(0,0,0,.12);
  --accent:#2f6bff;--accent2:#5b8cff;--accent-l:#eef3ff;--accent-txt:#1a4fd0;
  --green:#15803d;--green-l:#e7f6ec;
  --orange:#b45309;--orange-l:#fff4e6;--orange-hdr:#fde8cc;--orange-bg:#fff8ec;--orange-txt:#b45309;
  --red:#c01c1c;--red-hdr:#fde8e8;--red-bg:#fff2f2;--red-txt:#c01c1c;--red-light:#fee2e2;
  --glow:rgba(47,107,255,.22);
  --font:'Inter',system-ui,sans-serif;--r:14px;--r-sm:10px;--r-lg:18px;
}
@media(prefers-color-scheme:dark){
  :root{
    --nav:#0b1120;--nav-deep:#070b14;--nav-txt:#6a7d9c;--nav-icon:#3a4a66;
    --bg:#070b14;--card:#0f1626;--card2:#141d31;
    --ink:#e8eefb;--ink2:#8294b4;--ink3:#46587a;
    --sep:rgba(255,255,255,.06);--sep2:rgba(255,255,255,.10);
    --accent:#3d7bfd;--accent2:#5b8cff;--accent-l:#112038;--accent-txt:#7aa6ff;
    --green:#22c55e;--green-l:#0a1f14;
    --orange:#f59e0b;--orange-l:#2a1d05;--orange-hdr:#3a2200;--orange-bg:#241700;--orange-txt:#f0a23c;
    --red:#ef4444;--red-hdr:#3a0d0d;--red-bg:#1c0c0c;--red-txt:#f08a8a;--red-light:#2a0a0a;
    --glow:rgba(61,123,253,.35);
  }
}
/* LOGIN */
.login-screen{position:fixed;inset:0;background:#070f1c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:8000;padding:32px 24px}
.login-screen.hidden{display:none}
.login-logo{width:110px;height:110px;border-radius:24px;margin-bottom:28px;object-fit:cover}
.login-co{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#3a5a80;margin-bottom:6px}
.login-title{font-size:28px;font-weight:700;color:#cce0f8;margin-bottom:32px}
.login-field{width:100%;max-width:320px;margin-bottom:14px}
.login-field label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3a5a80;margin-bottom:6px}
.login-field input{width:100%;background:#111e30;border:1px solid #1a3a6a;border-radius:10px;padding:14px 16px;font-size:16px;font-family:var(--font);color:#cce0f8;outline:none}
.login-field input:focus{border-color:#2a5abf}
.login-btn{width:100%;max-width:320px;background:#2a5abf;border:none;border-radius:10px;padding:16px;font-size:16px;font-weight:700;font-family:var(--font);color:white;cursor:pointer;margin-top:8px;transition:opacity .15s}
.login-btn:active{opacity:.8}
.login-err{color:#e07878;font-size:13px;margin-top:10px;text-align:center;min-height:20px}
.login-switch{margin-top:20px;font-size:13px;color:#3a5a80;text-align:center}
.login-switch span{color:#6a9ae8;cursor:pointer;font-weight:600}
.login-switch span:active{opacity:.7}

html,body{height:100%;overflow:hidden;font-family:var(--font);background:var(--nav-deep);color:var(--ink)}
#app{height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}
.view{display:none;flex:1;overflow:hidden;flex-direction:column}
.view.active{display:flex}
.scroll-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}

/* TOP BAR */
.topbar{background:var(--nav);padding:calc(env(safe-area-inset-top, 48px) + 10px) 16px 10px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.topbar-back{background:none;border:none;cursor:pointer;color:var(--nav-txt);display:flex;align-items:center;gap:4px;font-family:var(--font);font-size:13px;font-weight:500;padding:4px 0}
.topbar-back svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.topbar-title{font-size:16px;font-weight:600;color:var(--ink);flex:1;letter-spacing:-.01em}
.topbar-date-pill{font-size:11px;font-weight:600;color:var(--nav-txt);background:rgba(255,255,255,.07);padding:3px 10px;border-radius:99px;letter-spacing:.02em;white-space:nowrap}
.topbar-gear{background:none;border:none;cursor:pointer;color:var(--nav-txt);padding:4px;display:flex}
.topbar-gear svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* HOME */
.home-hero{background:var(--nav-deep);padding:calc(env(safe-area-inset-top, 48px) + 48px) 20px 32px;text-align:center}
.home-co{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.home-ttl{font-size:34px;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1}
.home-dt{font-size:13px;color:var(--ink2);margin-top:8px}
.home-tiles{padding:20px 16px;display:flex;flex-direction:column;gap:10px}
.tile{background:var(--card);border-radius:var(--r);padding:17px 16px;border:.5px solid var(--sep2);display:flex;align-items:center;gap:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .12s}
.tile:active{opacity:.65}
.tile-ic{width:44px;height:44px;border-radius:10px;background:var(--accent-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tile-ic svg{width:21px;height:21px;stroke:var(--accent);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tile-tx{flex:1;display:flex;flex-direction:column;gap:2px}
.tile-nm{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.tile-ds{font-size:12px;color:var(--ink2);line-height:1.3}
.tile-arr{color:var(--ink3);font-size:20px;font-weight:300;line-height:1}

/* SECTION HEADER */
.sh{background:var(--nav);padding:9px 16px;display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:2;flex-shrink:0}
.sh.red-state{background:var(--red-hdr)}
.sh.orange-state{background:var(--orange-hdr)}
.sh.orange-state svg{stroke:var(--orange-txt)}
.sh.orange-state .sh-lbl{color:var(--orange-txt)}
.delay-box-bg{background:var(--orange-bg)}
.delay-box-bg textarea{background:var(--orange-bg)}
#delay-card.delay-active{background:var(--orange-bg)}
#delay-card.delay-active .fr,#delay-card.delay-active .pill-grp{background:var(--orange-bg)}
#incident-card.incident-active{background:var(--red-bg)}
#incident-card.incident-active .fr,#incident-card.incident-active .pill-grp{background:var(--red-bg)}
.sh svg{width:13px;height:13px;stroke:var(--nav-icon);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sh.red-state svg{stroke:var(--red-txt)}
.sh-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nav-txt);flex:1}
.sh.red-state .sh-lbl{color:var(--red-txt)}
.sh-badge{font-size:10px;font-weight:600;color:var(--nav-txt);background:rgba(255,255,255,.1);padding:1px 7px;border-radius:99px}
.sh.red-state .sh-badge{color:var(--red-txt);background:rgba(255,80,80,.18)}

/* FIELD ROWS */
.fb{background:var(--card);border-bottom:.5px solid var(--sep)}
.fr{padding:12px 16px;border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:10px;background:var(--card)}
.fr:last-child{border-bottom:none}
.fr.col{flex-direction:column;align-items:stretch;gap:5px}
.fl{font-size:11.5px;font-weight:500;color:var(--ink2);min-width:85px;flex-shrink:0}
.fv{font-size:14px;color:var(--ink);flex:1;text-align:right}
.fv.l{text-align:left}
.fv.ph{color:var(--ink3)}
input[type=text],input[type=number],textarea{background:none;border:none;outline:none;font-family:var(--font);font-size:14px;color:var(--ink);width:100%}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}
textarea{resize:none;line-height:1.55;min-height:80px}
::placeholder{color:var(--ink3)}

/* tappable row */
.tap-row{padding:12px 16px;border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--card)}
.tap-row:last-child{border-bottom:none}
.tap-row:active{opacity:.65}
.tap-row-lbl{font-size:14px;color:var(--ink);flex:1}
.tap-row-lbl.ph{color:var(--ink3)}
.tap-row-arr{color:var(--ink3)}
.tap-row-arr svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* project autofill info */
.proj-info{background:var(--accent-l);border-bottom:.5px solid var(--sep)}
.pi-row{padding:7px 16px;border-bottom:.5px solid rgba(0,0,0,.05);display:flex;gap:8px;align-items:baseline}
.pi-row:last-child{border-bottom:none}
.pi-lbl{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-txt);opacity:.6;min-width:72px;flex-shrink:0}
.pi-val{font-size:12.5px;font-weight:500;color:var(--accent-txt)}

/* form section cards */
.form-card{margin:12px 16px;border-radius:16px;overflow:hidden;border:.5px solid var(--sep2);background:var(--card)}
.form-card .sh{position:relative;top:auto;border-radius:0}
.form-card .fr:last-child,.form-card .add-btn:last-child,.form-card .chip-tray:last-child,.form-card .pill-grp:last-child,.form-card>*:last-child{border-bottom:none}
.form-card .wx-card{margin:0;border-radius:0;border:none}
/* weather auto */
.wx-card{margin:12px 16px;border-radius:16px;overflow:hidden;border:.5px solid var(--sep2)}
.wx-card-inner{padding:16px 16px;display:flex;align-items:center;gap:16px}
.wx-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:30px}
.wx-icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wx-cond{font-size:17px;font-weight:700;line-height:1.1}
.wx-sub{font-size:12px;font-weight:500;margin-top:4px;opacity:.7}
.wx-temps-big{font-size:28px;font-weight:700;margin-left:auto;letter-spacing:-.02em}
.wx-temps-lo{font-size:12px;font-weight:500;text-align:right;opacity:.6;margin-top:2px}
.wx-divider{height:.5px;background:rgba(255,255,255,.2)}
.wx-stats{display:flex;padding:10px 16px;gap:0}
.wx-stat{flex:1;text-align:center;font-size:11px;font-weight:600;opacity:.75}
.wx-stat strong{display:block;font-size:14px;font-weight:700;opacity:1;margin-bottom:1px}
.wx-msg{font-size:13px;color:var(--ink3);padding:13px 16px;background:var(--card);border-bottom:.5px solid var(--sep)}

/* yes/no pills */
.pill-grp{display:flex;gap:8px;padding:10px 16px;background:var(--card);border-bottom:.5px solid var(--sep)}
.pill{flex:1;text-align:center;padding:9px 12px;border-radius:var(--r-sm);font-size:13px;font-weight:600;border:1.5px solid var(--sep2);color:var(--ink3);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s;letter-spacing:.01em}
.pill:active{opacity:.7}
.pill.y{background:var(--accent);color:#fff;border-color:var(--accent)}
.pill.n{background:var(--accent-l);color:var(--accent-txt);border-color:var(--accent)}
.pill.y-red{background:var(--red);color:#fff;border-color:var(--red)}
.pill.n-red{background:var(--accent-l);color:var(--accent-txt);border-color:var(--accent)}
.pill.y-orange{background:var(--orange);color:#fff;border-color:var(--orange)}

/* manpower rows */
.mp-row{background:var(--card);border-bottom:.5px solid var(--sep);padding:10px 16px;display:flex;align-items:center;gap:10px}
.mp-av{width:30px;height:30px;border-radius:50%;background:var(--accent-l);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent-txt);flex-shrink:0;letter-spacing:-.01em}
.mp-info{flex:1}
.mp-name{font-size:14px;font-weight:500;color:var(--ink)}
.mp-div{font-size:11px;color:var(--ink2)}
.mp-hrs-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.mp-chips{display:flex;gap:4px}
.mp-chip{padding:3px 7px;border-radius:99px;font-size:11px;font-weight:600;font-family:var(--font);border:.5px solid var(--sep2);background:var(--bg);color:var(--ink2);cursor:pointer;transition:all .12s}
.mp-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.mp-stepper{display:flex;align-items:center;gap:6px}
.mp-step-btn{width:24px;height:24px;border-radius:50%;border:none;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;font-family:var(--font)}
.mp-step-btn.minus{background:#fee2e2;color:#b01818}
.mp-step-btn.plus{background:#d1fae5;color:#065f46}
.mp-step-btn:active{opacity:.7}
.mp-hrs-val{font-size:13px;font-weight:700;color:var(--ink);min-width:32px;text-align:center}
.rm-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--ink3);display:flex;flex-shrink:0}
.rm-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* add button */
.add-btn{padding:11px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}
.add-btn:active{opacity:.65}
.add-btn svg{width:16px;height:16px;stroke:var(--accent);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.add-btn-lbl{font-size:13px;font-weight:600;color:var(--accent)}

/* deliveries */
.del-row{background:var(--card);border-bottom:.5px solid var(--sep);padding:11px 16px}
.del-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.del-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}
.del-mat{flex:1}
.del-mat input{font-size:14px;font-weight:500;color:var(--ink)}
.del-subs{display:flex;gap:10px}
.del-sub{flex:1;border-bottom:.5px solid var(--sep2);padding-bottom:3px}
.del-sub:last-child{border-bottom:none}
.del-sublbl{font-size:10px;color:var(--ink3);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.del-sub input{font-size:13px;color:var(--ink)}

/* chips */
.chip-tray{padding:10px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.chip-tray:empty{min-height:0;padding:0;border-bottom:none}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 8px;border-radius:99px;font-size:12px;font-weight:500}
.chip.blue{background:var(--accent-l);color:var(--accent-txt)}
.chip.red-chip{background:var(--red-light);color:var(--red)}
@media(prefers-color-scheme:dark){.chip.red-chip{background:#250808;color:#e07070}}
.chip-x{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:0;color:inherit;opacity:.6;display:flex;align-items:center}

/* incident box */
.inc-box-bg{background:var(--red-bg)}

/* photo grid */
.photo-grid{padding:12px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.photo-thumb{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;border:.5px solid var(--sep2)}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.photo-rm{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);border:none;cursor:pointer;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}
.photo-add{aspect-ratio:1;border-radius:var(--r-sm);border:1.5px dashed var(--sep2);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none}
.photo-add:active{opacity:.65}
.photo-add svg{width:22px;height:22px;stroke:var(--ink3);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.photo-add-lbl{font-size:10px;color:var(--ink3);font-weight:500}
input[type=file]{display:none}

/* submitter card */
.sub-card{margin:12px 16px;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);overflow:hidden}
.sub-hdr{padding:9px 16px;background:var(--nav-deep);display:flex;align-items:center;gap:8px}
.sub-hdr svg{width:13px;height:13px;stroke:var(--nav-txt);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sub-hdr-lbl{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--nav-txt)}

/* attestation / signature */
.attest-row{margin:0 16px 12px;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);overflow:hidden}
.attest-txt{font-size:12px;color:var(--ink2);line-height:1.55;padding:12px 14px;border-bottom:.5px solid var(--sep)}
.sig-area{padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}
.sig-area:active{opacity:.7}
.sig-preview{flex:1;height:48px;border-radius:8px;border:1.5px solid var(--sep2);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sig-preview img{width:100%;height:100%;object-fit:contain}
.sig-preview-ph{font-size:12px;color:var(--ink3);font-weight:500}
.sig-lbl{font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap}
/* signature overlay */
.sig-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.sig-overlay.open{transform:translateY(0)}
.sig-overlay-hdr{padding:16px 16px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.sig-overlay-ttl{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.sig-overlay-sub{font-size:12px;color:var(--ink3);margin-top:2px}
.sig-canvas-wrap{flex:1;margin:0 16px;border-radius:16px;border:1.5px solid var(--sep2);background:#fff;overflow:hidden;position:relative}
.sig-canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none}
.sig-baseline{position:absolute;bottom:22%;left:5%;right:5%;height:.5px;background:rgba(0,0,0,.12);pointer-events:none}
.sig-overlay-ftr{padding:16px;display:flex;gap:10px;flex-shrink:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.sig-clear-btn{flex:1;padding:14px;background:var(--bg);border:.5px solid var(--sep2);border-radius:var(--r);font-family:var(--font);font-size:15px;font-weight:600;color:var(--ink2);cursor:pointer}
.sig-done-btn{flex:2;padding:14px;background:var(--accent);border:none;border-radius:var(--r);font-family:var(--font);font-size:15px;font-weight:600;color:#fff;cursor:pointer}

/* CTA */
.cta-wrap{padding:8px 16px 16px}
.cta-btn{width:100%;padding:14px;background:var(--accent);color:#fff;font-family:var(--font);font-size:15px;font-weight:600;border:none;border-radius:var(--r);cursor:pointer;letter-spacing:.01em;transition:opacity .15s}
.cta-btn:active{opacity:.8}
.cta-btn:disabled{opacity:.35;cursor:default}

/* gap */
.gap{height:12px;flex-shrink:0}
.gap-sm{height:6px;flex-shrink:0}

/* BOTTOM SHEET */
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:50;opacity:0;pointer-events:none;transition:opacity .22s}
.backdrop.open{opacity:1;pointer-events:all}
.sheet{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-radius:18px 18px 0 0;z-index:51;transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);max-height:82vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.sheet.open{transform:translateY(0)}
.sh-handle{width:38px;height:4px;background:var(--sep2);border-radius:99px;margin:10px auto 0;flex-shrink:0}
.sh-ttl{font-size:15px;font-weight:600;color:var(--ink);padding:11px 16px 9px;text-align:center;border-bottom:.5px solid var(--sep);flex-shrink:0}
.sh-search-wrap{padding:10px 16px;flex-shrink:0}
.sh-search{background:var(--bg);border-radius:8px;border:.5px solid var(--sep2);padding:8px 12px;display:flex;align-items:center;gap:7px}
.sh-search svg{width:15px;height:15px;stroke:var(--ink3);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sh-search input{background:none;border:none;outline:none;font-family:var(--font);font-size:14px;color:var(--ink);flex:1}
.sh-list{overflow-y:auto;flex:1}
.sh-item{padding:13px 16px;border-bottom:.5px solid var(--sep);cursor:pointer;-webkit-user-select:none;user-select:none}
.sh-item:active{background:var(--bg)}
.sh-item-name{font-size:14px;font-weight:500;color:var(--ink)}
.sh-item-sub{font-size:12px;color:var(--ink2);margin-top:2px}
.sh-item.sel .sh-item-name{color:var(--accent);font-weight:600}
.sh-cancel{padding:14px;text-align:center;font-size:15px;font-weight:600;color:var(--ink2);cursor:pointer;border-top:.5px solid var(--sep);flex-shrink:0}
.sh-cancel:active{opacity:.65}
.sh-empty{padding:24px 16px;text-align:center;font-size:13px;color:var(--ink3)}

/* review */
#sheet-review{max-height:94vh}
.rv-hero{background:var(--nav);padding:16px;text-align:center}
.rv-hero-ttl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-txt)}
.rv-hero-site{font-size:18px;font-weight:700;color:var(--ink);margin-top:4px;letter-spacing:-.01em}
.rv-hero-meta{font-size:12px;color:var(--nav-txt);margin-top:3px}
.rv-sec-hdr{background:var(--nav);padding:6px 16px;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nav-txt)}
.rv-sec-hdr.red{background:var(--red-hdr);color:var(--red-txt)}
.rv-row{padding:9px 16px;border-bottom:.5px solid var(--sep);display:flex;gap:8px;background:var(--card)}
.rv-lbl{font-size:11.5px;color:var(--ink2);min-width:88px;flex-shrink:0;padding-top:1px}
.rv-val{font-size:13px;color:var(--ink);flex:1;line-height:1.45}

/* previous / dashboard */
.log-list{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.log-card{background:var(--card);border-radius:16px;border:.5px solid var(--sep2);padding:14px}
.log-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.log-av{width:38px;height:38px;border-radius:50%;background:var(--accent-l);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--accent-txt);flex-shrink:0;letter-spacing:-.01em}
.log-meta{flex:1}
.log-site{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.log-who{font-size:12px;color:var(--ink2);margin-top:1px}
.log-badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:99px;letter-spacing:.03em}
.log-badge.sub{background:var(--accent-l);color:var(--accent-txt)}
.log-badge.rev{background:var(--green-l);color:var(--green)}
.log-stats{display:flex;gap:16px;padding-top:10px;border-top:.5px solid var(--sep)}
.log-stat{font-size:11px;color:var(--ink2)}
.log-stat strong{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:1px}
.log-card{cursor:pointer}
.log-chevron{width:16px;height:16px;stroke:var(--ink3);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;flex-shrink:0}
.log-card.expanded .log-chevron{transform:rotate(180deg)}
.log-recap{display:none;margin-top:12px;padding-top:12px;border-top:.5px solid var(--sep)}
.log-card.expanded .log-recap{display:block}
.recap-row{display:flex;gap:8px;padding:7px 0;border-bottom:.5px solid var(--sep);align-items:flex-start}
.recap-row:last-child{border-bottom:none}
.recap-lbl{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);width:80px;flex-shrink:0;padding-top:1px}
.recap-val{font-size:12px;color:var(--ink);flex:1;line-height:1.5}
.recap-flag{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;margin-right:4px}
.recap-flag.red{background:var(--red-bg);color:var(--red-txt)}
.recap-flag.orange{background:var(--orange-l);color:var(--orange)}
.recap-sig{height:36px;border-radius:6px;border:.5px solid var(--sep2);background:#fff;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;margin-top:4px}
.recap-sig img{height:100%;max-width:140px;object-fit:contain}
.dash-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}
.stat-card{background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);padding:15px}
.stat-val{font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1}
.stat-lbl{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-top:5px}
.dash-sec-lbl{padding:0 16px 8px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.dash-logs{padding:0 16px 20px;display:flex;flex-direction:column;gap:8px}

/* settings */
.set-account{padding:18px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:14px}
.set-av{width:46px;height:46px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}
.set-av-name{font-size:15px;font-weight:600;color:var(--ink)}
.set-av-role{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-top:2px}
.set-sec{padding:6px 16px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--bg)}
.set-row{padding:14px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:flex;align-items:center;justify-content:space-between;gap:10px}
.set-row-lbl{font-size:14px;font-weight:500;color:var(--ink)}
.set-seg{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:3px}
.set-seg-btn{border:none;background:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;font-family:var(--font);color:var(--ink2);cursor:pointer;transition:all .15s}
.set-seg-btn.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.set-danger{padding:14px 16px;background:var(--card);border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:8px;cursor:pointer}
.set-danger svg{width:15px;height:15px;stroke:var(--red);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.set-danger span{font-size:14px;font-weight:500;color:var(--red)}
/* theme overrides */
html[data-theme="light"]{--nav:#ffffff;--nav-deep:#eef1f6;--nav-txt:#5a6b85;--nav-icon:#9aa7bd;--bg:#eef1f6;--card:#ffffff;--card2:#f7f9fc;--ink:#0d1525;--ink2:#5a6b85;--ink3:#9aa7bd;--sep:rgba(0,0,0,.07);--sep2:rgba(0,0,0,.12);--accent:#2f6bff;--accent2:#5b8cff;--accent-l:#eef3ff;--accent-txt:#1a4fd0;--green:#15803d;--green-l:#e7f6ec;--orange:#b45309;--orange-l:#fff4e6;--orange-hdr:#fde8cc;--orange-bg:#fff8ec;--orange-txt:#b45309;--red:#c01c1c;--red-hdr:#fde8e8;--red-bg:#fff2f2;--red-txt:#c01c1c;--red-light:#fee2e2;--glow:rgba(47,107,255,.22)}
html[data-theme="dark"]{--nav:#0b1120;--nav-deep:#070b14;--nav-txt:#6a7d9c;--nav-icon:#3a4a66;--bg:#070b14;--card:#0f1626;--card2:#141d31;--ink:#e8eefb;--ink2:#8294b4;--ink3:#46587a;--sep:rgba(255,255,255,.06);--sep2:rgba(255,255,255,.10);--accent:#3d7bfd;--accent2:#5b8cff;--accent-l:#112038;--accent-txt:#7aa6ff;--green:#22c55e;--green-l:#0a1f14;--orange:#f59e0b;--orange-l:#2a1d05;--orange-hdr:#3a2200;--orange-bg:#241700;--orange-txt:#f0a23c;--red:#ef4444;--red-hdr:#3a0d0d;--red-bg:#1c0c0c;--red-txt:#f08a8a;--red-light:#2a0a0a;--glow:rgba(61,123,253,.35)}

/* admin center */
.admin-section{margin:12px 16px;border-radius:16px;overflow:hidden;border:.5px solid var(--sep2);background:var(--card)}
.admin-section .sh{position:relative;top:auto;cursor:pointer;user-select:none}
.admin-section>*:last-child,.admin-section .emp-card:last-child,.admin-section .proj-card:last-child{border-bottom:none}
.admin-section-body{display:none}
.admin-section.open .admin-section-body{display:block}
.admin-chevron{width:15px;height:15px;stroke:var(--ink3);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;margin-left:auto;flex-shrink:0}
.admin-section.open .admin-chevron{transform:rotate(180deg)}
.emp-card{background:var(--card);border-bottom:.5px solid var(--sep);padding:13px 16px;display:flex;align-items:center;gap:12px}
.emp-av{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--accent-l);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent);flex-shrink:0;overflow:hidden}
.emp-av img{width:100%;height:100%;object-fit:cover}
.emp-name{font-size:14px;font-weight:600;color:var(--ink)}
.emp-div{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin-top:2px}
.emp-div-badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.div-concrete{background:#fef3c7;color:#92400e}
.div-masonry{background:#ede9fe;color:#5b21b6}
.div-landscape{background:#d1fae5;color:#065f46}
.div-operations{background:#dbeafe;color:#1e40af}
.proj-card{background:var(--card);border-bottom:.5px solid var(--sep);padding:13px 16px}
.proj-name{font-size:14px;font-weight:600;color:var(--ink)}
.proj-meta{font-size:12px;color:var(--ink3);margin-top:2px}
.admin-empty{padding:24px 16px;text-align:center;color:var(--ink3);font-size:13px;background:var(--card)}
.div-opt{padding:11px 14px;border-radius:10px;border:.5px solid var(--sep2);background:var(--bg);font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;text-align:center;transition:all .15s}
.div-opt.active{border-color:var(--accent);background:var(--accent-l);color:var(--accent-txt)}
/* toast */
.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(20px);background:#1a2333;color:#ddeeff;font-size:13px;font-weight:500;padding:9px 18px;border-radius:99px;opacity:0;transition:opacity .2s,transform .2s;z-index:100;white-space:nowrap;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* GREETING */
.home-greeting{padding:20px 20px 4px;text-align:center}
.home-greet-txt{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.home-greet-sub{font-size:13px;color:var(--ink2);margin-top:4px}
.home-status-bar{margin:0 16px 4px;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);padding:11px 16px;display:flex;align-items:center;gap:10px}
.home-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.home-status-dot.warn{background:var(--orange)}
.home-status-txt{font-size:12.5px;color:var(--ink2);flex:1}

/* LOCKED TILE */
.tile-lock{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tile-lock svg{width:16px;height:16px;stroke:var(--ink3);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* PIN SHEET */
.pin-dots{display:flex;gap:14px;justify-content:center;padding:24px 0 20px}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--sep2);transition:all .15s}
.pin-dot.filled{background:var(--accent);border-color:var(--accent)}
.pin-dot.err{background:var(--red);border-color:var(--red)}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 24px 16px}
.pin-key{background:var(--bg);border:.5px solid var(--sep2);border-radius:var(--r);padding:16px;font-size:20px;font-weight:600;color:var(--ink);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .12s;font-family:var(--font)}
.pin-key:active{opacity:.55}
.pin-key.del{font-size:14px;color:var(--ink2)}
.pin-key.empty{background:none;border-color:transparent;cursor:default}
.pin-hint{text-align:center;font-size:12px;color:var(--ink3);padding:0 16px 16px}

/* DASHBOARD CHARTS */
.dash-hdr{background:var(--nav-deep);padding:16px}
.dash-hdr-co{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-icon)}
.dash-hdr-period{font-size:20px;font-weight:700;color:var(--ink);margin-top:3px;letter-spacing:-.02em}
.period-row{display:flex;gap:6px;margin-top:10px}
.period-btn{padding:5px 14px;border-radius:99px;font-size:12px;font-weight:600;border:.5px solid rgba(255,255,255,.12);color:var(--nav-txt);background:none;cursor:pointer;font-family:var(--font);transition:all .15s}
.period-btn.active{background:rgba(255,255,255,.12);color:#ddeeff;border-color:rgba(255,255,255,.25)}
.dash-top-site{margin:14px 16px 0;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);padding:14px;position:relative;overflow:hidden}
.dash-top-site::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent)}
.dash-top-lbl{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.dash-top-name{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.dash-top-meta{font-size:12px;color:var(--ink2);margin-top:3px}
.dash-inc-alert{margin:10px 16px 0;background:var(--red-bg);border-radius:var(--r);border:.5px solid rgba(176,24,24,.2);padding:12px 14px}
.dash-inc-hdr{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.dash-inc-hdr svg{width:13px;height:13px;stroke:var(--red);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dash-inc-item{font-size:12.5px;color:var(--red);padding:4px 0;border-bottom:.5px solid rgba(176,24,24,.1)}
.dash-inc-item:last-child{border-bottom:none}
.chart-card{margin:10px 16px 0;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);padding:14px}
.chart-ttl{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px}
.chart-wrap{position:relative;height:180px}
.chart-wrap.sm{height:140px}
.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 16px 0}
.chart-row .chart-card{margin:0}
.chart-legend{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.legend-item{display:flex;align-items:center;gap:7px}
.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.legend-lbl{font-size:11px;color:var(--ink2);flex:1}
.legend-val{font-size:11px;font-weight:600;color:var(--ink)}
.leaderboard{margin:10px 16px 0;background:var(--card);border-radius:var(--r);border:.5px solid var(--sep2);overflow:hidden}
.lb-hdr{background:var(--nav);padding:8px 14px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--nav-txt)}
.lb-row{padding:11px 14px;border-bottom:.5px solid var(--sep);display:flex;align-items:center;gap:10px}
.lb-row:last-child{border-bottom:none}
.lb-rank{font-size:12px;font-weight:700;color:var(--ink3);min-width:18px}
.lb-av{width:28px;height:28px;border-radius:50%;background:var(--accent-l);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--accent-txt);flex-shrink:0}
.lb-name{font-size:13px;font-weight:500;color:var(--ink);flex:1}
.lb-sub{font-size:11px;color:var(--ink2)}
.lb-hrs{font-size:14px;font-weight:700;color:var(--accent-txt)}
.lb-hrslbl{font-size:10px;color:var(--ink3)}
.dash-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dash-bar-row:last-child{margin-bottom:0}
.dash-bar-lbl{font-size:11px;color:var(--ink2);min-width:56px;text-align:right;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-bar-track{flex:1;height:8px;background:var(--bg);border-radius:99px;overflow:hidden}
.dash-bar-fill{height:100%;border-radius:99px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.dash-bar-num{font-size:11px;font-weight:600;color:var(--ink);min-width:32px}
.dash-filter-row{padding:10px 16px 0;display:flex;gap:6px;flex-wrap:wrap}
.dash-filter-chip{padding:5px 12px;border-radius:99px;font-size:12px;font-weight:600;border:.5px solid var(--sep2);color:var(--ink2);background:var(--card);cursor:pointer;-webkit-user-select:none;user-select:none}
.dash-filter-chip.active{background:var(--accent-l);color:var(--accent-txt);border-color:var(--accent-l)}
.flag-btn{background:none;border:.5px solid var(--sep2);border-radius:var(--r-sm);padding:4px 10px;font-size:11px;font-weight:600;color:var(--ink2);cursor:pointer;font-family:var(--font);display:flex;align-items:center;gap:4px}
.flag-btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.flag-btn.flagged{background:var(--orange-l);color:var(--orange);border-color:var(--orange)}
@media(prefers-color-scheme:dark){.flag-btn.flagged{background:#1a1000}}
/* submit confirm screen */
.submit-confirm{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.submit-confirm.open{transform:translateY(0)}
.sc-circle{width:110px;height:110px;margin-bottom:28px}
.sc-circle .sc-bg{fill:#052010;transition:fill .3s .5s}
.submit-confirm.open .sc-circle .sc-bg{fill:#16a34a}
.sc-circle circle{fill:none;stroke:#22c55e;stroke-width:4;stroke-dasharray:283;stroke-dashoffset:283;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1) .1s}
.sc-circle polyline{fill:none;stroke:#fff;stroke-width:5;stroke-dasharray:70;stroke-dashoffset:70;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .4s cubic-bezier(.4,0,.2,1) .65s}
.submit-confirm.open .sc-circle circle{stroke-dashoffset:0}
.submit-confirm.open .sc-circle polyline{stroke-dashoffset:0}
#sc-confetti{position:absolute;inset:0;pointer-events:none;z-index:1}
.sc-title{font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;opacity:0;transform:translateY(12px);transition:opacity .4s .8s,transform .4s .8s}
.sc-sub{font-size:14px;color:var(--ink2);margin-bottom:4px;opacity:0;transform:translateY(10px);transition:opacity .35s 1s,transform .35s 1s}
.sc-date{font-size:13px;color:var(--ink3);opacity:0;transform:translateY(10px);transition:opacity .35s 1.1s,transform .35s 1.1s}
.submit-confirm.open .sc-title,.submit-confirm.open .sc-sub,.submit-confirm.open .sc-date{opacity:1;transform:translateY(0)}
.sc-actions{position:absolute;bottom:0;left:0;right:0;padding:20px 24px calc(env(safe-area-inset-bottom)+20px);display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(16px);transition:opacity .35s 1.2s,transform .35s 1.2s}
.submit-confirm.open .sc-actions{opacity:1;transform:translateY(0)}
.sc-done{width:100%;padding:15px;background:var(--accent);color:#fff;font-family:var(--font);font-size:15px;font-weight:700;border:none;border-radius:14px;cursor:pointer}
.sc-edit{width:100%;padding:13px;background:none;color:var(--ink2);font-family:var(--font);font-size:15px;font-weight:600;border:.5px solid var(--sep2);border-radius:14px;cursor:pointer}
.ios-toggle{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}
.ios-toggle input{opacity:0;width:0;height:0;position:absolute}
.ios-toggle-track{position:absolute;inset:0;background:var(--sep2);border-radius:99px;cursor:pointer;transition:background .15s}
.ios-toggle input:checked~.ios-toggle-track{background:var(--accent)}
.ios-toggle-thumb{position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:left .15s;pointer-events:none}
.ios-toggle input:checked~.ios-toggle-track~.ios-toggle-thumb,.ios-toggle input:checked+.ios-toggle-track+.ios-toggle-thumb{left:21px}

/* export PDF button */
.log-export-btn{display:none;margin-top:12px;width:100%;padding:10px;background:var(--accent);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;font-family:var(--font);cursor:pointer;letter-spacing:.02em}
.is-admin .log-card.expanded .log-export-btn{display:block}

/* ── PRINT / PDF ── */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body>*{display:none!important}
  #pdf-frame{display:block!important}
  @page{size:letter portrait;margin:0}
}
#pdf-frame{display:none;width:8.5in;min-height:11in;font-family:'Barlow Condensed','Rajdhani',system-ui,sans-serif;background:#0b1220;color:#cce0f8;box-sizing:border-box}
.pdf-page{width:8.5in;min-height:11in;padding:.45in .5in .45in .5in;box-sizing:border-box;background:#0b1220;position:relative}
.pdf-header{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1.5px solid #1e3050;margin-bottom:20px}
.pdf-logo{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0}
.pdf-brand{flex:1}
.pdf-brand-name{font-size:22px;font-weight:800;color:#cce0f8;letter-spacing:-.01em;line-height:1}
.pdf-brand-sub{font-size:11px;color:#5a7898;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.pdf-brand-url{font-size:10px;color:#2a5abf;margin-top:2px}
.pdf-title-block{text-align:right}
.pdf-doc-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ff6a13}
.pdf-doc-date{font-size:12px;color:#5a7898;margin-top:3px}
.pdf-doc-num{font-size:20px;font-weight:800;color:#cce0f8;letter-spacing:-.02em;margin-top:2px}
.pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.pdf-grid-wide{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
.pdf-card{background:#111e30;border-radius:12px;border:.5px solid rgba(255,255,255,.09);overflow:hidden}
.pdf-card-hdr{background:#1a2d45;padding:7px 14px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ff6a13;border-bottom:.5px solid rgba(255,255,255,.07)}
.pdf-card-body{padding:10px 14px}
.pdf-row{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 0;border-bottom:.5px solid rgba(255,255,255,.05);gap:12px}
.pdf-row:last-child{border-bottom:none}
.pdf-lbl{font-size:10px;font-weight:700;color:#5a7898;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.pdf-val{font-size:11px;color:#cce0f8;text-align:right;line-height:1.45;word-break:break-word}
.pdf-val-full{font-size:11px;color:#cce0f8;line-height:1.6;padding:4px 0}
.pdf-flag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}
.pdf-flag.red{background:#2a0a0a;color:#e07878;border:.5px solid #4a0808}
.pdf-flag.orange{background:#1a1000;color:#ff6a13;border:.5px solid #3a2000}
.pdf-flag.none{color:#5a7898;font-size:10px}
.pdf-crew-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pdf-crew-item{font-size:10.5px;color:#cce0f8;padding:3px 0;border-bottom:.5px solid rgba(255,255,255,.04)}
.pdf-crew-hrs{font-size:10px;color:#5a7898}
.pdf-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 14px}
.pdf-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:.5px solid rgba(255,255,255,.09)}
.pdf-sig-block{display:flex;align-items:flex-end;gap:24px;padding:10px 14px}
.pdf-sig-img{height:56px;flex:1;background:#fff;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pdf-sig-img img{height:100%;max-width:100%;object-fit:contain}
.pdf-sig-meta{font-size:10px;color:#5a7898;line-height:1.7;text-align:right}
.pdf-sig-name{font-size:13px;font-weight:700;color:#cce0f8}
.pdf-footer{margin-top:20px;padding-top:12px;border-top:.5px solid #1e3050;display:flex;justify-content:space-between;align-items:center}
.pdf-footer-txt{font-size:9px;color:#2a3a50;letter-spacing:.04em}
