:root{--ink:#183d6e;--blue:#2f67ac;--line:#cddcf0;--green:#dce9ba;--paper:#fff;--danger:#b3261e}*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#1c2d42;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}main{max-width:1220px;margin:auto;padding:36px 24px 80px}header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}h1{margin:2px 0 6px;color:var(--ink);font-size:clamp(2rem,5vw,3.3rem);letter-spacing:-.04em}.eyebrow{color:var(--blue);font-weight:750;margin:0;letter-spacing:.08em;font-size:.78rem}.header-actions{display:flex;align-items:start;gap:12px}.total{padding:14px 20px;background:var(--green);border-radius:14px;min-width:150px;text-align:right}.total span{display:block;font-size:.8rem;color:#45613e}.total strong{font-size:1.65rem;color:#264b35}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 25px #183d6e0a}.identity{display:grid;grid-template-columns:1.2fr auto 1fr 1fr;gap:14px;align-items:end;margin-bottom:14px}label{display:grid;gap:6px;font-size:.83rem;font-weight:700;color:var(--ink)}small{color:#59708d;font-weight:600}input,select,button{font:inherit}input:not([type=checkbox]),select{width:100%;border:1px solid #aabed9;border-radius:8px;padding:10px 11px;background:#fff;color:#17283c}button{border:0;border-radius:8px;padding:11px 16px;background:var(--blue);color:white;font-weight:750;cursor:pointer;white-space:nowrap}.secondary{background:#e8f0fa;color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}#notice{min-height:22px;margin:4px 0 10px;color:#417043;font-weight:650}.quick-actions{margin-bottom:14px;background:#f7fbff}.quick-actions label,.day-title,.flags label{display:flex;align-items:center;gap:7px}.quick-actions span{font-weight:500;color:#59708d}.days{display:grid;gap:14px}.day{display:grid;grid-template-columns:142px minmax(220px,1fr) minmax(205px,.65fr) 140px 190px;gap:14px;align-items:end}.day.inactive{opacity:.58}.day h2{font-size:1rem;margin:0}.date{font-size:.82rem;color:#59708d}.timing{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:42px}.flags label{font-size:.78rem}.flags select{width:48px;padding:5px}.hours{text-align:center;padding:10px;background:var(--green);border-radius:8px;font-weight:800;color:#355c31}.field-star{color:var(--danger);font-size:1.1em;font-weight:900}footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}dialog{border:0;border-radius:14px;box-shadow:0 20px 60px #0004;padding:0;width:min(700px,92vw)}dialog form{padding:22px}dialog h2{color:var(--ink);margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.admin-list{margin-top:16px;max-height:350px;overflow:auto}.admin-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.admin-row a{color:var(--blue);font-weight:700}.delete{background:#fee8e6;color:#9f1710}.muted{color:#59708d;font-weight:500}@media(max-width:900px){main{padding:24px 16px}header{flex-direction:column}.header-actions{align-items:center}.identity,.day{grid-template-columns:1fr 1fr}.identity button,.day>div:first-child,.day .flags{grid-column:span 2}.total{text-align:left}}
.brand-logo{display:block;width:min(285px,75vw);height:auto;margin:0 0 12px}
.pdf-hover{position:relative;display:inline-block}.pdf-hover iframe{display:none;position:absolute;right:0;top:24px;width:720px;height:460px;background:#fff;border:1px solid #9bb4d4;border-radius:8px;box-shadow:0 14px 35px #0003;z-index:10}.pdf-hover:hover iframe{display:block}
.pdf-hover iframe{width:1050px!important;height:700px!important}
.mail-recipient{display:flex;align-items:center;gap:8px;margin:10px 0}.mail-recipient input{width:auto}
@media(max-width:600px){main{padding:18px 14px 48px!important}header{gap:14px!important}.header-actions{width:100%;flex-wrap:wrap}.identity{grid-template-columns:1fr!important}.identity button{grid-column:auto!important}.quick-actions{padding:14px!important}.quick-actions label{align-items:flex-start!important}.quick-actions span{line-height:1.4}.day{grid-template-columns:1fr!important;gap:14px!important;padding:16px!important}.day>div:first-child,.day .flags{grid-column:auto!important}.day .timing{grid-template-columns:1fr 1fr!important}.day .flags{gap:10px!important}.day .hours{width:100%}.total{min-width:0!important}.pdf-hover iframe{right:auto;left:0;width:calc(100vw - 32px)!important;height:520px!important}}
@media(max-width:600px){.day{display:block!important}.day>div{width:100%!important;margin:0 0 16px!important}.day>div:last-child{margin-bottom:0!important}.day .timing{width:100%!important}.day input:not([type=checkbox]),.day select{min-width:0!important;max-width:100%!important}.day .flags{display:flex!important;align-items:center!important}.day .hours{margin-bottom:12px!important}.identity label,.identity input,.identity select{min-width:0!important;width:100%!important}}
.signature-canvas,#signatureCanvas{display:block;width:100%;height:auto;touch-action:none;border:1px dashed #8da8ca;border-radius:10px;background:#fff;cursor:crosshair}.signature-actions{flex-wrap:wrap}
.signature-control{display:grid;gap:5px;align-self:end}.signature-control small{max-width:185px;line-height:1.25}.signature-assigned{background:#dce9ba;color:#355c31}
.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-actions button{padding:8px 10px;font-size:.78rem}@media(max-width:600px){.admin-user{align-items:flex-start;flex-direction:column}.admin-actions{justify-content:flex-start}}
.app-version{margin:0;padding:0 14px 14px;text-align:center;color:#59708d;font-size:.76rem;font-weight:700}
.job-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.job-fields label{min-width:0}
@media(max-width:600px){
  main{max-width:100%;overflow-x:hidden}
  .auth-shell{padding:18px 14px!important}.auth-card{width:100%}
  header .header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.header-actions .total{grid-column:span 2;width:100%}
  footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}footer button{width:100%;padding:12px 8px}
  dialog{width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 20px);margin:auto;overflow-y:auto}
  dialog form{padding:16px;max-height:calc(100dvh - 20px);overflow-y:auto}
  #signatureDialog{overscroll-behavior:contain}#signatureCanvas{width:100%;height:180px;max-height:30dvh}
  #signatureDialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:sticky;bottom:0;z-index:1;padding:12px 0 0;background:#fff}
  #signatureDialog .dialog-actions button{width:100%;padding:11px 6px;font-size:.82rem}
  .quick-actions label{display:flex!important;align-items:flex-start!important}.quick-actions input{margin-top:3px}
  .job-fields{grid-template-columns:1fr}.job-fields label{margin:0!important}
}
