:root{font-family:"Noto Serif JP",Yu Mincho,Hiragino Mincho ProN,serif;color:#505050;background:#fff;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;letter-spacing:.02em}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1440px,100%);margin:0 auto;padding:0 14px 32px}.site-header{display:flex;align-items:center;gap:12px;padding:16px 2px;margin-bottom:28px;border-bottom:1px solid #ececec}.site-header a{display:inline-flex;align-items:center}.site-header img{height:22px;width:auto;display:block}.site-header .brand{display:inline-flex;align-items:center;font-size:17px;font-weight:300;letter-spacing:.12em;color:#707070;line-height:1}.topbar{display:grid;gap:10px;margin-bottom:28px;text-align:center}.topbar h1{margin:0;font-size:28px;font-weight:700;line-height:1.45;letter-spacing:.12em}.topbar p,.section-kicker,.machine-note,.status-line,figcaption,.order-row span{color:#7a7a7a}.topbar p{margin:6px 0 0;font-size:13px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #e2e2e2;background:#fff;border-radius:10px}.tabs button{border:0;border-radius:7px;background:transparent;padding:12px 14px;min-height:44px;color:#7a7a7a;font-weight:700}.tabs button.active{background:#505050;color:#fff}.product-bar{display:grid;gap:8px;margin-bottom:14px}.product-bar-label{font-size:12px;font-weight:700;color:#7a7a7a}.product-chips{display:flex;flex-wrap:wrap;gap:8px}.product-chip{display:grid;gap:2px;text-align:left;padding:10px 14px;min-height:44px;border:1px solid #e2e2e2;border-radius:10px;background:#fff;color:#505050}.product-chip strong{font-size:14px}.product-chip small{font-size:12px;color:#7a7a7a}.product-chip.active{border-color:#505050;background:#505050;color:#fff}.product-chip.active small{color:#cfc8bd}.product-cards{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.product-card{flex:0 0 160px;display:flex;flex-direction:column;text-align:left;border:2px solid #e2e2e2;border-radius:12px;background:#fff;color:#505050;overflow:hidden;scroll-snap-align:start;transition:border-color .15s}.product-card:hover{border-color:#9a9189}.product-card.active{border-color:#505050;box-shadow:0 0 0 2px #505050}.product-card-photo{width:100%;height:140px;object-fit:cover;display:block}.product-card-info{display:flex;flex-direction:column;gap:2px;padding:10px 12px}.product-card-info strong{font-size:13px}.product-card-info small{font-size:11px;color:#7a7a7a}.product-card.active .product-card-info small{color:#7a7a7a}.extract-preview{display:flex;justify-content:center;background:#fafafa;border-radius:10px;padding:16px;margin-bottom:12px}.extract-preview img{max-width:100%;max-height:120px;object-fit:contain;border-radius:4px}.workspace{display:grid;gap:14px}.step-card,.admin-panel{background:#fff;border:1px solid #ececec;border-radius:14px;padding:22px;box-shadow:none}.step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.step-badge{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#fff;border:1px solid #b8b8b8;color:#888;font-size:12px;font-weight:400}.step-head h2{margin:1px 0 0;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.04em;color:#595959}.step-sub{margin:4px 0 0;font-size:13px;color:#7a7a7a;line-height:1.55}.dropzone{display:grid;place-items:center;gap:8px;min-height:168px;padding:22px;border:1.5px dashed #bdb5aa;border-radius:10px;background:#fafafa;text-align:center}.dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.dropzone strong{font-size:16px}.dropzone span{font-size:13px;color:#756d63}.uploaded-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.uploaded-row img{width:100%;max-height:110px;object-fit:contain;border:1px solid #e5ded5;border-radius:10px;background:#fafafa}.reupload{position:relative;white-space:nowrap}.reupload input{position:absolute;inset:0;opacity:0;cursor:pointer}.quality-banner{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:10px;border:1px solid transparent}.quality-banner strong{font-size:14px}.quality-banner p{margin:4px 0 0;font-size:13px;line-height:1.55}.quality-icon{display:flex;margin-top:1px}.quality-ok{background:#eef7ee;border-color:#c7e3c5;color:#2f6b34}.quality-warn{background:#fdf6e8;border-color:#f0dfb0;color:#8a6516}.quality-error{background:#fcefee;border-color:#f0c7c4;color:#9a342c}.photo-preview{width:100%;height:clamp(280px,74vw,440px);overflow:hidden;border:1px solid #e2e2e2;border-radius:10px;background:#fafafa}.photo-preview canvas{width:100%;height:100%;display:block}.preview-hint{text-align:center;margin-top:12px}.order-form{display:grid;gap:12px}.order-form label{display:grid;gap:6px;font-size:13px;font-weight:700;letter-spacing:.04em}.order-form select,.order-form input,.order-form textarea{font-family:"Noto Serif JP",serif}.order-form input,.order-form textarea,.order-form select,.admin-toolbar input{width:100%;border:1px solid #e2e2e2;border-radius:10px;padding:12px;background:#fff;color:#505050;font-size:16px}.order-form textarea{min-height:78px;resize:vertical}.option-help{font-weight:400;font-size:12px;color:#7a7a7a}.price-summary{display:grid;gap:8px;margin-top:16px;padding:14px;border:1px solid #e2e2e2;border-radius:10px;background:#fafafa;font-size:14px}.price-summary div{display:flex;justify-content:space-between;color:#666}.price-total{margin-top:4px;padding-top:8px;border-top:1px solid #e2e2e2;font-weight:700;font-size:16px;color:#505050!important}.order-terms-note{margin:12px 0 0;font-size:12px;line-height:1.6;color:#7a7a7a}.terms-check{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:13px;line-height:1.6}.terms-check input{margin-top:3px;flex:none}.link-button{border:0;background:none;padding:0;color:#505050;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.order-button{width:100%;margin-top:14px;min-height:50px;font-size:15px}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid #ececec;font-size:12px;letter-spacing:.04em;color:#909090}.footer-copy{flex-basis:100%;text-align:center;margin-top:4px;font-size:11px;color:#aaa}.modal-overlay{position:fixed;inset:0;background:#14120f73;display:grid;place-items:center;padding:16px;z-index:50}.modal-card{background:#fff;border-radius:12px;width:min(640px,100%);max-height:85vh;overflow:auto;padding:20px;box-shadow:0 24px 60px #00000040}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h2{margin:0;font-size:18px}.modal-close{border:0;background:none;font-size:26px;line-height:1;color:#7a7a7a;cursor:pointer}.legal-table{margin:0;display:grid;gap:0}.legal-table>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eee7dd}.legal-table dt{font-weight:700;font-size:13px;color:#666}.legal-table dd{margin:0;font-size:13px;line-height:1.6}.legal-text p{margin:0 0 6px;font-size:13px;line-height:1.7}@media(max-width:560px){.legal-table>div{grid-template-columns:1fr;gap:2px}}.hint-line{margin:10px 0 0;font-size:13px;color:#7a7a7a}.hint-error{color:#9a342c}.status-line{margin:12px 0 0;font-size:13px;font-weight:700}.status-line.success{display:flex;align-items:center;gap:6px;color:#2f6b34}.primary-button,.secondary-button,.download-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;padding:0 24px;text-decoration:none;font-size:14px;font-weight:400;letter-spacing:.06em;transition:background-color .2s,color .2s,border-color .2s}.primary-button{border:1px solid #505050;background:#505050;color:#fff}.primary-button:not(:disabled):hover{background:#3d3d3d;border-color:#3d3d3d}.secondary-button,.download-link{border:1px solid #d1d5db;background:#fff;color:#505050}.secondary-button:hover,.download-link:hover{background:#f7f7f7}.advanced{margin-top:14px;background:#fff;border:1px solid #e2e2e2;border-radius:12px;box-shadow:0 10px 30px #312c2512}.advanced>summary{display:flex;align-items:center;gap:8px;padding:16px;min-height:52px;font-size:14px;font-weight:700;color:#666;cursor:pointer;list-style:none}.advanced>summary::-webkit-details-marker{display:none}.advanced-body{display:grid;gap:16px;padding:0 16px 16px}.settings-card{display:grid;gap:12px}.mini-heading{display:flex;align-items:center;gap:8px}.slider-row{display:grid;grid-template-columns:84px 1fr 44px;gap:10px;align-items:center;font-size:13px}.slider-row input{accent-color:#505050}.slider-row output{color:#666;text-align:right}.toggle-row{display:flex;align-items:center;gap:10px;min-height:32px;font-size:14px}.data-readout{display:grid;grid-template-columns:1fr;gap:10px}.data-readout div{display:grid;gap:4px;padding:12px;border:1px solid #e2e2e2;border-radius:10px;background:#fafafa}.data-readout span{font-size:12px;color:#7a7a7a}.data-readout strong{font-size:16px}.machine-note{margin:0;font-size:13px;line-height:1.65}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin:2px 0 0;font-size:18px;line-height:1.25}.section-heading>span,.section-kicker{margin:0;font-size:12px;font-weight:700}.admin-toolbar{display:grid;gap:10px;margin-bottom:14px}.admin-toolbar input{font-size:16px}.orders-table{display:grid;gap:8px}.admin-hint{margin:0 0 12px;font-size:13px;color:#7a7a7a}.order-row{display:grid;grid-template-columns:24px 1fr auto;grid-template-areas:"icon info info" "badge badge link";gap:8px 12px;align-items:center;padding:12px;border:1px solid #e4ddd5;border-radius:10px;background:#fafafa}.order-row>svg{grid-area:icon}.order-row>div{grid-area:info}.order-row .status-badge{grid-area:badge;justify-self:start}.order-row .download-link{grid-area:link;justify-self:end}.status-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.status-paid{background:#eef7ee;border-color:#c7e3c5;color:#2f6b34}.status-awaiting{background:#fdf6e8;border-color:#f0dfb0;color:#8a6516}.status-failed{background:#fcefee;border-color:#f0c7c4;color:#9a342c}.status-pending{background:#f0eee9;border-color:#ddd6cc;color:#7a7a7a}.order-row div{display:grid;gap:3px}.order-row span{font-size:12px}.admin-login-shell{display:grid;place-items:center;min-height:80vh}.admin-login{display:grid;justify-items:center;gap:10px;text-align:center;width:min(360px,100%);padding:28px 22px;background:#fff;border:1px solid #e2e2e2;border-radius:12px;box-shadow:0 10px 30px #312c2514}.admin-login h1{margin:4px 0 0;font-size:20px}.admin-login p{margin:0;font-size:13px;color:#7a7a7a}.admin-login input{width:100%;border:1px solid #e2e2e2;border-radius:10px;padding:12px;font-size:16px}.admin-login .primary-button{width:100%}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-chip{border:1px solid #e2e2e2;background:#fff;border-radius:999px;padding:8px 14px;min-height:40px;font-size:13px;color:#666}.filter-chip.active{background:#505050;border-color:#505050;color:#fff}.admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;grid-template-areas:none}.admin-row>div{flex:1 1 220px;display:grid;gap:3px}.detail-badges{display:flex;align-items:center;gap:8px;margin-bottom:14px}.detail-amount{margin-left:auto;font-weight:700;font-size:16px}.detail-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}.detail-figure figcaption{font-size:12px;color:#7a7a7a;margin-bottom:6px}.detail-figure img{width:100%;max-height:220px;object-fit:contain;border:1px solid #e5ded5;border-radius:10px;background:#fafafa}.detail-figure .photo-preview{height:220px}.modal-wide{width:min(820px,100%)}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}.detail-status-update{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;border-top:1px solid #eee7dd;font-size:14px}@media(min-width:640px){.detail-grid{grid-template-columns:1fr 1fr}.app-shell{padding:20px}.data-readout{grid-template-columns:repeat(3,1fr)}.admin-toolbar{grid-template-columns:minmax(220px,1fr) auto}.order-row{grid-template-columns:24px 1fr auto auto;grid-template-areas:"icon info badge link"}}@media(min-width:900px){.app-shell{padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.topbar h1{font-size:28px}.tabs{width:auto}.tabs button{min-width:84px}.workspace{grid-template-columns:minmax(340px,460px) minmax(0,1fr);grid-template-areas:"upload  preview" "extract preview" "product preview" "options preview" "order   preview";gap:20px;align-items:start}.area-upload{grid-area:upload}.area-extract{grid-area:extract}.area-product{grid-area:product}.area-options{grid-area:options}.area-order{grid-area:order}.area-preview{grid-area:preview;position:sticky;top:24px}.preview-card .photo-preview{height:clamp(420px,40vw,560px)}.advanced{margin-top:20px}}
