:root{--green:#1f7a4d;--green-dark:#165d3a;--bg:#f5f7f6;--card:#fff;--text:#1c2520;--muted:#647067;--danger:#b42318;--line:#dfe6e2;--shadow:0 8px 24px rgba(16,24,20,.08)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}button,input,select,textarea{font:inherit;font-size:16px}button{touch-action:manipulation}.shell{max-width:720px;margin:0 auto;min-height:100vh;padding:env(safe-area-inset-top) 14px calc(118px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:5;background:rgba(245,247,246,.95);backdrop-filter:blur(10px);padding:14px 0 10px}.brand{font-weight:800;letter-spacing:.04em;font-size:20px}.subtitle{font-size:13px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.section-title{font-size:18px;font-weight:800;margin:0 0 14px}.stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #cfd9d3;border-radius:12px;background:#fff;padding:12px 14px;color:var(--text)}.field textarea{min-height:88px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{width:100%;min-height:52px;border:none;border-radius:14px;padding:13px 16px;font-weight:800;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-primary:active{background:var(--green-dark)}.btn-secondary{background:#e8f2ec;color:var(--green-dark)}.btn-danger{background:#fff0ee;color:var(--danger);border:1px solid #f0c6c0}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--text)}.hero-btn{min-height:64px;font-size:19px}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef5f0;color:var(--green-dark);font-size:12px;font-weight:800}.tx{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.tx-head{display:flex;justify-content:space-between;gap:10px}.tx-name{font-weight:800}.tx-meta{color:var(--muted);font-size:13px}.money{font-size:32px;font-weight:900;letter-spacing:-.03em}.item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.item-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.item-title{font-weight:800}.thumbs{display:flex;gap:8px;overflow:auto;padding-top:8px}.thumb{position:relative;flex:0 0 88px}.thumb img{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.thumb button{position:absolute;right:-4px;top:-4px;border:0;border-radius:50%;width:28px;height:28px;background:#222;color:#fff}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice button{min-height:72px}.bottom-actions{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));z-index:10}.bottom-actions-inner{max-width:720px;margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.note{padding:12px;border-radius:12px;background:#fff8e6;color:#735d16;font-size:14px}.danger-note{background:#fff0ee;color:var(--danger)}.signature-wrap{border:1px dashed #aab8b0;border-radius:14px;background:#fff;overflow:hidden}.signature-wrap canvas{display:block;width:100%;height:220px;touch-action:none}.checkbox{display:flex;gap:10px;align-items:flex-start}.checkbox input{width:22px;height:22px;margin-top:1px}.small{font-size:13px;color:var(--muted)}.empty{padding:26px 8px;text-align:center;color:var(--muted)}.toast{position:fixed;left:50%;bottom:94px;transform:translateX(-50%);background:#1f2923;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;z-index:50;box-shadow:var(--shadow)}.hidden{display:none!important}.review-list{display:grid;gap:8px}.review-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border-bottom:0}.customer-view{font-size:18px;line-height:1.65}.customer-view .money{font-size:38px}.muted{color:var(--muted)}
@media(min-width:800px){.shell{padding-left:24px;padding-right:24px}.grid-desktop{display:grid;grid-template-columns:1fr 1fr;gap:16px}}
@media print{body{background:#fff}.no-print,.topbar,.bottom-actions{display:none!important}.shell{max-width:none;padding:0}.card{box-shadow:none;border:0;border-radius:0;margin:0;padding:0}.print-sheet{display:block!important}.app-screen{display:none!important}}

/* Phase 1.1: print only the formal A4 statement */
@media print {
  @page { size: A4 portrait; margin: 0; }
  body * { visibility: hidden !important; }
  #printSheet, #printSheet * { visibility: visible !important; }
  #printSheet {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }
}

.legal-box{padding:12px;border-radius:12px;border:2px solid #b42318;color:#b42318;background:#fff;font-size:14px;line-height:1.6}
@media(max-width:430px){.bottom-actions{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.bottom-actions-inner{gap:8px}.btn{min-height:56px}.shell{padding-bottom:calc(126px + env(safe-area-inset-bottom))}}
