.press{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);min-width:var(--tap);padding:0 var(--space-3);border:0;border-radius:var(--radius);font-size:var(--type-body);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform .2s ease-out,background-color .2s ease-out}.press[data-pressed]{transform:scale(.97);transition-duration:80ms}.press:disabled{opacity:.45;cursor:default}.press-block{display:flex;width:100%}.press-primary{background:var(--tint);color:var(--on-tint)}.press-primary[data-pressed]{background:var(--tint-press)}.press-secondary{background:var(--fill);color:var(--tint)}.press-plain{background:transparent;color:var(--tint);padding:0 var(--space-2)}.press-danger{background:var(--fill);color:var(--red)}@media(prefers-reduced-motion:reduce){.press,.press[data-pressed]{transform:none;transition:opacity .15s ease}.press[data-pressed]{opacity:.7}}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:calc(100dvh - var(--safe-top) - var(--space-4));display:flex;flex-direction:column;background:var(--surface);border-radius:16px 16px 0 0;box-shadow:var(--shadow);will-change:transform}.sheet-header{position:relative;z-index:1;border-radius:16px 16px 0 0;padding:var(--space-2) var(--space-3) var(--space-2);touch-action:none;cursor:grab}.sheet-grabber{width:36px;height:5px;border-radius:3px;background:var(--separator);margin:0 auto var(--space-2)}.sheet-title-row{display:flex;align-items:center;min-height:var(--tap)}.sheet-title-row h2{flex:1;text-align:center}.sheet-title-row .press{min-width:72px}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-3) calc(var(--space-3) + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--space-3)}.sheet-body>*{flex-shrink:0}.sheet-full{height:calc(100dvh - var(--safe-top) - var(--space-4))}.sheet-full .sheet-body{flex:1;min-height:0}.login{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);max-width:480px;margin:0 auto}.login h1{margin-bottom:var(--space-2)}.list{margin:0 var(--space-3);overflow:hidden}.list-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:12px var(--space-3);color:inherit;text-decoration:none}.list-row+.list-row{border-top:1px solid var(--separator)}.list-row:active{background:color-mix(in srgb,var(--surface),var(--label) 6%)}.list-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-row-main strong{font-weight:600}.row-line{font-size:var(--type-secondary);color:var(--label-2);overflow-wrap:anywhere}.row-badges{display:flex;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap}.section-title{margin:var(--space-4) var(--space-3) var(--space-2);font-size:var(--type-title-2);font-weight:700;letter-spacing:-.01em}.empty{margin:var(--space-4) var(--space-3);color:var(--label-2);font-size:var(--type-secondary)}.chip{background:var(--fill);color:var(--label)}.chip-capturing{background:var(--tint);color:var(--on-tint)}.chip-report_ready{background:var(--green);color:#fff}.header-back{margin-left:calc(-1 * var(--space-2))}.header-title{flex:1;min-width:0}.header-title h1{font-size:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title p{margin:0;font-size:var(--type-body);color:var(--label-2);overflow-wrap:anywhere}.job-row{min-height:96px;padding:var(--space-3)}.job-row .list-row-main{gap:4px}.job-row .job-code{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.01em}.job-row .job-client{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.job-row .job-place{font-size:var(--type-body);color:var(--label-2);overflow-wrap:anywhere}.job-row .chip{font-size:var(--type-secondary)}.stepbar{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) var(--space-3) var(--space-2);scrollbar-width:none;scroll-snap-type:x proximity}.stepbar::-webkit-scrollbar{display:none}.step-tab{flex:none;scroll-snap-align:center;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:52px;min-width:96px;padding:var(--space-1) 12px;border:0;border-radius:var(--radius);background:var(--fill);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .2s ease-out}.step-tab:active{transform:scale(.97);transition-duration:80ms}.step-tab[aria-selected=true]{background:var(--tint);color:var(--on-tint)}.step-tab .step-name{display:flex;align-items:center;gap:4px;font-weight:600;font-size:var(--type-secondary)}.step-tab .step-count{font-size:var(--type-secondary);opacity:.8}.step-tab svg{width:16px;height:16px}.stack{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3)}.job-card{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.photos{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;background:var(--fill)}.options{margin:0;padding:0;list-style:none;border:1px solid var(--separator);border-radius:10px;overflow:hidden}.options li{min-height:var(--tap);padding:10px 12px;cursor:pointer;background:var(--surface)}.options li+li{border-top:1px solid var(--separator)}.options li:active,.options li[aria-selected=true]{background:var(--fill)}.options .row-line{display:block}.clause{font-size:var(--type-secondary);color:var(--label-2);margin:0}.segmented{display:flex;gap:var(--space-1)}.segmented .press{flex:1}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.report-count{font-size:3rem;font-weight:700;letter-spacing:-.02em}.switch-row{cursor:pointer}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;width:51px;height:31px;margin:0;border-radius:16px;background:var(--fill);cursor:pointer;transition:background-color .2s ease-out}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .25s cubic-bezier(.25,1,.5,1)}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(20px)}@media(prefers-reduced-motion:reduce){.switch,.switch:after{transition:none}}.header-voice{display:contents}.field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.field-switch{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);font-weight:500}.conflict-grid{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--surface)}.conflict-grid [role=row]{display:grid;grid-template-columns:6.5em minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);padding:8px var(--space-3)}.conflict-grid [role=row]+[role=row]{border-top:1px solid var(--separator)}.conflict-grid [role=rowheader]{font-size:var(--type-secondary);color:var(--label-2)}.conflict-grid [role=cell]{overflow-wrap:anywhere}.conflict-head{font-size:var(--type-secondary);font-weight:600;color:var(--label-2)}.conflict-diff{background:color-mix(in srgb,var(--surface),var(--orange) 16%)}.conflict-diff [role=cell]{font-weight:600}.sheet-body>.preview-frame{position:relative;flex:1 1 auto;min-height:240px}.preview-pages{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-gutter:stable;border:1px solid var(--separator);border-radius:8px;background:var(--fill, #e5e5ea)}.preview-canvases{display:flex;flex-direction:column;gap:var(--space-2)}.preview-page{position:relative;width:100%;background:#fff}.preview-page canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.preview-frame .preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;gap:var(--space-3);align-items:center;justify-content:center;text-align:center;margin:0;padding:var(--space-3);background:var(--surface)}.preview-page-count{position:absolute;right:var(--space-2);bottom:var(--space-2);z-index:1;padding:2px 10px;border-radius:12px;background:#0009;color:#fff;font-size:var(--type-secondary);pointer-events:none}.confirm-card{--amber: #b25000;margin:0 var(--space-3) var(--space-2);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);min-width:0;max-width:100%;overflow-wrap:anywhere}@media(prefers-color-scheme:dark){.confirm-card{--amber: #ff9f0a}}.confirm-fields{display:flex;flex-direction:column;gap:var(--space-2);margin:0;min-width:0}.confirm-field{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) var(--space-2);border-radius:8px;min-width:0}.confirm-field dt{color:var(--label-2);font-size:.8125rem;line-height:1.2}.confirm-field dd{margin:0;font-size:1.25rem;line-height:1.3;overflow-wrap:anywhere}.confirm-field[data-field=fault] dd{font-size:1.375rem;font-weight:600}.confirm-field[data-field=clause] dd{font-size:1.0625rem}.confirm-line{display:block}.card-check{outline:2px solid var(--amber);outline-offset:-2px}.confirm-check{margin-left:var(--space-2);color:var(--amber);font-weight:600}.confirm-wait{margin:0;padding:0 var(--space-2);font-size:1.375rem;font-weight:600;color:var(--label-2)}.confirm-audio{width:100%}.confirm-actions{position:sticky;bottom:calc(var(--tab-bar-h) + var(--safe-bottom));z-index:1;display:flex;gap:var(--space-2);flex-wrap:wrap;margin:0 calc(-1 * var(--space-3)) calc(-1 * var(--space-3));padding:var(--space-2) var(--space-3) var(--space-3);background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.confirm-actions>*{flex:1 1 0;min-height:3.25rem;min-width:0}.confirm-field .word{cursor:pointer;border-radius:4px;text-decoration:underline dotted color-mix(in srgb,var(--label-2),transparent 50%);text-underline-offset:.2em;-webkit-tap-highlight-color:transparent}.confirm-field .word:active{background:color-mix(in srgb,var(--tint),transparent 80%)}.word-editor{font:inherit;color:inherit;width:100%;min-height:var(--tap);padding:2px var(--space-1);margin:0 calc(-1 * var(--space-1));border:2px solid var(--tint);border-radius:8px;background:var(--bg)}.confirm-line:has(>.word-editor){display:flex;align-items:center;gap:var(--space-1)}.confirm-line>.word-editor{flex:1;min-width:0;margin:0}.confirm-text{white-space:pre-wrap}textarea.word-editor{display:block;resize:none;overflow:hidden;line-height:inherit}:root{--talk-h: 160px}.talk-big{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--tab-bar-h) + var(--safe-bottom) + var(--space-2));z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);pointer-events:none}.talk-button{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--tint);color:var(--on-tint);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;transition:transform .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}.talk-big .talk-button{position:relative;overflow:hidden;flex-direction:row;gap:var(--space-2);width:100%;height:var(--talk-h);border-radius:28px;box-shadow:0 4px 16px #0003}.talk-big .talk-mic{width:32px;height:32px;position:relative}.talk-label{position:relative;font-size:24px;font-weight:600;line-height:1.1}.talk-big:not([data-phase=idle]) .talk-label{font-size:32px;font-variant-numeric:tabular-nums}.talk-ring{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:6px solid rgba(255,255,255,.75);background:#ffffff2e;pointer-events:none;animation:talk-pulse 1.1s ease-out infinite}@keyframes talk-pulse{0%{transform:scale(.85);opacity:1}70%{transform:scale(1.15);opacity:.55}to{transform:scale(.85);opacity:1}}.talk[data-phase=cancel] .talk-ring{display:none}.talk-hint{align-self:center;padding:2px var(--space-2);border-radius:var(--radius);background:rgba(var(--bg-rgb),.9);color:var(--label-2);font-size:var(--type-secondary)}.talk[data-phase=cancel] .talk-hint{color:var(--red);font-weight:600}.talk:not([data-phase=idle]) .talk-button{transform:scale(.97);transition-duration:80ms;background:var(--red)}.talk[data-phase=cancel] .talk-button{background:var(--label-2);box-shadow:none}.talk-icon .talk-button{width:var(--tap);height:var(--tap);background:transparent;color:var(--tint)}.talk-icon:not([data-phase=idle]) .talk-button{color:var(--on-tint)}@media(prefers-reduced-motion:reduce){.talk-button,.talk:not([data-phase=idle]) .talk-button{transform:none;transition:background-color .15s ease}.talk-ring{animation:none}}.talk-space{height:calc(var(--talk-h) + var(--space-2) + var(--space-3))}.quiet .fault-detail{display:none}.swipe{position:relative;overflow:hidden}.swipe+.swipe{border-top:1px solid var(--separator)}.swipe-action{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-3);background:var(--red);color:#fff;font-weight:600}.swipe-content{position:relative;background:var(--surface);min-height:var(--tap);padding:12px var(--space-3);touch-action:pan-y;cursor:pointer;-webkit-user-select:none;user-select:none}.swipe-content:active{background:color-mix(in srgb,var(--surface),var(--label) 6%)}.toast{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--tab-bar-h) + var(--safe-bottom) + var(--space-2));z-index:50;display:flex;align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:var(--radius);background:#1c1c1e;color:#fff;box-shadow:0 8px 24px #00000040}.toast span{flex:1}.toast .press-plain{color:#4da3ff}@media(prefers-color-scheme:dark){.toast{background:#3a3a3c}}.material-row{display:flex;gap:var(--space-2);align-items:center}.material-row .input{min-height:var(--tap)}.material-row .material-name{flex:1 1 auto;width:auto;min-width:0}.material-row .material-qty{flex:none;width:72px}.material-remove{width:var(--tap);height:var(--tap);flex:none;font-size:1.375rem;color:var(--red)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;padding-bottom:var(--safe-bottom);border-top:1px solid var(--separator)}.tabbar a,.tabbar span{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tab-bar-h);color:var(--label-2);text-decoration:none;font-size:var(--type-caption);font-weight:500}.tabbar a.active{color:var(--tint)}.tabbar span{opacity:.4}.tabbar a:active svg{transform:scale(.9)}:root{--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--type-body: 1.0625rem;--type-secondary: .9375rem;--type-caption: .8125rem;--type-title: 2.125rem;--type-title-2: 1.375rem;--type-headline: 1.0625rem;--tap: 44px;--radius: 12px;--tab-bar-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, Roboto, "Segoe UI", sans-serif;--bg: #f2f2f7;--bg-rgb: 242, 242, 247;--surface: #ffffff;--label: #000000;--label-2: rgba(60, 60, 67, .75);--separator: rgba(60, 60, 67, .18);--fill: rgba(120, 120, 128, .12);--tint: #007aff;--tint-press: #0062cc;--on-tint: #ffffff;--red: #ff3b30;--orange: #c93400;--green: #248a3d;--scrim: rgba(0, 0, 0, .3);--shadow: 0 -1px 0 var(--separator), 0 -8px 32px rgba(0, 0, 0, .12);--spring: .4s;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #000000;--bg-rgb: 0, 0, 0;--surface: #1c1c1e;--label: #ffffff;--label-2: rgba(235, 235, 245, .7);--separator: rgba(84, 84, 88, .6);--fill: rgba(120, 120, 128, .32);--tint: #0a84ff;--tint-press: #409cff;--red: #ff453a;--orange: #ff9f0a;--green: #30d158;--scrim: rgba(0, 0, 0, .5);--shadow: 0 -1px 0 var(--separator), 0 -8px 32px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body{margin:0;height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}body{font:var(--type-body) / 1.35 var(--font);letter-spacing:-.01em;color:var(--label);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}h1{font-size:var(--type-title);line-height:1.1;letter-spacing:-.02em;font-weight:700;margin:0}h2{font-size:var(--type-headline);font-weight:600;margin:0}.chrome{background:rgba(var(--bg-rgb),.62);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}@media(prefers-reduced-transparency:reduce){.chrome{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.chrome{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--label)}}.card{background:var(--surface);border-radius:var(--radius)}.screen{min-height:100dvh;padding-bottom:calc(var(--tab-bar-h) + var(--safe-bottom) + var(--space-3))}.header{position:sticky;top:0;z-index:10;padding:calc(var(--safe-top) + var(--space-2)) var(--space-3) var(--space-2);display:flex;align-items:center;gap:var(--space-2);min-height:var(--space-6)}.header h1{flex:1}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field>span{font-size:var(--type-secondary);color:var(--label-2);font-weight:500}.input{min-height:var(--tap);padding:var(--space-2) 12px;border-radius:10px;border:1px solid var(--separator);background:var(--surface);font-size:var(--type-body);width:100%;min-width:0}.input:focus{outline:2px solid var(--tint);outline-offset:-1px}textarea.input{resize:vertical;min-height:88px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-2);border-radius:999px;font-size:var(--type-secondary);font-weight:600;white-space:nowrap}.badge-queued{background:var(--fill);color:var(--label-2)}.badge-conflict{background:var(--orange);color:#fff}.badge-tint{background:var(--tint);color:var(--on-tint)}.badge-error{background:#d70015;color:#fff;white-space:normal;padding-block:2px}.muted{color:var(--label-2);font-size:var(--type-secondary)}.error{color:var(--red);font-size:var(--type-secondary);min-height:1.35em;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.badge-button{position:relative;cursor:pointer}.badge-button:after{content:"";position:absolute;top:-10px;right:-6px;bottom:-10px;left:-6px}
