:root{--ground:#f4f3ef;--card:#fff;--line:#e4e2dc;--line-soft:#efede8;--control:#d3d0c8;--segment:#e7e5df;--text:#1b1e22;--text-2:#3d4148;--muted:#5e636b;--accent:#0e6b66;--accent-dark:#0a4f4b;--accent-tint:#e3f0ef;--accent-ink:#0e5a56;--danger:#b42318;--danger-tint:#fef3f2}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Commissioner,system-ui,sans-serif}button,input{font-family:inherit}.login{justify-content:center;align-items:center;min-height:100%;padding:24px 20px;display:flex}.login-card{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.login-card h1{letter-spacing:-.5px;margin:0;font-size:32px;font-weight:700}.login-card p{color:var(--muted);margin:0;font-size:15px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field input{border:1px solid var(--control);background:var(--card);height:50px;color:var(--text);border-radius:12px;padding:0 14px;font-size:17px}.field input:focus{border:2px solid var(--accent);outline:none;padding:0 13px}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:14px;height:54px;font-size:17px;font-weight:700}.btn-primary:disabled{opacity:.6;cursor:default}.error{background:var(--danger-tint);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.shell{min-height:100%;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:4px;width:224px;height:100vh;padding:24px 14px 18px;display:flex;position:sticky;top:0}.brand{padding:0 10px 16px;font-size:17px;font-weight:700}.new-job{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;gap:8px;height:44px;margin-bottom:14px;font-size:15px;font-weight:600;display:flex}.side-link{height:44px;color:var(--text-2);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.side-link.active{color:var(--accent-ink);background:var(--accent-tint);font-weight:600}.side-user{border-top:1px solid var(--line-soft);align-items:center;gap:10px;margin-top:auto;padding:14px 10px 0;display:flex}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.logout{color:var(--muted);cursor:pointer;background:0 0;border:none;min-height:36px;margin-left:auto;font-size:13px;font-weight:600}.main{flex:1;min-width:0;padding:28px 32px}.page-head{flex-direction:column;gap:4px;margin-bottom:22px;display:flex}.page-date{color:var(--muted);font-size:14px;font-weight:500}.page-head h1{letter-spacing:-.4px;margin:0;font-size:30px;font-weight:700}.placeholder{color:var(--muted);border:1px dashed #c9c5bc;border-radius:14px;max-width:560px;padding:18px;font-size:15px;line-height:1.5}.tabbar{display:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.opt{color:var(--muted);font-weight:500}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--line-soft)}.btn-secondary{border:1px solid var(--control);background:var(--card);height:54px;color:var(--text);cursor:pointer;border-radius:14px;font-size:16px;font-weight:600}.fab{display:none}.sheet-backdrop{z-index:50;background:#1b1e226b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.sheet{background:var(--ground);border-radius:18px;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 48px);display:flex;overflow:auto;box-shadow:0 24px 60px -20px #1b1e2273}.sheet-head{justify-content:space-between;align-items:center;padding:18px 12px 6px 22px;display:flex}.sheet-head h1{margin:0;font-size:24px;font-weight:700}.sheet-body{flex-direction:column;gap:20px;padding:8px 22px 22px;display:flex}.sheet-foot{flex-direction:column;padding-top:4px;display:flex}.sheet-foot.two{flex-direction:row;gap:10px}.sheet-foot.two>*{flex:1}.btn-primary.wide,.sheet-foot .btn-primary{width:100%;height:56px}.nj-group{flex-direction:column;gap:8px;display:flex}.nj-label{font-size:14px;font-weight:600}.type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.type-btn{border:1px solid var(--control);background:var(--card);height:48px;color:var(--text);cursor:pointer;border-radius:12px;font-size:15px;font-weight:600}.type-btn.on{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.nj-row{gap:8px;display:flex}.nj-input{border:1px solid var(--control);background:var(--card);height:48px;color:var(--text);border-radius:12px;min-width:0;padding:0 12px;font-size:15px;font-weight:600}.nj-input.grow{flex:1}.nj-input.time{width:120px}.nj-input:disabled{opacity:.5}.nj-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.people{flex-wrap:wrap;gap:10px;display:flex}.person{border:1px solid var(--control);background:var(--card);height:44px;color:var(--text);cursor:pointer;border-radius:22px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:15px;font-weight:500;display:flex}.person.on{border-width:2px;padding:0 13px 0 5px;font-weight:600}.preview{background:var(--accent-tint);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.preview-title{color:var(--accent-ink);font-size:13px;font-weight:600}.preview-row{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:15px;font-weight:600;display:flex}.preview-item{align-items:center;gap:8px;display:flex}.opt-inline{color:var(--accent-ink);font-size:13px;font-weight:500}.done-box{background:var(--accent-tint);color:var(--accent-ink);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.done-title{color:var(--text);font-size:18px;font-weight:700}.done-sub{font-size:14px;font-weight:600}.done-stages{flex-direction:column;gap:8px;margin:-10px 0 0;padding:0;list-style:none;display:flex}.done-stages li{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.done-num{border:2px solid var(--control);width:28px;height:28px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.done-stage{font-size:15px;font-weight:600}.done-meta{color:var(--muted);font-size:13px}.shell.wide .main{padding:0}.jobs-layout{align-items:stretch;min-height:100vh;display:flex}.jobs-list{flex-direction:column;flex:1;gap:16px;min-width:0;padding:26px 28px 40px;display:flex}.jobs-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.jobs-head h1{letter-spacing:-.4px;margin:0;font-size:28px;font-weight:700}.search{width:260px;max-width:100%;position:relative}.search svg{position:absolute;top:11px;left:12px}.search input{border:1px solid var(--control);background:var(--card);width:100%;height:40px;color:var(--text);border-radius:10px;padding:0 12px 0 38px;font-size:14px}.search input:focus{outline:2px solid var(--accent);outline-offset:-1px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--control);background:var(--card);height:36px;color:var(--text);cursor:pointer;border-radius:18px;padding:0 14px;font-size:14px;font-weight:600}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.muted-box{color:var(--muted);padding:16px;font-size:14px}.job-table{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.job-table-head,.job-row{grid-template-columns:minmax(0,1fr) 190px 80px 26px;align-items:center;gap:14px;padding:9px 16px;display:grid}.job-table-head{border-bottom:1px solid var(--line-soft);height:38px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding-top:0;padding-bottom:0;font-size:12px;font-weight:600}.group-title{border-bottom:1px solid var(--line-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:#fbfaf7;margin:0;padding:9px 16px 7px;font-size:12px;font-weight:600}.job-row{border-bottom:1px solid var(--line-soft);color:var(--text);text-decoration:none}.job-row:hover{background:#faf9f6}.job-row.selected{background:var(--accent-tint)}.empty-row{color:var(--muted);border-bottom:1px solid var(--line-soft);padding:16px;font-size:14px}.job-main{flex-direction:column;gap:3px;min-width:0;display:flex}.job-client{align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:600;display:flex}.ellipsis{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.job-sub{align-items:center;gap:6px;min-width:0;display:flex}.type-badge{background:var(--accent-tint);color:var(--accent-ink);border-radius:5px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:700}.type-badge.big{border-radius:6px;padding:3px 8px;font-size:12px}.warn-badge{color:#93370d;background:#fdebd7;border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:11px;font-weight:700;display:flex}.job-stage{color:var(--text-2);font-size:14px}.job-col-stage{flex-direction:column;gap:3px;min-width:0;display:flex}.job-stage-pc{font-size:14px;font-weight:600}.job-status{font-size:12px;font-weight:600}.job-col-progress{flex-direction:column;gap:5px;display:flex}.bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.bar>div{background:var(--accent);height:100%}.bar.thick{border-radius:4px;flex:1;height:8px}.bar-label{color:var(--muted);font-size:12px;font-weight:600}.avatar.empty{border:2px dashed var(--control);background:0 0}.phone-only,.row-chevron,.job-row .job-stage{display:none}.job-detail{background:var(--card);border-left:1px solid var(--line);flex-shrink:0;width:400px;height:100vh;position:sticky;top:0;overflow-y:auto}.detail-top{justify-content:space-between;align-items:center;padding:12px 10px 0;display:flex}.detail-top .icon-btn{text-decoration:none}.job-detail:not(.phone) .detail-top a.icon-btn{visibility:hidden}.detail-body{flex-direction:column;gap:16px;padding:0 20px 28px;display:flex}.detail-head{flex-direction:column;gap:8px;display:flex}.detail-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.detail-head h1{letter-spacing:-.3px;margin:0;font-size:24px;font-weight:700}.progress-line{color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.warn-box{color:#7a2e0b;background:#fdebd7;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.warn-edit{background:#fdebd7;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.warn-edit input{border:1px solid var(--control);background:var(--card);border-radius:10px;height:46px;padding:0 12px;font-size:15px}.detail-section{flex-direction:column;gap:8px;display:flex}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:0;font-size:13px;font-weight:600}.stage-card{border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.stage-card.current{border:2px solid var(--accent);flex-direction:column;align-items:stretch;padding:12px 13px}.stage-row{align-items:center;gap:12px;display:flex}.stage-dot{border:2px solid var(--control);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stage-dot.done{background:var(--accent);border-color:var(--accent);color:#fff}.stage-dot.waiting{color:#93370d;background:#fdebd7;border-color:#fdebd7}.stage-dot.open{border-color:var(--accent)}.stage-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stage-title{font-size:16px;font-weight:600}.stage-title.struck{color:var(--muted);text-decoration:line-through}.stage-sub{color:var(--muted);font-size:13px}.stage-sub.strong{font-weight:600}.opt.small{font-size:12px}.stage-note{color:var(--text-2);background:var(--ground);border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.4}.stage-actions{flex-shrink:0;gap:6px;display:flex}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row .grow{flex:1}.btn-accent{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;gap:6px;height:46px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.btn-accent:disabled{opacity:.6}.btn-outline{border:1px solid var(--control);background:var(--card);height:46px;color:var(--text);cursor:pointer;border-radius:11px;padding:0 14px;font-size:14px;font-weight:600}.btn-small{border:1px solid var(--control);background:var(--card);min-height:40px;color:var(--text-2);cursor:pointer;border-radius:10px;padding:0 10px;font-size:13px;font-weight:600}.btn-small.icon{justify-content:center;align-items:center;width:40px;padding:0;display:flex}.stage-editor{flex-direction:column;gap:14px;padding-top:10px;display:flex}.check-row{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600;display:flex}.check-row input{width:22px;height:22px;accent-color:var(--accent)}.paid-card{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.switch{background:var(--control);cursor:pointer;border:none;border-radius:16px;flex-shrink:0;justify-content:flex-start;align-items:center;width:52px;height:32px;padding:3px;display:flex}.switch span{background:#fff;border-radius:13px;width:26px;height:26px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--accent);justify-content:flex-end}.note{gap:10px;display:flex}.note-meta{color:var(--muted);font-size:12px}.note-meta strong{color:var(--text)}.note-body{white-space:pre-wrap;font-size:14px;line-height:1.4}.note-form{gap:8px;margin-top:4px;display:flex}.note-form input{border:1px solid var(--control);background:var(--card);min-width:0;height:46px;color:var(--text);border-radius:11px;flex:1;padding:0 12px;font-size:15px}.note-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.note-form button:disabled{opacity:.5}.menu-wrap{position:relative}.menu{z-index:10;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:220px;padding:6px;display:flex;position:absolute;top:46px;right:0;box-shadow:0 12px 30px -12px #1b1e2259}.menu button{text-align:left;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 12px;font-size:15px;font-weight:500}.menu button:hover{background:var(--line-soft)}.menu button.danger{color:var(--danger)}.today{flex-direction:column;gap:22px;max-width:1060px;display:flex}.today-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.today-tools{align-items:center;gap:12px;display:flex}.segmented{background:var(--segment);border-radius:11px;width:220px;padding:3px;display:flex}.segmented button{height:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;font-size:14px;font-weight:500}.segmented button.on{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.phone-flex{display:none}.pc-inline{display:inline}.today-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"today side""undated unpaid";align-items:start;gap:26px 24px;display:grid}.t-today{grid-area:today}.t-side{flex-direction:column;grid-area:side;gap:22px;display:flex}.t-undated{grid-area:undated}.t-unpaid{grid-area:unpaid}.today-grid section{flex-direction:column;gap:10px;display:flex}.section-title.late{color:var(--danger)}.today-card{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:16px;padding:14px 16px;display:flex}.today-card.late{background:var(--danger-tint);border-color:#f5c6c2;gap:12px;padding:14px}.today-time{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:52px;font-size:15px;font-weight:600;display:flex}.today-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.today-badges{align-items:center;gap:6px;display:flex}.today-stage{color:var(--text);font-size:16px;font-weight:600;text-decoration:none}.today-stage:hover{color:var(--text);text-decoration:underline}.today-stage.done{color:var(--muted);text-decoration:line-through}.today-client{color:var(--muted);font-size:14px}.late-text{color:var(--danger);font-size:13px;font-weight:600}.today-progress{flex-direction:column;flex-shrink:0;gap:6px;width:112px;display:flex}.round-check{border:1.5px solid var(--accent);background:var(--card);width:44px;height:44px;color:var(--accent);cursor:pointer;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.round-check.on{background:var(--accent);color:#fff}.round-check.late{border-color:var(--danger);color:var(--danger)}.round-check:disabled{opacity:.5}.empty-card{color:var(--muted);border:1px dashed #c9c5bc;border-radius:14px;padding:16px;font-size:14px}.list-card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.list-row{border-top:1px solid var(--line-soft);color:var(--text);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.list-row:first-child{border-top:none}a.list-row:hover,.list-main.plain:hover .list-title{text-decoration:underline}.list-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-main.plain{color:var(--text);text-decoration:none}.list-title{font-size:15px;font-weight:600}.list-sub{color:var(--muted);font-size:13px}.list-days{color:#93370d;font-size:14px;font-weight:700}.list-empty{color:var(--muted);padding:14px;font-size:14px}a.btn-small{justify-content:center;align-items:center;text-decoration:none;display:flex}.cal-phone{display:none}.cal-pc{flex-direction:column;gap:16px;display:flex}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cal-nav{align-items:center;gap:10px;display:flex}.cal-nav h1{margin:0 6px;font-size:24px;font-weight:700}.btn-square{border:1px solid var(--control);background:var(--card);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.segmented.small{border-radius:10px;width:auto}.segmented.small button{flex:none;height:36px;padding:0 14px}.person-chip{border:1px solid var(--control);background:var(--card);height:36px;color:var(--text);cursor:pointer;border-radius:18px;align-items:center;gap:7px;padding:0 12px 0 6px;font-size:14px;font-weight:600;display:flex}.person-chip.off{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.cal-body{align-items:flex-start;gap:18px;display:flex}.cal-main{flex:1;min-width:0;overflow-x:auto}.week-grid{gap:10px;min-width:720px;display:grid}.week-col{border:1px solid var(--line);background:#fbfaf7;border-radius:14px;flex-direction:column;gap:8px;min-height:520px;padding:10px;display:flex}.week-col.today{background:var(--card);border-color:var(--accent)}.week-col.drop,.month-cell.drop,.day-list.drop{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-tint)}.week-col-head{align-items:baseline;gap:6px;padding:2px 4px 6px;display:flex}.week-col-head span{color:var(--muted);font-size:13px;font-weight:600}.week-col-head strong{font-size:20px;font-weight:700}.week-col.today .week-col-head strong{color:var(--accent)}.cal-ev{color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;gap:3px;padding:9px 10px;text-decoration:none;display:flex}.cal-ev:hover{filter:brightness(.97)}.cal-ev-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.cal-ev-time{font-size:12px;font-weight:700}.cal-ev-time.muted{color:var(--muted)}.cal-ev-stage{font-size:14px;font-weight:600}.cal-ev-stage.done,.list-title.struck{color:var(--muted);text-decoration:line-through}.cal-ev-client{color:var(--text-2);font-size:12px}.day-list{border-radius:14px;flex-direction:column;gap:8px;max-width:560px;padding:4px;display:flex}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:720px;display:grid}.month-head{color:var(--muted);text-transform:uppercase;padding:0 6px;font-size:12px;font-weight:600}.month-cell{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;min-height:108px;padding:6px;display:flex}.month-cell.other{background:#fbfaf7}.month-cell.other .month-num{color:#8a8e95}.month-cell.today{border-color:var(--accent)}.month-num{min-width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:14px;align-self:flex-start;font-size:14px;font-weight:700}.month-cell.today .month-num{background:var(--accent);color:#fff}.month-ev{color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600;text-decoration:none;overflow:hidden}.month-ev.done{color:var(--muted);text-decoration:line-through}.month-more{color:var(--accent-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:12px;font-weight:600}.undated-box{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex-shrink:0;gap:10px;width:230px;padding:14px;display:flex}.undated-card{color:var(--text);cursor:grab;border:1px dashed #c9c5bc;border-radius:10px;flex-direction:column;gap:3px;padding:10px;text-decoration:none;display:flex}.hint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.settings{flex-direction:column;gap:18px;max-width:640px;display:flex}.set-card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:16px 18px;display:flex}.person-edit{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.person-edit:last-of-type{border-bottom:none;padding-bottom:0}.person-fields{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.field.grow{flex:1;min-width:0}.field.initial{width:84px}.field.initial input{text-align:center}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:18px;width:36px;height:36px;box-shadow:inset 0 0 0 2px #fff0}.swatch.on{border-color:var(--text);box-shadow:inset 0 0 0 2px #fff}.role-line{color:var(--muted);font-size:13px;font-weight:600}.save-msg{color:var(--accent-ink);align-self:center;font-size:14px;font-weight:600}.pw-form{flex-direction:column;gap:12px;display:flex}.types-list{flex-direction:column;gap:10px;display:flex}.type-line{align-items:baseline;gap:10px;font-size:14px;line-height:1.5;display:flex}.type-line .type-badge{text-align:center;min-width:56px}.logout-big{color:var(--danger);align-self:flex-start}.push-banner{background:var(--accent-tint);border-radius:14px;flex-direction:column;gap:10px;max-width:640px;padding:14px 16px;display:flex}.push-banner-text{color:var(--text);font-size:15px;line-height:1.4}.push-card{flex-direction:column;gap:10px;display:flex}.push-text{color:var(--text-2);margin:0;font-size:14px;line-height:1.5}.deadline-line{color:var(--accent-ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.deadline-line>span{min-width:0}.deadline-line.soon{color:#93370d}.deadline-line.late{color:var(--danger)}.link-btn{min-height:36px;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;font-weight:600;text-decoration:underline}.deadline-edit{flex-direction:column;gap:6px;display:flex}.deadline-chip{background:var(--line-soft);color:var(--text-2);border-radius:5px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:700}.deadline-chip.soon{color:#93370d;background:#fdebd7}.deadline-chip.late{background:var(--danger-tint);color:var(--danger)}.deadline-rel{color:var(--accent-ink);white-space:nowrap;font-size:13px;font-weight:700}.deadline-rel.late{color:var(--danger)}.round-check.small{border-radius:20px;width:40px;height:40px}.dl-chip{border:1.5px dashed var(--accent);min-width:0;color:var(--accent-ink);background:var(--card);border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.dl-chip.late{border-color:var(--danger);color:var(--danger)}.dl-phone{flex-direction:column;gap:6px;display:flex}@media (width<=760px){.sidebar{display:none}.main{padding:calc(16px + env(safe-area-inset-top)) 20px 110px}.page-head h1{letter-spacing:-.5px;font-size:32px}.tabbar{background:var(--card);border-top:1px solid var(--line);padding:9px 0 calc(9px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:64px;min-height:48px;color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--accent);font-weight:600}.fab{z-index:20;right:20px;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:30px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:fixed;box-shadow:0 6px 16px #0e6b6659}.sheet-backdrop{background:var(--ground);align-items:stretch;padding:0}.sheet{max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0}.sheet-head{padding:calc(14px + env(safe-area-inset-top)) 12px 4px 20px}.sheet-body{padding:8px 20px calc(20px + env(safe-area-inset-bottom));flex:1}.sheet-foot{margin-top:auto}.field input{font-size:16px}.jobs-layout{min-height:0}.jobs-list{padding:calc(16px + env(safe-area-inset-top)) 20px 120px}.jobs-head h1{letter-spacing:-.5px;font-size:32px}.search{width:100%}.search input{border-radius:12px;height:46px;font-size:16px}.search svg{top:14px}.chips{scrollbar-width:none;flex-wrap:nowrap;gap:6px;overflow-x:auto}.chip{border-radius:22px;flex-shrink:0;height:44px}.job-table-head,.pc-only{display:none!important}.job-row{grid-template-columns:32px minmax(0,1fr) 18px;gap:12px;padding:12px 12px 12px 14px}.job-client{font-size:16px}.phone-only,.row-chevron,.job-row .job-stage{display:block}.job-status{font-size:13px}.jobs-layout.has-detail .jobs-list{display:none}.job-detail{background:var(--ground);border-left:none;width:100%;height:auto;position:static;overflow:visible}.detail-top{padding:calc(8px + env(safe-area-inset-top)) 8px 0}.job-detail .detail-top a.icon-btn{visibility:visible!important}.detail-body{padding:0 20px calc(28px + env(safe-area-inset-bottom))}.detail-head h1{font-size:26px}.shell.in-detail .tabbar{display:none}.stage-card,.paid-card{background:var(--card)}.today{gap:18px}.today-head{flex-direction:column;align-items:stretch;gap:14px}.today-tools{flex-direction:row-reverse;justify-content:space-between;position:relative}.today-tools .segmented{border-radius:12px;width:100%;padding:4px}.segmented button{height:44px;font-size:15px}.phone-flex{text-decoration:none;display:flex;position:absolute;top:-66px;right:0}.pc-inline{display:none}.today-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"today""side""unpaid";gap:22px}.today-card{gap:12px;padding:14px}.list-row .btn-small{min-height:44px}.cal-pc{display:none}.cal-phone{flex-direction:column;gap:14px;display:flex}.strip-wrap{align-items:center;gap:2px;margin:0 -14px;display:flex}.strip-arrow{width:28px;height:66px;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.day-strip{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.strip-day{height:66px;color:var(--text);background:0 0;border:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex}.strip-day.today{background:var(--accent-tint);color:var(--accent-ink)}.strip-day.on{background:var(--accent);color:#fff}.strip-wd{opacity:.8;font-size:11px;font-weight:600}.strip-num{font-size:18px;font-weight:700;line-height:1}.strip-dots{gap:3px;height:6px;display:flex}.strip-dots span{border-radius:3px;width:5px;height:5px}.cal-phone .segmented{border-radius:12px;width:100%;padding:4px}.untimed{flex-direction:column;gap:8px;display:flex}.untimed-card{color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.list-sub.dark{color:var(--text-2)}.timeline{border-top:1px solid var(--line);margin-left:-8px;position:relative}.hour-row{border-bottom:1px solid var(--line);height:72px}.hour-row span{width:48px;color:var(--muted);padding:6px 0 0 4px;font-size:12px;font-weight:600;display:block}.tl-ev{height:66px;color:var(--text);border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;text-decoration:none;display:flex;position:absolute;overflow:hidden}.tl-empty{color:var(--muted);background:#fbfaf7;border:1px dashed #c9c5bc;border-radius:12px;padding:14px;font-size:14px;position:absolute;top:14px;left:56px;right:0}.settings{gap:14px}.logout-big{align-self:stretch;height:52px}}
