:root{--app-orange:#e97817;--app-orange-dark:#c95f0d;--app-ink:#142131;--app-muted:#66727e;--app-line:#e3e8ec;--app-soft:#f5f7f9;--app-blue:#0d65c7;--app-green:#138a56}
.pwa-v2-page{min-height:100vh;background:#f5f7f9;color:var(--app-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.pwa-v2-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:34px 0 110px}.pwa-v2-hero{position:relative;overflow:hidden;border-radius:24px;padding:34px;background:linear-gradient(135deg,#0a315d,#0b68c8 58%,#29a3e3);color:#fff;box-shadow:0 18px 55px rgba(5,54,108,.2)}
.pwa-v2-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;background:rgba(255,255,255,.1)}.pwa-v2-hero>*{position:relative;z-index:1}.pwa-v2-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:850;opacity:.86}.pwa-v2-hero h1{font-size:clamp(32px,6vw,56px);line-height:1;margin:8px 0 12px;letter-spacing:-.04em}.pwa-v2-hero p{max-width:700px;font-size:16px;line-height:1.6;margin:0;color:rgba(255,255,255,.9)}
.pwa-v2-status{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.pwa-v2-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.11);font-size:12px;font-weight:750}.pwa-v2-dot{width:8px;height:8px;border-radius:50%;background:#7cffb1}
.pwa-v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.pwa-v2-card{border:1px solid var(--app-line);border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(20,33,49,.06);padding:20px}.pwa-v2-card-wide{grid-column:span 2}.pwa-v2-card h2{font-size:19px;margin:0 0 7px}.pwa-v2-card p{font-size:13px;line-height:1.55;color:var(--app-muted);margin:0 0 14px}.pwa-v2-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff5eb;font-size:23px;margin-bottom:14px}
.pwa-v2-actions{display:flex;gap:9px;flex-wrap:wrap}.pwa-v2-btn{min-height:42px;border:0;border-radius:11px;padding:10px 14px;background:var(--app-orange);color:#fff;font:800 13px/1 inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.pwa-v2-btn:hover{background:var(--app-orange-dark)}.pwa-v2-btn.secondary{background:#edf2f6;color:#263542}.pwa-v2-btn.danger{background:#fff0ee;color:#a73326}.pwa-v2-btn.blue{background:var(--app-blue)}
.pwa-v2-list{display:grid;gap:9px;margin-top:12px}.pwa-v2-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--app-line);border-radius:12px;padding:11px 12px;background:#fff}.pwa-v2-item-main{min-width:0}.pwa-v2-item b,.pwa-v2-item small{display:block}.pwa-v2-item b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-v2-item small{font-size:11px;color:var(--app-muted);margin-top:3px}.pwa-v2-item-actions{display:flex;gap:6px;flex:none}.pwa-v2-mini{border:0;border-radius:8px;background:#eef2f5;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.pwa-v2-mini.remove{background:#fff0ee;color:#a73326}
.pwa-v2-form{display:grid;grid-template-columns:1.2fr .8fr auto;gap:8px}.pwa-v2-input,.pwa-v2-select,.pwa-v2-textarea{width:100%;border:1px solid #d8e0e6;border-radius:11px;background:#fff;color:#202c37;padding:11px 12px;font:inherit;outline:none}.pwa-v2-input:focus,.pwa-v2-select:focus,.pwa-v2-textarea:focus{border-color:#e97817;box-shadow:0 0 0 3px rgba(233,120,23,.12)}.pwa-v2-textarea{min-height:88px;resize:vertical}.pwa-v2-empty{padding:17px;border:1px dashed #cbd4da;border-radius:12px;color:var(--app-muted);font-size:13px;text-align:center;background:#fafbfc}
.pwa-v2-emergency{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pwa-v2-emergency a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;text-decoration:none;border:1px solid var(--app-line);color:var(--app-ink);background:#fff}.pwa-v2-emergency b{font-size:13px}.pwa-v2-emergency span{font-weight:900;color:var(--app-blue)}.pwa-v2-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fff8e8;color:#6d5300;font-size:12px;line-height:1.45}
.pwa-v2-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:13000;opacity:0;pointer-events:none;background:#17212b;color:#fff;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:750;transition:.2s}.pwa-v2-toast.show{opacity:1;transform:translate(-50%,0)}
.pwa-save-page{position:fixed;right:14px;bottom:86px;z-index:9850;border:0;border-radius:999px;background:#fff;color:#24313c;box-shadow:0 10px 30px rgba(17,31,44,.2);padding:11px 14px;font:800 12px/1 Inter,sans-serif;cursor:pointer;border:1px solid #e2e7eb}.pwa-save-page.is-saved{background:#fff5eb;color:#c95f0d;border-color:#f3c99f}
@media(max-width:850px){.pwa-v2-grid{grid-template-columns:1fr 1fr}.pwa-v2-card-wide{grid-column:span 2}}
@media(max-width:620px){.pwa-v2-shell{width:min(100% - 20px,1120px);padding-top:16px}.pwa-v2-hero{padding:25px 20px;border-radius:19px}.pwa-v2-grid{grid-template-columns:1fr}.pwa-v2-card-wide{grid-column:span 1}.pwa-v2-form{grid-template-columns:1fr}.pwa-v2-emergency{grid-template-columns:1fr}.pwa-save-page{bottom:82px;right:10px}}

/* V2.0.10: iPhone My Trip width and margin correction */
.pwa-v2-page,
.pwa-v2-page *,
.pwa-v2-page *::before,
.pwa-v2-page *::after{box-sizing:border-box}
.pwa-v2-page{width:100%;max-width:100%;overflow-x:hidden}
.pwa-v2-shell,.pwa-v2-grid,.pwa-v2-card,.pwa-v2-form,.pwa-v2-actions,.pwa-v2-list,.pwa-v2-item,.pwa-v2-item-main{min-width:0;max-width:100%}
.pwa-v2-card p,.pwa-v2-note,.pwa-v2-item b,.pwa-v2-item small{overflow-wrap:anywhere;word-break:normal}
.pwa-v2-input,.pwa-v2-select,.pwa-v2-textarea,.pwa-v2-btn{max-width:100%}
@media(max-width:620px){
  .pwa-v2-shell{width:100%;max-width:100%;padding:14px 12px calc(112px + env(safe-area-inset-bottom));margin:0}
  .pwa-v2-hero{width:100%;padding:23px 17px;border-radius:17px}
  .pwa-v2-hero h1{font-size:34px;line-height:1.05}
  .pwa-v2-grid{width:100%;gap:12px;margin-top:12px}
  .pwa-v2-card{width:100%;padding:17px;border-radius:16px;overflow:hidden}
  .pwa-v2-form{width:100%;gap:9px}
  .pwa-v2-input,.pwa-v2-select,.pwa-v2-textarea,.pwa-v2-form .pwa-v2-btn{width:100%;min-width:0}
  .pwa-v2-actions{width:100%;align-items:stretch}
  .pwa-v2-actions .pwa-v2-btn{flex:1 1 100%;width:100%}
  .pwa-v2-item{align-items:flex-start;flex-wrap:wrap}
  .pwa-v2-item-main{flex:1 1 180px;width:auto}
  .pwa-v2-item-actions{margin-left:auto}
  .pwa-v2-emergency a{min-width:0}
}
