:root{--primary:#1f6f78;--primary-dark:#164f56;--ink:#14232b;--muted:#6f7f87;--bg:#f4f7f8;--panel:#fff;--line:#dfe7ea;--soft:#eef6f7;--danger:#b94343;--shadow:0 10px 30px rgba(21,51,61,.07);font-family:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#142d34;color:#dbe8ea;padding:24px 16px;overflow-y:auto}.brand-block{display:flex;gap:12px;align-items:center;padding:4px 8px 24px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:16px}.brand-mark,.preview-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#54b7b6,#1f6f78);display:grid;place-items:center;color:white;font-weight:800}.brand-name{font-weight:800;font-size:14px;color:white}.brand-tagline{font-size:10px;color:#91adb2;margin-top:4px}.nav{display:flex;flex-direction:column;gap:4px}.nav-group-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6d9399;padding:18px 10px 6px}.nav-item{border:0;background:transparent;color:#b9d0d4;padding:10px 11px;border-radius:9px;text-align:left;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:10px}.nav-item:hover,.nav-item.active{background:#1f474f;color:#fff}.main{min-width:0;padding:0 28px 40px}.topbar{height:92px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px}.eyebrow,.panel small{font-size:10px;letter-spacing:.14em;color:#83939a;font-weight:800}.topbar h1{margin:4px 0 0;font-size:27px}.top-actions{display:flex;gap:10px;align-items:center}.status-pill{padding:8px 12px;border-radius:30px;background:#e8f7f1;color:#2d755a;font-size:12px;font-weight:700}.page{display:none}.page.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric-card{padding:20px}.metric-card span{font-size:12px;color:var(--muted);font-weight:700}.metric-card strong{display:block;font-size:26px;margin:8px 0 3px}.metric-card small{color:#95a1a6}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:18px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head h3,.section-title h3{margin:4px 0 0;font-size:18px}.panel-head p,.section-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.standalone{margin-bottom:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#819198;background:#f6f9fa;text-align:left}th,td{padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{font-size:12px}.money{font-weight:800}.muted{color:var(--muted)}.badge{display:inline-flex;padding:4px 8px;border-radius:20px;background:var(--soft);color:var(--primary-dark);font-weight:700;font-size:11px}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.quote-main{min-width:0}.sticky-panel{position:sticky;top:16px}.form-panel{padding:22px}.section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.section-title>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--primary);font-weight:900;font-size:11px}.form-grid{display:grid;gap:12px}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-grid.cols-4{grid-template-columns:repeat(4,1fr)}label{display:flex;flex-direction:column;gap:6px;color:#52646c;font-size:11px;font-weight:750}input,select,textarea{width:100%;border:1px solid #d4e0e3;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#64aaa9;box-shadow:0 0 0 3px rgba(31,111,120,.08)}textarea{resize:vertical}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.small-btn,.icon-btn{border:0;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer;font:inherit}.primary-btn{background:var(--primary);color:#fff}.secondary-btn{background:#eaf3f4;color:var(--primary-dark)}.ghost-btn{background:#fff;color:#50646c;border:1px solid var(--line)}.danger-btn{background:#fff0f0;color:var(--danger);border:1px solid #f0cfcf}.small-btn{padding:6px 9px;background:#eef5f6;color:var(--primary);font-size:11px}.icon-btn{font-size:22px;background:transparent;padding:3px}.wide{width:100%}.inline-actions{display:flex;gap:8px;align-items:center}.inline-actions select{max-width:390px}.read-card{border:1px dashed #cbdadd;border-radius:10px;padding:10px;background:#f9fbfb}.read-card span{font-size:10px;color:#83949a;display:block}.read-card strong{font-size:12px}.itinerary-preview{margin-top:14px}.empty-state{padding:22px;border:1px dashed #cbdadd;border-radius:12px;color:#7c8d94;background:#fafcfc}.big-empty{padding:50px;text-align:center}.itin-day{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;background:white}.itin-day h4{margin:0 0 8px}.meal-grid{display:grid;gap:10px}.meal-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;align-items:center}.day-chip{font-weight:900;color:var(--primary)}.passenger-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.mini-group{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-group strong{grid-column:span 2;font-size:11px}.subpanel-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px}.subpanel-head h4{margin:0}.attraction-row{display:grid;grid-template-columns:1fr 100px 100px 40px;gap:8px;margin-bottom:8px}.quote-summary>h3{margin:4px 0 18px}.summary-number{padding:13px 0;border-bottom:1px solid var(--line)}.summary-number span{font-size:11px;color:var(--muted)}.summary-number strong{display:block;font-size:21px;margin-top:4px}.summary-number small{color:#89979d}.summary-number.highlight{background:#f0f8f8;border-radius:12px;padding:14px;margin-top:10px;border-bottom:0}.summary-number.highlight strong{color:var(--primary-dark);font-size:25px}.breakdown-preview{max-height:230px;overflow:auto;margin:12px 0}.breakdown-line{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px dotted var(--line);font-size:11px}.stack-actions{display:grid;gap:8px}.output-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.output-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.output-card pre{white-space:pre-wrap;background:#f6f9fa;padding:14px;border-radius:10px;font:12px/1.6 ui-monospace,monospace}.tabbar{display:flex;gap:8px;margin-bottom:16px}.tab{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 13px;cursor:pointer;font-weight:800;color:#6a7d84}.tab.active{background:#173c44;color:#fff;border-color:#173c44}.package-tab{display:none}.package-tab.active{display:block}.master-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.master-nav-panel{height:max-content}.master-cat-btn{width:100%;padding:10px;border:0;background:transparent;text-align:left;border-radius:9px;cursor:pointer;font-weight:750;color:#607279}.master-cat-btn.active{background:var(--soft);color:var(--primary-dark)}.itinerary-layout{grid-template-columns:.75fr 1.25fr}.template-card{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:9px;cursor:pointer}.template-card:hover{border-color:#87b7bc}.template-card strong{display:block}.template-card small{display:block;margin-top:5px}.sortable-day,.sortable-item{border:1px solid var(--line);background:white;border-radius:11px;padding:12px;margin-bottom:8px}.sortable-day{cursor:grab}.day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drag-handle{color:#9bacb1;font-size:16px}.triple-lists{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px}.sortable-item{display:grid;grid-template-columns:20px 1fr 28px;align-items:center;gap:7px;padding:7px}.sortable-item input{padding:7px}.kanban{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-col{background:#edf2f3;border-radius:14px;padding:11px;min-height:520px}.kanban-col h4{margin:4px 3px 11px;font-size:12px}.client-card{background:white;border:1px solid var(--line);border-radius:11px;padding:11px;margin-bottom:8px;box-shadow:0 4px 16px rgba(26,56,66,.05);cursor:grab}.client-card strong{display:block}.client-card small{display:block;margin-top:5px}.master-layout .panel{margin-bottom:0}.legend{display:grid;gap:5px;margin-top:9px}.legend-row{display:flex;justify-content:space-between;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.brand-preview,.login-preview{display:grid;place-items:center;text-align:center;min-height:360px}.brand-preview .preview-logo,.login-card .preview-logo{width:60px;height:60px;border-radius:16px;margin:auto}.preview-strip{height:12px;border-radius:20px;background:var(--primary);width:65%;margin-top:20px}.login-card{width:min(360px,90%);border:1px solid var(--line);border-radius:18px;background:#fff;padding:28px;box-shadow:var(--shadow);display:grid;gap:12px}.modal{border:0;border-radius:16px;box-shadow:0 25px 80px rgba(9,26,33,.25);width:min(680px,92vw);padding:0}.modal::backdrop{background:rgba(14,34,41,.55)}.modal form{padding:20px}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between}.modal-head{margin-bottom:18px}.modal-head h3{margin:3px 0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toast{position:fixed;right:24px;bottom:24px;background:#173c44;color:white;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}canvas{width:100%;display:block}.dashboard-lower .panel{min-height:315px}@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.quote-layout{grid-template-columns:1fr}.sticky-panel{position:static}.passenger-grid{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:repeat(6,230px)}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.main{padding:0 14px 30px}.grid-2,.grid-3,.output-panels,.master-layout,.itinerary-layout{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr 1fr}.triple-lists{grid-template-columns:1fr}.topbar{height:auto;padding:18px 0;gap:12px;align-items:flex-start}.top-actions{flex-direction:column;align-items:flex-end}}@media(max-width:560px){.metric-grid,.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.passenger-grid{grid-template-columns:1fr}.mini-group{grid-template-columns:1fr}.mini-group strong{grid-column:auto}.meal-row{grid-template-columns:1fr}.attraction-row{grid-template-columns:1fr 1fr}.attraction-row select{grid-column:span 2}.top-actions{display:none}}

/* ============================================================
   DATABASE ITINERARY — visual layout matched to user reference
   ============================================================ */
.itinerary-screen{--it-accent:#b8742b;--it-accent-dark:#9e5f1f;--it-accent-soft:#fbf1e3;--it-navy:#293247;--it-copy:#747b8d;--it-border:#e4ddd4;--it-field:#fbfaf7;--it-surface:#fff;--it-canvas:#f7f5f1;color:var(--it-navy);padding:4px 0 12px}
.itinerary-screen .itinerary-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.itinerary-screen .itinerary-main-column{display:grid;gap:18px;min-width:0}
.itinerary-screen .itinerary-card,.itinerary-screen .itinerary-control-card,.itinerary-screen .itinerary-saved-card{background:var(--it-surface);border:1px solid var(--it-border);border-radius:21px;box-shadow:0 8px 24px rgba(53,43,31,.075)}
.itinerary-screen .itinerary-card{padding:25px 26px 26px}
.itinerary-screen .itinerary-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e8e3dc;padding-bottom:18px;margin-bottom:20px}
.itinerary-screen .itinerary-section-title{display:flex;align-items:center;gap:12px;min-width:0}
.itinerary-screen .itinerary-step{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f3f6fc;color:#6079ad;font-size:12px;font-weight:900;flex:0 0 auto}
.itinerary-screen .itinerary-section-title h3{margin:0;font-size:15px;letter-spacing:.01em;color:#1f293d}
.itinerary-screen .itinerary-section-head p{margin:0;font-size:11px;color:#979ba7;white-space:nowrap}
.itinerary-screen .itinerary-identity-grid{display:grid;grid-template-columns:1.3fr 1.3fr .65fr .88fr;gap:15px;align-items:end}
.itinerary-screen label{gap:8px;color:#667083;font-size:10px;font-weight:850;letter-spacing:.025em}
.itinerary-screen input,.itinerary-screen select,.itinerary-screen textarea{border:1px solid #ddd7ce;border-radius:13px;background:var(--it-field);color:#4d5058;padding:12px 14px;min-height:45px;box-shadow:none;font-size:12px;font-weight:600}
.itinerary-screen input::placeholder,.itinerary-screen textarea::placeholder{color:#777b83;opacity:.9}
.itinerary-screen input:focus,.itinerary-screen select:focus,.itinerary-screen textarea:focus{border-color:#c88641;box-shadow:0 0 0 3px rgba(184,116,43,.08);background:#fff}
.itinerary-screen textarea{line-height:1.55;resize:vertical}

.itinerary-screen .itinerary-control-card{position:sticky;top:16px;padding:26px 24px 23px}
.itinerary-screen .itinerary-control-card>small,.itinerary-screen .itinerary-saved-head small{display:block;color:var(--it-accent);font-size:10px;font-weight:900;letter-spacing:.1em;margin-bottom:9px}
.itinerary-screen .itinerary-control-card h3{font-size:22px;line-height:1.15;margin:0 0 11px;color:#727888}
.itinerary-screen .itinerary-control-card>p{font-size:13px;line-height:1.65;margin:0 0 18px;color:#818797}
.itinerary-screen .it-control-btn{display:block;width:100%;min-height:43px;margin:0 0 11px;border-radius:11px;border:1px solid transparent;font-size:11px;font-weight:850;cursor:pointer;background:#fff;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.itinerary-screen .it-control-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(51,42,30,.08)}
.itinerary-screen .it-control-primary{background:var(--it-accent);color:#fff;border-color:var(--it-accent)}
.itinerary-screen .it-control-primary:hover{background:var(--it-accent-dark)}
.itinerary-screen .it-control-outline{background:#fff;color:#ad671f;border-color:#d98b3e}
.itinerary-screen .itinerary-control-note{background:var(--it-accent-soft);color:#bd6f24;border-radius:12px;padding:13px 14px;margin:1px 0 15px;font-size:11px;line-height:1.5}
.itinerary-screen .itinerary-control-note strong{font-weight:900}
.itinerary-screen .it-control-neutral{color:#6f7584;border-color:#dcd6cf;background:#fff}
.itinerary-screen .it-control-danger{color:#bd4a46;border-color:#efc8c4;background:#fff8f7}
.itinerary-screen .it-control-dark{color:#fff;background:#283248;border-color:#283248;margin-bottom:0}

.itinerary-screen .itinerary-days-editor{display:grid;gap:14px}
.itinerary-screen .sortable-day{cursor:default;margin:0;padding:0;border:0;background:transparent;border-radius:0}
.itinerary-screen .itinerary-day-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;border:1px solid #e5ddd3!important;border-radius:17px!important;background:#fff!important;padding:15px!important;transition:opacity .15s ease,box-shadow .15s ease}
.itinerary-screen .itinerary-day-card.is-dragging{opacity:.48;box-shadow:0 10px 26px rgba(54,43,31,.12)}
.itinerary-screen .itinerary-day-badge{height:64px;border-radius:14px;background:#f5ede2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b26d25}
.itinerary-screen .itinerary-day-badge span{font-size:9px;font-weight:900;letter-spacing:.12em;line-height:1}
.itinerary-screen .itinerary-day-badge strong{font-size:22px;line-height:1.05;margin-top:4px}
.itinerary-screen .itinerary-day-content{min-width:0}
.itinerary-screen .itinerary-day-top-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:11px}
.itinerary-screen .itinerary-day-content textarea{min-height:132px}
.itinerary-screen .itinerary-day-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:9px}
.itinerary-screen .it-day-delete,.itinerary-screen .it-day-drag{height:34px;border-radius:10px;border:1px solid #e1dad1;background:#fff;font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.itinerary-screen .it-day-delete{width:36px;border-color:#f2dfd9;color:#bd553d;background:#fff6f2;font-size:19px;font-weight:500}
.itinerary-screen .it-day-drag{padding:0 13px;color:#766f67;background:#fff}
.itinerary-screen .it-day-drag .drag-handle{font-size:13px;color:#9f8f7c;margin-right:5px}

.itinerary-screen .itinerary-two-lists{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:17px}
.itinerary-screen .itinerary-list-box{border:1px solid #e6ded4;border-radius:16px;padding:16px 14px 14px;background:#fff}
.itinerary-screen .itinerary-list-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee8e2;padding:0 2px 13px;margin-bottom:11px}
.itinerary-screen .itinerary-list-head h4{margin:0;font-size:12px;color:#2a3347}
.itinerary-screen .itinerary-add-link{border:0;background:transparent;color:#b86c22;font-size:10px;font-weight:900;cursor:pointer;padding:3px}
.itinerary-screen .itinerary-list-items{display:grid;gap:9px}
.itinerary-screen .sortable-item{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.itinerary-screen .itinerary-list-item{display:grid;grid-template-columns:30px minmax(0,1fr) 34px;gap:8px;align-items:center;background:transparent!important;border:0!important;padding:0!important}
.itinerary-screen .itinerary-list-item input{min-height:42px}
.itinerary-screen .itinerary-list-drag{height:34px;border:1px solid #e2dbd2;border-radius:10px;display:grid;place-items:center;color:#a18c75;background:#fff;cursor:grab;font-size:14px}
.itinerary-screen .it-list-delete{height:34px;border:0;border-radius:10px;background:#fff1ed;color:#c45f42;font-size:20px;cursor:pointer}
.itinerary-screen .itinerary-note-label{margin-top:2px}
.itinerary-screen .itinerary-note-label textarea{min-height:130px}

.itinerary-screen .itinerary-saved-card{margin-top:18px;padding:27px 24px 16px}
.itinerary-screen .itinerary-saved-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 8px 18px;border-bottom:1px solid #e7e1da}
.itinerary-screen .itinerary-saved-head small{margin-bottom:7px}
.itinerary-screen .itinerary-saved-head h3{margin:0;font-size:18px;color:#202a3f}
.itinerary-screen .itinerary-refresh-btn{min-width:70px;height:40px;padding:0 14px;border-radius:11px;border:1px solid #ddd6ce;background:#fff;color:#717785;font-size:10px;font-weight:850;cursor:pointer}
.itinerary-screen .itinerary-saved-table{border:1px solid #e5ded6;border-radius:14px;overflow:auto;margin-top:0}
.itinerary-screen .itinerary-saved-table table{min-width:880px}
.itinerary-screen .itinerary-saved-table th{background:#faf9f6;color:#777c87;font-size:9px;padding:13px 11px}
.itinerary-screen .itinerary-saved-table td{font-size:10px;color:#777b84;padding:12px 11px;border-color:#eee9e4}
.itinerary-screen .itinerary-saved-table td strong{color:#687083;font-size:10px}
.itinerary-screen .itinerary-saved-table tr.selected td{background:#fff9f1}
.itinerary-screen .it-template-code{color:#677083;font-weight:700}
.itinerary-screen .it-table-actions{display:flex;gap:6px}
.itinerary-screen .it-table-btn{height:30px;padding:0 10px;border:1px solid #ded8d1;background:#fff;border-radius:9px;color:#737987;font-size:9px;font-weight:850;cursor:pointer}
.itinerary-screen .delete-itinerary{border-color:#efd4d0;color:#bd514b;background:#fff8f7}

@media(max-width:900px){
  .itinerary-screen .itinerary-workspace{grid-template-columns:1fr}
  .itinerary-screen .itinerary-control-card{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .itinerary-screen .itinerary-control-card>small,.itinerary-screen .itinerary-control-card>h3,.itinerary-screen .itinerary-control-card>p,.itinerary-screen .itinerary-control-note{grid-column:1/-1}
  .itinerary-screen .it-control-btn{margin:0}
  .itinerary-screen .itinerary-identity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .itinerary-screen .itinerary-card{padding:20px 16px}
  .itinerary-screen .itinerary-section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .itinerary-screen .itinerary-section-head p{white-space:normal}
  .itinerary-screen .itinerary-identity-grid,.itinerary-screen .itinerary-two-lists,.itinerary-screen .itinerary-day-top-fields{grid-template-columns:1fr}
  .itinerary-screen .itinerary-day-card{grid-template-columns:1fr}
  .itinerary-screen .itinerary-day-badge{width:64px}
  .itinerary-screen .itinerary-control-card{grid-template-columns:1fr}
  .itinerary-screen .itinerary-control-card>small,.itinerary-screen .itinerary-control-card>h3,.itinerary-screen .itinerary-control-card>p,.itinerary-screen .itinerary-control-note{grid-column:auto}
}

/* =========================================================
   v0.3 — unified premium warm template + Quotation Builder
   ========================================================= */
:root{
  --primary:#b8742b;
  --primary-dark:#995b1b;
  --primary-soft:#fbf1e3;
  --ink:#202a3f;
  --muted:#7b8190;
  --bg:#f7f5f1;
  --panel:#ffffff;
  --line:#e5dfd7;
  --soft:#f3f5f9;
  --danger:#bd4a46;
  --shadow:0 8px 24px rgba(53,43,31,.075);
}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:#293247;color:#e9ebf0}
.nav-group-title{color:#9ca4b5}.nav-item{color:#c9ced8}.nav-item:hover,.nav-item.active{background:color-mix(in srgb,var(--primary) 82%,#293247);color:#fff}
.brand-mark,.preview-logo{background:var(--primary);overflow:hidden}.brand-mark img,.preview-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-tagline{color:#aeb5c3}.topbar{border-color:var(--line)}.eyebrow,.panel small{color:#8d9099}.status-pill{background:#eef7f1;color:#39765b}
.metric-card,.panel{border-color:var(--line);box-shadow:var(--shadow);border-radius:20px}.panel{padding:24px}
th{background:#faf9f6;color:#7c808b}th,td{border-color:#eee9e4}
.badge{background:var(--primary-soft);color:var(--primary-dark)}
input,select,textarea{border-color:#ddd7ce;border-radius:12px;background:#fbfaf7;color:#4b505c;min-height:44px}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);background:#fff}
.primary-btn{background:var(--primary)}.primary-btn:hover{background:var(--primary-dark)}
.secondary-btn,.small-btn{background:var(--primary-soft);color:var(--primary-dark)}
.ghost-btn{border-color:#ddd7ce;color:#656c7b;background:#fff}.danger-btn{background:#fff7f6}
.tab.active{background:var(--primary);border-color:var(--primary)}.master-cat-btn.active{background:var(--primary-soft);color:var(--primary-dark)}
.preview-strip{background:var(--primary)}

.quotation-screen{--q-accent:var(--primary);--q-accent-soft:var(--primary-soft);--q-navy:#293247;--q-copy:#747b8d;--q-border:#e4ddd4;--q-field:#fbfaf7}
.planner-stack{display:grid;gap:20px}.planner-card{background:#fff;border:1px solid var(--q-border);border-radius:21px;box-shadow:0 8px 24px rgba(53,43,31,.075);padding:26px;margin:0}
.planner-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e8e3dc;padding-bottom:18px;margin-bottom:20px}
.planner-section-title{display:flex;align-items:center;gap:12px}.planner-step{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f3f6fc;color:#6079ad;font-size:12px;font-weight:900}.planner-section-title h3{margin:0;color:#202a3f;font-size:15px;letter-spacing:.01em}.planner-section-head p{margin:0;color:#969ba7;font-size:11px;text-align:right}
.planner-grid{display:grid;gap:15px;align-items:end}.planner-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-grid label,.quotation-screen label{font-size:10px;font-weight:850;letter-spacing:.025em;color:#657083;gap:8px}.planner-grid input,.planner-grid select,.planner-grid textarea,.quotation-screen input,.quotation-screen select,.quotation-screen textarea{border:1px solid #ddd7ce;background:var(--q-field);border-radius:13px;padding:12px 14px;font-size:12px;font-weight:600}.planner-grid input:focus,.planner-grid select:focus,.planner-grid textarea:focus,.quotation-screen input:focus,.quotation-screen select:focus,.quotation-screen textarea:focus{border-color:var(--q-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--q-accent) 9%,transparent);background:#fff}
.count-pills{display:flex;gap:10px;margin-top:14px}.count-pills span{display:inline-flex;align-items:center;gap:7px;background:#f6f7fa;color:#777e8d;border-radius:999px;padding:8px 12px;font-size:10px}.count-pills strong{color:#2b3448}
.source-box{margin-top:18px;border:1px solid #eadcca;border-radius:16px;background:#fffdf9;padding:18px 16px;display:grid;grid-template-columns:1.15fr 1.15fr auto auto;gap:12px;align-items:end}.source-copy small{display:block;color:var(--q-accent);font-size:9px;font-weight:900;letter-spacing:.1em;margin-bottom:9px}.source-copy strong{display:block;color:#222b3f;font-size:13px}.source-copy p{font-size:10px;color:#878c97;margin:7px 0 0;line-height:1.5}.source-box button{min-height:43px;white-space:nowrap}
.info-banner{background:var(--q-accent-soft);color:#b46921;border-radius:12px;padding:12px 14px;font-size:11px;line-height:1.55;margin-bottom:17px}.new-template-box{border:1px dashed #e4d2bb;border-radius:14px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:16px}.new-template-box small{grid-column:1/-1;color:#969ba5;font-size:9px}.outline-accent-btn{border:1px solid var(--q-accent);color:var(--q-accent-dark,var(--primary-dark));background:#fff;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer;font:inherit}.outline-accent-btn:hover{background:var(--q-accent-soft)}.dark-btn{border:0;border-radius:10px;padding:11px 13px;background:#293247;color:#fff;font-weight:800;cursor:pointer;font:inherit}
.quote-itinerary-editor{margin-top:4px}.quote-itinerary-editor .quote-it-day{border:1px solid #e5ddd3;border-radius:17px;background:#fff;padding:15px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;margin-bottom:13px}.quote-day-badge{height:64px;border-radius:14px;background:#f5ede2;color:var(--q-accent);display:flex;flex-direction:column;align-items:center;justify-content:center}.quote-day-badge span{font-size:9px;font-weight:900;letter-spacing:.12em}.quote-day-badge strong{font-size:22px}.quote-day-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-day-fields .span-2{grid-column:1/-1}.quote-it-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.quote-list-box{border:1px solid #e5ddd3;border-radius:14px;padding:13px}.quote-list-box h4{margin:0 0 10px;font-size:11px}.quote-list-box textarea{min-height:90px}.quote-note-box{margin-top:14px}
.accommodation-grid{grid-template-columns:.8fr 1.6fr .55fr .55fr}.selection-note{margin-top:14px;border-radius:11px;padding:11px 13px;background:#f8f7f4;color:#777e8d;font-size:10px}.accent-note{background:var(--q-accent-soft);color:#b46921}
.category-subbox{border:1px solid #e6e0d8;border-radius:16px;padding:18px;background:#fff}.subbox-title{display:flex;gap:12px;align-items:flex-start;color:var(--q-accent);margin-bottom:14px}.subbox-title>span{font-size:16px}.subbox-title strong{display:block;font-size:10px;letter-spacing:.05em}.subbox-title small{display:block;color:#969ba7;font-size:9px;margin-top:4px;font-weight:500}
.daily-rate-list{display:grid;gap:12px}.daily-rate-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);gap:10px;background:#fff;border:1px solid #ece6df;border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(54,43,31,.05)}.daily-day{display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:10px;background:#f3f5f9;color:#70798d;font-size:9px}.daily-day strong{font-size:12px;margin-top:3px}.daily-rate-row select{min-height:43px}
.daily-meal-list{display:grid;gap:10px}.daily-meal-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;padding:12px;border:1px solid #ece6df;border-radius:14px}.daily-meal-row .daily-day{min-height:48px}.single-option-box{margin-top:14px;border-top:1px solid #eee8e1;padding-top:14px;max-width:50%}
.attraction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attraction-card{border:1px solid #e4ded6;border-radius:14px;background:#fff;padding:15px;display:grid;grid-template-columns:20px minmax(0,1fr) auto auto 18px;gap:10px;align-items:center;min-height:72px}.attraction-card input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;background:white}.attraction-card .attr-name{font-size:12px;font-weight:800;color:#283247}.price-chip{background:#f8f7f4;border-radius:999px;padding:7px 10px;color:#757b87;font-size:10px;white-space:nowrap}.attr-chevron{color:#778091}.attr-qty-row{grid-column:2/-1;display:none;grid-template-columns:1fr 1fr;gap:10px;padding-top:9px;border-top:1px solid #eee9e4}.attraction-card.selected .attr-qty-row{display:grid}
.ticket-grid{grid-template-columns:1fr 1fr 1fr}.flight-grid{grid-template-columns:.8fr 1.3fr .45fr .45fr}.flight-grid .span-2{grid-column:auto}.flight-grid label:nth-child(2){grid-column:auto}
.pricing-card{padding:24px}.pricing-head,.pricing-subhead,.pricing-control-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pricing-head{border-bottom:1px solid #e9e4de;padding-bottom:18px}.pricing-head small,.pricing-control-head small{color:var(--q-accent);font-weight:900;letter-spacing:.12em}.pricing-head h2{font-size:18px;margin:8px 0 0}.calculator-icon{font-size:19px;color:var(--q-accent)}.pricing-subhead{margin:17px 0}.pricing-subhead small{font-size:9px;color:#858b97;font-weight:900;letter-spacing:.1em}.pricing-subhead h3{margin:7px 0 0;font-size:15px}.pricing-subhead p{font-size:9px;color:#9399a5;max-width:48%;text-align:right}
.participant-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.participant-card{border:1px solid #e4ded6;border-top:3px solid var(--q-accent);border-radius:14px;overflow:hidden;min-height:300px;background:#fff}.participant-card-head{display:flex;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid #ebe6e0}.participant-card-head strong{font-size:11px}.participant-card-head span{display:block;font-size:9px;color:#9096a1;margin-top:4px}.participant-hpp{font-size:13px!important;color:var(--q-accent)!important;font-weight:900}.participant-lines{max-height:245px;overflow:auto;padding:5px 13px}.participant-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed #e9e4de}.participant-line b{font-size:9px;color:#414b5d}.participant-line p{margin:4px 0 0;color:#8d939e;font-size:8px;line-height:1.45}.participant-line strong{font-size:9px;white-space:nowrap}.participant-empty{padding:16px;color:#9aa0aa;font-size:10px}
.sell-lines{border:1px solid #e6e0d9;border-radius:13px;margin-top:14px;padding:6px 14px}.sell-lines>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee9e4;font-size:10px}.sell-lines>div:last-child{border:0}.sell-lines strong{font-size:12px}.sell-lines .margin-row{color:#3b7e5c}.sell-lines .margin-row strong{background:#eff8f2;border-radius:8px;padding:5px 8px;color:#3b7e5c}.grand-total-box{border:2px solid color-mix(in srgb,var(--q-accent) 78%,#fff);border-radius:17px;margin-top:15px;padding:17px;text-align:center}.grand-total-box small{display:block;font-size:8px;color:#818897;letter-spacing:.08em}.grand-total-box strong{display:block;font-size:31px;color:#202a3f;margin:7px 0}.grand-total-box span{font-size:9px;color:#9399a4}.summary-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.summary-pair>div{border:1px solid #e7e1da;border-radius:12px;padding:13px}.summary-pair small{font-size:8px;color:#8e949f}.summary-pair strong{display:block;font-size:13px;margin-top:6px}.summary-pair span{display:block;font-size:8px;color:#999fa8;margin-top:4px}
.pricing-control-box{border:1px solid #e7e1da;border-radius:15px;padding:17px;margin-top:20px}.pricing-control-head{margin-bottom:14px}.pricing-control-head h3{margin:6px 0 0;font-size:14px}.pricing-control-head p{font-size:8px;color:#989da7;margin:0}.pricing-detail{border:1px solid #e6e0d9;border-radius:12px;margin-top:11px;background:#fff}.pricing-detail summary{list-style:none;cursor:pointer;padding:13px;font-size:9px;font-weight:850;display:flex;justify-content:space-between}.pricing-detail summary::-webkit-details-marker{display:none}.pricing-detail[open] summary span{transform:rotate(45deg)}.pricing-detail>div{padding:0 13px 13px}.breakdown-preview{max-height:360px}.breakdown-line{border-color:#eee8e1}
.workflow-grid{display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:13px;border-top:1px solid #e8e3dd;margin-top:18px;padding-top:18px}.workflow-card{border:1px solid #e7e1da;border-radius:14px;padding:15px}.workflow-card>small{color:var(--q-accent);font-size:8px;font-weight:900;letter-spacing:.12em}.workflow-card h3{font-size:13px;margin:9px 0}.workflow-card p{font-size:9px;color:#979ca6;line-height:1.5;min-height:28px}.workflow-card>button{margin-top:9px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid button{min-height:42px;font-size:9px}.workflow-card label{margin-top:10px}.workflow-card select{min-height:42px}.output-panels{margin-top:18px}

/* Finance vendor */
.count-badge{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.vendor-filter-row{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:12px;align-items:end}.vendor-metrics{margin-top:18px;margin-bottom:0}.vendor-payable-list{display:grid;gap:14px}.vendor-payable-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px}.vendor-payable-head{display:grid;grid-template-columns:1.15fr 1fr auto;gap:16px;align-items:start;border-bottom:1px solid #eee9e4;padding-bottom:14px}.vendor-payable-head h3{margin:5px 0 2px;font-size:15px}.vendor-payable-head p{margin:0;color:var(--muted);font-size:10px}.vendor-payable-amount{text-align:right}.vendor-payable-amount strong{display:block;font-size:18px}.vendor-payable-amount span{font-size:9px;color:var(--muted)}.status-badge{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;background:#f6f3ef;color:#767b86}.status-badge.paid{background:#edf8f1;color:#367b58}.status-badge.dp{background:var(--primary-soft);color:var(--primary-dark)}.vendor-payment-grid{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;align-items:end;margin-top:14px}.vendor-history{margin-top:12px;border-top:1px dashed #e6e0d9;padding-top:10px}.vendor-history summary{cursor:pointer;font-size:9px;font-weight:800;color:#707785}.vendor-history-row{display:grid;grid-template-columns:100px 80px 1fr 120px;gap:10px;padding:7px 0;font-size:9px;border-bottom:1px solid #f0ece7}

/* Brand settings */
.logo-upload-label small{font-weight:500;color:#969ca6}.brand-preview{align-content:center}.brand-preview .muted{max-width:390px;font-size:10px;line-height:1.5}.brand-preview .preview-logo{width:78px;height:78px;border-radius:18px}.brand-preview .preview-logo img{padding:5px}

/* Itinerary inherits unified brand color */
.itinerary-screen{--it-accent:var(--primary);--it-accent-dark:var(--primary-dark);--it-accent-soft:var(--primary-soft);--it-navy:#293247;--it-copy:#747b8d;--it-border:#e4ddd4;--it-field:#fbfaf7;--it-surface:#fff;--it-canvas:#f7f5f1}

@media(max-width:1100px){
  .source-box{grid-template-columns:1fr 1fr}.source-copy{grid-column:1/-1}.participant-cards{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.attraction-grid{grid-template-columns:1fr}.flight-grid{grid-template-columns:1fr 1fr}.accommodation-grid{grid-template-columns:1fr 1fr}.vendor-payment-grid{grid-template-columns:1fr 1fr 1fr}.vendor-payable-head{grid-template-columns:1fr 1fr}.vendor-payable-amount{grid-column:2;grid-row:1 / span 2}
}
@media(max-width:760px){
  .planner-grid.cols-2,.planner-grid.cols-3,.planner-grid.cols-4,.accommodation-grid,.ticket-grid,.flight-grid{grid-template-columns:1fr}.planner-grid .span-3{grid-column:auto}.source-box{grid-template-columns:1fr}.source-copy{grid-column:auto}.daily-rate-row,.daily-meal-row{grid-template-columns:55px 1fr}.daily-rate-row select:last-child,.daily-meal-row label:last-child{grid-column:2}.quote-itinerary-editor .quote-it-day{grid-template-columns:1fr}.quote-day-badge{width:64px}.quote-day-fields,.quote-it-lists,.summary-pair{grid-template-columns:1fr}.single-option-box{max-width:none}.pricing-subhead,.pricing-control-head{flex-direction:column}.pricing-subhead p{max-width:none;text-align:left}.action-grid{grid-template-columns:1fr}.vendor-filter-row{grid-template-columns:1fr}.vendor-payment-grid{grid-template-columns:1fr}.vendor-payable-head{grid-template-columns:1fr}.vendor-payable-amount{grid-column:auto;grid-row:auto;text-align:left}
}

/* ===== v0.4 additions ===== */
body{background:var(--app-bg,#fbfaf7)}
.login-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f7f4ee;background-size:cover;background-position:center;padding:24px}.login-overlay.hidden{display:none}.login-screen-card{width:min(420px,94vw);background:#fff;border:1px solid #e9e2d8;border-radius:24px;padding:32px;box-shadow:0 24px 70px rgba(47,38,28,.16);display:grid;gap:14px}.login-screen-logo{width:84px;height:84px;border-radius:20px;background:var(--primary-soft,#fbf1e3);display:grid;place-items:center;margin:0 auto 4px;color:var(--primary);font-size:22px;font-weight:900;overflow:hidden}.login-screen-logo img{width:100%;height:100%;object-fit:contain}.login-screen-card h1{margin:0;text-align:center;color:#293247;font-size:30px}.login-screen-card>p{text-align:center;color:#858b97;margin:0 0 10px;line-height:1.6}.login-error{min-height:18px;color:#b94343;text-align:center;font-size:12px}.quote-top-tabs{display:flex;gap:10px;padding:10px 14px;margin-bottom:18px;border:1px solid #e5ded5;border-radius:20px;background:#fff;box-shadow:0 6px 20px rgba(45,37,28,.05);overflow:auto}.quote-top-tab{border:0;background:transparent;color:#737b8c;border-radius:13px;padding:12px 16px;font-weight:750;white-space:nowrap;cursor:pointer}.quote-top-tab.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 25%,transparent)}.quote-history-view{display:none}.quote-history-view.active{display:block}.quotation-history-head{display:flex;justify-content:space-between;align-items:center;padding:24px}.quotation-history-head h2{font-size:26px;margin:6px 0}.quotation-history-head p{color:#8b909b;margin:0}.quotation-history-head small{color:var(--primary)}
.crm-toolbar,.finance-filter{display:flex;justify-content:space-between;align-items:center;gap:20px}.crm-toolbar h2,.finance-filter h2{margin:5px 0;font-size:24px}.crm-toolbar p,.finance-filter p{margin:0;color:var(--muted)}.crm-mode.active{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,#ddd)}.crm-list-view{display:none}.crm-list-view.active{display:block}.compact-search{min-width:280px}.client-preview-mini{margin-top:9px;border:0;background:var(--primary-soft);color:var(--primary-dark);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}.wide-modal{width:min(900px,94vw);padding:22px}.client-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.client-detail-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px}.client-detail-grid small{display:block;color:#8b919d;margin-bottom:5px}.inline-payment-history{margin-top:6px}.inline-payment-history summary{cursor:pointer;color:var(--primary);font-size:10px;font-weight:800}.payment-list-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;min-width:440px;padding:6px 0;border-bottom:1px dashed #e9e2d8}.tiny-btn{border:1px solid #ddd5ca;background:#fff;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:800;cursor:pointer}.tiny-btn.danger{color:#b94343;border-color:#efcccc}.vendor-filter-row{grid-template-columns:minmax(300px,1fr) auto auto}.vendor-history-row{grid-template-columns:100px 80px 1fr 120px 120px}.pnl-select-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.pnl-revenue-row{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:18px 0}.pnl-editor input{min-width:130px}.finance-filter .inline-actions{align-items:end}.finance-filter .inline-actions label{min-width:145px}.brand-company-panel{padding:22px}.brand-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.brand-settings-main{min-width:0}.color-settings-row input[type=color]{height:48px;padding:5px}.brand-assets-panel{border-left:1px solid #ebe5dc;padding-left:18px;display:grid;gap:13px;align-content:start}.brand-preview-card{border:1px dashed #ddd4c8;border-radius:16px;padding:18px;text-align:center}.brand-preview-card .preview-logo{margin:0 auto 10px;width:90px;height:70px;background:#fff;color:var(--primary);overflow:hidden}.brand-preview-card h3{margin:4px 0}.brand-preview-card p{margin:4px 0;color:#9a927d}.asset-preview{height:96px;border:1px dashed #ddd4c8;border-radius:14px;display:grid;place-items:center;color:#9a9da5;font-size:11px;overflow:hidden}.asset-preview img{max-width:100%;max-height:90px;object-fit:contain}.invoice-template-grid{align-items:start}.invoice-preview-panel{position:sticky;top:15px}.invoice-paper-preview{min-height:550px;background:#fff;border:1px solid #e6ded4;border-radius:10px;padding:28px;box-shadow:0 10px 35px rgba(48,39,29,.08)}.invoice-preview-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--primary);padding-bottom:18px}.invoice-preview-header strong{display:block;color:var(--primary);font-size:24px}.invoice-preview-header small{display:block;margin-top:5px}.invoice-preview-box{margin:22px 0;background:var(--primary-soft);border-radius:10px;padding:14px;line-height:1.7}.invoice-preview-line,.invoice-preview-total{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eee6dc}.invoice-preview-total{margin-top:10px;border-top:2px solid var(--primary);font-size:18px;font-weight:900}.invoice-preview-footer{margin-top:40px;text-align:center;color:#8d919a;font-size:11px}.check-line{flex-direction:row;align-items:center}.check-line input{width:auto}.login-settings-screen .login-preview{background:linear-gradient(145deg,var(--primary-soft),#fff)}
@media(max-width:1100px){.brand-settings-layout{grid-template-columns:1fr}.brand-assets-panel{border-left:0;border-top:1px solid #ebe5dc;padding-left:0;padding-top:18px}.crm-toolbar,.finance-filter{align-items:flex-start;flex-direction:column}.vendor-filter-row{grid-template-columns:1fr 1fr}.vendor-filter-row label{grid-column:1/-1}}
@media(max-width:760px){.quote-top-tabs{padding:8px}.quotation-history-head{align-items:flex-start;flex-direction:column;gap:14px}.client-detail-grid,.pnl-revenue-row{grid-template-columns:1fr}.brand-settings-main .form-grid.cols-3,.brand-settings-main .form-grid.cols-4{grid-template-columns:1fr}.vendor-history-row{grid-template-columns:1fr}.crm-toolbar .inline-actions,.finance-filter .inline-actions{flex-wrap:wrap}.vendor-filter-row{grid-template-columns:1fr}}

/* ===== v0.5 UI system, departure calendar & split login ===== */
:root{
  --ui-radius:16px;
  --ui-radius-sm:11px;
  --ui-border:#e5dfd7;
  --ui-field:#fffdf9;
  --ui-shadow:0 8px 26px rgba(47,38,28,.065);
  --login-left-start:#ad6a29;
  --login-left-end:#4c2a16;
  --login-right-bg:#f8f6f1;
}
body{font-size:13px;line-height:1.5;color:#293247;letter-spacing:-.005em}
.main{padding:0 26px 42px}.topbar{height:86px;margin-bottom:22px}.topbar h1{font-size:25px;letter-spacing:-.025em}.eyebrow,.panel small{font-size:9px;letter-spacing:.13em}
.panel,.metric-card{border-color:var(--ui-border);border-radius:18px;box-shadow:var(--ui-shadow)}.panel{padding:22px;margin-bottom:20px}.metric-card{padding:19px}.metric-card strong{font-size:24px;letter-spacing:-.03em}.panel-head{margin-bottom:18px;gap:16px}.panel-head h3,.section-title h3{font-size:17px;letter-spacing:-.015em}.panel-head p,.section-title p{font-size:11px;line-height:1.55}
.form-grid{gap:14px}.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4{column-gap:14px;row-gap:15px}label{gap:7px;font-size:10px;font-weight:800;letter-spacing:.02em;color:#626b7d}input,select,textarea{min-height:44px;border:1px solid #ded8d0;border-radius:12px;background:var(--ui-field);padding:11px 13px;font-size:12px;font-weight:600;color:#293247}textarea{line-height:1.55;min-height:auto}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--primary) 72%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent);background:#fff}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.small-btn,.icon-btn,.dark-btn,.outline-accent-btn,.tiny-btn,.it-table-btn{min-height:40px;border-radius:11px;padding:9px 14px;font-size:11px;font-weight:800;line-height:1.2}.small-btn,.tiny-btn{min-height:30px;padding:6px 9px;font-size:9px}.primary-btn,.dark-btn{box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 14%,transparent)}button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.inline-actions{gap:10px}.action-grid{gap:10px}
.table-wrap{border:1px solid #ebe5dd;border-radius:14px;overflow:auto}table{background:#fff}th{background:#faf8f5;color:#737b89;font-size:9px;letter-spacing:.075em}th,td{padding:12px 13px;border-bottom:1px solid #eee8e1}td{font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fffdf9}.badge,.count-badge{font-size:9px;padding:6px 9px}
.planner-stack{gap:18px}.planner-card{padding:24px;border-radius:20px}.planner-grid{gap:14px}.planner-grid input,.planner-grid select,.planner-grid textarea,.quotation-screen input,.quotation-screen select,.quotation-screen textarea{min-height:45px;border-radius:12px;padding:11px 13px;font-size:11px}.source-box{padding:17px;gap:11px}.daily-rate-row,.daily-meal-row{padding:11px;border-radius:13px;gap:10px}.workflow-card{padding:16px;border-radius:14px}.workflow-card p{font-size:10px;min-height:auto}.quote-top-tabs{padding:9px 12px;border-radius:18px;margin-bottom:18px}.quote-top-tab{min-height:42px;border-radius:12px;padding:11px 16px;font-size:11px}
.sidebar{width:auto;padding:22px 15px}.nav-item{min-height:40px;padding:9px 11px;font-size:12px;border-radius:10px}.nav-group-title{font-size:9px;padding-top:16px}.brand-block{padding-bottom:20px}.brand-name{font-size:13px}

/* Departure calendar */
.tracking-calendar-panel{overflow:hidden}.tracking-calendar-head{align-items:center}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{min-width:150px;text-align:center;text-transform:capitalize;font-size:13px}.calendar-nav .ghost-btn{min-width:42px;padding:8px 10px}.departure-calendar{border:1px solid #e6dfd6;border-radius:16px;overflow:hidden;background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#faf7f3;border-bottom:1px solid #e6dfd6}.calendar-weekdays span{padding:10px;text-align:center;font-size:9px;font-weight:850;letter-spacing:.08em;color:#777f8d;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{min-height:126px;border-right:1px solid #eee7df;border-bottom:1px solid #eee7df;padding:9px;background:#fff;transition:.18s ease}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.calendar-empty{background:#fbfaf8}.calendar-cell.today{background:var(--primary-soft)}.calendar-cell.has-event{background:color-mix(in srgb,var(--primary-soft) 42%,#fff)}.calendar-day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calendar-day-number>span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:850;color:#626a79}.calendar-cell.today .calendar-day-number>span{background:var(--primary);color:#fff}.calendar-day-number>b{font-size:8px;background:var(--primary);color:#fff;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center}.calendar-events{display:grid;gap:5px}.calendar-event{border:0;background:#fff;border-left:3px solid var(--primary);border-radius:7px;padding:6px 7px;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(47,38,28,.05);overflow:hidden}.calendar-event strong,.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:9px;color:#293247}.calendar-event span{font-size:8px;color:#8b909b;margin-top:2px}.calendar-events>small{font-size:8px;color:var(--primary);padding:2px 5px}.departure-date-chip{display:inline-flex;padding:6px 9px;border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font-weight:800}.row-highlight td{animation:rowFlash 1.5s ease}@keyframes rowFlash{0%,100%{background:transparent}35%{background:var(--primary-soft)}}

/* P&L */
.pnl-select-row{grid-template-columns:minmax(0,1fr) auto}.pnl-select-row .inline-actions{align-items:end}.pnl-editor .metric-grid{margin-top:4px}.pnl-editor .table-wrap input{min-width:120px;min-height:38px}.pnl-editor .panel>.primary-btn{margin-top:16px}

/* Full split-screen login modeled after the supplied reference */
.login-overlay{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);place-items:stretch;padding:0;background:var(--login-right-bg);overflow:auto}.login-overlay.hidden{display:none}.login-hero-panel{position:relative;min-height:100vh;padding:52px clamp(58px,6.2vw,112px) 42px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background-image:linear-gradient(145deg,var(--login-left-start),var(--login-left-end)),var(--login-bg-image,none);background-size:cover;background-position:center;overflow:hidden}.login-deco{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;pointer-events:none}.login-deco-top{width:560px;height:560px;right:-190px;top:-205px}.login-deco-bottom{width:320px;height:320px;left:-220px;bottom:-105px}.login-brand-chip{position:relative;z-index:2;display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;padding:10px 16px 10px 10px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.08);backdrop-filter:blur(4px)}.login-screen-logo{width:48px;height:48px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--primary);font-size:12px;font-weight:900;overflow:hidden;flex:0 0 auto}.login-screen-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.login-brand-chip strong,.login-brand-chip small{display:block;color:#fff}.login-brand-chip strong{font-size:13px}.login-brand-chip small{font-size:8px;opacity:.72;margin-top:3px}.login-hero-copy{position:relative;z-index:2;max-width:690px;margin:62px 0 auto;padding-top:46px}.login-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;color:#f4dfc5}.login-hero-copy h1{font-size:clamp(44px,4vw,68px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 20px;color:#fff;max-width:650px}.login-hero-copy p{font-size:14px;line-height:1.75;max-width:620px;color:rgba(255,255,255,.88);margin:0}.login-feature-tags{position:relative;z-index:2;display:flex;gap:9px;flex-wrap:wrap}.login-feature-tags span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 12px;font-size:8px;font-weight:800;background:rgba(255,255,255,.07)}.login-auth-panel{min-height:100vh;display:grid;place-items:center;padding:58px;background:var(--login-right-bg)}.login-screen-card{width:min(458px,92vw);background:#fff;border:1px solid #ebe6df;border-radius:28px;padding:42px;box-shadow:0 24px 70px rgba(47,38,28,.12);display:grid;gap:15px}.login-screen-card>.login-kicker{color:var(--primary);margin-bottom:0}.login-screen-card h1{margin:0;text-align:left;color:#293247;font-size:30px;line-height:1.12;letter-spacing:-.035em}.login-screen-card>p{text-align:left;color:#858b97;margin:-4px 0 8px;line-height:1.55;font-size:11px}.login-screen-card label{font-size:9px;color:#343b49;gap:7px}.login-input-wrap{height:52px;border:1px solid #ddd8d1;border-radius:13px;background:#fff;display:grid;grid-template-columns:24px minmax(0,1fr) 30px;align-items:center;padding:0 10px;transition:.18s}.login-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.login-input-wrap>span{font-size:9px;color:#9ba0a9}.login-input-wrap input{min-height:0;height:48px;border:0!important;border-radius:0;background:transparent;padding:0 2px;box-shadow:none!important;font-size:12px;font-weight:700}.login-eye{border:0;background:transparent;color:#9096a1;cursor:pointer;font-size:12px;padding:6px}.login-remember{flex-direction:row;align-items:center;gap:9px;font-size:9px!important;color:#737987!important;margin:3px 0}.login-remember input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--primary)}.login-submit{height:52px;margin-top:2px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;border-radius:12px;background:var(--primary)}.login-error{min-height:16px;color:#b94343;text-align:center;font-size:9px}.login-security-note{display:flex;gap:9px;border-top:1px solid #eee8e0;padding-top:16px;color:#9499a3;font-size:8px;line-height:1.5}.login-security-note>span:first-child{color:var(--primary)}.login-version-label{text-align:center;color:#b0b2b8;font-size:7px!important;font-weight:500!important;letter-spacing:0!important;margin-top:1px}

/* Login settings + full live preview */
.login-settings-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:20px;align-items:start}.login-settings-form .settings-subhead{margin:22px 0 12px;padding-top:16px;border-top:1px solid #eee8e1}.login-settings-form .settings-subhead:first-of-type{margin-top:4px}.login-settings-form .settings-subhead small{color:var(--primary);font-size:9px;font-weight:900;letter-spacing:.12em}.login-layout-preview{position:sticky;top:14px;padding:18px}.login-layout-preview>small{display:block;margin-bottom:12px;color:var(--primary)}.login-preview-frame{aspect-ratio:16/9;min-height:470px;border:1px solid #e4ded6;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1.04fr .96fr;background:#fff;box-shadow:0 12px 34px rgba(47,38,28,.08)}.login-preview-left{padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,var(--login-left-start),var(--login-left-end))}.login-preview-brand{display:flex;gap:9px;align-items:center}.login-preview-brand .preview-logo{width:36px;height:36px;border-radius:9px;background:#fff}.login-preview-brand strong{font-size:9px}.login-preview-left>div:nth-child(2)>small{font-size:6px;letter-spacing:.16em;font-weight:900}.login-preview-left h2{font-size:28px;line-height:1.08;margin:12px 0;color:#fff;letter-spacing:-.04em}.login-preview-left p{font-size:8px;line-height:1.6;color:rgba(255,255,255,.85)}.login-preview-tags{display:flex;flex-wrap:wrap;gap:5px}.login-preview-tags span{font-size:6px;border:1px solid rgba(255,255,255,.28);padding:5px 7px;border-radius:99px}.login-preview-right{display:grid;place-items:center;padding:24px;background:#f8f6f1}.login-preview-right .login-card{width:100%;max-width:250px;background:#fff;border:1px solid #eee7df;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(47,38,28,.08)}.login-preview-right .login-card>small:first-child{font-size:6px;letter-spacing:.15em;color:var(--primary);font-weight:900}.login-preview-right .login-card h2{font-size:19px;margin:8px 0 6px}.login-preview-right .login-card p{font-size:7px;color:#8b909b;line-height:1.5}.login-preview-right .login-card input{height:34px;min-height:34px;font-size:7px;margin-top:7px}.login-preview-right .login-card button{height:34px;min-height:34px;font-size:7px;margin-top:9px}.login-preview-right .login-card>small:last-child{display:block;font-size:6px;margin-top:12px;line-height:1.4}

@media(max-width:1180px){.login-settings-layout{grid-template-columns:1fr}.login-layout-preview{position:static}.calendar-cell{min-height:112px}}
@media(max-width:980px){.login-overlay{grid-template-columns:1fr}.login-hero-panel{min-height:42vh;padding:34px 36px}.login-hero-copy{margin:34px 0;padding-top:10px}.login-hero-copy h1{font-size:40px}.login-feature-tags{margin-top:32px}.login-auth-panel{min-height:58vh;padding:36px}.login-screen-card{width:min(520px,94vw)}.calendar-cell{min-height:96px}.calendar-event span{display:none}}
@media(max-width:760px){.main{padding:0 14px 30px}.panel{padding:16px}.calendar-nav{flex-wrap:wrap}.tracking-calendar-head{align-items:flex-start;flex-direction:column}.calendar-weekdays span{font-size:7px;padding:8px 2px}.calendar-cell{min-height:78px;padding:5px}.calendar-event{padding:4px}.calendar-event strong{font-size:7px}.calendar-day-number>span{width:22px;height:22px;font-size:8px}.login-hero-panel{padding:28px 22px}.login-hero-copy h1{font-size:34px}.login-hero-copy p{font-size:11px}.login-auth-panel{padding:24px 14px}.login-screen-card{padding:28px 22px;border-radius:22px}.login-screen-card h1{font-size:26px}.login-preview-frame{grid-template-columns:1fr;aspect-ratio:auto;min-height:620px}.login-preview-left,.login-preview-right{min-height:310px}.pnl-select-row{grid-template-columns:1fr}.pnl-select-row .inline-actions{flex-wrap:wrap}}

/* v0.5 typography normalization for dense operational modules */
.source-copy small,.new-template-box small,.subbox-title small,.pricing-subhead small,.pricing-subhead p,.participant-card-head span,.participant-line p,.grand-total-box small,.grand-total-box span,.summary-pair small,.summary-pair span,.pricing-control-head p,.pricing-detail summary,.workflow-card>small,.vendor-history summary,.vendor-history-row{font-size:9.5px}
.subbox-title strong,.participant-line b,.participant-line strong,.workflow-card p,.sell-lines>div,.planner-grid label,.quotation-screen label{font-size:10.5px}
.workflow-card h3,.participant-card-head strong,.summary-pair strong,.pricing-control-head h3{font-size:13.5px}.action-grid button{font-size:10.5px;min-height:42px}.workflow-card>button,.workflow-card select{font-size:10.5px}.price-chip{font-size:10px}.daily-day{font-size:9.5px}.daily-day strong{font-size:12.5px}.count-pills span{font-size:10.5px}.source-copy p,.selection-note{font-size:10.5px}.source-copy strong{font-size:13.5px}

/* =========================================================
   v0.6 — SF Pro typography, unified controls & responsive polish
   ========================================================= */
:root{
  --app-font:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --login-left-start:#b8742b;
  --login-left-end:#7a451c;
  --login-right-bg:#fbfaf7;
  --control-radius:12px;
  --control-height:46px;
  --content-gap:18px;
}
html,body,button,input,select,textarea,table,dialog{font-family:var(--app-font)!important}
body{font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{letter-spacing:0}
pre,code,.output-card pre{font-family:var(--app-font)!important}

/* App layout and spacing */
.app-shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{padding:24px 17px}.brand-block{padding:5px 8px 22px;gap:13px}.brand-name{font-size:14px;letter-spacing:-.01em}.brand-tagline{font-size:10px;line-height:1.35}
.nav{gap:5px}.nav-item{min-height:42px;padding:10px 12px;border-radius:11px;font-size:12px;font-weight:650;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover{transform:translateX(1px)}.nav-group-title{font-size:9px;padding:17px 10px 7px}
.main{padding:0 clamp(18px,2.2vw,34px) 44px}.topbar{height:88px;margin-bottom:22px}.topbar h1{font-size:27px;letter-spacing:-.025em}.eyebrow{font-size:9.5px}
.panel,.metric-card{border-radius:18px}.panel{padding:24px;margin-bottom:20px}.metric-card{padding:20px 21px}.metric-card span{font-size:11.5px}.metric-card strong{font-size:25px;letter-spacing:-.025em}
.grid-2,.grid-3{gap:20px;margin-bottom:20px}.metric-grid{gap:16px;margin-bottom:20px}.panel-head{gap:16px;margin-bottom:18px}.panel-head h3,.section-title h3{font-size:17px;letter-spacing:-.015em}.panel-head p,.section-title p{font-size:11.5px;line-height:1.55}

/* Unified form system */
.form-panel{padding:24px}.form-grid{column-gap:16px;row-gap:16px}.planner-grid{column-gap:16px;row-gap:16px}
label,.planner-grid label,.quotation-screen label{gap:8px;font-size:11px;font-weight:650;letter-spacing:.018em;color:#5f6877}
label>small,.field-help,.file-control-card small{font-size:9.5px!important;font-weight:450!important;line-height:1.5;color:#969ba4;letter-spacing:0}
input,select,textarea,.planner-grid input,.planner-grid select,.planner-grid textarea,.quotation-screen input,.quotation-screen select,.quotation-screen textarea{
  min-height:var(--control-height);border-radius:var(--control-radius);padding:11px 13px;font-size:12px;font-weight:500;background:#fff;border:1px solid #ded8cf;color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
textarea,.planner-grid textarea,.quotation-screen textarea{min-height:96px;line-height:1.55;padding-top:12px}
input::placeholder,textarea::placeholder{color:#a3a7ae;font-weight:450}
input:disabled,select:disabled,textarea:disabled{background:#f5f3ef;color:#9c9fa6;cursor:not-allowed}
input:focus,select:focus,textarea:focus,.planner-grid input:focus,.planner-grid select:focus,.planner-grid textarea:focus,.quotation-screen input:focus,.quotation-screen select:focus,.quotation-screen textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent);background:#fff}
input[type="color"]{padding:5px;cursor:pointer}input[type="file"]{padding:8px 10px;line-height:25px}
input[type="checkbox"]{accent-color:var(--primary)}

/* Unified button system */
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.small-btn,.icon-btn,.dark-btn,.outline-accent-btn,.tiny-btn,.it-table-btn,.quote-top-tab,.tab{
  min-height:42px;border-radius:12px;padding:9px 14px;font-family:var(--app-font)!important;font-size:11.5px;font-weight:700;line-height:1.2;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease
}
.primary-btn,.dark-btn{background:var(--primary);color:#fff;border:1px solid var(--primary);box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 17%,transparent)}
.primary-btn:hover,.dark-btn:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px)}
.secondary-btn,.small-btn{background:var(--primary-soft);color:var(--primary-dark);border:1px solid color-mix(in srgb,var(--primary) 15%,#e4ddd5)}
.secondary-btn:hover,.small-btn:hover{background:color-mix(in srgb,var(--primary-soft) 72%,#fff)}
.ghost-btn,.it-table-btn,.tab{background:#fff;color:#5f6877;border:1px solid #ded8cf;box-shadow:none}.ghost-btn:hover,.it-table-btn:hover,.tab:hover{border-color:color-mix(in srgb,var(--primary) 45%,#ded8cf);color:var(--primary-dark);background:var(--primary-soft)}
.outline-accent-btn{background:#fff;color:var(--primary-dark);border:1px solid var(--primary);box-shadow:none}.outline-accent-btn:hover{background:var(--primary-soft);transform:translateY(-1px)}
.danger-btn,.tiny-btn.danger{background:#fff7f6;color:var(--danger);border:1px solid #efcecb;box-shadow:none}.danger-btn:hover,.tiny-btn.danger:hover{background:#fff0ef}
.small-btn,.tiny-btn{min-height:32px;padding:6px 9px;font-size:10px;border-radius:9px}.icon-btn{min-height:34px;min-width:34px;padding:5px;border-radius:9px}.inline-actions,.settings-actions,.it-table-actions{gap:10px}.settings-actions{display:flex;align-items:center;flex-wrap:wrap;margin-top:4px}.action-grid{gap:10px}
button:disabled{opacity:.46;transform:none!important;box-shadow:none!important}

/* Table readability */
.table-wrap{border-radius:13px}.table-wrap table{min-width:720px}th{font-size:9.5px;font-weight:750;letter-spacing:.075em;padding:12px 11px}td{font-size:11.5px;padding:12px 11px;vertical-align:middle}.badge{font-size:10px;padding:5px 8px}

/* Builder polish */
.planner-stack{gap:20px}.planner-card{padding:25px;border-radius:20px}.planner-section-head{padding-bottom:17px;margin-bottom:20px}.planner-section-title h3{font-size:14.5px}.planner-section-head p{font-size:10.5px;line-height:1.45}.planner-step{width:31px;height:31px;border-radius:9px;color:var(--primary);background:var(--primary-soft)}
.source-box{padding:17px;gap:13px}.source-copy strong{font-size:13px}.source-copy p,.selection-note{font-size:10px}.daily-rate-list,.daily-meal-list{gap:11px}.daily-rate-row,.daily-meal-row{padding:11px 12px;border-radius:13px}.daily-day{min-height:46px}.daily-day strong{font-size:12px}.category-subbox{padding:17px}.subbox-title strong{font-size:10.5px}.subbox-title small{font-size:9.5px}
.attraction-grid{gap:11px}.attraction-card{padding:14px;min-height:74px}.attraction-card .attr-name{font-size:11.5px}.price-chip{font-size:9.5px;padding:6px 9px}
.pricing-head h2{font-size:18px}.pricing-subhead h3{font-size:14.5px}.participant-card{min-height:285px}.participant-card-head strong{font-size:13px}.participant-line b,.participant-line strong{font-size:10.5px}.participant-line p{font-size:9.5px;line-height:1.45}.sell-lines>div{padding:11px 13px;font-size:10.5px}.grand-total-box{padding:20px}.grand-total-box strong{font-size:32px;letter-spacing:-.03em}.workflow-grid{gap:13px}.workflow-card{padding:17px}.workflow-card h3{font-size:13.5px}.workflow-card p{font-size:10px;line-height:1.5}.workflow-card>button{min-height:44px}.quote-top-tabs{gap:8px;padding:9px 11px}.quote-top-tab{font-size:11px}.quote-top-tab.active{background:var(--primary);border-color:var(--primary)}

/* Settings / brand polish */
.brand-settings-layout{gap:26px}.brand-settings-main{display:grid;gap:18px}.brand-settings-main>.form-grid{margin:0}.brand-assets-panel{gap:15px}.brand-preview-card{padding:20px}.asset-preview{height:106px}.color-settings-row{align-items:end}.color-settings-row input[type="color"]{height:46px}.check-line{min-height:46px;padding:10px 12px;border:1px solid #e3ddd4;border-radius:12px;background:#fff}.check-line input{min-height:auto;width:17px;height:17px}
.invoice-template-grid{gap:22px}.invoice-paper-preview{padding:30px;border-radius:14px}

/* v0.6 Login — default follows Customize Brand, custom colors remain optional */
.login-overlay{background:var(--login-right-bg);font-family:var(--app-font)!important}
.login-hero-panel{background-image:linear-gradient(145deg,var(--login-left-start),var(--login-left-end)),var(--login-bg-image,none)}
.login-brand-chip{border-radius:15px;padding:10px 15px 10px 10px}.login-brand-chip strong{font-size:13px}.login-brand-chip small{font-size:9px}.login-screen-logo{font-family:var(--app-font)!important}
.login-hero-copy h1{font-family:"SF Pro Display",var(--app-font)!important;font-weight:650;letter-spacing:-.045em}.login-hero-copy p{font-size:13.5px;line-height:1.7}.login-feature-tags span{font-size:9px;font-weight:650}
.login-screen-card{border-radius:24px;padding:38px;gap:15px}.login-screen-card h1{font-family:"SF Pro Display",var(--app-font)!important;font-size:29px;font-weight:680;letter-spacing:-.035em}.login-screen-card>p{font-size:11.5px}.login-screen-card label{font-size:10px}.login-input-wrap{height:52px;border-radius:12px}.login-input-wrap input{font-size:12px;font-weight:600}.login-remember{font-size:9.5px!important}.login-submit{height:50px;border-radius:12px;font-size:11px}.login-security-note{font-size:8.5px}.login-version-label{font-size:7.5px!important}

/* Login settings screen */
.login-settings-header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 26px}.login-settings-header h2{margin:5px 0 6px;font-size:24px;letter-spacing:-.025em}.login-settings-header p{margin:0;color:var(--muted);max-width:760px;font-size:11px;line-height:1.55}.login-settings-status{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #e5dfd7;border-radius:13px;background:#fff;min-width:140px}.login-settings-status .status-dot{width:9px;height:9px;border-radius:50%;background:#4b9b70;box-shadow:0 0 0 4px #edf8f1}.login-settings-status small,.login-settings-status strong{display:block}.login-settings-status small{font-size:8px;color:#969ba4}.login-settings-status strong{font-size:11px;margin-top:2px}
.login-settings-layout{grid-template-columns:minmax(0,.95fr) minmax(500px,1.05fr);gap:22px}.login-settings-form-stack{display:grid;gap:18px}.login-settings-form-stack .panel{margin-bottom:0}.settings-card-head{display:flex;gap:13px;align-items:flex-start;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid #eee8e0}.settings-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:var(--primary-soft);color:var(--primary);font-size:9px;font-weight:800}.settings-card-head small{color:var(--primary);font-size:8.5px;font-weight:800;letter-spacing:.11em}.settings-card-head h3{font-size:15px;margin:3px 0 4px}.settings-card-head p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}
.setting-toggle-card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:18px;padding:14px 15px;border:1px solid #e2dbd1;border-radius:13px;background:#fff;margin-bottom:16px;cursor:pointer}.setting-toggle-card span{display:block}.setting-toggle-card strong{display:block;color:#333b4d;font-size:11.5px}.setting-toggle-card small{display:block;margin-top:4px;max-width:520px}.setting-toggle-card input{appearance:none;width:42px;height:24px;min-height:24px;flex:0 0 42px;padding:0;border:0;border-radius:999px;background:#d9d8d4;position:relative;cursor:pointer;transition:.18s}.setting-toggle-card input:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.18s}.setting-toggle-card input:checked{background:var(--primary)}.setting-toggle-card input:checked:after{transform:translateX(18px)}
.login-color-fields{transition:.18s ease}.login-color-fields.is-disabled{opacity:.42}.file-control-card{margin-top:16px;padding:14px;border:1px dashed #ded5c9;border-radius:13px;background:#fdfbf8}.file-control-card input{margin-top:2px;background:#fff}.preview-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;width:100%;text-align:left}.preview-panel-head h3{font-size:14px;margin:3px 0 0}.preview-device-label{font-size:7.5px;font-weight:800;letter-spacing:.08em;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:6px 8px}.login-layout-preview{padding:18px;align-content:start}.login-preview-frame{width:100%;min-height:500px}.login-preview-left{padding:28px}.login-preview-left h2{font-family:"SF Pro Display",var(--app-font)!important;font-weight:650}.login-preview-right .login-card{gap:7px}.login-preview-right .login-card label{font-size:6px;gap:3px;text-align:left}.login-preview-right .login-card input{margin-top:0}

/* Modal polish */
.modal{border-radius:18px;max-height:90vh;overflow:auto}.modal>div,.modal>label,.modal>.form-grid,.modal>.modal-actions{margin-left:20px;margin-right:20px}.modal-head{padding-top:20px}.modal-actions{padding-bottom:20px;gap:10px}.wide-modal{padding:0 4px 20px}

/* Responsive */
@media(max-width:1280px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-settings-layout{grid-template-columns:1fr}.login-layout-preview{position:static}.login-preview-frame{max-width:960px;margin:0 auto}.brand-settings-layout{grid-template-columns:1fr}.brand-assets-panel{border-left:0;border-top:1px solid #ebe5dc;padding:20px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.brand-preview-card{grid-row:span 2}
}
@media(max-width:980px){
  .app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:16px}.brand-block{padding-bottom:14px;margin-bottom:10px}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav-group-title{grid-column:1/-1;padding:12px 8px 4px}.nav-item{min-height:40px}.main{padding:0 18px 34px}.topbar{height:auto;min-height:76px;padding:15px 0}.top-actions{flex-direction:row;align-items:center}.grid-2,.grid-3,.master-layout,.itinerary-layout{grid-template-columns:1fr}.quote-layout{grid-template-columns:1fr}.sticky-panel{position:static}.form-grid.cols-4,.planner-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid{grid-template-columns:1fr}.participant-cards{grid-template-columns:1fr}.login-overlay{grid-template-columns:1fr}.login-hero-panel{min-height:40vh}.login-auth-panel{min-height:60vh}.login-screen-card{width:min(520px,94vw)}
}
@media(max-width:760px){
  .main{padding:0 12px 28px}.panel,.planner-card,.form-panel{padding:17px}.topbar h1{font-size:22px}.top-actions{gap:7px}.status-pill{display:none}.metric-grid,.grid-2,.grid-3,.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.planner-grid.cols-2,.planner-grid.cols-3,.planner-grid.cols-4,.accommodation-grid,.ticket-grid,.flight-grid,.summary-pair,.client-detail-grid,.pnl-revenue-row{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.planner-section-head,.panel-head,.pricing-head,.pricing-subhead,.pricing-control-head,.crm-toolbar,.finance-filter,.login-settings-header{align-items:flex-start;flex-direction:column}.planner-section-head p,.pricing-subhead p{max-width:none;text-align:left}.source-box{grid-template-columns:1fr}.source-copy{grid-column:auto}.quote-itinerary-editor .quote-it-day{grid-template-columns:1fr}.quote-day-fields,.quote-it-lists{grid-template-columns:1fr}.daily-rate-row,.daily-meal-row{grid-template-columns:54px minmax(0,1fr)}.daily-rate-row select:last-child,.daily-meal-row label:last-child{grid-column:2}.attraction-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr}.vendor-payable-head{grid-template-columns:1fr}.vendor-payable-amount{text-align:left;grid-column:auto;grid-row:auto}.vendor-history-row{grid-template-columns:1fr}.brand-assets-panel{grid-template-columns:1fr}.login-settings-header{gap:14px}.login-settings-status{width:100%}.login-preview-frame{grid-template-columns:1fr;aspect-ratio:auto;min-height:660px}.login-preview-left,.login-preview-right{min-height:330px}.login-hero-panel{padding:28px 22px}.login-hero-copy{padding-top:18px;margin:28px 0 auto}.login-hero-copy h1{font-size:34px}.login-auth-panel{padding:24px 14px}.login-screen-card{padding:28px 22px}.login-screen-card h1{font-size:25px}.login-color-fields{grid-template-columns:1fr!important}.settings-actions>*{width:100%}.departure-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:700px}.table-wrap{margin-left:-2px;margin-right:-2px}
}
@media(max-width:520px){
  .nav{grid-template-columns:1fr}.main{padding-left:10px;padding-right:10px}.topbar{gap:10px}.top-actions{display:flex}.top-actions .ghost-btn{padding:8px 10px;min-width:40px;font-size:0}.top-actions .ghost-btn::first-letter{font-size:12px}.metric-grid{grid-template-columns:1fr}.metric-card strong{font-size:23px}.inline-actions,.settings-actions{width:100%;flex-direction:column;align-items:stretch}.inline-actions>*{width:100%;max-width:none!important}.quote-top-tabs{overflow-x:auto}.login-brand-chip{max-width:calc(100vw - 44px)}.login-brand-chip strong{font-size:11px}.login-hero-copy h1{font-size:30px}.login-feature-tags{gap:6px}.login-feature-tags span{font-size:8px;padding:6px 9px}.login-screen-card{width:100%;border-radius:20px}.login-preview-frame{min-height:610px}.login-preview-left,.login-preview-right{min-height:305px}.login-preview-left h2{font-size:24px}.preview-device-label{display:none}
}

/* v0.6 responsive containment: wide tables stay inside their cards instead of widening the viewport */
.page,.panel,.metric-card,.planner-card,.form-panel,.grid-2,.grid-3,.metric-grid,.dashboard-lower{min-width:0}
.grid-2>*,.grid-3>*,.metric-grid>*,.dashboard-lower>*{min-width:0}
.table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
canvas{max-width:100%}

/* ===== v0.7 — quotation / proposal / spacing / theme polish ===== */
:root{--surface:#ffffff;--surface-soft:color-mix(in srgb,var(--app-bg) 78%,#fff);--button-shadow:0 7px 18px color-mix(in srgb,var(--primary) 16%,transparent)}
html,body,input,select,textarea,button{font-family:var(--app-font)!important}
body{background:var(--app-bg,#fbfaf7)}
.main{max-width:100%;overflow-x:hidden}
.panel,.planner-card,.workflow-card,.pricing-control-box,.currency-conversion-box{border-color:color-mix(in srgb,var(--primary) 10%,#e7e1d9)}

/* Harmonized controls and intentional spacing */
label{line-height:1.35}
label>small,.field-help{margin-top:2px;line-height:1.5;color:#959aa5;font-size:9px;font-weight:500;letter-spacing:0}
input,select,textarea{margin-top:1px}
.form-panel>label,.login-settings-form>label{margin-top:16px}
.form-panel>.form-grid+label,.login-settings-form>.form-grid+label{margin-top:17px}
.form-panel>label+.form-grid,.login-settings-form>label+.form-grid{margin-top:17px}
.form-panel>.form-grid+.form-grid{margin-top:17px}
.form-panel>.settings-actions,.form-panel>.inline-actions,.login-settings-form>.settings-actions{margin-top:20px}
.settings-actions,.inline-actions,.action-grid,.output-actions{gap:10px}
.primary-btn,.dark-btn{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--button-shadow)}
.primary-btn:hover,.dark-btn:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.secondary-btn{background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary-dark)}
.ghost-btn{background:#fff;border:1px solid color-mix(in srgb,var(--primary) 14%,#ddd7cf);color:#4f5969}
.ghost-btn:hover{border-color:color-mix(in srgb,var(--primary) 42%,#ddd7cf);background:var(--primary-soft);color:var(--primary-dark)}
.outline-accent-btn{color:var(--primary-dark);border-color:var(--primary)}
.danger-btn{box-shadow:none}
.workflow-card>button+button,.proposal-workflow-card>button+button{margin-top:10px}
.workflow-card>label{margin:12px 0 10px}

/* Quotation include / exclude now mirrors Database Itinerary */
.quote-simple-lists{align-items:start;gap:16px}
.quote-list-box{padding:16px;border:1px solid #e4ddd4;border-radius:15px;background:#fff}
.quote-list-box .itinerary-list-head{margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #eee8e0}
.quote-sortable-list{display:grid;gap:9px}
.quote-sortable-list .itinerary-list-item{margin:0;min-height:48px;padding:7px 8px;border:1px solid #e4ddd4;border-radius:12px;background:#fff;grid-template-columns:28px minmax(0,1fr) 34px}
.quote-sortable-list .itinerary-list-item input{min-height:36px;margin:0;border-color:transparent;background:#fbfaf8}
.quote-sortable-list .itinerary-list-item input:focus{border-color:var(--primary);background:#fff}
.quote-sortable-list .itinerary-list-drag{display:grid;place-items:center;width:28px;height:34px;border:1px solid #e8e1d8;border-radius:9px;background:#fff;cursor:grab}
.quote-sortable-list .it-list-delete{width:32px;height:34px;border:0;border-radius:9px;background:#fff1ed;color:#ba4e42;font-size:17px;cursor:pointer}
.quote-sortable-list .is-dragging{opacity:.58;box-shadow:0 10px 26px rgba(49,39,29,.12)}

/* Currency conversion */
.currency-conversion-box{margin-top:16px;padding:18px;border:1px solid #e6ded5;border-radius:15px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--primary-soft) 38%,#fff))}
.currency-rate-grid{margin-top:14px}
.currency-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #ded8d0;border-radius:12px;background:#fff;overflow:hidden;margin-top:2px}
.currency-input-wrap>span{padding:0 0 0 12px;font-size:10px;color:#78808f;white-space:nowrap}
.currency-input-wrap input{border:0!important;box-shadow:none!important;margin:0;text-align:right;background:transparent}
.currency-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.currency-result-grid article{border:1px solid #e7dfd5;border-radius:13px;background:#fff;padding:14px;min-width:0}
.currency-result-grid small,.currency-result-grid span{display:block;color:#8d929d;font-size:8.5px}
.currency-result-grid strong{display:block;margin:6px 0 4px;font-size:17px;color:#252d3c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.currency-result-grid article:not(:first-child) strong{color:var(--primary-dark)}

/* Output preview uses the same page width/margins */
.output-panels{grid-template-columns:1fr;margin-top:18px;width:100%}
.full-output-card{grid-column:1/-1;width:100%;max-width:none;padding:22px}
.output-card-head{gap:16px;align-items:flex-start}
.output-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.full-output-card pre{margin:0;border:1px solid #ece6de;background:#fbfaf8;padding:18px;border-radius:13px;font:12px/1.65 var(--app-font)!important;color:#333c4b;max-height:520px;overflow:auto}

/* Proposal settings + A4-like preview */
.proposal-template-grid{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:22px;align-items:start}
.proposal-preview-panel{position:sticky;top:15px}
.proposal-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.proposal-paper-preview{width:100%;min-height:650px;border:1px solid #e5ded5;border-radius:14px;background:#fff;padding:34px;box-shadow:0 12px 35px rgba(49,39,29,.08);color:#293247}
.proposal-preview-brand{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--primary)}
.proposal-preview-logo{width:48px;height:48px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:850;overflow:hidden;flex:0 0 auto}
.proposal-preview-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.proposal-preview-brand strong,.proposal-preview-brand small{display:block}.proposal-preview-brand strong{font-size:14px}.proposal-preview-brand small{margin-top:3px;color:var(--primary);font-size:8px;letter-spacing:.12em}
.proposal-preview-hero{padding:24px 0 17px}.proposal-preview-hero>small{color:var(--primary);font-size:8px}.proposal-preview-hero h2{margin:7px 0 8px;font-size:24px;line-height:1.18}.proposal-preview-hero p{margin:0;color:#727987;font-size:10px;line-height:1.65}
.proposal-preview-info{display:grid;grid-template-columns:90px 1fr 90px 1fr;gap:0;border:1px solid #e8e1d8;border-radius:11px;overflow:hidden;font-size:9px}.proposal-preview-info span,.proposal-preview-info strong{padding:9px 10px;border-bottom:1px solid #eee8e0}.proposal-preview-info span{background:var(--primary-soft);color:#757d8a}.proposal-preview-info strong{font-weight:700}
.proposal-preview-price{margin:18px 0;padding:16px 17px;border-radius:13px;background:var(--primary);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px}.proposal-preview-price small,.proposal-preview-price strong{display:block}.proposal-preview-price small{font-size:8px;opacity:.8}.proposal-preview-price strong{font-size:22px;margin-top:4px}.proposal-preview-price>span{font-size:8px;opacity:.88;text-align:right}
.proposal-preview-itinerary,.proposal-preview-lists>div{border-top:1px solid #eee7df;padding-top:14px;margin-top:14px}.proposal-preview-itinerary>strong,.proposal-preview-lists strong{font-size:11px;color:#2a3241}.proposal-preview-itinerary p,.proposal-preview-lists p{font-size:9px;line-height:1.5;color:#727987;margin:7px 0}
.proposal-preview-lists{display:grid;grid-template-columns:1fr 1fr;gap:18px}.proposal-preview-footer{margin-top:28px;padding-top:15px;border-top:1px solid #ece5dd;text-align:center;color:#858b97;font-size:9px;line-height:1.5}

/* Login background image now visibly works */
.login-hero-panel.has-background-image{background-image:linear-gradient(145deg,color-mix(in srgb,var(--login-left-start) 84%,transparent),color-mix(in srgb,var(--login-left-end) 90%,transparent)),var(--login-bg-image)!important;background-size:cover!important;background-position:center!important}
.login-background-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:12px}
.login-background-thumb{min-height:112px;border:1px dashed #d9d0c5;border-radius:13px;background:#fbfaf8;display:grid;place-items:center;overflow:hidden;color:#969aa3;font-size:9px}
.login-background-thumb img{width:100%;height:112px;object-fit:cover}
.login-settings-form{display:block}
.login-settings-form .settings-card-head{margin-bottom:18px}
.login-settings-form .setting-toggle-card{margin:0 0 18px}
.file-control-card{margin-top:18px!important}
.login-layout-preview{padding:20px}
.login-preview-frame{margin-top:2px}
.login-preview-right .login-card{display:grid;gap:11px;padding:24px}
.login-preview-right .login-card>p{margin:0 0 4px}
.login-preview-right .login-card label{gap:5px}
.login-preview-right .login-card button{margin-top:4px}

/* Invoice preview / PDF proportions */
.invoice-template-grid{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr)}
.invoice-preview-panel{padding:20px}
.invoice-paper-preview{min-height:650px;padding:34px;border-radius:14px}
.invoice-preview-header{padding-bottom:16px;gap:18px}.invoice-preview-header>div:last-child{text-align:right}.invoice-preview-header>div:first-child>div{font-weight:800;font-size:14px}.invoice-preview-header>div:first-child>small{display:block;margin-top:4px;color:#969aa3;font-size:8px}.invoice-preview-header strong{font-size:22px}.invoice-preview-copy{margin-top:14px;color:#747b88;font-size:9px;line-height:1.55;white-space:pre-wrap}
.invoice-preview-bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.invoice-preview-box{margin:0;padding:14px;display:grid;gap:4px;line-height:1.45}.invoice-preview-box small{color:var(--primary);font-size:8px}.invoice-preview-box strong{font-size:11px}.invoice-preview-box span{font-size:8.5px;color:#747c89}
.invoice-preview-table{border:1px solid #ebe4dc;border-radius:11px;overflow:hidden}.invoice-preview-table-head{display:grid;grid-template-columns:1fr 120px;background:var(--primary);color:#fff;font-size:8px;font-weight:800;letter-spacing:.06em}.invoice-preview-table-head span{padding:10px 12px}.invoice-preview-table-head span:last-child{text-align:right}.invoice-preview-line,.invoice-preview-total{padding:11px 12px;margin:0;font-size:9px}.invoice-preview-total{font-size:11px;background:var(--primary-soft);border-top:1px solid #e5ddd4}
.invoice-preview-section{margin-top:18px;padding-top:12px;border-top:1px solid #ece5dd}.invoice-preview-section>strong{font-size:10px}.invoice-preview-section p{white-space:pre-wrap;color:#777e8b;font-size:8.5px;line-height:1.55;margin:7px 0 0}.invoice-preview-footer{margin-top:28px;padding-top:13px;border-top:1px solid #ece5dd;line-height:1.5}

@media(max-width:1100px){.proposal-template-grid,.invoice-template-grid{grid-template-columns:1fr}.proposal-preview-panel,.invoice-preview-panel{position:static}.currency-result-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.currency-result-grid{grid-template-columns:1fr}.currency-rate-grid{grid-template-columns:1fr!important}.output-card-head{flex-direction:column}.output-actions{width:100%;justify-content:stretch}.output-actions button{flex:1}.proposal-toggle-grid,.proposal-preview-lists,.invoice-preview-bill-grid{grid-template-columns:1fr}.proposal-paper-preview,.invoice-paper-preview{padding:22px}.proposal-preview-info{grid-template-columns:78px 1fr}.login-background-control{grid-template-columns:1fr}.login-background-control button{width:100%}}
@media(max-width:480px){.proposal-paper-preview,.invoice-paper-preview{padding:17px}.proposal-preview-price{align-items:flex-start;flex-direction:column}.output-actions{flex-direction:column}.output-actions button{width:100%}}


/* v0.7.1 - final typography, spacing and theme consistency */
.itinerary-screen{--it-accent:var(--primary);--it-accent-dark:var(--primary-dark);--it-accent-soft:var(--primary-soft)}
.itinerary-screen input:focus,.itinerary-screen select:focus,.itinerary-screen textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent)}
.itinerary-screen .it-control-outline{color:var(--primary-dark);border-color:var(--primary)}
.itinerary-screen .itinerary-control-note{background:var(--primary-soft);color:var(--primary-dark)}
.itinerary-screen .itinerary-day-badge{background:var(--primary-soft);color:var(--primary-dark)}
.itinerary-screen .itinerary-add-link{color:var(--primary-dark)}

/* Keep field-to-label and field-to-action spacing comfortable everywhere. */
label,.planner-grid label,.quotation-screen label{gap:8px}
label>small,.field-help,.file-control-card small{font-size:10px!important;line-height:1.55}
.form-panel>label,.login-settings-form>label{margin-top:18px}
.form-panel>.form-grid+label,.login-settings-form>.form-grid+label,.form-panel>label+.form-grid,.login-settings-form>label+.form-grid,.form-panel>.form-grid+.form-grid{margin-top:18px}
.form-panel>.settings-actions,.form-panel>.inline-actions,.login-settings-form>.settings-actions{margin-top:22px}
input,select,textarea,.planner-grid input,.planner-grid select,.planner-grid textarea,.quotation-screen input,.quotation-screen select,.quotation-screen textarea{font-size:12.5px}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.dark-btn,.outline-accent-btn,.it-table-btn,.quote-top-tab,.tab{font-size:12px}

/* Login screen: normal readable type sizes and more breathing room. */
.login-screen-card{gap:18px;padding:40px}
.login-screen-card h1{font-size:30px;line-height:1.16}
.login-screen-card>p{font-size:12px;line-height:1.6;margin:0 0 5px}
.login-screen-card label{font-size:11px;gap:8px}
.login-input-wrap{height:54px}
.login-input-wrap input{font-size:13px}
.login-remember{font-size:10.5px!important;margin:1px 0 2px}
.login-submit{height:52px;font-size:12px;margin-top:2px}
.login-security-note{font-size:9.5px;line-height:1.5;margin-top:3px}
.login-version-label{font-size:9px!important;line-height:1.4}
.login-hero-copy p{font-size:14px}
.login-feature-tags span{font-size:9.5px}

/* Login settings live preview should remain compact but still readable. */
.login-settings-form .settings-card-head{margin-bottom:20px}
.login-settings-form .setting-toggle-card{margin-bottom:20px}
.login-layout-preview{padding:22px}
.login-preview-right .login-card{gap:14px;padding:26px}
.login-preview-right .login-card>p{font-size:10px;line-height:1.5;margin-bottom:2px}
.login-preview-right .login-card label{font-size:9px;gap:5px}
.login-preview-right .login-card input{font-size:10px;min-height:38px;padding:8px 10px}
.login-preview-right .login-card button{font-size:10px;min-height:40px;margin-top:3px}
.login-preview-right .login-card>.muted{font-size:8.5px!important;line-height:1.45}
.login-background-control{margin-top:14px}
.file-control-card{margin-top:20px!important}

/* Proposal/invoice preview type is compact A4 preview, but never microscopically small. */
.proposal-preview-brand small{font-size:9px}
.proposal-preview-hero>small{font-size:9px}.proposal-preview-hero p{font-size:10.5px}.proposal-preview-info{font-size:9.5px}
.proposal-preview-price small,.proposal-preview-price>span{font-size:9px}
.proposal-preview-itinerary p,.proposal-preview-lists p,.proposal-preview-footer{font-size:9.5px}
.invoice-preview-header>div:first-child>small{font-size:9px}.invoice-preview-copy{font-size:9.5px}.invoice-preview-box small{font-size:9px}.invoice-preview-box span{font-size:9px}
.invoice-preview-table-head{font-size:9px}.invoice-preview-line{font-size:9.5px}.invoice-preview-section p{font-size:9.5px}.invoice-preview-footer{font-size:9px}

/* Brand color controls propagate to common interactive accents. */
.brand-mark,.preview-logo,.quote-top-tab.active,.tab.active{background:var(--primary)}
.status-pill{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary-dark)}
.small-btn{background:var(--primary-soft);color:var(--primary-dark)}
.summary-number.highlight{background:var(--primary-soft)}
.template-card:hover{border-color:color-mix(in srgb,var(--primary) 55%,#ddd)}
.toast{background:var(--primary-dark)}

@media(max-width:760px){.login-screen-card{padding:30px 23px;gap:16px}.login-layout-preview{padding:17px}.proposal-paper-preview,.invoice-paper-preview{padding:22px}}
@media(max-width:480px){.login-screen-card{padding:26px 19px}.login-screen-card h1{font-size:25px}.login-hero-copy p{font-size:12.5px}.login-preview-right .login-card{padding:20px}}

/* ===== v0.8 — conversion detail, spacing polish, quick navigation ===== */
.setting-toggle-card strong,
.setting-toggle-card small{
  font-family:var(--app-font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.setting-toggle-card strong{font-size:12px!important;line-height:1.35;color:var(--ink)}
.setting-toggle-card small{font-size:10.5px!important;line-height:1.45;color:var(--muted);font-weight:500!important}

/* Consistent field / button rhythm for dense admin forms */
#invoice .form-panel,
#accounts .form-panel,
#invoice-template .form-panel,
.login-settings-form{gap:0}
#invoice .form-panel > label,
#accounts .form-panel > label,
#invoice-template .form-panel > label,
.login-settings-form > label{margin-top:14px}
#invoice .form-panel > .form-grid,
#accounts .form-panel > .form-grid,
#invoice-template .form-panel > .form-grid,
.login-settings-form > .form-grid{margin-top:14px}
#invoice .form-panel > .primary-btn,
#accounts .form-panel > .primary-btn,
#invoice-template .form-panel > .primary-btn{margin-top:20px;align-self:flex-start}
#invoice-template .form-grid:has(.check-line){margin-top:18px;margin-bottom:0;gap:14px}
#invoice-template .check-line{min-height:50px;padding:13px 15px;gap:10px}
#invoice-template .check-line input{margin:0}

input,select,textarea{line-height:1.35}
label{line-height:1.35}
.primary-btn,.ghost-btn,.outline-accent-btn,.dark-btn,.secondary-btn,.danger-btn{min-height:42px}
.settings-actions{margin-top:20px;gap:12px}
.inline-actions{gap:12px}

.currency-conversion-summary{margin-top:18px;border:1px solid #e7dfd5;border-radius:15px;background:#fff;overflow:hidden}
.currency-summary-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:15px 16px;border-bottom:1px solid #ece5dc;background:linear-gradient(180deg,var(--primary-soft),#fff)}
.currency-summary-head small{display:block;color:var(--primary);font-size:9px;letter-spacing:.12em;font-weight:800}
.currency-summary-head strong{display:block;margin-top:4px;font-size:14px;color:var(--ink)}
.currency-summary-head>span{max-width:420px;text-align:right;color:var(--muted);font-size:10.5px;line-height:1.5}
.currency-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.currency-conversion-table{min-width:790px}
.currency-conversion-table th{background:#faf8f5;color:#7c818b;font-size:9px;letter-spacing:.06em}
.currency-conversion-table th,.currency-conversion-table td{padding:13px 14px}
.currency-conversion-table th:not(:first-child),.currency-conversion-table td:not(:first-child){text-align:right}
.currency-conversion-table td{font-size:12px;font-weight:650}
.currency-conversion-table td:first-child{width:130px}
.currency-conversion-table td:first-child strong{display:block;font-size:12px;color:var(--ink)}
.currency-conversion-table td:first-child small{display:block;margin-top:3px;font-size:9px!important;letter-spacing:0!important;color:var(--muted);font-weight:500}
.currency-total-cell{color:var(--primary-dark);font-weight:850!important;background:var(--primary-soft)}

.output-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.output-close-btn{width:38px;height:38px;min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#6f7782;display:grid;place-items:center;line-height:1;font-size:20px}
.output-close-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.full-output-card{max-width:100%;margin-left:0;margin-right:0}
.full-output-card pre{width:100%;max-width:100%}

.vendor-master-head .inline-actions{flex-wrap:wrap;justify-content:flex-end}
.vendor-master-head .count-badge{align-self:center}

.quick-scroll-dock{position:fixed;right:14px;bottom:24px;z-index:70;display:grid;gap:8px;padding:7px;border:1px solid color-mix(in srgb,var(--primary) 18%,#fff);border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(25,34,40,.13);backdrop-filter:blur(10px)}
.quick-scroll-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--primary-dark);font:800 17px/1 var(--app-font);cursor:pointer;transition:.18s}
.quick-scroll-btn.is-active:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}
.quick-scroll-btn:disabled{opacity:.3;cursor:default}
@media(min-width:1000px){.main{padding-right:78px}}

@media(max-width:760px){
  .currency-summary-head{align-items:flex-start;flex-direction:column;gap:7px}
  .currency-summary-head>span{text-align:left;max-width:none}
  .vendor-master-head{align-items:flex-start;flex-direction:column;gap:14px}
  .vendor-master-head .inline-actions{width:100%;justify-content:stretch}
  .vendor-master-head .inline-actions>*{flex:1}
  .quick-scroll-dock{right:7px;bottom:10px;padding:5px;gap:6px}
  .quick-scroll-btn{width:34px;height:34px;font-size:15px}
  .main{padding-bottom:88px}
}

/* v0.9 — invoice multi-currency + authorized signer */
.invoice-currency-block{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,var(--primary-soft))}
.field-label-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.field-label-row>div{display:grid;gap:4px}.field-label-row strong{font-size:12px;color:var(--ink)}.field-label-row small{font-size:10px;line-height:1.5;color:var(--muted)}
.currency-rate-note{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:10px;font-weight:750;color:var(--primary-dark)}
.invoice-currency-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.currency-choice{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:62px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.16s ease}
.currency-choice:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.currency-choice:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent);background:var(--primary-soft)}
.currency-choice input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.currency-choice span{display:grid;gap:2px}.currency-choice strong{font-size:12px;color:var(--ink)}.currency-choice small{font-size:9px;color:var(--muted);letter-spacing:0}
.form-inline-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:#f8fafb;border:1px solid var(--line);font-size:10px;line-height:1.5;color:var(--muted)}
.table-subtext{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.invoice-preview-terbilang{margin-top:10px;padding:11px 12px;border:1px solid #ebe4dc;border-radius:10px;background:var(--primary-soft);display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start}
.invoice-preview-terbilang small{font-size:8px;font-weight:800;color:var(--primary);letter-spacing:.06em}.invoice-preview-terbilang strong{font-size:9px;line-height:1.5}
.invoice-preview-signature{width:48%;margin:26px 0 0 auto;text-align:center;display:grid;gap:5px}.invoice-preview-signature-assets{height:54px;border-bottom:1px solid #ddd5cb;display:grid;place-items:center;color:#aaa399;font-size:8px}.invoice-preview-signature>strong{font-size:10px}.invoice-preview-signature>small{font-size:8px;color:var(--muted);letter-spacing:0}
#invoice .form-panel>.invoice-currency-block{margin-top:18px}#invoice .form-panel>.invoice-currency-block+.form-grid{margin-top:18px}
#invoice-template .form-panel>label:has(#setInvoiceCreatorName){margin-top:20px}
@media(max-width:760px){.invoice-currency-options{grid-template-columns:1fr}.field-label-row{flex-direction:column}.currency-rate-note{white-space:normal}.invoice-preview-terbilang{grid-template-columns:1fr}.invoice-preview-signature{width:72%}}
.invoice-preview-signature-assets{display:flex;align-items:flex-end;justify-content:center;gap:8px}.invoice-preview-signature-assets img{max-width:74px;max-height:52px;object-fit:contain}

/* v1.0 — bilingual documents, cleaner currency controls & itinerary-style include/exclude */
.invoice-currency-block,.invoice-language-block{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--primary-soft) 55%,#fff))}
.invoice-language-block{background:#fff}
.field-label-row{gap:18px;margin-bottom:15px;align-items:flex-start}
.field-label-row>div{display:block;min-width:0}
.field-label-row strong{display:block;margin:0 0 5px;font:700 13px/1.3 var(--app-font);letter-spacing:0;color:var(--ink)}
.field-label-row small{display:block;max-width:520px;font:400 11px/1.45 var(--app-font);letter-spacing:0;color:var(--muted)}
.currency-rate-note{font:650 10px/1.2 var(--app-font);letter-spacing:0;padding:8px 11px}
.invoice-currency-options{gap:12px}
.currency-choice{min-height:68px;padding:13px 14px;gap:11px}
.currency-choice strong{font:700 13px/1.25 var(--app-font);letter-spacing:0}.currency-choice small{font:450 10px/1.25 var(--app-font);letter-spacing:0}
.document-language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.document-choice{display:flex;align-items:center;gap:11px;min-height:64px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.16s ease}
.document-choice:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.document-choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}
.document-choice input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.document-choice span{display:grid;gap:3px}.document-choice strong{font:700 12px/1.25 var(--app-font);letter-spacing:0}.document-choice small{font:450 10px/1.25 var(--app-font);letter-spacing:0;color:var(--muted)}
#invoice .form-panel>.invoice-language-block+.form-grid{margin-top:20px}
#invoice .form-panel>.invoice-language-block{margin-bottom:0}

.proposal-export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}
.proposal-export-options label{margin:0;display:grid;gap:7px;font-size:10px;font-weight:750;letter-spacing:.03em;color:var(--muted)}
.proposal-export-options select{min-height:44px}
.proposal-workflow-card .form-inline-note{margin:12px 0 14px}
.proposal-workflow-card>.primary-btn{margin-top:0}

/* Quotation include / exclude: same structure and rhythm as Database Itinerary */
.quote-simple-lists{gap:16px;margin-top:18px}
.quote-list-box{padding:18px;border-radius:16px;border-color:#e4ddd4;overflow:hidden}
.quote-list-box .itinerary-list-head{min-height:34px;margin:0 0 13px;padding:0 0 12px;align-items:center}
.quote-list-box .itinerary-list-head h4{margin:0;font:750 12px/1.3 var(--app-font);letter-spacing:0;color:var(--ink)}
.quote-list-box .itinerary-add-link{font:700 10px/1.2 var(--app-font);letter-spacing:0;color:var(--primary);padding:7px 4px}
.quote-sortable-list{gap:10px}
.quote-sortable-list .itinerary-list-item{min-height:50px;padding:7px 8px;gap:8px;border-radius:12px}
.quote-sortable-list .itinerary-list-item input{min-height:38px;padding:8px 11px;font-size:11px}
.quote-note-box{margin-top:17px;display:grid;gap:8px;font-size:10px;font-weight:750;letter-spacing:.02em;color:var(--muted)}
.quote-note-box textarea{min-height:128px;padding:14px;font-size:11px;line-height:1.55}

@media(max-width:760px){
  .document-language-options,.proposal-export-options{grid-template-columns:1fr}
  .invoice-currency-block,.invoice-language-block{padding:15px}
  .field-label-row{gap:10px}
}


/* v1.1 — quotation itinerary list parity, compact history actions, responsive refinements */
.quotation-screen .quote-it-lists{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0 0}
.quotation-screen .quote-list-box{border:1px solid #e6ded4;border-radius:16px;padding:16px 14px 14px;background:#fff}
.quotation-screen .quote-list-box .itinerary-list-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee8e2;padding:0 2px 13px;margin-bottom:11px;min-height:0}
.quotation-screen .quote-list-box .itinerary-list-head h4{margin:0;font:700 12px/1.3 var(--app-font);letter-spacing:0;color:#2a3347}
.quotation-screen .quote-list-box .itinerary-add-link{border:0;background:transparent;color:#b86c22;font:800 10px/1.2 var(--app-font);cursor:pointer;padding:3px}
.quotation-screen .quote-sortable-list{display:grid;gap:9px}
.quotation-screen .quote-sortable-list .sortable-item{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.quotation-screen .quote-sortable-list .itinerary-list-item{display:grid;grid-template-columns:30px minmax(0,1fr) 34px;gap:8px;align-items:center;background:transparent!important;border:0!important;padding:0!important;min-height:0}
.quotation-screen .quote-sortable-list .itinerary-list-item input{min-height:42px;padding:10px 12px;font:600 12px/1.35 var(--app-font)}
.quotation-screen .quote-sortable-list .itinerary-list-drag{height:34px;border:1px solid #e2dbd2;border-radius:10px;display:grid;place-items:center;color:#a18c75;background:#fff;cursor:grab;font-size:14px}
.quotation-screen .quote-sortable-list .it-list-delete{height:34px;border:0;border-radius:10px;background:#fff1ed;color:#c45f42;font-size:20px;cursor:pointer}
.quotation-screen .quote-note-box{margin-top:2px;display:grid;gap:8px;font:800 10px/1.3 var(--app-font);letter-spacing:.02em;color:#626b7d}
.quotation-screen .quote-note-box textarea{min-height:130px;padding:14px;font:500 12px/1.55 var(--app-font)}
.quote-history-actions{align-items:flex-start;flex-wrap:wrap;gap:8px;min-width:260px}
.quote-history-doc-stack{display:grid;gap:7px}
.quote-history-doc-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.quote-history-doc-group span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:9px;background:#faf8f5;border:1px solid #e8e1d7;color:#626b7d;font:700 9px/1.2 var(--app-font);white-space:nowrap}
.quote-history-doc-group .it-table-btn{min-width:54px;padding:0 10px}
@media(max-width:900px){.quotation-screen .quote-it-lists{grid-template-columns:1fr}.quote-history-actions{min-width:0}.quote-history-doc-stack{width:100%}.quote-history-doc-group span{width:100%;justify-content:center}}
@media(max-width:760px){.quotation-screen .quote-sortable-list .itinerary-list-item{grid-template-columns:28px minmax(0,1fr) 34px}.quotation-screen .quote-note-box textarea{min-height:120px}}


/* v1.2 — quotation history dropdown */
.quote-history-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.history-proposal-menu{position:relative;display:block}
.history-proposal-toggle{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.history-proposal-toggle::-webkit-details-marker{display:none}
.history-proposal-toggle::after{content:"▾";font-size:11px;line-height:1;color:var(--primary,#b86c22)}
.history-proposal-menu[open] .history-proposal-toggle::after{content:"▴"}
.history-proposal-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:252px;padding:12px;border:1px solid #e8e1d7;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(30,34,44,.12);display:grid;gap:10px}
.history-proposal-panel .quote-history-doc-group{display:grid;gap:8px}
.history-proposal-panel .quote-history-doc-group span{display:block;min-height:auto;padding:0;border:0;background:transparent;color:#626b7d;font:800 11px/1.3 var(--app-font)}
.history-proposal-currency-row{display:flex;flex-wrap:wrap;gap:8px}
.history-proposal-currency-row .it-table-btn{min-width:56px;justify-content:center}
@media(max-width:900px){.history-proposal-menu{width:100%}.history-proposal-toggle{width:100%;justify-content:center}.history-proposal-panel{position:static;margin-top:8px;min-width:0;width:100%;box-shadow:none}}


/* v1.3 — quotation history proposal menu rendered as a body-level popover */
.history-proposal-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.history-proposal-toggle>span{font-size:9px;color:var(--primary);transition:transform .15s ease}
.history-proposal-toggle.is-open{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}
.history-proposal-toggle.is-open>span{transform:rotate(180deg)}
.history-proposal-popover{position:fixed;z-index:10050;width:min(292px,calc(100vw - 20px));border:1px solid #e6ded4;border-radius:16px;background:#fff;box-shadow:0 18px 46px rgba(33,38,50,.18);overflow:hidden}
.history-proposal-popover[hidden]{display:none}
.history-proposal-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eee8e2;background:#fcfbf8}
.history-proposal-popover-head strong{font:750 12px/1.3 var(--app-font);color:var(--ink)}
.history-proposal-popover-close{width:30px;height:30px;min-height:30px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:#737987;font:500 19px/1 var(--app-font);cursor:pointer}
.history-proposal-popover-close:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.history-proposal-popover-body{display:grid;gap:12px;padding:13px 14px 14px}
.history-proposal-popover .quote-history-doc-group{display:grid;gap:8px}
.history-proposal-popover .quote-history-doc-group>span{display:block;color:#626b7d;font:750 10px/1.3 var(--app-font)}
.history-proposal-popover .history-proposal-currency-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.history-proposal-popover .history-proposal-currency-row .it-table-btn{width:100%;min-width:0;justify-content:center}
@media(max-width:560px){.history-proposal-popover{width:min(270px,calc(100vw - 16px))}.history-proposal-popover-body{padding:12px}.history-proposal-popover-head{padding:11px 12px}}


/* v1.4 — vertically centered language labels in proposal popover */
.history-proposal-popover .quote-history-doc-group>span{
  min-height:32px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border:1px solid #e8e1d7;
  border-radius:9px;
  background:#faf8f5;
  color:#626b7d;
  font:750 10px/1 var(--app-font);
  box-sizing:border-box;
}
.history-proposal-popover .quote-history-doc-group{gap:8px}


/* v1.6 — fixed application copyright + About Application */
.login-copyright{display:block;text-align:center;margin-top:2px;color:#b0b2b8;font:500 7.5px/1.4 var(--app-font);letter-spacing:0}
.app-footer-copyright{margin:34px 0 4px;padding:20px 12px 4px;border-top:1px solid var(--line,#e6e0d8);text-align:center;color:var(--muted,#858b97);font:500 10px/1.5 var(--app-font);letter-spacing:0}
.about-application-screen{max-width:1120px;margin:0 auto}
.about-hero-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:26px}
.about-product-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font:850 19px/1 var(--app-font);border:1px solid color-mix(in srgb,var(--primary) 18%,#fff)}
.about-product-copy small,.about-info-card>small{color:var(--primary);font:800 9px/1.3 var(--app-font);letter-spacing:.12em}
.about-product-copy h2{margin:5px 0 5px;font-size:25px;line-height:1.15}
.about-product-copy p{margin:0;color:var(--muted);max-width:680px;font-size:11px;line-height:1.6}
.about-version-badge{padding:9px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font:800 10px/1.2 var(--app-font);white-space:nowrap}
.about-info-grid{margin-top:18px}
.about-info-card h3{margin:6px 0 18px;font-size:17px}
.about-detail-list{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.about-detail-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:13px 15px;border-bottom:1px solid var(--line);align-items:center}
.about-detail-list>div:last-child{border-bottom:0}
.about-detail-list span{color:var(--muted);font-size:10px}
.about-detail-list strong{font-size:11px;color:var(--ink)}
.about-copyright-block{min-height:172px;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#fff,var(--primary-soft))}
.about-copyright-block strong{font-size:15px;line-height:1.45;color:var(--ink)}
.about-copyright-block p{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
@media(max-width:760px){.about-hero-card{grid-template-columns:58px minmax(0,1fr);padding:18px}.about-product-mark{width:52px;height:52px;border-radius:15px}.about-version-badge{grid-column:1/-1;width:max-content}.about-detail-list>div{grid-template-columns:1fr;gap:4px}.app-footer-copyright{margin-top:24px;font-size:9px}}


/* v1.7 — responsive off-canvas navigation */
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.mobile-menu-btn{display:none;align-items:center;gap:8px;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:750 11px/1 var(--app-font);cursor:pointer;box-shadow:0 5px 16px rgba(30,34,44,.05)}
.mobile-menu-btn span:first-child{font-size:17px;line-height:1}
.sidebar-close-btn{display:none}
.sidebar-backdrop{display:none}

@media(max-width:960px){
  body.sidebar-open{overflow:hidden}
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(320px,88vw)!important;height:100dvh!important;z-index:120;padding:20px 15px 24px!important;overflow-y:auto!important;overscroll-behavior:contain;transform:translateX(-104%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(20,27,39,.22)}
  .sidebar.is-open{transform:translateX(0)}
  .sidebar .brand-block{padding-right:42px}
  .sidebar-close-btn{display:grid;place-items:center;position:absolute;right:13px;top:15px;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:400 22px/1 var(--app-font);cursor:pointer;z-index:2}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:110;border:0;padding:0;background:rgba(21,25,35,.38);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;backdrop-filter:blur(2px)}
  .sidebar-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar .nav{display:flex!important;flex-direction:column!important;gap:4px!important}
  .sidebar .nav-group-title{display:block!important;padding:17px 10px 7px!important}
  .sidebar .nav-item{width:100%;min-height:42px;padding:10px 12px!important}
  .main{padding:0 18px 34px!important;min-width:0}
  .mobile-menu-btn{display:inline-flex}
  .topbar{min-height:78px;height:auto!important;padding:14px 0!important;gap:12px}
  .topbar-left{flex:1;min-width:0}
  .topbar-left>div:last-child{min-width:0}
  .topbar h1{font-size:22px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .eyebrow{font-size:8px}
}
@media(max-width:620px){
  .main{padding:0 12px 28px!important}
  .topbar{align-items:center!important}
  .mobile-menu-btn{min-width:42px;width:42px;padding:0;justify-content:center}
  .mobile-menu-btn span:last-child{display:none}
  .topbar h1{font-size:20px!important}
  .top-actions{gap:6px}
  .top-actions .status-pill{display:none}
  .top-actions .ghost-btn{min-height:38px;padding:8px 10px;font-size:10px}
}


/* v1.8 — responsive login hero: stacked, compact, and never clipped */
@media (max-width:1100px){
  .login-overlay{
    display:block;
    overflow-y:auto;
    overflow-x:hidden;
    background:var(--login-right-bg);
  }
  .login-hero-panel{
    min-height:0;
    height:auto;
    padding:28px 32px 30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:0;
    overflow:hidden;
  }
  .login-brand-chip{margin:0 0 24px}
  .login-hero-copy{
    margin:0;
    padding:0;
    max-width:760px;
  }
  .login-hero-copy h1{
    font-size:clamp(31px,6vw,46px);
    line-height:1.08;
    margin:13px 0 14px;
    max-width:720px;
  }
  .login-hero-copy p{
    max-width:700px;
    font-size:12.5px;
    line-height:1.58;
  }
  .login-feature-tags{
    margin-top:20px;
    gap:7px;
  }
  .login-feature-tags span{padding:6px 9px}
  .login-auth-panel{
    min-height:0;
    height:auto;
    padding:26px 24px 38px;
    display:grid;
    place-items:start center;
  }
  .login-screen-card{
    width:min(560px,100%);
    margin:0 auto;
  }
}

@media (max-width:760px){
  .login-overlay{min-height:100dvh}
  .login-hero-panel{
    padding:22px 20px 28px;
    background-position:center;
  }
  .login-deco-top{width:360px;height:360px;right:-210px;top:-170px}
  .login-deco-bottom{display:none}
  .login-brand-chip{
    margin-bottom:20px;
    padding:8px 12px 8px 8px;
    gap:10px;
    border-radius:14px;
  }
  .login-screen-logo{width:42px;height:42px;border-radius:10px}
  .login-brand-chip strong{font-size:11.5px;line-height:1.25}
  .login-brand-chip small{font-size:7.5px;line-height:1.25;margin-top:2px}
  .login-kicker{font-size:8px;letter-spacing:.13em}
  .login-hero-copy h1{
    font-size:clamp(28px,8vw,36px);
    line-height:1.08;
    margin:11px 0 12px;
  }
  .login-hero-copy p{
    font-size:11.5px;
    line-height:1.52;
  }
  .login-feature-tags{
    margin-top:16px;
    gap:6px;
  }
  .login-feature-tags span{
    font-size:7.5px;
    padding:5px 8px;
  }
  .login-auth-panel{
    position:relative;
    z-index:3;
    margin-top:-12px;
    padding:0 12px 26px;
    background:linear-gradient(180deg,transparent 0 12px,var(--login-right-bg) 12px 100%);
  }
  .login-screen-card{
    width:100%;
    padding:27px 21px;
    gap:16px;
    border-radius:22px;
    box-shadow:0 18px 44px rgba(47,38,28,.13);
  }
  .login-screen-card h1{font-size:25px;line-height:1.13}
  .login-screen-card>p{font-size:11px;line-height:1.55}
}

@media (max-width:520px){
  .login-hero-panel{padding:18px 16px 24px}
  .login-brand-chip{margin-bottom:17px;max-width:100%}
  .login-brand-chip>div:last-child{min-width:0}
  .login-brand-chip strong,.login-brand-chip small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .login-hero-copy h1{font-size:28px;margin:9px 0 10px}
  .login-hero-copy p{font-size:10.8px;line-height:1.48}
  .login-feature-tags{display:none}
  .login-auth-panel{margin-top:-10px;padding:0 10px 22px}
  .login-screen-card{padding:24px 18px;gap:15px;border-radius:20px}
  .login-input-wrap{height:49px}
  .login-input-wrap input{height:45px}
  .login-submit{height:49px}
}

@media (max-height:620px) and (max-width:1100px){
  .login-hero-panel{padding-top:18px;padding-bottom:22px}
  .login-brand-chip{margin-bottom:14px}
  .login-hero-copy h1{font-size:28px;margin:8px 0 9px}
  .login-hero-copy p{font-size:10.5px;line-height:1.4}
  .login-feature-tags{display:none}
  .login-auth-panel{padding-bottom:20px}
}


/* v1.9 — expanded participant pricing & accommodation/ticket inputs */
.participant-detail-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.ticket-grid-infant{grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(110px,.65fr))}
.flight-grid-infant{grid-template-columns:minmax(160px,.9fr) minmax(260px,1.5fr) repeat(3,minmax(105px,.55fr))}
.participant-cards-five{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.participant-cards-five .participant-card{min-width:0}
.accommodation-rule-note{margin-top:10px}
#qRooms[readonly]{background:#f5f3ef;color:#6f7782;cursor:not-allowed}
.currency-conversion-table{min-width:1120px}
@media(max-width:1350px){.participant-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participant-cards-five{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-cards-five .participant-card:last-child{grid-column:1/-1}.flight-grid-infant{grid-template-columns:repeat(3,minmax(0,1fr))}.flight-grid-infant label:nth-child(2){grid-column:span 2}}
@media(max-width:900px){.participant-detail-grid,.ticket-grid-infant,.flight-grid-infant{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-cards-five{grid-template-columns:1fr}.participant-cards-five .participant-card:last-child{grid-column:auto}}
@media(max-width:560px){.participant-detail-grid,.ticket-grid-infant,.flight-grid-infant{grid-template-columns:1fr}.flight-grid-infant label:nth-child(2){grid-column:auto}}


/* v1.10 — brand asset delete controls */
.brand-asset-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.brand-assets-panel>.danger-btn.wide{width:100%;margin-top:-3px}
.brand-assets-panel .danger-btn{background:#fff8f7;border:1px solid #efcfca;color:#b54d43;box-shadow:none}
.brand-assets-panel .danger-btn:hover{background:#fff0ed;border-color:#eabdb6}
@media(max-width:760px){.brand-asset-actions{grid-template-columns:1fr}.brand-assets-panel>.danger-btn.wide{margin-top:0}}


/* v1.11 — per-participant margins + WhatsApp language/currency controls */
.margin-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.whatsapp-export-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.whatsapp-export-options label{margin:0;display:grid;gap:7px;font-size:10px;font-weight:750;letter-spacing:.03em;color:var(--muted)}
.whatsapp-export-options select{min-height:42px}
.whatsapp-workflow-card .form-inline-note{margin:10px 0 0}
.whatsapp-workflow-card #waPreviewBtn{margin-top:10px}
@media(max-width:1100px){.margin-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.margin-control-grid,.whatsapp-export-options{grid-template-columns:1fr}}

/* v1.12 — production security/admin visibility */
[hidden]{display:none!important}
.security-admin-grid{margin-top:18px}
.security-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.security-status-grid>div{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fcfbf8}
.security-status-grid span{font-size:9px;font-weight:750;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.security-status-grid strong{font-size:11px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.security-admin-screen .it-table-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
#passwordDialog .field-help{margin:4px 0 2px}
@media(max-width:760px){.security-status-grid{grid-template-columns:1fr}.security-admin-grid{grid-template-columns:1fr}}

/* v1.13 tab-bound login session note */
.settings-inline-note{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--surface-soft,#f8fafc)}
.settings-inline-note strong{font-size:12px;letter-spacing:.02em}.settings-inline-note small{line-height:1.45;color:var(--muted,#6b7280)}


/* ===== v1.13 hotfix — prevent login theme flash / FOUC ===== */
.app-boot-splash{display:none;position:fixed;inset:0;z-index:100000;background:#f7f6f2;place-items:center}
.app-boot-spinner{width:26px;height:26px;border:2px solid #d8d5cf;border-top-color:#6f7580;border-radius:50%;animation:tpbBootSpin .75s linear infinite}
html.app-booting .app-boot-splash{display:grid}
html.app-booting .login-overlay,
html.app-booting .app-shell,
html.app-booting .quick-scroll-dock,
html.app-booting .toast{visibility:hidden!important}
html.app-ready .login-overlay:not(.hidden),html.app-ready .app-shell{animation:tpbBootReveal .12s ease-out}
@keyframes tpbBootSpin{to{transform:rotate(360deg)}}
@keyframes tpbBootReveal{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.app-boot-spinner{animation:none}.app-ready .login-overlay:not(.hidden),.app-ready .app-shell{animation:none}}
