:root{--sky:#53d8f8;--prussian:#01344b;--coral:#4a5764;--columbia:#b2cede;--ground:#f2f6f8;--panel:#fff;--panel-2:#e6eef3;--line:#cfdee7;--line-strong:#b2cede;--ink:#0e1a22;--ink-2:#4a5764;--ink-3:#63757f;--brand:#01344b;--brand-ink:#fff;--cta:#53d8f8;--cta-ink:#01344b;--nav:#01344b;--nav-ink:#fff;--accent:#53d8f8;--brand-soft:#dcebf3;--today:#e4f5fb;--link:#0e6e93;--amber:#8a5510;--amber-soft:#f7e8cf;--red:#a4392a;--red-soft:#f3dcd7;--bc:#0e6e93;--bc-soft:#dceff7;--wc:#1f8a7d;--wc-soft:#d9efeb;--cc:#7b4fa0;--cc-soft:#eae0f2;--pc:#b05a2a;--pc-soft:#f4e3d7;--ewp:#8f6e0b;--ewp-soft:#f4ebcc;--ck:#a34a6b;--ck-soft:#f2dee6;--t-2xs:10px;--t-xs:11px;--t-sm:12px;--t-base:13px;--t-md:14px;--t-lg:16px;--t-xl:18px;--t-2xl:20px;--t-3xl:24px;--lh-tight:1.25;--lh-snug:1.4;--lh-base:1.55;--fw-normal:400;--fw-medium:500;--fw-semi:600;--fw-bold:700;--track-tight:-.01em;--track-label:.08em;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--s-hair:2px;--s-1:4px;--s-15:6px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-full:999px;--radius:var(--r-lg);--sh-1:0 1px 2px #01344b14;--sh-2:0 2px 6px #01344b1a;--sh-3:0 10px 30px #01344b29;--sh-pin:0 1px 5px #01344b61;--shadow:var(--sh-3);--ctl-sm:28px;--ctl-md:34px;--ctl-lg:40px;--tab-h:48px;--tab-h-on:52px;--dt-row:52px;--rail:90px;--ico-sm:14px;--ico-md:16px;--ico-lg:20px;--ico-xl:24px;--focus:0 0 0 3px #53d8f88c;--tap:44px}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--t-md);line-height:var(--lh-snug);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.figs{font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,[tabindex]):focus-visible{box-shadow:var(--focus);outline:none}:where(a,button,[role=button],input,select,textarea,label,summary){touch-action:manipulation}.modal,.modal-body,.sheet{overscroll-behavior:contain}.ico{width:var(--ico-md);height:var(--ico-md);flex:none;justify-content:center;align-items:center;display:inline-flex}.ico svg{width:100%;height:100%;display:block}.shell{height:100vh;display:flex}.sidebar{width:var(--rail);background:var(--nav);padding:var(--s-2) 0;border-right:0;flex-direction:column;flex:none;align-items:center;display:flex}.wordmark{border-radius:var(--r-sm);width:32px;height:32px;margin-bottom:var(--s-3);flex:none;padding:0;display:block}.nav{gap:var(--s-hair);flex-direction:column;flex:1;width:100%;display:flex}.nav a{height:var(--ctl-lg);color:#ffffffb8;justify-content:center;align-items:center;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.nav a .ico{width:var(--ico-lg);height:var(--ico-lg)}.nav a:hover{color:var(--nav-ink);background:#ffffff17}.nav a.active{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:#ffffff1f}.nav .tip{background:var(--ink);color:var(--nav-ink);font-size:var(--t-sm);font-weight:var(--fw-medium);padding:var(--s-15) var(--s-2);border-radius:var(--r-xs);white-space:nowrap;opacity:0;pointer-events:none;z-index:40;transition:opacity .1s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.nav .tip:before{content:"";border:5px solid #0000;border-right-color:var(--ink);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.nav a:hover .tip,.nav a:focus-visible .tip{opacity:1}.nav .spacer,.sectoolbar .spacer{flex:1}@media (prefers-reduced-motion:reduce){.nav a,.nav .tip{transition:none}}.topbar{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);background:var(--panel);border-bottom:1px solid var(--line);display:flex}.topbar select{font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-15) var(--s-3);height:var(--ctl-md);font-weight:var(--fw-semi)}.topbar .who{color:var(--ink-2);font-size:var(--t-base);align-items:center;gap:var(--s-3);margin-left:auto;display:flex}.topbar .who a{align-items:center;gap:var(--s-15);display:inline-flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.content{padding:var(--s-5) var(--s-6);flex:1;overflow:auto}.page h1{font-size:var(--t-2xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);margin-bottom:var(--s-1)}.page .sub{color:var(--ink-2);font-size:var(--t-md);margin-bottom:var(--s-4)}.sub{color:var(--ink-2)}.card{background:var(--panel);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--sh-1);margin-bottom:var(--s-3)}.placeholder{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--s-8);text-align:center;color:var(--ink-3)}table.list{border-collapse:collapse;width:100%}.list th{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}.list td{padding:var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-base)}.list tr:hover td{background:var(--ground)}.pill{font-size:var(--t-sm);font-weight:var(--fw-semi);border-radius:var(--r-full);padding:var(--s-1) var(--s-3);background:var(--panel-2);color:var(--ink-2);line-height:var(--lh-tight);display:inline-block}.err{background:var(--red-soft);color:var(--red);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--t-base)}.notice{background:var(--amber-soft);color:var(--amber);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--t-base);line-height:var(--lh-base);margin-bottom:var(--s-3)}.notice b{color:var(--ink)}.success{background:var(--columbia);color:var(--brand);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--t-base);line-height:var(--lh-base)}.rowlink{color:inherit;text-decoration:none}.rowlink:hover,.rowlink:focus-visible{text-decoration:underline}.rowbtn{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.searchbox{font:inherit;font-size:var(--t-md);padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);width:260px;margin-bottom:var(--s-3)}.listcount{margin-bottom:var(--s-2)}.login-wrap{background:var(--ground);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--panel);border-radius:var(--r-xl);padding:var(--s-6);width:360px;box-shadow:var(--sh-3)}.login-card .wordmark{margin-bottom:var(--s-15)}.logintag{margin-bottom:var(--s-4)}.loginfoot{margin-top:var(--s-3);font-size:var(--t-sm)}.lfield{gap:var(--s-15);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold);margin-bottom:var(--s-3);flex-direction:column;display:flex}.lfield input{font:inherit;font-size:var(--t-lg);text-transform:none;letter-spacing:normal;padding:var(--s-2) var(--s-3);height:var(--ctl-lg);border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--ink);background:var(--panel)}.btn{border-radius:var(--r-md);padding:var(--s-2) var(--s-4);min-height:var(--ctl-md);font:inherit;font-size:var(--t-md);font-weight:var(--fw-semi);cursor:pointer;justify-content:center;align-items:center;gap:var(--s-2);border:0;text-decoration:none;display:inline-flex}.btn.primary{background:var(--cta);color:var(--cta-ink)}.btn.dark{background:var(--brand);color:var(--brand-ink)}.btn.dark:hover:not(:disabled){background:#02475f}.btn.quiet{background:var(--panel-2);color:var(--ink-2)}.btn.wide{width:100%;margin-top:var(--s-2)}.btn:disabled{opacity:.5;cursor:default}.loginmsg{margin-top:var(--s-3);background:var(--amber-soft);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--t-base)}.schedule .sched-head{align-items:center;gap:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.schedule h1{margin:0}.weeknav{align-items:center;gap:var(--s-15);display:flex}.weeknav .mono{font-size:var(--t-sm);color:var(--ink-2)}.navbtn{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:var(--r-md);width:var(--ctl-sm);height:var(--ctl-sm);cursor:pointer;font-size:var(--t-lg);justify-content:center;align-items:center;display:inline-flex}.showall{color:var(--ink-2);font-size:var(--t-base);gap:var(--s-15);align-items:center;margin-left:auto;display:flex}.board-scroll{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:auto}table.board{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.board th,.board td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top}.board thead th{z-index:5;background:var(--panel);padding:var(--s-2) var(--s-3);text-align:left;font-size:var(--t-sm);color:var(--ink-2);position:sticky;top:0}.board thead th .dnum{font-size:var(--t-lg);color:var(--ink);font-weight:var(--fw-bold)}.board thead th.today-col{background:var(--today);box-shadow:inset 0 -3px 0 var(--brand)}.staff-cell{z-index:4;background:var(--panel);width:190px;min-width:190px;padding:var(--s-15) var(--s-3);position:sticky;left:0;border-right:1px solid var(--line-strong)!important}.board thead th.corner{z-index:6;left:0}.sname{font-weight:var(--fw-semi);font-size:var(--t-base);align-items:center;gap:var(--s-15);display:flex}.lvl{font-family:var(--font-mono);font-size:var(--t-2xs);font-weight:var(--fw-semi);border:1px solid var(--line-strong);color:var(--ink-2);border-radius:var(--r-xs);padding:0 var(--s-1)}.sub-badge{font-family:var(--font-mono);font-size:var(--t-2xs);font-weight:var(--fw-semi);border-radius:var(--r-xs);padding:0 var(--s-1);background:var(--amber-soft);color:var(--amber)}.scaps{gap:var(--s-1);margin-top:var(--s-hair);flex-wrap:wrap;display:flex}.scap{font-family:var(--font-mono);font-size:var(--t-2xs);font-weight:var(--fw-semi);padding:1px var(--s-1);border-radius:var(--r-xs);background:var(--panel-2);color:var(--ink-2)}.day-cell{min-width:122px;height:56px;padding:var(--s-hair);transition:background .12s}.day-cell.dropok{background:var(--today)}.day-cell.dropbad{background:var(--red-soft)}.unrow .staff-cell,.unrow .day-cell{background:#fbebd2!important}.chip{border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);margin:var(--s-hair) 0;cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--t-xs);line-height:var(--lh-tight);box-shadow:var(--sh-2);border-left:3px solid}.chip:active{cursor:grabbing}.chip .jb{font-size:var(--t-2xs);font-weight:var(--fw-semi);background:var(--panel-2);border-radius:var(--r-xs);padding:0 var(--s-1);color:var(--ink-2);margin-right:var(--s-1)}.chip .cust{font-weight:var(--fw-bold)}.chip .meta{color:var(--ink-2);font-size:var(--t-2xs);display:block}.chip.unav{border-left-color:var(--coral);color:var(--ink-2);cursor:default;font-weight:var(--fw-semi);background:#e7ecf1}.overlay{z-index:25;background:#01344b61;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--r-lg);width:520px;max-width:94vw;max-height:90vh;box-shadow:var(--sh-3);z-index:26;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.modal-body,.modal>.field,.modal>.sigrow,.modal>.dropzone,.modal>.filelist,.modal>.err{margin-left:var(--s-4);margin-right:var(--s-4)}.modal>.sigrow{margin-bottom:var(--s-4)}.modal-head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);display:flex}.modal-head h3{font-size:var(--t-lg);font-weight:var(--fw-bold)}.modal-head .jb{font-size:var(--t-2xs);background:var(--panel-2);border-radius:var(--r-xs);padding:1px var(--s-1);color:var(--ink-2)}.modal-head .icons{gap:var(--s-1);margin-left:auto;display:flex}.icobtn{border:1px solid var(--line-strong);background:var(--panel);border-radius:var(--r-sm);width:var(--ctl-sm);height:var(--ctl-sm);cursor:pointer;color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.modal-body{padding:var(--s-3) var(--s-4)}.frow{gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.meetseg{border:1px solid var(--line-strong);border-radius:var(--r-md);width:max-content;display:flex;overflow:hidden}.meetseg button{color:var(--ink-2);padding:var(--s-2) var(--s-4);font:inherit;font-size:var(--t-md);font-weight:var(--fw-semi);cursor:pointer;background:0 0;border:0}.meetseg button.on{background:var(--brand);color:var(--brand-ink)}.modal-foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);justify-content:space-between;display:flex}.confirmoverlay{z-index:27}.confirmmodal{z-index:28;width:420px}.confirmbody{color:var(--ink-2);font-size:var(--t-md);line-height:var(--lh-base)}.confirmbody b{color:var(--ink);font-weight:var(--fw-semi)}.confirmfoot{justify-content:flex-end;gap:var(--s-2)}.skel-rows{flex-direction:column;display:flex}.skel-row{align-items:center;gap:var(--s-4);height:var(--dt-row);padding:0 var(--s-4);border-bottom:1px solid var(--line);display:flex}.skel-row:last-child{border-bottom:0}.skel-bar{height:var(--t-base);border-radius:var(--r-xs);background:var(--panel-2);display:block}.skel-right{margin-left:auto}.skel-head{margin-bottom:var(--s-4)}.skel-h1{width:180px;height:var(--t-2xl);margin-bottom:var(--s-2)}.skel-sub{width:340px;height:var(--t-md)}@keyframes skelpulse{0%,to{opacity:1}50%{opacity:.45}}.skel-bar{animation:1.6s ease-in-out infinite skelpulse}@media (prefers-reduced-motion:reduce){.skel-bar{animation:none}}.sronly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast{bottom:var(--s-6);background:var(--ink);color:var(--ground);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--t-base);font-weight:var(--fw-semi);z-index:30;box-shadow:var(--sh-3);position:fixed;left:50%;transform:translate(-50%)}.seg{border:1px solid var(--line-strong);border-radius:var(--r-md);display:flex;overflow:hidden}.seg button{background:var(--panel);color:var(--ink-2);padding:var(--s-15) var(--s-3);min-height:var(--ctl-md);font:inherit;font-size:var(--t-md);font-weight:var(--fw-semi);cursor:pointer;border:0}.seg button.on{background:var(--brand);color:var(--brand-ink)}.board thead th.holiday-col{background:var(--red-soft)}.holiday-flag{font-size:var(--t-2xs);color:var(--red);font-weight:var(--fw-semi);margin-top:var(--s-hair)}.dayview{background:var(--panel);min-width:1080px}.dayview .timehead{z-index:5;background:var(--panel);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.trow{border-bottom:1px solid var(--line);display:flex}.tstaff{width:190px;min-width:190px;padding:var(--s-15) var(--s-3);border-right:1px solid var(--line-strong);background:var(--panel);z-index:3;position:sticky;left:0}.tstaff.corner{padding-top:var(--s-2)}.tlane{background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px calc(100%/12.5));flex:1;height:58px;transition:background-color .12s;position:relative}.tlane.dropok{background-color:var(--today)}.tlane.dropbad{background-color:var(--red-soft)}.thead-lane{flex:1;height:34px;position:relative}.thead-lane .tick{top:var(--s-2);font-size:var(--t-2xs);color:var(--ink-3);position:absolute;transform:translate(-50%)}.block{top:var(--s-15);bottom:var(--s-15);border-radius:var(--r-sm);padding:var(--s-hair) var(--s-2) var(--s-hair) var(--s-15);font-size:var(--t-xs);line-height:var(--lh-tight);cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:var(--sh-2);border-left:3px solid;position:absolute;overflow:hidden}.block .cust{font-weight:var(--fw-bold);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.block .meta{color:var(--ink-2);font-size:var(--t-2xs);white-space:nowrap;display:block}.block .warn{color:var(--red);font-weight:var(--fw-bold);font-size:var(--t-2xs);white-space:nowrap;display:block}.block .warn.amber{color:var(--amber)}.block.warned{outline:2px solid var(--red)}.block.warned-amber{outline:2px solid var(--amber)}.block.unavblock{border:0;border-left:3px solid var(--coral);color:var(--ink-2);z-index:0;background:#e7ecf1;justify-content:center;align-items:center;padding:0;display:flex}.travel{top:var(--s-15);bottom:var(--s-15);border-radius:var(--r-sm) 0 0 var(--r-sm);background:repeating-linear-gradient(135deg,var(--panel-2),var(--panel-2) 5px, transparent 5px,transparent 9px);border:1px dashed var(--line-strong);font-size:var(--t-2xs);color:var(--ink-2);padding:var(--s-hair) var(--s-1);pointer-events:none;z-index:1;position:absolute}.rhandle{cursor:ew-resize;width:9px;position:absolute;top:0;bottom:0;right:0}.rhandle:after{content:"";background:var(--line-strong);border-radius:2px;width:3px;position:absolute;top:30%;bottom:30%;right:2px}.mapview{border-radius:var(--r-lg);height:60vh;min-height:380px;box-shadow:var(--sh-1);background:linear-gradient(105deg,#d6e6f2 0 70px,#edf1f5 70px);position:relative;overflow:hidden}.mdot{cursor:pointer;text-align:center;z-index:2;position:absolute;transform:translate(-50%,-50%)}.mdot .pin{border:3px solid var(--panel);width:15px;height:15px;box-shadow:var(--sh-pin);border-radius:50%;margin:0 auto}.mdot .mlab{margin-top:var(--s-hair);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xs);font-size:var(--t-2xs);padding:1px var(--s-1);white-space:nowrap;box-shadow:var(--sh-1)}.office-pin{font-size:var(--t-xs);font-weight:var(--fw-bold);color:var(--brand);text-align:center;z-index:2;position:absolute;transform:translate(-50%,-50%)}.office-pin .sq{background:var(--brand);width:13px;height:13px;margin:0 auto var(--s-hair);border:3px solid var(--panel);box-shadow:var(--sh-pin);border-radius:3px}.mapnote{right:var(--s-3);bottom:var(--s-3);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);max-width:300px;padding:var(--s-3);font-size:var(--t-sm);color:var(--ink-2);box-shadow:var(--sh-3);z-index:3;position:absolute}.tray{margin-top:var(--s-3);background:var(--panel);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);box-shadow:var(--sh-1)}.tray h2{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-2);font-weight:var(--fw-bold);margin-bottom:var(--s-2)}.tray h2 .count{color:var(--amber);font-family:var(--font-mono)}.traychips{gap:var(--s-3);flex-wrap:wrap;display:flex}.req{border:1px solid var(--line);border-radius:var(--r-md);width:260px;padding:var(--s-2) var(--s-3);cursor:grab;background:var(--panel);box-shadow:var(--sh-2);font-size:var(--t-xs);border-left:4px solid;position:relative}.req .cust{font-weight:var(--fw-bold)}.req .jb{font-size:var(--t-2xs);background:var(--panel-2);border-radius:var(--r-xs);padding:0 var(--s-1);color:var(--ink-2)}.req .meta{color:var(--ink-2);font-size:var(--t-2xs);margin-top:var(--s-hair)}.req .notes{margin-top:var(--s-1);color:var(--ink-2);font-size:var(--t-2xs);border-top:1px dashed var(--line);padding-top:var(--s-1)}.req .done{top:var(--s-1);right:var(--s-15);color:var(--ink-3);cursor:pointer;background:0 0;border:0;align-items:center;display:inline-flex;position:absolute}.req .flag{font-size:var(--t-2xs);font-weight:var(--fw-bold);border-radius:var(--r-xs);padding:0 var(--s-1);background:var(--panel-2);color:var(--ink-2);margin-left:var(--s-1);display:inline-block}.req .flag.hot{background:var(--red-soft);color:var(--red)}.drawer{z-index:26;background:var(--panel);border-left:1px solid var(--line-strong);width:370px;height:100vh;box-shadow:var(--sh-3);flex-direction:column;display:flex;position:fixed;top:0;right:0}.drawer-head{padding:var(--s-4) var(--s-4) var(--s-3);border-bottom:1px solid var(--line)}.drawer-head .svc{font-size:var(--t-xs);letter-spacing:var(--track-label);font-weight:var(--fw-bold);color:var(--brand)}.drawer-head h3{font-size:var(--t-xl);font-weight:var(--fw-bold);margin-top:var(--s-1)}.drawer-body{padding:var(--s-2) var(--s-4) var(--s-4);flex:1;overflow:auto}.prow{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line);font-size:var(--t-base);display:flex}.prow .k{width:86px;color:var(--ink-3);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;padding-top:var(--s-hair);flex:none}.prow .v{flex:1}.panel-close{top:var(--s-3);right:var(--s-3);color:var(--ink-2);cursor:pointer;z-index:2;background:0 0;border:0;align-items:center;display:inline-flex;position:absolute}.hoursbar{border-radius:var(--r-xs);background:var(--panel-2);height:8px;margin-top:var(--s-15);overflow:hidden}.hoursbar i{background:var(--brand);height:100%;display:block}.certline{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;font-size:var(--t-sm);display:flex}.certline .cstat{border-radius:50%;flex:none;width:8px;height:8px}.certline .cexp{font-size:var(--t-xs);color:var(--ink-2);margin-left:auto}.certline .cexp.warnc{color:var(--amber);font-weight:var(--fw-bold)}.cap-filter{gap:var(--s-15);align-items:center;display:flex}.cap-chip{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:var(--fw-semi);padding:var(--s-1) var(--s-2);border-radius:var(--r-full);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000}.cap-chip.dim{opacity:.32}.staffsearch{font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-15) var(--s-3);height:var(--ctl-md);width:150px}.team-row td{background:var(--panel-2);color:var(--ink-2);font-size:var(--t-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-label);text-transform:uppercase;padding:var(--s-1) var(--s-3)}.team-row .staff-cell{background:var(--panel-2)!important}.tstaff.grp{background:var(--panel-2);font-size:var(--t-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-2);padding-top:var(--s-2)}.tlane.grp{background:var(--panel-2);height:30px}.jobtabs{align-items:flex-end;gap:var(--s-hair);border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:0;display:flex}.jobtab{border:1px solid var(--line);background:var(--panel-2);color:var(--ink-3);border-radius:var(--r-xs) var(--r-xs) 0 0;padding:0 var(--s-5);height:var(--tab-h);font:inherit;font-size:var(--t-lg);font-weight:var(--fw-normal);cursor:pointer;align-items:center;gap:var(--s-2);white-space:nowrap;border-bottom:0;margin-bottom:-1px;transition:background .12s,color .12s;display:inline-flex}.jobtab:hover{color:var(--ink-2);background:var(--panel-2);filter:brightness(.97)}.jobtab.on{background:var(--panel);color:var(--ink);height:var(--tab-h-on);border-color:var(--line);font-weight:var(--fw-medium);filter:none}.jobtabs+.card{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.jobtabs+.err{margin-top:var(--s-3)}.tabpanel{background:var(--panel);border:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-4);border-top:0}.tabpanel .card{box-shadow:none;margin:0 0 var(--s-5);background:0 0;border-radius:0;padding:0}.tabpanel .card:last-child{margin-bottom:0}.tabpanel .jobgrid{gap:var(--s-5) var(--s-8)}.tabpanel>.empty{color:var(--ink-3);padding:var(--s-4) 0}.jobtab .mono{font-size:var(--t-sm);font-weight:var(--fw-semi);opacity:1;background:var(--ink-3);color:var(--panel);border-radius:var(--r-full);padding:var(--s-hair) var(--s-2);line-height:var(--lh-tight)}.jobtab.on .mono{background:var(--ink-2)}@media (prefers-reduced-motion:reduce){.jobtab{transition:none}}.status-pill{font-weight:var(--fw-bold);font-size:var(--t-sm);white-space:nowrap}.status-pill.big{font-size:var(--t-md)}.jobhead{margin-bottom:var(--s-4)}.backlink{color:var(--brand);font-weight:var(--fw-semi);font-size:var(--t-base);align-items:center;gap:var(--s-15);text-decoration:none;display:inline-flex}.jobhead h1{margin:var(--s-1) 0 var(--s-hair)}.jobhead h1 .mono{color:var(--ink-3);font-size:var(--t-lg);margin-right:var(--s-2)}.jobsub{color:var(--ink-2)}.jobstatusrow{gap:var(--s-3);margin-top:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.jobstatusrow select{font:inherit;font-size:var(--t-md);padding:var(--s-15) var(--s-3);min-height:var(--ctl-md);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel);color:var(--ink)}.jobgrid{gap:var(--s-3);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}@media (width<=1000px){.jobgrid{grid-template-columns:1fr}}.cardlabel{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-2);font-weight:var(--fw-bold)}.field{gap:var(--s-1);min-width:0;margin-bottom:var(--s-3);flex-direction:column;display:flex}.frow>.field,.formgrid>.field{margin-bottom:0}.frow>.field{flex:1;min-width:130px}.field>label{font-size:var(--t-md);font-weight:var(--fw-normal);color:var(--ink-2);line-height:var(--lh-snug)}.field .fieldhint{font-size:var(--t-sm);color:var(--ink-3)}.field input,.field select{height:var(--ctl-lg);width:100%;min-width:0;font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 var(--s-2)}.field textarea{width:100%;min-width:0;font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-2);line-height:var(--lh-base);resize:vertical;min-height:56px}.field select:hover{background:var(--today);border-color:var(--cta)}.field input:hover,.field textarea:hover{border-color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cta);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.field input:disabled,.field textarea:disabled,.field select:disabled{opacity:.6}@media (width<=620px){.field.span-2,.field.span-3{grid-column:auto}}.shiftline{gap:var(--s-2);padding:var(--s-15) 0;border-bottom:1px solid var(--line);font-size:var(--t-base);align-items:center;display:flex}.shiftline:last-child{border-bottom:0}.noteline{border-top:1px solid var(--line);padding:var(--s-2) 0;font-size:var(--t-base)}.noteline .notemeta{font-size:var(--t-xs);color:var(--ink-3);margin-bottom:var(--s-hair)}.closeout-stats{gap:var(--s-6);margin-bottom:var(--s-3);display:flex}.closeout-stats label{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);display:block}.closeout-stats b{font-size:var(--t-xl)}.csatrow{gap:var(--s-15);display:flex}.csat{width:var(--ctl-md);height:var(--ctl-md);border:1px solid var(--line-strong);background:var(--panel);border-radius:var(--r-md);font:inherit;font-weight:var(--fw-bold);cursor:pointer;color:var(--ink-2)}.csat.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.tsgrid .tscell{min-width:96px;height:44px;padding:var(--s-3);font-size:var(--t-base);text-align:center;vertical-align:middle}.tsgrid .tscell.has{cursor:pointer}.tsgrid .tscell.has:hover{background:var(--ground)}.tsgrid .tscell.miss{background:var(--red-soft)}.missmark{color:var(--red);font-weight:var(--fw-bold);font-size:var(--t-xs)}.techwrap{background:var(--ground);justify-content:center;min-height:100vh;display:flex}.techphone{background:var(--ground);flex-direction:column;width:100%;max-width:430px;min-height:100vh;display:flex;position:relative}.techscreen{flex:1;padding-bottom:96px;overflow:auto}.techpad{padding:var(--s-3) var(--s-4)}.techhead .hi{font-size:var(--t-base);color:var(--ink-2);font-weight:var(--fw-medium);margin-top:var(--s-15)}.techhead h2{font-size:var(--t-3xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);margin-bottom:var(--s-2)}.techday{font-size:var(--t-sm);font-weight:var(--fw-bold);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin:var(--s-4) var(--s-hair) var(--s-2)}.techcard{text-align:left;width:100%;font:inherit;color:inherit;background:var(--panel);border-radius:var(--r-xl);padding:var(--s-4);margin-bottom:var(--s-3);cursor:pointer;box-shadow:var(--sh-1), 0 6px 18px #01344b12;border-left:5px solid var(--bc);transition:transform .15s;display:block}.techcard:active{transform:scale(.98)}.techcard.off{cursor:default;opacity:.6;border-left-color:var(--line-strong)}.techcard .when{font-size:var(--t-sm);color:var(--ink-2);font-weight:var(--fw-semi)}.techcard h3{font-size:var(--t-xl);font-weight:var(--fw-bold);margin:var(--s-hair) 0 1px;letter-spacing:var(--track-tight)}.techcard .addr{color:var(--ink-2);font-size:var(--t-base)}.pillrow{gap:var(--s-15);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.meet{align-items:center;gap:var(--s-15);font-size:var(--t-sm);font-weight:var(--fw-semi);border-radius:var(--r-full);padding:var(--s-1) var(--s-3);display:inline-flex}.meet.site{background:var(--brand);color:var(--brand-ink)}.meet.office{background:var(--amber-soft);color:var(--amber)}.tpill{align-items:center;gap:var(--s-15);font-size:var(--t-sm);font-weight:var(--fw-semi);border-radius:var(--r-full);padding:var(--s-1) var(--s-3);background:var(--panel-2);color:var(--ink-2);display:inline-flex}.tpill.alert{background:var(--red-soft);color:var(--red)}.technudge{background:var(--amber-soft);border-radius:var(--r-lg);padding:var(--s-3);font-size:var(--t-base);margin-bottom:var(--s-3);gap:var(--s-2);align-items:center;display:flex}.bigbtns{gap:var(--s-3);margin:var(--s-3) 0 var(--s-15);display:flex}.bigbtn{border-radius:var(--r-xl);padding:var(--s-3) var(--s-15);min-height:var(--tap);font:inherit;font-weight:var(--fw-semi);font-size:var(--t-base);cursor:pointer;align-items:center;gap:var(--s-1);border:0;flex-direction:column;flex:1;text-decoration:none;transition:transform .12s;display:flex}.bigbtn:active{transform:scale(.96)}.bigbtn .ico{width:var(--ico-lg);height:var(--ico-lg)}.bigbtn.dir{background:var(--cta);color:var(--cta-ink)}.bigbtn.call{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}.techsec{background:var(--panel);border-radius:var(--r-xl);padding:var(--s-3) var(--s-4);margin:var(--s-3) 0;box-shadow:var(--sh-1)}.techsec h4{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-15);font-weight:var(--fw-bold)}.techsec p{font-size:var(--t-md);line-height:var(--lh-base)}.inlinebtn{align-items:center;gap:var(--s-15);border-radius:var(--r-lg);padding:var(--s-2) var(--s-3);min-height:var(--tap);font:inherit;font-size:var(--t-base);font-weight:var(--fw-semi);cursor:pointer;background:var(--panel-2);color:var(--brand);margin-top:var(--s-2);border:0;text-decoration:none;transition:transform .12s;display:inline-flex}.inlinebtn:active{transform:scale(.96)}.inlinebtn.primary{background:var(--cta);color:var(--cta-ink)}.actionrow{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.technote{border-top:1px solid var(--line);padding:var(--s-3) 0}.technote .meta{font-size:var(--t-sm);color:var(--ink-3);margin-bottom:var(--s-1)}.technote .meta b{color:var(--ink-2)}.phrow{gap:var(--s-2);margin-top:var(--s-15);flex-wrap:wrap;display:flex}.phrow img{border-radius:var(--r-lg);object-fit:cover;width:74px;height:74px}.signedchip{align-items:center;gap:var(--s-2);background:var(--brand-soft);color:var(--brand);border-radius:var(--r-md);padding:var(--s-15) var(--s-3);font-size:var(--t-base);font-weight:var(--fw-semi);margin-top:var(--s-15);display:inline-flex}.signedchip img{border-radius:var(--r-sm);background:var(--panel);height:30px}.techtabs{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);width:100%;max-width:430px;padding:var(--s-2) 0 var(--s-5);z-index:10;background:#fffffff0;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.techtabs button{font:inherit;font-size:var(--t-xs);font-weight:var(--fw-semi);color:var(--ink-3);cursor:pointer;align-items:center;gap:var(--s-1);min-height:var(--tap);background:0 0;border:0;flex-direction:column;flex:1;display:flex}.techtabs button .ico{width:var(--ico-xl);height:var(--ico-xl)}.techtabs button.on{color:var(--brand)}.tsdone{background:var(--brand-soft);color:var(--brand);border-radius:var(--r-xl);padding:var(--s-3);text-align:center;font-weight:var(--fw-bold);font-size:var(--t-md);margin-bottom:var(--s-3)}.tstimes{gap:var(--s-3);display:flex}.tstimes label{gap:var(--s-1);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold);flex-direction:column;flex:1;display:flex}.tstimes input{font:inherit;font-size:var(--t-lg);padding:var(--s-3);border-radius:var(--r-lg);background:var(--ground);color:var(--ink);min-height:var(--tap);border:0}.weekrowt{padding:var(--s-2) var(--s-hair);border-bottom:1px solid var(--line);font-size:var(--t-md);justify-content:space-between;display:flex}.weekrowt:last-child{border-bottom:0}.sigwrap{z-index:30;background:#11111466;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sigwrap .sheet{background:var(--panel);border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:var(--s-4) var(--s-4) var(--s-6);width:100%;max-width:430px;animation:.25s sheetup}@keyframes sheetup{0%{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet h3{font-size:var(--t-xl);font-weight:var(--fw-bold);margin-bottom:var(--s-hair)}.sheet .sub{margin-bottom:var(--s-3)}.sheet input[type=text]{font:inherit;font-size:var(--t-lg);padding:var(--s-3);border-radius:var(--r-lg);background:var(--ground);width:100%;margin-bottom:var(--s-3);color:var(--ink);min-height:var(--tap);border:0}.sigpad{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);touch-action:none;background:var(--ground);width:100%;height:140px}.sigrow{gap:var(--s-2);margin-top:var(--s-3);justify-content:flex-end;display:flex}.sigrow .btn{min-height:var(--ctl-md);flex:none}.sigwrap .sigrow .btn,.techscreen .sigrow .btn{min-height:var(--tap);flex:1}.dsline{gap:var(--s-2);margin-bottom:var(--s-2);display:flex}.dsline input{margin-bottom:0!important}.dsline .hrs{text-align:center;flex:none;width:80px}.travelnote{font-size:var(--t-sm);color:var(--ink-2);background:var(--amber-soft);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);margin:var(--s-1) 0 var(--s-15)}@media (prefers-reduced-motion:reduce){.techcard,.bigbtn,.inlinebtn{transition:none}.sheet{animation:none}}.actrow{gap:var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--line);align-items:flex-start;display:flex}.actrow:first-of-type{border-top:0}.actrow.over .acttitle{color:var(--red)}.actdone{border:1.5px solid var(--line-strong);background:var(--panel);width:var(--ico-xl);height:var(--ico-xl);cursor:pointer;color:var(--ink-3);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.actdone:hover{border-color:var(--brand);color:var(--brand)}.actico{color:var(--ink-2);width:var(--ico-md);height:var(--ico-md);flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.actbody{flex:1;min-width:0}.acttitle{font-weight:var(--fw-semi);font-size:var(--t-md)}.actmeta{font-size:var(--t-sm);color:var(--ink-2)}.actmeta a{color:var(--brand);font-weight:var(--fw-semi);text-decoration:none}.actdetail{font-size:var(--t-base);color:var(--ink-2);margin-top:var(--s-hair)}.actdue{font-size:var(--t-sm);color:var(--ink-3);margin-top:var(--s-hair);flex:none}.donerow .acttitle{font-weight:var(--fw-medium);color:var(--ink-2)}.agrid{gap:var(--s-3);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=1000px){.agrid{grid-template-columns:1fr}}.statrow{gap:var(--s-8);flex-wrap:wrap;display:flex}.stat label{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold);display:block}.stat b{font-size:var(--t-3xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);line-height:var(--lh-tight);display:block}.stat span{font-size:var(--t-sm);color:var(--ink-2)}.barwrap{position:relative}.bars{align-items:flex-end;gap:var(--s-1);border-bottom:1px solid var(--line);display:flex}.barcol{cursor:default;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.bar{background:var(--brand);border-radius:var(--r-xs) var(--r-xs) 0 0;width:100%;max-width:44px;transition:opacity .12s}.barval{font-size:var(--t-2xs);font-weight:var(--fw-bold);color:var(--ink-2);margin-bottom:var(--s-hair);white-space:nowrap}.bartip{z-index:5;background:var(--ink);color:var(--ground);border-radius:var(--r-md);padding:var(--s-15) var(--s-3);font-size:var(--t-xs);white-space:nowrap;box-shadow:var(--sh-3);pointer-events:none;flex-direction:column;gap:1px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.bartip b{font-size:var(--t-base)}.bartip span{opacity:.8}.barlabels{gap:var(--s-1);margin-top:var(--s-15);display:flex}.barlabels span{text-align:center;font-size:var(--t-2xs);color:var(--ink-3);white-space:nowrap;flex:1;min-width:0;overflow:visible}.rowbars{gap:var(--s-2);flex-direction:column;display:flex}.rowbar{gap:var(--s-1) var(--s-3);grid-template-columns:96px 1fr 62px;grid-template-areas:"l t v"".n n";align-items:center;display:grid}.rblabel{font-size:var(--t-base);font-weight:var(--fw-semi);grid-area:l}.rbtrack{background:var(--panel-2);border-radius:var(--r-xs);grid-area:t;height:14px;overflow:hidden}.rbtrack i{border-radius:var(--r-xs);height:100%;display:block}.rbval{text-align:right;font-weight:var(--fw-bold);font-size:var(--t-base);grid-area:v}.rbnote{font-size:var(--t-xs);color:var(--ink-2);grid-area:n}.linked{gap:var(--s-2);margin-top:var(--s-2);font-size:var(--t-base);color:var(--ink-3);flex-wrap:wrap;align-items:center;display:flex}.linked a{color:var(--brand);font-weight:var(--fw-semi);text-decoration:none}.linked a:hover{text-decoration:underline}.linked .sep{color:var(--line-strong)}.chain{align-items:stretch;gap:var(--s-hair);margin:var(--s-3) 0 var(--s-1);flex-wrap:wrap;display:flex}.chainwrap{align-items:center;gap:var(--s-hair);display:flex}.chainstep{align-items:center;gap:var(--s-2);padding:var(--s-15) var(--s-3);border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .12s,border-color .12s;display:flex}a.chainstep:hover{background:var(--brand-soft);border-color:var(--brand)}.chainstep.here{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.chainstep.here .chainname{color:#ffffffbf}.chainstep.empty{color:var(--ink-3);background:0 0;border-style:dashed}.chainico{width:var(--ico-md);height:var(--ico-md);flex:none;justify-content:center;align-items:center;display:inline-flex}.chaintext{line-height:var(--lh-tight);flex-direction:column;display:flex}.chainname{font-size:var(--t-2xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold)}.chainval{font-size:var(--t-base);font-weight:var(--fw-semi);font-family:var(--font-mono)}.chainstep.empty .chainval{font-weight:var(--fw-medium);font-family:inherit;font-style:italic}.chainarrow{color:var(--ink-3);padding:0 var(--s-hair);align-items:center;display:inline-flex}.orgpick{align-items:center;gap:var(--s-2);height:var(--ctl-lg);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);width:100%;min-width:0;padding:0 var(--s-2);display:flex;position:relative}.orgpick>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--fw-normal);color:var(--ink);font-size:var(--t-md);flex:auto;overflow:hidden}.orgpick.pickable{cursor:pointer}.orgpick.pickable:hover{background:var(--today);border-color:var(--cta)}.orgpick .pickhint{font-size:var(--t-sm);color:var(--ink-3);opacity:0;flex:none}.orgpick.pickable:hover .pickhint,.orgpick.pickable:focus-within .pickhint{opacity:1}.orgpick:focus-within{border-color:var(--cta);box-shadow:0 0 0 3px var(--brand-soft)}.orgpick input{min-width:0;height:100%;font:inherit;font-size:var(--t-md);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);min-height:var(--ctl-md);outline:none;flex:auto;width:100%;background:0 0!important;border:0!important;padding:0!important}.orgpick-list{z-index:20;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);max-height:220px;box-shadow:var(--sh-3);padding:var(--s-1);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.orgpick-list button{text-align:left;width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font:inherit;font-size:var(--t-md);cursor:pointer;color:var(--ink);background:0 0;border:0;display:block}.orgpick-list button:hover{background:var(--ground)}.orgpick-new{font-weight:var(--fw-semi);color:var(--brand)!important}.rechead{gap:var(--s-3);padding:0 0 var(--s-4);border-bottom:1px solid var(--line);margin-bottom:var(--s-4);grid-template-columns:repeat(6,minmax(120px,1fr));display:grid}.rechead .field>label{font-size:var(--t-sm)}.qsec{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--s-3);background:var(--panel);overflow:hidden}.qsec>header{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--panel-2);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.qsec>header .secname{font:inherit;font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--ink);background:0 0;border:0;min-width:220px;padding:0}.qsec>header .secname:focus{border-bottom:1px solid var(--line-strong);outline:none}.qsec>header .tags{gap:var(--s-1);flex-wrap:wrap;display:flex}.qsec>header .secfoot{font-size:var(--t-base);color:var(--ink-2);gap:var(--s-4);align-items:center;margin-left:auto;display:flex}.qsec>header .secfoot b{color:var(--ink);font-weight:var(--fw-semi)}.qline{gap:var(--s-2);padding:var(--s-15) var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-base);grid-template-columns:76px 1fr 64px 76px 76px 60px 84px 88px 28px;align-items:center;display:grid}.qline:last-child{border-bottom:0}.qline.head{background:var(--panel);color:var(--ink-3);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--fw-semi)}.qline.internal{background:var(--ground);color:var(--ink-3);gap:var(--s-2);font-style:italic;display:flex}.qline.internal input{flex:1;font-style:italic}.qline .r{text-align:right}.qline .calc{color:var(--ink-2);background:var(--ground);border-radius:var(--r-xs);padding:var(--s-hair) var(--s-1);text-align:right}.qline input,.qline select{height:var(--ctl-sm);width:100%;min-width:0;font:inherit;font-size:var(--t-base);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 var(--s-1);background:var(--panel);color:var(--ink)}.qline input.r{text-align:right}.qline input:focus,.qline select:focus{border-color:var(--cta);box-shadow:var(--focus);outline:none}.qline .icobtn{width:var(--ctl-sm);height:var(--ctl-sm)}.stagegrid{gap:var(--s-hair);font-size:var(--t-base);background:var(--line);align-items:center;display:grid}.stagegrid>div{padding:var(--s-2) var(--s-3);background:var(--panel);min-height:var(--ctl-md);align-items:center;gap:var(--s-2);display:flex}.stagegrid>.h{background:var(--panel-2);color:var(--ink-3);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--fw-semi);justify-content:center}.stagegrid>.h.l{justify-content:flex-start}.stagegrid>.h select{font:inherit;font-size:var(--t-sm);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel);height:var(--ctl-sm);padding:0 var(--s-1)}.stagegrid>.c{justify-content:center}.stagegrid>.c input{width:var(--ico-lg);height:var(--ico-lg);accent-color:var(--brand);margin:0}.stagegrid>.a{font-weight:var(--fw-semi)}.stagegrid>.a input{font:inherit;font-weight:var(--fw-semi);border-radius:var(--r-md);padding:0 var(--s-1);height:var(--ctl-sm);background:0 0;border:1px solid #0000;flex:1;min-width:0}.stagegrid>.a input:hover,.stagegrid>.a input:focus{border-color:var(--line-strong);background:var(--panel);outline:none}.stagegrid .cnt{width:52px;height:var(--ctl-sm);text-align:center;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel)}.svcpills{gap:var(--s-1);flex-wrap:wrap;display:flex}.svcpills .pill{cursor:pointer;-webkit-user-select:none;user-select:none}.svcpills .pill.on{background:var(--brand);color:var(--brand-ink)}.totals{gap:var(--s-1) var(--s-6);max-width:380px;font-size:var(--t-md);grid-template-columns:1fr auto;margin-left:auto;display:grid}.totals .lab{color:var(--ink-2)}.totals .val{text-align:right}.totals .grand{font-weight:var(--fw-bold);font-size:var(--t-lg);border-top:1px solid var(--line-strong);padding-top:var(--s-2)}.desc{white-space:pre-wrap;line-height:var(--lh-base);font-size:var(--t-base);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);background:var(--panel)}.desc textarea{width:100%;min-height:320px;font:inherit;font-size:var(--t-base);line-height:var(--lh-base);resize:vertical;color:var(--ink);background:0 0;border:0}.desc textarea:focus{outline:none}.cleantable{border-collapse:collapse;font-size:var(--t-base);margin:var(--s-3) 0}.cleantable th,.cleantable td{border:1px solid var(--line);padding:var(--s-1) var(--s-3);text-align:center}.cleantable th{background:var(--panel-2);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.cleantable td:first-child,.cleantable th:first-child{text-align:left;font-weight:var(--fw-semi)}.preview{background:var(--panel);max-width:900px;padding:var(--s-8);box-shadow:var(--sh-2);border-radius:var(--r-lg);margin:0 auto}.preview h2{font-size:var(--t-xl);margin:0 0 var(--s-1)}.preview .desc{color:var(--ink);border:0;padding:0}.qline-total{text-align:right;font-weight:var(--fw-semi);padding-right:var(--s-1)}.qline.inv-line{grid-template-columns:110px 2fr 70px 100px 100px 26px}.schedule .sched-head{margin-bottom:var(--s-3)}.viewsw{margin-left:auto}.schedbar{align-items:center;gap:var(--s-2);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3);box-shadow:var(--sh-1);flex-wrap:wrap;display:flex}.schedbar .weeknav{align-items:center;gap:var(--s-1);display:flex}.schedbar .daterange{font-weight:var(--fw-bold);font-size:var(--t-md);text-align:center;min-width:170px}.dd{position:relative}.ddbtn{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);background:var(--panel);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);min-height:var(--ctl-md);font:inherit;font-size:var(--t-base);font-weight:var(--fw-semi);color:var(--ink-2);cursor:pointer;display:inline-flex}.ddbtn:hover{background:var(--panel-2);color:var(--ink)}.ddbtn.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.ddbtn .n{background:var(--brand);color:var(--brand-ink);border-radius:var(--r-full);font-size:var(--t-xs);font-family:var(--font-mono);padding:1px 7px}.ddmenu{top:calc(100% + var(--s-15));z-index:40;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:var(--s-15);min-width:250px;position:absolute;right:0}.ddhead{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);padding:var(--s-15) var(--s-3) var(--s-1)}.ddrow{align-items:center;gap:var(--s-3);padding:0 var(--s-3);min-height:var(--tap);text-align:left;width:100%;font:inherit;color:var(--ink);border-radius:var(--r-md);cursor:pointer;font-size:var(--t-base);background:0 0;border:0;text-decoration:none;display:flex}.ddrow:hover{background:var(--today);color:var(--brand)}.ddrow:focus-visible{outline:2px solid var(--cta);outline-offset:-2px}.ddrow .ico{color:var(--ink-3);flex:none}.ddrow:hover .ico{color:var(--brand)}.ddgroup+.ddgroup{border-top:1px solid var(--line);margin-top:var(--s-15);padding-top:var(--s-15)}.ddgroup:empty{display:none}.ddrow input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.ddrow .ddsub{font-size:var(--t-xs);color:var(--ink-3);font-family:var(--font-mono);margin-left:auto}.ddempty{padding:var(--s-2) var(--s-3) var(--s-3);font-size:var(--t-sm);color:var(--ink-2);line-height:var(--lh-base);max-width:240px}.swatch{border-radius:var(--r-xs);flex:none;width:10px;height:10px}.ddfoot{border-top:1px solid var(--line);margin-top:var(--s-1);padding:var(--s-2) var(--s-3) var(--s-1);gap:var(--s-3);display:flex}.lnk{color:var(--brand);font-weight:var(--fw-semi);font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.staff-cell{position:relative}.board tr:hover .staff-cell{z-index:30}.tstaff{position:relative}.trow:hover .tstaff{z-index:30}.stop{align-items:flex-start;gap:var(--s-2);display:flex}.stop .sname{cursor:pointer;font-weight:var(--fw-semi);font-size:var(--t-base);line-height:var(--lh-tight);flex:1}.stop .lvl{font-family:var(--font-mono);font-size:var(--t-2xs);font-weight:var(--fw-bold);border-radius:var(--r-xs);background:var(--panel-2);color:var(--ink-2);border:0;flex:none;margin-top:1px;padding:2px 5px}.certtip{left:calc(100% + var(--s-2));top:var(--s-15);z-index:50;background:var(--ink);color:var(--ground);border-radius:var(--r-lg);padding:var(--s-2) var(--s-3);font-size:var(--t-sm);line-height:var(--lh-base);white-space:nowrap;box-shadow:var(--sh-3);display:none;position:absolute}.staff-cell:hover .certtip,.tstaff:hover .certtip{display:block}.certtip b{font-size:var(--t-2xs);letter-spacing:var(--track-label);text-transform:uppercase;opacity:.65;margin-bottom:var(--s-1);display:block}.certtip .certline{display:block}.certtip .certline em{opacity:.7;margin-left:var(--s-2);font-style:normal}.certtip .certline.ok:before{content:"● ";color:#9fd8be}.certtip .certline.warn:before{content:"● ";color:#f2c98a}.certtip .certline.bad:before{content:"● ";color:#f0a99b}.certtip .none{opacity:.7}.bookdrawer .drawer-body .req{width:auto;margin-bottom:var(--s-2)}.day-cell.clickable{cursor:pointer}.day-cell.clickable:hover{background:var(--today)}.navbtn.datepick{place-items:center;display:inline-grid;position:relative;overflow:hidden}.navbtn.datepick input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.armed{align-items:center;gap:var(--s-2);background:var(--brand-soft);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3);font-size:var(--t-base);color:var(--ink-2);display:flex}.armed b{color:var(--ink)}.armed .lnk{margin-left:auto}.picked{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--panel-2);border-radius:var(--r-md);display:flex}.picked .lnk{margin-left:auto}.svctag{font-family:var(--font-mono);font-size:var(--t-2xs);font-weight:var(--fw-bold);color:#fff;border-radius:var(--r-xs);margin-right:var(--s-1);padding:0 4px}.tlane.clickable{cursor:pointer}.tlane.clickable:hover{background-color:var(--today)}.svcpick{gap:var(--s-1);flex-wrap:wrap;display:flex}.svcpick button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);border-radius:var(--r-md);padding:var(--s-15) var(--s-3);font:inherit;font-size:var(--t-base);font-weight:var(--fw-semi);cursor:pointer}.svcpick button.on{color:#fff;border-color:#0000}.timefield{position:relative}.timefield input{width:100%;font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);min-height:var(--ctl-md)}.timegrid{z-index:60;top:calc(100% + var(--s-1));gap:var(--s-hair);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:var(--s-15);grid-template-columns:repeat(4,1fr);width:270px;max-height:250px;display:grid;position:absolute;left:0;overflow:auto}.timegrid button{font:inherit;font-size:var(--t-base);color:var(--ink-2);padding:var(--s-15) var(--s-1);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0}.timegrid button:hover{background:var(--brand-soft);color:var(--brand)}.timegrid button.on{background:var(--brand);color:var(--brand-ink);font-weight:var(--fw-semi)}.staffpick{position:relative}.chosen{align-items:center;gap:var(--s-1);min-height:var(--ctl-md);flex-wrap:wrap;display:flex}.who-av{border-radius:var(--r-full);cursor:pointer;background:var(--brand-soft);width:32px;height:32px;color:var(--brand);font:inherit;font-size:var(--t-xs);font-weight:var(--fw-bold);border:0;flex:none;place-items:center;display:inline-grid}.who-av:hover{background:var(--red-soft);color:var(--red)}.who-av.add{background:var(--brand);color:var(--brand-ink);font-size:var(--t-lg)}.who-av.add:hover{background:var(--brand);color:var(--brand-ink);opacity:.9}.who-av.sm{width:24px;height:24px;font-size:var(--t-2xs);pointer-events:none}.stafflist{z-index:60;top:calc(100% + var(--s-1));background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:320px;box-shadow:var(--sh-3);padding:var(--s-15);position:absolute;left:0}.stafflist>input{width:100%;font:inherit;padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);margin-bottom:var(--s-1)}.stafflist-rows{max-height:230px;overflow:auto}.stafflist-rows button{align-items:center;gap:var(--s-2);text-align:left;width:100%;font:inherit;font-size:var(--t-base);padding:var(--s-15) var(--s-2);border-radius:var(--r-md);cursor:pointer;color:var(--ink);background:0 0;border:0;display:flex}.stafflist-rows button:hover{background:var(--ground)}.stafflist-rows button.on{background:var(--brand-soft);color:var(--brand);font-weight:var(--fw-semi)}.stafflist-rows .sub{font-size:var(--t-xs);margin-left:auto}.chip.unav.clickable,.block.unavblock.clickable{cursor:pointer}.chip.unav.clickable:hover,.block.unavblock.clickable:hover{outline:2px solid var(--coral)}.staff-cell.person,.tstaff.person{cursor:pointer}.staff-cell.person:hover,.tstaff.person:hover{background:var(--ground)}.day-cell.clash{box-shadow:inset 0 0 0 1.5px var(--red);background:var(--red-soft)!important}.tlane.clash{background-color:var(--red-soft);box-shadow:inset 0 0 0 1.5px var(--red)}.staff-cell.unassigned,.tstaff.unassigned{background:#fbebd2!important}.trow.unrow .tstaff,.trow.unrow .tlane{background:#fbebd2}.block.unavblock.partday{z-index:2}.nalabel{font-size:var(--t-2xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;background:var(--coral);color:#fff;border-radius:var(--r-xs);white-space:nowrap;padding:1px 6px}.tlane .block:not(.unavblock){z-index:3}.blankslot{align-items:center;gap:var(--s-15);background:var(--panel-2);border-radius:var(--r-full);padding:2px var(--s-2);font-size:var(--t-sm);color:var(--ink-2);display:inline-flex}.blankslot button{cursor:pointer;font:inherit;font-size:var(--t-md);color:var(--ink-2);padding:0 var(--s-1);background:0 0;border:0;line-height:1}.blankslot button:hover{color:var(--brand)}.stafflist-rows .addblank{border-bottom:1px solid var(--line);margin-bottom:var(--s-1);border-radius:0}.stafflist-rows button:disabled{opacity:.45;cursor:not-allowed}.sidebar .wordmark{border-radius:var(--r-full);object-fit:cover}.timegrid{width:320px}.timegrid button{white-space:nowrap}.offtimes{gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;width:100%;display:flex}.offtimes .field{min-width:120px}.offtimes .meetseg{white-space:nowrap;flex:none}.lhandle{cursor:ew-resize;z-index:4;width:9px;position:absolute;top:0;bottom:0;left:0}.lhandle:after{content:"";background:var(--line-strong);border-radius:2px;width:3px;position:absolute;top:30%;bottom:30%;left:2px}.block:hover .lhandle:after,.block:hover .rhandle:after{background:var(--brand)}.maptools{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.showhomes{align-items:center;gap:var(--s-2);font-size:var(--t-base);color:var(--ink-2);cursor:pointer;display:inline-flex}.showhomes input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.showhomes .sub{font-size:var(--t-xs)}.leafmap{border-radius:var(--r-lg);height:64vh;min-height:420px;box-shadow:var(--sh-1);z-index:0;overflow:hidden}.leafpin{border-radius:var(--r-full);width:15px;height:15px;box-shadow:var(--sh-pin);border:3px solid #fff;display:block}.leafpin-label{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xs);font-size:var(--t-2xs);font-weight:var(--fw-bold);white-space:nowrap;color:var(--brand);padding:1px 5px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.mp{min-width:170px;font-family:var(--font)}.mp-head{align-items:baseline;gap:var(--s-2);display:flex}.mp-head b{font-size:var(--t-md)}.mp-no{font-family:var(--font-mono);font-size:var(--t-2xs);color:var(--ink-3)}.mp-sub{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:var(--s-15)}.mp-crew{justify-content:space-between;gap:var(--s-3);font-size:var(--t-base);padding:1px 0;display:flex}.mp-crew span{font-family:var(--font-mono);color:var(--ink-2)}.mp-fin{margin-top:var(--s-15);padding-top:var(--s-15);border-top:1px solid var(--line);font-size:var(--t-sm);color:var(--ink-2)}.leaflet-popup-content{margin:var(--s-3)}.leaflet-container{font-family:var(--font)}.cardhead{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.cardhead .cardlabel{align-items:center;gap:var(--s-15);margin-bottom:0;display:inline-flex}.cardacts{gap:var(--s-2);flex-wrap:wrap;margin-left:auto;display:flex}.subhead{font-size:var(--t-sm);font-weight:var(--fw-semi);color:var(--ink-2);margin:var(--s-3) 0 var(--s-1)}.inlineform{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);margin:var(--s-2) 0 var(--s-4)}.inlineform .field{margin-bottom:var(--s-2)}.addrow{gap:var(--s-2);margin:var(--s-2) 0 var(--s-3);display:flex}.addrow input{font:inherit;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);flex:1}.checkrow{gap:var(--s-2);margin:var(--s-2) 0;font-size:var(--t-md);cursor:pointer;align-items:flex-start;display:flex}.checkrow input{flex:none;margin-top:3px}.checkrow .sub{display:block}.daygroup{margin-bottom:var(--s-3)}.daygroup .subhead{margin-top:0}.pill.ok{background:var(--wc-soft);color:var(--wc)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.notice{gap:var(--s-2);align-items:flex-start;display:flex}.notice.warn{background:var(--amber-soft);color:var(--amber)}.notice svg{flex:none;margin-top:2px}.inlinebtn.danger{color:var(--red)}.inlinebtn.danger:hover{background:var(--red-soft)}.jobflags{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.jobflag{align-items:center;gap:var(--s-15);border:1px solid var(--amber);background:var(--amber-soft);color:var(--amber);border-radius:var(--r-full);padding:var(--s-1) var(--s-3);font-size:var(--t-sm);font-weight:var(--fw-semi);cursor:pointer;display:inline-flex}.jobflag:hover{background:#f2ddbe}.facts{gap:var(--s-15);display:grid}.factrow{gap:var(--s-3);font-size:var(--t-md);align-items:baseline;display:flex}.factrow label{font-size:var(--t-sm);color:var(--ink-3);flex:0 0 132px}.factrow span{color:var(--ink)}.factrow a{color:var(--brand);text-decoration:none}.factrow a:hover{text-decoration:underline}.card.brief{padding:var(--s-3) var(--s-4)}.card.brief .briefbody{margin-top:var(--s-1)}.card.brief .briefbody label{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;display:block}.card.brief .briefbody p{margin:0 0 var(--s-2);white-space:pre-wrap;line-height:var(--lh-snug)}.card.brief.internal{border-left:3px solid var(--line-strong);background:var(--ground)}.crewrow{align-items:center;gap:var(--s-2);padding:var(--s-15) 0;border-bottom:1px solid var(--line);display:flex}.crewrow:last-child{border-bottom:0}.contactrow{gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);align-items:flex-start;display:flex}.contactrow:last-child{border-bottom:0}.contactrow .inlinebtn{flex:none;margin-left:auto}.contactrow.primary{background:var(--brand-soft);border-radius:var(--r-sm);padding:var(--s-2);border-bottom:0}.contactrow a{color:var(--brand);text-decoration:none}.contactrow a:hover{text-decoration:underline}.taskrow.off{opacity:.5}.taskpct.full i{background:var(--wc-soft)}.taskpct.over i{background:var(--red-soft)}.taskpct.none{border:1px dashed var(--line-strong);color:var(--ink-3);font-size:var(--t-2xs);background:0 0}.tstat label{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);display:block}.tstat b{font-size:var(--t-lg);font-weight:var(--fw-semi);display:block}.tstat .sub{font-size:var(--t-xs);line-height:var(--lh-tight);display:block}.taskpick{font:inherit;font-size:var(--t-sm);padding:2px var(--s-2);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);max-width:200px}.costrow{align-items:center;gap:var(--s-2);padding:var(--s-15) 0;border-bottom:1px solid var(--line);font-size:var(--t-md);display:flex}.costrow:last-of-type{border-bottom:0}.costdesc{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.costamt{text-align:right;white-space:nowrap;min-width:76px}.costtotal{gap:var(--s-4);padding-top:var(--s-2);border-top:2px solid var(--line-strong);margin-top:var(--s-2);font-size:var(--t-md);flex-wrap:wrap;justify-content:flex-end;align-items:baseline;display:flex}.costtotal .sub{margin-left:0}.sigshow{margin-top:var(--s-2);gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.sigshow img{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);height:56px;padding:var(--s-1)}.dsedit{gap:var(--s-2);margin-bottom:var(--s-2);align-items:center;display:flex}.dsedit>span:first-child{font-size:var(--t-md);flex:0 0 120px}.dsedit input{font:inherit;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);flex:1}.dsedit .hrsin{text-align:center;flex:0 0 72px}.perfgrid{gap:var(--s-3);margin-bottom:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.perfcard{background:var(--panel);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--sh-1);border:1px solid var(--line)}.perfcard label{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-1);display:block}.perfcard b{font-size:var(--t-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);display:block}.perfcard .sub{margin-top:var(--s-1);line-height:var(--lh-snug);display:block}.perfcard.hero b{font-size:var(--t-3xl)}.perfcard.good{border-color:var(--wc)}.perfcard.good b{color:var(--wc)}.perfcard.warn{border-color:var(--amber)}.perfcard.warn b{color:var(--amber)}.hoursbar.big{height:14px}@media (width<=900px){.factrow label{flex-basis:100px}}.formsection{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--s-4) var(--s-5) var(--s-5);margin-bottom:var(--s-3)}.sectionhead{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--fw-bold);color:var(--ink-3);margin:0 0 var(--s-4)}.formgrid{column-gap:var(--s-6);row-gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(190px,240px));justify-content:start;align-items:start;display:grid}@media (width<=620px){.formgrid{grid-template-columns:1fr}}.field.span-2{grid-column:span 2}.field.span-3{grid-column:1/-1}@media (width<=620px){.field.span-2,.field.span-3{grid-column:auto}}.readonlyval{min-height:var(--ctl-lg);font-size:var(--t-md);color:var(--ink);padding:0 var(--s-2);border-radius:var(--r-sm);background:var(--panel-2);border:1px solid #0000;align-items:center;display:flex}.readonlyval a{color:var(--brand);text-decoration:none}.readonlyval a:hover{text-decoration:underline}.checkline{gap:var(--s-5);min-height:var(--ctl-lg);align-items:center;display:flex}.scopearea{width:100%;font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--s-3);line-height:var(--lh-base);resize:vertical}.scopearea:hover{border-color:var(--ink-3)}.scopearea:focus{border-color:var(--cta);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.contactstrip{gap:var(--s-6);margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.contactchip{min-width:220px}.contactchip>label{font-size:var(--t-xs);font-weight:var(--fw-semi);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-1);display:block}.contactchip a{color:var(--brand);text-decoration:none}.contactchip a:hover{text-decoration:underline}.warn-text{color:var(--amber)}.jobtitlerow{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.jobtitlerow h1{font-size:var(--t-2xl);letter-spacing:var(--track-tight);margin:0}.jobtitleacts{gap:var(--s-2);align-items:center;margin-left:auto;display:flex}.statuspicker{height:var(--ctl-md);font-size:var(--t-md);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);padding:0 var(--s-2)}.jobsub{color:var(--ink-2);font-size:var(--t-md);margin-top:var(--s-1)}.crumbs{align-items:center;gap:var(--s-1);font-size:var(--t-sm);color:var(--ink-3);margin-bottom:var(--s-2);display:flex}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--brand);text-decoration:underline}.crumbs .mono{color:var(--ink-2)}.inputgroup{align-items:stretch;min-width:0;display:flex}.inputgroup>select,.inputgroup>.readonlyval{border-top-right-radius:0;border-bottom-right-radius:0;flex:auto;min-width:0}.inputgroup-btn{width:38px;height:var(--ctl-lg);font-size:var(--t-lg);color:var(--ink-3);background:var(--panel);border:1px solid var(--line-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;cursor:pointer;border-left:0;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.inputgroup-btn:hover:not(:disabled){background:var(--today);border-color:var(--cta);color:var(--brand)}.inputgroup-btn:disabled{opacity:.45;cursor:not-allowed}.inputgroup-btn:focus-visible{outline:2px solid var(--cta);outline-offset:-2px}.addpop{margin-top:var(--s-2);padding:var(--s-3);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-2);gap:var(--s-2);flex-direction:column;display:flex}.addpop-title{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold)}.addpop input{height:var(--ctl-md);font:inherit;font-size:var(--t-md);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--s-2);background:var(--panel)}.btn.sm{min-height:var(--ctl-md);padding:var(--s-15) var(--s-4);font-size:var(--t-md)}.notebody{white-space:pre-wrap;font-size:var(--t-md);color:var(--ink)}.notekind{font-size:var(--t-2xs);font-weight:var(--fw-semi);letter-spacing:var(--track-label);text-transform:uppercase;padding:2px var(--s-2);border-radius:var(--r-full);background:var(--panel-2);color:var(--ink-2);position:relative;top:1px}.notekind.k-invoicing{background:var(--amber-soft);color:var(--amber)}.notekind.k-document{background:var(--cc-soft);color:var(--cc)}.notekind.k-operations{background:var(--bc-soft);color:var(--bc)}.notehidden{font-size:var(--t-2xs);color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:var(--r-full);padding:1px var(--s-15)}.notefiles{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.notethumb img{object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);width:88px;height:88px}.notefile{align-items:center;gap:var(--s-1);font-size:var(--t-sm);color:var(--brand);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);text-decoration:none;display:inline-flex}.notefile:hover{background:var(--panel-2)}.notemodal{width:min(680px,92vw);max-height:88vh;overflow:auto}.dropzone{justify-content:center;align-items:center;gap:var(--s-2);border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s-4);color:var(--ink-3);font-size:var(--t-sm);cursor:pointer;margin-bottom:var(--s-3);display:flex}.dropzone:hover,.dropzone.over{border-color:var(--cta);background:var(--brand-soft);color:var(--ink-2)}.filelist{margin:0 0 var(--s-3);gap:var(--s-1);flex-direction:column;padding:0;list-style:none;display:flex}.filelist li{align-items:center;gap:var(--s-2);font-size:var(--t-sm);display:flex}.filelist li>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fieldbtnrow{align-items:center;gap:var(--s-2);height:var(--ctl-lg);min-width:0;display:flex}.fieldbtn{min-height:var(--ctl-lg);white-space:nowrap}.fieldnote{font-size:var(--t-sm);color:var(--ink-3);white-space:nowrap}.schedcount{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-right:var(--s-1)}.timewho{font-weight:var(--fw-medium);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeedit{gap:var(--s-3);padding:var(--s-3);background:var(--panel-2);border-radius:var(--r-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.timeedit .sigrow{margin-top:0;margin-left:auto}a.schedday-count{color:var(--ink-3);align-items:center;gap:var(--s-1);display:inline-flex}a.schedday-count:hover{color:var(--brand)}.formsection>.formsection{box-shadow:none;background:0 0;margin:0;padding:0}.sechead{align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.sechead-text{min-width:0}.sechead-text h1{margin-bottom:0}.sechead-text .sectionhead{margin:0}.sechead-sub{margin:var(--s-1) 0 0;font-size:var(--t-sm);color:var(--ink-3);max-width:72ch}.sechead-acts{gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.sectoolbar{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.rowlist{flex-direction:column;display:flex}.listrow{padding:var(--s-3) 0;border-top:1px solid var(--line)}.listrow:first-child{border-top:0}.listrow.warn{background:var(--amber-soft)}.listrow.muted{opacity:.72}.rowgroup{margin-bottom:var(--s-4)}.rowgroup:last-child{margin-bottom:0}.rowgroup-head{align-items:baseline;gap:var(--s-2);background:var(--panel-2);border-radius:var(--r-sm);padding:var(--s-15) var(--s-3);margin-bottom:var(--s-1);flex-wrap:wrap;display:flex}.rowgroup-title{font-weight:var(--fw-semi);color:var(--ink);font-size:var(--t-md)}.rowgroup-meta{color:var(--ink-2);font-size:var(--t-sm)}.rowgroup-aside{font-size:var(--t-sm);color:var(--ink-3);margin-left:auto}.rowgroup.past{opacity:.72}.rowgroup.today .rowgroup-head{background:var(--today);box-shadow:inset 0 0 0 1px var(--rule-strong,var(--line-strong))}.emptystate{color:var(--ink-3);font-size:var(--t-sm);padding:var(--s-3) 0;margin:0}.editable{cursor:pointer;border-radius:var(--r-sm)}.editable:hover{background:var(--panel-2)}.editable:focus-visible{outline:2px solid var(--cta);outline-offset:-2px}@media (prefers-reduced-motion:no-preference){.editable{transition:background .12s}}.timerow.missing{background:var(--amber-soft)}.missingmark{color:var(--amber);font-weight:var(--fw-medium)}.dt-tools{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.dt-search{margin-bottom:0;margin-left:auto}.dt-export{margin-left:auto}.dt-search+.dt-export{margin-left:0}.dt-wrap{margin:0 calc(var(--s-5) * -1);padding:0 var(--s-5);overflow-x:auto}.dt{border-collapse:collapse;width:100%;font-size:var(--t-md)}.dt thead th{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);text-align:left;white-space:nowrap;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);background:var(--panel);z-index:1;position:sticky;top:0}.dt thead th.r{text-align:right}.dt thead th.on{color:var(--ink)}.dt-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;cursor:pointer;align-items:center;gap:var(--s-1);background:0 0;border:0;padding:0;display:inline-flex}.dt thead th.r .dt-sort{flex-direction:row-reverse}.dt-sort .ico{opacity:.25}.dt-sort:hover{color:var(--brand)}.dt-sort:hover .ico{opacity:.7}.dt thead th.on .dt-sort .ico{opacity:1;color:var(--brand)}.dt td{height:var(--dt-row);padding:0 var(--s-4);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);white-space:nowrap;line-height:var(--lh-snug)}.dt td>*{vertical-align:middle}.dt col.dt-slack{width:100%}.dt th:last-child,.dt td:last-child{padding:0}.dt td.r{text-align:right}.dt tbody tr:last-child td{border-bottom:1px solid var(--line)}.celllink{font:inherit;color:var(--link);text-align:inherit;cursor:pointer;border-radius:var(--r-xs);vertical-align:middle;align-items:center;gap:var(--s-1);background:0 0;border:0;max-width:100%;padding:0;text-decoration:none;display:inline-flex}.celllink:hover{text-underline-offset:2px;text-decoration:underline}.celllink:focus-visible{outline:2px solid var(--cta);outline-offset:2px}:is(.dt td:has(>.celllink:hover),.dt td:has(>*>.celllink:hover)){background:var(--today)}.celllink b,.celllink .mono,.dt .celllink .cellclamp{color:inherit}.celllink .pill{cursor:pointer}.celllink:hover .pill{box-shadow:inset 0 0 0 1px var(--link);text-decoration:none}.dt tbody tr.isopen>td{background:var(--today)}.dt-expand>td{background:var(--ground);padding:var(--s-4);white-space:normal;height:auto}.dt-bandrow>td{background:var(--panel-2);padding:var(--s-15) var(--s-4);border-bottom:1px solid var(--line);height:auto}.dt-bandrow .rowgroup-title{font-weight:var(--fw-semi);color:var(--ink);font-size:var(--t-md)}.dt-bandrow .rowgroup-meta{color:var(--ink-2);font-size:var(--t-sm);margin-left:var(--s-2)}.dt-bandrow .rowgroup-aside{float:right;font-size:var(--t-sm);color:var(--ink-3)}.dt-band.past{opacity:.72}.dt-band.today .dt-bandrow>td{background:var(--today);box-shadow:inset 0 0 0 1px var(--line-strong)}.dt-foot>td{font-weight:var(--fw-semi);color:var(--ink-2);font-size:var(--t-sm);border-bottom:0;border-top:1px solid var(--line-strong)}.dt-grand>td{border-top:2px solid var(--line-strong)}.dt-none>td{border-bottom:0;height:auto}.dt-none .emptystate{padding:var(--s-5) 0}.dt tbody tr.warn>td{background:var(--amber-soft)}.dt tbody tr.muted td{color:var(--ink-3)}.dt .over{color:var(--red)}.dt .cellsub{color:var(--ink-3);font-size:var(--t-sm)}.dt .cellclamp{text-overflow:ellipsis;white-space:nowrap;max-width:60ch;color:var(--ink-2);display:block;overflow:hidden}.dt .cellstack{gap:var(--s-15);flex-wrap:nowrap;align-items:center;display:flex}@media (width<=820px){.dt-wrap{margin:0 calc(var(--s-3) * -1);padding:0 var(--s-3)}.dt{font-size:var(--t-sm)}.dt td{padding:0 var(--s-3)}}.jobtabs+.formsection{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.dt-pager{gap:var(--s-2);margin-top:var(--s-3);align-items:center;display:flex}.dt-why{margin:var(--s-2) 0 var(--s-3);max-width:80ch}.noteopen{gap:var(--s-3);flex-direction:column;display:flex}.noteopen .field{margin-bottom:0}.noteopen .sigrow{margin-top:0}.var{align-items:center;gap:var(--s-1);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums;display:inline-flex}.var.ok{color:var(--wc)}.var.warn{color:var(--amber)}.var.bad{color:var(--red)}.timeedit{gap:var(--s-3);padding:var(--s-3);background:var(--panel-2);border-radius:var(--r-sm);flex-direction:column;display:flex}.timeedit-what{font-size:var(--t-sm);color:var(--ink-2);max-width:80ch;margin:0}.timeedit-what b{color:var(--ink)}.timeedit-fields{gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;display:flex}.timeedit .field{width:150px;margin-bottom:0}.timeedit .sigrow{margin-top:0}.noteopen-fields{gap:var(--s-4);flex-wrap:wrap;display:flex}.noteopen-fields .field{width:240px;margin-bottom:0}.istoday{font-weight:var(--fw-semi);color:var(--brand)}.costform{gap:var(--s-3);padding:var(--s-4);background:var(--panel-2);border-radius:var(--r-sm);margin-bottom:var(--s-3);flex-direction:column;display:flex}.dt-expand .costform{background:0 0;margin-bottom:0;padding:0}.costform-fields{column-gap:var(--s-5);row-gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(190px,240px));justify-content:start;align-items:start;display:grid}.costform-fields .field{margin-bottom:0}.costform-fields .field.wide{grid-column:span 2}@media (width<=620px){.costform-fields{grid-template-columns:1fr}.costform-fields .field.wide{grid-column:auto}}.costform .sigrow{margin-top:0}.costform .sigrow .btn.danger{margin-right:auto}.btn.danger{background:var(--red-soft);color:var(--red)}.btn.danger:hover{background:var(--red);color:var(--panel)}.filterbar{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.filtersearch{align-items:center;gap:var(--s-2);height:var(--ctl-lg);padding:0 var(--s-3);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-xs);color:var(--ink-3);display:flex}.filtersearch:focus-within{border-color:var(--cta);box-shadow:var(--focus)}.filtersearch input{font:inherit;font-size:var(--t-md);color:var(--ink);background:0 0;border:0;outline:none;width:220px}.filterpick{align-items:center;gap:var(--s-2);height:var(--ctl-lg);padding:0 var(--s-3);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-xs);color:var(--ink-3);cursor:pointer;display:inline-flex;position:relative}.filterpick:hover{background:var(--today);border-color:var(--cta)}.filterpick:focus-within{border-color:var(--cta);box-shadow:var(--focus)}.filterpick select{font:inherit;font-size:var(--t-md);color:var(--ink);cursor:pointer;padding-right:var(--s-3);text-overflow:ellipsis;background:0 0;border:0;outline:none;max-width:190px}.filterpick.on{border-color:var(--link);color:var(--link);background:var(--today)}.filterpick.on select{color:var(--link);font-weight:var(--fw-medium)}.filterpick .pickbtn{font:inherit;font-size:var(--t-md);color:inherit;align-items:center;gap:var(--s-1);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;display:inline-flex}.filterpick.on .pickbtn{color:var(--link);font-weight:var(--fw-medium)}.filterpick .pickmenu{max-height:340px;font-weight:var(--fw-normal);color:var(--ink);left:0;right:auto;overflow:auto}.filterpick .pickmenu .ddrow{cursor:pointer}.filterpick .pickmenu input{accent-color:var(--brand);width:var(--ico-md);height:var(--ico-md);margin:0}.filterclear{align-items:center;gap:var(--s-1);height:var(--ctl-lg);padding:0 var(--s-3);font:inherit;font-size:var(--t-md);color:var(--ink-3);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;display:inline-flex}.filterclear:hover{color:var(--red);background:var(--red-soft)}.filterdates{align-items:center;gap:var(--s-2);height:var(--ctl-lg);padding:0 var(--s-3);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-xs);color:var(--ink-3);display:inline-flex}.filterdates.on{border-color:var(--link);color:var(--link);background:var(--today)}.filterdates input{font:inherit;font-size:var(--t-md);color:var(--ink);background:0 0;border:0;outline:none;width:112px}.custstats{gap:var(--s-5);margin-top:var(--s-3);font-size:var(--t-md);color:var(--ink-2);flex-wrap:wrap;display:flex}.custstats b{color:var(--ink);font-weight:var(--fw-semi);margin-right:var(--s-1)}.custstats .over b{color:var(--red)}.cellpair{align-items:baseline;gap:var(--s-2);white-space:nowrap;display:inline-flex}.closegrid{gap:var(--s-3);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.checkcard{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--s-4);border-left:3px solid var(--wc)}.checkcard.warn{border-left-color:var(--amber)}.checkcard.bad{border-left-color:var(--red)}.checkcard-title{align-items:center;gap:var(--s-2);margin-bottom:var(--s-1);display:flex}.checkcard-title b{font-size:var(--t-md);color:var(--ink)}.checkcard .fieldhint{margin:0}.checklist{margin:var(--s-3) 0 0;padding-left:var(--s-4);gap:var(--s-1);font-size:var(--t-sm);color:var(--ink-2);flex-direction:column;display:flex}.checklist b{color:var(--ink)}.dayrow{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.daychip{align-items:flex-start;gap:var(--s-1);padding:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel);font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.daychip:hover:not(:disabled){background:var(--today);border-color:var(--cta)}.daychip:disabled{cursor:default}.daychip.on{background:var(--wc-soft);border-color:var(--wc)}.daychip.future{opacity:.5}.daychip-dow{font-weight:var(--fw-semi);color:var(--ink);font-size:var(--t-md)}.daychip-h{color:var(--ink-2);font-size:var(--t-sm)}.daychip .var{font-size:var(--t-sm)}.sheetopen{gap:var(--s-3);flex-direction:column;display:flex}.sheetopen .rowlist{background:var(--panel);border-radius:var(--r-sm)}.sheetopen .sigrow{margin-top:0}.sheetopen .btn.danger{margin-right:auto}.signpage{background:var(--ground);min-height:100vh;padding:var(--s-4);justify-content:center;align-items:flex-start;display:flex}.signcard{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--s-5);width:100%;max-width:560px;margin:var(--s-4) 0}.signhead{border-bottom:1px solid var(--line);padding-bottom:var(--s-4);margin-bottom:var(--s-4)}.signbrand{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-bold)}.signcard h1{font-size:var(--t-2xl);font-weight:var(--fw-bold);color:var(--ink);margin:var(--s-1) 0 0;letter-spacing:var(--track-tight)}.signwhat{margin:var(--s-2) 0 0;font-size:var(--t-lg);color:var(--ink)}.signmeta{margin:var(--s-1) 0 0;font-size:var(--t-md);color:var(--ink-2)}.signlines{border-collapse:collapse;width:100%;font-size:var(--t-md)}.signlines th{font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);text-align:left;padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.signlines td{padding:var(--s-3) 0;border-bottom:1px solid var(--line);vertical-align:top}.signlines .r{text-align:right}.signlines tfoot td{border-bottom:0;border-top:2px solid var(--line-strong);font-weight:var(--fw-semi);padding-top:var(--s-3)}.signnote{margin:var(--s-3) 0 0;font-size:var(--t-sm);color:var(--ink-2);background:var(--panel-2);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3)}.signask{margin:var(--s-5) 0 var(--s-3);font-size:var(--t-md);color:var(--ink)}.signbtn{width:100%;min-height:var(--tap);font-size:var(--t-lg)}.signform{margin-top:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.signlabel{font-size:var(--t-md);color:var(--ink-2)}.signform input{height:var(--tap);font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--s-3)}.signactions{gap:var(--s-2);margin-top:var(--s-2);display:flex}.signactions .btn{min-height:var(--tap);flex:1}.signdone{margin-top:var(--s-4);background:var(--wc-soft);border-radius:var(--r-md);padding:var(--s-4);color:var(--wc)}.signdone b{color:var(--wc)}.signfoot{margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--line)}@media print{.signpage{background:0 0;padding:0;display:block}.signcard{box-shadow:none;max-width:none;margin:0;padding:0}.signbtn,.signactions,.signask,.signform{display:none!important}}.chasebox{background:var(--panel-2);border-radius:var(--r-sm);padding:var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.chasebox .fieldhint{margin:0}.chaseactions{gap:var(--s-2);flex-wrap:wrap;display:flex}.chaselink{font:inherit;font-size:var(--t-sm);color:var(--ink-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--s-2);background:var(--panel);width:100%}.dscols{gap:var(--s-2);font-size:var(--t-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);font-weight:var(--fw-semi);padding:var(--s-2) 0;grid-template-columns:1.4fr 110px 110px 1.6fr 70px 32px;display:grid}.dscols .r{text-align:right}.dsedit{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:1.4fr 110px 110px 1.6fr 70px 32px;align-items:center;display:grid}.dsedit input{height:var(--ctl-md);font:inherit;font-size:var(--t-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--s-2);min-width:0}.dsedit .r{text-align:right}@media (width<=720px){.dscols{display:none}.dsedit{row-gap:var(--s-1);grid-template-columns:1fr 1fr}}.dsrow{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:1fr 96px 96px 44px;align-items:center;display:grid}.dsrow input{min-width:0}.dsrow input[readonly]{background:var(--panel-2);color:var(--ink-2)}.dshrs{font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);font-weight:var(--fw-semi)}.dstotal{padding:var(--s-2) 0;font-size:var(--t-lg);color:var(--ink-2)}.dstotal b{color:var(--ink);font-variant-numeric:tabular-nums}.sigwrap .sigrow{flex-wrap:wrap}.dsrow{grid-template-areas:"name start end hrs""svc svc svc svc"}.dsrow input[readonly]{grid-area:name}.dsrow select{width:100%;font:inherit;font-size:var(--t-md);min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel);color:var(--ink);padding:0 var(--s-3);margin-bottom:var(--s-3);grid-area:svc}.dt-tick{width:36px;padding-left:var(--s-3);vertical-align:middle;padding-right:0}.dt-tick input{cursor:pointer;width:15px;height:15px;accent-color:var(--brand);vertical-align:middle;margin:0}.dt-tick input:disabled{cursor:default;opacity:.4}.dt tr.ison>td{background:var(--bc-soft)}.dt-bulk{align-items:center;gap:var(--s-2);background:var(--bc-soft);border:1px solid var(--bc);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.dt-bulk .count{font-weight:var(--fw-semi);color:var(--bc)}.dt-bulk .spacer{flex:1}.dt-bulk .btn{min-height:var(--ctl-sm)}.dt-killlist{max-height:180px;margin:var(--s-2) 0;padding:var(--s-2) var(--s-3);background:var(--panel-2);border-radius:var(--r-md);font-size:var(--t-md);overflow:auto}.dt-killlist li{padding:2px 0}.dt-killlist .meta{color:var(--ink-3)}.notethumbwrap{gap:var(--s-1);flex-direction:column;align-items:center;display:inline-flex}.notefull{font-size:var(--t-2xs);color:var(--brand);font-weight:var(--fw-semi);text-decoration:none}.notefull:hover{text-decoration:underline}.notefull.none{color:var(--ink-3);font-weight:var(--fw-medium);cursor:help}.cleanrow{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.cleanrow .nm{font-weight:var(--fw-semi)}.cleanrow .sub{white-space:nowrap}.cleanrow .spacer{flex:1}.bandsel{font:inherit;font-size:var(--t-xs);height:var(--ctl-sm);padding:0 var(--s-1);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--ground);color:var(--ink-2);max-width:5.5rem}.bandsel.on{color:var(--amber);border-color:var(--amber);background:var(--amber-soft)}.qline .desc2{gap:var(--s-1);align-items:center;min-width:0;display:flex}.qline .desc2 input{flex:1;min-width:0}.qsec.mob>header{background:var(--ground)}.preview .cleantable td.on{color:var(--bc);font-weight:var(--fw-semi)}.preview h3.qtitle{margin:var(--s-4) 0 var(--s-2);letter-spacing:var(--track-label);font-size:var(--t-md)}.fieldpick{background:0 0;border:0;gap:0;width:100%;padding:0;position:relative}.fieldpick .pickbtn{width:100%;height:var(--ctl-md);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);padding:0 var(--s-2);font:inherit;color:var(--ink);justify-content:space-between}.fieldpick.on .pickbtn{border-color:var(--line-strong)}.fieldpick .ddmenu{min-width:100%;left:0;right:auto}.withnew{gap:var(--s-1);align-items:center;display:flex}.withnew select{flex:1;min-width:0}.inlinenew{gap:var(--s-1);flex-wrap:wrap;align-items:center;display:flex}.inlinenew input{flex:1;min-width:7rem}.qchips{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.chip{align-items:center;gap:var(--s-1);height:var(--ctl-sm);padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--ink-2);font-size:var(--t-sm);font-weight:var(--fw-semi);white-space:nowrap;display:inline-flex}.chip.status{background:var(--panel-2);border-color:#0000}.chip.status i{border-radius:var(--r-full);background:currentColor;width:.5rem;height:.5rem;display:inline-block}.addmenu{position:relative}.addmenu .ddmenu{min-width:12rem;left:auto;right:0}.qsec>header .sectitle{font:inherit;font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--ink);text-align:left;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);cursor:pointer;gap:var(--s-2);background:0 0;border:0;align-items:center;display:inline-flex}.qsec>header .sectitle:hover{background:var(--panel-2)}.qsec>header .sectitle .sub{font-weight:var(--fw-normal)}.qsec.dragover{outline:2px dashed var(--brand);outline-offset:-2px}.grip{cursor:grab;color:var(--ink-3);padding:0 var(--s-1);align-items:center;display:inline-flex}.grip:active{cursor:grabbing}.qline.dragover{box-shadow:inset 0 2px 0 var(--brand)}.qline .acts{justify-content:flex-end;gap:0;display:inline-flex}.qline{grid-template-columns:24px 76px 1fr 64px 76px 76px 60px 84px 88px 84px}.qline.ranged{grid-template-columns:24px 76px 1fr 64px 64px 76px 76px 60px 84px 88px 84px}.qline.internal{display:flex}.secmeta{font-size:var(--t-xs);color:var(--ink-3)}.searchadd{width:100%;display:flex;position:relative}.searchadd-field{align-items:center;gap:var(--s-1);border:1px solid var(--line-strong);border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--panel);min-width:0;height:var(--ctl-md);padding:0 var(--s-2);flex:1;display:flex}.searchadd-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.searchadd-field input{min-width:0;height:100%;box-shadow:none;background:0 0;border:0;flex:1;padding:0}.searchadd-field input:focus{box-shadow:none;outline:none}.searchadd-ico{color:var(--ink-3);flex:none}.searchadd-value{text-align:left;min-width:0;font:inherit;font-weight:var(--fw-semi);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.searchadd-clear{color:var(--ink-3);cursor:pointer;padding:0 var(--s-1);background:0 0;border:0;display:inline-flex}.searchadd-clear:hover{color:var(--ink)}.searchadd-add{width:var(--ctl-md);height:var(--ctl-md);border:1px solid var(--line-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--panel-2);color:var(--brand);cursor:pointer;border-left:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.searchadd-add:hover:not(:disabled){background:var(--brand);color:var(--brand-ink)}.searchadd.off .searchadd-field,.searchadd.off .searchadd-add{opacity:.55}.searchadd-menu{min-width:max(100%,22rem);max-height:16rem;top:calc(100% + 4px);left:0;right:auto;overflow:auto}.searchadd-menu .ddrow{white-space:nowrap}.searchadd-menu .ddrow b{margin-right:var(--s-2)}.searchadd-new{color:var(--brand);font-weight:var(--fw-semi);border-top:1px solid var(--line)}.overlay.nested{z-index:35}.modal.nested{z-index:40}
