/* Generated by tools/port-ui.py from Ui.html. Do not edit; edit the source and run npm run port:ui. */
  :root{
    --bg:#f5f2ea; --surface:#ffffff; --surface-2:#f4f0e6; --surface-3:#ece6d6;
    --border:#d9d1bb; --border-soft:#e7e1d0;
    --text:#241f18; --text-dim:#6b6252; --text-faint:#9a9082;
    --green:#0e7a44; --green-bright:#128a4d; --green-wash:#0e7a4418;
    --gold:#a9782c; --gold-dim:#8a733a; --gold-wash:#c9a24a26;
    --danger:#c23f34; --danger-wash:#e2685f1a;
    --success:#1f8f57;
    --radius:14px; --radius-sm:9px;
    --font-display:'Fraunces', Georgia, serif;
    --font-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:13.5px;}
  ::selection{background:#ffdf8a;color:#241f18;}
  a{color:var(--gold);}
  .app{display:flex;flex-direction:row;height:100vh;overflow:hidden;}

  .sidebar{flex:none;width:230px;background:var(--surface);border-right:1px solid var(--border-soft);
           padding:22px 16px;display:flex;flex-direction:column;overflow-y:auto;}
  .brand-row{display:flex;flex-direction:column;gap:2px;margin-bottom:20px;}
  .brand-mark{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:25px;color:var(--text);}
  /* The Syncro mark is already a ring with the S inside, so it wears no
     frame of its own, it sits straight on whatever surface holds it. */
  .brand-logo{
    width:56px;height:56px;flex:none;
    background:url("data:image/png;base64,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") center/contain no-repeat;
  }
  .brand-header{display:flex;align-items:center;gap:14px;}

  .brand-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;}
  .brand-hero .brand-logo{width:168px;height:168px;}
  .brand-hero .brand-mark{font-size:36px;}

  /* Compact centered lockup used top-left of the dashboard sidebar and
     on the "Choose a hotel" screen, same motif as the login hero,
     scaled down to fit a narrow column. */
  .brand-sidebar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;}
  .brand-sidebar .brand-logo{width:96px;height:96px;}
  .brand-sidebar .brand-mark{font-size:19px;}

  .app-signature{
    position:fixed;bottom:6px;left:50%;transform:translateX(-50%);
    font-size:10px;color:var(--text-faint);opacity:.5;letter-spacing:.02em;
    pointer-events:none;z-index:5;white-space:nowrap;
  }

  .main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
  .topbar{flex:none;padding:16px 28px 0;}

  .hotel-bar{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px 18px;margin-bottom:14px;}
  .hotel-name{font-family:var(--font-display);font-style:italic;font-size:16px;min-height:20px;}
  .hotel-meta{font-size:11px;color:var(--text-faint);}
  .mode-pill{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:20px;background:var(--gold-wash);color:var(--gold);}

  .tabs{display:flex;flex-direction:column;gap:3px;flex:1;}
  .tab{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;font-weight:600;color:var(--text-dim);cursor:pointer;
       border-radius:9px;user-select:none;}
  .tab:hover{color:var(--text);background:var(--surface-2);}
  .tab.active{color:var(--gold);background:var(--gold-wash);}
  .tab-num{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);font-size:10px;display:flex;align-items:center;justify-content:center;flex:none;color:var(--text-faint);}
  .tab.active .tab-num{border-color:var(--gold);color:var(--gold);}
  .sidebar-foot{font-size:10px;color:var(--text-faint);line-height:1.5;padding-top:14px;margin-top:14px;border-top:1px solid var(--border-soft);}

  .content{flex:1;overflow-y:auto;padding:22px 28px 20px;}
  .panel{max-width:820px;}
  .panel-wide{max-width:1200px;}
  .room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(880px,1fr));gap:16px;align-items:start;}
  .room-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;margin-top:10px;}
  .room-split-col{min-width:0;}
  @media (max-width:1100px){ .room-split{grid-template-columns:1fr;} }
  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:start;}
  .card-grid .card{margin-bottom:0;}
  .room-grid .room-card{margin-bottom:0;}
  .room-grid .fixed-room{margin-bottom:0;}
  .room-grid .season-card{margin-bottom:0;}
  .room-grid .card{margin-bottom:0;}
  .panel-head{margin-bottom:18px;}
  .panel-title{font-family:var(--font-display);font-size:22px;font-weight:600;margin:0 0 4px;}
  .panel-desc{color:var(--text-dim);font-size:12.5px;line-height:1.55;max-width:600px;}

  .card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px;}
  .card-title{font-weight:600;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
  .field{margin-bottom:14px;}
  .field:last-child{margin-bottom:0;}
  .field label{display:block;font-size:11.5px;color:var(--text-dim);margin-bottom:6px;font-weight:500;}
  input[type=text],input[type=number],select{
    width:100%;background:var(--surface-3);border:1px solid var(--border);color:var(--text);
    border-radius:8px;padding:9px 11px;font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .12s;
  }
  input:focus,select:focus{border-color:var(--gold);}
  input::placeholder{color:var(--text-faint);}
  select{cursor:pointer;}

  /* Phase 4: sub-tabs inside one step */
  .sec-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;}
  .sec-tab{appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;
    color:var(--text-dim);font-family:var(--font-body);font-size:12.5px;font-weight:600;
    padding:9px 14px;margin-bottom:-1px;cursor:pointer;border-radius:6px 6px 0 0;
    display:flex;align-items:center;gap:7px;transition:color .12s,border-color .12s,background .12s;}
  .sec-tab:hover{color:var(--text);background:var(--surface-3);}
  .sec-tab.on{color:var(--gold);border-bottom-color:var(--gold);background:var(--gold-wash);}
  .sec-badge{font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:10px;
    background:var(--surface-3);border:1px solid var(--border);color:var(--text-dim);}
  .sec-tab.on .sec-badge{background:var(--gold);border-color:var(--gold);color:#20180a;}
  .fld-note{font-size:10.5px;line-height:1.45;color:var(--text-faint);margin-top:5px;}

  /* Phase 5: multi-tick pick lists (Discounts step) */
  .pick-list{max-height:190px;overflow:auto;border:1px solid var(--border);border-radius:8px;
    background:var(--surface-3);padding:4px;}
  .pick-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;
    font-size:12.5px;color:var(--text-dim);cursor:pointer;}
  .pick-row:hover{background:var(--surface-2);color:var(--text);}
  .pick-row.on{color:var(--gold);font-weight:600;}
  .pick-row.off{opacity:.45;cursor:not-allowed;}
  .pick-row input[type=checkbox]{width:auto;margin:0;flex:none;cursor:pointer;}
  .pick-note{margin-left:auto;font-size:10px;color:var(--text-faint);font-weight:400;flex:none;}
  .pick-tools{display:flex;gap:12px;margin-top:6px;}
  .pick-tools span{font-size:10.5px;color:var(--gold);cursor:pointer;}
  .pick-tools span:hover{text-decoration:underline;}

  /* Phase 6: market-rate grid, market chips, combinations dropdown */
  .mg-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius);}
  table.mg{border-collapse:collapse;width:100%;font-size:12px;}
  table.mg th{text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.04em;
    color:var(--text-faint);padding:8px 10px;background:var(--surface-2);
    border-bottom:1px solid var(--border);white-space:nowrap;}
  table.mg td{padding:6px 8px;border-bottom:1px solid var(--border-soft);vertical-align:middle;}
  table.mg tr:last-child td{border-bottom:none;}
  table.mg td input{min-width:76px;}
  .mg-room{font-weight:600;white-space:nowrap;}
  .mg-sub{font-weight:400;font-size:10.5px;color:var(--text-faint);margin-top:2px;}
  .mg-def{color:var(--text-dim);text-align:right;white-space:nowrap;}
  .mkt-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-3);
    border:1px solid var(--border);border-radius:6px;padding:4px 8px;margin:0 6px 6px 0;font-size:12px;}

  .combo-drop > summary{cursor:pointer;list-style:none;font-size:12px;color:var(--text-dim);
    background:var(--surface-3);border:1px solid var(--border);border-radius:8px;padding:9px 12px;
    display:flex;align-items:center;gap:6px;}
  .combo-drop > summary::-webkit-details-marker{display:none;}
  .combo-drop > summary::after{content:'\25BE';margin-left:auto;font-size:11px;}
  .combo-drop[open] > summary::after{content:'\25B4';}
  .combo-drop > summary:hover{border-color:var(--gold);color:var(--text);}
  .pick-row.combo-off{opacity:.5;text-decoration:line-through;}
  .add-link.off{opacity:.4;cursor:not-allowed;pointer-events:none;}

  /* Phase 7: Child ages: shared list as a side panel */
  .ages-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
  .side-card{background:var(--surface);border:1px solid var(--border-soft);
    border-radius:var(--radius);padding:14px 16px;}
  .side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
  .side-title{font-weight:600;font-size:12.5px;}
  .side-list{max-height:320px;overflow:auto;border:1px solid var(--border);
    border-radius:8px;background:var(--surface-3);padding:4px;}
  .side-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;
    font-size:12.5px;color:var(--text-dim);cursor:pointer;}
  .side-row:hover{background:var(--surface-2);color:var(--text);}
  .side-row.used{color:var(--gold);font-weight:600;cursor:default;}
  .side-mark{margin-left:auto;font-size:13px;opacity:.7;flex:none;}
  @media (max-width:900px){ .ages-layout{grid-template-columns:1fr;} }
  .btn:disabled{opacity:.45;cursor:not-allowed;}

  /* Phase 3: inline validation */
  input.v-bad,select.v-bad{border-color:#c23f34;background:#c23f3418;}
  input.v-warn,select.v-warn{border-color:#c9a24a;background:#c9a24a14;}
  .v-hint{font-size:10.5px;line-height:1.4;margin-top:4px;color:#c23f34;}
  .v-hint.warn{color:#c9a24a;}
  .step-check{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
    padding:12px 16px;margin-bottom:14px;font-size:11.5px;}
  .step-check .sc-title{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;
    color:var(--text-faint);margin-bottom:8px;}
  .step-check ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;}
  .step-check li{display:flex;align-items:flex-start;gap:7px;color:var(--text-dim);}
  .step-check li .sc-mark{flex:none;width:14px;text-align:center;font-weight:700;}
  .step-check li.ok .sc-mark{color:var(--green);}
  .step-check li.bad .sc-mark{color:#c23f34;}
  .step-check li.warn .sc-mark{color:#c9a24a;}

  .toggle-row{display:flex;background:var(--surface-3);border:1px solid var(--border);border-radius:8px;padding:3px;gap:3px;}
  .toggle-opt{flex:1;text-align:center;padding:7px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-dim);}
  .toggle-opt.on{background:var(--green);color:#fff;}

  .btn{border:none;border-radius:9px;padding:9px 16px;font-family:var(--font-body);font-weight:600;font-size:12.5px;cursor:pointer;
       display:inline-flex;align-items:center;gap:7px;transition:filter .12s, transform .08s;}
  .btn:active{transform:scale(.98);}
  .btn-primary{background:var(--gold);color:#20180a;}
  .btn-primary:hover{filter:brightness(1.08);}
  .btn-green{background:var(--green);color:#fff;}
  .btn-green:hover{filter:brightness(1.12);}
  .btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);}
  .btn-ghost:hover{color:var(--text);border-color:var(--text-faint);}
  .btn-danger-ghost{background:transparent;color:var(--danger);border:1px solid var(--danger-wash);}
  .btn-danger-ghost:hover{background:var(--danger-wash);}
  .btn-sm{padding:6px 11px;font-size:11.5px;border-radius:7px;}
  .btn[disabled]{opacity:.45;cursor:not-allowed;}

  .icon-btn{background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:15px;padding:4px 7px;border-radius:6px;}
  .icon-btn:hover{color:var(--danger);background:var(--danger-wash);}

  .room-card{border:1px solid var(--border-soft);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;background:var(--surface);}
  .room-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--surface-2);}
  .room-dot{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 3px rgba(0,0,0,.08);}
  .room-head input{flex:none;}
  .room-head .rn{flex:1;font-family:var(--font-display);font-style:italic;}
  .room-head .occ{width:110px;}
  .room-body{padding:6px 18px 16px;}
  .room-card.collapsed .room-head,.fixed-room.collapsed .room-head{background:var(--surface);}
  .room-card.collapsed:hover .room-head,.fixed-room.collapsed:hover .room-head{background:var(--surface-2);}
  .room-collapsed-name{flex:1 1 auto;font-family:var(--font-display);font-style:italic;font-size:14px;padding:6px 4px;}
  .room-collapsed-sub{font-size:11px;color:var(--text-faint);white-space:nowrap;}
  .room-attention{font-size:11px;font-weight:600;color:var(--gold);white-space:nowrap;}
  .bd-act{padding:0 10px 0 0;font-size:10.5px;white-space:nowrap;}
  .og-list{border:1px solid var(--border-soft);border-radius:8px;padding:4px 10px;background:var(--surface-3);}
  .og-room{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--border-soft);}
  .og-room:first-child{border-top:none;}
  .og-room-name{font-weight:600;font-size:12.5px;min-width:130px;flex:none;}
  .og-periods{display:flex;flex-wrap:wrap;gap:5px;flex:1;}
  .og-chip{font-size:10.5px;background:var(--surface-2);border:1px solid var(--border);
    border-radius:5px;padding:2px 7px;color:var(--text-dim);white-space:nowrap;}
  .og-scope{font-size:12px;font-weight:600;padding:6px 0;}
  .period-row{display:grid;grid-template-columns:1fr 1fr 1fr 84px 1fr 1fr auto;gap:8px;align-items:end;padding:12px 0;border-top:1px solid var(--border-soft);}
  .period-row:first-child{border-top:none;}
  .markup-mode-row{display:flex;align-items:center;gap:10px;padding:10px 0 4px;}
  .mini-label{font-size:10px;color:var(--text-faint);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em;}
  .offer-box{grid-column:1 / -1;background:var(--surface-3);border:1px dashed var(--border);border-radius:9px;padding:10px 12px;margin-top:2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .offer-type{display:flex;gap:6px;}
  .offer-pill{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);color:var(--text-dim);}
  .offer-pill.on{background:var(--gold-wash);border-color:var(--gold);color:var(--gold);}
  .offer-val{display:flex;align-items:center;gap:6px;}
  .offer-val input{width:90px;}
  .offer-mode{display:inline-flex;width:fit-content;border:1px solid var(--border);border-radius:7px;overflow:hidden;}
  .offer-mode span{padding:6px 9px;font-size:12px;cursor:pointer;color:var(--text-dim);}
  .offer-mode span.on{background:var(--green);color:#fff;}

  .fixed-room{border:1px solid var(--border-soft);border-radius:var(--radius);margin-bottom:14px;background:var(--surface);overflow:hidden;}
  .fixed-board{margin:0 18px 14px;border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;}
  .fixed-board-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);}
  .rate-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px;}
  .rate-grid .field{margin-bottom:0;}
  .rate-grid input{padding:7px 6px;text-align:center;font-size:12px;}

  .add-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:12.5px;font-weight:600;cursor:pointer;padding:8px 4px;}
  .add-link:hover{text-decoration:underline;}

  .empty-hint{color:var(--text-faint);font-size:12.5px;padding:22px 4px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius);}

  .footer{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-top:1px solid var(--border-soft);background:var(--surface);}
  .footer-left,.footer-right{display:flex;gap:10px;align-items:center;}
  .save-note{font-size:11px;color:var(--text-faint);}

  /* ---- guided-steps shell (Phase 1) ---- */
  .tab.done .tab-num{border-color:var(--green);color:#fff;background:var(--green);}
  .tab.warn .tab-num{border-color:var(--gold);color:var(--gold);}
  .tab-txt{line-height:1.25;}
  .tools-head{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:700;margin:16px 0 6px 4px;}
  .tool-link{display:flex;align-items:center;gap:9px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer;border-radius:9px;user-select:none;}
  .tool-link:hover{color:var(--text);background:var(--surface-2);}
  .tool-link.active{color:var(--gold);background:var(--gold-wash);}

  .step-bar{flex:none;padding:0 28px 12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .step-eyebrow{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:700;}
  .step-progress{display:flex;gap:4px;flex:none;}
  .step-dot{width:22px;height:4px;border-radius:2px;background:var(--border);}
  .step-dot.done{background:var(--green);}
  .step-dot.cur{background:var(--gold);}
  .ctx-strip{margin-left:auto;font-size:11px;color:var(--text-faint);display:flex;gap:14px;flex-wrap:wrap;}
  .ctx-strip b{color:var(--text-dim);font-weight:600;}

  .btn-next{background:var(--green);color:#fff;}
  .btn-next:hover{filter:brightness(1.1);}
  [hidden]{display:none!important;}

  .msg-box{border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;font-size:12.5px;line-height:1.7;}
  .msg-error{background:var(--danger-wash);border:1px solid #c23f3455;color:#8a2a22;}
  .msg-warn{background:var(--gold-wash);border:1px solid #a9782c55;color:#6b4e1a;}
  .msg-ok{background:#0e7a4415;border:1px solid #0e7a4450;color:#0e5c33;}
  .msg-box b{display:block;margin-bottom:6px;font-size:13px;}
  .msg-list{margin:0;padding-left:18px;}
  .msg-list li{margin-bottom:3px;}
  .success-links a{display:inline-block;margin-top:10px;margin-right:10px;}
  @keyframes spin{to{transform:rotate(360deg);}}

  /* ---- Working overlay ----
     Raised by setBusy for the length of a server call. The mark's own
     ring turns while the S inside stays upright, which is why the logo
     is carried as two layers here instead of the single flat image the
     brand lockups use. It also swallows clicks, so nothing gets sent
     twice while a save or a build is still running. */
  .busy-veil{
    position:fixed;top:0;left:0;right:0;bottom:0;z-index:300;display:none;
    align-items:center;justify-content:center;cursor:progress;
    background:rgba(245,242,234,.74);
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  }
  .busy-veil.on{display:flex;animation:veilIn .18s ease-out;}
  @keyframes veilIn{from{opacity:0;}to{opacity:1;}}
  .busy-mark{position:relative;width:132px;height:132px;animation:busyBreathe 2.4s ease-in-out infinite;}
  .busy-mark span{position:absolute;top:0;left:0;right:0;bottom:0;background-position:center;background-size:contain;background-repeat:no-repeat;}
  .busy-ring{animation:spin 1.15s linear infinite;background-image:url("data:image/png;base64,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");}
  .busy-s{background-image:url("data:image/png;base64,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");}
  @keyframes busyBreathe{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}

  /* System control, one line per switchable feature, with a step's own
     sections indented underneath it. */
  .ctl-block{border-top:1px solid var(--border-soft);}
  .ctl-block:first-child{border-top:none;}
  .ctl-row{display:flex;align-items:center;gap:10px;padding:9px 4px;cursor:pointer;font-size:12.5px;font-weight:600;}
  .ctl-row.locked{cursor:default;color:var(--text-dim);}
  .ctl-row.sub{font-weight:500;font-size:12px;color:var(--text-dim);padding-left:24px;}
  .ctl-row input{margin:0;flex:none;}
  .ctl-row span{flex:1;}
  .ctl-always{flex:none !important;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700;}
  .ctl-subs{border-left:2px solid var(--border-soft);margin:0 0 8px 12px;}
  .ctl-subs.off{opacity:.38;}

  /* Toast notifications. Replaces native alert() everywhere, same
     visual language as the msg-box success/error boxes already used
     in Review & Run, so feedback looks consistent across the whole app. */
  .toast-stack{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:200;
    display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
  .toast{pointer-events:auto;min-width:280px;max-width:460px;padding:12px 16px;border-radius:10px;
    font-size:12.5px;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,.4);
    animation:toastIn .18s ease-out;display:flex;align-items:flex-start;gap:10px;}
  @keyframes toastIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
  .toast-icon{flex:none;font-size:15px;line-height:1.3;}
  .toast-msg{flex:1;white-space:pre-line;}
  .toast-close{flex:none;cursor:pointer;opacity:.6;font-size:13px;background:none;border:none;color:inherit;padding:0;}
  .toast-close:hover{opacity:1;}
  .toast.t-error{background:#241414;border:1px solid #e2685f55;color:#ffd9d5;}
  .toast.t-ok{background:#122019;border:1px solid #5fd9a055;color:#c8f7e2;}
  .toast.t-warn{background:#241d10;border:1px solid #c9a24a55;color:#ffe9bc;}

  .badge-base{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;background:var(--gold-wash);color:var(--gold);padding:2px 7px;border-radius:20px;font-weight:700;margin-left:8px;}
  .summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
  .summary-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px 18px;}
  .summary-num{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--gold);}
  .summary-label{font-size:11px;color:var(--text-dim);margin-top:2px;}

  .season-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px;}
  .season-swatch{width:14px;height:14px;border-radius:4px;flex:none;}
  .season-card .field{margin-bottom:0;flex:1;}
  .season-card .field.small{flex:0 0 130px;}
  .swatch-picker{display:flex;gap:6px;}
  .swatch-opt{width:20px;height:20px;border-radius:5px;cursor:pointer;border:2px solid transparent;}
  .swatch-opt.on{border-color:var(--text);}

  /* ---------- hotel picker (Phase 3) ---------- */
  .picker-screen{height:100vh;overflow-y:auto;padding:40px 32px;}
  .picker-wrap{max-width:640px;margin:0 auto;}
  .picker-title{font-family:var(--font-display);font-size:26px;font-weight:600;margin-bottom:6px;}
  .picker-desc{color:var(--text-dim);font-size:12.5px;margin-bottom:22px;}
  .new-hotel-row{display:flex;gap:10px;margin-bottom:22px;}
  .new-hotel-row input{flex:1;}
  .hotel-list-card{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 18px;margin-bottom:10px;}
  .hotel-list-name{font-family:var(--font-display);font-style:italic;font-size:15px;}
  .hotel-list-meta{font-size:11px;color:var(--text-faint);margin-top:2px;}
  .hotel-list-actions{display:flex;gap:8px;align-items:center;}
