:root{--background:#fafafa;--foreground:#0a0a0a;--muted:#737373;--muted-strong:#525252;--line:#e5e5e5;--line-strong:#d4d4d4;--brand:#0a0a0a;--brand-strong:#000;--brand-soft:#f5f5f5;--accent:#0a0a0a;--accent-soft:#f5f5f5;--surface:#fff;--surface-soft:#f5f5f5;--danger:#991b1b;--success:#166534;--warning:#92400e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);letter-spacing:.01em;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,-apple-system,BlinkMacSystemFont,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-frame{min-height:100vh}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10;background:#fafafaeb;position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:14px 20px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.brand-mark{background:var(--surface);border:1px solid var(--foreground);box-shadow:none;color:var(--foreground);border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:inline-flex}.brand-mark svg{width:16px;height:16px}.brand-mark svg path{stroke:var(--foreground)}.brand-copy{gap:1px;line-height:1.1;display:grid}.brand-copy strong{font-size:14px;font-weight:600}.brand-copy small{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:600}.user-menu{align-items:center;gap:14px;font-size:13px;display:flex}.page-shell{max-width:1080px;margin:0 auto;padding:40px 20px 80px}.auth-shell{align-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:8px;grid-template-columns:1fr;width:100%;max-width:420px;margin:0 auto;padding:36px;display:grid;overflow:hidden}.brand-mark-large{background:var(--surface);border:1px solid var(--foreground);color:var(--foreground);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 0 18px;display:inline-flex}.brand-mark-large svg{width:22px;height:22px}.brand-mark-large svg path{stroke:var(--foreground)}.auth-form-area{background:0 0;padding:0;display:block}.form-head h2{letter-spacing:0;margin:0 0 4px;font-size:22px;font-weight:600}.form-head p{color:var(--muted);margin:0;font-size:13px}.button{background:var(--foreground);border:1px solid var(--foreground);color:var(--surface);cursor:pointer;letter-spacing:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:7px 14px;font-size:13px;font-weight:500;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.button:hover{background:var(--surface);color:var(--foreground)}.button:disabled{cursor:not-allowed;opacity:.45}.button.ghost{background:var(--surface);border-color:var(--line-strong);color:var(--foreground)}.button.ghost:hover{background:var(--surface-soft);border-color:var(--foreground)}.button.secondary{background:var(--foreground);border-color:var(--foreground);color:var(--surface)}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}.button.danger:hover{background:var(--surface);color:var(--danger)}.button.block{border-radius:6px;width:100%;min-height:44px;font-size:14px}.button svg{width:14px;height:14px}.field{gap:6px;display:grid}.field label{color:var(--foreground);font-size:13px;font-weight:500}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line-strong);color:var(--foreground);border-radius:6px;width:100%;min-height:40px;padding:9px 12px;font-size:14px;transition:border-color .14s,box-shadow .14s}.field input::placeholder{color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--foreground);outline:none;box-shadow:0 0 0 3px #00000014}.field-input{position:relative}.field-input .leading-icon{color:var(--muted);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field-input input{padding-left:38px}.field-input input.has-trailing{padding-right:42px}.toggle-pass{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;height:100%;padding:0 12px;display:inline-flex;position:absolute;top:0;right:0}.toggle-pass:hover{color:var(--foreground)}.toggle-pass svg{width:16px;height:16px}.field-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.checkbox{color:var(--foreground);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.checkbox input{accent-color:var(--foreground);width:15px;height:15px}.help-link{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;font-weight:500}.help-link:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.form-foot{border-top:1px solid var(--line);color:var(--muted);text-align:center;letter-spacing:.06em;margin:6px 0 0;padding-top:14px;font-size:11px}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:8px}.workbench-hero{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:0 0 8px;display:grid}.page-title{gap:4px;display:grid}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}.page-title h1{letter-spacing:0;margin:4px 0 0;font-size:30px;font-weight:600;line-height:1.2}.page-title p{margin:0}.page-title .sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 0;font-size:13px;display:flex}.page-title .sub .dot{background:var(--line-strong);border-radius:999px;flex:none;width:3px;height:3px;display:inline-block}.month-nav{background:0 0;border:0;border-radius:0;align-items:center;gap:4px;padding:0;display:flex}.month-nav .button{border-radius:6px;min-height:36px}.month-nav .button svg{width:14px;height:14px}.summary-band{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;display:grid}.summary-item{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0;gap:6px;min-height:0;padding:18px 20px;display:grid}.summary-item:last-child{border-right:0}.summary-item span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.summary-item span svg{opacity:.6;width:13px;height:13px}.summary-item strong{color:var(--foreground);font-size:22px;font-weight:600;line-height:1.1}.summary-item.is-primary{border-color:var(--line);background:0 0}.summary-item.is-primary span,.summary-item.is-primary span svg{color:var(--muted);opacity:.6}.summary-item.is-primary strong{color:var(--foreground);font-size:22px}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin:0;padding-bottom:10px;display:flex}.section-head h2{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.section-head .count{color:var(--muted);font-size:12px;font-weight:500}.stack{gap:20px;display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.job-list{gap:0;display:grid}.job-link{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 6px;transition:background .12s;display:grid}.job-link:hover{background:var(--surface-soft)}.job-link:focus-visible{outline:2px solid var(--foreground);outline-offset:2px;border-radius:4px}.job-date{gap:2px;line-height:1;display:grid}.job-date b{color:var(--foreground);font-size:24px;font-weight:600}.job-date small{color:var(--muted);letter-spacing:.04em;font-size:11px}.job-body{min-width:0}.job-name{color:var(--foreground);margin:0 0 4px;font-size:15px;font-weight:500;line-height:1.4}.job-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;font-size:12px;display:flex}.job-meta b{color:var(--foreground);font-weight:500}.job-right{align-items:center;gap:14px;display:flex}.job-chev{color:var(--muted);width:14px;height:14px}.job-link.is-done{cursor:default;opacity:.55;background:0 0}.job-link.is-done:hover{background:0 0}.status{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.02em;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.status.pending{color:var(--muted)}.status.expired{border-color:var(--warning);color:var(--warning)}.status.active{border-color:var(--foreground);color:var(--foreground)}.status.done{border-color:var(--line);color:var(--muted)}.empty{background:var(--surface);border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:8px;justify-items:center;gap:10px;padding:40px 24px;display:grid}.empty .icon{background:var(--surface-soft);border:1px solid var(--line);color:var(--foreground);border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.empty .icon svg{width:20px;height:20px}.empty strong{color:var(--foreground);font-size:14px;font-weight:600}.detail-hero{border:0;border-radius:0;padding:0}.detail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:16px;display:grid}.detail-hero h1{margin:4px 0 6px;font-size:26px;font-weight:600;line-height:1.28}.current-step-card{background:var(--foreground);border:1px solid var(--foreground);color:var(--surface);border-radius:8px;gap:6px;padding:16px;display:grid}.current-step-card span{color:#ffffff9e;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.current-step-card strong{font-size:20px;font-weight:600;line-height:1.3}.detail-hero .summary-band{margin-top:4px}.section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-title h2{margin:0;font-size:16px;font-weight:600}.step-panel{gap:16px;padding:20px;display:grid}.step-track{grid-template-columns:repeat(10,minmax(82px,1fr));gap:6px;margin:0;padding:0 0 4px;list-style:none;display:grid;overflow-x:auto}.step-node{background:var(--surface);border:1px solid var(--line);border-radius:6px;gap:6px;min-height:78px;padding:10px;display:grid}.step-node span{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:inline-flex}.step-node strong{color:var(--foreground);font-size:12px;font-weight:500;line-height:1.35}.step-node.active{background:var(--surface);border-color:var(--line-strong)}.step-node.active span{background:var(--foreground);border-color:var(--foreground);color:var(--surface)}.step-node.current{border-color:var(--foreground);box-shadow:0 0 0 1px var(--foreground)}.notice{background:var(--surface);border:1px solid var(--line);color:var(--muted-strong);border-radius:8px;padding:14px 18px;line-height:1.7}.step-panel.compact,.summary-band.compact .summary-item{padding:14px 16px}.step-node a,.step-node .step-node-disabled{color:inherit;align-content:start;gap:6px;height:100%;text-decoration:none;display:grid}.step-node-disabled{cursor:not-allowed;opacity:.55}.step-screen{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;padding:22px;display:grid}.step-screen-head{gap:4px;display:grid}.step-screen-head h2{letter-spacing:0;margin:4px 0 2px;font-size:22px;font-weight:600}.step-screen-head p{color:var(--muted);margin:0;font-size:13px}.step-empty{border-radius:6px}.step-nav{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.action-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;padding:22px;display:grid}.action-panel form{gap:18px;display:grid}.identity-form,.test-data-form{gap:16px;display:grid}.identity-info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.identity-info-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;gap:4px;padding:12px 14px;display:grid}.identity-info-card .label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.identity-info-card .value{color:var(--foreground);font-size:14px;font-weight:500}.confirm-card{background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:flex-start;gap:4px;padding:14px 16px;transition:border-color .14s,background .14s;display:grid}.confirm-card:hover{border-color:var(--foreground)}.confirm-card input[type=checkbox]{accent-color:var(--foreground);width:16px;height:16px;margin-top:2px}.confirm-card>span{gap:4px;display:grid}.confirm-card>span strong{font-size:14px;font-weight:500;line-height:1.45;display:block}.confirm-card>span small{color:var(--muted);font-size:12px;line-height:1.55;display:block}.confirm-card .label{grid-column:2;font-size:14px;font-weight:500}.confirm-card .help{color:var(--muted);grid-column:2;font-size:12px;line-height:1.55}.form-error{color:var(--danger);margin:0;font-size:13px}.form-success{color:var(--success);margin:0;font-size:13px}.inline-alert{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.6}.inline-alert.danger{color:var(--danger);background:#fef2f2;border-color:#fecaca;font-weight:600}.empty-note{background:var(--surface-soft);border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:6px;margin:0;padding:14px;font-size:13px}.section-title.compact-title{align-items:flex-start}.section-title.compact-title>div{gap:2px;display:grid}.section-title.compact-title h2{margin:0;font-size:18px;font-weight:600}.section-title.compact-title p{color:var(--muted);margin:0;font-size:13px}.section-title.mini{justify-content:space-between;align-items:center;display:flex}.section-title.mini h3{letter-spacing:0;margin:0;font-size:13px;font-weight:600}.field.compact-field{gap:6px}.status.in-progress{background:var(--surface);border-color:var(--foreground);color:var(--foreground)}.action-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 16px;display:grid}.action-card strong{margin:0 0 2px;font-size:14px;font-weight:600;display:block}.action-card p{color:var(--muted);margin:0;font-size:12px}.action-card-icon{background:var(--surface);border:1px solid var(--line-strong);color:var(--foreground);border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.action-card-icon svg{width:18px;height:18px}.reason-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:10px;padding:14px 16px;display:grid}.reason-box p{color:var(--muted);margin:0;font-size:12px}.signature-fields{grid-template-columns:180px 1fr;gap:12px;display:grid}.signature-box{background:var(--surface);border:1px solid var(--line-strong);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;width:100%;height:180px;position:relative;overflow:hidden}.signature-box canvas{cursor:crosshair;touch-action:none;display:block}.signature-box.locked{background:var(--surface-soft);justify-content:center;align-items:center;display:flex}.signature-box.locked img{object-fit:contain;max-width:100%;max-height:100%;display:block}.signature-preview{background:linear-gradient(var(--surface), var(--surface)) padding-box, repeating-linear-gradient(0deg, transparent 0, transparent 27px, #00000009 28px);border:1px dashed var(--line-strong);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;justify-content:center;align-items:center;height:148px;padding:12px;display:flex;overflow:hidden}.signature-preview span{color:var(--muted);font-size:13px}.signature-preview img{object-fit:contain;max-width:100%;max-height:100%;display:block}.signature-preview.signed{background:var(--surface);border-style:solid}.signature-actions{justify-content:flex-end;gap:8px;display:flex}.signature-landscape-modal{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;z-index:100;background:#000000ad;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.signature-landscape-shell{background:var(--surface);border-radius:18px;grid-template-rows:auto 1fr auto;width:min(100%,980px);max-width:980px;min-height:min(430px,100svh - 24px);max-height:calc(100svh - 24px);display:grid;overflow:hidden;box-shadow:0 24px 72px #00000047}.signature-landscape-topbar{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) 72px 64px;align-items:center;gap:10px;padding:10px 12px;display:grid}.signature-landscape-topbar .button{width:100%;min-width:0;padding-left:10px;padding-right:10px}.signature-landscape-title{min-width:0}.signature-landscape-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.signature-landscape-title small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.4;display:block}.signature-landscape-pad{background:var(--surface);min-height:0;padding:14px}.signature-landscape-canvas-wrap{background:linear-gradient(var(--surface), var(--surface)) padding-box, repeating-linear-gradient(0deg, transparent 0, transparent 36px, #00000009 37px);border:1px dashed var(--line-strong);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:10px;height:100%;min-height:260px;position:relative;overflow:hidden}.signature-landscape-canvas-wrap canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;z-index:1;width:100%;max-width:100%;height:100%;display:block;position:relative}.signature-landscape-placeholder{color:#b8b8b8;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;white-space:nowrap;font-size:18px;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signature-landscape-line{pointer-events:none;border-top:1px solid #c7c7c7;position:absolute;bottom:58px;left:42px;right:42px}.signature-landscape-footer{background:var(--surface-soft);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.receipt-card{gap:12px;display:grid}.receipt-qr{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;padding:28px;display:flex}.receipt-meta{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:4px;padding:14px 18px;display:grid}.receipt-meta span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.receipt-meta strong{color:var(--foreground);font-size:16px;font-weight:500}.receipt-meta small{color:var(--muted);margin-top:4px;font-size:12px}.receipt-view-page{background:var(--background);justify-items:center;min-height:100vh;padding:32px 16px 60px;display:grid}.receipt-view-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:20px;width:100%;max-width:560px;padding:32px;display:grid}.receipt-view-head{border-bottom:1px solid var(--line);padding-bottom:16px}.receipt-view-head>span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}.receipt-view-head h1{margin:6px 0 4px;font-size:22px;font-weight:600}.receipt-view-head p{color:var(--muted);margin:0;font-size:13px}.receipt-view-summary{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.receipt-view-summary>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;gap:4px;padding:14px 16px;display:grid}.receipt-view-summary span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.receipt-view-summary strong{color:var(--foreground);font-size:18px;font-weight:600}.receipt-view-lines{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid}.receipt-view-lines>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 2px;display:flex}.receipt-view-lines>div:last-child{border-bottom:0}.receipt-view-lines span{color:var(--muted);font-size:13px}.receipt-view-lines strong{color:var(--foreground);font-size:14px;font-weight:500}.receipt-view-items{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;gap:8px;padding:14px 16px;display:grid}.receipt-view-items h2{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:600}.receipt-view-items>div{justify-content:space-between;align-items:center;font-size:13px;display:flex}.receipt-view-items span{color:var(--muted)}.receipt-view-items strong{color:var(--foreground);font-weight:500}.receipt-view-note{background:var(--surface-soft);border-left:3px solid var(--line-strong);color:var(--muted-strong);margin:0;padding:10px 14px;font-size:13px;line-height:1.6}.receipt-view-signature{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.receipt-view-signature>div{gap:2px;display:grid}.receipt-view-signature span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.receipt-view-signature strong{color:var(--foreground);font-size:14px;font-weight:500}.receipt-view-signature small{color:var(--muted);font-size:12px}.receipt-view-signature img{background:var(--surface);border:1px solid var(--line);border-radius:6px;max-width:100%;max-height:120px;padding:8px;display:block}.receipt-view-expire{color:var(--muted);text-align:center;margin:0;font-size:12px}.photo-category-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;margin:0 -4px;padding:2px 4px 6px;display:flex;overflow-x:auto}.photo-category-tabs button{background:var(--surface);border:1px solid var(--line-strong);color:var(--foreground);cursor:pointer;scroll-snap-align:start;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:32px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.photo-category-tabs button:hover{background:var(--surface-soft)}.photo-category-tabs button.active{background:var(--foreground);border-color:var(--foreground);color:var(--surface)}.photo-category-tabs button strong{background:var(--surface-soft);color:var(--muted);border-radius:999px;min-width:18px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.photo-category-tabs button.active strong{color:var(--surface);background:#ffffff2e}.photo-strip{flex-wrap:wrap;gap:12px;display:flex}.photo-thumb{border:1px solid var(--line);border-radius:6px;width:76px;height:76px;display:inline-block;position:relative;overflow:visible}.photo-thumb img{object-fit:cover;border-radius:5px;width:100%;height:100%;display:block}.photo-thumb form{display:contents}.delete-photo-button{background:var(--danger);border:2px solid var(--surface);color:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;font-weight:600;line-height:1;transition:background .14s,transform .14s;display:inline-flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 6px #00000040}.delete-photo-button:hover{background:#7f1d1d;transform:scale(1.05)}.delete-photo-button svg{width:10px;height:10px}.keybox-mode-grid{grid-template-columns:1fr;gap:10px;display:grid}.keybox-mode-button{background:var(--surface);border:1px solid var(--line-strong);color:var(--foreground);cursor:pointer;text-align:left;border-radius:8px;gap:4px;padding:14px 16px;transition:background .14s,border-color .14s,box-shadow .14s;display:grid}.keybox-mode-button strong{font-size:14px;font-weight:600;line-height:1.45}.keybox-mode-button span{color:var(--muted);font-size:12px;line-height:1.55}.keybox-mode-button:hover,.keybox-mode-button.active{border-color:var(--accent);box-shadow:0 0 0 3px #0a0a0a14}.keybox-mode-button.danger{border-color:#d84a4a;box-shadow:0 0 0 3px #d84a4a1f}.keybox-preview-wrap{width:fit-content;max-width:100%;display:inline-block;position:relative}.keybox-preview{border:1px solid var(--line);border-radius:6px;width:auto;max-width:100%;max-height:200px;display:block}.keybox-preview-wrap .delete-photo-button{z-index:2;top:-10px;right:-10px}.leave-check-list{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:0;display:grid}.leave-check-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-size:14px;transition:background .12s;display:flex}.leave-check-item:last-child{border-bottom:0}.leave-check-item:hover{background:var(--surface-soft)}.leave-check-item input[type=checkbox]{accent-color:var(--foreground);flex:none;width:18px;height:18px}.leave-check-item.danger{color:var(--danger)}.leave-check-item.danger input[type=checkbox]{accent-color:var(--danger)}.leave-check-item.notice-only{cursor:default;grid-template-columns:1fr;font-weight:600}.settlement-total-card{background:var(--foreground);border:1px solid var(--foreground);color:var(--surface);border-radius:10px;gap:6px;padding:20px 22px;display:grid}.settlement-total-card span{color:#ffffff9e;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.settlement-total-card strong{color:var(--surface);font-size:30px;font-weight:600;line-height:1.1}.settlement-total-card small{color:#ffffff8c;margin-top:4px;font-size:11px}.settlement-readonly-row{border-bottom:1px solid var(--line);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 2px;display:flex}.settlement-readonly-row span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600}.settlement-readonly-row strong{color:var(--foreground);font-size:15px;font-weight:500}.settlement-items{gap:8px;display:grid}.settlement-lines{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}.settlement-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.settlement-line:last-child{border-bottom:0}.settlement-line span{color:var(--foreground);font-size:13px}.settlement-line-main{gap:3px;min-width:0;display:grid}.settlement-line-main small{color:var(--muted);font-size:11px}.settlement-line strong{color:var(--foreground);font-size:14px;font-weight:500}.settlement-quantity-summary{flex:none;place-items:flex-end end;gap:6px;display:grid}.settlement-quantity-field{align-items:center;gap:6px;display:flex}.settlement-quantity-field span{color:var(--muted);font-size:12px;font-weight:600}.settlement-quantity-field input{background:var(--surface);border:1px solid var(--line-strong);color:var(--foreground);text-align:right;border-radius:7px;width:62px;height:36px;padding:0 8px;font-size:16px;font-weight:600}.completion-summary{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:0;margin:0;display:grid}.completion-summary>div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:4px;padding:12px 16px;display:grid}.completion-summary>div:last-child{border-bottom:0}.completion-summary dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.completion-summary dd{color:var(--foreground);word-break:break-word;margin:0;font-size:13px;font-weight:500;line-height:1.6}@media (max-width:640px){.completion-summary>div{grid-template-columns:1fr;gap:2px}.signature-fields{grid-template-columns:1fr}.signature-actions{grid-template-columns:1fr 1fr;display:grid}.signature-actions .button:first-child{grid-column:1/-1}.receipt-view-summary{grid-template-columns:1fr}.receipt-view-card{padding:22px}}.muted{color:var(--muted)}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0;display:grid}.metric{background:0 0;border:0;border-radius:0;gap:2px;min-height:0;padding:0;display:grid}.metric dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.metric dd{color:var(--foreground);margin:0;font-size:16px;font-weight:500}.metric.accent dd{color:var(--foreground)}@media (max-width:760px){.field input,.field select,.field textarea,.field-input input{font-size:16px}.auth-card{max-width:420px;padding:28px}.workbench-hero{grid-template-columns:1fr}.summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-item{border-bottom:1px solid var(--line)}.summary-item:nth-child(2n){border-right:0}.summary-item:nth-last-child(-n+2){border-bottom:0}.detail-hero-grid{grid-template-columns:1fr}.signature-landscape-topbar{grid-template-columns:58px minmax(0,1fr) 58px}.signature-landscape-topbar .hide-small{display:none}.signature-landscape-shell{border-radius:14px;min-height:min(360px,100svh - 24px)}.signature-landscape-canvas-wrap{min-height:230px}}@media (max-width:640px){.page-shell{padding:24px 14px 56px}.page-title h1{font-size:24px}.month-nav{width:100%}.month-nav .button{flex:1}.job-link{grid-template-rows:auto auto;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:16px 4px}.job-date{grid-area:2/1}.job-body{grid-area:2/2}.job-right{display:contents}.job-right .status{grid-area:1/1/auto/-1;justify-self:start}.job-chev{grid-area:2/3;place-self:center end;display:block}.step-track{scroll-snap-type:x proximity;grid-template-columns:none;grid-auto-columns:minmax(110px,40%);grid-auto-flow:column;padding-bottom:8px}.step-node{scroll-snap-align:start}.user-menu .muted{display:none}}
