/* Villa & Vow mobile app layout */
@media (max-width: 820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom));}
  .bg-watermark{opacity:.48;}
  .app{display:block !important;min-height:100vh;}
  .sidebar{position:sticky !important;top:0;z-index:45;width:100% !important;height:auto !important;display:flex !important;align-items:center !important;justify-content:space-between;padding:10px 14px !important;padding-top:calc(10px + env(safe-area-inset-top)) !important;background:rgba(251,243,236,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:0 !important;border-bottom:1px solid var(--line);overflow:visible !important;}
  .brand{padding:0 !important;margin:0 !important;min-width:0;}.brand-mark{width:34px !important;height:34px !important;}.brand-text h1{font-size:18px !important;white-space:nowrap;}.brand-text span,.brand-floral,.sidebar-foot{display:none !important;}.sidebar > .tabs{display:none !important;}
  main{padding:20px 14px 26px !important;max-width:none !important;width:100% !important;}.view-head{margin-bottom:18px !important;}.view-head h2{font-size:28px !important;line-height:1.08;}.view-head p{font-size:14px !important;line-height:1.5;}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;}.stat-tile{padding:14px 12px !important;min-width:0;}.stat-tile .n{font-size:22px !important;}.stat-tile .l{font-size:10.5px !important;line-height:1.25;}
  .steps{gap:10px !important;}.step{padding:14px !important;gap:12px !important;}.step .num{width:30px !important;height:30px !important;min-width:30px !important;}.quick-jump{grid-template-columns:1fr !important;}
  .item-row{padding:13px 11px !important;gap:10px !important;align-items:flex-start;}.chk{width:24px !important;height:24px !important;border-radius:7px !important;}.item-text{font-size:14px !important;}.item-row .del{opacity:1 !important;}.add-row{margin-top:14px !important;}
  .table-scroll{overflow:visible !important;}.budget-table,.budget-table tbody,.budget-table tr,.budget-table td{display:block !important;width:100% !important;}.budget-table{border:0 !important;background:transparent !important;}.budget-table thead{display:none !important;}.budget-table tr{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:12px;box-shadow:var(--shadow-sm);}.budget-table td{border:0 !important;padding:6px 0 !important;position:relative;}.budget-table td:nth-child(1){font-size:10.5px !important;text-transform:uppercase;letter-spacing:.06em;color:var(--brass);font-family:'IBM Plex Mono',monospace;}.budget-table td:nth-child(2){font-size:15px !important;font-weight:700;padding-bottom:10px !important;}
  .budget-table td:nth-child(3),.budget-table td:nth-child(4){display:flex !important;align-items:center !important;gap:5px !important;min-height:48px;border-top:1px solid var(--line-soft) !important;}.budget-table td:nth-child(3)::before{content:'Estimate' !important;display:block !important;flex:0 0 78px;font-size:11px;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;}.budget-table td:nth-child(4)::before{content:'Actual' !important;display:block !important;flex:0 0 78px;font-size:11px;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;}.budget-table td:nth-child(3) input,.budget-table td:nth-child(4) input{flex:1 1 auto !important;width:0 !important;min-width:0 !important;min-height:40px;text-align:right !important;}.budget-table td:nth-child(5)::before{content:'Payment' !important;display:block !important;}.budget-table td:nth-child(6)::before{content:'Notes' !important;display:block !important;}.budget-table td:nth-child(5),.budget-table td:nth-child(6){display:grid !important;grid-template-columns:82px 1fr !important;align-items:center;gap:8px;border-top:1px solid var(--line-soft) !important;}.budget-table td:nth-child(5)::before,.budget-table td:nth-child(6)::before{font-size:11px;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;}.budget-table td:last-child{position:absolute !important;right:9px;top:7px;width:auto !important;}.budget-add{grid-template-columns:1fr !important;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;}.budget-add .btn{min-height:44px;justify-content:center;}
  .venue-grid{grid-template-columns:1fr !important;gap:12px !important;}.venue-hero.has-image{min-height:210px !important;}.venue-discovery{grid-template-columns:1fr !important;position:sticky;top:57px;z-index:15;padding:8px 0;background:rgba(251,248,245,.95);backdrop-filter:blur(12px);}.venue-discovery input,.venue-discovery select{min-height:44px;}.venue-note textarea{min-height:72px;}
  .style-grid,.style-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px !important;}.style-card{padding:9px !important;}.style-card .style-img{height:150px !important;}.style-card h5{font-size:13px !important;}.style-card p{font-size:11px !important;min-height:0 !important;}.style-card .btn{font-size:11px !important;padding:6px 8px !important;}
  .style-section .style-head{align-items:center !important;}.add-style-category{font-size:11px !important;padding:6px 8px !important;}
  .board-columns{column-count:2 !important;column-width:auto !important;column-gap:9px !important;}.pin{margin-bottom:9px !important;}.board-toolbar{gap:6px !important;}.filter-chip{font-size:11px !important;padding:6px 10px !important;}.board-actions{width:100%;margin-left:0 !important;display:grid !important;grid-template-columns:1fr 1fr;}.board-actions .btn{justify-content:center;min-height:42px;}
  .sides{grid-template-columns:1fr !important;}
  .grip{display:none;}
  .row-name{order:0;flex:1 1 100%;font-size:14.5px;}
  .row-main select.rsvp:not(.small){order:1;}
  .row-main .stepper{order:2;}
  .row-main .stepper.plus-confirmed{order:3;}
  .row-main .tag-chip{order:4;}
  .row-main .expand-btn{order:5;}
  .row-main .del-btn{order:6;}
  .planner-fab{right:14px !important;bottom:calc(86px + env(safe-area-inset-bottom)) !important;padding:11px !important;border-radius:50% !important;width:48px;height:48px;justify-content:center;}.planner-fab span{display:none !important;}.planner-panel{width:100vw !important;max-width:100vw !important;height:100dvh !important;border-left:0 !important;}
  #vvAuthBox{top:calc(7px + env(safe-area-inset-top)) !important;right:10px !important;max-width:56vw !important;padding:6px 8px !important;font-size:10px !important;box-shadow:none !important;}#vvAuthBox input{font-size:16px !important;width:100% !important;}
  #vvMobileNav{position:fixed;left:0;right:0;bottom:0;z-index:80;height:calc(70px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background:rgba(255,250,246,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -7px 24px rgba(65,46,40,.08);}
  #vvMobileNav button{border:0;background:transparent;color:var(--ink-faint);font:600 10px 'Karla',sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;padding:3px 1px;min-width:0;}#vvMobileNav button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}#vvMobileNav button.active{color:var(--cypress-ink);background:var(--cypress-soft);}
  #vvMobileMore{position:fixed;inset:0;z-index:79;background:rgba(40,30,28,.35);display:none;align-items:flex-end;}#vvMobileMore.open{display:flex;}
  #vvMobileMore .sheet{width:100%;max-height:min(72dvh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:20px 20px 0 0;padding:10px 14px calc(82px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px rgba(30,20,20,.16);}
  #vvMobileMore .handle{position:sticky;top:0;width:38px;height:4px;border-radius:3px;background:var(--line);margin:1px auto 12px;}#vvMobileMore button{width:100%;border:0;border-bottom:1px solid var(--line-soft);background:transparent;padding:15px 8px;text-align:left;font:600 15px 'Karla',sans-serif;color:var(--ink);min-height:50px;}
}
@media (max-width: 430px){.style-grid,.style-visual-grid{grid-template-columns:1fr 1fr !important;}.style-card .style-img{height:135px !important;}.board-columns{column-count:2 !important;}}
