/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"DM_Sans","arguments":[{"subsets":["latin"],"variable":"--font-dm-sans"}],"variableName":"dmSans"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_0d7163';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_0d7163';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__DM_Sans_Fallback_0d7163';src: local("Arial");ascent-override: 94.90%;descent-override: 29.66%;line-gap-override: 0.00%;size-adjust: 104.53%
}.__className_0d7163 {font-family: '__DM_Sans_0d7163', '__DM_Sans_Fallback_0d7163';font-style: normal
}.__variable_0d7163 {--font-dm-sans: '__DM_Sans_0d7163', '__DM_Sans_Fallback_0d7163'
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"DM_Serif_Display","arguments":[{"subsets":["latin"],"weight":"400","variable":"--font-dm-serif-display"}],"variableName":"dmSerifDisplay"} ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: '__DM_Serif_Display_0e4539';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ccc01da6a2b3d788-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Serif_Display_0e4539';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fa3e259cafa8f47e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__DM_Serif_Display_Fallback_0e4539';src: local("Times New Roman");ascent-override: 94.37%;descent-override: 30.51%;line-gap-override: 0.00%;size-adjust: 109.78%
}.__className_0e4539 {font-family: '__DM_Serif_Display_0e4539', '__DM_Serif_Display_Fallback_0e4539';font-weight: 400;font-style: normal
}.__variable_0e4539 {--font-dm-serif-display: '__DM_Serif_Display_0e4539', '__DM_Serif_Display_Fallback_0e4539'
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* ── OFFLINE FONTS: system stack matching DM Sans + DM Serif Display ── */
@font-face {
  font-family: 'DM Sans';
  src: local('Inter'), local('Segoe UI'), local('Helvetica Neue'), local('Arial');
  font-weight: 300 600;
}
@font-face {
  font-family: 'DM Serif Display';
  src: local('Georgia'), local('Times New Roman'), local('serif');
}

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --g:#2E7D52;--gl:#E8F5EE;--gd:#1a5c38;--gm:#5AA87A;
  --gold:#C9A84C;--gold-l:#FDF6E3;
  --bg:#F7F8F6;--s:#fff;--b:#E2E8E4;--t:#1a2e23;--td:#1a2e23;--m:#6B7F74;
  --red:#C0392B;--red-l:#FDECEA;--amb:#D97706;--amb-l:#FEF3C7;
  --blue:#1565C0;--blue-l:#E3F2FD;--pur:#6B21A8;--pur-l:#F3E8FF;
}
html,body{height:100%;width:100%;max-width:none;margin:0;padding:0;font-family:'DM Sans','Inter',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;font-size:13px;color:var(--t);background:var(--bg);}
.crm-app,#app{display:flex;min-height:100vh;height:100vh;width:100%;max-width:none;}

