:root{--mf-teal:#00a6b2;--mf-teal-dark:#007d88;--ink:#263844;--muted:#657681;--line:#d8e1e5;--surface:#ffffff;--canvas:#f4f7f8;--success:#16865b;--danger:#d94b58}*{box-sizing:border-box;padding:0;margin:0;letter-spacing:0}body,html{width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}body{background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}button{font:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-shell{height:100dvh;display:flex;flex-direction:column}.app-header{min-height:58px;justify-content:space-between;padding:env(safe-area-inset-top) 18px 0;background:var(--surface);border-bottom:1px solid var(--line)}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px;font-size:17px;font-weight:700}.brand-icon{display:block;width:32px;height:32px;flex:none;border-radius:7px}.brand-bar{display:inline-block;width:7px;height:28px;border-radius:2px;background:var(--mf-teal)}.header-actions{display:flex;align-items:center;gap:6px}.icon-button{width:42px;height:42px;display:grid;place-items:center;color:var(--mf-teal-dark);border-radius:6px}.app-main{flex:1 1;min-height:0;overflow-y:auto;padding:16px 16px calc(22px + env(safe-area-inset-bottom))}.capture-layout{width:min(100%,620px);margin:0 auto}.purchase-context{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px 15px;border:1px solid #abd8dc;border-radius:8px;background:#edfafa;color:var(--mf-teal-dark)}.purchase-context>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.purchase-context strong{color:var(--ink);font-size:14px}.purchase-context span{font-size:13px}.purchase-context small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.purchase-context.error{display:grid;grid-gap:7px;gap:7px;border-color:#edc5ca;background:#fff3f4;color:var(--danger)}.purchase-context.error a{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-weight:700}.capture-empty{width:100%;min-height:49dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px 20px;border:2px dashed #b9c9ce;border-radius:8px;background:var(--surface);color:var(--mf-teal);cursor:pointer}.capture-empty strong{margin-top:6px;color:var(--ink);font-size:19px}.capture-empty>span:last-child{color:var(--muted);font-size:14px}.capture-empty:disabled{cursor:wait;opacity:.7}.capture-empty.is-dragging{border-color:var(--mf-teal);background:#edfafa;box-shadow:inset 0 0 0 2px rgba(0,166,178,.14)}.preview-frame{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#dfe6e8}.preview-frame img{display:block;width:100%;max-height:57dvh;object-fit:contain}.size-badge{position:absolute;right:10px;bottom:10px;padding:6px 9px;border-radius:4px;color:#fff;background:rgba(38,56,68,.9);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-name{margin:12px 2px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.button-row{display:grid;grid-template-columns:1fr 1.45fr;grid-gap:10px;gap:10px;margin-top:16px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:700}.button.primary{background:var(--mf-teal);color:#fff}.button.primary:active{background:var(--mf-teal-dark)}.button.secondary{background:var(--surface);border-color:#aebfc5}.button:disabled{cursor:wait;opacity:.58}.camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.status{min-height:22px;margin:13px 2px 0;color:var(--muted);font-size:14px;text-align:center}.status.success{color:var(--success)}.status.error{color:var(--danger)}.retry-link,.return-inventory{width:100%;margin-top:8px}.return-inventory{background:var(--success);color:#fff}.recent-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.recent-section h2{margin-bottom:10px;font-size:15px}.recent-list{display:grid;grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--line)}.recent-item{display:flex;justify-content:space-between;gap:12px;padding:12px 13px;background:var(--surface)}.recent-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.recent-item small{flex:none;color:var(--muted);font-size:12px}.recent-empty{color:var(--muted);font-size:13px}.loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.loader.dark{border-color:#c7d5d9;border-top-color:var(--mf-teal)}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.gate-panel{width:min(100%,360px);padding:28px 24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:center}.gate-panel .brand-bar{margin-bottom:18px}.gate-panel h1{font-size:22px}.gate-panel p{margin:8px 0 22px;color:var(--muted);font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:720px){.app-main{padding-top:24px}.capture-empty{min-height:430px}}@media (prefers-reduced-motion:reduce){.loader{animation:none}}