:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#203341;background:#f5f8fa;font-size:15px;--teal:#087f86;--line:#e0e8ed;--muted:#637786}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid #92bbc0;border-radius:8px;background:white;color:var(--teal);cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#edf8f7}button:disabled{opacity:.5;cursor:default}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#056a70}input,select,textarea{width:100%;min-height:44px;padding:10px;border:1px solid #cbd8e0;border-radius:7px;background:#fff;color:inherit}textarea{min-height:100px}label{display:block;margin:12px 0 5px;font-size:14px}h1{font-size:26px;margin:0}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.7}small,.muted{color:var(--muted)}small{font-size:12px}#sidebar{position:fixed;width:230px;background:#fff;height:100vh;border-right:1px solid var(--line);padding:26px 18px;overflow:auto}.brand{font-size:24px;font-weight:700;color:var(--teal);letter-spacing:.02em}#nav{display:grid;gap:7px;margin-top:30px}#nav a{padding:14px 12px;color:#415868;border-radius:8px;font-size:14px}#nav a.active{background:#dff3f3;color:var(--teal);font-weight:600}.local-note{font-size:12px;color:var(--muted);margin-top:30px}.workspace{margin-left:230px}.topbar{height:70px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:0 32px}main{max-width:1350px;margin:auto;padding:30px}.page-head,.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-head{margin-bottom:24px}.actions{display:flex;flex-wrap:wrap;gap:10px}.card{padding:24px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid .card{margin:0}.grid.thirds{grid-template-columns:repeat(3,1fr)}.badge{display:inline-block;border-radius:6px;padding:5px 9px;font-size:12px;background:#eaf1f5;color:#516774}.badge.green{background:#e0f5eb;color:#16714b}.badge.red{background:#ffedf0;color:#c53d57}.badge.teal{background:#ddf2f3;color:var(--teal)}.job{display:grid;grid-template-columns:90px 1fr 180px;gap:24px;border:1px solid var(--line);border-radius:10px;padding:20px;margin:14px 0}.job-time{font-size:20px;font-weight:600}.job-time .badge{display:block;width:fit-content;margin-top:10px}.job p{margin:4px 0}.job .actions{align-content:center}.list-row{padding:15px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.amount{font-size:21px;font-weight:600;white-space:nowrap}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;position:sticky;top:0;z-index:2;background:#f5f8fa;padding:10px 0}.tabs a{padding:10px 15px;background:#fff;border:1px solid var(--line);border-radius:7px}.section{scroll-margin-top:75px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.span-all{grid-column:1/-1}.data-row{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.data-row span:first-child{color:var(--muted)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}th{font-size:13px;background:#f5f8fa;color:#526d7d}td input{min-width:65px}.table-wrap{overflow-x:auto}.total-box{margin-left:auto;max-width:400px}.total-line{display:flex;justify-content:space-between;padding:10px 0}.grand{font-size:22px;font-weight:600;border-top:1px solid var(--line);margin-top:8px}.negative{color:#c53d57}.steps{display:flex;justify-content:space-between;gap:8px;margin-bottom:24px}.step{flex:1;text-align:center;color:var(--muted);font-size:13px;border-top:3px solid #dce6ec;padding-top:12px}.step.active{color:var(--teal);border-color:var(--teal);font-weight:600}.timer-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.timer-buttons button{min-height:68px}.note{padding:14px;background:#eaf6f8;border-radius:8px;color:#426a7b;margin:16px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:140px;object-fit:cover;border-radius:8px}.photo-grid figcaption{font-size:13px;padding:8px}.empty{color:var(--muted);padding:16px 0}.search{max-width:460px;margin-bottom:20px}.mobile-brand,#mobile-nav{display:none}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#203341;color:white;padding:12px 22px;border-radius:9px;z-index:50;display:none}.preview-paper{background:white;padding:40px;max-width:800px;margin:0 auto;border:1px solid var(--line)}.preview-paper h1{text-align:center;margin-bottom:30px}.preview-paper .row{align-items:flex-start}.save-status{color:var(--teal);font-size:12px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-grid a{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px}.quote-mobile-steps{display:none}
@media(max-width:1000px){#sidebar{width:195px;padding:20px 12px}.workspace{margin-left:195px}main{padding:22px}.grid.thirds{grid-template-columns:1fr}.job{grid-template-columns:80px 1fr}.job .actions{grid-column:2}.grid{gap:14px}}
@media(max-width:760px){#sidebar{display:none}.workspace{margin:0}.topbar{padding:12px 16px;height:64px;gap:10px;font-size:12px}.mobile-brand{display:block;margin-right:auto;font-size:19px}.topbar .badge{display:none}main{padding:20px 14px 100px}h1{font-size:22px}h2{font-size:18px}.page-head{flex-wrap:wrap}.card{padding:17px;margin-bottom:16px}.grid,.grid.thirds{grid-template-columns:1fr}.grid .card{margin:0}.fields{grid-template-columns:1fr}.job{grid-template-columns:65px 1fr;gap:14px;padding:14px}.job-time{font-size:18px}.job .actions{grid-column:2}.tabs{gap:6px}.tabs a{padding:10px 8px;font-size:12px}.data-row{grid-template-columns:85px 1fr;font-size:14px}.timer-buttons{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}#mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:10}#mobile-nav a{min-height:44px;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:13px}#mobile-nav a.active{color:var(--teal);font-weight:600}.quote-mobile-steps{display:flex}.preview-paper{padding:20px}.amount{font-size:18px}#toast{bottom:85px;max-width:90%;width:max-content}.case-table thead{display:none}.case-table,.case-table tbody,.case-table tr,.case-table td{display:block}.case-table tr{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.case-table td{padding:6px;border:0}.case-table td::before{content:attr(data-label);display:inline-block;width:80px;color:var(--muted)}}
.map-dialog{width:min(720px,calc(100% - 24px));max-height:90dvh;border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;color:#203341;overflow:auto}.map-dialog::backdrop{background:#172a3b99}.map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-dialog-head h2{margin:0}.map-canvas{height:340px;border-radius:10px;background:#f5f8fa;margin:16px 0}.map-selection{padding:14px;background:#eaf6f8;border-radius:8px;margin:16px 0}.map-dialog gmp-place-autocomplete{display:block;width:100%;color-scheme:light}.map-dialog [data-status]{min-height:24px;font-size:14px}.map-dialog .actions{flex-wrap:wrap}@media(max-width:760px){input,textarea,select{font-size:16px}.map-dialog{padding:16px}.map-canvas{height:280px}.map-dialog button{min-height:48px}.map-dialog .actions>*{flex:1}}
@media print{#sidebar,.topbar,#mobile-nav,.no-print,#toast,.map-dialog{display:none!important}.workspace{margin:0}main{padding:0}.preview-paper{border:0;padding:15mm;max-width:none}body{background:white}.preview-paper table{font-size:12px}@page{size:A4;margin:10mm}}
.tax-control{display:flex;align-items:center;gap:9px;margin:0;font-size:13px;color:var(--muted)}.tax-control select{width:auto;min-width:90px;min-height:44px}.page-head .tax-control{margin-right:8px}.fields .tax-control{margin:10px 0}@media(max-width:760px){.tax-control{flex-wrap:wrap}.page-head .actions{width:100%}.page-head .tax-control{margin-bottom:4px}}@media print{.tax-control{display:none!important}}

.quote-items{table-layout:fixed;min-width:900px}.quote-items .item-qty{width:76px}.quote-items .item-unit{width:66px}.quote-items .item-price{width:150px}.quote-items .item-tax{width:110px}.quote-items .item-total{width:140px}.quote-items .item-delete{width:54px}.quote-items th,.quote-items td{padding:12px 6px}.quote-items input{min-width:0}.quote-items [data-key="qty"],.quote-items [data-key="unit"]{padding:10px 6px}.quote-items [data-key="name"]{margin-top:8px}.quote-items .tax-control{display:block;font-size:0}.quote-items .tax-control select{width:100%;min-width:0;font-size:15px}.quote-items [data-row-total]{white-space:nowrap;font-weight:600}.quote-items [data-delete-row]{padding:9px 12px}@media(max-width:760px){.quote-items .tax-control select{font-size:16px}}
.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.schedule-tabs{display:flex;gap:6px}.schedule-toolbar input{width:155px}.week-scroll,.month-scroll{overflow:auto}.week-board{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px;border:1px solid var(--line);border-radius:8px}.week-day{min-height:300px;border-right:1px solid var(--line);padding:8px}.week-day:last-child{border:0}.week-date{border:0;width:100%;padding:8px 2px;font-weight:600;color:#203341;background:#f5f8fa}.is-today{background:#effafa}.schedule-job{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;background:#fff;padding:12px;margin:12px 0}.schedule-job h3{margin:10px 0 6px}.schedule-job p{margin:6px 0}.schedule-job .row{flex-wrap:wrap;gap:6px}.schedule-job .actions{margin-top:12px}.week-board .schedule-job{padding:9px;font-size:13px}.week-board .schedule-job h3{font-size:14px}.week-board .schedule-job .actions .button{padding:7px;font-size:12px}.schedule-day-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.month-board{display:grid;grid-template-columns:repeat(7,minmax(85px,1fr));min-width:600px;gap:5px}.month-board>strong{text-align:center;padding:8px}.month-day{min-height:110px;border:1px solid var(--line);padding:6px}.month-day button{min-height:32px;padding:3px 8px;border:0}.month-day a{display:block;font-size:13px;padding:6px 0}.month-day small{display:block}.task-group{margin:22px 0 8px}.task-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.task-row label{display:flex;align-items:center;gap:12px;flex:1;margin:0;font-size:15px}.task-row input{width:22px;min-height:22px;flex-shrink:0}.task-done{text-decoration:line-through;color:var(--muted)}.task-dialog{width:min(480px,calc(100% - 28px));border:1px solid var(--line);border-radius:12px;padding:24px}.task-dialog::backdrop{background:#20334188}.task-dialog .actions{margin-top:22px}@media(max-width:760px){.schedule-toolbar .actions{gap:6px;width:100%}.schedule-toolbar input{flex:1;min-width:125px}.schedule-tabs{width:100%}.schedule-tabs button{flex:1;padding:9px 10px}.task-row{flex-wrap:wrap;gap:8px}.task-row label{flex-basis:100%}.task-row .badge{margin-left:34px}.schedule-day-list{grid-template-columns:1fr}.week-board{min-width:1050px}}

.card-scan img{max-width:100%;max-height:320px;object-fit:contain;border:1px solid var(--line);margin-top:16px}.card-duplicate{display:flex;align-items:center;gap:10px}.card-duplicate input{width:20px;min-height:20px;flex-shrink:0}#card-form details{margin:20px 0}#card-form details textarea{min-height:180px;margin:12px 0}#card-feedback{color:#b43c51}#card-panel[hidden]{display:none}

.task-row .task-destination{font-size:13px}.task-dialog{max-height:90dvh;overflow:auto}@media(max-width:760px){.task-row .task-destination{margin-left:34px}.task-row .task-destination+button{margin-left:auto}}

/* Three core screens: case, report and quote */
#app[data-view="case"],#app[data-view="report"],#app[data-view="quote"]{--line:#dce7eb}.back-link{display:inline-block;font-size:14px;margin:0 0 20px;color:#637786}.status-picker{display:flex;align-items:center;gap:10px;margin:0;color:#637786;font-size:13px}.status-picker select{font-weight:600;color:#087f86}.case-subtitle{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-10px 0 24px;color:#637786}.next-action{background:linear-gradient(110deg,#f1fafa,#fff);border-color:#b7d9db}.next-action h2{margin-bottom:10px}.next-action p{margin:8px 0 18px}.next-action .primary{min-height:52px;min-width:210px;justify-content:space-between}.next-action .note{background:transparent;margin:0;padding:0}.next-action small{display:block;margin-top:12px}#app[data-view="case"] .tabs{border-bottom:1px solid var(--line);gap:4px}#app[data-view="case"] .tabs a{border:0;background:transparent;border-radius:0;padding:12px 18px}#app[data-view="case"] .tabs a:hover{background:#e6f4f4}#app[data-view="case"] .data-row{padding:16px 0}#app[data-view="case"] .card,#app[data-view="quote"] .card,#app[data-view="report"] .card{box-shadow:0 2px 8px #20334104}#app[data-view="quote"] .save-status,#app[data-view="report"] .save-status{padding:10px 14px;background:#ecf8f2;border:1px solid #d3eade;border-radius:8px;color:#16714b}.quote-recipient{background:#fdfefe}.quote-recipient h2{font-size:19px;margin:0 0 6px}.quote-recipient p{margin:0;color:#637786}.quote-items th{padding:14px 8px;font-weight:600}.quote-items td{padding:16px 8px}.quote-items input:focus,.quote-items select:focus,#app[data-view="report"] input:focus,#app[data-view="report"] textarea:focus{outline:2px solid #087f8640;border-color:#087f86}.quote-items [data-key="price"]{text-align:right;font-variant-numeric:tabular-nums}.quote-items [data-key="qty"],.quote-items [data-key="unit"]{text-align:center}.quote-items [data-row-kind]{color:#087f86;background:#f3fafa}.quote-summary .total-box{max-width:480px}.quote-summary .grand{background:#edf8f8;padding:18px 12px;border:0;border-radius:8px;font-size:26px}.quote-final-actions{justify-content:flex-end;margin-top:24px}.quote-final-actions>*{min-height:52px;min-width:190px}.report-site h2{margin:0 0 6px}.report-site p{margin:0;color:#637786;font-size:14px}.report-site{margin-bottom:16px}#app[data-view="report"]{max-width:900px}#app[data-view="report"] .steps{margin:28px 0}#app[data-view="report"] .step{border:0;display:flex;align-items:center;flex-direction:column;gap:8px;padding:0;position:relative}#app[data-view="report"] .step:before{content:"";position:absolute;top:16px;height:2px;width:100%;left:50%;background:#e0e8ed;z-index:0}#app[data-view="report"] .step:last-child:before{display:none}.step-number{display:grid;place-items:center;background:#e8eef1;color:#637786;width:34px;height:34px;border-radius:50%;font-size:15px;font-weight:600;z-index:1}#app[data-view="report"] .active .step-number{background:#087f86;color:white}#app[data-view="report"] .step-past .step-number{background:#dff3f3;color:#087f86}#app[data-view="report"] .timer-buttons button{flex-direction:column;gap:8px;min-height:88px}.timer-icon{font-size:22px}.report-footer{justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.report-footer button{min-height:52px;min-width:150px}#app[data-view="report"] .note{font-size:14px}
@media(max-width:760px){.status-picker{flex:1;justify-content:space-between}.next-action .actions{flex-direction:column}.next-action .actions>*{width:100%}#app[data-view="case"] .tabs{flex-wrap:nowrap;overflow:auto}#app[data-view="case"] .tabs a{white-space:nowrap;padding:12px 10px}.case-subtitle{margin-top:0}#app[data-view="report"] .timer-buttons{grid-template-columns:repeat(4,1fr);gap:7px}#app[data-view="report"] .timer-buttons button{padding:10px 4px;font-size:14px}.report-footer{position:sticky;bottom:76px;background:white;z-index:3;padding:12px 0;margin-top:24px;gap:10px}.report-footer button{min-width:0;flex:1}.quote-final-actions>*{min-width:0;flex:1}.quote-summary .total-box{max-width:none}#app[data-view="quote"] .table-wrap{overflow:visible}.quote-items{display:block;min-width:0;table-layout:auto}.quote-items colgroup,.quote-items thead{display:none}.quote-items tbody{display:block}.quote-items tr{display:grid;grid-template-columns:68px 58px minmax(0,1fr);gap:12px 10px;border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0;background:#fcfefe}.quote-items td{display:block;min-width:0;border:0;padding:0}.quote-items td:before{display:block;color:#637786;font-size:12px;margin-bottom:5px}.quote-items td:nth-child(1){grid-column:1/-1}.quote-items td:nth-child(1):before{content:"項目・内容"}.quote-items td:nth-child(2):before{content:"数量"}.quote-items td:nth-child(3):before{content:"単位"}.quote-items td:nth-child(4):before{content:"入力単価"}.quote-items td:nth-child(5){grid-column:1/3}.quote-items td:nth-child(5):before{content:"税区分"}.quote-items td:nth-child(6){grid-column:3;align-self:center;text-align:right}.quote-items td:nth-child(6):before{content:"行合計（税込）"}.quote-items td:nth-child(7){grid-column:1/-1;text-align:right}.quote-items td:nth-child(7) button{color:#a34655}.quote-items .tax-control select{font-size:16px}}
@media print{.back-link,.report-footer,.next-action{display:none!important}}

.bundle-choice{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.bundle-choice input{width:22px;min-height:22px;flex-shrink:0}.bundle-choice span{flex:1}.bundle-choice strong{white-space:nowrap}#bundle-error{color:#b43c51}@media(max-width:760px){.bundle-choice{flex-wrap:wrap}.bundle-choice strong{margin-left:36px}}

.invoice-pdf-export .preview-paper .row{display:flex!important;flex-wrap:nowrap!important}.invoice-pdf-export table{font-size:12px}.invoice-pdf-export tr,.invoice-pdf-export .total-box{break-inside:avoid}.invoice-pdf-export h1{font-size:26px}.invoice-pdf-export h2{font-size:18px}@media print{.invoice-pdf-export{display:none!important}}

.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.equipment-photo{width:100%;height:190px;object-fit:contain;background:#f5f8fa;border-radius:8px}.equipment-grid details{margin-top:16px}#equipment-dialog{width:min(700px,calc(100% - 28px))}#equipment-error{color:#b43c51}@media(max-width:760px){.equipment-grid{grid-template-columns:1fr}}

.photo-edit-grid textarea{min-height:70px}.photo-edit-grid img{height:180px}.photo-include{display:flex;align-items:center;gap:8px}.photo-include input{width:20px;min-height:20px}.report-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;break-inside:avoid}.report-photo-pair figure{margin:0}.report-photo-pair img{width:100%;height:210px;object-fit:contain;background:#f5f8fa}.report-machine{margin:25px 0}.report-machine figcaption p{margin:6px 0;font-size:13px}@media(max-width:760px){.photo-edit-grid{grid-template-columns:1fr}.report-photo-pair{gap:8px}.report-photo-pair img{height:140px}}