/* ── SIDEBAR ── */
#sb{width:216px;min-width:216px;background:var(--gd);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;color:#fff}
.sb-logo{padding:18px 16px 12px;border-bottom:1px solid rgba(255,255,255,0.1);position:relative}
.sb-logo-head{display:flex;align-items:flex-start;justify-content:flex-end;margin:-4px -2px 4px 0;min-height:28px}
.sb-pin-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;width:28px;height:28px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;flex-shrink:0;transition:background .12s,border-color .12s}
.sb-pin-btn:hover{background:rgba(255,255,255,.2)}
.sb-pin-btn.is-pinned{background:rgba(201,168,76,.35);border-color:var(--gold);color:var(--gold)}
.sb-logo-avatar{position:relative;width:112px;height:112px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;overflow:visible}
.sb-logo-avatar-img{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.22);-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}
.sb-logo-avatar--custom .sb-logo-avatar-img{background:var(--gd);box-shadow:0 0 0 2px rgba(255,255,255,.28)}
.sb-logo-avatar-img img,.sb-logo-avatar-img .gallery-img-cover,.sb-logo-avatar-img .sb-logo-custom{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%;display:block}
.sb-logo-edit{position:absolute;right:-2px;bottom:-2px;width:32px;height:32px;border-radius:50%;border:none;background:var(--gd);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;line-height:0;box-shadow:0 0 0 2px #fff,0 2px 10px rgba(0,0,0,.3);opacity:.95;z-index:2}
.sb-logo-edit svg{display:block;width:15px;height:15px;flex-shrink:0}
.sb-logo-avatar:hover .sb-logo-edit,.sb-logo-edit:focus-visible{opacity:1}
.sb-brand{font-family:'DM Serif Display',Georgia,'Times New Roman',serif;font-size:16px;color:#fff;line-height:1.2}
.sb-sub{font-size:9px;color:rgba(255,255,255,0.55);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}

/* Desktop unpinned: off-canvas drawer (mirrors mobile) */
@media(min-width:801px){
  .crm-app.sb-unpinned #sb{position:fixed;top:0;left:-240px;width:216px;min-width:216px;height:100vh;z-index:300;transition:left .25s ease;box-shadow:none}
  .crm-app.sb-unpinned #sb.open{left:0;box-shadow:4px 0 20px rgba(0,0,0,.3)}
  .crm-app.sb-unpinned #sb-overlay.open{display:block}
  #menu-toggle.menu-toggle-visible{display:flex}
}
.sb-sec{padding:10px 12px 3px;font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,0.45);font-weight:500}
#sb a.sbi,#sb a.sbi:visited{text-decoration:none;color:rgba(255,255,255,0.88)}
#sb a.sbi span{color:inherit}
.sbi{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;color:rgba(255,255,255,0.88);font-size:12.5px;border-left:3px solid transparent;transition:all 0.12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}
.sbi:hover{background:rgba(255,255,255,0.1);color:#fff}
.sbi.on{background:rgba(255,255,255,0.15);color:#fff;border-left-color:var(--gold)}
.sbi .sb-icon{width:20px;min-width:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(255,255,255,0.95);font-size:13px;line-height:1}
.sbi .sb-label{flex:1 1;min-width:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-badge{margin-left:auto;background:rgba(201,168,76,0.25);color:var(--gold);font-size:9.5px;padding:1px 6px;border-radius:10px;font-weight:500}
.sb-new{margin-left:auto;background:rgba(107,33,168,0.4);color:#d8b4fe;font-size:8.5px;padding:1px 5px;border-radius:10px;font-weight:600;letter-spacing:0.5px}

/* ── MAIN ── */
#main{flex:1 1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
#topbar{background:var(--s);border-bottom:1px solid var(--b);padding:0 22px;height:50px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.tb-title{font-size:15px;font-weight:600}
#content{flex:1 1;overflow-y:auto;padding:20px 22px;-webkit-overflow-scrolling:touch;}
.page{display:none}.page.active{display:block}

/* ── PAGE ROUTE LOADING (navigation skeleton) ── */
.page-route-loading{position:relative;animation:page-route-fade 0.15s ease}
.page-route-loading-bar{position:absolute;top:-20px;left:-22px;right:-22px;height:3px;background:linear-gradient(90deg,transparent,var(--g) 40%,transparent);animation:page-route-bar 1.1s ease-in-out infinite}
@keyframes page-route-bar{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes page-route-fade{from{opacity:0.55}to{opacity:1}}
.page-route-loading-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.page-route-skel{display:block;border-radius:7px;background:linear-gradient(90deg,var(--b) 0%,#eef1ee 45%,var(--b) 90%);background-size:220% 100%;animation:page-route-shimmer 1.35s ease-in-out infinite}
@keyframes page-route-shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
.page-route-skel-title{height:28px;width:min(200px,45%)}
.page-route-skel-btn{height:30px;width:68px;flex-shrink:0}
.page-route-skel-btn:first-of-type{margin-left:auto}
.page-route-skel-hd{height:18px;width:min(160px,50%)}
.page-route-skel-row{height:14px;margin-bottom:12px}
.page-route-loading-body{padding-top:4px!important}

/* ── CARDS ── */
.card{background:var(--s);border:1px solid var(--b);border-radius:11px;overflow:hidden;margin-bottom:14px}
.card-hd{padding:13px 18px;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.card-title{font-size:13.5px;font-weight:600}
.card-body{padding:18px}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl thead th{background:var(--bg);padding:9px 13px;text-align:left;font-size:10.5px;font-weight:500;color:var(--m);text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid var(--b)}
.tbl tbody td{padding:10px 13px;border-bottom:1px solid var(--b);vertical-align:middle}
.tbl tbody tr:hover{background:#FAFBF9}
.tbl tbody tr:last-child td{border-bottom:none}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:7px;font-size:12.5px;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:all 0.12s;text-decoration:none}
.btn-p{background:var(--g);color:#fff}.btn-p:hover{background:var(--gd)}
.btn-s{background:transparent;color:var(--m);border:1px solid var(--b)}.btn-s:hover{background:var(--bg);color:var(--t)}
.btn-pu{background:var(--pur-l);color:var(--pur)}.btn-pu:hover{background:#e9d5ff}
.btn-go{background:var(--gold-l);color:#92711d}.btn-go:hover{background:#f5e8b0}
.btn-sm{padding:5px 10px;font-size:12px}
.btn-danger{background:var(--red-l);color:var(--red);border:none}

/* ── FORM ── */
.fg{display:flex;flex-direction:column;gap:4px}
.lbl{font-size:11.5px;font-weight:500;color:var(--m)}
.req{color:var(--red);margin-left:2px}
input,select,textarea{padding:7px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12.5px;color:var(--t);background:var(--s);outline:none;transition:border 0.12s}
.fg input,.fg select,.fg textarea,.modal input,.modal select,.modal textarea{width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--g)}
textarea{resize:vertical;min-height:72px}
input[readonly]{background:var(--bg)}

/* ── BADGES ── */
.bdg{display:inline-flex;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}
.bdg-g{background:var(--gl);color:var(--gd)}
.bdg-a{background:var(--amb-l);color:var(--amb)}
.bdg-r{background:var(--red-l);color:var(--red)}
.bdg-b{background:var(--blue-l);color:var(--blue)}
.bdg-w{background:#F0F0EE;color:var(--m)}
.bdg-p{background:var(--pur-l);color:var(--pur)}

/* ── SUPPLIER BOOKING FORMS ── */
.sbf-tab{transition:color .15s,border-color .15s}
.sbf-tab.on{color:var(--gd)!important;border-bottom-color:var(--g)!important}
.sbf-tab:hover{color:var(--gd)!important}
.sbf-lbl{font-size:11.5px;font-weight:600;color:var(--t);display:block;margin-bottom:3px}
.sbf-inp{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12.5px;outline:none}
.sbf-inp:focus{border-color:var(--g);box-shadow:0 0 0 2px rgba(46,125,82,.12)}
textarea.sbf-inp{resize:vertical}
.sbf-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--b);flex-wrap:wrap;gap:10px}
.sbf-dl-btn{padding:8px 20px;background:var(--g);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.sbf-dl-btn:hover{background:var(--gd)}

/* ── TABS ── */
.tabs{display:flex;gap:2px;background:var(--bg);border-radius:8px;padding:3px;margin-bottom:16px;flex-wrap:wrap;width:-moz-fit-content;width:fit-content}
.tab{padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--m);transition:all 0.12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.tab.on{background:var(--s);color:var(--g);box-shadow:0 1px 3px rgba(0,0,0,0.08)}

/* ── STEPS ── */
.steps{display:flex;align-items:center;gap:3px;margin-bottom:20px;flex-wrap:wrap;gap:4px}
.step-item{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:500;border:1.5px solid transparent;color:var(--m);transition:all 0.12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.step-item.on{background:var(--gl);color:var(--g);border-color:var(--gm)}
.step-item.done{color:var(--g)}
.step-n{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex-shrink:0;background:#e2e8e4;color:var(--m);transition:all 0.12s}
.step-item.on .step-n{background:var(--g);color:#fff}
.step-item.done .step-n{background:var(--gl);color:var(--g)}
.step-line{width:20px;height:1px;background:var(--b);flex-shrink:0}

/* ── MISC ── */
.info-bar{background:var(--gl);border-left:3px solid var(--g);border-radius:0 8px 8px 0;padding:11px 14px;font-size:12.5px;color:var(--gd);margin-bottom:14px}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:11px;gap:11px;margin-bottom:16px}
.kpi{background:var(--s);border:1px solid var(--b);border-radius:9px;padding:14px;text-align:center}
.kpi-v{font-size:24px;font-weight:700;font-family:'DM Serif Display',Georgia,'Times New Roman',serif;color:var(--g)}
.kpi-l{font-size:10.5px;color:var(--m);margin-top:2px;text-transform:uppercase;letter-spacing:0.7px}
.search-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.search-row input{max-width:240px;width:auto}
.dash-filter-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.dash-filter-bar select{padding:6px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12px;width:auto;min-width:0;flex:0 1 auto}
.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}
.dash-kpi-card{background:#fff;border:1px solid var(--b);border-radius:10px;min-width:0}
.dash-kpi-hd{padding:10px 16px;border-bottom:1px solid var(--b)}
.dash-kpi-body{padding:14px 16px}
.dash-kpi-val{font-family:'DM Serif Display',Georgia,'Times New Roman',serif;font-weight:700;white-space:nowrap;line-height:1.15}
.dash-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:14px;gap:14px}
.dash-grid-left,.dash-grid-right{display:flex;flex-direction:column;gap:14px;min-width:0}
.chart-wrap{position:relative;height:200px;width:100%}
.dur-pill{background:var(--g);color:#fff;padding:3px 11px;border-radius:12px;font-size:11px;font-weight:600;display:inline-block}

/* ── MODAL ── */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:200;align-items:center;justify-content:center}
.overlay.open{display:flex}
.modal{background:var(--s);border-radius:14px;width:780px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.15)}
.modal-hd{padding:0 20px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:1}
.modal-body{padding:0}

/* ── PRODUCT CARDS IN BUILDER ── */
.prd-pick{display:flex;gap:10px;padding:10px;border:1.5px solid var(--b);border-radius:8px;margin-bottom:7px;cursor:pointer;transition:all 0.12s;background:var(--s)}
.prd-pick:hover{border-color:var(--gm)}
.prd-pick.sel{border-color:var(--g);background:var(--gl)}
.prd-icon{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;background:var(--gl);color:var(--g);font-weight:700}
.prd-pick.sel .prd-icon{background:var(--g);color:#fff}

/* ── COMM CARDS ── */
.comm-card{border-radius:9px;padding:13px;margin-bottom:9px;border:1px solid var(--b)}
.comm-out{background:var(--gl);border-color:#9FD4B5}
.comm-in{background:var(--s)}

/* ── AI ── */
#ai-loading{display:none;justify-content:center;gap:6px;padding:20px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--g);animation:pulse 1s infinite}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
#ai-box{display:none;background:var(--bg);border:1px solid var(--b);border-radius:10px;padding:18px;white-space:pre-wrap;font-size:13px;line-height:1.75;max-height:460px;overflow-y:auto;margin-top:14px}

/* ── PIPELINE ── */
.pipeline{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;overflow-x:auto;padding-bottom:4px}
.pipe-col{background:var(--bg);border-radius:10px;padding:10px;min-width:138px}
.pipe-hd{font-size:10.5px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:0.8px;padding:3px 5px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.pipe-card{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer;transition:all 0.12s}
.pipe-card:hover{border-color:var(--gm);box-shadow:0 2px 8px rgba(46,125,82,.1)}
.pipe-card .pname{font-size:12.5px;font-weight:600;margin-bottom:3px}
.pipe-card .pmeta{font-size:11px;color:var(--m)}

/* ── FINANCE ── */
.child-tag{background:#fff;border:1px solid var(--amb);color:var(--amb);padding:2px 10px;border-radius:12px;font-size:11px;cursor:pointer;display:inline-block;margin:2px;transition:all .12s}
.child-tag:hover{background:var(--amb);color:#fff}
/* ── CLIENT STAGE FILTER ── */
.csf-btn{background:#fff;border:1.5px solid var(--b);color:var(--m);padding:3px 11px;border-radius:14px;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}
.csf-btn:hover{opacity:.8}
.csf-btn.csf-active{background:var(--g);border-color:var(--g);color:#fff!important}
.fin-kpi{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}
.fin-k{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:14px}
.fin-k-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--m);margin-bottom:5px}
.fin-k-v{font-size:22px;font-weight:700;font-family:'DM Serif Display',Georgia,'Times New Roman',serif}

.chat-channel{padding:5px 14px 5px 22px;cursor:pointer;color:rgba(255,255,255,0.6);font-size:13px;border-radius:5px;margin:1px 6px;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.chat-channel:hover{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.9)}
.chat-channel.on{background:rgba(46,125,82,0.5);color:#fff;font-weight:500}
.chat-msg{display:flex;gap:10px;padding:5px 0;align-items:flex-start}
.chat-msg:hover .msg-actions{opacity:1}
.chat-avatar{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;margin-top:2px}
.msg-bubble{flex:1 1;min-width:0}
.msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.msg-name{font-size:13px;font-weight:600;color:var(--t)}
.msg-time{font-size:11px;color:var(--m)}
.msg-text{font-size:13px;line-height:1.65;color:#1a2e23;white-space:pre-wrap;word-break:break-word}
.msg-actions{opacity:0;display:flex;gap:4px;margin-top:4px;transition:opacity .15s}
.msg-action-btn{background:var(--bg);border:1px solid var(--b);border-radius:5px;padding:2px 7px;cursor:pointer;font-size:11px;color:var(--m);font-family:inherit}
.msg-action-btn:hover{background:var(--red-l);color:var(--red);border-color:var(--red)}
.msg-reaction{display:inline-flex;align-items:center;gap:3px;background:var(--bg);border:1px solid var(--b);border-radius:10px;padding:2px 8px;font-size:12px;cursor:pointer;margin-top:4px;margin-right:4px}
.msg-reaction:hover{background:var(--gl);border-color:var(--g)}
.chat-date-divider{text-align:center;font-size:11px;color:var(--m);padding:8px 0;display:flex;align-items:center;gap:10px}
.chat-date-divider::before,.chat-date-divider::after{content:'';flex:1 1;height:1px;background:var(--b)}
.dn-note-card{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:16px;margin-bottom:10px;transition:box-shadow .15s}
.dn-note-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.07)}
kbd{font-family:inherit}
.cal-grid-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}
.cal-grid-table th{background:var(--gd);color:#fff;padding:8px 6px;text-align:center;font-size:11px;font-weight:600;white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:2}
.cal-grid-table th.guide-col{background:#1a2e23;text-align:left;padding:8px 12px;min-width:130px;position:-webkit-sticky;position:sticky;left:0;z-index:3}
.cal-grid-table td{border:1px solid var(--b);padding:3px;vertical-align:top;min-width:32px;max-width:32px;height:44px;position:relative}
.cal-grid-table td.guide-name-col{background:#FAFBF9;font-weight:600;font-size:12px;padding:8px 12px;white-space:nowrap;position:-webkit-sticky;position:sticky;left:0;z-index:1;border-right:2px solid var(--b);min-width:130px;max-width:130px}
.cal-grid-table td.today-col{background:#FFFDE7}
.cal-grid-table th.today-col{background:var(--gold)}
.cal-grid-table td.weekend-col{background:#F9F9F8}
.cal-event{border-radius:3px;padding:2px 4px;font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;margin-bottom:1px;line-height:1.4}
.cal-event.ontour{background:#E3F2FD;color:#1565C0;border-left:3px solid #1565C0}
.cal-event.standby{background:var(--amb-l);color:var(--amb);border-left:3px solid var(--amb)}
.cal-event.unavailable{background:var(--red-l);color:var(--red);border-left:3px solid var(--red)}
.cal-event.training{background:var(--pur-l);color:var(--pur);border-left:3px solid var(--pur)}
.cal-event.booked{background:#E0F7FA;color:#00838F;border-left:3px solid #00838F}
.cal-avail-dot{width:8px;height:8px;border-radius:50%;background:#2E7D52;margin:auto;margin-top:6px}
.sp-card{background:var(--s);border:1px solid var(--b);border-radius:11px;overflow:hidden;transition:box-shadow .15s}
.sp-card:hover{box-shadow:0 3px 14px rgba(0,0,0,0.09)}
.sp-card-header{padding:16px 16px 12px;display:flex;gap:12px;align-items:flex-start}
.sp-avatar{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.sup-tag{display:inline-flex;align-items:center;padding:4px 11px;border-radius:20px;font-size:12px;cursor:pointer;border:1px solid var(--b);background:var(--bg);transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.sup-tag.tag-on,.sup-tag:hover{background:var(--g);color:#fff;border-color:var(--g)}
.sup-tag.tag-on:hover{background:var(--gd)}
/* ── QUICK NAV STRIP ── */
#quicknav{background:var(--s);border-bottom:2px solid var(--b);padding:0 22px;display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}
#quicknav a.qnav-btn,#quicknav a.qnav-btn:visited,#quicknav a.qnav-btn:hover{text-decoration:none!important}
.qnav-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:12.5px;font-weight:600;color:var(--m);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;margin-bottom:-2px;text-decoration:none}
.qnav-btn:hover{color:var(--g);background:var(--gl)}
.qnav-btn.active{color:var(--g);background:var(--gl);border-bottom-color:transparent}

/* ── RESPONSIVE ── */

/* ── MOBILE OVERLAY SIDEBAR ── */
#sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:299;}
#menu-toggle{display:none;background:var(--gd);border:none;color:#fff;font-size:20px;width:42px;height:42px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;}
@media(max-width:800px){
  .crm-app,#app{flex-direction:column;height:auto;min-height:100vh;}
  #sb,.crm-app.sb-unpinned #sb{position:fixed;top:0;left:-260px;width:240px;min-width:240px;height:100vh;z-index:300;transition:left 0.25s ease;box-shadow:none;}
  #sb.open,.crm-app.sb-unpinned #sb.open{left:0;box-shadow:4px 0 20px rgba(0,0,0,0.3);}
  #sb-overlay.open,.crm-app.sb-unpinned #sb-overlay.open{display:block;}
  #main{width:100%;height:auto;min-height:100vh;overflow:visible;}
  #topbar{position:-webkit-sticky;position:sticky;top:0;z-index:200;height:auto;min-height:48px;padding:0 12px;flex-wrap:wrap;gap:8px;}
  #menu-toggle,#menu-toggle.menu-toggle-visible{display:flex;}
  #content{overflow-y:visible;padding:12px;height:auto;}
  .tb-title{font-size:14px;}
  .pipeline{grid-template-columns:1fr 1fr;gap:8px;}
  .form-grid,.form-grid.c3,.form-grid.c4{grid-template-columns:1fr!important;}
  .fin-kpi{grid-template-columns:1fr 1fr!important;}
  .kpi-row{grid-template-columns:1fr 1fr 1fr;}
  .dash-kpi-grid{grid-template-columns:1fr 1fr!important;}
  .dash-grid{grid-template-columns:1fr!important;}
  .dash-grid-left,.dash-grid-right{display:flex!important;flex-direction:column!important;width:100%!important;}
  .tbl{font-size:11px;}
  .tbl thead th{padding:6px 8px;font-size:9.5px;}
  .tbl tbody td{padding:7px 8px;}
  .card-hd{flex-direction:column;align-items:flex-start;gap:6px;}
  table.tbl{display:block;overflow-x:auto;white-space:nowrap;}
  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tab{white-space:nowrap;flex-shrink:0;}
  .ai-copilot-topbtn-label{display:none}
  .ai-copilot-topbtn{padding:5px 9px!important;min-width:32px;justify-content:center}
  .step-item{font-size:11px;padding:4px 8px;}
  .step-n{width:18px;height:18px;font-size:10px;}
  .steps{gap:3px;}
  #ds1 .form-grid,#ds2{display:block!important;}
  .prd-pick{flex-wrap:wrap;}
}
@media(max-width:480px){
  .kpi-row{grid-template-columns:1fr 1fr;}
  .dash-kpi-grid{grid-template-columns:1fr!important;}
  .tabs .tab{font-size:11px;padding:5px 10px;}
}

#ai-copilot-panel{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:#fff;z-index:490;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 30px rgba(0,0,0,0.13);display:flex;flex-direction:column;font-family:'DM Sans',Inter,Segoe UI,sans-serif}
#ai-copilot-panel.open{right:0}
.ai-copilot-topbtn{display:inline-flex;align-items:center;gap:6px;border-color:var(--g)!important;color:var(--gd)!important;font-weight:600}
.ai-copilot-topbtn.on{background:var(--gl)!important;border-color:var(--g)!important;box-shadow:inset 0 0 0 1px var(--g)}
.ai-copilot-topbtn .ai-dot{width:7px;height:7px}
.ai-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:ai-pulse 2s infinite}
@keyframes ai-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.ai-msg{margin-bottom:12px;display:flex;flex-direction:column}
.ai-msg.user{align-items:flex-end}
.ai-msg.assistant,.ai-msg.system{align-items:flex-start}
.ai-bubble{max-width:88%;padding:10px 13px;border-radius:12px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.ai-msg.user .ai-bubble{background:var(--g);color:#fff;border-radius:12px 12px 2px 12px}
.ai-msg.assistant .ai-bubble{background:#F7F8F6;color:var(--td);border-radius:12px 12px 12px 2px;border:1px solid #E2E8E4}
.ai-msg.error .ai-bubble{background:#FFF0F0;color:var(--red);border:1px solid #fcc}
.ai-msg.system .ai-bubble{background:#E8F5EE;color:var(--gd);border:1px solid #b8dfc9;font-size:12px}
.ai-actions{display:flex;gap:5px;margin-top:5px;flex-wrap:wrap}
.ai-act-btn{padding:3px 9px;font-size:10.5px;border-radius:6px;cursor:pointer;border:1px solid var(--b);background:#fff;color:var(--m);font-family:inherit;font-weight:600}
.ai-act-btn:hover{background:#E8F5EE;color:var(--g);border-color:var(--g)}
.ai-quick-btn{padding:5px 11px;border-radius:20px;font-size:11.5px;font-weight:700;border:1.5px solid;cursor:pointer;font-family:inherit;white-space:nowrap}
#ai-typing{display:flex;gap:4px;padding:6px 0;align-items:center}
#ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--m);animation:ai-bounce .9s infinite}
#ai-typing span:nth-child(2){animation-delay:.15s}
#ai-typing span:nth-child(3){animation-delay:.3s}
@keyframes ai-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
#ai-fs-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;align-items:center;justify-content:center;padding:20px}
#ai-fs-modal.open{display:flex}

/* ── Page enhancements (Next.js CRM) ── */
.pipeline-forecast-bar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:10px 14px;background:#fff;border:1px solid var(--b);border-radius:9px;margin-bottom:12px}
.pipeline-forecast-val{font-size:18px;font-weight:700;font-family:'DM Serif Display',Georgia,serif}
.pipeline-forecast-lbl{font-size:10.5px;color:var(--m);margin-top:1px}
.csf-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.agents-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.agents-summary-pills{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.agent-pill{border-radius:8px;padding:10px 18px;flex:1 1;min-width:120px}
.agent-pill-lbl{font-size:11px;color:var(--m);text-transform:uppercase;letter-spacing:.7px}
.agent-pill-val{font-size:22px;font-weight:700}
.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}
.agent-card{background:#fff;border:1.5px solid #E2E8E4;border-radius:10px;padding:16px;cursor:pointer;transition:box-shadow .15s}
.agent-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.1)}
.agent-tier-pill{border:1px solid;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700}
.agent-stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;font-size:12px}
.agent-stat{background:#F7F8F6;border-radius:6px;padding:6px 8px}
.agent-stat-lbl{color:var(--m);font-size:10.5px}
.agent-stat-val{font-weight:700}
.agent-note-preview{margin-top:8px;padding:8px 10px;background:#F7F8F6;border-radius:6px;font-size:11.5px;color:var(--td);line-height:1.4}
.agent-note-preview.empty{color:var(--m);font-style:italic}
.agent-note-preview-lbl{font-size:10px;color:var(--m);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.agent-note-preview-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.agent-note-cell{max-width:220px;min-width:150px;vertical-align:middle}
.agent-note-cell-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--td);line-height:1.45}
.agent-note-cell-empty{color:var(--m);font-size:12px}
.view-toggle{display:flex;border:1.5px solid var(--b);border-radius:8px;overflow:hidden}
.view-toggle button{padding:5px 13px;font-size:12px;font-weight:600;border:none;cursor:pointer;background:#fff;color:var(--m);font-family:inherit}
.view-toggle button.on{background:var(--g);color:#fff}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:14px;padding:24px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.agent-modal{width:720px;max-width:95vw;padding:0;overflow:hidden}
.agent-modal-hd{background:var(--gd);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;color:#fff}
.agent-modal-close{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:7px;padding:6px 14px;cursor:pointer;font-size:13px;font-family:inherit}
/* Weather Guide — CRM-native 4-tab layout */
.wg-page{display:flex;flex-direction:column;gap:12px}
.wg-page-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.wg-page-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--t);line-height:1.2}
.wg-page-sub{margin:4px 0 0;font-size:12.5px;color:var(--m);line-height:1.35;max-width:42rem}
.wg-chrome{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px;background:var(--s);border:1px solid var(--b);border-radius:12px}
.wg-tabs{display:flex;gap:2px;padding:2px;background:var(--bg);border-radius:9px;flex-shrink:0}
.wg-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:7px;padding:7px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--m);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}
.wg-tab.on{background:var(--g);color:#fff}
.wg-tab:hover:not(.on){background:#fff;color:var(--gd)}
.wg-search{display:flex;align-items:center;gap:6px;flex:1 1 160px;min-width:140px;padding:7px 10px;background:var(--bg);border:1px solid transparent;border-radius:9px;transition:border-color .15s,box-shadow .15s}
.wg-search:focus-within{border-color:var(--gm);background:#fff;box-shadow:0 0 0 3px rgba(46,125,82,.1)}
.wg-search-icon{color:var(--m);font-size:13px;line-height:1;opacity:.7}
.wg-search input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:12px;color:var(--t)}
.wg-search input::placeholder{color:var(--m)}
.wg-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#e8ebe8;color:var(--m);width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}
.wg-search-clear:hover{background:var(--b);color:var(--t)}
.wg-region-chips{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}
.wg-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--b);background:#fff;border-radius:999px;padding:5px 10px;font:inherit;font-size:11.5px;font-weight:600;color:var(--m);cursor:pointer;transition:all .15s}
.wg-chip.on{background:var(--gd);border-color:var(--gd);color:#fff}
.wg-chip:hover:not(.on){border-color:var(--gm);color:var(--gd)}
.wg-meta-row{display:flex;align-items:center;gap:8px;min-height:0}
.wg-section-label{margin:0 0 2px;font-size:11.5px;font-weight:600;color:var(--m);letter-spacing:.01em}
.wg-legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wg-legend--compact .wg-legend-pill{padding:2px 7px;font-size:10.5px;gap:4px}
.wg-legend-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}
.wg-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;opacity:.85}
.wg-best-pill{background:var(--gold-l);color:#92711d;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;border:1px solid #E8D48B;white-space:nowrap}
.wg-legend-hint{font-size:11px;color:var(--m)}
.wg-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px}
.wg-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1;min-width:0}
.wg-updated{color:var(--m)}
.wg-stale{background:var(--amb-l);color:var(--amb);padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600}
.wg-flash{color:var(--g);font-weight:600}
.wg-error{color:var(--red);margin-bottom:12px;font-size:13px}
.wg-error-inline{color:var(--red);font-size:11.5px}
.wg-muted{color:var(--m);font-size:12px;line-height:1.4}
.wg-empty-state{padding:24px 16px;text-align:center;background:var(--s);border:1px dashed var(--b);border-radius:12px}
.wg-week{display:flex;flex-direction:column;gap:12px}
.wg-featured-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}
.wg-dest-list,.wg-seasonal-list{display:flex;flex-direction:column;gap:8px}
.wg-dest-card{position:relative;overflow:hidden;background:var(--s);border:1px solid var(--b);border-radius:14px;padding:14px 14px 14px 18px;box-shadow:0 1px 0 rgba(26,46,35,.03);animation:wg-card-in .35s ease both}
.wg-dest-card--featured{min-width:0}
.wg-dest-card--selected-detail{border-color:var(--gm);box-shadow:0 0 0 1px rgba(46,125,82,.15)}
.wg-selected-detail-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.wg-selected-detail-hd .wg-dest-card-hd{flex:1 1;margin-bottom:8px}
.wg-dest-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px}
.wg-dest-card-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.wg-dest-card-name{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--t)}
.wg-dest-region{display:inline-block;padding:2px 8px;border-radius:6px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.wg-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}
.wg-compact-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;overflow:hidden;display:flex;align-items:stretch;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:12px 12px 12px 16px;background:var(--s);border:1px solid var(--b);border-radius:12px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 1px 0 rgba(26,46,35,.03);animation:wg-card-in .35s ease both;transition:border-color .15s,box-shadow .15s,transform .15s}
.wg-compact-card:hover{border-color:var(--gm);transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,46,35,.06)}
.wg-compact-card--selected{border-color:var(--g);box-shadow:0 0 0 2px rgba(46,125,82,.2)}
.wg-compact-card--skel{display:flex;flex-direction:column;gap:10px;min-height:88px;padding:12px 12px 12px 16px;background:var(--s);border:1px solid var(--b);border-radius:12px}
.wg-compact-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px}
.wg-compact-card-main{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1}
.wg-compact-card-hd{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.wg-compact-card-name{margin:0;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--t)}
.wg-compact-comfort{display:flex;align-items:baseline;gap:6px}
.wg-compact-score{font-size:16px;font-weight:700;color:var(--g);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}
.wg-compact-label{font-size:11px;font-weight:600;color:var(--m)}
.wg-compact-today{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--day-bg,var(--bg));color:var(--day-fg,var(--t));flex-shrink:0}
.wg-compact-today-meta{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.wg-compact-today-rating{font-size:10.5px;font-weight:700}
.wg-compact-today-temps{font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}
.wg-skel-compact-today{height:44px;width:72px;border-radius:10px;align-self:flex-end}
.wg-comfort{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:12px;background:var(--bg)}
.wg-comfort-score{font-size:20px;font-weight:700;color:var(--g);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.wg-comfort-meta{display:flex;flex-direction:column;gap:1px}
.wg-comfort-label{font-size:12px;font-weight:700;color:var(--t)}
.wg-comfort-sub{font-size:10.5px;color:var(--m)}
.wg-day-strip,.wg-month-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}
.wg-month-strip{grid-template-columns:repeat(12,minmax(0,1fr));overflow-x:auto;gap:4px}
.wg-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;border-radius:12px;background:var(--day-bg,var(--bg));color:var(--day-fg,var(--t));border:1px solid transparent;min-width:0;transition:transform .15s,box-shadow .15s}
.wg-day:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,46,35,.08)}
.wg-day--today{border-color:var(--g);box-shadow:0 0 0 1px rgba(46,125,82,.2)}
.wg-day-top{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.wg-day-wd{font-size:9.5px;font-weight:700;text-transform:uppercase;opacity:.75;letter-spacing:.04em}
.wg-day-num{font-size:13px;font-weight:700}
.wg-day-rating{font-size:10px;font-weight:700}
.wg-day-temps{display:flex;align-items:baseline;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.wg-day-hi{font-size:13px;font-weight:700}
.wg-day-lo{font-size:10.5px;opacity:.7}
.wg-day-rain{font-size:9px;font-weight:600;opacity:.8}
.wg-day-rain--dry{opacity:.55;font-weight:500}
.wg-rain-track{width:70%;height:3px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden;margin-top:1px}
.wg-rain-fill{height:100%;border-radius:99px;background:currentColor;opacity:.55}
.wg-glyph{width:18px;height:18px;margin:2px 0;position:relative}
.wg-glyph--sun{border-radius:50%;background:currentColor;opacity:.55;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.wg-glyph--cloud{border-radius:8px 8px 6px 6px;background:currentColor;opacity:.4;width:16px;height:10px;margin-top:6px}
.wg-glyph--cloud::after{content:'';position:absolute;left:4px;top:-4px;width:10px;height:10px;border-radius:50%;background:currentColor}
.wg-glyph--rain{border-radius:8px 8px 4px 4px;background:currentColor;opacity:.4;width:14px;height:8px;margin-top:4px}
.wg-glyph--rain::before,.wg-glyph--rain::after{content:'';position:absolute;bottom:-5px;width:2px;height:5px;border-radius:1px;background:currentColor;opacity:.8}
.wg-glyph--rain::before{left:4px;transform:rotate(15deg)}
.wg-glyph--rain::after{right:4px;transform:rotate(15deg)}
.wg-glyph--storm{border-radius:6px;background:currentColor;opacity:.45;-webkit-clip-path:polygon(40% 0,100% 0,60% 45%,90% 45%,20% 100%,45% 55%,15% 55%);clip-path:polygon(40% 0,100% 0,60% 45%,90% 45%,20% 100%,45% 55%,15% 55%)}
.wg-glyph--fog{height:12px;width:16px;background:repeating-linear-gradient(to bottom,currentColor 0 2px,transparent 2px 4px);opacity:.45;margin-top:4px;border-radius:2px}
.wg-seasonal{display:flex;flex-direction:column;gap:16px}
.wg-seasonal-group{display:flex;flex-direction:column;gap:8px}
.wg-seasonal-group-title{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:capitalize;letter-spacing:-.01em}
.wg-seasonal-group-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.wg-seasonal-row{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:12px 14px;animation:wg-card-in .35s ease both}
.wg-seasonal-row-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.wg-seasonal-name{margin:0 0 4px;font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--t)}
.wg-month-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:9px;padding:7px 3px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;transition:filter .12s,transform .12s}
.wg-month-cell:hover{filter:brightness(.97);transform:translateY(-1px)}
.wg-month-cell--best{box-shadow:inset 0 0 0 2px var(--gold)}
.wg-month-abbr{font-size:9px;font-weight:700;text-transform:uppercase;opacity:.75}
.wg-month-code{font-size:13px;font-weight:700}
.wg-month-temp{font-size:8.5px;opacity:.8;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.wg-foot{font-size:11px;color:var(--m);margin:2px 0 0}
.wg-skel{display:block;background:linear-gradient(90deg,#e8ebe8 25%,#f4f6f4 50%,#e8ebe8 75%);background-size:200% 100%;animation:wg-shimmer 1.2s ease-in-out infinite;border-radius:8px}
.wg-skel-title{height:18px;width:120px}
.wg-skel-badge{height:28px;width:88px;border-radius:10px}
.wg-skel-daycard{height:96px;width:100%;border-radius:12px}
.wg-dest-card--skel{opacity:.85}
@keyframes wg-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes wg-card-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wg-region{display:flex;flex-direction:column;gap:10px}
.wg-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}
.wg-region-card{background:var(--s);border:1px solid var(--b);border-radius:12px;overflow:hidden;min-width:0}
.wg-region-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;font-size:13px;font-weight:700;text-transform:capitalize}
.wg-region-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.55);font-size:11px;font-weight:700}
.wg-region-body{padding:4px 14px 10px}
.wg-region-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid var(--b);font-size:12.5px}
.wg-region-row:last-child{border-bottom:none}
.wg-region-name{font-weight:600;color:var(--t);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wg-region-bars{display:flex;gap:2px;flex-shrink:0}
.wg-region-dot{width:7px;height:7px;border-radius:2px}
.wg-region-stats{font-size:11px;font-weight:600;color:var(--m);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}
.wg-best{display:flex;flex-direction:column;gap:10px}
.wg-month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}
.wg-month-card{background:var(--s);border:1px solid var(--b);border-radius:12px;overflow:hidden;min-width:0}
.wg-month-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;font-size:13px;font-weight:700;border-bottom:1px solid var(--b);background:var(--gl);color:var(--t)}
.wg-month-hd-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fff;border:1px solid #cfe8d8;font-size:10.5px;font-weight:700;color:var(--g)}
.wg-month-body{padding:10px 12px 12px;font-size:12px;display:flex;flex-direction:column;gap:8px}
.wg-month-chip{padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid transparent}
.wg-month-chip-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.wg-month-chip-hd b{font-size:12.5px;font-weight:700;color:var(--t)}
.wg-month-chip-activity{font-size:11px;color:var(--m);line-height:1.35}
.wg-edit-modal{width:420px;max-width:95vw}
.wg-edit-title{font-size:15px;font-weight:600;margin-bottom:4px}
.wg-edit-codes{display:flex;gap:10px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}
.wg-edit-code{border:2px solid transparent;border-radius:10px;padding:10px 14px;cursor:pointer;text-align:center;min-width:84px;font:inherit}
.wg-edit-code.on{border-color:var(--g)}
.wg-edit-actions{display:flex;justify-content:flex-end;gap:8px}
.wg-cell-code{font-size:15px;font-weight:700;line-height:1.1}
.wg-cell-label{font-size:9.5px;font-weight:600;opacity:.9}
@media (max-width:900px){
  .wg-featured-row{grid-template-columns:1fr}
  .wg-region-grid{grid-template-columns:1fr}
  .wg-day-strip{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}
  .wg-month-strip{grid-template-columns:repeat(12,minmax(52px,1fr))}
  .wg-selected-detail-hd{flex-wrap:wrap}
  .wg-region-row{grid-template-columns:1fr auto;gap:6px 10px}
  .wg-region-bars{grid-column:1 / -1}
}
.gallery-filter-bar{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:12px 14px;margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gallery-filter-bar input,.gallery-filter-bar select{padding:6px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12px}
.gallery-filter-count{background:#FEF3C7;color:#92400E;padding:2px 9px;border-radius:8px;font-size:11.5px;font-weight:600}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}
.gallery-card{border-radius:10px;overflow:hidden;border:1px solid var(--b);transition:box-shadow .15s}
.gallery-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}
.gallery-card-img{height:200px;position:relative}
.gallery-card-img-btn{width:100%;padding:0;border:none;background:transparent;cursor:pointer;display:block;font-family:inherit}
.gallery-card-img-btn:hover{opacity:.95}
.gallery-card-img-btn:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.gallery-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.9)}
.gallery-region-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.5);color:#fff;padding:2px 7px;border-radius:8px;font-size:10px;font-weight:600}
.gallery-slot-badge{position:absolute;bottom:8px;right:8px;background:rgba(46,125,82,.88);color:#fff;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:600}
.gallery-card-actions{position:absolute;top:8px;left:8px;display:flex;gap:4px;opacity:0;transition:opacity .12s}
.gallery-card:hover .gallery-card-actions{opacity:1}
.gallery-edit-btn,.gallery-del-btn{background:rgba(0,0,0,.65);color:#fff;border:none;border-radius:6px;padding:3px 8px;cursor:pointer;font-size:11px;line-height:1}
.gallery-del-btn{background:rgba(200,0,0,.75)}
.gallery-edit-btn:hover{background:rgba(46,125,82,.9)}
.gallery-del-btn:hover{background:rgba(180,0,0,.9)}
.gallery-card-body{padding:10px 12px}
.gallery-tag{background:var(--gl);color:var(--gd);border-radius:12px;font-size:10px;padding:2px 8px}
.gallery-tag-more{background:#F0F0EE;color:var(--m)}
.gallery-tag-removable{display:inline-flex;align-items:center;gap:4px}
.gallery-tag-removable button{background:none;border:none;color:var(--gd);cursor:pointer;font-size:12px;line-height:1;padding:0}
.gallery-photo-modal{width:560px;max-width:95vw}
.gallery-photo-modal-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.gallery-modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--m);line-height:1}
.gallery-modal-preview{height:140px;border-radius:10px;background:center/cover no-repeat;margin-bottom:14px;border:1px solid var(--b)}
.gallery-upload-modal{width:1080px;max-width:96vw;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.gallery-upload-modal-hd{border-radius:14px 14px 0 0;padding:16px 20px!important;margin:0!important}
.gallery-upload-modal-hd-text{display:flex;align-items:center;gap:12px}
.gallery-upload-modal-icon{font-size:22px;line-height:1;opacity:.95}
.gallery-upload-modal-title{color:#fff;font-size:15px;font-weight:700;line-height:1.25}
.gallery-upload-modal-subtitle{color:rgba(255,255,255,.82);font-size:11.5px;margin-top:2px;font-weight:400}
.gallery-upload-modal-body{padding:20px;overflow-y:auto;flex:1 1;background:var(--bg)}
.gallery-upload-modal-ft{padding:14px 20px;border-top:1px solid var(--b);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:0 0 14px 14px}
.gallery-upload-modal-ft-actions{display:flex;gap:8px;margin-left:auto}
.gallery-upload-delete-btn{color:var(--red)!important;border-color:rgba(200,0,0,.35)!important}
.gallery-upload-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--m);background:var(--s);border:1px solid var(--b);border-radius:8px;padding:8px 12px;margin-bottom:16px}
.gallery-upload-status-dot{width:8px;height:8px;border-radius:50%;background:var(--g);animation:gallery-pulse 1.2s ease infinite}
@keyframes gallery-pulse{0%,100%{opacity:.4}50%{opacity:1}}
.gallery-upload-layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(300px,380px);grid-gap:20px;gap:20px;align-items:start}
@media(max-width:720px){.gallery-upload-layout{grid-template-columns:1fr}}
.gallery-upload-visual-col{position:-webkit-sticky;position:sticky;top:0}
.gallery-upload-stack-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--m);margin-bottom:8px}
.gallery-upload-stack{display:flex;flex-direction:column;gap:8px}
.gallery-upload-pair-meta{font-size:11px;color:var(--m);margin-top:10px;padding:8px 10px;background:var(--s);border-radius:8px;border:1px solid var(--b)}
.gallery-upload-form-col{display:flex;flex-direction:column;gap:14px}
.gallery-upload-section{background:#fff;border:1px solid var(--b);border-radius:12px;padding:16px 18px}
.gallery-upload-section-hd{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--b)}
.gallery-upload-section-title{margin:0;font-size:13px;font-weight:700;color:var(--gd)}
.gallery-upload-section-hint{margin:4px 0 0;font-size:11px;color:var(--m);line-height:1.4}
.gallery-upload-section .fg{margin-bottom:12px}
.gallery-upload-section .fg:last-child{margin-bottom:0}
.gallery-upload-section .fg input,.gallery-upload-section .fg select{padding:9px 12px;border:1px solid var(--b);border-radius:8px;font-size:13px;background:#fff}
.gallery-upload-tour-code{font-size:10px;font-family:monospace;color:var(--g);margin-top:4px}
.gallery-upload-slot-pill{display:inline-block;margin-top:8px;font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:12px;background:#FEF3C7;color:#92400E}
.gallery-upload-slot-pill.complete{background:var(--gl);color:var(--g)}
.gallery-upload-single{display:grid;grid-template-columns:minmax(280px,400px) 1fr;grid-gap:20px;gap:20px;align-items:start}
@media(max-width:640px){.gallery-upload-single{grid-template-columns:1fr}}
.gallery-upload-single-visual{position:-webkit-sticky;position:sticky;top:0}
.gallery-upload-single-form{display:flex;flex-direction:column;gap:14px}
.gallery-upload-current-size{font-size:11px;color:var(--m);margin-top:8px;text-align:center}
.fg-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}
@media(max-width:520px){.fg-row{grid-template-columns:1fr}}
.gallery-upload-zone{position:relative;border:2px dashed var(--b);border-radius:12px;background:var(--s);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;overflow:hidden;min-height:160px}
.gallery-upload-zone.stacked{min-height:140px}
.gallery-upload-zone:hover:not(.has-image),.gallery-upload-zone.dragover{border-color:var(--g);background:var(--gl);box-shadow:0 0 0 3px rgba(46,125,82,.08)}
.gallery-upload-zone.has-image{border-style:solid;padding:0;min-height:140px}
.gallery-upload-zone-badge{position:absolute;top:8px;left:8px;z-index:2;background:rgba(46,125,82,.92);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px}
.gallery-upload-zone-preview{position:absolute;inset:0;background:center/cover no-repeat}
.gallery-upload-zone-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:10px;opacity:0;transition:opacity .15s}
.gallery-upload-zone.has-image:hover .gallery-upload-zone-overlay{opacity:1}
.gallery-upload-zone-change{color:#fff;font-size:11px;font-weight:600}
.gallery-upload-zone-size{color:rgba(255,255,255,.85);font-size:10px;font-family:monospace;margin-top:2px}
.gallery-upload-zone-clear{position:absolute;top:8px;right:8px;z-index:3;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:12px;cursor:pointer;line-height:1;opacity:0;transition:opacity .15s}
.gallery-upload-zone.has-image:hover .gallery-upload-zone-clear{opacity:1}
.gallery-upload-zone-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;text-align:center;min-height:inherit}
.gallery-upload-zone-icon{font-size:28px;margin-bottom:6px;opacity:.7}
.gallery-upload-zone-label{font-size:12.5px;font-weight:600;color:var(--gd)}
.gallery-upload-zone-opt{font-size:10px;font-weight:500;color:var(--m);margin-left:6px}
.gallery-upload-zone-sub{font-size:11px;color:var(--m);margin-top:2px}
.gallery-upload-zone-hint{font-size:10px;color:var(--m);margin-top:8px;opacity:.85}
.gallery-stack-editor{display:flex;flex-direction:column;gap:8px}
.gallery-stack-editor-hint{font-size:11px;color:var(--m);line-height:1.5;margin:0 0 10px}
.gallery-stack-editor-scroll{display:flex;flex-direction:column;gap:10px;max-height:calc(4 * 162px + 3 * 10px);overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}
.gallery-stack-editor-scroll.has-scroll{border:1px solid var(--b);border-radius:10px;padding:8px 6px 8px 8px;background:#fafcfb}
.gallery-stack-scroll-hint{margin:0;font-size:10.5px;color:var(--m);text-align:center}
.gallery-stack-editor-list{display:flex;flex-direction:column;gap:10px}
.gallery-stack-editor-item{display:grid;grid-template-columns:200px 1fr;grid-gap:10px;gap:10px;padding:10px;background:#fff;border:1px solid var(--b);border-radius:10px;flex-shrink:0}
.gallery-stack-editor-item.starred{border-color:#E8C547;box-shadow:0 0 0 1px rgba(232,197,71,.35)}
.gallery-stack-editor-item-visual{position:relative;height:140px;border-radius:8px;overflow:hidden;border:1px solid var(--b)}
.gallery-stack-editor-thumb-btn{display:block;position:absolute;inset:0;padding:0;border:none;background:transparent;cursor:pointer}
.gallery-stack-editor-thumb-btn:disabled{cursor:not-allowed}
.gallery-stack-editor-thumb{position:absolute;inset:0;background:center/cover no-repeat;pointer-events:none}
.gallery-stack-editor-thumb-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:11px;font-weight:700;opacity:0;transition:opacity .15s;pointer-events:none}
.gallery-stack-editor-thumb-btn:hover:not(:disabled) .gallery-stack-editor-thumb-hover{opacity:1}
.gallery-stack-editor-item-ft{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gallery-stack-editor-item-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gallery-stack-preview-link{padding:0;border:none;background:none;font-size:10.5px;font-weight:600;color:var(--g);cursor:pointer;font-family:inherit}
.gallery-stack-preview-link:hover{text-decoration:underline}
.gallery-stack-preview-link:disabled{opacity:.5;cursor:not-allowed}
.gallery-stack-remove-link{padding:0;border:none;background:none;font-size:10.5px;font-weight:600;color:var(--red);cursor:pointer;font-family:inherit}
.gallery-stack-remove-link:hover{text-decoration:underline}
.gallery-stack-remove-link:disabled{opacity:.5;cursor:not-allowed}
.gallery-stack-editor-remove{position:absolute;top:8px;right:8px;z-index:3;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.58);color:#fff;font-size:12px;cursor:pointer;line-height:1;opacity:.95;transition:background .15s,opacity .15s}
.gallery-stack-editor-remove:hover{background:rgba(198,40,40,.92)}
.gallery-stack-editor-remove:disabled{opacity:.45;cursor:not-allowed}
.gallery-draft-viewer .gallery-tour-viewer-stage{display:flex;align-items:center;justify-content:center;padding:12px}
.gallery-draft-viewer-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.gallery-draft-viewer-thumb{position:absolute;inset:0;background:center/cover no-repeat}
.gallery-stack-star-badge{position:absolute;bottom:6px;left:6px;z-index:2;font-size:9px;font-weight:700;padding:2px 7px;border-radius:6px;background:rgba(232,197,71,.95);color:#5c4a00}
.gallery-stack-star-badge.slot-1{background:rgba(46,125,82,.92);color:#fff}
.gallery-stack-star-badge.slot-2{background:rgba(21,101,192,.92);color:#fff}
.gallery-stack-editor-item-meta{display:flex;flex-direction:column;gap:6px;min-width:0}
.gallery-stack-caption-input{width:100%;padding:7px 10px;border:1px solid var(--b);border-radius:7px;font-size:12px;font-family:inherit}
.gallery-stack-star-actions{display:flex;gap:6px;flex-wrap:wrap}
.gallery-star-btn{padding:4px 10px;border-radius:14px;border:1.5px solid var(--b);background:#fff;font-size:10.5px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--m);transition:all .12s}
.gallery-star-btn:hover{border-color:#E8C547;color:#92400E}
.gallery-star-btn.on{background:linear-gradient(135deg,#FEF3C7,#FDE68A);border-color:#E8C547;color:#92400E}
.gallery-star-btn-sm{padding:2px 8px;font-size:10px}
.gallery-stack-editor-pending .gallery-upload-zone{min-height:140px}
.gallery-pair-star-indicator{color:#E8C547;margin-left:4px;font-size:11px}
.gallery-tour-add-btn{width:100%;margin-top:10px}
.gallery-tag-selector{max-height:220px;overflow-y:auto;border:1px solid var(--b);border-radius:8px;padding:10px;background:var(--bg)}
.gallery-tag-category{margin-bottom:10px}
.gallery-tag-category:last-child{margin-bottom:0}
.gallery-tag-category-lbl{font-size:10px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.gallery-tag-pills{display:flex;flex-wrap:wrap;gap:5px}
.gallery-tag-pill{padding:3px 9px;border-radius:14px;font-size:10.5px;border:1.5px solid var(--b);background:#fff;cursor:pointer;font-family:inherit;transition:all .1s}
.gallery-tag-pill.on{background:var(--g);color:#fff;border-color:var(--g)}
.gallery-tag-pill:hover:not(.on){border-color:var(--gm);background:var(--gl)}
.gallery-custom-tag-row{display:flex;gap:6px;margin-top:8px}
.gallery-custom-tag-row input{flex:1 1;padding:6px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12px}
.gallery-selected-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.fx-rate-pill{display:flex;align-items:center;gap:6px;background:var(--blue-l);border:1px solid #bbdefb;border-radius:20px;padding:3px 10px;font-size:11px;color:var(--blue)}
.pl-sticky{position:-webkit-sticky;position:sticky;left:0;background:#EEF7F2;z-index:2;min-width:152px}
.pl-code{font-size:10px;color:#2E7D52;font-family:monospace;background:#E8F5EE;padding:2px 5px;border-radius:4px}
.planner-hub-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--gd);border-radius:10px;margin-bottom:16px;flex-wrap:wrap}
.hub-pill{background:rgba(255,255,255,.15);color:#fff;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}
.hub-pill-red{background:rgba(192,57,43,.7)}
.hub-pill-gold{background:rgba(201,168,76,.4)}
.hub-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--b);font-size:12.5px}
.hub-action-btn{border-radius:4px;padding:2px 7px;cursor:pointer;font-size:10px;font-family:inherit}
.hub-done{background:var(--gl);color:var(--g);border:1px solid var(--gm)}
.planner-nav{display:flex;gap:6px;background:var(--bg);border:1px solid var(--b);border-radius:8px;padding:3px;align-items:center}
.planner-nav button{padding:5px 10px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--m)}
.planner-nav span{padding:5px 14px;font-size:13px;font-weight:600;min-width:140px;text-align:center}
.planner-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}
.planner-day-col{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:8px;min-height:80px}
.planner-day-today{border-color:var(--g);background:var(--gl)}
.planner-day-hd{font-size:10.5px;font-weight:700;color:var(--m);margin-bottom:6px;text-transform:uppercase}
.planner-task{font-size:10.5px;padding:4px 6px;border-radius:5px;margin-bottom:4px;background:#fff;border-left:3px solid var(--amb)}
.planner-task-chip{display:block;width:100%;padding:0;border:none;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;line-height:1.35}
.planner-task-expand{margin-top:6px;padding:6px 8px;background:#fafafa;border-radius:5px;border:1px solid var(--b)}
.planner-task-expand-text{font-size:10.5px;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}
.planner-note-textarea{width:100%;min-height:180px;padding:12px;border:1px solid var(--b);border-radius:8px;font-size:13px;line-height:1.5;resize:vertical;background:#fff}
.planner-note-textarea-inline{min-height:140px;border:none;border-radius:0;box-shadow:none}
.planner-note-board{background:#fff;border-bottom:1px solid var(--b);padding:14px 16px}
.planner-note-board-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;flex-wrap:wrap}
.planner-status-select{padding:6px 10px;border:1px solid var(--b);border-radius:7px;font-size:12px;background:#fff;min-width:130px}
.planner-status-select-sm{padding:4px 8px;font-size:11px;min-width:110px;flex-shrink:0}
.planner-task-expand-actions{margin-top:6px}
.planner-note-modal .fg{margin-bottom:0}
.planner-priority-high{border-left-color:var(--red)!important}
.planner-priority-low{border-left-color:var(--g)!important}
.planner-completed-wrap{border-top:1px solid var(--b)}
.planner-completed-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border:none;background:#fff;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--t);text-align:left;transition:background .15s}
.planner-completed-toggle:hover{background:var(--bg)}
.planner-completed-chevron{font-size:12px;color:var(--m);flex-shrink:0;margin-left:8px}
.planner-completed-panel{padding:0 16px 16px;background:#fafafa;border-top:1px solid var(--b)}
.planner-completed-search{width:100%;padding:10px 12px;border:1px solid var(--b);border-radius:8px;font-size:13px;background:#fff;margin-bottom:12px;box-sizing:border-box}
.planner-completed-search:focus{outline:none;border-color:var(--g)}
.planner-completed-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.planner-completed-filter-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--b);border-radius:20px;background:#fff;font-size:12px;font-weight:600;color:var(--m);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.planner-completed-filter-btn:hover{border-color:var(--g);color:var(--g)}
.planner-completed-filter-btn.on{background:var(--g);border-color:var(--g);color:#fff}
.planner-completed-filter-count{font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;background:rgba(0,0,0,.08)}
.planner-completed-filter-btn.on .planner-completed-filter-count{background:rgba(255,255,255,.25)}
.planner-completed-filter-summary{font-size:12px;color:var(--m);margin-bottom:12px}
.planner-completed-custom-range{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px;background:#fff;border:1px solid var(--b);border-radius:8px;margin-bottom:12px}
.planner-completed-date-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--m);flex:1 1;min-width:140px}
.planner-completed-date-field input{padding:8px 10px;border:1px solid var(--b);border-radius:7px;font-size:13px;background:#fff;color:var(--t)}
.planner-completed-date-field input:focus{outline:none;border-color:var(--g)}
.planner-completed-empty{padding:20px 0;text-align:center;font-size:13px;color:var(--m)}
.planner-completed-group{margin-bottom:16px}
.planner-completed-group:last-child{margin-bottom:0}
.planner-completed-group-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--m);padding:8px 0 10px;border-bottom:1px solid var(--b);margin-bottom:10px}
.planner-completed-item{background:#fff;border:1px solid var(--b);border-left:4px solid var(--amb);border-radius:8px;padding:14px 16px;margin-bottom:10px}
.planner-completed-item:last-child{margin-bottom:0}
.planner-completed-item-text{font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;font-weight:500;color:var(--t)}
.planner-completed-item-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.planner-completed-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--m)}
.planner-completed-status-pill{background:var(--gl);color:var(--g);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}
.forecast-tbl{width:100%;border-collapse:collapse;font-size:12px}
.forecast-tbl th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--m);background:var(--s);border-bottom:1px solid var(--b);white-space:nowrap}
.forecast-tbl td{padding:8px 12px;border-bottom:1px solid var(--b)}
.forecast-tbl tfoot tr{background:var(--gl);border-top:2px solid #2E7D52}
.prob-bar{width:50px;height:6px;background:#E2E8E4;border-radius:3px;flex-shrink:0}
.prob-bar-fill{height:6px;background:#2E7D52;border-radius:3px}

/* ── Tour Design & Products ── */
.td-steps{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--b);border-radius:10px;overflow:hidden}
.td-step{flex:1 1;display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;background:var(--bg);border-right:1px solid var(--b);transition:background .12s}
.td-step:last-child{border-right:none}
.td-step.on{background:var(--gl);border-bottom:3px solid var(--g)}
.td-step.done{background:#fff}
.td-step-num{width:22px;height:22px;border-radius:50%;background:var(--b);color:var(--m);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.td-step.on .td-step-num{background:var(--g);color:#fff}
.td-step.done .td-step-num{background:var(--g);color:#fff}
.td-step-label{font-size:12px;font-weight:600;color:var(--m)}
.td-step.on .td-step-label{color:var(--gd)}
.td-step-locked{opacity:.55;cursor:not-allowed}
.outline-table-wrap{overflow-x:auto}
/* ── Outline editor (matches guest PDF: cyan header) ── */
.outline-intro{font-size:12.5px;color:var(--m);margin-bottom:14px;line-height:1.55}
.outline-editor-panel{border:1px solid var(--b);border-radius:10px;overflow:hidden;background:var(--s)}
.outline-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--b)}
.outline-editor-label{font-size:12px;font-weight:700;color:var(--gd)}
.outline-editor-hint{font-size:11px;color:var(--m)}
.outline-editor-wrap{max-height:min(62vh,520px);overflow:auto}
.outline-editor-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.outline-editor-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}
.outline-editor-table thead th{padding:8px 10px;border:1px solid #BFBFBF;background:#00CCFF;color:#000;font-weight:700;font-size:11px;text-transform:uppercase;text-align:left;letter-spacing:0.02em}
.outline-col-day{width:72px}
.outline-col-date{width:148px}
.outline-col-location{width:14%}
.outline-col-itinerary{width:38%}
.outline-col-hotels{width:22%}
.outline-col-actions{width:40px}
.outline-editor-table tbody td{padding:6px 8px;border:1px solid #BFBFBF;vertical-align:top;background:#fff}
.outline-editor-table tbody tr.outline-row-alt td{background:#F7F9FA}
.outline-editor-table tbody tr:hover td{background:#EEF8FC}
.outline-day-cell{text-align:center;vertical-align:middle!important}
.outline-day-label{display:inline-block;font-weight:700;font-size:12px;color:#000;white-space:nowrap}
.outline-empty-cell{color:var(--m);font-size:12.5px;text-align:center;padding:28px 16px!important}
.outline-cell-input{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:4px;padding:6px 8px;font-size:12px;font-family:inherit;line-height:1.45;color:var(--t);background:transparent;resize:vertical}
.outline-cell-input:hover{border-color:#d0d0d0;background:rgba(255,255,255,0.7)}
.outline-cell-input:focus{outline:none;border-color:#00A3D9;background:#fff;box-shadow:0 0 0 2px rgba(0,204,255,0.25)}
.outline-date-input{font-size:11.5px;padding:5px 6px}
.outline-date-hint{display:block;margin-top:4px;font-size:10.5px;color:var(--m);line-height:1.2}
.outline-activity-input,.outline-hotel-input{min-height:72px}
.outline-location-input{min-height:44px}
.outline-actions-cell{text-align:center;vertical-align:middle!important}
.outline-remove-btn{width:28px;height:28px;border:1px solid var(--b);border-radius:6px;background:var(--s);color:var(--m);cursor:pointer;font-size:12px;line-height:1}
.outline-remove-btn:hover{border-color:var(--red);color:var(--red);background:#fff5f5}
.outline-preview-panel{margin-top:16px;border:1px solid var(--b);border-radius:10px;overflow:hidden}
.outline-preview-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:none;background:var(--bg);font-size:12.5px;font-weight:600;color:var(--gd);cursor:pointer;text-align:left}
.outline-preview-toggle:hover{background:#eef8fc}
.outline-preview-chevron{font-size:11px;color:var(--m)}
.outline-preview-body{padding:14px 16px;background:#fff;overflow-x:auto;border-top:1px solid var(--b)}
.outline-preview-body .outline-guest-doc{min-width:640px}
.outline-actions-bar{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.outline-notice{margin-top:14px;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.5}
.outline-notice-sent{background:var(--blu-l,#e8f0fe);border:1px solid var(--blue,#4a7fd4);color:var(--gd)}
.outline-notice-blocked{background:var(--amb-l);border:1px solid var(--amb);color:var(--gd)}
.outline-workflow-panel{margin-bottom:16px;padding:12px 14px;border:1px solid var(--b);border-radius:10px;background:var(--bg)}
.outline-workflow-timeline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px}
.outline-wf-step{padding:4px 10px;border-radius:20px;border:1px solid var(--b);color:var(--m);background:#fff}
.outline-wf-step.on{background:var(--g);border-color:var(--g);color:#fff;font-weight:600}
.outline-wf-step.done{background:#e8f5ee;border-color:var(--gm);color:var(--gd)}
.outline-wf-arrow{color:var(--m);font-size:11px}
.outline-print-tip{font-size:11px;color:var(--m);line-height:1.4;flex:1 1;min-width:200px}
.outline-rich-td{padding:4px 6px!important;vertical-align:top}
.outline-rich-cell{border:1px solid transparent;border-radius:6px;background:rgba(255,255,255,0.6);overflow:hidden}
.outline-rich-cell-focused{border-color:#00A3D9;box-shadow:0 0 0 2px rgba(0,204,255,0.2);background:#fff}
.outline-rich-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:4px 6px;background:#f0f4f6;border-bottom:1px solid #d8dee4}
.outline-rich-btn{min-width:26px;height:24px;padding:0 6px;border:1px solid #c5cdd4;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;color:#222;line-height:1}
.outline-rich-btn:hover{background:#e8f4fc;border-color:#00A3D9}
.outline-rich-sep{width:1px;height:18px;background:#c5cdd4;margin:0 4px}
.outline-rich-color{width:18px;height:18px;border:1px solid #999;border-radius:3px;cursor:pointer;padding:0}
.outline-rich-color:hover{transform:scale(1.1)}
.outline-rich-picker{width:22px;height:22px;padding:0;border:1px solid #c5cdd4;border-radius:4px;cursor:pointer;background:transparent}
.outline-rich-editor{padding:8px 10px;font-size:12px;line-height:1.5;color:var(--t);outline:none;min-height:72px;overflow-y:auto}
.outline-rich-editor:empty:before{content:attr(data-placeholder);color:#9aa3ab;pointer-events:none}
.outline-preview-body b,.outline-preview-body strong,.outline-guest-doc b,.outline-guest-doc strong{font-weight:700}
.outline-preview-body i,.outline-preview-body em,.outline-guest-doc i,.outline-guest-doc em{font-style:italic}
.outline-preview-body u,.outline-guest-doc u{text-decoration:underline}
.proposal-editor-modal{width:min(960px,96vw);max-width:96vw;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.proposal-doc-editor-modal{width:min(1100px,98vw);max-width:98vw;max-height:94vh}
.proposal-doc-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 14px;background:#f7f8f6;border-bottom:1px solid var(--b);position:-webkit-sticky;position:sticky;top:0;z-index:2}
.proposal-doc-toolbar-label{font-size:11px;font-weight:600;color:var(--m);margin-right:4px;text-transform:uppercase;letter-spacing:.4px}
.proposal-doc-canvas{flex:1 1;overflow:auto;background:#e8eaed;padding:16px;min-height:0;max-height:calc(94vh - 130px)}
.proposal-doc-iframe{width:100%;min-height:720px;border:none;display:block;background:transparent}
.proposal-editor-body{display:flex;min-height:420px;max-height:calc(92vh - 120px);overflow:hidden}
.proposal-editor-nav{width:200px;flex-shrink:0;border-right:1px solid var(--b);background:var(--bg);overflow-y:auto;padding:10px 8px}
.proposal-editor-nav-btn{display:block;width:100%;text-align:left;padding:8px 10px;margin-bottom:4px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:12px;cursor:pointer;color:var(--t);font-family:inherit}
.proposal-editor-nav-btn:hover{background:#fff;border-color:var(--b)}
.proposal-editor-nav-btn.active{background:#fff;border-color:var(--g);color:var(--gd);font-weight:600}
.proposal-editor-panel{flex:1 1;overflow-y:auto;padding:16px 18px}
.proposal-editor-footer{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--b);background:#fafbfa}
.proposal-editor-table-wrap{overflow-x:auto}
.proposal-editor-table{width:100%;border-collapse:collapse;font-size:12px}
.proposal-editor-table th,.proposal-editor-table td{border:1px solid var(--b);padding:6px 8px;vertical-align:top}
.proposal-editor-table th{background:var(--gl);font-weight:600;text-align:left}
.proposal-editor-table input{width:100%;border:1px solid var(--b);border-radius:4px;padding:5px 7px;font-size:12px;font-family:inherit}
.proposal-rich-editor{border:1px solid var(--b);border-radius:8px;overflow:hidden;background:#fff}
.proposal-rich-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 8px;background:#f0f4f6;border-bottom:1px solid #d8dee4}
.proposal-rich-btn{min-width:28px;height:26px;padding:0 8px;border:1px solid #c5cdd4;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;color:#222;line-height:1;font-family:inherit}
.proposal-rich-btn:hover,.proposal-rich-btn.active{background:#e8f4fc;border-color:var(--g)}
.proposal-rich-sep{width:1px;height:18px;background:#c5cdd4;margin:0 4px}
.proposal-rich-editor-content{padding:10px 12px;font-size:12.5px;line-height:1.6;color:var(--t);outline:none;font-family:Calibri,'DM Sans',Arial,sans-serif}
.proposal-rich-editor-content p{margin:0 0 8px}
.proposal-rich-editor-content p:last-child{margin-bottom:0}
.proposal-rich-editor-content ul{margin:0 0 8px;padding-left:20px}
.proposal-rich-editor-content h3{font-size:13px;font-weight:700;margin:0 0 6px;color:var(--gd)}
.proposal-rich-editor-content .is-empty:first-child::before{content:attr(data-placeholder);color:#9aa3ab;float:left;height:0;pointer-events:none}
.td-form-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}
.td-chips{display:flex;flex-wrap:wrap;gap:6px}
.td-chip{padding:4px 12px;border-radius:20px;font-size:11.5px;border:1.5px solid var(--b);cursor:pointer;background:#fff;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.td-chip.on{background:var(--g);color:#fff;border-color:var(--g)}
.td-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.td-itin-summary{padding:10px 14px;background:var(--bg);border-radius:8px;margin-bottom:14px;font-size:13}
.td-itin-days{display:flex;flex-direction:column;gap:8px}
.td-itin-day{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--b)}
.td-itin-day-hd{font-weight:700;color:var(--g);min-width:52px;font-size:12px}
.td-itin-day-body{flex:1 1}
.td-review-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:14px;gap:14px}
.td-review-block{background:var(--bg);border-radius:8px;padding:14px;border:1px solid var(--b)}
.td-review-title{font-weight:700;font-size:12px;color:var(--gd);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.td-review-row{display:flex;justify-content:space-between;font-size:12.5;margin-bottom:6px}
.td-lib-card{cursor:pointer;transition:border-color .12s}
.td-lib-card.selected{border-color:var(--g)!important;background:var(--gl)}

/* ── Tour Products shell (catalog) ── */
.tp-shell{display:flex;flex-direction:column;gap:0;min-height:0}
.tp-shell-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:30;margin:-8px -22px 10px;padding:8px 22px 10px;border:none;border-radius:0;background:var(--bg);isolation:isolate}
.tp-shell-toolbar::before{content:'';position:absolute;left:0;right:0;top:-24px;height:24px;background:var(--bg);pointer-events:none;z-index:-1}
.tp-shell-toolbar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--b);box-shadow:0 10px 20px -6px rgba(26,46,35,.14);pointer-events:none}
.tp-shell-toolbar > *{position:relative;z-index:1}
.tp-shell-toolbar--manage{background:linear-gradient(180deg,#fffef9 0%,var(--bg) 100%);box-shadow:inset 0 0 0 1px rgba(201,168,76,.35)}
.tp-shell-toolbar--manage::before{background:linear-gradient(180deg,#fffef9,var(--bg))}
.tp-seg{display:inline-flex;padding:3px;background:#fff;border:1px solid var(--b);border-radius:10px;flex-shrink:0;box-shadow:0 1px 2px rgba(26,46,35,.04)}
.tp-seg-btn{border:none;background:transparent;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--m);cursor:pointer;font-family:inherit;border-radius:8px;transition:background .12s,color .12s}
.tp-seg-btn:hover{color:var(--gd)}
.tp-seg-btn.on{background:var(--gl);color:var(--gd);box-shadow:inset 0 0 0 1px #c8e6d4}
.tp-shell-search{flex:1 1;min-width:160px}
.tp-shell-search input{width:100%;padding:7px 12px;border:1px solid var(--b);border-radius:9px;font-size:13px;font-family:inherit;background:#fff;box-sizing:border-box;box-shadow:0 1px 2px rgba(26,46,35,.04)}
.tp-shell-search input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(46,125,82,.12)}
.tp-shell-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}
.tp-shell-stat{font-size:12px;color:var(--m);padding:0 4px}
.tp-shell-stat strong{color:var(--gd);font-weight:700}
.tp-shell-shortcuts{position:relative}
.tp-shell-icon-btn{border:1px solid var(--b);background:#fff;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;color:var(--m);cursor:pointer;font-family:inherit}
.tp-shell-icon-btn:hover{border-color:var(--g);color:var(--gd)}
.tp-shell-shortcuts-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid var(--b);border-radius:10px;box-shadow:0 8px 24px rgba(26,46,35,.12);padding:6px;z-index:30}
.tp-shell-shortcuts-item{display:block;padding:8px 12px;border-radius:7px;font-size:12.5px;color:var(--gd);text-decoration:none}
.tp-shell-shortcuts-item:hover{background:var(--gl)}
.tp-manage-bar{padding:10px 14px;margin-bottom:12px;background:var(--gold-l);border:1px solid var(--gold);border-radius:10px;font-size:12.5px;color:var(--gd)}

.tp-catalog{display:grid;grid-template-columns:220px 1fr;grid-gap:14px;gap:14px;align-items:start;position:relative}
.tp-facet-toggle{display:none}
.tp-facet-backdrop{display:none}
.tp-facet-wrap{position:-webkit-sticky;position:sticky;top:56px;align-self:start}
.tp-facet{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100vh - 72px);background:#fff;border:1px solid var(--b);border-radius:12px;padding:10px}
.tp-facet-block{margin-bottom:12px}
.tp-facet-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--m);margin-bottom:6px}
.tp-facet-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;gap:8px}
.tp-facet-foot-stat{font-size:11.5px;font-weight:600;color:var(--gd)}
.tp-facet-foot-hint{font-size:11px;color:var(--m)}
.tp-facet-foot-clear{border:none;background:none;padding:0;font:inherit;font-size:11.5px;font-weight:600;color:var(--g);cursor:pointer;text-decoration:underline}
.tp-facet-foot-clear:hover{color:var(--gd)}
.tp-facet-pulse{margin-top:14px;padding:10px;border-radius:10px;background:var(--bg);border:1px solid var(--b)}
.tp-facet-pulse-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.tp-facet-pulse-link{font-size:10.5px;font-weight:600;color:var(--g);text-decoration:none;white-space:nowrap}
.tp-facet-pulse-link:hover{text-decoration:underline}
.tp-facet-pulse-bars{display:flex;height:6px;border-radius:999px;overflow:hidden;background:#e5ebe7;margin-bottom:8px;gap:1px}
.tp-facet-pulse-seg{min-width:0;flex-basis:0}
.tp-facet-pulse-seg--ok{background:var(--g)}
.tp-facet-pulse-seg--partial{background:var(--gold)}
.tp-facet-pulse-seg--miss{background:#c45c5c}
.tp-facet-pulse-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px}
.tp-facet-pulse-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 7px;border:1px solid transparent;border-radius:8px;background:#fff;cursor:pointer;font:inherit;text-align:left}
.tp-facet-pulse-stat strong{font-size:13px;font-weight:700;color:var(--gd);line-height:1.1}
.tp-facet-pulse-stat span{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--m)}
.tp-facet-pulse-stat:hover{border-color:#c8e6d4}
.tp-facet-pulse-stat.on{border-color:#c8e6d4;background:var(--gl)}
.tp-facet-pulse-links{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--b)}
.tp-facet-pulse-links a{font-size:11px;font-weight:600;color:var(--g);text-decoration:none}
.tp-facet-pulse-links a:hover{text-decoration:underline}
.tp-dest-combo{position:relative}
.tp-dest-combo-input{width:100%;padding:7px 28px 7px 9px;border:1px solid var(--b);border-radius:8px;font:inherit;font-size:12px;background:#fff;box-sizing:border-box}
.tp-dest-combo-input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(46,125,82,.12)}
.tp-dest-combo-clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:none;background:transparent;color:var(--m);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}
.tp-dest-combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:220px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--b);border-radius:9px;box-shadow:0 8px 20px rgba(26,46,35,.12)}
.tp-dest-combo-list li{margin:0}
.tp-dest-combo-empty{padding:10px 8px;font-size:12px;color:var(--m)}
.tp-dest-combo-active{background:var(--bg)!important}
.tp-facet-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:7px;background:transparent;text-align:left;font:inherit;font-size:12px;color:var(--gd);cursor:pointer}
.tp-facet-item:hover{background:var(--bg)}
.tp-facet-item.on{background:var(--gl);font-weight:600}
.tp-facet-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-facet-count{flex-shrink:0;font-size:10.5px;color:var(--m);background:var(--bg);padding:1px 7px;border-radius:10px}
.tp-facet-item.on .tp-facet-count{background:#fff;color:var(--g)}
.tp-facet-pills{display:flex;flex-wrap:wrap;gap:5px}
.tp-facet-pill{border:1px solid var(--b);background:#fff;padding:4px 9px;border-radius:14px;font-size:11px;font-weight:500;color:var(--m);cursor:pointer;font-family:inherit}
.tp-facet-pill:hover{border-color:#c8e6d4;color:var(--gd)}
.tp-facet-pill.on{background:var(--gl);border-color:#c8e6d4;color:var(--gd);font-weight:600}

.tp-catalog-main{position:relative;min-width:0;background:#fff;border:1px solid var(--b);border-radius:12px;padding:14px}
.tp-catalog-inner{position:relative;z-index:2}
.tp-catalog-inner .pagination-bar{margin-top:14px;padding-left:0;padding-right:0;border-top:1px solid var(--b)}
.tp-modules-inner .pagination-bar{margin-top:14px;padding-left:0;padding-right:0;border-top:1px solid var(--b)}
.tp-active-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.tp-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--gl);border:1px solid #c8e6d4;border-radius:14px;font-size:11.5px;color:var(--gd);cursor:pointer;font-family:inherit}
.tp-chip:hover{background:#e0efe6}
.tp-chip-clear{background:none;border:none;padding:0;font:inherit;font-size:11.5px;color:var(--g);font-weight:600;cursor:pointer;text-decoration:underline;margin-left:4px}
.tp-empty-state{color:var(--m);font-size:13px;padding:40px 16px;text-align:center;background:var(--bg);border-radius:12px;border:1px dashed var(--b)}

.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}

.tp-card{background:#fff;border:1px solid var(--b);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .12s;text-align:left;font:inherit}
.tp-card:hover{box-shadow:0 6px 18px rgba(26,46,35,.1);border-color:#c8e6d4;transform:translateY(-1px)}
.tp-card:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.tp-card--preview{max-width:220px;pointer-events:none;box-shadow:0 4px 14px rgba(26,46,35,.06)}
.tp-card--pickable{position:relative}
.tp-card--pickable::after{content:'Edit';position:absolute;top:8px;right:8px;z-index:2;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gold);background:var(--gold-l);padding:2px 7px;border-radius:6px;border:1px solid var(--gold);opacity:0;transition:opacity .12s}
.tp-card--pickable:hover::after{opacity:1}
.tp-card--pickable:hover{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,168,76,.2)}

.tp-card-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#e8f0ea 0%,#d4e4d9 100%);overflow:hidden}
.tp-card-img{object-fit:cover}
.tp-card-media-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(145deg,#eef4f0,#dce8e0)}
.tp-card-media-icon{font-size:22px;opacity:.4}
.tp-card-region{position:absolute;top:6px;left:6px;padding:2px 7px;border-radius:8px;font-size:9px;font-weight:600;z-index:1}
.tp-card-photo-badge{position:absolute;top:6px;right:6px;padding:2px 6px;border-radius:7px;font-size:9px;font-weight:700;background:rgba(255,255,255,.92);color:#856404;border:1px solid #e8d9a8;z-index:1}
.tp-card-pricing-badge{position:absolute;bottom:6px;right:6px;padding:2px 6px;border-radius:7px;font-size:9px;font-weight:600;z-index:1}
.tp-card-pricing-badge--missing{background:rgba(254,226,226,.95);color:#b91c1c}
.tp-card-pricing-badge--incomplete{background:rgba(254,243,199,.95);color:#92400e}

.tp-card-body{padding:10px 11px 12px;display:flex;flex-direction:column;gap:4px;flex:1 1}
.tp-card-title{margin:0;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--gd);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tp-card-dest{font-size:10.5px;color:var(--g);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-card-meta{font-size:10px;color:var(--m);line-height:1.35}
.tp-card-meta-sep{margin:0 3px;opacity:.5}
.tp-card-price{font-size:11px;color:var(--gold);font-weight:600;margin-top:auto;padding-top:2px}

.tp-drawer-overlay{position:fixed;inset:0;background:rgba(26,46,35,.35);z-index:480;opacity:0;pointer-events:none;transition:opacity .25s ease}
.tp-drawer-overlay.open{opacity:1;pointer-events:auto}
.tp-drawer{position:fixed;top:0;right:-560px;width:min(560px,100vw);height:100vh;background:#fff;z-index:490;display:flex;flex-direction:column;box-shadow:-6px 0 32px rgba(0,0,0,.12);transition:right .3s cubic-bezier(.4,0,.2,1)}
.tp-drawer.open{right:0}
.tp-drawer--preview{box-shadow:-6px 0 32px rgba(0,0,0,.14)}
.tp-drawer-preview-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--g);background:#e8f5ee;padding:3px 8px;border-radius:6px;margin-bottom:8px}
.tp-drawer-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--b);flex-shrink:0;background:#fafbf9}
.tp-drawer-hd-text{flex:1 1;min-width:0}
.tp-drawer-code{display:block;font-size:10.5px;color:var(--m);margin-bottom:6px;font-family:ui-monospace,monospace}
.tp-drawer-title{margin:0;font-size:16px;font-weight:700;color:var(--gd);line-height:1.35;font-family:'DM Serif Display',Georgia,serif}
.tp-drawer-dest{font-size:11.5px;color:var(--g);margin-top:4px;font-weight:500}
.tp-drawer-close{background:none;border:none;font-size:18px;color:var(--m);cursor:pointer;padding:4px 8px;border-radius:8px;line-height:1;flex-shrink:0}
.tp-drawer-close:hover{background:var(--bg);color:var(--gd)}
.tp-drawer-scroll{flex:1 1;overflow-y:auto;padding:0 20px 20px}
.tp-drawer-hero{position:relative;aspect-ratio:16/10;margin:16px 0;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#e8f0ea,#d4e4d9)}
.tp-drawer-hero-img{object-fit:cover}
.tp-drawer-hero-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--m);font-size:13px}
.tp-drawer-hero-placeholder span:first-child{font-size:32px;opacity:.4}
.tp-drawer-hero-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.tp-drawer-hero-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.55);cursor:pointer;padding:0}
.tp-drawer-hero-dot.on{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.tp-drawer-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}
.tp-drawer-price{font-size:13px;color:var(--gold);font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--b)}
.tp-drawer-section{margin-bottom:16px}
.tp-drawer-section--notes{background:#f7f5f1;border:1px solid #e6e0d4;border-radius:10px;padding:14px;border-left:3px solid var(--gd)}
.tp-drawer-section-title{margin:0 0 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gd)}
.tp-drawer-section-body{font-size:12.5px;color:var(--m);line-height:1.6;white-space:pre-line}
.tp-drawer-usp{background:var(--bg);padding:10px 12px;border-radius:8px;border-left:3px solid var(--gold)}
.tp-drawer-notes{font-size:12px}
.tp-drawer-ft{display:flex;gap:8px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--b);flex-shrink:0;background:#fff}

/* ── Tour Products: edit form aside (left of drawer, same overlay layer) ── */
.tp-shell--editing{/* catalog stays mounted under dimmed overlay */}
.tp-edit-aside{position:fixed;top:0;right:min(560px,100vw);width:min(520px,calc(100vw - 280px));max-width:520px;height:100vh;background:#fff;z-index:485;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.1);transform:translateX(110%);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}
.tp-edit-aside.open{transform:translateX(0);opacity:1;pointer-events:auto}
.tp-edit-aside-hd{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;background:linear-gradient(135deg,var(--g),#1e5c3a);color:#fff;flex-shrink:0}
.tp-edit-aside-title{margin:0;font-size:16px;font-weight:700}
.tp-edit-aside-sub{margin:4px 0 0;font-size:11.5px;opacity:.85;line-height:1.35}
.tp-edit-aside-close{width:34px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.15);color:#fff;font-size:16px;cursor:pointer;flex-shrink:0;line-height:1}
.tp-edit-aside-close:hover{background:rgba(255,255,255,.28)}
.tp-edit-aside-scroll{position:relative;flex:1 1;min-height:0;overflow-y:auto;padding:14px 14px 8px;background:#fafbf9}
.tp-edit-aside-scroll .prod-form-section{padding:14px 14px;margin-bottom:12px}
.tp-edit-aside-fields{border:0;margin:0;padding:0;min-width:0}
.tp-edit-aside-fields:disabled{opacity:.72}
.tp-edit-aside-ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--b);background:#fff;flex-shrink:0;flex-wrap:wrap}
.tp-edit-aside-ft-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.tp-edit-aside-close:disabled{opacity:.45;cursor:not-allowed}
.tp-save-progress{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:rgba(255,255,255,.22)}
.tp-save-progress-bar{display:block;height:100%;width:40%;background:#fff;border-radius:2px;animation:tp-save-progress 1.1s ease-in-out infinite}
.tp-save-overlay{position:absolute;inset:0;z-index:5;background:rgba(250,251,249,.45);pointer-events:none;animation:tp-save-overlay-in .18s ease-out}
.tp-save-btn{transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,background .2s ease}
.tp-save-btn:disabled{opacity:.72;cursor:not-allowed}
.tp-save-btn.is-saving{animation:tp-save-pulse 1s ease-in-out infinite}
.tp-save-btn.is-saved{opacity:.95;box-shadow:0 0 0 2px rgba(46,125,82,.22);animation:tp-save-saved .45s ease-out}
.tp-save-spin{display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;border-radius:50%;vertical-align:-2px;animation:tp-save-spin .65s linear infinite}
@keyframes tp-save-spin{to{transform:rotate(360deg)}}
@keyframes tp-save-progress{0%{transform:translateX(-120%)}50%{transform:translateX(160%)}100%{transform:translateX(320%)}}
@keyframes tp-save-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes tp-save-saved{0%{transform:scale(.96);opacity:.7}100%{transform:scale(1);opacity:.95}}
@keyframes tp-save-overlay-in{from{opacity:0}to{opacity:1}}
.tp-edit-pricing-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.tp-edit-preview-empty{font-style:italic;opacity:.75}
@media(max-width:900px){
  .tp-edit-aside{right:0;width:100vw;max-width:none;z-index:495}
  .tp-drawer--preview{display:none}
}

.prod-region-badge{display:inline-flex;padding:3px 9px;border-radius:10px;font-size:10px;font-weight:600}
.prod-tag-pill{display:inline-flex;padding:3px 9px;border-radius:10px;font-size:10px;font-weight:500;border:1px solid var(--b);background:var(--bg);color:var(--m)}
.prod-tag-dur{background:#f4f8f5;border-color:#c8e6d4;color:var(--gd)}
.prod-tag-cat{background:#faf6eb;border-color:#e8d9a8;color:#856404}
.prod-tag-lvl{background:#eef4fb;border-color:#c5d9ef;color:#0c5464}

.tp-modules{position:relative;background:#fff;border:1px solid var(--b);border-radius:12px;padding:16px}
.tp-modules-inner{position:relative;z-index:2}
.tp-mod-regions{display:flex;flex-direction:column;gap:16px}
.tp-mod-region{border-radius:10px;overflow:hidden;border:1px solid var(--b)}
.tp-mod-region-hd{padding:10px 14px;font-weight:600;font-size:13px;border-bottom:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tp-mod-region-count{font-size:11px;font-weight:600;background:rgba(255,255,255,.45);padding:2px 9px;border-radius:12px}
.tp-mod-region-body{background:#fff}
.tp-mod-dur-band{border-bottom:1px solid var(--b)}
.tp-mod-dur-band:last-child{border-bottom:none}
.tp-mod-dur-hd{padding:6px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tp-mod-dur-count{font-size:10px;font-weight:600;opacity:.75;text-transform:none;letter-spacing:0}
.tp-mod-row{border-bottom:1px dotted var(--b);font-size:12.5px;background:#fff;transition:background .12s}
.tp-mod-row:last-child{border-bottom:none}
.tp-mod-row-main{display:flex;justify-content:space-between;align-items:flex-start;padding:9px 14px;gap:14px}
.tp-mod-row-left{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}
.tp-mod-row-tags{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.tp-mod-row-dest{font-size:10.5px;color:var(--g);font-weight:500}
.tp-mod-row-name{background:none;border:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;color:var(--gd);line-height:1.4}
.tp-mod-row-name:hover{color:var(--g)}
.tp-mod-row-price{color:var(--g);font-weight:600;white-space:nowrap;flex-shrink:0;font-size:12px;padding-top:2px}
.tp-mod-row--pickable{cursor:pointer}
.tp-mod-row--pickable:hover{background:var(--gold-l)}

.prod-pick-scrim{position:absolute;inset:0;background:rgba(26,46,35,.04);border:2px dashed rgba(201,168,76,.4);border-radius:12px;pointer-events:none;z-index:1}
.prod-pick-mode .tp-catalog-inner,.prod-pick-mode .tp-modules-inner{position:relative;z-index:2}
.prod-pick-mode .tp-card--pickable,.prod-pick-mode .tp-mod-row--pickable{position:relative;z-index:2}

/* ── Products: form modal ── */
.prod-form-overlay{padding:20px}
.prod-form-modal{width:960px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;padding:0!important;background:#fff}
.prod-form-modal-hd{padding:18px 22px!important;position:static!important;border-radius:14px 14px 0 0}
.prod-form-modal-title{font-size:17px;font-weight:700;color:#fff}
.prod-form-modal-sub{font-size:12px;color:rgba(255,255,255,.82);margin-top:3px}
.prod-form-modal-bd{padding:22px 24px;overflow-y:auto;flex:1 1;background:#fafbf9}
.prod-form-modal-ft{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--b);background:#fff;border-radius:0 0 14px 14px}
.prod-form-modal-ft-actions{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto}
.prod-form-delete{color:var(--red)!important;margin-right:auto}
.prod-form-field-hint{font-weight:500;text-transform:none;letter-spacing:0;color:var(--m);font-size:11px;margin-left:6px}
.prod-form-notes-sales{white-space:pre-wrap}
.prod-form-section{background:#fff;border:1px solid var(--b);border-radius:12px;padding:18px 20px;margin-bottom:16px}
.prod-form-section:last-child{margin-bottom:0}
.prod-form-section-hd{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--b)}
.prod-form-section-title{margin:0;font-size:13.5px;font-weight:700;color:var(--gd)}
.prod-form-section-hint{margin:4px 0 0;font-size:11.5px;color:var(--m);line-height:1.4}
.prod-form-grid{display:grid;grid-gap:14px;gap:14px}
.prod-form-grid-2{grid-template-columns:1fr 1fr}
.prod-form-grid-3{grid-template-columns:repeat(3,1fr)}
.prod-form-grid-4{grid-template-columns:repeat(4,1fr)}
.prod-form-span-2{grid-column:span 2}
.prod-form-span-3{grid-column:span 3}
.prod-form-section .fg input,.prod-form-section .fg select,.prod-form-section .fg textarea{padding:9px 12px;border:1px solid var(--b);border-radius:8px;font-size:13px;background:#fff}
.prod-form-section .fg textarea{min-height:100px;resize:vertical}
.prod-form-code-breakdown{font-size:11px;color:var(--m);margin:6px 0 2px;letter-spacing:.3px}
.prod-form-type-seg-row{display:flex;gap:8px;align-items:center}
.prod-form-type-seg-row select{flex:1 1}
.prod-form-reset-seg{flex-shrink:0;padding:6px 10px!important;font-size:11px!important}
.prod-form-code-readonly{background:#f5f7f5!important;color:var(--gd);font-family:ui-monospace,monospace;font-size:12px}
.prod-form-save-error{margin:0 0 8px;padding:10px 14px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px;border:1px solid #fecaca}

/* ── Portfolio Excel import ── */
.portfolio-import-modal{width:1100px;max-width:98vw}
.portfolio-import-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}
.portfolio-import-meta{font-size:12px;color:var(--m)}
.portfolio-import-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gd);margin-left:auto}
.portfolio-import-error{margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px;border:1px solid #fecaca}
.portfolio-import-warnings{margin:0 0 12px;font-size:12px;color:var(--m)}
.portfolio-import-warnings ul{margin:8px 0 0;padding-left:18px}
.portfolio-import-empty{font-size:13px;color:var(--m);line-height:1.5;margin:8px 0 0}
.portfolio-import-hint{font-size:11.5px;color:var(--m);margin:12px 0 0;line-height:1.45}
.portfolio-import-table-wrap{overflow:auto;max-height:48vh;border:1px solid var(--b);border-radius:10px}
.portfolio-import-table{width:100%;border-collapse:collapse;font-size:12px}
.portfolio-import-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--gl);text-align:left;padding:8px 10px;border-bottom:1px solid var(--b);white-space:nowrap;z-index:1}
.portfolio-import-table td{padding:6px 8px;border-bottom:1px solid var(--b);vertical-align:middle}
.portfolio-import-table tr.needs-review{background:#fffbeb}
.portfolio-import-table .mono{font-family:ui-monospace,monospace;font-size:11px;white-space:nowrap}
.portfolio-import-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portfolio-import-notes{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--m);font-size:11px}
.portfolio-import-table select,.portfolio-import-table input[type=text]{width:100%;min-width:90px;padding:4px 6px;border:1px solid var(--b);border-radius:6px;font-size:11.5px;background:#fff}

/* ── Pricing edit modal ── */
.pricing-edit-modal{width:920px;max-width:96vw}
.pricing-edit-code{font-size:11px;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:4px;margin-right:8px}
.pricing-edit-name{opacity:.9}
.pricing-edit-grid-wrap{overflow-x:auto;margin:0 -4px;padding:4px}
.pricing-edit-grid{width:100%;border-collapse:separate;border-spacing:6px;min-width:640px}
.pricing-edit-grid th,.pricing-edit-grid td{text-align:center;vertical-align:middle;padding:0}
.pricing-edit-grid th{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:.4px;padding-bottom:4px}
.pricing-edit-th-unit{display:block;font-size:9px;font-weight:600;opacity:.75;text-transform:lowercase}
.pricing-edit-th-solo,.pricing-edit-td-solo{color:#D97706}
.pricing-edit-th-group,.pricing-edit-td-group{color:#1a5c38}
.pricing-edit-pax-input{width:44px;padding:4px 2px;border:1.5px solid #A8D5BC;border-radius:6px;font-size:12px;font-weight:700;text-align:center;color:#1a5c38;background:#F3FAF6;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
.pricing-edit-pax-input::-webkit-outer-spin-button,.pricing-edit-pax-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pricing-edit-pax-input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(46,125,82,.12)}
.pricing-edit-td-solo .pricing-edit-input{background:#FFFBF2;border-color:#F5D89A}
.pricing-edit-td-group .pricing-edit-input{background:#F3FAF6;border-color:#A8D5BC}
.pricing-edit-cell{display:flex;align-items:center;justify-content:center}
.pricing-edit-currency{font-size:12px;font-weight:700;color:var(--m);margin-right:2px}
.pricing-edit-input{width:100%;min-width:52px;max-width:72px;padding:10px 6px;border:1.5px solid var(--b);border-radius:8px;font-size:14px;font-weight:700;text-align:center;color:var(--gd);background:#fff;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
.pricing-edit-input::-webkit-outer-spin-button,.pricing-edit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pricing-edit-input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(46,125,82,.12)}
.pricing-edit-input::placeholder{color:#c4ccc6;font-weight:500}
.pricing-edit-group-total{margin-top:6px;font-size:10px;font-weight:700;color:#1a5c38;line-height:1.2;white-space:nowrap}
.pricing-edit-td-group{vertical-align:top;padding-top:0}
.pricing-edit-incl{display:flex;flex-wrap:wrap;gap:8px}
.pricing-edit-incl-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--b);border-radius:10px;background:#fff;cursor:pointer;font-size:12px;font-weight:600;color:var(--m);transition:border-color .15s,background .15s}
.pricing-edit-incl-btn:hover{border-color:var(--g);background:#f8fcf9}
.pricing-edit-incl-btn.on{border-color:var(--g);background:#E8F5EE;color:#1a5c38}
.pricing-edit-incl-icon{font-size:16px;line-height:1}
.pricing-edit-incl-label{white-space:nowrap}

.dest-combobox{position:relative}
.dest-combobox input{width:100%}
.dest-combobox-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--b);border-radius:8px;box-shadow:0 8px 24px rgba(26,46,35,.12);max-height:220px;overflow-y:auto}
.dest-combobox-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;text-align:left;font-size:13px;cursor:pointer;color:var(--gd)}
.dest-combobox-opt:hover,.dest-combobox-opt.active{background:#f0f5f1}
.dest-combobox-opt-label{flex:1 1}
.dest-combobox-opt-code{font-size:10.5px;font-weight:700;color:var(--m);letter-spacing:.4px}
.dest-combobox-meta{margin:5px 0 0;font-size:11px;color:var(--g)}
.dest-combobox-warn{margin:5px 0 0;font-size:11px;color:#b45309}
@media(max-width:900px){
  .tp-catalog{grid-template-columns:1fr}
  .tp-facet-toggle{display:block;width:100%;margin-bottom:10px;padding:9px 12px;border:1px solid var(--b);border-radius:9px;background:#fff;font:inherit;font-size:12.5px;font-weight:600;color:var(--gd);cursor:pointer}
  .tp-facet-backdrop{display:block;position:fixed;inset:0;background:rgba(26,46,35,.35);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
  .tp-facet-backdrop.open{opacity:1;pointer-events:auto}
  .tp-facet-wrap{position:fixed;top:0;left:-280px;width:270px;height:100vh;z-index:50;max-height:none;overflow-y:auto;padding:12px;background:#fafbf9;box-shadow:4px 0 24px rgba(0,0,0,.12);transition:left .25s ease}
  .tp-facet-wrap.open{left:0}
  .tp-facet{border:none;padding:8px;background:transparent;min-height:0}
  .prod-form-grid-4,.prod-form-grid-3{grid-template-columns:1fr 1fr}
  .prod-form-span-2,.prod-form-span-3{grid-column:span 1}
}
@media(max-width:600px){
  .tp-shell-toolbar{flex-direction:column;align-items:stretch}
  .tp-shell-search{min-width:0}
  .tp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .prod-form-grid-4,.prod-form-grid-3,.prod-form-grid-2{grid-template-columns:1fr}
  .prod-form-span-2,.prod-form-span-3{grid-column:span 1}
  .tp-drawer{width:100vw;right:-100vw}
}

/* ── Bookings ── */
.bk-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#E3F2FD;border:1px solid #90CAF9;border-radius:9px;margin-bottom:14px;font-size:13;flex-wrap:wrap}
.bk-layout{display:grid;grid-template-columns:1fr 260px;grid-gap:14px;gap:14px}
.bk-sidebar{display:flex;flex-direction:column;gap:12px}
.bk-action-item{padding:10px 12px;background:var(--bg);border-radius:8px;border:1px solid var(--b);cursor:pointer;margin-bottom:8px;transition:background .12s}
.bk-action-item:hover{background:var(--gl)}
.bk-stat-row{display:flex;border:1px solid var(--b);border-radius:8px;overflow:hidden}
.bk-stat{flex:1 1;padding:12px 14px;border-right:1px solid var(--b);text-align:center}
.bk-stat:last-child{border-right:none}
.bk-stat-l{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--m);margin-bottom:3px}
.bk-stat-v{font-weight:700;font-size:14px}
.bk-change-log{font-size:12;padding:8px 10px;background:var(--bg);border-radius:6px;margin-bottom:6px;border-left:3px solid var(--amb)}

/* ── Finance extended ── */
.fin-kpi-5{grid-template-columns:repeat(5,1fr)!important}
.fin-kpi-4{grid-template-columns:repeat(4,1fr)!important}
.fin-cf-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:12}
.fin-cf-label{min-width:80px;font-weight:600;color:var(--m)}
.fin-cf-bars{flex:1 1;display:flex;flex-direction:column;gap:4px}
.fin-cf-bar-wrap{display:flex;align-items:center;gap:8px}
.fin-cf-bar{height:14px;border-radius:3px;min-width:2px;transition:width .3s}
.fin-cf-in{background:var(--g)}
.fin-cf-out{background:var(--red)}
.fin-cf-val{font-size:11;color:var(--m);min-width:70px}
.fin-cf-net{min-width:80px;text-align:right;font-weight:600;font-size:12}
.fin-cf-legend{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:middle}

/* ── Guides ── */
.guides-kpi{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}

/* ── Chat layout ── */
.chat-layout{display:flex;height:calc(100vh - 180px);border:1px solid var(--b);border-radius:11px;overflow:hidden}
.chat-sidebar{width:200px;background:var(--gd);padding:12px 0;overflow-y:auto;flex-shrink:0}
.chat-sidebar-hd{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.4);padding:4px 22px 6px;font-weight:600}
.chat-main{flex:1 1;display:flex;flex-direction:column;background:#fff;min-width:0}
.chat-main-hd{padding:14px 18px;border-bottom:1px solid var(--b);font-weight:600;display:flex;justify-content:space-between;align-items:center}
.chat-messages{flex:1 1;overflow-y:auto;padding:16px}
.chat-input-bar{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--b);background:var(--bg)}
.chat-input-bar input{flex:1 1;padding:8px 12px;border:1px solid var(--b);border-radius:8px;font-family:inherit;font-size:13px}

/* ── Contracts ── */
.ctr-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;font-size:12.5}
.ctr-lbl{display:block;font-size:10.5px;color:var(--m);margin-bottom:2px}

/* ── Post-Tour ── */
.pt-issue-card{padding:12px 14px;background:#FFF8F0;border:1px solid #FFCC80;border-radius:8px;margin-bottom:10px}
.pt-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gold-l);border:1px solid var(--gold);border-radius:9px;margin-bottom:14px;font-size:12.5px;flex-wrap:wrap}
.nps-block{background:var(--bg);border-radius:8px;padding:14px;margin-bottom:12px}
.nps-btn{width:36px;height:36px;border:1.5px solid var(--b);border-radius:8px;background:#fff;cursor:pointer;font-weight:600;font-size:13px;transition:all .12s}
.nps-btn.on{background:var(--g);color:#fff;border-color:var(--g)}
.nps-btn:hover{border-color:var(--g)}

/* ── Bookings modal ── */
.bkd-modal{max-width:720px;width:95vw;background:var(--s);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.15);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.bkd-header{background:linear-gradient(135deg,var(--gd),var(--g));color:#fff;padding:18px 22px;border-radius:12px 12px 0 0;display:flex;align-items:flex-start;gap:12px;flex-shrink:0}
.bkd-header-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.8px;opacity:.75;margin-bottom:4px}
.bkd-title{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:4px}
.bkd-sub{font-size:12px;opacity:.85;line-height:1.4}
.bkd-status-pill{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;flex-shrink:0;align-self:flex-start}
.bkd-close{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:7px;padding:6px 14px;cursor:pointer;font-size:13px;font-family:inherit;flex-shrink:0;align-self:flex-start}
.bkd-close:hover{background:rgba(255,255,255,.3)}
.bkd-guide-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;background:#FFF8E1;border-bottom:1px solid #F0D78C;font-size:12.5px;flex-shrink:0}
.bkd-finance{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;padding:14px 22px;background:var(--gl);border-bottom:1px solid var(--b);flex-shrink:0}
.bkd-fin-cell{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:10px 12px}
.bkd-fin-l{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--m);margin-bottom:4px}
.bkd-fin-v{font-size:15px;font-weight:700}
.bkd-body{padding:18px 22px 22px;overflow-y:auto;flex:1 1}
.bkd-section-title{font-size:13px;font-weight:700;color:var(--gd);margin-bottom:10px}
.bkd-empty-log{padding:16px;text-align:center;color:var(--m);font-size:12.5px;background:var(--bg);border-radius:8px;border:1px dashed var(--b)}
.bkd-log-scroll{overflow-x:auto;margin-top:4px}
.otab-btns{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.otab-btn{padding:6px 12px;border:1px solid var(--b);border-radius:7px;background:#fff;cursor:pointer;font-size:12px;transition:all .12s;font-family:inherit}
.otab-btn.on{background:var(--g);color:#fff;border-color:var(--g)}
.otab-form{border:1px solid var(--b);border-radius:9px;padding:14px;background:#fff}
.otab-form-add{border-color:#C8E6D4;background:#F8FDF9}
.otab-form-cancel{border-color:#F0D78C;background:#FFFBF0}
.otab-form-full{border-color:#F5C6C6;background:#FFF8F8}
.otab-form-modify{border-color:#BBDEFB;background:#F5F9FF}
.otab-full-warn{background:#FDECEA;color:var(--red);padding:10px 12px;border-radius:7px;font-size:12.5px;font-weight:500}
.chg-type-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700}

/* ── Contracts ── */
.ctr-filter-btn{padding:5px 12px;border:1px solid var(--b);border-radius:20px;font-size:12px;cursor:pointer;background:#fff;transition:all .12s}
.ctr-filter-btn.on{background:var(--g);color:#fff;border-color:var(--g)}
.ctr-kpi-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.ctr-kpi-pill{flex:1 1;min-width:120px;padding:12px 14px;background:var(--s);border:1px solid var(--b);border-radius:9px;text-align:center}
.ctr-kpi-pill-l{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--m);margin-bottom:3px}
.ctr-kpi-pill-v{font-size:18px;font-weight:700}

/* ── Suppliers ── */
.sup-hotel-tbl{font-size:12px}
.sup-cat-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}

/* ── Guides ── */
.guide-bio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}
.guide-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}

/* ── Attractions (region blocks) ── */

/* ── Tax & Salary ── */
.sal-total-badge{display:inline-block;padding:4px 12px;background:var(--gl);color:var(--gd);border-radius:8px;font-weight:700;font-size:13px}
.sal-bonus-pill{background:var(--gl);border-radius:7px;padding:9px 12px;font-size:12.5px}
.sal-bonus-tet{background:#FFF8E1;border:1px solid var(--gold)}

/* ── About ── */
.about-hero{background:linear-gradient(135deg,var(--gd) 0%,var(--g) 100%);padding:28px 28px 22px;color:#fff}
.about-hero-title{font-family:'DM Serif Display',Georgia,serif;font-size:26px;margin-bottom:6px}
.about-hero-sub{font-size:13px;opacity:.8;letter-spacing:.5px}
.about-hero-tagline{margin-top:18px;font-size:14px;line-height:1.8;opacity:.92;font-style:italic}
.about-facts{padding:14px}
.about-fact-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--b);font-size:12.5}
.about-fact-row span:first-child{color:var(--m)}
.about-fact-row span:last-child{font-weight:500}
.about-roadmap{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}
.about-roadmap-phase{padding:16px;border-radius:10px;font-size:12.5px;line-height:1.75}
.about-roadmap-foundation{background:var(--gl);border:1px solid var(--g)}
.about-roadmap-scaling{background:#E3F2FD;border:1px solid var(--blue)}
.about-roadmap-mastery{background:var(--gold-l);border:1px solid var(--gold)}
.about-roadmap-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;color:var(--gd)}

/* ── Culture ── */
.culture-vision-bar{font-size:13.5px;font-style:italic;line-height:1.7;background:var(--gl);padding:12px 14px;border-radius:8px}
.culture-values-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}
.culture-value-card{background:var(--bg);border:1px solid var(--b);border-radius:10px;padding:16px}
.culture-value-title{font-weight:700;font-size:13.5px;margin-bottom:6px;color:var(--gd)}
.culture-voice-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.culture-voice-yes{color:var(--g)}
.culture-voice-no{color:var(--red)}
.culture-voice-list{font-size:12.5px;line-height:2}

/* ── Regulations ── */
.reg-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}
.reg-policy-list{display:flex;flex-direction:column;gap:10px;font-size:12.5px}
.reg-policy-item{display:flex;gap:10px;align-items:flex-start}
.reg-pill{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;flex-shrink:0;margin-top:2px}
.reg-pill-g{background:var(--gl);color:var(--gd)}
.reg-pill-b{background:#E3F2FD;color:var(--blue)}
.reg-pill-p{background:#F3E8FF;color:var(--pur)}
.reg-pill-a{background:var(--amb-l);color:var(--amb)}
.reg-pill-r{background:var(--red-l);color:var(--red)}
.reg-force-majeure{padding:10px 14px;font-size:12px;color:var(--amb);background:var(--amb-l);border-top:1px solid var(--b)}
.reg-checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;font-size:12.5px;line-height:2}
.reg-checklist-title{font-weight:700;color:var(--g);margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.6px}

/* ── HR ── */
.hr-onboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}
.hr-onboard-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--g);letter-spacing:.8px;margin-bottom:10px}
.hr-onboard-list{display:flex;flex-direction:column;gap:7px;font-size:12.5px}
.hr-onboard-item{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.hr-onboard-item input{width:auto;margin-top:2px}
.hr-perf-bar-wrap{display:flex;align-items:center;gap:8px}
.hr-perf-bar-track{flex:1 1;background:var(--bg);border-radius:4px;height:8px;overflow:hidden}
.hr-perf-bar-fill{height:100%;border-radius:4px}
.hr-leave-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}
.hr-leave-policy{display:flex;flex-direction:column;gap:8px;font-size:12.5px}

/* ── AI Requirements ── */
.ai-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:16px;gap:16px}
.ai-sidebar{display:flex;flex-direction:column;gap:12px}
.ai-badge{font-size:11px;background:var(--pur-l);color:var(--pur);padding:2px 8px;border-radius:8px;font-weight:600}
.ai-intro{font-size:12.5px;color:var(--m);margin-bottom:12px;line-height:1.6}
.ai-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:4px}
.ai-save-confirm{margin-top:10px;background:var(--gl);color:var(--gd);padding:10px 14px;border-radius:8px;font-size:12.5px;font-weight:500}
.ai-steps{display:flex;flex-direction:column;gap:10px;padding:14px}
.ai-step{display:flex;gap:10px;font-size:12.5px;align-items:flex-start}
.ai-step-num{width:26px;height:26px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.ai-templates{display:flex;flex-direction:column;gap:8px;padding:14px}
.ai-templates .btn{text-align:left;justify-content:flex-start}
.ai-status-list{display:flex;flex-direction:column;gap:6px;font-size:12.5px;padding:14px;padding-top:0}
.ai-status-row{display:flex;justify-content:space-between}
.ai-status-row span:first-child{color:var(--m)}
.ai-last-saved{margin-top:12px;padding-top:10px;border-top:1px solid var(--b);font-size:11px;color:var(--m);padding-left:14px;padding-bottom:14px}

/* ── Dev Notes ── */
.dn-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:16px;gap:16px}
.dn-sidebar{display:flex;flex-direction:column;gap:12px}
.dn-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px;margin-bottom:12px}
.dn-filter-row{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.dn-filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--m)}
.dn-empty{text-align:center;padding:30px;color:var(--m);font-size:12.5px;border:1.5px dashed var(--b);border-radius:9px}
.dn-note-hd{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.dn-note-body{font-size:12.5px;line-height:1.75;color:var(--t);background:var(--bg);border-radius:7px;padding:11px 13px;white-space:pre-wrap}
.dn-pri-tag{padding:1px 8px;border-radius:8px;font-size:11px;font-weight:500}
.dn-cat-tag{background:var(--bg);color:var(--m);padding:1px 8px;border-radius:8px;font-size:11px}
.dn-summary{padding:14px}
.dn-summary-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--b);font-size:12.5px}
.dn-summary-row span:first-child{color:var(--m)}
.dn-legend{padding:14px;display:flex;flex-direction:column;gap:7px;font-size:12.5px}
.dn-legend-row{display:flex;align-items:center;gap:8px}

/* ── Team Chat (HTML layout) ── */
.chat-shell{display:grid;grid-template-columns:240px 1fr;grid-gap:0;gap:0;border:1px solid var(--b);border-radius:12px;overflow:hidden;height:calc(100vh - 140px);min-height:500px}
.chat-sidebar-dark{background:#1a2e23;display:flex;flex-direction:column}
.chat-sidebar-brand{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.chat-sidebar-brand-title{font-size:13px;font-weight:700;color:#fff}
.chat-sidebar-brand-sub{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px}
.chat-channels-scroll{padding:10px 0;flex:1 1;overflow-y:auto}
.chat-sidebar-section{padding:4px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.3);margin-bottom:4px}
.chat-profile-footer{padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}
.chat-profile-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.chat-profile-name{background:transparent;border:none;color:#fff;font-family:inherit;font-size:12px;font-weight:500;width:100%;outline:none}
.chat-profile-status{font-size:10px;color:rgba(255,255,255,.4)}
.chat-main-panel{display:flex;flex-direction:column;background:#fff;min-width:0}
.chat-channel-hd{padding:12px 18px;border-bottom:1px solid var(--b);display:flex;align-items:center;gap:10px;background:#FAFBF9}
.chat-channel-title{font-size:14px;font-weight:600}
.chat-channel-desc{font-size:11.5px;color:var(--m)}
.chat-compose{padding:12px 16px;border-top:1px solid var(--b);background:#FAFBF9}
.chat-compose-row{display:flex;gap:10px;align-items:flex-end}
.chat-textarea-wrap{flex:1 1;background:#fff;border:1.5px solid var(--b);border-radius:10px;padding:8px 12px;display:flex;align-items:flex-end;transition:border-color .15s}
.chat-textarea-wrap:focus-within{border-color:var(--g)}
.chat-textarea-wrap textarea{flex:1 1;border:none;outline:none;font-family:inherit;font-size:13px;resize:none;background:transparent;max-height:120px;line-height:1.5;width:100%}
.chat-send-btn{width:40px;height:40px;border-radius:9px;background:var(--g);border:none;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.chat-send-btn:hover:not(:disabled){background:var(--gd)}
.chat-send-btn:disabled{opacity:.45;cursor:not-allowed}
.chat-compose-hint{font-size:11px;color:var(--m);margin-top:5px;padding:0 2px}
.chat-compose-hint kbd{background:var(--bg);border:1px solid var(--b);border-radius:3px;padding:1px 4px;font-size:10px}
.msg-reactions{margin-top:4px;display:flex;gap:4px}

/* ── Suppliers extended ── */
.sup-page{}
.sup-top-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.sup-search{padding:7px 12px;border:1px solid var(--b);border-radius:8px;font-family:inherit;font-size:12.5px;width:240px}
.sup-kpi-strip{display:flex;gap:8px}
.sup-kpi-pill{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:6px 14px;text-align:center;min-width:90px}
.sup-kpi-pill-v{font-size:17px;font-weight:700;font-family:'DM Serif Display',Georgia,serif;color:var(--g)}
.sup-kpi-pill-l{font-size:10px;color:var(--m);text-transform:uppercase;letter-spacing:.7px}
.sup-tabs{margin-bottom:14px}
.sup-sub-bar{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}
.sup-sub-tabs{margin-bottom:0!important}
.sup-hotel-bar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}
.sup-hotel-note{background:var(--gl);border-radius:7px;padding:6px 12px;font-size:11.5px;color:var(--gd)}
.sup-reg-badge{font-size:8.5px;background:var(--bg);padding:1px 5px;border-radius:3px;display:inline-block;margin-top:4px}
.sup-th{text-align:right;font-size:10.5px;font-weight:600;padding:8px 6px!important}
.sup-th-low{background:#E8F5EE;color:#1a5c38}
.sup-th-high{background:#FFF3CD;color:#856404}
.sup-th-fest{background:#FFE4E1;color:#c0392b}
.sup-th-peak{background:#F3E5F5;color:#6B21A8}
.sup-th-net{font-size:10px!important}
.sup-td{text-align:right;font-weight:600;padding:8px 6px!important}
.sup-td-low{background:#E8F5EE;color:#1a5c38}
.sup-td-high{background:#FFF3CD;color:#856404}
.sup-td-fest{background:#FFE4E1;color:#c0392b}
.sup-td-peak{background:#F3E5F5;color:#6B21A8}
.sup-td-net{font-size:11.5px!important;font-weight:500!important}
.sup-td-net.sup-td-low{color:#5a9e74;background:#E8F5EE}
.sup-td-net.sup-td-high{color:#b8960a;background:#FFF3CD}
.sup-td-net.sup-td-fest{color:#a93226;background:#FFE4E1}
.sup-td-net.sup-td-peak{color:#8e44ad;background:#F3E5F5}
.sup-ext-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:12px;gap:12px}
.sup-empty-grid{text-align:center;padding:40px;color:var(--m);border:1.5px dashed var(--b);border-radius:9px}
.sup-add-modal{width:560px;max-width:95vw}
.sp-card-body{padding:0 16px 14px}
.sp-subcat-tag{padding:1px 8px;border-radius:8px;font-size:10px;font-weight:600}
.sp-notes-box{background:var(--amb-l);border-radius:6px;padding:7px 11px;font-size:11.5px;color:#7a5200;margin-bottom:8px}
.sp-tags-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.sp-tag-pill{background:var(--gl);color:var(--gd);padding:1px 7px;border-radius:10px;font-size:10.5px;font-weight:500}
.sp-card-footer{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sp-contact-btn{padding:4px 9px;border-radius:6px;font-size:11px;font-weight:500;text-decoration:none}
.sp-contact-phone{background:var(--gl);color:var(--g)}
.sp-contact-email{background:var(--blue-l);color:var(--blue)}
.sp-delete-btn{background:none;border:1px solid var(--b);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:11px;color:var(--red)}

/* ── Guides calendar & bio ── */
.guides-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}
.guides-kpi-item{background:var(--s);border:1px solid var(--b);border-radius:9px;padding:12px 14px;text-align:center}
.guides-kpi-l{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--m);margin-bottom:4px}
.guides-kpi-v{font-size:18px;font-weight:700}
.guide-bio-card{background:var(--s);border:1px solid var(--b);border-radius:11px;padding:18px;cursor:pointer;transition:box-shadow .15s}
.guide-bio-card:hover{box-shadow:0 3px 14px rgba(0,0,0,.09)}
.guide-bio-avatar{width:48px;height:48px;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;margin-bottom:10px}
.guide-bio-name{font-weight:700;font-size:14px;margin-bottom:2px}
.guide-bio-sub{font-size:12px;color:var(--m);margin-bottom:6px}
.guide-bio-specialty{font-size:12px;margin-bottom:8px}
.guide-bio-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.guide-bio-rating{color:var(--gold);font-size:12px}
.guide-bio-rate{font-size:11px;color:var(--g);font-weight:600}
.guide-bio-snippet{font-size:11.5px;color:var(--m);margin-top:10px;line-height:1.55;border-top:1px solid var(--b);padding-top:8px}
.guide-cal-wrap{}
.guide-cal-controls{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.guide-cal-nav{display:flex;gap:6px;background:var(--bg);border:1px solid var(--b);border-radius:8px;padding:3px;align-items:center}
.guide-cal-nav button{padding:5px 11px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--m)}
.guide-cal-nav span{padding:5px 16px;font-size:13px;font-weight:600;min-width:140px;text-align:center}
.guide-cal-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.guide-cal-legend-label{font-size:11.5px;color:var(--m);font-weight:500;margin-right:4px}
.guide-cal-legend-item{padding:2px 10px;border-radius:8px;font-size:11px;font-weight:500}
.guide-cal-leg-avail{background:#E8F5EE;color:#1a5c38}
.guide-cal-leg-booked{background:#E0F7FA;color:#00838F}
.guide-cal-leg-ontour{background:#E3F2FD;color:#1565C0}
.guide-cal-leg-standby{background:#FEF3C7;color:#D97706}
.guide-cal-leg-unavail{background:#FDECEA;color:#C0392B}
.guide-cal-leg-training{background:var(--pur-l);color:var(--pur)}
.guide-cal-grid-wrap{overflow-x:auto;border:1px solid var(--b);border-radius:11px}
.guide-cal-avatar{width:28px;height:28px;border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.guide-cal-hint{margin-top:10px;font-size:11.5px;color:var(--m)}

/* ── Bookings polish ── */
.bk-page{}
.bk-table-card{margin-bottom:14px}
.bk-guide-alert{display:inline-block;margin-left:6px;font-size:10px;background:var(--amb-l);color:var(--amb);padding:1px 6px;border-radius:6px;font-weight:600}
.bk-changes-badge{display:inline-block;margin-left:6px;font-size:10px;background:var(--blue-l);color:var(--blue);padding:1px 6px;border-radius:6px;font-weight:600}
.bk-forms-btn{background:var(--gl);border:1px solid var(--g);color:var(--gd);padding:3px 8px;border-radius:6px;font-size:11px;cursor:pointer;font-weight:500}
.bk-on-tour-row{background:#F0F8FF!important}
.bkd-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;font-size:12.5px}
.bkd-change-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}

/* ── Attractions ── */
.att-page{--att-radius:12px}
.att-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.att-toolbar select,.att-toolbar input,.att-search{padding:8px 12px;border:1px solid var(--b);border-radius:9px;font-family:inherit;font-size:12.5px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.att-search{min-width:200px;max-width:280px}
.att-alert-bar{background:var(--red-l);color:var(--red);padding:8px 14px;border-radius:9px;font-size:12px;font-weight:600;border:1px solid rgba(198,40,40,.15)}
.att-view-toggle{display:inline-flex;border:1px solid var(--b);border-radius:9px;overflow:hidden;background:#fff}
.att-view-btn{border:none;background:transparent;padding:7px 12px;font-size:12px;font-weight:600;color:var(--m);cursor:pointer;font-family:inherit}
.att-view-btn.on{background:var(--gl);color:var(--gd)}
.att-view-btn:hover:not(.on){background:#f8faf9}
.att-table-layout{display:flex;flex-direction:column;gap:18px}
.att-region-block{margin-bottom:0}
.att-table-card{border:1px solid var(--b);box-shadow:0 2px 10px rgba(0,0,0,.04);border-radius:var(--att-radius);overflow:hidden}
.att-table-wrap{padding:0!important;overflow:auto;max-height:none}
.att-table{table-layout:fixed;width:100%;min-width:980px}
.att-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#f7f9f8;box-shadow:0 1px 0 var(--b);padding:8px 10px;font-size:10px;text-align:left;vertical-align:bottom}
.att-table thead th.att-th-actions{text-align:center}
.att-table tbody td{padding:8px 10px;min-height:40px;height:auto;vertical-align:middle}
.att-table .att-cell-text{font-size:12px;line-height:1.35;color:var(--ink)}
.att-cell-clip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-cell-wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;word-break:break-word}
.att-table tbody tr.att-row{cursor:pointer;transition:background .12s;background:#fff}
.att-table tbody tr.att-row-striped{background:#fafcfb}
.att-table tbody tr.att-row:hover{background:#f0f7f3!important}
.att-table tbody tr.att-row-expanded{background:#eef6f0!important}
.att-table tbody tr.att-row-closed-today{background:var(--red-l)!important}
.att-table tbody tr.att-row-warning{background:#fff5f5!important}
.att-w-chevron{width:30px}
.att-w-name{width:19%}
.att-w-dest{width:68px}
.att-w-type{width:74px}
.att-w-hours{width:11%}
.att-w-closed{width:10%}
.att-w-admission{width:8%}
.att-w-phone{width:8%}
.att-w-best{width:8%}
.att-w-crowd{width:9%}
.att-w-seasonal{width:9%}
.att-w-actions{width:58px}
.att-col-chevron{text-align:center;padding:0!important}
.att-col-name{overflow:hidden}
.att-name-wrap{display:flex;align-items:flex-start;gap:5px;min-width:0}
.att-name-text{font-weight:600;font-size:12.5px;flex:1 1;min-width:0;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.35}
.att-alert-chip{flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:999px;background:var(--red-l);color:var(--red);font-size:9px;font-weight:800;cursor:help}
.att-col-dest .att-cell-text{font-size:11.5px;color:var(--m)}
.att-col-type{text-align:left}
.att-col-type .att-type-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:3px 7px;font-size:9.5px;line-height:1.2;text-align:center}
.att-col-hours .att-cell-text{font-size:11px}
.att-col-closed .att-cell-text{color:var(--red);font-weight:700;font-size:11px}
.att-col-admission .att-cell-text{font-size:11px}
.att-col-best .att-cell-text,.att-col-crowd .att-cell-text,.att-col-seasonal .att-cell-text{color:var(--m);font-size:11px}
.att-col-phone .att-cell-text,.att-col-phone .att-phone-link{font-size:11px}
.att-col-actions{text-align:center;padding:0 6px!important}
.att-row-edit{padding:3px 9px!important;font-size:11px!important;min-width:48px}
.att-col-chevron{width:28px;text-align:center}
.att-expand-row td{background:#fafcfb;border-top:1px solid var(--b);padding:0!important;height:auto}
.att-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:start}
.att-columns-single{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.att-region-column{min-width:0}
.att-region-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:0 2px}
.att-region-hd-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.att-region-add{padding:3px 9px!important;font-size:11px!important}
.att-region-empty{padding:20px 16px;text-align:center;background:#fff;border:1px dashed var(--b);border-radius:var(--att-radius);color:var(--m);font-size:12.5px}
.att-region-empty p{margin:0 0 10px}
.att-region-empty-table{margin-top:0}
.att-id-readonly{background:#f4f6f5;color:var(--m);cursor:default}
.att-edit-ft{display:flex;align-items:center;justify-content:space-between;gap:12px}
.att-edit-ft-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.att-edit-delete{margin-right:auto}
.att-region-badge{display:inline-flex;padding:6px 12px;border-radius:9px;font-size:12px;font-weight:700;letter-spacing:.2px}
.att-region-count{font-size:11px;font-weight:700;color:var(--m);background:#fff;border:1px solid var(--b);border-radius:999px;padding:3px 9px}
.att-card-grid{display:flex;flex-direction:column;gap:12px}
.att-columns-single .att-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}
.att-card{background:#fff;border:1px solid var(--b);border-radius:var(--att-radius);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .15s,transform .15s,border-color .15s}
.att-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.att-card-closed-today{background:var(--red-l);border-color:rgba(198,40,40,.28);box-shadow:0 0 0 1px rgba(198,40,40,.12)}
.att-card-warning{background:#fff5f5;border-color:rgba(198,40,40,.2)}
.att-card-expanded{border-color:var(--g);box-shadow:0 8px 22px rgba(46,125,82,.12)}
.att-card-main{cursor:pointer;padding:14px 14px 10px}
.att-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.att-card-top-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.att-card-edit{padding:3px 8px!important;font-size:11px!important}
.att-card-name{margin:0 0 4px;font-size:14px;line-height:1.35;color:var(--ink)}
.att-card-dest{font-size:11.5px;color:var(--m);margin-bottom:10px}
.att-card-alert{font-size:10.5px;font-weight:700;color:var(--red);background:rgba(255,255,255,.65);border-radius:7px;padding:5px 8px;margin-bottom:10px;line-height:1.35}
.att-card-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 12px;gap:8px 12px;margin-bottom:10px}
.att-fact{display:flex;flex-direction:column;gap:2px;min-width:0}
.att-fact-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.45px;color:var(--m)}
.att-fact-value{font-size:11.5px;line-height:1.4;color:var(--ink)}
.att-fact-line{display:block}
.att-fact-closed{color:var(--red);font-weight:700}
.att-card-extra{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--m);line-height:1.4;margin-bottom:8px}
.att-card-footer{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--gd);padding-top:8px;border-top:1px dashed var(--b)}
.att-status-pill{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;padding:3px 7px;border-radius:999px}
.att-status-closed{background:var(--red);color:#fff}
.att-status-warn{background:#fff3cd;color:#856404;border:1px solid #f0d58c}
.att-chevron{display:inline-block;transition:transform .15s;color:var(--m);font-size:11px}
.att-chevron.open{transform:rotate(90deg)}
.att-type-pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;text-transform:capitalize;background:#eef2ef;color:var(--gd)}
.att-type-museum{background:#e8f1ff;color:#1d4f91}
.att-type-heritage{background:#fff3cd;color:#856404}
.att-type-landmark{background:#f3e8ff;color:#6b21a8}
.att-type-temple{background:#fde8ef;color:#9d174d}
.att-type-nature{background:#e8f5ee;color:#1a5c38}
.att-phone-link{color:var(--blue);text-decoration:none;font-weight:600}
.att-phone-link:hover{text-decoration:underline}
.att-card-expand{border-top:1px solid var(--b);background:linear-gradient(180deg,#fafcfb 0%,#fff 100%)}
.att-expand{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:16px;gap:16px;padding:14px}
.att-expand-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gd);margin-bottom:8px}
.att-expand-desc{margin:0;font-size:12.5px;line-height:1.65;color:var(--ink)}
.att-expand-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.att-meta-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef2ef;font-size:11px;color:var(--gd)}
.att-meta-warn{background:#fff3cd;color:#856404}
.att-meta-alert{background:var(--red-l);color:var(--red)}
.att-expand-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.att-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}
.att-photo-thumb{aspect-ratio:4/3;border:none;border-radius:9px;background:#e8ece9 center/cover no-repeat;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .12s,box-shadow .12s;position:relative;overflow:hidden;padding:0}
.att-photo-thumb-img{object-fit:cover}
.att-photo-thumb:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.att-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:130px;padding:14px;border:1px dashed var(--b);border-radius:9px;color:var(--m);font-size:12px;text-align:center;background:#fff}
.att-empty{text-align:center;color:var(--m);padding:48px 16px}
.att-edit-modal{max-width:760px;width:min(760px,96vw)}
.att-edit-body{max-height:70vh;overflow:auto}
.att-edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}
.att-edit-span2{grid-column:span 2}
.att-edit-close-btn{
  width:30px;
  height:30px;
  border:1px solid #d7dfda;
  border-radius:999px;
  background:#fff;
  color:var(--m);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
  padding:0;
  cursor:pointer;
  transition:all .15s ease;
}
.att-edit-close-btn:hover{
  color:var(--gd);
  border-color:#b9c8bf;
  background:#f7faf8;
}
.att-edit-close-btn:focus-visible{
  outline:2px solid rgba(46,125,82,.25);
  outline-offset:2px;
}
.att-edit-checkbox-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
}
.att-edit-checkbox-input{
  width:16px!important;
  height:16px;
  margin:0;
  accent-color:var(--g);
  transform:translateY(-1px);
}
.att-edit-photos{margin-top:16px;padding-top:14px;border-top:1px solid var(--b)}
.att-edit-photos.remove-mode{border-top-color:#ef9a9a}
.att-edit-photos-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.att-edit-photos-count{font-size:11px;color:var(--m);font-weight:600}
.att-edit-photos-hint{margin:0 0 8px;font-size:11.5px;color:var(--m);line-height:1.4}
.att-edit-photos-hint.remove-mode{color:#b42318;font-weight:700;background:#fff1f1;border:1px solid #ffd1d1;border-radius:8px;padding:6px 8px}
.att-edit-photo-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-top:8px}
.att-edit-photo-pick{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--b);border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.att-edit-photo-pick.selected{border-color:var(--g);box-shadow:0 0 0 2px rgba(46,125,82,.15)}
.att-edit-photo-pick.pool-only{opacity:.92;border-style:dashed}
.att-edit-photo-pick.remove-mode{border-color:#f2b8b5;background:#fffafa}
.att-edit-photo-pick.remove-mode .att-edit-photo-status{color:#b42318}
.att-edit-photo-pick.remove-selected{border-color:#d92d20;background:#fff1f1;box-shadow:0 0 0 2px rgba(217,45,32,.2)}
.att-edit-photo-preview{display:block;height:72px;border-radius:6px;background:#e8ece9 center/cover no-repeat}
.att-edit-photo-cap{font-size:10px;color:var(--ink);line-height:1.3;font-weight:600}
.att-edit-photo-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--m)}
.att-edit-photo-pick.selected .att-edit-photo-status{color:var(--g)}
.att-edit-gallery-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--g);text-decoration:none}
.att-edit-gallery-link:hover{text-decoration:underline}
.att-edit-photos-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.att-edit-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.att-edit-photo-pick-wrap{display:flex;flex-direction:column;gap:4px}
.att-edit-photo-pick-wrap.remove-selected::after{content:'DELETE';display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.4px;color:#fff;background:#d92d20;border-radius:999px;padding:2px 8px;align-self:flex-start}
.att-edit-photo-edit-link{font-size:10px;font-weight:600;color:var(--g);text-align:center;text-decoration:none;padding:2px 0}
.att-edit-photo-edit-link:hover{text-decoration:underline}
.att-edit-gallery-links{margin-top:8px}
.att-remove-toggle-on{box-shadow:0 0 0 2px rgba(217,45,32,.18)}
.gallery-card-body .gallery-card-actions{position:static;top:auto;left:auto;opacity:1;transition:none;display:flex;flex-direction:column;gap:6px;margin-top:8px}
.gallery-card-edit-btn{width:100%;justify-content:center}
.field-error{margin:4px 0 0;font-size:11px;color:var(--red);line-height:1.35}
.input-error{border-color:var(--red)!important;box-shadow:0 0 0 1px rgba(198,40,40,.12)}
.att-photo-empty-rich{min-height:150px;padding:20px 16px}
.att-photo-empty-icon{font-size:28px;line-height:1;opacity:.7}
.att-photo-empty-rich p{margin:0;max-width:36ch;line-height:1.55}
.gallery-card-linked{box-shadow:0 0 0 2px rgba(46,125,82,.12)}
.gallery-link-btn{width:100%;margin-top:8px;justify-content:center}
.gallery-tag-featured{background:rgba(46,125,82,.12);color:var(--g);font-weight:700;margin-bottom:6px;display:inline-block}
.att-lightbox{z-index:10050}
.att-lightbox-inner{position:relative;max-width:min(900px,92vw);max-height:88vh;margin:auto;top:6vh;background:#111;border-radius:12px;padding:12px}
.att-lightbox-img{display:block;max-width:100%;max-height:72vh;margin:0 auto;border-radius:8px}
.att-lightbox-placeholder{min-height:240px;display:flex;align-items:center;justify-content:center;color:#fff}
.att-lightbox-close{position:absolute;top:8px;right:8px;border:none;background:rgba(0,0,0,.5);color:#fff;width:32px;height:32px;border-radius:999px;cursor:pointer;z-index:2}
.att-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(0,0,0,.45);color:#fff;width:36px;height:48px;border-radius:8px;cursor:pointer;font-size:24px}
.att-lightbox-prev{left:8px}
.att-lightbox-next{right:8px}
.att-lightbox-caption{color:#ddd;text-align:center;font-size:12px;margin-top:10px}
@media (max-width:1200px){
  .att-columns{grid-template-columns:1fr}
  .att-columns-single .att-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
}
@media (max-width:900px){
  .att-expand{grid-template-columns:1fr}
  .att-edit-grid{grid-template-columns:1fr}
  .att-edit-span2{grid-column:span 1}
  .att-columns-single .att-card-grid{grid-template-columns:1fr}
}

/* ── Post-Tour ── */
.pt-form-card{margin-bottom:14px}
.pt-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}
.pt-nps-summary{background:var(--gl);border-radius:8px;padding:8px 16px;font-size:12.5px;display:flex;gap:16px;flex-wrap:wrap}

/* ── Tax & Salary ── */
.tax-controls{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}
.tax-actions{display:flex;gap:8px;margin-bottom:14px}
.tax-total-row{background:var(--gl)!important;font-weight:700}
.tax-id-code{font-size:10.5px;color:var(--g)}
.salary-page{}
.sal-payroll-bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.sal-month-sel{padding:6px 10px;border:1px solid var(--b);border-radius:7px;font-family:inherit;font-size:12.5px}
.sal-payroll-card{margin-bottom:14px}
.sal-bonus-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}

/* ── AI tips ── */
.ai-tips{padding:14px;display:flex;flex-direction:column;gap:10px}
.ai-tip-row{display:flex;flex-direction:column;gap:3px;padding-bottom:8px;border-bottom:1px solid var(--b)}
.ai-tip-row:last-child{border-bottom:none;padding-bottom:0}
.ai-tip-label{font-size:11px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.6px}
.ai-tip-hint{font-size:11.5px;color:var(--m);line-height:1.55;font-style:italic}

/* ── Sidebar badges ── */
.sb-overdue-badge,.sb-chat-badge{margin-left:auto;background:#C0392B;color:#fff;font-size:9px;padding:1px 6px;border-radius:10px;font-weight:700;flex-shrink:0}
.sb-chat-badge{background:var(--red)}

/* ── Customer modals ── */
.nc-modal{width:740px;max-width:95vw;padding:0;overflow:hidden}
.nc-modal-body{padding:22px;overflow-y:auto;max-height:80vh}
.nc-modal-hd{border-radius:14px 14px 0 0}
.nc-section-type{background:#F0F7F3;border:1px solid #C8E6D4;border-radius:9px;padding:13px 16px;margin-bottom:16px}
.nc-section-children{background:var(--amb-l);border:1px solid #FDE68A;border-radius:9px;padding:14px 16px;margin-bottom:16px}
.nc-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--g);margin-bottom:10px}
.nc-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:11px;gap:11px}
.child-tag{display:inline-block;background:#fff;border:1px solid #FDE68A;border-radius:12px;padding:2px 8px;font-size:10.5px;color:var(--amb);cursor:pointer;margin:2px 3px 2px 0}
.child-quick-tags{margin-top:9px}
.prof-modal{width:720px;max-width:95vw;padding:0;overflow:hidden}
.prof-modal-hd{background:var(--gd);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-start}
.prof-modal-toolbar{display:flex;gap:8px;padding:10px 22px;background:rgba(0,0,0,.03);border-bottom:1px solid var(--b)}
.prof-toolbar-btn{background:rgba(255,255,255,.9);border:1px solid var(--b);border-radius:7px;padding:6px 14px;cursor:pointer;font-size:12.5px;font-family:inherit}
.prof-toolbar-danger{background:#FDECEA;color:var(--red);border-color:var(--red)}
.prof-modal-body{padding:18px 22px 22px;max-height:75vh;overflow-y:auto}
.prof-tabs{display:flex;gap:2px;background:var(--bg);border-radius:7px;padding:3px;margin-bottom:16px;width:-moz-fit-content;width:fit-content}
.prof-tab{padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--m);transition:all .12s}
.prof-tab.on{background:var(--s);color:var(--g);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.prof-overview-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}
.prof-section-lbl{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--m);margin-bottom:10px}
.prof-kv-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--b);font-size:12.5px}
.prof-kv-row span:first-child{color:var(--m)}
.prof-kv-row span:last-child{font-weight:500}
.prof-stat-box{background:var(--gl);border-radius:9px;padding:13px;margin-bottom:10px}
.prof-stat-num{font-size:22px;font-weight:700;color:var(--g);font-family:'DM Serif Display',Georgia,serif}
.prof-stat-lbl{font-size:11px;color:var(--gd);margin-top:2px}
.prof-notes-box{background:var(--gold-l);border-left:3px solid var(--gold);padding:10px 13px;border-radius:0 8px 8px 0;font-size:12.5px;margin-top:10px}
.prof-notes-lbl{font-size:9.5px;font-weight:600;color:#92711d;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}
.prof-empty{color:var(--m);font-size:12.5px;padding:18px;text-align:center;border:1.5px dashed var(--b);border-radius:8px}
.prof-booking-card{background:var(--gl);border-radius:9px;padding:14px;margin-bottom:9px}
.prof-nps-summary{background:var(--gl);border-radius:10px;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:18px}
.prof-nps-big{font-size:38px;font-weight:800;line-height:1}
.prof-fb-card{background:#F7F8F6;border:1px solid var(--b);border-left:4px solid var(--g);border-radius:0 8px 8px 0;padding:12px 14px;margin-bottom:10px}
.comm-dir-badge{padding:2px 7px;border-radius:8px;font-size:10px;font-weight:600}
.comm-dir-badge.outbound{background:var(--g);color:#fff}
.comm-dir-badge.inbound{background:var(--blue-l);color:var(--blue)}
.comm-type-badge{background:#F0F0EE;padding:1px 7px;border-radius:8px;font-size:10px;color:var(--m)}
.ai-draft-banner{background:var(--pur-l);border:1px solid #d8b4fe;border-radius:8px;padding:8px 12px;font-size:11.5px;color:var(--pur);margin-bottom:10px}

/* ── Sales pipeline cards ── */
.pipe-stage-select{flex:1 1;font-size:10.5px;padding:3px 5px;border:1px solid var(--b);border-radius:5px;font-family:inherit;width:100%}
.pipe-ai-btn,.pipe-fup-btn{width:100%;border-radius:5px;padding:4px 6px;cursor:pointer;font-size:10.5px;font-family:inherit;font-weight:500}
.pipe-ai-btn{background:var(--pur-l);color:var(--pur);border:1px solid #d8b4fe}
.pipe-fup-btn{background:var(--amb-l);color:var(--amb);border:1px solid #FDE68A;margin-top:5px}
.pipe-ai-panel{margin-top:6px;background:var(--pur-l);border:1px solid #d8b4fe;border-radius:7px;padding:8px}
.pipe-fup-hint{font-size:10px;color:var(--amb);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipe-fup-form{margin-top:5px;background:var(--bg);border:1px solid var(--b);border-radius:7px;padding:8px;display:flex;flex-direction:column;gap:5px}
.pipe-fup-form input{font-size:11px;padding:5px 8px;border:1px solid var(--b);border-radius:5px;font-family:inherit}
.pipe-fup-form button{background:var(--g);color:#fff;border:none;border-radius:5px;padding:4px;cursor:pointer;font-size:11px;font-weight:500}
.pipe-col-val{font-size:10.5px;color:var(--m);margin-left:4px}
.pipe-card-overdue{background:#FEF2F2;border-color:#FECACA}
.pipe-card-overdue .pipe-fup-hint{color:var(--red);font-weight:600}
.pipe-card-outline-waiting{background:#FFFBEB;border-color:#FCD34D}
.pipe-card-outline-waiting:hover{border-color:var(--amb);box-shadow:0 2px 8px rgba(245,158,11,.12)}
.sales-filter-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.sales-filter-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sales-filter-chip{padding:4px 10px;border-radius:16px;font-size:11.5px;font-weight:500;border:1px solid var(--b);background:#fff;cursor:pointer;color:var(--m);font-family:inherit}
.sales-filter-chip.on{background:var(--gl);border-color:var(--g);color:var(--gd);font-weight:600}
.sales-filter-chip:hover{border-color:var(--g)}
.sales-stage-select{font-size:11.5px;padding:4px 8px;border:1px solid var(--b);border-radius:6px;font-family:inherit;background:#fff}
.sales-travel-month-select{font-size:11.5px;padding:4px 8px;border:1px solid var(--b);border-radius:6px;font-family:inherit;background:#fff;max-width:140px}
.sales-date-range{display:flex;gap:6px;align-items:center;font-size:11.5px}
.sales-date-range input[type=date]{font-size:11px;padding:3px 6px;border:1px solid var(--b);border-radius:5px;font-family:inherit}
.sales-show-more-btn{width:100%;margin-top:4px;padding:5px;border:1px dashed var(--b);border-radius:6px;background:var(--bg);color:var(--m);font-size:11px;cursor:pointer;font-family:inherit}
.sales-show-more-btn:hover{border-color:var(--g);color:var(--gd)}
.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.tbl th.sortable:hover{color:var(--gd)}
.sales-group-row td{background:var(--bg);font-weight:600;font-size:12px;color:var(--gd);padding:8px 12px!important;border-top:2px solid var(--b)}
.sales-lead-highlight td{background:var(--gl)!important;box-shadow:inset 3px 0 0 var(--g)}
.sales-list-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-size:12px;color:var(--m)}
.sales-list-toolbar label{display:flex;align-items:center;gap:6px;cursor:pointer}
.sales-empty-state{margin:8px 0 4px}
.sales-result-count{font-size:11.5px;color:var(--m);margin-left:auto}

/* ── Shared empty state ── */
.crm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:40px 24px;margin:12px;background:linear-gradient(180deg,#fbfcfb 0%,#f4f7f5 100%);border:1px dashed #cfdad3;border-radius:14px;color:var(--m)}
.crm-empty-state-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--gl);border:1px solid #cfe8d8;color:var(--g);margin-bottom:4px}
.crm-empty-state-title{margin:0;font-size:14.5px;font-weight:700;color:var(--td);letter-spacing:.1px}
.crm-empty-state-desc{margin:0;max-width:340px;font-size:12.5px;line-height:1.45;color:var(--m)}
.crm-empty-state-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}
.crm-empty-state--table{margin:16px}
.crm-empty-state--compact{padding:28px 18px;margin:8px;gap:6px}
.crm-empty-state--compact .crm-empty-state-icon{width:44px;height:44px;border-radius:12px;margin-bottom:2px}
.crm-empty-state--compact .crm-empty-state-icon svg{width:22px;height:22px}
.crm-empty-state--compact .crm-empty-state-title{font-size:13.5px}
.crm-empty-state--compact .crm-empty-state-desc{font-size:12px;max-width:300px}
.crm-empty-state--flush{margin:0;border-radius:12px}
.crm-empty-state--inline{grid-column:1/-1}

/* ── Table pagination ── */
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--b);font-size:12px;color:var(--m);flex-wrap:wrap}
.pagination-range{white-space:nowrap}
.pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pagination-page{font-size:11.5px;color:var(--m);min-width:80px;text-align:center}
.pagination-size{display:inline-flex;align-items:center;gap:6px;margin-right:4px}
.pagination-size-label{font-size:11.5px;color:var(--m);white-space:nowrap}
.pagination-size-select{font:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--b);border-radius:6px;background:#fff;color:var(--gd);cursor:pointer}
.pagination-bar .btn:disabled{opacity:.45;cursor:not-allowed}

/* ── Planner grid view ── */
.planner-view-toggle{display:flex;gap:0;background:var(--bg);border:1px solid var(--b);border-radius:7px;overflow:hidden;flex-shrink:0}
.planner-view-toggle button{padding:5px 14px;border:none;background:none;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--m);transition:background .2s}
.planner-view-toggle button.on{background:var(--g);color:#fff}
.planner-team-grid{margin-bottom:16px;overflow-x:auto;border-radius:10px;border:1px solid var(--b)}
.planner-grid-cell{vertical-align:top;padding:6px!important;min-width:90px;background:#fafafa}
.planner-grid-cell.today{background:var(--gl)}
.planner-grid-task{font-size:10px;padding:3px 6px;border-radius:4px;margin-bottom:3px;background:#E8F5EE}

/* ── Dashboard agents ── */
.dash-agent-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #f0f0f0}
.dash-agent-tier{border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700;white-space:nowrap;border:1px solid}
.dash-agent-total{margin-top:10px;padding-top:8px;border-top:2px solid #E2E8E4;display:flex;justify-content:space-between;font-size:13px}

/* ── Contracts extras ── */
.ctr-header-bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.ctr-search{flex:1 1;min-width:180px;padding:8px 12px;border:1.5px solid var(--b);border-radius:8px;font-family:inherit;font-size:12.5px}
.ctr-filters{display:flex;gap:6px;flex-wrap:wrap}
.ctr-kpi-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--m);margin-top:3px}
.ctr-kpi-val{font-size:18px;font-weight:700}
.ctr-new-modal,.ctr-preview-modal{width:720px;max-width:95vw;padding:0}
.ctr-autofill-box{background:var(--gl);border:1px solid var(--b);border-radius:8px;padding:12px;margin-bottom:14px}
.ctr-form-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gd);margin-bottom:8px}
.ctr-preview-body{padding:22px;max-height:70vh;overflow-y:auto}
.ctr-pre{background:var(--gl);padding:10px;border-radius:6px;font-size:12px;white-space:pre-wrap;font-family:inherit}
.modal-hd-green{background:var(--gd);padding:16px 22px;display:flex;align-items:center;justify-content:space-between;color:#fff;border-radius:14px 14px 0 0}
.modal-hd-green .phlib-modal-title,
.modal-hd-green .phlib-modal-sub,
.modal-hd-green .prod-form-modal-title,
.modal-hd-green .prod-form-modal-sub{color:inherit}
.modal-hd-green .phlib-modal-sub,
.modal-hd-green .prod-form-modal-sub{opacity:.85}
.modal-close-btn{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:7px;padding:5px 14px;cursor:pointer;font-family:inherit;font-size:13px}

/* ── Tour Design ── */
.td-ai-panel{background:var(--pur-l);border:1.5px solid #d8b4fe;border-radius:10px;padding:14px 16px;margin-top:12px}
.info-bar{background:var(--gl);border:1px solid var(--b);border-radius:8px;padding:12px 14px;font-size:12.5px;color:var(--td);line-height:1.6}

.td-exp-step{display:flex;flex-direction:column;gap:0;--td-exp-panel-h:min(70vh,640px)}
.td-exp-step > .guest-info-panel{margin-bottom:12px}
.td-exp-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;align-items:stretch;height:var(--td-exp-panel-h);min-height:420px}
.td-exp-left.card,.td-exp-right-wrap,.td-exp-right-card.card{margin-bottom:0!important;min-height:0;overflow:hidden}
.td-exp-right-wrap{display:flex;flex-direction:column;height:100%}
.td-exp-right-card{display:flex;flex-direction:column;flex:1 1;height:100%;min-height:0}
.td-exp-left{display:flex;flex-direction:column;height:100%;min-height:0}
.td-exp-left > .card-hd,.td-exp-right-card > .card-hd{flex-shrink:0}
.td-lib-tabs{display:flex;gap:0;border-bottom:2px solid var(--b);padding:0 10px;flex-shrink:0}
.td-lib-tabs button{padding:8px 18px;font-size:12.5px;font-weight:600;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--m)}
.td-lib-tabs button.on{border-bottom-color:var(--g);color:var(--g)}
.td-pkg-row{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;background:var(--s);border:1.5px solid var(--b);border-radius:9px;margin-bottom:8px;cursor:pointer;transition:all .15s}
.td-pkg-row:hover,.td-pkg-row.active{border-color:var(--g);background:var(--gl)}
.td-pkg-badge{font-size:10px;font-weight:700;padding:3px 7px;border-radius:5px;white-space:nowrap;flex-shrink:0;margin-top:2px}
.td-pkg-day{background:var(--gl);border-radius:8px;padding:10px 12px;margin-bottom:8px;border-left:3px solid var(--g)}
.td-pkg-day-hd{font-size:12px;font-weight:700;color:var(--gd);margin-bottom:4px}
.td-lib-filters{padding:10px;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.td-lib-filters input,.td-lib-filters select{font-size:12px;padding:5px 10px;border:1px solid var(--b);border-radius:6px;font-family:inherit}
.td-lib-filters input{flex:1 1;min-width:140px}
.td-lib-list{padding:0 10px 10px;flex:1 1 auto;min-height:0;overflow-y:auto}
.td-lib-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--b);border-radius:8px;margin-bottom:6px;cursor:pointer;background:var(--s)}
.td-lib-row.selected{border-color:var(--g);background:var(--gl)}
.td-sel-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--b)}
.guest-info-panel{background:#fff;border:1px solid #C8E6D4;border-radius:11px;padding:10px 12px;margin-bottom:12px;position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(46,125,82,.09)}
.guest-info-panel-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:8px}
.guest-info-panel-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gd)}
.guest-info-hd-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.guest-info-toggle{font-size:10px;font-weight:600;color:var(--g);cursor:pointer;background:none;border:none;font-family:inherit;display:inline-flex;align-items:center;gap:4px;padding:0}
.guest-info-chevron{font-size:9px;line-height:1}
.guest-info-edit{font-size:9.5px;color:var(--m);cursor:pointer;background:none;border:none;font-family:inherit}
.guest-info-name{font-size:12.5px;font-weight:700;color:var(--t);margin-bottom:4px}
.guest-info-compact{min-width:0}
.guest-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px 12px;gap:2px 12px;padding-top:6px}
.guest-info-row{display:flex;gap:4px;align-items:baseline;min-width:0}
.guest-info-lbl{font-size:9.5px;color:var(--gd);white-space:nowrap;font-weight:700;flex-shrink:0}
.guest-info-val{font-size:11px;color:var(--t);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-info-summary{font-size:10.5px;color:var(--m);line-height:1.4;margin-bottom:0;padding:4px 8px;background:var(--bg);border-radius:6px;border:1px solid var(--b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-info-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
.guest-info-details.open{grid-template-rows:1fr}
.guest-info-details-inner{overflow:hidden;min-height:0}
.guest-info-panel.is-collapsed .guest-info-summary{margin-bottom:0}
.guest-info-panel.is-open .guest-info-summary{white-space:normal;margin-bottom:0}
.td-dur-pill{display:inline-flex;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;margin-right:2px}
.td-dur-half{background:#E8F4FD;color:#1565C0}
.td-dur-full{background:#E8F5EE;color:#1a5c38}
.td-dur-multiday{background:#FFF3CD;color:#856404}
.td-dur-service{background:#F3E8FF;color:#6B21A8}
.td-dur-other{background:#F0F0EE;color:#555}
.td-travel-details-box{background:#F0F7F3;border:1px solid #C8E6D4;border-radius:9px;padding:13px 16px;margin:13px 0}
.td-children-box{background:var(--amb-l);border:1px solid #FDE68A;border-radius:9px;padding:13px 16px;margin-bottom:13px}
.td-children-title{color:var(--amb)!important}
.child-tag{display:inline-block;padding:3px 10px;margin:2px 4px 2px 0;background:#fff;border:1px solid #FDE68A;border-radius:14px;font-size:10.5px;cursor:pointer;color:var(--amb);font-weight:600}
.child-tag:hover{background:var(--amb-l)}
.td-child-tags{margin-top:9px}
.td-form-grid-3{grid-template-columns:1fr 1fr 1fr!important}
.td-draft-day{border-left:3px solid var(--g);padding-left:12px;margin-bottom:16px}
.td-draft-day-hd{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.td-draft-day-grid{display:grid;grid-template-columns:1fr 142px;grid-gap:12px;gap:12px;align-items:start}
.td-draft-day-grid-exp{grid-template-columns:1fr 118px;gap:9px}
.td-day-badge{background:var(--g);color:#fff;font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:5px;display:inline-block;margin-bottom:6px;max-width:100%}
.td-day-badge-btn{border:none;cursor:pointer;font-family:inherit;text-align:left}
.td-day-badge-btn:hover{filter:brightness(1.05)}
.td-day-date-input{font-size:11px;padding:3px 6px;border:1px solid var(--b);border-radius:5px;font-family:inherit;color:var(--t);background:#fff;flex:1 1;min-width:0;margin:0}
.td-day-edit-panel{background:var(--bg);border:1px solid var(--b);border-radius:8px;padding:8px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}
.td-day-edit-row{display:flex;align-items:center;gap:8px}
.td-day-edit-lbl{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--m);width:36px;flex-shrink:0}
.td-day-edit-select{flex:1 1;font-size:11px;padding:4px 6px;border:1px solid var(--b);border-radius:5px;font-family:inherit;background:#fff;color:var(--t)}
.td-day-seg{display:flex;flex:1 1;border:1px solid var(--b);border-radius:6px;overflow:hidden}
.td-day-seg button{flex:1 1;font-size:10.5px;font-weight:600;padding:5px 6px;border:none;background:#fff;color:var(--m);cursor:pointer;font-family:inherit}
.td-day-seg button + button{border-left:1px solid var(--b)}
.td-day-seg button.on{background:var(--g);color:#fff}
.td-day-edit-actions{display:flex;gap:10px;align-items:center;padding-top:2px}
.td-day-edit-actions button{font-size:10.5px;background:none;border:none;color:var(--g);cursor:pointer;padding:0;font-family:inherit;font-weight:600}
.td-day-edit-actions button.muted{color:var(--m);font-weight:500}
.td-sortable-card{border-left:3px solid var(--g);padding-left:8px;margin-bottom:10px;position:relative;background:var(--s);border-radius:0 8px 8px 0;padding-top:4px;padding-bottom:6px;padding-right:6px}
.td-sortable-card.dragging{opacity:.85;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:5}
.td-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:-webkit-grab;cursor:grab;color:var(--m);padding:0;flex-shrink:0;border-radius:4px;font-size:13px;line-height:1;letter-spacing:-1px}
.td-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}
.td-drag-handle:hover{background:var(--bg);color:var(--t)}
.td-draft-desc{font-size:11px;color:var(--m);line-height:1.45;white-space:pre-wrap;word-break:break-word}
.td-draft-desc.clamped{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.td-draft-desc-edit{width:100%;min-height:56px;font-size:11px;color:var(--t);line-height:1.45;border:1px solid var(--b);border-radius:6px;padding:5px 7px;font-family:inherit;resize:vertical;background:#fff;box-sizing:border-box}
.td-draft-desc-actions{display:flex;gap:8px;align-items:center;margin-top:3px}
.td-draft-desc-actions button{font-size:10.5px;background:none;border:none;color:var(--g);cursor:pointer;padding:0;font-family:inherit;font-weight:600}
.td-client-notes{margin-top:6px}
.td-client-notes label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--m);margin-bottom:3px}
.td-client-notes textarea{width:100%;min-height:36px;font-size:11px;line-height:1.4;border:1px dashed var(--b);border-radius:6px;padding:5px 7px;font-family:inherit;resize:vertical;background:var(--bg);color:var(--t);box-sizing:border-box}
.td-client-notes textarea:focus{outline:none;border-color:var(--g);background:#fff}
.td-photo-stack{border-radius:7px;overflow:hidden;flex-shrink:0}
.td-photo-stack-item{border-radius:7px;overflow:hidden}
.td-photo-stack-link{display:block}
.td-photo-caption{font-size:9px;color:var(--m);padding:2px 0;line-height:1.3}
.td-section-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--m);margin-bottom:6px}
.td-section-divider{margin-top:12px;padding-top:10px;border-top:1px solid var(--b)}
.td-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:10px;background:var(--gl);border-radius:8px;margin-bottom:12px;text-align:center}
.td-kpi-lbl{font-size:10px;color:var(--gd);text-transform:uppercase;letter-spacing:.5px}
.td-kpi-val{font-size:18px;font-weight:700;color:var(--g)}
.td-sel-meta{font-size:10.5px;color:var(--m);font-weight:500;margin-top:2px}
.td-sel-body{padding:10px 12px;flex:1 1 auto;min-height:0;overflow-y:auto}
.td-sel-empty{color:var(--m);text-align:center;padding:24px 16px;font-size:12.5px;border:1.5px dashed var(--b);border-radius:8px;margin:12px}
.td-sel-chip{display:flex;align-items:center;gap:7px;padding:5px 8px;background:var(--bg);border-radius:7px;margin-bottom:4px}
.td-sel-chip-num{width:18px;height:18px;background:var(--g);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.td-sel-remove{background:var(--red-l);color:var(--red);border:none;border-radius:4px;padding:2px 7px;cursor:pointer;font-size:12px;flex-shrink:0}
.td-item-divider{height:6px;border-top:1px dashed var(--b);margin:8px 0}
.td-cat-pill{background:#F0F0EE;color:#555;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:500}
.td-pkg-preview-card{flex:1 1;min-height:0;overflow-y:auto;height:100%;display:flex;flex-direction:column;margin-bottom:0!important}
.td-pkg-preview-empty{color:var(--m);text-align:center;padding:40px 20px;font-size:12.5px}
.td-pkg-preview-body{padding:16px}
.td-pkg-hero{border-radius:10px;overflow:hidden;margin-bottom:18px;position:relative;height:190px}
.td-pkg-hero img,.td-pkg-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.td-pkg-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04) 30%,rgba(0,0,0,.7))}
.td-pkg-hero-text{position:absolute;bottom:0;left:0;right:0;padding:16px 18px}
.td-pkg-hero-sub{color:rgba(255,255,255,.78);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:5px}
.td-pkg-hero-title{color:#fff;font-size:18px;font-weight:700;line-height:1.2}
.td-pkg-hero-meta{color:rgba(255,255,255,.75);font-size:11px;margin-top:5px}
.td-pkg-preview-hd{border-bottom:1px solid var(--b);padding-bottom:14px;margin-bottom:16px}
.td-pkg-tagline{font-size:11.5px;color:var(--t);font-style:italic;background:var(--gl);border-left:3px solid var(--g);padding:8px 12px;border-radius:0 6px 6px 0;margin:10px 0;line-height:1.5}
.td-pkg-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;font-size:11.5px}
.td-incl-excl-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:8px 0 18px}
.td-incl-box{background:var(--gl);border-radius:8px;padding:12px}
.td-excl-box{background:#FFF5F5;border-radius:8px;padding:12px}
.td-incl-title{font-size:10px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.td-excl-title{font-size:10px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.td-markup-row{display:flex;align-items:center;gap:14px;background:var(--gl);border:1px solid #C8E6D4;border-radius:9px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}
.td-pricing-note{background:var(--bg);border-radius:7px;padding:9px 12px;margin-bottom:10px;font-size:11.5px;color:var(--gd)}
.td-pricing-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:10px;font-size:11.5px}
.td-pricing-kpi{background:var(--bg);border-radius:7px;padding:9px 12px}
.td-pkg-summary{background:var(--gl);border-radius:8px;padding:13px;margin-top:14px}
.td-pkg-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}
.td-api-key-banner{background:#F3E8FF;border:1.5px solid var(--pur);border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.td-export-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}
.td-export-card{border-radius:10px;padding:18px;cursor:pointer;text-align:center;transition:all .15s}
.td-export-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.td-export-proposal{border:1.5px solid var(--g);background:var(--gl)}
.td-export-email{border:1.5px solid var(--gold);background:var(--gold-l)}
.td-export-save{border:1.5px solid var(--b);background:var(--bg)}
.td-proposal-export-bar{align-items:center}
.td-proposal-preview iframe{display:block}
.td-proposal-hotels .inp-sm{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:11.5px}
.td-ai-loading{display:flex;gap:6px;justify-content:center;padding:20px}
.td-ai-loading .dot{width:8px;height:8px;border-radius:50%;background:var(--pur);animation:td-bounce 1.2s infinite}
.td-ai-loading .dot:nth-child(2){animation-delay:.2s}
.td-ai-loading .dot:nth-child(3){animation-delay:.4s}
@keyframes td-bounce{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}
.td-ai-error{background:var(--red-l);color:var(--red);padding:11px 14px;border-radius:8px;font-size:12.5px;margin-top:10px}
.td-ai-result{background:var(--gl);border:1px solid var(--b);border-radius:8px;padding:14px 16px;margin-top:12px;max-height:400px;overflow-y:auto}
.gallery-product-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--gl);border:1px solid #C8E6D4;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:12.5px}
.gallery-main-tabs{display:flex;gap:6px;margin-bottom:14px}
.gallery-main-tab{padding:8px 16px;border-radius:8px;border:1px solid var(--b);background:var(--s);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s}
.gallery-main-tab.on{background:var(--g);color:#fff;border-color:var(--g)}
.gallery-tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));grid-gap:20px;gap:20px}
@media(min-width:1400px){.gallery-tour-grid{grid-template-columns:repeat(auto-fill,minmax(520px,1fr))}}
.gallery-tour-card{border:1px solid var(--b);border-radius:12px;padding:14px;background:var(--s);transition:box-shadow .15s,border-color .15s;min-width:0}
.gallery-tour-card.highlighted{border-color:var(--g);box-shadow:0 0 0 2px rgba(46,125,82,.2)}
.gallery-tour-card-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.gallery-tour-card-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.gallery-tour-code{font-size:10px;font-family:monospace;color:var(--g);font-weight:600}
.gallery-tour-name{font-size:14px;font-weight:600;line-height:1.35}
.gallery-pair-slots{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}
.gallery-pair-slot{display:flex;flex-direction:column;gap:4px;min-width:0}
.gallery-pair-slot-label{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:.3px}
.gallery-pair-slot-img{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid var(--b);background:var(--bg);min-width:0}
.gallery-pair-slot-img .gallery-slot-actions{position:absolute;top:8px;left:8px;display:flex;gap:4px;opacity:0;transition:opacity .12s;z-index:2}
.gallery-pair-slot-img:hover .gallery-slot-actions{opacity:1}
.gallery-img-cover{object-fit:cover!important}
.gallery-img-contain{object-fit:contain!important}
.gallery-pair-slot-img.empty{border-style:dashed;background:var(--gl)}
.gallery-pair-thumb-btn{width:100%;padding:0;border:none;background:var(--bg);cursor:pointer;font-family:inherit;display:block}
.gallery-pair-thumb-btn.empty:hover{border-color:var(--g);background:var(--gl)}
.gallery-slot-empty-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;min-height:0;color:var(--m);font-size:11px}
.gallery-tour-manage-btn{width:100%;margin-top:10px;padding:8px 12px;border:1px solid var(--b);border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--g);cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}
.gallery-tour-manage-btn:hover{background:var(--gl);border-color:var(--g)}
.gallery-tour-viewer{z-index:10060;background:rgba(0,0,0,.58)}
.gallery-tour-viewer-panel{width:min(1480px,98vw);height:min(920px,96vh);max-height:96vh;margin:auto;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.2)}
.gallery-tour-viewer-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 22px;background:var(--gd);color:#fff;flex-shrink:0}
.gallery-tour-viewer-title{font-size:17px;font-weight:700;line-height:1.3}
.gallery-tour-viewer-code{font-size:12px;opacity:.85;font-family:monospace;margin-top:3px}
.gallery-tour-viewer-close{border:none;background:rgba(255,255,255,.2);color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}
.gallery-tour-viewer-body{display:grid;grid-template-columns:1fr 240px;flex:1 1;min-height:0;max-height:calc(96vh - 58px)}
@media(max-width:768px){.gallery-tour-viewer-body{grid-template-columns:1fr}}
.gallery-tour-viewer-main{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--b)}
.gallery-tour-viewer-stage{position:relative;flex:1 1;min-height:min(68vh,680px);background:#111}
.gallery-tour-viewer-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:14px}
.gallery-tour-viewer-meta{padding:14px 20px;border-top:1px solid var(--b);flex-shrink:0}
.gallery-tour-viewer-caption{font-size:16px;font-weight:600;margin-bottom:6px}
.gallery-tour-viewer-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--m)}
.gallery-tour-viewer-role{padding:2px 8px;border-radius:10px;background:var(--bg);border:1px solid var(--b)}
.gallery-tour-viewer-role.starred{background:#FEF3C7;border-color:#E8C547;color:#92400E;font-weight:600}
.gallery-tour-viewer-id{font-family:monospace;opacity:.7}
.gallery-tour-viewer-actions{display:flex;flex-wrap:wrap;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--b);flex-shrink:0}
.gallery-viewer-del{color:var(--red)!important;border-color:rgba(200,0,0,.3)!important}
.gallery-remove-wrap{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 0}
.gallery-remove-prompt-text{font-size:12px;font-weight:600;color:#8b2e2e;line-height:1.35}
.gallery-remove-confirm-btn{color:var(--red)!important;border-color:rgba(200,0,0,.35)!important}
.gallery-upload-modal-ft .gallery-remove-wrap{flex:1 1;min-width:0}
.gallery-tour-viewer-side{display:flex;flex-direction:column;background:var(--bg);min-height:0}
.gallery-tour-viewer-side-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--m);border-bottom:1px solid var(--b);flex-shrink:0}
.gallery-tour-viewer-count{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:1px 8px;font-size:10px}
.gallery-tour-viewer-strip{flex:1 1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0}
.gallery-tour-viewer-thumb{display:flex;gap:12px;width:100%;padding:10px;border:1px solid var(--b);border-radius:10px;background:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .12s,box-shadow .12s}
.gallery-tour-viewer-thumb:hover{border-color:var(--gm)}
.gallery-tour-viewer-thumb.active{border-color:var(--g);box-shadow:0 0 0 2px rgba(46,125,82,.15)}
.gallery-tour-viewer-thumb.starred .gallery-tour-viewer-thumb-role{color:#92400E}
.gallery-tour-viewer-thumb-img{position:relative;width:112px;height:84px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--b);background:var(--bg)}
.gallery-tour-viewer-thumb-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}
.gallery-tour-viewer-thumb-role{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--m)}
.gallery-tour-viewer-thumb-cap{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-tour-viewer-add{margin:12px;flex-shrink:0}
.gallery-slot-empty-icon{font-size:22px;line-height:1;color:var(--g)}
.gallery-pair-slot-caption{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-slot-size{font-size:10px;color:var(--m);font-family:monospace}
.gallery-slot-size.muted{opacity:.6}
.gallery-tour-pair-total{font-size:11px;color:var(--m);margin-top:10px;padding-top:10px;border-top:1px solid var(--b)}
.gallery-tour-pair-detail{margin-left:6px;opacity:.85}
.gallery-region-group{margin-bottom:20px}
.gallery-region-group-hd{font-size:12px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--b)}
.gallery-bulk-modal{width:720px;max-width:95vw;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.gallery-bulk-modal .gallery-upload-modal-body{padding:20px}
.gallery-bulk-modal .gallery-upload-modal-ft{padding:14px 20px;border-top:1px solid var(--b);background:#fff;display:flex;justify-content:flex-end;gap:8px}
.gallery-bulk-intro{font-size:12px;color:var(--m);margin-bottom:14px;line-height:1.55;padding:12px 14px;background:var(--gl);border-radius:10px;border:1px solid #C8E6D4}
.gallery-bulk-intro code{font-size:11px;background:#fff;padding:1px 5px;border-radius:4px;border:1px solid var(--b)}
.gallery-bulk-drop{border:2px dashed var(--b);border-radius:10px;padding:28px 16px;text-align:center;background:var(--bg);cursor:pointer;transition:border-color .12s}
.gallery-bulk-drop:hover,.gallery-bulk-drop.dragover{border-color:var(--g);background:var(--gl)}
.gallery-bulk-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:12px}
.gallery-bulk-table th,.gallery-bulk-table td{padding:6px 8px;border-bottom:1px solid var(--b);text-align:left}
.gallery-bulk-table th{font-size:10px;text-transform:uppercase;color:var(--m);font-weight:700}
.gallery-bulk-status-ok{color:var(--g)}
.gallery-bulk-status-warn{color:var(--amb)}
.gallery-bulk-status-err{color:var(--red)}
.gallery-bulk-progress{height:6px;background:var(--b);border-radius:3px;margin-top:10px;overflow:hidden}
.gallery-bulk-progress-bar{height:100%;background:var(--g);transition:width .2s}
.gallery-bulk-overwrite{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;cursor:pointer}
.gallery-modal-pair-preview{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:14px}
.gallery-modal-slot-preview{position:relative;height:100px;border-radius:8px;background:center/cover no-repeat;border:1px solid var(--b)}
.gallery-modal-slot-preview-lbl{font-size:10px;font-weight:700;color:var(--m);margin-bottom:4px}
.btn-xs{padding:2px 7px;font-size:10px}

.crm-remote-banner{position:fixed;bottom:16px;left:240px;z-index:9999;background:var(--gd);color:#fff;font-size:11px;border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:flex-start;max-width:min(420px,calc(100vw - 260px))}
.tb-lang{display:flex;background:var(--bg);border:1px solid var(--b);border-radius:8px;padding:3px;gap:2px;margin-left:8px;flex-shrink:0}
.tb-lang-btn{padding:5px 14px;border-radius:6px;border:none;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:transparent;color:var(--m);letter-spacing:.5px}
.tb-lang-btn.is-active{background:var(--g);color:#fff}
.tb-tools{display:flex;align-items:center;gap:4px;margin-left:8px;flex-shrink:0}
.tb-tools-rail{display:flex;align-items:center;gap:4px;max-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-width .2s ease,opacity .18s ease}
.tb-tools-rail.is-open{max-width:420px;opacity:1;pointer-events:auto}
.tb-tools-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;line-height:1;flex-shrink:0;min-width:34px;padding:5px 9px!important}
.tb-tools-toggle-icon{font-size:18px;line-height:1;font-weight:700}
.tb-tools-toggle .crm-conn-dot{width:7px;height:7px;border-radius:50%;background:#ccc;flex-shrink:0}
.tb-tools-toggle .crm-conn-dot.ok{background:#2ecc71}
.tb-tools-toggle .crm-conn-dot.fail{background:#e74c3c}
.crm-supabase-topbtn{display:inline-flex!important;align-items:center;gap:5px;background:var(--gl)!important;color:var(--g)!important;border:1px solid var(--g)!important;font-weight:600}
.crm-supabase-topbtn .crm-conn-dot{width:7px;height:7px;border-radius:50%;background:#ccc;flex-shrink:0}
.crm-supabase-topbtn .crm-conn-dot.ok{background:#2ecc71}
.crm-supabase-topbtn .crm-conn-dot.fail{background:#e74c3c}
.crm-remote-banner.crm-remote-off{background:#666}
.crm-remote-banner.open{border-radius:14px;padding:0;overflow:hidden}
.crm-remote-toggle{background:transparent;border:none;color:#fff;font-size:11px;padding:8px 14px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:8px;width:100%;text-align:left}
.crm-conn-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0}
.crm-conn-dot.ok{background:#6f6}
.crm-conn-dot.fail{background:#f66}
.crm-remote-panel{background:var(--gd);padding:10px 12px 12px;width:100%;border-top:1px solid rgba(255,255,255,.15);font-size:10px}
.crm-remote-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.crm-remote-panel-head strong{font-size:11px}
.crm-remote-close{background:none;border:none;color:#fff;cursor:pointer;font-size:12px;opacity:.8}
.crm-remote-status{margin-bottom:8px}
.crm-status-ok{color:#cfc}
.crm-status-fail{color:#fcc}
.crm-remote-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.crm-remote-actions button{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:10px;padding:4px 10px;font-size:10px;cursor:pointer;font-family:inherit}
.crm-remote-actions button:disabled{opacity:.5;cursor:default}
.crm-remote-actions button.danger{background:rgba(255,80,80,.45)}
.crm-remote-verify{margin-bottom:6px;line-height:1.4}
.crm-remote-counts summary{cursor:pointer;opacity:.9;margin-bottom:4px}
.crm-remote-counts ul{margin:4px 0 0;padding-left:16px;max-height:120px;overflow-y:auto;line-height:1.5}

@media(max-width:800px){
  .about-roadmap,.culture-values-grid,.reg-grid-2,.reg-checklist-grid,.hr-onboard-grid,.hr-leave-grid,.ai-layout,.dn-layout{grid-template-columns:1fr!important}
  .chat-shell{grid-template-columns:1fr;height:auto;min-height:500px}
  .chat-sidebar-dark{max-height:200px}
  .sal-bonus-grid,.tax-controls,.bkd-detail-grid,.bkd-finance,.pt-form-grid{grid-template-columns:1fr 1fr!important}
  .sup-ext-grid{grid-template-columns:1fr!important}
  .td-form-grid,.td-review-grid{grid-template-columns:1fr 1fr!important}
  .bk-layout{grid-template-columns:1fr!important}
  .fin-kpi-5,.fin-kpi-4,.guides-kpi{grid-template-columns:1fr 1fr!important}
  .chat-layout{flex-direction:column;height:auto;min-height:400px}
  .chat-sidebar{width:100%;display:flex;flex-wrap:wrap;padding:8px}
  .chat-sidebar-hd{display:none}
  .nc-modal,.prof-modal{width:95vw!important}
  .nc-grid-3,.prof-overview-grid{grid-template-columns:1fr!important}
  .td-exp-layout{grid-template-columns:1fr!important;height:auto;min-height:0}
  .td-exp-left,.td-exp-right-wrap,.td-exp-right-card{height:auto;max-height:var(--td-exp-panel-h)}
  .td-lib-list,.td-sel-body{max-height:min(50vh,480px)}
  .td-export-grid{grid-template-columns:1fr!important}
  .td-pricing-kpi-grid{grid-template-columns:1fr 1fr!important}
  .td-pkg-summary-grid{grid-template-columns:1fr 1fr!important}
  .td-form-grid-3{grid-template-columns:1fr!important}
  .td-draft-day-grid,.td-draft-day-grid-exp{grid-template-columns:1fr!important}
  .crm-remote-banner{left:12px;bottom:60px}
  .ctr-detail-grid{grid-template-columns:1fr 1fr!important}
}

/* ── LOGIN ── */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.login-card{width:100%;max-width:400px;background:var(--s);border:1px solid var(--b);border-radius:14px;padding:32px 28px;box-shadow:0 8px 32px rgba(26,46,35,0.08)}
.login-brand{text-align:center;margin-bottom:28px}
.login-title{font-family:'DM Serif Display',Georgia,serif;font-size:22px;color:var(--gd);line-height:1.2}
.login-subtitle{font-size:11px;color:var(--m);letter-spacing:1.2px;text-transform:uppercase;margin-top:6px}
.login-form{display:flex;flex-direction:column;gap:6px}
.login-form.is-busy input:not(:disabled){opacity:0.72}
.login-label{font-size:11px;font-weight:600;color:var(--m);margin-top:10px}
.login-form input{width:100%;box-sizing:border-box}
.login-form input:disabled{cursor:not-allowed;opacity:0.65}
.login-turnstile{margin-top:14px;display:flex;justify-content:center}
.login-error{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--red-l);color:var(--red);font-size:12px;line-height:1.4}
.login-submit{margin-top:16px;width:100%;padding:10px 16px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.login-submit.is-loading{opacity:0.92;cursor:wait}
.login-spinner{display:inline-flex;gap:4px;align-items:center}
.login-spinner .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.85;animation:td-bounce 1.2s infinite}
.login-spinner .dot:nth-child(2){animation-delay:.2s}
.login-spinner .dot:nth-child(3){animation-delay:.4s}
.login-hint{margin-top:20px;text-align:center;font-size:11px;color:var(--m);line-height:1.5}
.debug-login-link{margin-top:12px}
.debug-login-link a{color:var(--g);font-weight:600}

/* ── SYSTEM DEBUG ── */
.debug-page-wrap{align-items:flex-start;padding-top:32px;padding-bottom:48px}
.debug-page{width:100%;max-width:880px;margin:0 auto}
.debug-header{margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}
.debug-title{font-family:'DM Serif Display',Georgia,serif;font-size:24px;color:var(--gd);margin:0}
.debug-subtitle{font-size:12px;color:var(--m);margin:4px 0 0;width:100%}
.debug-block{margin-bottom:16px}
.debug-ts{font-size:11px;color:var(--m)}
.debug-checks{padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px}
.debug-check{border:1px solid var(--b);border-radius:8px;padding:12px 14px;background:var(--bg)}
.debug-check.ok{border-color:var(--gm);background:var(--gl)}
.debug-check.fail{border-color:var(--red);background:var(--red-l)}
.debug-check-hd{display:flex;align-items:center;gap:8px;font-size:13px}
.debug-check-icon{font-weight:700;width:18px}
.debug-check.ok .debug-check-icon{color:var(--g)}
.debug-check.fail .debug-check-icon{color:var(--red)}
.debug-latency{margin-left:auto;font-size:11px;color:var(--m)}
.debug-check-err{font-size:12px;color:var(--red);margin-top:6px}
.debug-check-hint{font-size:11px;color:var(--m);margin-top:4px;font-style:italic}
.debug-check-details{font-size:10px;margin-top:8px;padding:8px;background:var(--s);border-radius:6px;overflow-x:auto;max-height:120px}
.debug-logs{padding:8px 12px 14px;max-height:360px;overflow-y:auto}
.debug-log-row{font-size:11px;padding:6px 8px;border-bottom:1px solid var(--b);font-family:ui-monospace,monospace}
.debug-log-row.level-error{background:var(--red-l)}
.debug-log-row.level-warn{background:var(--amb-l)}
.debug-log-ts{color:var(--m);margin-right:8px}
.debug-log-cat{color:var(--g);margin-right:8px;font-weight:600}
.debug-log-meta{font-size:10px;margin-top:4px;color:var(--m);white-space:pre-wrap}
.debug-empty{padding:16px;color:var(--m);font-size:12px}
.debug-admin-help{padding:14px 18px;font-size:12px;line-height:1.6}
.debug-cmd{background:var(--bg);border:1px solid var(--b);border-radius:6px;padding:8px 10px;font-size:11px;margin:6px 0 12px;overflow-x:auto}

/* ── SIDEBAR NESTED GROUP ── */
.sb-group{display:block}
.sb-group-head{background:transparent;border:none;font:inherit;text-align:left}
.sb-caret{margin-left:auto;font-size:10px;opacity:.75;transition:transform .15s}
.sb-caret.open{transform:rotate(90deg)}
.sb-subnav{padding-bottom:4px;background:rgba(0,0,0,.12)}
.sb-subitem{padding-left:26px;font-size:12px}
.sb-subicon{font-size:11px}

/* ── PRICING CATALOGS (Essentials + Accommodation) ── */
.pcx-page{padding-bottom:24px}
.pcx-muted{color:var(--m);font-size:11.5px}
.pcx-num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.pcx-empty{padding:26px 12px;text-align:center;color:var(--m);font-size:12.5px}
.pcx-count{font-size:10.5px;font-weight:600;color:var(--gd);background:var(--gl);border-radius:999px;padding:2px 9px}
.pcx-link{color:var(--g);word-break:break-all}

/* subnav */
.pcx-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pcx-subnav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--b);border-radius:11px;background:var(--s);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;min-width:210px}
.pcx-subnav-item:hover{border-color:var(--gm);box-shadow:0 4px 14px rgba(46,125,82,.1);transform:translateY(-1px)}
.pcx-subnav-item.on{border-color:var(--g);background:linear-gradient(160deg,var(--gl) 0%,var(--s) 90%);box-shadow:inset 0 0 0 1px rgba(46,125,82,.18)}
.pcx-subnav-icon{font-size:18px;line-height:1}
.pcx-subnav-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.pcx-subnav-label{font-size:13px;font-weight:650;color:var(--gd)}
.pcx-subnav-hint{font-size:10.5px;color:var(--m)}

/* toolbar + alerts */
.pcx-toolbar{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.pcx-info{flex:1 1;margin-bottom:0;line-height:1.55}
.pcx-import-meta{display:block;margin-top:5px;font-size:11px;color:var(--m)}
.pcx-alert{border-radius:9px;padding:10px 13px;font-size:12px;line-height:1.55;margin-bottom:12px}
.pcx-alert-ok{background:var(--gl);border:1px solid rgba(46,125,82,.25);color:var(--gd)}
.pcx-alert-warn{background:var(--amb-l);border:1px solid rgba(217,119,6,.28);color:#92400e}
.pcx-alert-error{background:var(--red-l);border:1px solid rgba(192,57,43,.28);color:var(--red)}
.pcx-warn-list{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}

/* tabs */
.pcx-tabs{max-width:100%}
.pcx-tab-count{margin-left:7px;font-size:10px;font-weight:700;background:rgba(0,0,0,.07);border-radius:999px;padding:1px 6px;color:inherit}

/* tables */
.pcx-table-wrap{padding:0!important;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pcx-table{width:100%;font-size:12.5px}
.pcx-table th{white-space:nowrap}
.pcx-table td{vertical-align:middle}
.pcx-col-chevron{width:26px;padding-right:0!important}
.pcx-chevron{display:inline-block;color:var(--m);font-size:11px;transition:transform .15s}
.pcx-chevron.open{transform:rotate(90deg);color:var(--g)}
.pcx-row{cursor:pointer}
.pcx-row:hover{background:var(--gl)}
.pcx-row.open{background:var(--gl);box-shadow:inset 3px 0 0 var(--g)}
.pcx-code{background:var(--bg);border:1px solid var(--b);border-radius:5px;padding:1px 6px;font-size:11px;color:var(--gd);font-weight:600}
.pcx-expand-row>td{background:#fafcfb;border-top:1px solid var(--b);padding:0!important}
.pcx-subtable{font-size:12px}
.pcx-subtable th{font-size:10.5px}
.pcx-subhead{font-weight:500;color:var(--m)}
.pcx-note-cell{max-width:280px;min-width:140px}

/* expanded detail */
.pcx-detail{padding:16px 18px;display:flex;flex-direction:column;gap:18px;animation:pcx-expand-in .16s ease;max-width:100%;min-width:0}
@keyframes pcx-expand-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.pcx-detail-grid{display:flex;flex-direction:column;gap:16px}
.pcx-detail-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}
.pcx-detail-block{min-width:0}
.pcx-detail-wide{grid-column:1/-1}
.pcx-detail-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.pcx-detail-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gd);margin:0;flex:1 1;min-width:0}
.pcx-detail-hint{font-size:10.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--m)}
.pcx-edit-toggle{flex-shrink:0;font-size:11px;padding:4px 10px;min-height:28px;line-height:1.2}
.pcx-edit-toggle.on{background:var(--gl);border-color:var(--g);color:var(--gd);font-weight:600}
.pcx-card-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.pcx-detail-block.is-editing,.card.is-editing{outline:1px solid rgba(46,125,82,.22);outline-offset:4px;border-radius:10px}
.pcx-facts{display:flex;flex-direction:column;gap:8px;margin:0}
.pcx-facts>div{display:grid;grid-template-columns:104px 1fr;grid-gap:10px;gap:10px;align-items:start}
.pcx-facts dt{font-size:11px;color:var(--m);padding-top:3px}
.pcx-facts dd{margin:0;font-size:12.5px;min-width:0}
.pcx-mini-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--m)}
.pcx-mini-stats b{color:var(--gd)}
.pcx-incl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}
.pcx-incl-card{background:var(--s);border:1px solid var(--b);border-radius:9px;padding:10px 12px}
.pcx-incl-label{font-size:10px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.pcx-policy{white-space:pre-wrap;font-family:inherit;font-size:11.5px;line-height:1.6;color:var(--td);background:var(--s);border:1px solid var(--b);border-radius:9px;padding:11px 13px;margin:0 0 8px}

/* pax cost grid — fixed columns, sticky labels, sideways scroll */
.pcx-pax-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--b);border-radius:9px;background:var(--s);max-width:100%}
.pcx-pax-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.pcx-pax-view-toggle{display:flex;align-items:center;gap:4px;margin-left:auto;padding:3px;background:var(--bg);border:1px solid var(--b);border-radius:8px}
.pcx-pax-view-btn{border:0;background:transparent;color:var(--m);font:inherit;font-size:10.5px;font-weight:600;padding:5px 9px;border-radius:6px;cursor:pointer}
.pcx-pax-view-btn:hover{color:var(--gd)}
.pcx-pax-view-btn.on{background:var(--s);color:var(--gd);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.pcx-pax-grid{border-collapse:separate;border-spacing:0;font-size:11px;width:max-content;min-width:100%}
.pcx-pax-grid.compact{width:100%;table-layout:fixed}
.pcx-pax-grid th,.pcx-pax-grid td{border-right:1px solid var(--b);border-bottom:1px solid var(--b);padding:0;vertical-align:middle}
.pcx-pax-grid thead th{background:var(--bg);font-size:10px;font-weight:700;color:var(--m);text-align:center;padding:6px 2px;width:48px;min-width:48px;max-width:48px;white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:2}
.pcx-pax-grid thead th.pcx-pax-solo{color:var(--gd);background:var(--gl)}
.pcx-pax-label{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--s);text-align:left!important;font-weight:600;padding:7px 12px!important;min-width:220px;max-width:260px;width:240px;font-size:11.5px;line-height:1.35;box-shadow:4px 0 8px -6px rgba(0,0,0,.12)}
.pcx-pax-grid thead .pcx-pax-label{z-index:4;background:var(--bg)}
.pcx-pax-cell{width:48px;min-width:48px;max-width:48px;text-align:right;padding:0!important}
.pcx-pax-grid.compact .pcx-pax-label{width:auto;min-width:180px;max-width:none}
.pcx-pax-grid.compact thead th:not(.pcx-pax-label),.pcx-pax-grid.compact .pcx-pax-cell{width:64px;min-width:56px;max-width:none}
.pcx-pax-band-end{border-right:2px solid rgba(46,125,82,.28)!important}
.pcx-pax-row:nth-child(even) .pcx-pax-label{background:#fafcfb}
.pcx-pax-row:nth-child(even) td{background:#fafcfb}
.pcx-pax-group{display:block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gold)}
.pcx-kind-selling_group .pcx-pax-label,.pcx-kind-selling_pax .pcx-pax-label{color:var(--gd)}
.pcx-kind-selling_pax td,.pcx-kind-selling_pax .pcx-pax-label{background:var(--gl)!important}
.pcx-kind-selling_group td,.pcx-kind-selling_group .pcx-pax-label{background:#f2f9f5!important}
.pcx-kind-hotel .pcx-pax-label{color:var(--blue)}
.pcx-kind-surcharge td,.pcx-kind-surcharge .pcx-pax-label{background:var(--gold-l)!important}

/* read-only values + edit inputs (unlocked via Edit button) */
.pcx-value{display:block;min-height:22px;padding:2px 0;font:inherit;font-size:inherit;color:inherit;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.pcx-value.right{text-align:right;white-space:nowrap;word-break:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.pcx-value.compact{padding:5px 4px;font-size:11px;line-height:1.2;white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}
.pcx-value.multi{white-space:pre-wrap}
.pcx-edit-empty{color:#c3ccc7}
.pcx-edit-suffix{color:var(--m);font-size:10.5px;margin-left:3px}
.pcx-edit-input{width:100%;min-width:0;padding:4px 7px;border:1px solid var(--g);border-radius:6px;font:inherit;font-size:inherit;background:#fff;box-shadow:0 0 0 2px rgba(46,125,82,.12);box-sizing:border-box}
.pcx-edit-input.right{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.pcx-edit-input.compact{padding:4px 2px;font-size:11px;border-radius:4px}
.pcx-edit-input.error{border-color:var(--red);box-shadow:0 0 0 2px rgba(192,57,43,.15)}
.pcx-edit-input.saving{opacity:.65}
textarea.pcx-edit-input{resize:vertical;line-height:1.5;min-height:72px}
.pcx-pax-cell .pcx-edit-input{max-width:48px}

/* grouped blocks + stats */
.pcx-block-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:14px;gap:14px;align-items:start}
.pcx-block-card{margin-bottom:0}
.pcx-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}
.pcx-stat-card{background:var(--s);border:1px solid var(--b);border-radius:11px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.pcx-stat-value{font-size:22px;font-weight:700;color:var(--gd);line-height:1.1}
.pcx-stat-value.warn{color:var(--amb)}
.pcx-stat-label{font-size:11px;color:var(--m)}
.pcx-setting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:10px;gap:10px}
.pcx-setting{display:flex;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--b);border-radius:9px;padding:9px 11px}
.pcx-setting-label{font-size:10.5px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.4px}
.pcx-setting-sheet{font-size:10px;color:#9aa8a1}
.pcx-chips{display:flex;flex-wrap:wrap;gap:5px}
.pcx-chip-groups{display:flex;flex-direction:column;gap:12px}
.pcx-chip-group-label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--m);margin-bottom:5px}
.pcx-season{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:2px 7px;border-radius:999px}
.pcx-season-low{background:var(--blue-l);color:var(--blue)}
.pcx-season-high{background:var(--gold-l);color:#8a6d1f}
.pcx-season-peak{background:var(--red-l);color:var(--red)}
.pcx-season-flat{background:var(--gl);color:var(--gd)}
.pcx-notes-card{overflow:visible}
.pcx-notes-body{display:flex;flex-direction:column;gap:16px}
.pcx-note-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gd);margin:0 0 7px}
.pcx-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pcx-note-list li{display:flex;flex-direction:column;gap:4px;font-size:12.5px;padding:7px 0;border-bottom:1px dashed var(--b);min-width:0}
.pcx-note-label{font-size:10.5px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;color:var(--m)}
.pcx-note-detail{color:var(--td);line-height:1.55;word-break:break-word;min-width:0}

/* empty state + import modal */
.pcx-blank{background:var(--s);border:1px dashed var(--b);border-radius:12px;padding:38px 22px;text-align:center}
.pcx-blank h3{margin:0 0 6px;font-size:16px;color:var(--gd)}
.pcx-blank p{margin:0 0 14px;font-size:12.5px;color:var(--m)}
.pcx-import-modal{width:780px}
.pcx-import-drop{border:1px dashed var(--b);border-radius:10px;padding:16px;background:var(--s);text-align:center}
.pcx-import-drop input{margin-bottom:8px}
.pcx-import-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:14px}
.pcx-import-summary>div{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:11px;display:flex;flex-direction:column;align-items:center;gap:2px}
.pcx-confirm{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:12.5px;line-height:1.5;background:var(--s);border:1px solid var(--b);border-radius:9px;padding:11px 13px}
.pcx-confirm input{margin-top:2px}

@media(max-width:900px){
  .pcx-subnav-item{min-width:0;flex:1 1 100%}
  .pcx-toolbar{flex-direction:column}
  .pcx-detail-top{grid-template-columns:1fr}
  .pcx-facts>div{grid-template-columns:1fr}
  .pcx-import-summary{grid-template-columns:1fr}
}

/* ===== Photo Library (phlib) ===== */
.phlib{display:flex;flex-direction:column;gap:16px}
.phlib-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px}
.phlib-breadcrumb-item{border:0;background:transparent;color:var(--g);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:4px}
.phlib-breadcrumb-item:hover{background:var(--gl)}
.phlib-breadcrumb-sep{color:var(--m);margin:0 2px}
.phlib-breadcrumb-seg{display:inline-flex;align-items:center}
.phlib-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}
.phlib-folder-card{position:relative;border:1px solid var(--b);border-radius:12px;background:var(--s);overflow:hidden;transition:box-shadow .15s,border-color .15s,background .15s;display:flex;flex-direction:column;min-height:132px}
.phlib-folder-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}
.phlib-folder-card.drop-over{border-color:var(--g);background:var(--gl)}
.phlib-folder-card.system{border-style:dashed}
.phlib-folder-open{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;flex:1 1;padding:16px 14px 10px;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}
.phlib-folder-icon{width:36px;height:28px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#e8c26a 0%,#c9952e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);position:relative}
.phlib-folder-icon::before{content:"";position:absolute;left:0;top:-6px;width:14px;height:8px;border-radius:3px 3px 0 0;background:#d4a84a}
.phlib-folder-icon.inbox{background:linear-gradient(180deg,#9bb7c9 0%,#6a8fa6 100%)}
.phlib-folder-icon.inbox::before{background:#7ea0b5}
.phlib-folder-name{font-size:14px;font-weight:650;line-height:1.25;color:var(--t)}
.phlib-folder-count{font-size:11px;color:var(--m)}
.phlib-folder-actions{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px;opacity:1}
.phlib-folder-actions button{border:1px solid var(--b);background:var(--bg);color:var(--t);border-radius:6px;padding:4px 8px;font:inherit;font-size:11px;cursor:pointer}
.phlib-folder-actions button:hover{border-color:var(--g);color:var(--gd)}
.phlib-folder-info-modal{width:min(420px,94vw);padding:0;overflow:hidden}
.phlib-folder-info-body{padding-bottom:12px!important}
.phlib-folder-info-dl{margin:0;display:flex;flex-direction:column;gap:12px}
.phlib-folder-info-dl>div{display:grid;grid-template-columns:88px 1fr;grid-gap:8px;gap:8px;align-items:baseline}
.phlib-folder-info-dl dt{margin:0;font-size:11px;font-weight:650;color:var(--m);text-transform:uppercase;letter-spacing:.03em}
.phlib-folder-info-dl dd{margin:0;font-size:13px;color:var(--t);word-break:break-word}
.phlib-card.dragging{opacity:.45}
.phlib-move-modal,.phlib-folder-name-modal,.phlib-folder-info-modal{width:min(440px,94vw);padding:0;overflow:hidden}
.phlib-move-list{max-height:min(420px,55vh);overflow:auto;padding:8px 0;display:flex;flex-direction:column}
.phlib-move-row{display:flex;align-items:center;gap:8px;border:0;background:transparent;text-align:left;padding:10px 16px;font:inherit;font-size:13px;cursor:pointer;color:var(--t)}
.phlib-move-row:hover:not(.disabled){background:var(--gl)}
.phlib-move-row.on{background:var(--gl);font-weight:600}
.phlib-move-row.disabled{opacity:.45;cursor:not-allowed}
.phlib-move-folder-icon{width:18px;height:14px;border-radius:2px;background:linear-gradient(180deg,#e8c26a 0%,#c9952e 100%);flex-shrink:0}
.phlib-move-badge{margin-left:auto;font-size:10px;color:var(--m);text-transform:uppercase;letter-spacing:.04em}
.phlib-move-empty{padding:24px 16px;text-align:center;color:var(--m);font-size:13px}
.phlib-folder-name-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;padding-bottom:12px}
.phlib-picker-folder-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.phlib-picker-folders{display:flex;flex-wrap:wrap;gap:6px}
.phlib-picker-folder-chip{border:1px solid var(--b);background:var(--s);border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--t)}
.phlib-picker-folder-chip:hover{border-color:var(--g)}
.phlib-hero{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;align-items:center;grid-gap:12px 20px;gap:12px 20px}
.phlib-hero-text{min-width:0}
.phlib-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--t);line-height:1.2}
.phlib-sub{margin:2px 0 0;color:var(--m);font-size:12px;line-height:1.35;max-width:none}
.phlib-hero-stats{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.phlib-stat{display:inline-flex;align-items:baseline;gap:5px;padding:6px 12px;border:1px solid var(--b);border-radius:8px;background:var(--s);font-size:12px;color:var(--m);white-space:nowrap}
.phlib-stat strong{font-size:14px;font-weight:700;color:var(--t)}
.phlib-stat-muted{opacity:.92}
.phlib-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.phlib-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;background:var(--s);border:1px solid var(--b);border-radius:12px}
.phlib-search{flex:1 1;min-width:180px;padding:8px 12px;border:1px solid var(--b);border-radius:8px;font:inherit;font-size:13px;background:var(--bg)}
.phlib-region-tabs{display:flex;flex-wrap:wrap;gap:6px}
.phlib-region-tab{border:1px solid var(--b);background:transparent;border-radius:999px;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--m)}
.phlib-region-tab.on{background:var(--g);border-color:var(--g);color:#fff}
.phlib-count{font-size:12px;color:var(--m);margin-left:auto}
.phlib-error{background:#FEE2E2;color:#991B1B;padding:10px 12px;border-radius:8px;font-size:13px}
.phlib-filter-note{font-size:12px;color:var(--m)}
.phlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}
.phlib-card{border:1px solid var(--b);border-radius:12px;overflow:hidden;background:var(--s);transition:box-shadow .15s,border-color .15s}
.phlib-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}
.phlib-card.selected{border-color:var(--g);box-shadow:0 0 0 1px var(--g)}
.phlib-card-media{position:relative;aspect-ratio:4/3;background:#1a1a1a}
.phlib-card-img-btn{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer}
.phlib-img{object-fit:cover}
.phlib-missing{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:12px}
.phlib-region-badge{position:absolute;top:8px;right:8px;color:#fff;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:capitalize}
.phlib-select{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.45);border-radius:6px;padding:4px;display:flex}
.phlib-card-actions{position:absolute;bottom:8px;left:8px;opacity:0;transition:opacity .12s}
.phlib-card:hover .phlib-card-actions{opacity:1}
.phlib-card-actions button{border:0;background:rgba(0,0,0,.7);color:#fff;border-radius:6px;padding:4px 8px;font:inherit;font-size:11px;cursor:pointer}
.phlib-card-body{padding:10px 12px}
.phlib-card-caption{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.phlib-card-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:11px;color:var(--m)}
.phlib-tag{background:var(--gl);color:var(--gd);border-radius:999px;padding:1px 7px;font-size:10px}
.phlib-empty-state{text-align:center;padding:48px 16px;color:var(--m);display:flex;flex-direction:column;gap:12px;align-items:center}
.phlib-modal{width:min(1240px,96vw);max-width:96vw;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.phlib-modal-hd{padding:16px 22px!important;margin:0!important}
.phlib-modal-title{font-size:18px;font-weight:700}
.phlib-modal-sub{font-size:12px;opacity:.85;margin-top:2px}
.phlib-modal-bd{padding:18px 22px 0;overflow:auto;display:flex;flex-direction:column;gap:14px;min-height:0}
.phlib-modal-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);grid-gap:22px;gap:22px;align-items:start}
.phlib-modal-col-media,.phlib-modal-col-meta{display:flex;flex-direction:column;gap:14px;min-width:0}
.phlib-modal-section-title{font-size:13px;font-weight:700;margin:0}
.phlib-modal-section-hint{font-size:12px;color:var(--m);margin:4px 0 0}
.phlib-modal-section{display:flex;flex-direction:column;gap:10px}
.phlib-check-row{display:flex;gap:8px;align-items:center;font-size:13px}
.phlib-modal .gallery-upload-zone{min-height:280px;aspect-ratio:16/10}
.phlib-modal .gallery-upload-zone.has-image{min-height:280px;background:#121417}
.phlib-modal .gallery-upload-zone-preview{background-size:contain;background-repeat:no-repeat;background-position:center}
.phlib-edit-preview{min-height:280px;aspect-ratio:16/10;border-radius:10px;background:#121417 center/contain no-repeat;border:1px solid var(--b)}
.phlib-multi-row{display:flex;align-items:center;gap:10px}
.phlib-multi-count{font-size:12px;color:var(--m)}
.phlib-size-hint{font-size:12px;color:var(--m);margin:0}
.phlib-save-status{font-size:12px;color:var(--g)}
.phlib-modal-ft{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 18px;border-top:1px solid var(--b);position:-webkit-sticky;position:sticky;bottom:0;background:var(--s,#fff)}
.phlib-modal-ft-right{display:flex;gap:8px;margin-left:auto}
@media (max-width:900px){
  .phlib-modal-layout{grid-template-columns:1fr}
  .phlib-modal .gallery-upload-zone,.phlib-modal .gallery-upload-zone.has-image,.phlib-edit-preview{min-height:200px;aspect-ratio:16/9}
}
.phlib-viewer-overlay{position:fixed;inset:0;z-index:10040;background:rgba(8,10,12,.88);display:flex;align-items:stretch;justify-content:center;padding:0;animation:phlibFade .15s ease}
@keyframes phlibFade{from{opacity:0}to{opacity:1}}
.phlib-viewer{width:100%;height:100%;max-width:100vw;max-height:100vh;display:flex;flex-direction:column;background:transparent}
.phlib-viewer-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f5f5f5}
.phlib-viewer-bar-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;min-width:0}
.phlib-viewer-caption{font-size:16px;font-weight:650;letter-spacing:-.01em}
.phlib-viewer-id,.phlib-viewer-size,.phlib-viewer-pos{font-size:12px;color:rgba(255,255,255,.65)}
.phlib-viewer-bar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.phlib-viewer-close{width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:18px;cursor:pointer;line-height:1}
.phlib-viewer-close:hover{background:rgba(255,255,255,.22)}
.phlib-viewer-stage{position:relative;flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 56px 24px}
.phlib-viewer-img{display:block;max-width:min(1400px,92vw);max-height:calc(100vh - 96px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 12px 48px rgba(0,0,0,.45)}
.phlib-viewer-missing{color:rgba(255,255,255,.7);font-size:14px}
.phlib-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:72px;border:0;border-radius:12px;background:rgba(0,0,0,.45);color:#fff;font-size:36px;line-height:1;cursor:pointer}
.phlib-viewer-nav:hover{background:rgba(0,0,0,.7)}
.phlib-viewer-prev{left:12px}
.phlib-viewer-next{right:12px}
@media (max-width:720px){
  .phlib-viewer-stage{padding:8px 44px 16px}
  .phlib-viewer-img{max-width:96vw;max-height:calc(100vh - 110px)}
  .phlib-viewer-nav{width:40px;height:56px;font-size:28px}
}
.phlib-picker-modal{width:920px;max-width:96vw;padding:0;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.phlib-picker-inline{border:1px solid var(--b);border-radius:12px;background:#fff;overflow:hidden}
.phlib-picker-inline-title{font-size:12px;font-weight:700;color:var(--gd);padding:10px 12px 0}
.phlib-picker-slots{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:12px 14px 0}
.phlib-slot{border:1px dashed var(--b);border-radius:10px;padding:8px;background:#fafbf9;min-height:96px;transition:border-color .12s,background .12s}
.phlib-slot.over{border-color:var(--g);background:#eef8f1}
.phlib-slot.filled{border-style:solid}
.phlib-slot-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--m);margin-bottom:6px}
.phlib-slot-thumb{position:relative;height:72px;border-radius:8px;overflow:hidden}
.phlib-slot-empty{height:72px;display:grid;place-items:center;font-size:12px;color:var(--m);border-radius:8px;background:#f0f3f0}
.phlib-slot-clear{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:11px;cursor:pointer;line-height:1}
.phlib-linked-drop{margin:10px 14px 0;padding:10px;border:1px dashed var(--b);border-radius:10px;background:#fafbf9;min-height:64px}
.phlib-linked-drop.over{border-color:var(--g);background:#eef8f1}
.phlib-linked-empty{font-size:12px;color:var(--m);padding:8px 0}
.phlib-linked-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.phlib-linked-chip{position:relative;width:48px;height:36px;border-radius:6px;overflow:hidden;border:1px solid var(--b)}
.phlib-linked-chip-x{position:absolute;top:1px;right:1px;width:16px;height:16px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:9px;cursor:pointer;line-height:1;padding:0}
.phlib-picker-count{font-size:11px;color:var(--m)}
.phlib-picker-toolbar{padding:12px 16px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--b)}
.phlib-picker-grid{padding:14px 16px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px;max-height:55vh}
.phlib-picker-grid--inline{max-height:320px}
.phlib-picker-card{border:1px solid var(--b);border-radius:10px;overflow:hidden;background:var(--s)}
.phlib-picker-card.linked{border-color:var(--g)}
.phlib-picker-card.dragging{opacity:.45}
.phlib-picker-card--pick{display:flex;flex-direction:column;width:100%;text-align:left;cursor:pointer;padding:0;font:inherit;color:inherit}
.phlib-picker-card--pick .phlib-picker-thumb{position:relative;display:block;aspect-ratio:1;width:100%;min-height:100px}
.phlib-picker-card--pick:hover{border-color:var(--g);box-shadow:0 0 0 1px var(--g)}
.logo-crop-modal{width:480px;max-width:95vw;padding:0!important;overflow:hidden}
.logo-crop-stage{position:relative;width:100%;height:min(360px,50vh);background:#111}
.logo-crop-controls{padding:12px 20px;border-top:1px solid var(--b)}
.logo-crop-zoom{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--m);font-weight:600}
.logo-crop-zoom input{flex:1 1}
.logo-crop-ft{display:flex!important;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.sb-logo-custom{border-radius:50%!important;object-fit:cover}
.logo-gallery-modal{width:min(960px,94vw);max-width:94vw;padding:0!important;display:flex;flex-direction:column;max-height:92vh;min-height:min(72vh,700px);overflow:hidden;border-radius:14px}
.logo-gallery-body{padding:18px 22px 12px;overflow-y:auto;flex:1 1;min-height:0;background:linear-gradient(180deg,#f7faf8 0%,#fff 48px)}
.logo-gallery-nav{margin-bottom:12px}
.logo-gallery-hint{font-size:13px;color:var(--m);margin:0 0 14px;font-weight:600}
.logo-gallery-folders{margin-bottom:8px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))!important;gap:14px!important}
.logo-gallery-folders .phlib-folder-card{min-height:148px}
.logo-gallery-folders .phlib-folder-card .phlib-folder-actions{display:none}
.logo-gallery-folders .phlib-folder-open{padding:18px 14px 16px}
.logo-gallery-folders .phlib-folder-icon{width:44px;height:44px;margin-bottom:10px}
.logo-gallery-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:14px;gap:14px;margin-top:6px}
.logo-gallery-photo{display:flex;flex-direction:column;border:1px solid var(--b);border-radius:14px;overflow:hidden;background:var(--s);padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:box-shadow .15s,border-color .15s,transform .12s}
.logo-gallery-photo:hover{border-color:var(--g);box-shadow:0 8px 24px rgba(26,92,56,.12);transform:translateY(-1px)}
.logo-gallery-photo-media{position:relative;display:block;aspect-ratio:1;width:100%;background:#1a2e23}
.logo-gallery-photo-cap{padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-gallery-ft{justify-content:flex-end!important;padding:12px 22px!important;border-top:1px solid var(--b);background:#fff}
.phlib-drag-overlay{position:relative;width:80px;height:60px;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(26,46,35,.25);border:2px solid var(--g)}
.phlib-picker-thumb{position:relative;display:block;width:100%;aspect-ratio:1;border:0;padding:0;background:#222;cursor:-webkit-grab;cursor:grab}
.phlib-picker-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}
.phlib-check{position:absolute;top:6px;right:6px;background:var(--g);color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}
.phlib-picker-meta{padding:8px}
.phlib-picker-caption{font-size:11px;font-weight:600;line-height:1.25;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.phlib-feat-btn{width:100%;border:1px solid var(--b);background:transparent;border-radius:6px;padding:4px 6px;font:inherit;font-size:11px;cursor:pointer}
.phlib-feat-btn.on{background:var(--gl);border-color:var(--g);color:var(--gd);font-weight:600}
.phlib-empty{grid-column:1/-1;text-align:center;color:var(--m);padding:24px}
.prod-form-photo-strip{display:flex;gap:8px;flex-wrap:wrap}
.prod-form-photo-thumb{position:relative;width:72px;height:54px;border-radius:8px;overflow:hidden;border:1px solid var(--b)}
.prod-form-photo-thumb.featured{outline:2px solid var(--g);outline-offset:1px}
@media (max-width:720px){
  .phlib-hero{grid-template-columns:1fr;gap:10px}
  .phlib-hero-stats{justify-content:flex-start}
  .phlib-hero-actions{justify-content:flex-start}
  .phlib-title{font-size:20px}
  .phlib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}

/* Toast notifications */
.toast-host{
  position:fixed;top:16px;right:16px;z-index:10000;
  display:flex;flex-direction:column;gap:8px;
  max-width:min(380px,calc(100vw - 32px));
  pointer-events:none;
}
.toast{
  pointer-events:auto;
  display:flex;align-items:flex-start;gap:10px;
  padding:11px 12px 11px 14px;border-radius:10px;
  font-size:13px;line-height:1.45;
  box-shadow:0 6px 20px rgba(0,0,0,.12);
  border:1px solid transparent;
  animation:toast-in .22s ease-out;
  white-space:pre-wrap;word-break:break-word;
}
.toast-out{animation:toast-out .2s ease-in forwards}
.toast-msg{flex:1 1;min-width:0}
.toast-close{
  flex-shrink:0;background:transparent;border:none;cursor:pointer;
  font-size:16px;line-height:1;opacity:.55;padding:0 2px;font-family:inherit;color:inherit;
}
.toast-close:hover{opacity:.9}
.toast-success{background:var(--gl);border-color:rgba(46,125,82,.28);color:var(--gd)}
.toast-error{background:var(--red-l);border-color:rgba(192,57,43,.28);color:var(--red)}
.toast-warning{background:var(--amb-l);border-color:rgba(217,119,6,.28);color:#92400e}
.toast-info{background:#f0f4f8;border-color:rgba(0,0,0,.1);color:var(--t)}
@keyframes toast-in{
  from{opacity:0;transform:translateY(-8px) translateX(8px)}
  to{opacity:1;transform:translateY(0) translateX(0)}
}
@keyframes toast-out{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-6px)}
}
@media(max-width:800px){
  .toast-host{top:auto;bottom:72px;right:12px;left:12px;max-width:none}
}

/* In-app confirm dialog (replaces window.confirm) */
.confirm-overlay{
  display:none;position:fixed;inset:0;z-index:10050;
  background:rgba(0,0,0,.4);align-items:center;justify-content:center;
  padding:16px;animation:confirm-fade .15s ease-out;
}
.confirm-overlay.open{display:flex}
.confirm-dialog{
  background:var(--s,#fff);border-radius:14px;width:min(420px,100%);
  box-shadow:0 20px 50px rgba(0,0,0,.2);padding:0;
  animation:confirm-pop .18s ease-out;
}
.confirm-hd{
  padding:16px 18px 0;font-size:15px;color:var(--t);
}
.confirm-msg{
  margin:10px 18px 0;font-size:13px;line-height:1.5;color:var(--m,#555);
  white-space:pre-wrap;word-break:break-word;
}
.confirm-actions{
  display:flex;justify-content:flex-end;gap:8px;padding:16px 18px 18px;
}
@keyframes confirm-fade{
  from{opacity:0} to{opacity:1}
}
@keyframes confirm-pop{
  from{opacity:0;transform:scale(.96) translateY(6px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}

