:root{--page:#fbfaf7;--surface:#ffffff;--surface2:#f6f5f1;--surface3:#eceae3;--border:#e7e4dc;--border2:#d9d6cc;--text:#1d1d1b;--muted:#6c6a62;--dim:#9a978d;--accent:#0f9d8a;--accent-dim:#dcf1ed;--dark1:#10312b;--dark2:#0c211d;--teal:#5fd3bf;--darktext:#eaf3f0;--darkmuted:#9fc0b8;--ok:#2f9e6f;--ok-dim:#dcf0e6;--warn:#c98a25;--warn-dim:#f6ecd7;--danger:#cf5d52;--danger-dim:#f7e4e1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;overscroll-behavior:none}body{font-family:Hanken Grotesk,system-ui,sans-serif;background:var(--page);color:var(--text);min-height:100dvh}#root{width:100%;display:flex;justify-content:center}.device{position:relative;width:100%;background:var(--page);display:flex;flex-direction:column;height:100dvh;overflow:hidden}@media (min-width:540px){body{align-items:flex-start;padding:28px 0}.device{max-width:430px;height:min(900px,92vh);border-radius:30px;box-shadow:0 24px 70px #00000038;border:1px solid #d7d4cc}}.appbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(165deg,var(--dark1),var(--dark2));color:#fff;padding:calc(14px + env(safe-area-inset-top)) 16px 13px}.appbar .b{display:flex;align-items:center;gap:9px;min-width:0}.appbar .b>div{min-width:0}.appbar img{height:22px;filter:brightness(0) invert(1)}.appbar .nm{font-weight:700;font-size:13px;letter-spacing:-.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar .sub{font-size:11px;opacity:.85}.signout{background:#ffffff2e;border:none;color:#fff;font-family:inherit;font-size:11px;font-weight:600;padding:6px 11px;border-radius:8px;cursor:pointer}.screen{position:relative;flex:1;overflow:auto;overscroll-behavior:none;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;-webkit-overflow-scrolling:touch}.screen::-webkit-scrollbar{width:0}.tabs{display:flex;border-top:1px solid rgba(255,255,255,.08);background:var(--dark2);padding-bottom:env(safe-area-inset-bottom)}.tabs a{flex:1;text-align:center;padding:9px 0 11px;font-size:10.5px;color:var(--darkmuted);cursor:pointer;display:flex;flex-direction:column;gap:3px;align-items:center;-webkit-user-select:none;user-select:none}.tabs a.on{color:var(--teal)}.tabs svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}.login{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;text-align:left;padding:calc(24px + env(safe-area-inset-top)) 30px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(170deg,#10312b,#0c211d);color:#eaf3f0;min-height:100%}.login img{height:30px;width:auto;filter:brightness(0) invert(1);align-self:flex-start;margin:0}.login .eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#5fd3bf;margin-top:28px}.login h1{font-size:27px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:9px 0 0;color:#fff}.login p{font-size:13.5px;color:#9fc0b8;margin:12px 0 0;max-width:300px;line-height:1.5}.login .lcard{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:11px}.login .lcard .av{width:38px;height:38px;border-radius:50%;background:#3a6ea5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex:none}.login .lcard .nm{font-size:14.5px;font-weight:700;color:#fff}.login .lcard .co{font-size:12px;color:#9fc0b8}.login .lfield{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px 14px}.login .lfield .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#7fa69d;font-weight:700}.login .lfield .v{font-size:14px;color:#fff;margin-top:2px;font-family:Geist Mono,SF Mono,ui-monospace,monospace}.login .loginbtn{margin-top:18px;font-family:inherit;font-size:15px;font-weight:700;color:#0c211d;background:#5fd3bf;border:none;border-radius:12px;padding:14px;cursor:pointer}.login .loginbtn:active{transform:scale(.99)}.login .secured{font-size:11.5px;color:#6f8d85;margin-top:14px;text-align:center}.fl{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.fi{width:100%;border:1px solid var(--border2);border-radius:10px;padding:12px;font-family:inherit;font-size:15px;color:var(--text);background:var(--surface2);margin-bottom:14px}.fi:focus{outline:none;border-color:var(--accent);background:#fff}.pin{letter-spacing:6px;text-align:center;font-size:20px}.btn-primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:11px;padding:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}.btn-primary:active{transform:scale(.99)}.login .hint{font-size:11px;color:var(--dim);margin-top:12px;text-align:center}.bd-head{background:var(--surface);border-bottom:1px solid var(--border);padding:calc(13px + env(safe-area-inset-top)) 16px 14px;margin:calc(-16px - env(safe-area-inset-top)) -16px 0}.bd-id{display:flex;align-items:center;gap:11px}.bd-id .av{width:38px;height:38px;border-radius:50%;background:#3a6ea5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex:none}.bd-id .nm{font-size:15px;font-weight:700}.bd-id .co{font-size:11.5px;color:var(--dim)}.bd-out{border:none;background:var(--surface3);width:34px;height:34px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bd-tiles{display:flex;gap:7px;margin-top:13px}.bd-search{display:flex;align-items:center;gap:8px;margin-top:12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:9px 12px}.bd-search svg{width:16px;height:16px;stroke:var(--dim);fill:none;stroke-width:2;flex:none}.bd-search input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text);outline:none}.secbtn{width:100%;display:flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:18px 2px 9px}.secn{font-weight:700;color:var(--muted);background:var(--surface3);border-radius:20px;padding:1px 8px;font-size:11px}.secch{margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.55;transition:.15s}.secch.open{transform:rotate(45deg)}.bd-tile{flex:1;border-radius:10px;padding:8px 10px}.bd-tile .n{font-size:19px;font-weight:800;line-height:1}.bd-tile .l{font-size:10.5px;font-weight:600;margin-top:1px}.bd-sec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:18px 2px 9px}.bd-sec:first-of-type{margin-top:15px}.acard{background:var(--surface);border:1px solid rgba(207,93,82,.32);border-radius:13px;padding:13px 14px;margin-bottom:10px;cursor:pointer}.acard .row1{display:flex;align-items:center;gap:7px}.acard .cust{font-size:14.5px;font-weight:700;margin-top:9px}.acard .addr{font-size:12px;color:var(--muted);margin-top:2px}.acard .fault{font-size:12.5px;color:var(--text);margin-top:7px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.acard .acceptbtn{width:100%;margin-top:11px;padding:11px;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:9px;cursor:pointer}.acard .acceptbtn:active{transform:scale(.99)}.jobcta{width:100%;margin-top:11px;padding:11px;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.jobcta:active{transform:scale(.99)}.prow{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 14px;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;gap:12px}.prow .l{flex:1;min-width:0}.prow .row1{display:flex;align-items:center;gap:7px}.prow .cust{font-size:14px;font-weight:700;margin-top:6px}.prow .addr{font-size:12px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prow .r{text-align:right;flex:none}.srow{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin-bottom:9px;cursor:pointer;display:flex;align-items:center;gap:11px;opacity:.9}.tcode{font-family:Geist Mono,SF Mono,ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-dim);border-radius:5px;padding:1px 6px}.ttype{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px}.tstage{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-dim);border-radius:6px;padding:1px 7px}.tsla{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;white-space:nowrap}.bd-empty{font-size:13px;color:var(--dim);padding:8px 2px}.utitle{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.daterow{font-size:13px;color:var(--muted)}.h-big{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:2px 0 14px}.jobcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px;margin-bottom:11px;cursor:pointer;box-shadow:0 1px #00000005}.jobcard:active{transform:scale(.995)}.jtop{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.cust{font-weight:700;font-size:15px;letter-spacing:-.01em}.addr{font-size:12.5px;color:var(--muted);margin-top:3px}.meta{display:flex;gap:13px;margin-top:10px;font-size:11px;color:var(--dim);flex-wrap:wrap}.chip{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;height:fit-content}.chip.done{background:var(--ok-dim);color:var(--ok)}.chip.prog{background:var(--accent-dim);color:var(--accent)}.chip.sched{background:var(--surface3);color:var(--muted)}.chip.warr{background:var(--ok-dim);color:var(--ok)}.chip.oow{background:var(--warn-dim);color:var(--warn)}.back{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--accent);font-weight:600;cursor:pointer;margin-bottom:12px}.sec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);margin:18px 0 8px}.box{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:13px}.row2{display:flex;gap:10px}.row2 .box{flex:1;text-align:center}.hello{margin:2px 0 14px}.hello-greet{font-size:21px;font-weight:800;letter-spacing:-.02em}.hello-date{font-size:13px;color:var(--muted);margin-top:2px}.homegrid{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.homecard{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px;cursor:pointer;transition:transform .12s ease}.homecard:active{transform:scale(.99)}.homecard .hc-n{font-size:24px;font-weight:800;line-height:1;color:var(--accent)}.homecard .hc-l{font-size:14px;margin:0;font-weight:600}.homecard .hc-left{display:flex;align-items:center;gap:12px}.hc-i{width:36px;height:36px;border-radius:10px;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}.hc-i svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.k{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}.v{font-size:17px;font-weight:700;margin-top:3px}.actduo{display:flex;gap:9px;margin:13px 0}.actduo a{flex:1;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:12px;font-size:13px;font-weight:600;color:var(--text);text-decoration:none;cursor:pointer}.actduo a:active{background:var(--surface2)}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:78px;height:62px;object-fit:cover;border-radius:9px;border:1px solid var(--border);cursor:pointer}.addphoto{width:78px;height:62px;border:1.5px dashed var(--border2);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--dim);font-size:20px;cursor:pointer;gap:1px}.addphoto span{font-size:9px;letter-spacing:.02em}.step{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--border);cursor:pointer;font-size:14px}.step:last-child{border-bottom:none}.cb{width:22px;height:22px;border-radius:7px;border:1.6px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff}.step.on .cb{background:var(--accent);border-color:var(--accent)}.step.on{color:var(--muted);text-decoration:line-through}.prog{height:7px;background:var(--surface3);border-radius:7px;overflow:hidden;margin-bottom:10px}.prog>div{height:100%;background:var(--accent);transition:width .25s}.part{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:9px 0;border-bottom:1px solid var(--border)}.part:last-child{border-bottom:none}.px{margin-left:9px;color:var(--dim);cursor:pointer}.chipset{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.pc{font-size:11.5px;border:1px solid var(--border2);border-radius:20px;padding:6px 11px;cursor:pointer;background:var(--surface2)}.pc:active{background:var(--accent-dim)}.hours{display:flex;align-items:center;gap:11px}.hbtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border2);background:var(--surface);font-size:18px;cursor:pointer;color:var(--text)}.tot{display:flex;justify-content:space-between;font-weight:800;font-size:17px;margin-top:6px;padding-top:11px;border-top:2px solid var(--border)}.duo{display:flex;gap:9px;margin-top:13px}.btn{flex:1;background:var(--surface);border:1px solid var(--border2);border-radius:11px;padding:12px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text)}.btn.paid{background:var(--ok-dim);border-color:var(--ok-dim);color:var(--ok)}.complete{width:100%;margin-top:18px;background:var(--accent);color:#fff;border:none;border-radius:13px;padding:16px;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer}.complete[disabled]{background:var(--surface3);color:var(--dim);cursor:not-allowed}.invbadge{font-size:11px;font-weight:700;padding:3px 11px;border-radius:20px}.invbadge.paid{background:var(--ok-dim);color:var(--ok)}.invbadge.unpaid,.invbadge.submitted{background:var(--warn-dim);color:var(--warn)}.invbadge.approved{background:var(--accent-dim);color:var(--accent)}.notebox{font-size:12.5px;color:var(--muted);line-height:1.5}.sigwrap{display:flex;flex-direction:column}.sigpad{display:block;width:100%;height:200px;background:var(--surface);border:1.5px dashed var(--border2);border-radius:13px;touch-action:none;cursor:crosshair}.sigfoot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.sighint{font-size:12px;color:var(--muted)}.sigclear{background:var(--surface3);color:var(--text);border:none;border-radius:8px;font-family:inherit;font-size:12.5px;font-weight:700;padding:6px 14px;cursor:pointer}.sigclear:disabled{opacity:.45;cursor:default}.sigline{font-size:12px;color:var(--dim);text-align:center;margin-top:8px}.done-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.tick{width:74px;height:74px;border-radius:50%;background:var(--ok-dim);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.tick svg{width:38px;height:38px;stroke:var(--ok);fill:none;stroke-width:2.4}.lb{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:130;align-items:center;justify-content:center;padding:24px}.lb.show{display:flex}.lb img{max-width:100%;max-height:80vh;border-radius:12px}.lb iframe{width:100%;max-width:520px;height:84vh;border:none;border-radius:12px;background:#fff;box-shadow:0 20px 60px #0006}.lb .lbclose{position:absolute;top:16px;right:18px;width:34px;height:34px;border-radius:50%;background:#ffffff29;color:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pill{font-size:11px;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:3px 8px;display:inline-block}.invsum{display:flex;gap:9px;margin:6px 0 4px}.invsum .box{flex:1;text-align:center;padding:12px 8px}.invsum .v{font-size:18px;margin-top:4px}.invrow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 13px;margin-bottom:10px;cursor:pointer;box-shadow:0 1px #00000005}.invrow:active{transform:scale(.995)}.invrow-l{min-width:0}.invrow .cust{font-weight:700;font-size:14.5px;letter-spacing:-.01em}.invrow .addr{font-size:12px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invrow .meta{display:flex;gap:11px;margin-top:8px;font-size:11px;color:var(--dim);flex-wrap:wrap}.invrow-r{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}.invrow .amt{font-size:17px;font-weight:800;letter-spacing:-.01em}.invbadge.draft{background:var(--surface3);color:var(--muted)}.invpdf{background:var(--surface2);border:1px solid var(--border2);color:var(--text);font-family:inherit;font-size:11px;font-weight:600;padding:5px 11px;border-radius:8px;cursor:pointer}.invpdf:active{background:var(--accent-dim)}.invcard{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 13px;margin-bottom:10px}.invtop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;cursor:pointer}.invpdf-btn{width:100%;margin-top:11px;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--surface2);color:var(--text);border:1px solid var(--border2);border-radius:11px;padding:12px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer}.invpdf-btn:active{filter:brightness(.97)}.invpdf-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.invpdf-drop{display:none;margin-top:10px}.invpdf-drop.open{display:block;animation:invdrop .2s ease}@keyframes invdrop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.invdoc{border:1px solid var(--border);border-radius:11px;background:#fff;padding:14px 15px;font-size:12.5px;color:var(--text)}.invdoc-h{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:11px;border-bottom:1px solid var(--border);margin-bottom:11px}.invdoc-biz{font-weight:800;font-size:14px;letter-spacing:-.01em}.invdoc-sub{font-size:11px;color:var(--dim);margin-top:2px}.invdoc-num{font-weight:700;font-family:var(--mono,monospace);font-size:12px}.invdoc-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;color:var(--muted)}.invdoc-row .invdoc-k{color:var(--dim)}.invdoc-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border);margin-top:8px;font-weight:600}.invdoc-total{display:flex;justify-content:space-between;gap:12px;padding:9px 0 2px;border-top:2px solid var(--border);margin-top:6px;font-weight:800;font-size:14px}.invdoc-status{margin-top:11px;text-align:center;font-size:11px;font-weight:700;border-radius:8px;padding:7px}.invdoc-status.unpaid{background:var(--warn-dim);color:var(--warn)}.invdoc-status.paid{background:var(--ok-dim);color:var(--ok)}.invdoc-pdf{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.invdoc-pdfsrc{font-size:11px;color:var(--dim);line-height:1.3;flex:1;min-width:0}.invdoc-pdfsrc b{color:var(--muted);font-weight:700}.invdoc-pdfbtn{flex:none;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-dim);border:none;border-radius:9px;padding:9px 13px;cursor:pointer}.invdoc-pdfbtn:active{filter:brightness(.97)}.invdoc-pdfbtn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.jobcard.avail .cust{font-size:14.5px}.payout-panel{display:flex;gap:9px;margin:11px 0 2px}.pp{flex:1;border-radius:11px;padding:9px 11px}.pp-pay{background:var(--accent-dim)}.pp-time{background:var(--surface2);border:1px solid var(--border)}.payv{font-size:18px;font-weight:800;color:var(--accent);letter-spacing:-.02em;margin-top:3px}.estv{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-top:3px}.accept{width:100%;margin-top:11px;background:var(--accent);color:#fff;border:none;border-radius:11px;padding:12px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer}.accept:active{transform:scale(.99)}.kv2{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px}.kv2:last-child{border-bottom:none}.kvk{color:var(--muted);font-size:12px}.kvv{font-weight:700;text-align:right;word-break:break-word}.hqnote{background:var(--warn-dim);border:1px solid #ecdcae;border-radius:13px;padding:12px 13px;margin-top:10px}.hqnote-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);margin-bottom:6px;display:flex;gap:6px;align-items:center}details.hist{background:var(--surface);border:1px solid var(--border);border-radius:13px;margin-top:10px;overflow:hidden}details.hist>summary{list-style:none;cursor:pointer;padding:12px 13px;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}details.hist>summary::-webkit-details-marker{display:none}details.hist>summary .histlabel{flex:1}details.hist>summary:after{content:"▸";color:var(--dim);font-size:13px;transition:transform .2s}details.hist[open]>summary:after{transform:rotate(90deg)}.histcount{background:var(--surface3);color:var(--muted);font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px}.histbody{padding:0 13px 8px}.histrow{padding:10px 0;border-top:1px solid var(--border)}.histtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.histtype{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}.histtype.svc{background:var(--accent-dim);color:var(--accent)}.histtype.rep{background:var(--danger-dim);color:var(--danger)}.histtype.ins{background:var(--ok-dim);color:var(--ok)}.histtype.req{background:var(--warn-dim);color:var(--warn)}.histdate{font-size:11px;color:var(--dim)}.histnote{font-size:12.5px;color:var(--muted);line-height:1.45}.pc.on{background:var(--accent);color:#fff;border-color:var(--accent)}.ratefield{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.ratefield:last-of-type{border-bottom:none}.ratefield label{font-size:13.5px;font-weight:600}.rateinput{display:flex;align-items:center;gap:3px;background:var(--surface2);border:1px solid var(--border2);border-radius:9px;padding:6px 10px}.rateinput input{width:62px;border:none;background:transparent;font-family:inherit;font-size:15px;font-weight:700;text-align:right;color:var(--text)}.rateinput input:focus{outline:none}.rateinput .suf{font-size:12px;color:var(--muted)}.offbar{background:var(--warn);color:#fff;font-size:11.5px;font-weight:500;text-align:center;padding:calc(7px + env(safe-area-inset-top)) 14px 7px}.offbar+.screen{padding-top:16px}.offbar+.screen .bd-head{margin-top:-16px;padding-top:13px}.apr{display:flex;align-items:center}.syncpill{font-size:10px;font-weight:600;color:#fff;background:#ffffff2e;padding:4px 9px;border-radius:8px;margin-right:8px;white-space:nowrap}.syncpill.off{background:#00000038}.syncpill.pend{background:#ffffff4d}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff2e;border:none;border-radius:9px;color:#fff;cursor:pointer;margin-right:8px;padding:0}.iconbtn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}.iconbtn.on{background:#fff}.iconbtn.on svg{stroke:var(--accent)}.availsw{display:inline-flex;align-items:center;gap:8px;margin-right:8px;cursor:pointer;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}.availsw .switch.sm{width:40px;height:23px;background:#ffffff4d}.availsw .switch.sm i{width:17px;height:17px;top:3px;left:3px;background:#fff}.availsw .switch.sm.on{background:#fff}.availsw .switch.sm.on i{left:20px;background:var(--dark2)}.searchrow{display:flex;align-items:center;gap:8px;background:var(--dark2);padding:0 16px 12px}.searchrow .gsicon{width:16px;height:16px;fill:none;stroke:#ffffffd9;stroke-width:2.2;stroke-linecap:round;flex-shrink:0}.gsearch{flex:1;border:none;border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px;background:#fff;color:var(--text);box-sizing:border-box}.gsearch:focus{outline:none}.gsclear{background:#ffffff38;border:none;color:#fff;font-size:13px;width:30px;height:30px;border-radius:8px;cursor:pointer;flex-shrink:0}@keyframes swipeInRight{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:none}}.swipein{animation:swipeInRight .3s cubic-bezier(.2,.8,.2,1)}@keyframes slideUpIn{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}.slideup{animation:slideUpIn .32s cubic-bezier(.2,.8,.2,1)}.login .pinrow{display:flex;gap:15px;justify-content:center;margin:22px 0 4px}.pindot{width:14px;height:14px;border-radius:50%;border:1.6px solid rgba(255,255,255,.35);transition:.15s}.pindot.on{background:var(--teal);border-color:var(--teal)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;width:100%;max-width:280px;margin:12px auto 0}.keypad .key{height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.13);background:#ffffff0f;color:#fff;font-family:inherit;font-size:21px;font-weight:600;cursor:pointer}.keypad .key:active{background:#ffffff2e}.keypad .key.del{font-size:19px;color:var(--darkmuted);background:transparent;border-color:transparent}.profhdr{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid var(--border)}.profav{width:44px;height:44px;border-radius:50%;background:#3a6ea5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex:none}.profname{font-size:16px;font-weight:700}.profsub{font-size:12px;color:var(--muted);margin-top:1px}.editlink{border:none;background:var(--accent-dim);color:var(--accent);font-family:inherit;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer;flex:none}.prowset{margin-top:2px}.prow2{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.prow2:last-child{border-bottom:none}.prow2 .pl{font-size:12.5px;color:var(--muted);font-weight:600;flex:none}.prow2 .pv{font-size:13.5px;font-weight:600;text-align:right;color:var(--text);word-break:break-word}.prow2 .pv-in{flex:1;max-width:180px;border:1px solid var(--border2);background:var(--surface2);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:13px;color:var(--text);text-align:right}.prow2 .pv-in:focus{outline:none;border-color:var(--accent)}.sec-l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);margin:18px 0 9px}.casecard{background:#f2f3f5;border:1px solid var(--border);border-radius:12px;padding:15px;margin-top:0}.cc-head{display:flex;align-items:center;gap:8px;margin-bottom:11px;flex-wrap:wrap}.cc-code-hd{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.cc-title{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.35;color:var(--text)}.cc-owner{display:flex;align-items:center;gap:7px;margin-top:11px;font-size:12.5px;color:var(--muted)}.cc-own-n{font-weight:700;color:var(--text)}.cc-src{margin-top:10px}.ccinfo{margin-top:12px}.casecard .pv-chip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ccrow.stack .pl{text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;color:var(--dim)}.cc-stage{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.acthist{margin-top:14px}.acthist>summary{list-style:none;cursor:pointer;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);display:flex;align-items:center;gap:7px;padding:6px 0}.acthist>summary::-webkit-details-marker{display:none}.acthist>summary:after{content:"";width:7px;height:7px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(-45deg);transition:.15s}.acthist[open]>summary:after{transform:rotate(45deg)}.acthist .actn{font-weight:700;color:var(--muted);background:var(--surface3);border-radius:20px;padding:1px 7px}.reqmsg{margin-top:10px;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:11px 12px}.reqmsg-h{font-size:10.5px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.reqmsg-b{font-size:13.5px;line-height:1.5;color:var(--text)}.reqphoto{margin-top:10px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.reqphoto .ph{width:54px;height:54px;border-radius:9px;background:linear-gradient(135deg,#cfe3dd,#a7c8bf);display:flex;align-items:center;justify-content:center;flex:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.fld{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:9px 11px}.fld .fl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim)}.fld .fv{font-size:13.5px;font-weight:700;margin-top:1px}.vflow{margin:4px 0 2px}.vstage{display:flex;gap:12px}.vline{display:flex;flex-direction:column;align-items:center;flex:none;width:18px}.vdot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border2);background:var(--surface);display:flex;align-items:center;justify-content:center;color:#fff;flex:none}.vdot svg{width:11px;height:11px}.vstage.done .vdot{background:var(--accent);border-color:var(--accent)}.vstage.cur .vdot{border-color:var(--accent);background:var(--accent);animation:vpulse 1.8s infinite}@keyframes vpulse{0%{box-shadow:0 0 #0f9d8a80}70%{box-shadow:0 0 0 8px #0f9d8a00}to{box-shadow:0 0 #0f9d8a00}}.vstage.done .vconn{background:var(--accent)}.vstage.cur .vlabel{font-size:15px;color:#0c7d6e}.vconn{width:2px;flex:1;background:var(--border);min-height:12px;margin:2px 0}.vstage:last-child .vconn{display:none}.vmain{flex:1;min-width:0;padding-bottom:12px}.vlabel{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;line-height:1.3;cursor:pointer}.vstage.future .vlabel{color:var(--dim);font-weight:600}.vchev{margin-left:auto;flex:none;transition:.15s;color:var(--border2)}.vsum{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--border)}.vsum:last-child{border-bottom:none}.vsum .vsl{font-size:12px;color:var(--dim);font-weight:600}.vsum .vsv{font-size:13px;color:var(--text);font-weight:600;text-align:right}.vdone{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ok);font-weight:600;padding:3px 0}.vdone:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none}.vnow{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-dim);padding:1px 6px;border-radius:20px}.vmeta{font-size:11.5px;color:var(--dim);margin-top:3px}.vbody{margin-top:9px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:11px 12px}.vtodo-l{font-size:12px;font-weight:600;color:var(--muted);margin:0 0 4px}.vitem{display:flex;align-items:flex-start;gap:9px;padding:6px 0;cursor:pointer}.vchk{width:20px;height:20px;border-radius:6px;border:1.6px solid var(--border2);display:flex;align-items:center;justify-content:center;flex:none;color:#fff;font-size:12px;font-weight:700}.vchk.on{background:var(--accent);border-color:var(--accent)}.vil{font-size:13.5px;line-height:1.35;color:var(--text)}.vil.on{color:var(--dim);text-decoration:line-through}.vact{width:100%;margin-top:10px;padding:11px;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:9px;cursor:pointer}.vact:disabled{opacity:.5;cursor:not-allowed}.vact.dark{background:#1d1d1b}.tchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.tchip{font-family:inherit;font-size:12.5px;font-weight:600;border:1px solid var(--border2);background:var(--surface);color:var(--text);border-radius:20px;padding:8px 13px;cursor:pointer}.tchip:active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.vghost{width:100%;margin-top:14px;padding:11px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--danger);background:var(--danger-dim);border:none;border-radius:9px;cursor:pointer}.rejreason{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin-bottom:9px;padding:13px 14px;border:1px solid var(--border2);background:var(--surface);border-radius:11px;font-family:inherit;font-size:13.5px;cursor:pointer;color:var(--text)}.rejreason .rk{width:20px;height:20px;border-radius:50%;border:1.7px solid var(--border2);flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px}.rejreason.on{border-color:var(--danger);background:var(--danger-dim);color:var(--danger);font-weight:700}.rejreason.on .rk{background:var(--danger);border-color:var(--danger)}.invsec{margin-top:9px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 13px}.invsec .invtitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.invsec .invstat{font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 9px}.invbreak{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:8px 12px;margin-top:2px}.invbreak .invline{padding:4px 0}.invline{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;color:var(--muted)}.invline.tot{border-top:1px solid var(--border);margin-top:5px;padding-top:8px;font-size:15px;font-weight:800;color:var(--text)}.invpdfbtn{width:100%;margin-top:11px;padding:10px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--accent);background:var(--accent-dim);border:none;border-radius:9px;cursor:pointer}.screen.profile-mode{background:linear-gradient(168deg,var(--dark1),var(--dark2)) var(--dark2)}.screen.profile-mode .h-big{color:#fff}.screen.profile-mode .sec{color:var(--teal)}.screen.profile-mode .pc{background:#ffffff14;color:#fff;border-color:#ffffff24}.screen.profile-mode .pc.on{background:var(--teal);color:var(--dark2);border-color:var(--teal)}.signout-full{width:100%;margin-top:16px;background:#ffffff29;border:1px solid rgba(255,255,255,.55);color:#fff;font-family:inherit;font-size:14px;font-weight:700;padding:12px;border-radius:12px;cursor:pointer}.tabs a{position:relative}.tabbadge{display:none;position:absolute;top:3px;left:50%;transform:translate(6px);background:var(--danger);color:#fff;font-size:9px;font-weight:800;min-width:15px;height:15px;border-radius:9px;padding:0 4px;align-items:center;justify-content:center}.alertbar{background:var(--accent-dim);color:var(--accent);font-size:12.5px;font-weight:600;padding:10px 13px;border-radius:11px;margin-bottom:13px}.statusrow{display:flex;gap:9px}.sbtn{flex:1;background:var(--surface2);border:1px solid var(--border2);border-radius:11px;padding:11px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--text)}.sbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}.issuerow{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.ibtn{flex:1;min-width:92px;background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:9px 6px;font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--muted)}.ibtn.warn{color:var(--danger);border-color:#e8c4be}.statuspill{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--accent-dim);color:var(--accent)}.statuspill.nothome,.statuspill.needparts{background:var(--warn-dim);color:var(--warn)}.statuspill.cantcomplete{background:var(--danger-dim);color:var(--danger)}.issuebox{margin-top:11px;background:var(--surface2);border:1px solid var(--border);border-radius:11px;padding:11px}.issuelog{margin-top:8px}.ta{width:100%;border:1px solid var(--border2);border-radius:10px;padding:10px;font-family:inherit;font-size:13.5px;color:var(--text);background:#fff;min-height:70px;resize:vertical;box-sizing:border-box}.handbackbtn{width:100%;margin-top:12px;background:#fff;color:var(--danger);border:1.5px solid #e8c4be;border-radius:12px;padding:13px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer}.complete.danger{background:var(--danger)}.complete:disabled{opacity:.45;cursor:not-allowed}.hbchip{font-size:12.5px;border:1px solid var(--border2);background:var(--surface2);border-radius:20px;padding:8px 12px;cursor:pointer;font-family:inherit;color:var(--text)}.hbchip.on{background:var(--danger);border-color:var(--danger);color:#fff}.tick.warn{background:var(--danger-dim)}.tick.warn svg{stroke:var(--danger)}.ta:focus{outline:none;border-color:var(--accent)}.clockbtn{width:100%;border:none;border-radius:11px;padding:13px;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;color:#fff;background:var(--accent)}.clockbtn.run{background:var(--danger)}.clockel{font-size:12px;color:var(--muted);font-weight:600}.qty{display:inline-flex;gap:5px;margin-left:10px;vertical-align:middle}.qbtn{width:26px;height:26px;border-radius:7px;border:1px solid var(--border2);background:var(--surface);font-size:15px;line-height:1;cursor:pointer;color:var(--text)}.cprow{display:flex;gap:6px;margin-top:10px}.cpi{border:1px solid var(--border2);border-radius:9px;padding:8px;font-family:inherit;font-size:13px;background:var(--surface2);min-width:0}.cpi:focus{outline:none;border-color:var(--accent);background:#fff}.cpn{flex:1}.cpq{width:46px;text-align:center}.cpp{width:62px}.gstline{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-top:5px}.bt-toggle{display:flex;gap:8px;margin-bottom:12px}.bt{flex:1;padding:9px;border:1px solid var(--border2);background:var(--surface2);border-radius:9px;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted)}.bt.on{background:var(--accent);color:#fff;border-color:var(--accent)}.rateinput.sm{padding:3px 8px}.rateinput.sm input{width:54px;font-size:13px}.flatrow{margin-bottom:10px}.flatrow .cpi{width:100%}.rcpt{display:flex;gap:9px}.rcpt button{flex:1;border:1px solid var(--border2);background:var(--surface2);border-radius:10px;padding:10px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text)}.accept.grab{background:var(--accent)}.accept.open{background:#3a6ea5}.ribbon{display:flex;gap:6px;margin:2px 0 12px}.rib{flex:1;border:1px solid var(--border2);background:var(--surface2);border-radius:10px;padding:9px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}.rib.on{background:var(--accent);border-color:var(--accent);color:#fff}.schsearch{width:100%;border:1px solid var(--border2);border-radius:11px;padding:11px 13px;font-family:inherit;font-size:14px;background:var(--surface2);color:var(--text);margin-bottom:12px;box-sizing:border-box}.schsearch:focus{outline:none;border-color:var(--accent);background:#fff}.nextup{display:flex;align-items:center;gap:10px;background:var(--accent);color:#fff;border-radius:14px;padding:13px;cursor:pointer}.nextup-l{flex:1}.nextup .cust{font-weight:700;font-size:15px;margin-top:3px}.nextup .addr{color:#ffffffeb;font-size:12px;margin-top:3px}.nextup .meta{color:#ffffffeb;margin-top:7px}.nu-k{font-size:10px;font-weight:800;letter-spacing:.08em;opacity:.85}.nu-go{font-size:22px;font-weight:700}.stop{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--border)}.stop:last-child{border-bottom:none}.stopn{width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stopnav{font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;flex-shrink:0}.avatarwrap{display:flex;align-items:center;gap:13px}.avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-dim);flex-shrink:0}.changephoto{font-size:11.5px;color:var(--accent);font-weight:600;cursor:pointer;background:none;border:none;font-family:inherit;padding:8px 0 2px}.togglerow{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch{position:relative;width:46px;height:27px;border-radius:20px;background:var(--surface3);cursor:pointer;transition:.2s;flex-shrink:0}.switch.on{background:var(--accent)}.switch i{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0003}.switch.on i{left:22px}.skill{font-size:11px;border:1px solid var(--border2);background:var(--surface2);border-radius:20px;padding:5px 10px}.credinput{text-align:right}.credwarn{font-size:12px;font-weight:600;border-radius:9px;padding:8px 10px;margin-top:8px}.credwarn.warn{background:var(--warn-dim);color:var(--warn)}.credwarn.danger{background:var(--danger-dim);color:var(--danger)}.stars{color:#e8a93b;letter-spacing:1px}.review{border-bottom:1px solid var(--border);padding:9px 0;font-size:13px}.review:last-child{border-bottom:none}.modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:55;background:#0f141600;visibility:hidden;transition:background .28s ease,visibility .28s ease}.modal.show{visibility:visible;background:#0f141680}.sheet{position:absolute;left:0;right:0;bottom:0;top:34px;background:var(--page);border-radius:18px 18px 0 0;box-shadow:0 -12px 44px #0000004d;overflow:hidden;transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.modal.show .sheet{transform:translateY(0)}.sheet:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:42px;height:4px;border-radius:3px;background:var(--border2);z-index:3}.sheetbody{position:absolute;top:0;right:0;bottom:0;left:0;padding:24px 16px 20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ptr{position:absolute;top:6px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:1;opacity:0;will-change:transform,opacity}.ptr-content{will-change:transform}.ptr-ring{display:block;width:24px;height:24px;border-radius:50%;border:2.5px solid var(--border2);border-top-color:var(--accent);will-change:transform}.ptr-ring.spin{animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.screen.profile-mode .ptr-ring{border-color:#ffffff38;border-top-color:var(--teal)}@keyframes swapIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.swap{animation:swapIn .26s cubic-bezier(.2,.8,.2,1)}@keyframes growx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.prog>div{transform-origin:left;animation:growx .5s cubic-bezier(.2,.8,.2,1)}@keyframes pulse{0%{box-shadow:0 0 #d6454580}70%{box-shadow:0 0 0 7px #d6454500}to{box-shadow:0 0 #d6454500}}.tabbadge{animation:pulse 1.9s ease-out infinite}@keyframes alertpulse{0%,to{opacity:1}50%{opacity:.72}}.alertbar{animation:alertpulse 2.4s ease-in-out infinite}.cb{transition:background .18s ease,border-color .18s ease}.statuspill,.chip,.invbadge{transition:background .2s ease,color .2s ease}.accept,.btn,.btn-primary,.complete,.pc,.qbtn,.hbtn,.clockbtn,.rib,.jobcard,.changephoto,.rcpt button,.tabs a{transition:transform .09s ease,filter .15s ease,box-shadow .15s ease}.accept:active,.btn:active,.btn-primary:active,.complete:active,.pc:active,.qbtn:active,.hbtn:active,.clockbtn:active,.rib:active,.jobcard:active,.changephoto:active,.rcpt button:active{transform:scale(.97)}.tabs a:active{transform:scale(.92)}.nextup{transition:transform .12s ease,box-shadow .2s ease}.nextup:active{transform:scale(.985)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.availrow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface2);border:1px solid var(--border2);border-radius:12px;padding:11px 13px;margin-bottom:12px}.clockrow{margin-top:11px}.clockmeta{font-size:11px;color:var(--dim);margin-top:6px;text-align:center}.clockhint{font-size:11px;color:var(--dim)}.pcard{background:linear-gradient(165deg,#10312b,#0c211d);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px 18px;margin-top:12px}.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pcard-name{font-size:16px;font-weight:800;letter-spacing:-.01em;color:#fff;line-height:1.25}.pcard-serial{font-size:12.5px;color:#9fc0b8;margin-top:2px}.pcard-meta{font-size:12px;color:#9fc0b8;margin-top:4px;line-height:1.45}.pcard-div{border-top:1px solid rgba(255,255,255,.12);margin:13px 0}.pcard-client{display:flex;align-items:center;gap:11px}.pcard-av{width:40px;height:40px;border-radius:50%;background:#3a6ea5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex:none}.pcard-cinfo{flex:1;min-width:0}.pcard-cname{font-size:15px;font-weight:700;color:#fff}.pcard-csub{font-size:12.5px;color:#9fc0b8;margin-top:1px;word-break:break-word}.pcard-csub.mono{margin-top:2px}.pcard-acts{display:flex;gap:9px;margin-top:13px}.pcard-acts a,.pcard-acts button,.pcard-acts span{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;border-radius:11px;padding:12px;font-size:13px;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .12s ease}.pcard-acts a:hover,.pcard-acts button:hover{background:#ffffff24}.pcard-acts a:active,.pcard-acts button:active{background:#ffffff2e}.pcard-name,.pcard-cname,.pcard-csub{overflow:hidden;text-overflow:ellipsis}.pcard-name{white-space:nowrap}.cbcopy:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.cbcopy.copied:after{content:"Copied";position:absolute;left:0;top:-18px;font-size:10px;font-weight:700;color:#7fe0cf;background:#0c211d;border:1px solid rgba(255,255,255,.18);padding:1px 6px;border-radius:5px;font-family:Inter,system-ui,sans-serif;letter-spacing:0}.ccrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.ccrow:last-child{border-bottom:none}.ccrow .pl{font-size:12.5px;color:var(--muted);font-weight:600;flex:none}.ccrow .pv{font-size:13.5px;font-weight:700;text-align:right;color:var(--text);word-break:break-word}.ccrow.stack{flex-direction:column;gap:4px}.ccrow.stack .pv{text-align:left;font-weight:600;line-height:1.4;font-size:14.5px}.srcchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:3px 10px}.srcchip svg{width:13px;height:13px;flex:none}.casecard .ccrow .reassign-btn{font-family:inherit;font-size:11px;font-weight:700;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:4px 10px;cursor:pointer;margin-left:2px}.casecard .ccrow .reassign-btn:hover{filter:brightness(.97)}.cc-div{border-top:1px solid var(--border,#e2ded2);margin:0}.srcctx{margin-top:11px;background:var(--surface,#fff);border:1px solid var(--border,#e2ded2);border-radius:11px;padding:11px 12px}.srcctx-h{font-size:10.5px;font-weight:700;color:var(--dim,#9a978d);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:flex;align-items:center;gap:6px}.srcctx-h svg{width:13px;height:13px;flex:none}.srcctx-b{font-size:13.5px;line-height:1.5;color:var(--text,#1d1d1b);text-wrap:pretty}.toast-wrap{position:fixed;left:50%;bottom:80px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:120;width:calc(100% - 32px);max-width:400px}.toast{background:#1b1b1a;color:#fff;font-size:13px;padding:11px 16px;border-radius:10px;box-shadow:0 6px 20px #00000040}.toast-error{background:var(--danger)}.toast-ok{background:var(--ok)}.toast-msg{font-weight:700}.toast-hint{font-size:12px;opacity:.92;margin-top:2px}.loading{color:var(--dim);font-size:13px;padding:24px;text-align:center}.empty{color:var(--dim);font-size:13px;padding:40px 20px;text-align:center;border:1px dashed var(--border2);border-radius:13px}.sheet-back{border:none;background:var(--surface3);width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}.vtick{width:18px;height:18px;border-radius:50%;background:var(--ok);display:flex;align-items:center;justify-content:center;flex:none}.ifield{width:100%;border:1px solid var(--border2);background:var(--surface2);border-radius:9px;padding:8px 10px;font-family:inherit;font-size:14px;color:var(--text)}.ifield:focus{outline:none;border-color:var(--accent);background:#fff}.ifield.ta{width:100%;resize:vertical;font-size:13.5px;line-height:1.5}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:11.5px;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--muted);border-radius:20px;padding:5px 11px}.tag.sel{cursor:pointer;font-family:inherit}.tag.sel.on{background:var(--accent);border-color:var(--accent);color:#fff}.rcheck{display:flex;flex-direction:column;gap:6px}.qstep{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:6px 12px}.qstep.on{border-color:var(--accent);background:var(--accent-dim)}.qname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qctl{display:flex;align-items:center;gap:10px;flex:none}.qbtn:disabled{opacity:.4;cursor:default}.qval{min-width:16px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.qstep.schk{cursor:pointer;font-family:inherit;text-align:left;width:100%}.scheck{width:22px;height:22px;flex:none;border-radius:7px;border:1.6px solid var(--border2);background:var(--surface);display:flex;align-items:center;justify-content:center}.scheck.on{background:var(--accent);border-color:var(--accent)}.tl{margin-top:12px;display:flex;flex-direction:column;gap:12px}.tlrow{display:flex;gap:10px;align-items:flex-start}.tldot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:none;background:var(--dim)}.tldot.status{background:var(--accent)}.tldot.note{background:#8b6fc9}.tldot.system{background:var(--border2)}.tltext{font-size:13px;line-height:1.35}.tlat{font-size:11px;color:var(--dim);margin-top:2px}.credchip{font-size:10px;font-weight:800;padding:2px 8px;border-radius:20px;white-space:nowrap}.credchip.warn{background:var(--warn-dim);color:var(--warn)}.credchip.danger{background:var(--danger-dim);color:var(--danger)}
