.mobile-only{display:none}
@media(max-width:760px){
  body{background:var(--lavender);padding-bottom:calc(170px + env(safe-area-inset-bottom));min-height:100dvh}
  header{position:sticky;top:0;z-index:20;background:white;height:auto;min-height:78px;padding:14px max(18px,env(safe-area-inset-left));padding-top:calc(14px + env(safe-area-inset-top));align-items:start}
  header .brand{font-size:24px;letter-spacing:-.8px}header small{margin:0;font-size:12px}header>nav{display:none}
  .mobile-only{display:block}main{padding:0 18px}.intro,footer{display:none}
  .mobile-intro{padding:24px 0 20px}.mobile-intro h1{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin:0 0 9px;outline:none}.mobile-intro p{font-size:14px;color:var(--muted);margin:0 0 20px}
  #mobile-steps{display:flex;gap:0;justify-content:space-between;position:relative}#mobile-steps:before{content:'';position:absolute;top:17px;left:10%;right:10%;height:1px;background:#d0c8df}
  #mobile-steps button{border:0;background:transparent;color:var(--muted);padding:0;flex:1;font-size:10px;position:relative;min-height:55px}
  #mobile-steps button span{display:grid;place-items:center;margin:0 auto 6px;width:34px;height:34px;border-radius:50%;border:1px solid #c8bfd9;background:var(--lavender);font-size:13px}
  #mobile-steps [aria-current=step]{color:var(--purple);font-weight:700}#mobile-steps [aria-current=step] span{background:var(--purple);border-color:var(--purple);color:white}#mobile-steps .step-complete span{background:#e6dcf6;color:var(--purple);border-color:#d5c5ec}
  .workspace{display:block}.form-section{display:none;background:white;border:0;border-radius:14px;padding:20px;margin:0 0 16px}.form-section.mobile-active{display:block}.form-section>h2{display:none}
  label{font-size:13px;font-weight:600}.fields{gap:16px}.fields.three{grid-template-columns:1fr 1fr}label em{font-weight:400}input,textarea,select{font-size:16px;min-height:48px;border-radius:7px;padding:11px 12px;margin-top:7px}textarea{min-height:85px}label small{font-size:11px;font-weight:400;margin-top:5px}input[type=file]{font-size:12px;padding:9px;min-height:44px}input[type=file]::file-selector-button{min-height:30px}
  #create-button{display:none}.allowance,.save-note{font-size:11px;line-height:1.6;padding:0 4px}.save-note{margin-bottom:20px}
  .item-row{grid-template-columns:1fr 1fr 36px;gap:10px;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid var(--border)}.item-row label:first-child{grid-column:1/3}.item-row label:nth-child(2){grid-column:1;grid-row:2}.item-row label:nth-child(3){grid-column:2;grid-row:2}.item-row label:nth-child(4){grid-column:1/4;grid-row:3;font-weight:500;color:var(--muted)}.item-row .remove-item{grid-column:3;grid-row:1;width:36px;min-height:48px;margin-top:24px;background:var(--lavender);border-radius:7px}.item-row input{padding:11px 10px}.item-row .line-total{font-size:16px;font-weight:700}.secondary{min-height:44px;font-size:14px;padding:9px 14px;border-radius:7px}
  .preview-shell{display:none;background:transparent;padding:0;position:static}.invoice{min-height:620px;padding:24px 16px;border-radius:11px}.invoice-title b,.invoice-title strong{font-size:20px}.invoice-top{gap:10px}.preview-heading{font-size:13px;margin:0 2px 12px}.preview-note{font-size:12px}
  .how,.privacy{display:none}.how{margin:0 0 20px;padding:20px;background:white;border:0;border-radius:14px}.how h2{font-size:22px}.steps{gap:20px}.steps p{font-size:14px}.privacy{padding:20px;background:white;border-radius:14px;margin-bottom:20px}.privacy p{font-size:13px;line-height:1.7}.privacy h2{font-size:22px}
  body[data-mobile-view=preview] #invoice-form,body[data-mobile-view=help] .workspace{display:none}body[data-mobile-view=preview] .preview-shell{display:block}body[data-mobile-view=help] .how,body[data-mobile-view=help] .privacy{display:block}body:not([data-mobile-view=edit]) #mobile-steps{display:none}
  .mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;box-shadow:0 -5px 24px #30214d0b;border-radius:17px 17px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.mobile-action-row>div{min-width:100px;max-width:45%;overflow-wrap:anywhere}.mobile-action-row small{font-size:11px;margin:0}.mobile-action-row strong{font-size:21px;display:block;line-height:1.4}.mobile-action-row .primary{width:auto;flex:1;min-height:48px;border-radius:8px;font-size:15px;padding:10px}
  .mobile-tabs{display:flex;border-top:1px solid var(--border);gap:0;padding:6px 16px 8px}.mobile-tabs button{flex:1;display:flex;align-items:center;flex-direction:column;gap:3px;min-height:51px;border:0;border-radius:7px;background:white;color:var(--muted);font-size:11px;font-weight:600}.mobile-tabs svg{width:23px;height:23px;margin-top:3px}.mobile-tabs [aria-pressed=true]{color:var(--purple);background:var(--lavender)}
  body.mobile-keyboard .mobile-dock{display:none}
  dialog{width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0;padding:32px 24px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border:0;overflow:auto}dialog:open{animation:sheet-in .18s ease-out}.close{min-height:44px;min-width:44px}.primary{min-height:48px}.dev-notice{font-size:12px}
  @keyframes sheet-in{from{transform:translateY(24px);opacity:.5}to{transform:translateY(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){dialog:open{animation:none}}
