:root{--paper:#fffdf8;--warm:#f6f1e2;--ink:#142019;--muted:#667269;--forest:#0e2620;--forest2:#163b30;--green:#0c6b39;--gold:#dba63e;--line:rgba(20,32,25,.12);--red:#b42318}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Be Vietnam Pro',system-ui,sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr}.side{background:var(--forest);color:#fff;padding:28px 20px;display:flex;flex-direction:column;gap:24px}.brand{font-family:'Fraunces',serif;font-size:1.4rem}.brand small{display:block;font-family:inherit;font-size:.72rem;color:#cfe0d6;margin-top:4px}.nav{display:flex;flex-direction:column;gap:8px}.nav button,.nav a{display:block;width:100%;text-align:left;background:transparent;border:0;color:#e8f0eb;padding:12px 14px;border-radius:8px;font:inherit;cursor:pointer}.nav button:hover,.nav button.active,.nav a:hover{background:rgba(255,255,255,.08)}.side-footer{margin-top:auto;font-size:.82rem;color:#a8bbaf}.main{padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{font-family:'Fraunces',serif;margin:0;font-size:2rem}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metric b{display:block;font-size:1.5rem;margin-top:8px}.section{margin-top:22px}.section h2{font-family:'Fraunces',serif;font-size:1.35rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:.9rem;text-align:left}th{background:var(--warm);font-weight:600}.btn{border:0;border-radius:8px;padding:10px 14px;background:var(--green);color:#fff;font:inherit;cursor:pointer}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.gold{background:var(--gold);color:var(--ink)}.btn.danger{background:var(--red)}.row{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}textarea{min-height:90px}.password-wrap{position:relative}.password-wrap input{padding-right:54px}.password-toggle{position:absolute;right:2px;top:50%;width:44px;height:44px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--green);background:var(--warm)}.password-toggle:focus-visible{outline:3px solid rgba(12,107,57,.28);outline-offset:1px}.password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-off{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-off{display:block}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-hero{background:radial-gradient(900px 600px at 20% 20%,#1f4a3b 0%,var(--forest) 55%,#081712 100%);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:space-between}.auth-hero h1{font-family:'Fraunces',serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;max-width:10ch}.auth-panel{padding:44px;display:flex;align-items:center}.auth-card{width:min(560px,100%);margin:auto}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button{flex:1;padding:10px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}.tabs button.active{background:var(--forest);color:#fff}.message{padding:12px 14px;border-radius:8px;background:var(--warm);margin:12px 0}.hidden{display:none!important}.status-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--warm);font-size:.76rem}.mobile-head{display:none}.mobile-nav-wrap{display:none}.message.ok{background:#eaf7ef}.status-pill.pending{background:#fff4cc}.status-pill.approved{background:#eaf7ef}.status-pill.suspended{background:#fde8e7}.empty-note{color:var(--muted);font-size:.9rem}
.file-link{display:block;color:var(--green);font-weight:600;text-decoration:none;margin:3px 0}.file-link:hover{text-decoration:underline}.compact{font-size:.76rem;margin-top:7px;white-space:nowrap}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-grid .wide{grid-column:span 2}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:22px}.alert-summary{display:grid;gap:10px}.alert-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink);cursor:pointer}.alert-card b{font-size:1.5rem}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-tabs button{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.filter-tabs button.active{background:var(--forest);color:#fff;border-color:var(--forest)}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}.notice{padding:12px 14px;border-left:4px solid var(--gold);background:#fff8e5;border-radius:8px;margin-bottom:12px;font-size:.9rem}.status-pill.holding,.status-pill.pending{background:#fff4cc}.status-pill.confirmed,.status-pill.completed,.status-pill.paid,.status-pill.approved,.status-pill.guaranteed{background:#eaf7ef}.status-pill.cancelled,.status-pill.refused,.status-pill.suspended{background:#fde8e7}.loading-state{display:flex;align-items:center;gap:12px;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .75s linear infinite}.error-state{display:grid;gap:10px;border-left:4px solid var(--red);background:#fde8e7}.error-state .btn{justify-self:start}.btn:disabled{opacity:.65;cursor:wait}.role-picker{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;align-items:center}.role-picker select{min-width:0}@keyframes spin{to{transform:rotate(360deg)}}
.field-help{color:var(--muted);font-size:.78rem}.discount-price{display:grid;gap:3px;min-width:145px}.original-price{color:var(--muted);text-decoration:line-through}.discount-amount{color:var(--red);font-size:.78rem;font-weight:600}.final-price{font-size:1.05rem;color:var(--green);animation:price-pulse 2.4s ease-in-out infinite}.discount-input{min-width:150px}.switch-label{display:flex;align-items:center;gap:8px;white-space:nowrap}.switch-label input{width:auto}.hold-expiry{margin-top:6px;color:var(--green);font-size:.76rem;font-weight:600}.hold-expiry.overdue{color:var(--red)}
@keyframes price-pulse{0%,100%{opacity:1}50%{opacity:.64}}
@media(prefers-reduced-motion:reduce){.spinner,.final-price{animation:none!important}}
@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-hero{min-height:35vh;padding:30px}.auth-panel{padding:24px}.shell{grid-template-columns:1fr}.side{display:none}.mobile-head{display:flex;justify-content:space-between;align-items:center;background:var(--forest);color:#fff;padding:14px 18px}.mobile-nav-wrap{display:block;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line)}.mobile-nav-wrap select{margin:0}.main{padding:18px}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:700px){
  .mobile-head{position:sticky;top:0;z-index:20;padding:12px 16px}
  .mobile-nav-wrap{position:sticky;top:60px;z-index:19;padding:10px 16px}
  .main{min-width:0;padding:18px 16px 34px}
  .topbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}
  .topbar h1{font-size:1.65rem;line-height:1.2}
  .topbar .btn{align-self:flex-start}
  .table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
  table{display:block;width:100%;min-width:0}
  thead{display:none}
  tbody{display:grid;gap:14px}
  tr{display:block;width:100%;padding:6px 14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px rgba(20,32,25,.05)}
  td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:12px;align-items:start;width:100%;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
  td::before{content:attr(data-label);color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.45;text-transform:none}
  td:last-child{border-bottom:0}
  td .btn{min-height:42px;margin:2px 4px 2px 0}
  td.empty-cell{display:block;padding:18px;text-align:center;border:0}
  td.empty-cell::before{content:none}
  .compact{white-space:normal}
  .kpi-grid{grid-template-columns:1fr 1fr}.kpi-grid .wide{grid-column:span 2}.dashboard-columns{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-card{padding:14px}
}
@media(max-width:560px){.grid,.kpi-grid,.filter-grid{grid-template-columns:1fr}.kpi-grid .wide{grid-column:auto}.auth-hero h1{font-size:2.2rem}}

/* Version 10: departure-first selling catalogue */
.catalog-toolbar{display:grid;gap:10px}.catalog-toolbar p{margin:0}.tour-explorer{display:grid;gap:14px}.continent-tabs,.region-tabs,.program-picker{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.continent-tabs button,.region-tabs button,.program-picker button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer}.continent-tabs button{border-radius:10px;background:#edf6f2;color:var(--forest)}.continent-tabs button.active{background:var(--forest);border-color:var(--forest);color:#fff}.region-tabs button.active,.program-picker button.active{background:#fff3d2;border-color:#dba63e;color:#6e4700}.program-picker{padding:12px 14px;background:#f7f4ec;border-radius:12px}.program-picker>span{color:var(--muted);font-size:.82rem;font-weight:700}.departure-list{display:grid;gap:16px;margin-top:16px}.departure-card{background:#fff;border:1px solid var(--line);border-left:5px solid #15866b;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(20,32,25,.06);display:grid;gap:16px}.departure-card.has-promotion{background:linear-gradient(135deg,#fff 0%,#fff8ed 100%);border-left-color:#e46222}.departure-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.departure-card h3{margin:4px 0 0;color:#0c6b55;font-family:'Fraunces',serif;font-size:1.25rem}.tour-code{font-size:.76rem;font-weight:800;letter-spacing:.06em;color:#6b7280}.departure-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.departure-dates span{padding:11px 12px;border-radius:10px;background:#e9f8f5;color:#075e53}.departure-dates small,.departure-details small,.departure-card-foot small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:5px}.inventory-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inventory{display:flex;align-items:center;gap:8px;border-radius:10px;padding:9px 11px;font-size:.76rem;font-weight:600}.inventory b{font-size:1.12rem}.inventory.sold{background:#eaf3ff;color:#175ca6}.inventory.held{background:#fff0e7;color:#bd4c16}.inventory.remaining{background:#eaf8ef;color:#14783d}.departure-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.departure-details>div{min-width:0;padding-top:10px;border-top:1px solid var(--line);font-size:.84rem;overflow-wrap:anywhere}.deadline{display:inline-block;border-radius:7px;padding:5px 7px;font-size:.78rem;font-weight:700}.deadline-normal{background:#edf8ef;color:#176c39}.deadline-warning{background:#fff3c7;color:#765300}.deadline-critical{background:#ffe8d7;color:#a83d0b}.deadline-overdue{background:#fde5e3;color:#a6261e}.unknown-value{color:var(--muted);font-style:italic}.departure-card-foot{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto;gap:16px;align-items:end;padding-top:14px;border-top:1px solid var(--line)}.departure-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.departure-cta{background:#e25922;box-shadow:0 5px 14px rgba(226,89,34,.24)}.final-price{color:#d84c19;font-size:1.12rem}.commission-value{color:#6e3ab2;background:#f5ecff;border-radius:7px;padding:5px 8px;display:inline-block}.registration-role{padding:12px;border:1px solid rgba(219,166,62,.5);border-radius:10px;background:#fff9e9}

.crm-dialog{width:min(780px,calc(100vw - 28px));max-height:90vh;padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(9,30,24,.28);color:var(--ink)}.crm-dialog::backdrop{background:rgba(5,20,16,.6);backdrop-filter:blur(2px)}.dialog-card{padding:0;margin:0}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#fff;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-family:'Fraunces',serif}.icon-btn{width:40px;height:40px;border:0;border-radius:50%;background:var(--warm);font-size:1.5rem;cursor:pointer}.dialog-card #dialog-body{padding:20px;overflow:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.dialog-section-head,.flight-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-section h3{margin:0}.flight-row{padding:12px 0;border-bottom:1px solid var(--line)}.filter-actions{margin-top:14px}.status-pill.consulted{background:#eaf3ff;color:#175ca6}.status-pill.has_zalo{background:#eee8ff;color:#5a37a6}.status-pill.not_qualified{background:#fde8e7;color:#a6261e}.status-pill.paid{background:#eaf8ef;color:#14783d}details>summary{cursor:pointer}

@media(max-width:900px){.departure-details{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-card-foot{grid-template-columns:1fr 1fr}.departure-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:620px){.continent-tabs,.region-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.continent-tabs button,.region-tabs button{flex:0 0 auto}.departure-card{padding:14px;border-radius:14px}.departure-card-head{flex-direction:column}.departure-dates,.inventory-strip,.departure-details,.departure-card-foot{grid-template-columns:1fr}.departure-dates{gap:7px}.inventory-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory{display:grid;gap:2px;text-align:center;padding:8px 4px}.inventory b{font-size:1rem}.departure-actions{grid-column:auto}.departure-actions .btn{flex:1}.program-picker{align-items:stretch}.program-picker>span{width:100%}.crm-dialog{width:calc(100vw - 16px);max-height:94vh}.dialog-card #dialog-body{padding:16px}.dialog-head{padding:14px 16px}.dialog-actions,.dialog-section-head,.flight-row{align-items:stretch;flex-direction:column}.dialog-actions .btn,.flight-row .btn{width:100%}}


/* Rebuilt Version 12: booking actions, fixed desktop sidebar and mobile full-width CRM. */
.booking-actions{gap:8px;align-items:center}.booking-actions .btn.danger{background:var(--red);color:#fff}.booking-actions .btn.danger:hover:not(:disabled){filter:brightness(.92)}.booking-actions .btn.danger:disabled{background:#c9b9b7;color:#fff;opacity:.62;cursor:not-allowed}
@media(min-width:901px){html,body{height:100%;overflow:hidden}.shell{height:100vh;min-height:0;overflow:hidden}.side{position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}.main{min-width:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}
@media(max-width:900px){html,body{width:100%;max-width:100%;overflow-x:hidden}.shell,.main,#content,.section,.card,.tour-explorer,.catalog-toolbar{width:100%;max-width:100%;min-width:0}.main{overflow-x:hidden}.continent-tabs,.region-tabs,.program-picker{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:thin}.continent-tabs button,.region-tabs button,.program-picker button{flex:0 0 auto}.row{max-width:100%}.booking-actions{width:100%}.table-wrap{max-width:100%}}
@media(max-width:700px){body{font-size:15px}.main{width:100%;max-width:100vw;padding:16px 12px 30px}.mobile-head,.mobile-nav-wrap{width:100%;max-width:100vw}.card{padding:14px}.btn{max-width:100%}tr{max-width:100%}td{grid-template-columns:minmax(78px,32%) minmax(0,1fr);gap:9px}.tour-card,.departure-card{max-width:100%;min-width:0}}

/* V17 - Phiếu thông tin giữ chỗ */
.hold-sheet{display:grid;gap:16px}.hold-sheet-alert{text-align:center;font-weight:800;color:#b42318;background:#fff3f0;border:1px solid #ffd6cc;border-radius:10px;padding:10px}.hold-tour-summary{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;padding:14px;border:1px solid #dce7df;border-radius:12px;background:#f8fcf9}.hold-tour-summary>div{display:flex;flex-direction:column;gap:4px}.hold-tour-summary small,.hold-price-grid small,.hold-success-grid small{font-size:11px;text-transform:uppercase;color:#667085}.hold-tour-summary span{color:#667085;font-size:12px}.hold-price-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #b7e2c0;border-radius:12px;overflow:hidden}.hold-price-grid>div{padding:12px;background:#effbef;border-right:1px solid #cfe8d4;display:flex;flex-direction:column;gap:5px}.hold-price-grid>div:last-child{border-right:0}.hold-price-grid strong{font-size:16px;color:#087a32}.hold-section{border-top:1px solid #e4e7ec;padding-top:14px}.hold-section h3{font-size:13px;margin:0 0 12px;color:#101828}.hold-guest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hold-totals{margin-left:auto;width:min(520px,100%);border:1px solid #d0d5dd;border-radius:12px;overflow:hidden}.hold-totals>div{display:flex;justify-content:space-between;gap:20px;padding:11px 14px;border-bottom:1px solid #eaecf0}.hold-totals>div:last-child{border-bottom:0}.hold-totals b{color:#087a32}.hold-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.hold-success{text-align:center;padding:10px}.hold-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#e8f7ec;color:#087a32;font-size:30px;font-weight:900}.hold-success h2{color:#087a32}.hold-success-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;text-align:left}.hold-success-grid>div{border:1px solid #e4e7ec;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}
@media(max-width:900px){.hold-tour-summary{grid-template-columns:1fr 1fr}.hold-price-grid{grid-template-columns:1fr 1fr}.hold-price-grid>div{border-bottom:1px solid #cfe8d4}.hold-guest-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.hold-tour-summary,.hold-price-grid,.hold-guest-grid,.hold-success-grid{grid-template-columns:1fr}.hold-actions .btn{width:100%}}


/* Public tour-program PDF actions for employee/agent/collaborator */
.pdf-link-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pdf-program-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;text-decoration:none;white-space:nowrap}
.departure-details .pdf-link-list .btn{font-size:.84rem}
@media(max-width:560px){.pdf-link-list{display:grid;grid-template-columns:1fr}.pdf-program-btn{width:100%}}


/* V19 - Tour theo yêu cầu + biểu mẫu nội bộ nhân viên */
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.document-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.document-card h2{margin:0 0 6px;font-size:1.1rem}.document-icon{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;background:#eaf7ef;color:#0c6b39;font-weight:800;font-size:.78rem}.private-request-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.private-request-toolbar p{margin:0;max-width:760px}.request-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.request-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.request-detail-grid .full{grid-column:1/-1}.request-detail-grid small{display:block;color:var(--muted);font-size:.74rem;font-weight:700;margin-bottom:5px}.request-detail-grid p{margin:0;white-space:pre-wrap}.status-pill.consulting{background:#eaf3ff;color:#175ca6}.status-pill.quoting{background:#fff3c7;color:#765300}.status-pill.quote_sent{background:#eee8ff;color:#5a37a6}.status-pill.won{background:#eaf8ef;color:#14783d}.status-pill.lost{background:#fde8e7;color:#a6261e}
@media(max-width:900px){.document-grid{grid-template-columns:1fr}.document-card{grid-template-columns:auto 1fr}.document-card .btn{grid-column:1/-1;width:100%}}
@media(max-width:620px){.request-detail-grid{grid-template-columns:1fr}.request-detail-grid .full{grid-column:auto}.private-request-toolbar .btn{width:100%}}

/* Nature Connect v22.6.5 */
.nature-detail-shell{max-width:1180px;margin:0 auto}.nature-program{overflow:hidden;max-width:100%}.nature-program img,.nature-program iframe,.nature-program video{max-width:100%!important;width:auto!important;height:auto!important}.nature-program table{max-width:100%!important;width:100%!important;display:block;overflow-x:auto}.nature-program *{box-sizing:border-box;max-width:100%}.nature-departure{padding:14px;border:1px solid #e6e1d6;border-radius:12px;margin-top:10px;background:#fff}.nature-departure.selected{border-color:#c9972b;background:#fffaf0}.nature-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nature-book-grid .full{grid-column:1/-1}@media(max-width:760px){.nature-book-grid{grid-template-columns:1fr}}

/* Nature Connect v22.6.7 - operations layout inspired by Nature workflow */
.nature-top-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;background:#0b8b3f;border-radius:10px}.nature-route{border:0;background:transparent;color:#fff;text-align:left;padding:9px 11px;border-radius:7px;cursor:pointer}.nature-route:hover{background:rgba(255,255,255,.14)}.nature-route b,.nature-route span{display:block}.nature-route span{font-size:.78rem;opacity:.86;margin-top:3px}.nature-ops-shell{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.nature-ops-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:4px solid #14a64b}.nature-ops-head b{font-size:1.15rem}.nature-ops-head span:not(.status-pill){display:block;color:var(--muted);margin-top:3px}.nature-filter-strip{display:flex;gap:24px;flex-wrap:wrap;padding:10px 16px;background:#f4fbf6;color:#087b37;font-size:.82rem;font-weight:800;border-bottom:1px solid #dceee2}.nature-ops-list{background:#f7f7f7}.nature-ops-row{margin:0!important;border:0!important;border-bottom:1px solid #dfe4df!important;border-radius:0!important;padding:0!important}.nature-ops-row:nth-child(even){background:#efffe9}.nature-ops-main{display:grid;grid-template-columns:minmax(260px,1.55fr) minmax(155px,.7fr) minmax(190px,.85fr) minmax(155px,.65fr) auto;gap:16px;align-items:center;padding:14px 16px}.nature-ops-title b{display:block;color:#092f1d}.nature-ops-title small{display:block;margin-top:6px;color:#68736d}.nature-seat-box,.nature-date-box,.nature-price-box{display:flex;flex-direction:column;gap:5px;font-size:.88rem}.nature-seat-box .sold{color:#164bd1}.nature-seat-box .hold{color:#e10000}.nature-seat-box .remain{color:#00943c}.nature-date-box{color:#17231c}.nature-price-box{text-align:center}.nature-price-box strong{font-size:1.45rem;color:#f01515;font-weight:500}.nature-price-box span:last-child{color:#d80000}.nature-action-box{text-align:right}.nature-inline-price{padding:0 16px 12px}.nature-docs{padding:12px 16px}.nature-docs details{padding:8px 0;border-bottom:1px solid #eee}.nature-docs summary{cursor:pointer;color:#123b25}.nature-program img{max-width:100%!important;height:auto!important}.nature-departure.selected{box-shadow:inset 4px 0 #e2a52b;background:#fff9e8!important}@media(max-width:1050px){.nature-ops-main{grid-template-columns:1fr 1fr}.nature-action-box{text-align:left}.nature-top-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.nature-top-board,.nature-ops-main{grid-template-columns:1fr}.nature-price-box{text-align:left}}

/* V22.7.3 CRM notification bell */
.crm-top-actions{display:flex;align-items:center;gap:12px}.crm-notification-center{position:relative;z-index:80}.crm-bell-button{position:relative;border:1px solid #d9dfeb;border-radius:12px;background:#fff;padding:9px 13px;font-size:21px;cursor:pointer}.crm-notification-badge{position:absolute;right:-6px;top:-7px;background:#dc2626;color:white;border-radius:20px;padding:2px 6px;min-width:20px;font:700 12px sans-serif;text-align:center}.crm-notification-badge[hidden],.crm-notification-panel[hidden]{display:none!important}.crm-notification-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(370px,90vw);max-height:470px;overflow-y:auto;background:white;border:1px solid #dce2e9;border-radius:15px;box-shadow:0 12px 35px #0002;z-index:100}.crm-notification-heading{font-weight:700;padding:16px;border-bottom:1px solid #e5e7eb}.crm-notification-item{display:flex;flex-direction:column;text-align:left;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #edf0f3;background:white;gap:4px;cursor:pointer;color:#1e293b}.crm-notification-item.unread{background:#eff6ff}.crm-notification-item span{font-size:13px}.crm-notification-item small{color:#64748b}.crm-notification-item:hover{background:#e9f2fc}@media(max-width:700px){.crm-top-actions{gap:6px}.crm-notification-panel{right:-15px}}
