:root{color:#1f2937;text-rendering:optimizelegibility;background-color:#f3f4f6;font-family:Be Vietnam Pro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.55}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}:root{--page-bg:#f0f2f5;--surface:#fff;--border:#e8e9ef;--text:#1f2937;--text-muted:#6b7280;--accent:#2563eb;--accent-soft:#2563eb1a;--sidebar-w:248px;--sidebar-collapsed:76px;--toolbar-h:56px;--chrome-tabs-h:38px;--radius:10px;--shadow-soft:0 1px 3px #1018280f, 0 1px 2px #1018280a}*,:before,:after{box-sizing:border-box}.app-layout{background:var(--page-bg);min-height:100vh;color:var(--text);display:flex}.sidebar-shell{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-shell.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{border-bottom:1px solid var(--border);min-height:var(--toolbar-h);align-items:center;gap:10px;padding:16px 14px;display:flex}.brand-logo-img{object-fit:contain;background:#fff;border:1px solid #dbe5f1;border-radius:10px;flex-shrink:0}.brand-logo-img--sidebar{width:38px;height:38px}.brand-logo-img--toolbar{width:30px;height:30px}.brand-logo-img--login{width:44px;height:44px}.sidebar-brand-mark{color:#fff;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:grid}.sidebar-brand-text strong{font-size:.92rem;line-height:1.25;display:block}.sidebar-brand-text small{color:var(--text-muted);font-size:.72rem}.sidebar-shell.collapsed .sidebar-brand-text{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:0;padding:12px 10px 16px;display:flex;overflow-y:auto}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section+.nav-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.nav-section-title{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0 0 8px;padding:0 12px 2px;font-size:.65rem;font-weight:700;line-height:1.2}.nav-section-title-collapsed{background:linear-gradient(90deg, transparent, var(--border) 15%, var(--border) 85%, transparent);border:none;border-radius:1px;align-self:center;width:32px;height:1px;margin:6px 0 8px;display:block}.nav-section--attributes{background:linear-gradient(#f1f5f9a6 0%,#fff0 100%);border-radius:10px;padding:2px 0 4px}.sidebar-shell.collapsed .nav-section--attributes{background:0 0;padding:0}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-toggle{color:#9ca3af;width:100%;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 12px 6px;font-size:.68rem;font-weight:700;transition:background .15s,color .15s;display:flex}.nav-group-toggle:hover:not(.nav-group-toggle--open-locked){color:#6b7280;background:#f3f4f6}.nav-group-toggle--open-locked{cursor:default}.nav-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-group-toggle-label{text-align:left;flex:1}.nav-group-chevron{color:currentColor;opacity:.9;flex-shrink:0;place-items:center;transition:transform .2s;display:grid;transform:rotate(-90deg)}.nav-group-chevron svg{width:16px;height:16px}.nav-group-chevron-open{transform:rotate(0)}.nav-item.nav-sub{padding-left:22px;font-size:.82rem;font-weight:450}.sidebar-shell.collapsed .nav-item.nav-sub{padding-left:10px}.nav-item{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:#f3f4f6}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-icon{color:currentColor;opacity:.92;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.nav-icon svg{width:20px;height:20px}.sidebar-shell.collapsed .nav-item{justify-content:center;padding:10px}.sidebar-shell.collapsed .nav-label{display:none}.main-panel{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;display:flex}.sidebar-shell.collapsed+.main-panel{margin-left:var(--sidebar-collapsed)}.top-toolbar{height:var(--toolbar-h);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);top:0;right:0;left:var(--sidebar-w);z-index:25;flex-shrink:0;align-items:center;gap:12px;padding:0 18px;display:flex;position:fixed}.sidebar-shell.collapsed+.main-panel .top-toolbar{left:var(--sidebar-collapsed)}.chrome-tabs-strip{top:var(--toolbar-h);left:var(--sidebar-w);height:var(--chrome-tabs-h);z-index:24;background:#dee1e6;border-bottom:1px solid #cdd0d6;flex-shrink:0;align-items:flex-end;gap:2px;padding:0 6px;display:flex;position:fixed;right:0}.sidebar-shell.collapsed+.main-panel .chrome-tabs-strip{left:var(--sidebar-collapsed)}.chrome-tabs-scroll{scrollbar-width:thin;flex:1;align-items:flex-end;gap:2px;min-width:0;padding-bottom:0;display:flex;overflow:auto hidden}.chrome-tabs-scroll::-webkit-scrollbar{height:4px}.chrome-tabs-scroll::-webkit-scrollbar-thumb{background:#0003;border-radius:999px}.chrome-tab-wrap{background:0 0;border-radius:8px 8px 0 0;flex-shrink:0;align-items:stretch;max-width:min(224px,38vw);display:flex}.chrome-tab-wrap--active{background:var(--surface);box-shadow:0 -1px 0 var(--surface) inset}.chrome-tab-wrap:not(.chrome-tab-wrap--active) .chrome-tab:hover{background:#ffffff85}.chrome-tab{cursor:pointer;min-width:0;color:var(--text);background:0 0;border:none;align-items:center;gap:6px;padding:6px 4px 6px 14px;font-size:.78rem;font-weight:500;display:inline-flex}.chrome-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chrome-tab--active .chrome-tab-label{color:var(--text);font-weight:600}.chrome-tab:not(.chrome-tab--active) .chrome-tab-label{color:var(--text-muted)}.chrome-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chrome-tab-close{width:22px;color:var(--text-muted);cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-self:center;margin:0 4px 0 0;padding:0;font-size:1rem;line-height:1}.chrome-tab-wrap:hover .chrome-tab-close{opacity:1}.chrome-tab-close:hover{color:var(--text);background:#00000014}.chrome-tab-add{color:#334155;cursor:pointer;background:#ffffff8c;border:1px solid #c7cad1;border-radius:8px 8px 0 0;width:30px;height:28px;margin:0 2px 4px 6px;font-size:1.15rem;line-height:1}.chrome-tab-add:hover:not(:disabled){background:#ffffffe6}.chrome-tab-add:disabled{opacity:.45;cursor:not-allowed}.menu-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:40px;height:38px;color:var(--text-muted);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.menu-toggle:hover{color:var(--text);background:#f9fafb;border-color:#d1d5db}.toolbar-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.notify-btn{width:40px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:relative}.notify-btn:hover{color:var(--text);background:#f3f4f6}.notify-wrap{position:relative}.notify-badge{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:4px;right:4px}.notify-panel{border:1px solid var(--border);z-index:60;background:#fff;border-radius:10px;width:360px;max-width:min(92vw,360px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 28px #0f172a24}.notify-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.notify-list{max-height:320px;overflow-y:auto}.notify-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f1f5f9;gap:4px;width:100%;padding:10px 12px;display:grid}.notify-item:hover{background:#f8fafc}.notify-item.read{opacity:.65}.notify-item-title{font-size:.82rem;font-weight:600}.notify-item-detail{color:#64748b;font-size:.76rem}.notify-item.warning .notify-item-title{color:#b91c1c}.notify-item.info .notify-item-title{color:#1d4ed8}.notify-item.success .notify-item-title{color:#047857}.user-box{border:1px solid var(--border);background:#fafafa;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.user-avatar{color:#fff;background:linear-gradient(145deg,#6366f1,#4338ca);border-radius:50%;place-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:grid}.user-meta{line-height:1.15}.user-meta span{color:var(--text);font-size:.8125rem;font-weight:600;display:block}.user-meta small{color:var(--text-muted);font-size:.7rem}.page-inner{padding:calc(var(--toolbar-h) + 18px) 22px 32px;flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.main-panel--rental-workspace .page-inner{padding-top:calc(var(--toolbar-h) + var(--chrome-tabs-h) + 18px)}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page-title-block h1{margin:0 0 4px;font-size:1.375rem;font-weight:600}.page-title-block p{color:var(--text-muted);margin:0;font-size:.875rem}.breadcrumb{color:var(--text-muted);margin-bottom:4px;font-size:.75rem}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:.8125rem;font-weight:600;box-shadow:0 1px 2px #2563eb33}.btn-primary:hover{filter:brightness(1.05)}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:9px 16px;font-size:.8125rem;font-weight:600;box-shadow:0 1px 2px #dc262640}.btn-danger:hover{filter:brightness(1.06)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px 14px;font-size:.8125rem;font-weight:600}.btn-ghost:hover{background:#f9fafb}.status-line{margin:4px 0 0;font-size:.8125rem;font-weight:600}.status-line.pending{color:var(--text-muted)}.status-line.flash{color:var(--accent)}.metrics-overview{flex-direction:column;gap:22px;padding:20px 22px 22px;display:flex}.metrics-intro{margin:0;line-height:1.55}.metrics-block{flex-direction:column;gap:12px;display:flex}.metrics-block__title{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:.75rem;font-weight:700}.metrics-block__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;display:flex}.inventory-audit-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.inventory-audit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.inventory-audit-card{min-height:116px;box-shadow:none;padding:16px}.inventory-audit-card--store{background:linear-gradient(#fff 0%,#f0fdf9 100%);border-color:#a7f3d0}.inventory-audit-card--store strong{color:#047857}.inventory-audit-check{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px;display:flex}.inventory-audit-check__input{color:#475569;align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:600;display:inline-flex}.inventory-audit-check__input input{width:176px;min-width:0;padding:8px 10px;font-size:.875rem}.inventory-audit-result{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:240px;align-items:center;min-height:38px;padding:8px 12px;font-size:.8125rem;display:flex}.inventory-audit-result--ok{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.inventory-audit-result--warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.inventory-audit-table{max-height:280px}.inventory-code-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.inventory-code-filter{flex-wrap:wrap;gap:8px;display:flex}.inventory-code-table{max-height:420px}.date-range-filter{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;display:flex}.date-range-filter__label{color:#334155;white-space:nowrap;font-size:.8125rem;font-weight:600}.date-range-filter label{color:#64748b;align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:500;display:inline-flex}.date-range-filter label span{white-space:nowrap}.date-range-filter input[type=date]{min-width:148px;padding:7px 10px;font-size:.8125rem;line-height:1.25}.date-range-filter .btn-ghost{margin-left:2px}.date-range-filter__summary{color:#475569;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:.8125rem;font-weight:600}.content-filter-bar{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;display:flex}.content-filter-bar__label{color:#334155;white-space:nowrap;font-size:.8125rem;font-weight:600}.content-filter-bar__search{flex:240px;min-width:200px;padding:7px 12px;font-size:.8125rem}.content-filter-bar__field{color:#64748b;align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:500;display:inline-flex}.content-filter-bar__field select{min-width:148px;padding:7px 10px;font-size:.8125rem}.content-filter-bar__summary{color:#475569;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:.8125rem;font-weight:600}.metrics-block--table{gap:14px}.history-summary-stats .stat-card strong,.catalog-summary-stats .stat-card strong{font-size:clamp(1.1rem,1.5vw,1.35rem)}.content-filter-bar--catalog .content-filter-bar__search--code,.content-filter-bar--catalog .content-filter-bar__search--attr{flex:180px;min-width:160px}.content-filter-bar__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.content-filter-bar__actions .import-label{margin:0}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.payment-revenue-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.payment-revenue-stats:has(.stat-card--total){grid-template-columns:repeat(3,minmax(0,1fr))}.payment-revenue-stats:not(:has(.stat-card--total)){grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card--payment{border-width:1px}.stat-card--cash{background:linear-gradient(#fff 0%,#f0fdf9 100%);border-color:#a7f3d0}.stat-card--cash strong{color:#047857}.stat-card--transfer{background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#bfdbfe}.stat-card--transfer strong{color:#1d4ed8}.stat-card--total{background:linear-gradient(#fff 0%,#eef2ff 100%);border-color:#c7d2fe}.stat-card--total strong{color:#3730a3}.stat-card{background:var(--surface);border:1px solid var(--border);min-height:104px;box-shadow:var(--shadow-soft);border-radius:12px;flex-direction:column;padding:18px 20px;display:flex}.stat-card--tall{min-height:124px}.stat-card__label{color:var(--text-muted);margin-bottom:8px;font-size:.8125rem;line-height:1.35;display:block}.stat-card span.stat-card__label{margin-bottom:8px}.stat-card strong{word-break:break-word;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:700;line-height:1.25}.stat-card__note{color:var(--text-muted);margin-top:auto;padding-top:10px;font-size:.75rem;line-height:1.45;display:block}.stat-card--payment .stat-card__note{padding-top:8px}.card-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.card-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:16px 18px;display:flex}.card-head h2{margin:0;font-size:1rem;font-weight:600}.card-head__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-body{padding:18px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.form-grid.two-col{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}input,select,textarea{border:1px solid var(--border);font:inherit;border-radius:8px;padding:10px 12px;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.submit-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.status-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.status-switch--disabled{cursor:not-allowed;opacity:.65}.status-switch input{opacity:0;width:1px;height:1px;position:absolute}.status-switch-track{background:#cbd5e1;border-radius:999px;width:42px;height:24px;transition:background-color .2s;position:relative}.status-switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.status-switch input:checked+.status-switch-track{background:#16a34a}.status-switch input:checked+.status-switch-track:after{transform:translate(18px)}.status-switch-label{color:#475569;min-width:24px;font-size:.8rem}.item-builder{grid-column:1/-1;grid-template-columns:1fr auto;gap:10px;display:grid}.filter-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:18px;padding:18px;box-shadow:0 8px 24px #0f172a0f}.filter-panel__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px 14px;display:grid}.filter-panel__summary{color:#0f172a;margin-top:12px;font-size:.95rem}.filter-panel input,.filter-panel select,.filter-panel button{box-sizing:border-box;width:100%}.filter-panel input,.filter-panel select{background:#f8fafc;border:1px solid #d1d5db;border-radius:14px;min-height:44px;padding:11px 14px}.filter-panel input:focus,.filter-panel select:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #3b82f626}.filter-panel button{place-self:end start;min-width:140px}.sort-control{gap:6px;display:grid}.sort-control span{color:#475569;font-size:.82rem}.selected-items{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;grid-column:1/-1;padding:12px}.selected-items p{margin:6px 0;font-size:.875rem}.selected-item-header{color:#64748b;border-bottom:1px dashed #d1d5db;grid-template-columns:120px 1.5fr 1fr 1fr auto;gap:10px;margin-bottom:8px;padding-bottom:8px;font-size:.78rem;font-weight:600;display:grid}.selected-item-row{border-bottom:1px dashed #e5e7eb;grid-template-columns:120px 1.5fr 1fr 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.selected-item-row:last-child{border-bottom:none}.code-cell{color:#475569;font-weight:600}.attr-catalog-code{color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;font-weight:600}.rental-page .card-body{padding:20px}.rental-page-intro{gap:8px;margin-bottom:18px;display:grid}.rental-workspace-pill{background:var(--accent-soft);color:#1d4ed8;letter-spacing:.02em;border-radius:999px;align-items:center;width:fit-content;margin:0;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.rental-page-lead{max-width:62ch;line-height:1.5}.rental-layout{align-items:start;gap:18px;display:grid}@media (width>=1024px){.rental-layout{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}}.rental-main{gap:14px;display:grid}.rental-step{border:1px solid var(--border);background:#fcfdff;border-radius:12px;overflow:hidden}.rental-step-head{border-bottom:1px solid var(--border);background:linear-gradient(#fff 0%,#f8fafc 100%);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.rental-step-head h3{color:#1e293b;margin:0;font-size:.95rem}.rental-step-head .muted-text{margin-top:4px}.rental-step-badge{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8125rem;font-weight:700;display:grid}.rental-step-body{gap:12px;padding:14px 16px 16px;display:grid}.rental-field{gap:6px;display:grid}.rental-field--full{grid-column:1/-1}.rental-field-label{color:#334155;font-size:.8125rem;font-weight:600}.rental-checkbox-field{gap:8px}.rental-checkbox-line{color:#0f172a;align-items:center;gap:8px;min-height:36px;font-weight:700;display:inline-flex}.rental-checkbox-line input{accent-color:#0f766e;width:18px;height:18px}.rental-schedule-grid{gap:12px;display:grid}@media (width>=640px){.rental-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.rental-phone-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rental-phone-row input[type=tel]{flex:1;min-width:180px}.rental-customer-hit{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin:0;padding:10px 12px;font-size:.875rem}.rental-name-match-list{flex-direction:column;gap:6px;max-height:240px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.rental-name-match-btn{text-align:left;border:1px solid var(--border);background:var(--panel-elevated,#fff);width:100%;font:inherit;cursor:pointer;border-radius:8px;padding:8px 10px;transition:background .12s,border-color .12s;display:block}.rental-name-match-btn:hover{background:var(--muted-bg,#f4f4f5);border-color:var(--border-strong,#d4d4d8)}.rental-name-match-empty{margin:6px 0 0;font-size:.875rem}.rental-new-customer-block{gap:6px;display:grid}.rental-auto-status-hint{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.rental-status-chip{border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.rental-status-chip--active{color:#166534;background:#dcfce7}.rental-status-chip--reserved{color:#1d4ed8;background:#dbeafe}.rental-action-row{flex-wrap:wrap;gap:10px;display:flex}.rental-import-details{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:10px 12px}.rental-import-details summary{cursor:pointer;color:#475569;font-size:.8125rem;font-weight:600}.rental-import-toolbar{margin-top:10px}.rental-clear-lines{margin-left:auto}.rental-empty-panel{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:18px 14px}.rental-line-list{gap:10px;display:grid}.rental-line-card{border:1px solid var(--border);background:#fff;border-radius:10px;gap:10px;padding:12px;display:grid}@media (width>=720px){.rental-line-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}}.rental-line-card__main{gap:4px;display:grid}.rental-line-card__title{font-size:.9rem}.rental-line-card__money{white-space:nowrap;gap:4px;font-size:.8125rem;display:grid}.rental-line-card__price-pair{align-items:baseline;gap:6px;display:inline-flex}.rental-line-card--schedule-conflict{background:#fff7f7;border-color:#fca5a5}.rental-line-card__conflict{color:#b91c1c;margin:6px 0 0;font-size:.78rem;line-height:1.4}.rental-schedule-conflict-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:12px;padding:12px 14px}.rental-schedule-conflict-banner strong{color:#991b1b;margin-bottom:6px;font-size:.85rem;display:block}.rental-schedule-conflict-banner p{color:#7f1d1d;margin:0 0 8px;font-size:.8rem;line-height:1.45}.rental-schedule-conflict-banner ul{color:#991b1b;margin:0;padding-left:1.1rem;font-size:.78rem}.rental-schedule-conflict-banner li+li{margin-top:4px}.rental-laundry-banner{background:linear-gradient(#fffbeb 0%,#fef3c7 100%);border:1px solid #fde68a;border-radius:10px;margin-top:12px;padding:12px 14px}.rental-laundry-banner strong{color:#92400e;margin-bottom:6px;font-size:.85rem;display:block}.rental-laundry-banner p{color:#78350f;margin:0 0 8px;font-size:.8rem;line-height:1.45}.rental-laundry-banner ul{color:#92400e;margin:0;padding-left:1.1rem;font-size:.78rem}.rental-laundry-banner li+li{margin-top:4px}.rental-line-card--laundry-warn{background:linear-gradient(#fffbeb 0%,#fff 55%);border-color:#fcd34d}.rental-line-card__nearest{color:#1e40af;margin:6px 0 0;font-size:.78rem;line-height:1.4}.rental-line-card__nearest--pickup{color:#0f766e}.rental-line-card__laundry{color:#b45309;margin:6px 0 0;font-size:.78rem;line-height:1.4}.rental-pick-laundry-hint{color:#b45309;margin-top:6px;font-size:.78rem;line-height:1.4}.rental-pick-schedule-hint{color:#1e40af;margin-top:6px;font-size:.78rem;line-height:1.4}.rental-pick-schedule-hint--pickup{color:#0f766e}.muted-text{color:var(--text-muted);margin:0;font-size:.8rem}.login-page{background:linear-gradient(160deg,#e8f0ff 0%,#f8fafc 45%,#eef2ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:14px;gap:16px;width:100%;max-width:400px;padding:28px 24px;display:grid;box-shadow:0 18px 50px #0f172a1a}.login-brand{align-items:center;gap:12px;display:flex}.login-brand .sidebar-brand-mark{width:44px;height:44px;font-size:.95rem}.login-brand strong{color:#0f172a;display:block}.login-hint{color:var(--text-muted,#64748b);margin:0;font-size:.85rem}.login-form{gap:12px;display:grid}.login-label{color:#334155;gap:6px;font-size:.8rem;font-weight:600;display:grid}.login-label input{border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:10px 12px;font-size:.9rem;font-weight:400}.login-submit{width:100%;margin-top:4px}.rental-summary{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:linear-gradient(#f8fbff 0%,#fff 100%);border-radius:12px;gap:12px;padding:16px;display:grid}@media (width>=1024px){.main-panel--rental-workspace .rental-summary{top:calc(var(--toolbar-h) + var(--chrome-tabs-h) + 16px);width:min(320px,100vw - 44px);max-height:calc(100vh - (var(--toolbar-h) + var(--chrome-tabs-h) + 32px));overscroll-behavior:contain;z-index:10;position:fixed;right:22px;overflow-y:auto}}.rental-summary-title{margin:0;font-size:.95rem}.rental-summary-customer{border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;padding:12px;display:grid}.rental-summary-customer__name{font-size:.95rem}.rental-summary-customer__hint{font-size:.75rem}.rental-summary-customer-total{margin:0;font-size:.8125rem;line-height:1.45}.rental-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rental-summary-metric{border:1px solid var(--border);background:#fff;border-radius:8px;gap:2px;padding:10px 12px;font-size:.8125rem;display:grid}.rental-summary-metric strong{font-size:1.05rem}.rental-summary-hint{margin:-4px 0 0}.rental-summary-breakdown{border-top:1px dashed var(--border);gap:8px;padding-top:4px;display:grid}.rental-summary-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:.8125rem;display:flex}.rental-discount-details{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px}.rental-discount-details summary{cursor:pointer;font-size:.8125rem;font-weight:600}.rental-discount-panel{gap:10px;margin-top:10px;display:grid}.rental-discount-grid{grid-template-columns:minmax(120px,.9fr) minmax(0,1fr);gap:8px;display:grid}.rental-summary-note{color:#1d4ed8;margin:0;font-size:.8rem}.rental-payment-mode{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.payment-mode-picker{gap:8px;margin-top:8px;display:grid}.payment-mode-option{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px;font-size:.8125rem;font-weight:600;transition:border-color .15s,background .15s;display:block}.payment-mode-option:hover:not(:disabled){background:#faf5ff;border-color:#c4b5fd}.payment-mode-option--active{background:linear-gradient(#faf5ff 0%,#f3e8ff 100%);border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed1f}.payment-mode-option:disabled{opacity:.45;cursor:not-allowed}.rental-hold-policy-note{color:#5b21b6;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:.8125rem;line-height:1.5}.rental-payment-method{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.payment-method-picker{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.payment-method-option{min-height:44px;color:var(--text);cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ef;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.payment-method-option:hover{background:#f8fbff;border-color:#93c5fd}.payment-method-option--active{background:linear-gradient(#eff6ff 0%,#dbeafe 100%);border-color:#2563eb;box-shadow:0 0 0 1px #2563eb26}.payment-method-option__icon{background:#2563eb1a;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.95rem;font-weight:700;display:inline-grid}.payment-method-option--active .payment-method-option__icon{color:#fff;background:#2563eb}.payment-method-option__label{font-size:.875rem;font-weight:600;line-height:1.25}.payment-method-badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.payment-method-badge--cash{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.payment-method-badge--transfer{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.payment-method-badge--unknown{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.rental-summary-total{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;gap:8px;padding:12px;display:grid}.rental-summary-total>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:.875rem;display:flex}.rental-summary-total strong{color:#1e40af;font-size:1rem}.rental-summary-grand{border-top:1px solid #93c5fd;margin-top:4px;padding-top:10px;font-weight:600}.rental-summary-grand strong{font-size:1.1rem}.rental-summary-submit{width:100%}.rental-summary .btn-primary{justify-self:stretch}.money-line{background:#f3f8ff;border-radius:8px;margin:0;padding:11px 14px;font-size:.875rem}.money-line strong{color:#1e40af}.data-table-wrap{margin:-4px -2px;overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:.8125rem}.data-table thead th{text-align:left;color:#4b5563;border-bottom:1px solid var(--border);white-space:nowrap;background:#f9fafb;padding:10px 12px;font-weight:600}.data-table tbody td{vertical-align:middle;color:#374151;border-bottom:1px solid #f0f1f4;padding:12px}.data-table tbody tr:hover td{background:#fafbfc}.data-table tbody tr:last-child td{border-bottom:none}.th-actions{width:1%}.badge-inline{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-neutral{color:#4b5563;background:#f3f4f6}.badge-money--cash{color:#047857}.badge-money--transfer{color:#1d4ed8}.badge-money{color:#065f46;font-weight:600}.customer-tier-chip{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.78rem;font-weight:600;line-height:1.4;display:inline-flex}.customer-tier-chip--new{color:#4b5563;background:#f3f4f6}.customer-tier-chip--bronze{color:#9a3412;background:#ffedd5}.customer-tier-chip--silver{color:#374151;background:#e5e7eb}.customer-tier-chip--gold{color:#92400e;background:#fef3c7}.customer-tier-chip--platinum{color:#5b21b6;background:#ede9fe}.qty-dot{color:#065f46;background:#d1fae5;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-grid}.empty{text-align:center;color:var(--text-muted);background:#f9fafb;border-radius:8px;margin:0;padding:24px;font-size:.875rem}.toolbar-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.rental-history-toolbar input[type=text]{flex:1;min-width:220px}.rental-history-phone{margin-top:2px;font-size:.78rem}.import-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.import-label{color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;display:inline-flex}.import-label input[type=file]{max-width:220px;font-size:.75rem}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:4px;display:grid}.chart-card{border:1px solid var(--border);background:#fcfcff;border-radius:10px;padding:14px}.chart-card h3{margin:0 0 12px;font-size:.9rem}.status-bars{gap:10px;display:grid}.status-row-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:.8rem;display:flex}.track{background:#eceff3;border-radius:999px;width:100%;height:9px;overflow:hidden}.fill{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:999px;height:100%}.fill.secondary{background:linear-gradient(90deg,#0ea5e9,#22d3ee)}.report-section{gap:10px;margin-bottom:18px;display:grid}.report-section h3{margin:0;font-size:.95rem}.table-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.table-pagination-meta{font-size:.8125rem}.report-chart{margin-bottom:14px}.report-period-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.report-period-filter__label{color:#475569;font-size:.8125rem;font-weight:600}.report-period-chip{border:1px solid var(--border);color:#475569;font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:.8125rem}.report-period-chip:hover{background:#f8fbff;border-color:#bfdbfe}.report-period-chip--on{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;font-weight:600}.report-chart .column-group{grid-template-columns:1fr}.column-chart{background:#f8fafc;border-radius:8px;align-items:flex-end;gap:14px;min-height:190px;padding:12px 6px 2px;display:flex;overflow-x:auto}.column-group{grid-template-columns:1fr 1fr;place-items:end center;gap:6px;min-width:76px;display:grid}.column{border-radius:6px 6px 0 0;width:18px;min-height:4px}.column.revenue{background:#2563eb}.column.deposit{background:#14b8a6}.column-group span{color:var(--text-muted);grid-column:1/-1;font-size:.72rem}.chart-legend{gap:14px;margin-top:10px;font-size:.78rem;display:flex}.dot{border-radius:999px;width:10px;height:10px;margin-right:4px;display:inline-block}.dot.revenue{background:#2563eb}.dot.payment-cash{background:#059669}.dot.payment-transfer{background:#2563eb}.dot.deposit{background:#14b8a6}@media (width<=1200px){.dashboard-stats,:is(.payment-revenue-stats,.payment-revenue-stats:has(.stat-card--total),.payment-revenue-stats:not(:has(.stat-card--total))){grid-template-columns:repeat(2,minmax(0,1fr))}.date-range-filter__summary,.content-filter-bar__summary{text-align:center;width:100%;margin-left:0}.chart-grid{grid-template-columns:1fr}}.sidebar-backdrop{cursor:default;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}@media (width<=980px){.app-layout{flex-direction:column}.sidebar-shell{top:var(--toolbar-h);z-index:45;background:var(--surface);border-right:1px solid var(--border);visibility:hidden;width:min(280px,80vw);max-width:100%;transition:transform .25s,visibility .25s;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:14px 0 38px #0f172a2e}.sidebar-shell:not(.collapsed){visibility:visible;transform:translate(0)}.sidebar-shell.collapsed{visibility:hidden;transform:translate(-100%)}.sidebar-backdrop{inset:0;top:var(--toolbar-h);z-index:40;background:#0f172a66;display:block;position:fixed}.sidebar-nav{flex-direction:column;align-items:stretch;gap:4px;padding:10px;display:flex;overflow-y:auto}.nav-item{justify-content:flex-start;width:100%;padding:12px 14px;font-size:.95rem}.nav-label{text-align:left;white-space:normal}.main-panel,.sidebar-shell.collapsed+.main-panel{margin-left:0}.top-toolbar,.sidebar-shell.collapsed+.main-panel .top-toolbar{z-index:35;width:100%;position:fixed;top:0;left:0;right:0}.chrome-tabs-strip,.sidebar-shell.collapsed+.main-panel .chrome-tabs-strip{top:calc(var(--toolbar-h) + var(--chrome-tabs-h));border-bottom:1px solid var(--border);z-index:30;background:#ebeef2;width:100%;padding:6px 6px 0;position:fixed;left:0;right:0}.page-inner{margin-top:calc(var(--toolbar-h) + var(--chrome-tabs-h));padding:14px 14px 20px}.sidebar-brand{border-bottom:1px solid var(--border);min-height:unset;padding:14px 12px}.user-meta,.nav-section-title,.nav-section-title-collapsed{display:none}.nav-section{flex-flow:column;align-items:stretch;gap:6px}.nav-section+.nav-section{border-top:1px solid var(--border);border-left:none;margin-top:12px;margin-left:0;padding-top:12px;padding-left:0}.nav-section--attributes,.nav-group{flex-direction:column;gap:6px}.nav-group-toggle{max-width:100%;padding:10px 12px}.nav-group-toggle-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=640px){.page-inner{padding:14px}.dashboard-stats,.item-builder{grid-template-columns:1fr}}.btn-sm{padding:6px 12px;font-size:.75rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.detail-card{border:1px solid var(--border);background:#fafbfc;border-radius:8px;padding:14px 16px}.detail-card h3{margin:0 0 12px;font-size:.9rem;font-weight:600}.detail-row{border-bottom:1px solid #f0f1f4;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;font-size:.8125rem;display:flex}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--text-muted)}.detail-row span:last-child{text-align:right;font-weight:500}.product-thumb{border:1px solid var(--border);object-fit:cover;background:#f8fafc;border-radius:8px;width:52px;height:52px}.product-thumb--clickable,.product-preview--clickable{cursor:zoom-in}.detail-row-image{align-items:flex-start}.product-preview-wrap{flex-direction:column;align-items:flex-end;gap:8px;display:inline-flex}.product-preview{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--border);background:#f8fafc;border-radius:10px;width:160px;max-width:100%}.product-gallery-wrap{justify-items:end;gap:8px;display:grid}.product-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;max-width:360px;display:grid}.product-gallery-item{justify-items:center;gap:6px;display:grid}.variant-basic-row{cursor:pointer;width:100%;font:inherit;color:#0f172a;text-align:left;background:#f8fafc;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:10px;display:flex}.variant-basic-row:hover{background:#eef2ff}.modal-panel.variant-detail-modal{width:min(100vw - 48px,1280px);max-height:min(100dvh - 48px,900px);margin-bottom:0}.variant-detail-modal-body{grid-template-columns:repeat(2,minmax(360px,1fr));align-items:start;gap:16px;max-height:min(100dvh - 136px,780px);display:grid;overflow-y:auto}.variant-info-column,.variant-media-column{min-width:0}.variant-price-line{background:#f8fafc;border:1px solid #dbe5f1;border-radius:10px;margin:0;padding:10px 12px}.variant-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.variant-price-cell{background:#f8fafc;border:1px solid #dbe5f1;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.variant-price-cell span{color:#64748b;font-size:.78rem}.variant-price-cell strong{color:#0f172a;font-size:.92rem}.variant-price-note{margin:10px 0 0}.variant-action-row{margin-top:12px}.variant-gallery-wrap{justify-items:stretch;gap:10px}.variant-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));width:100%;max-width:100%}.variant-gallery-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px}.variant-qr-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;grid-template-columns:156px minmax(0,1fr);align-items:center;column-gap:12px;padding:10px;display:grid}.variant-qr-image{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-row:1/span 3;width:144px;height:144px;margin-top:0}.variant-qr-code{overflow-wrap:anywhere;background:#fff;border:1px solid #e2e8f0;border-radius:6px;max-width:100%;margin-top:6px;padding:2px 6px;font-size:.78rem;display:inline-block}@media (width<=900px){.modal-panel.variant-detail-modal{width:min(100vw - 20px,720px);max-height:calc(100dvh - 20px)}.variant-detail-modal-body{grid-template-columns:1fr}}@media (width<=640px){.modal-panel.variant-detail-modal{width:100%;max-height:calc(100dvh - 20px - env(safe-area-inset-bottom))}.variant-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.variant-qr-box{grid-template-columns:1fr;justify-items:start}.variant-qr-image{grid-row:auto;margin-top:6px}}.qr-scan-modal{width:min(100%,430px)}.qr-scan-frame{background:#0f172a;border:1px solid #dbe5f1;border-radius:12px;overflow:hidden}.qr-scan-video{object-fit:cover;width:100%;height:300px;display:block}.qr-scan-error{color:#b91c1c;margin:10px 0 0;font-size:.86rem}.image-zoom-backdrop{z-index:110;background:#020617c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-zoom-panel{max-width:min(92vw,980px);max-height:92vh;position:relative}.image-zoom-close{color:#fff;background:#0f172ab8;position:absolute;top:-10px;right:-10px}.image-zoom-content{object-fit:contain;background:#0f172a;border:1px solid #94a3b859;border-radius:12px;max-width:100%;max-height:92vh;display:block}.modal-backdrop{z-index:80;background:#0f172a73;place-items:center;padding:20px;animation:.15s modal-fade-in;display:grid;position:fixed;inset:0}.modal-backdrop--detail{z-index:85;align-items:flex-start;padding-top:max(20px,4vh);overflow-y:auto}.modal-backdrop--variant-detail{align-items:center;padding-top:20px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);width:min(100%,500px);max-height:min(88vh,720px);padding:0;overflow:auto;box-shadow:0 18px 48px #0f172a2e}.modal-panel--compact{width:min(100%,400px);max-height:none}.modal-backdrop--zalo{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a85}.modal-panel--zalo{border:1px solid #c7dcff;flex-direction:column;width:min(100%,480px);max-height:min(90vh,760px);display:flex;overflow:hidden;box-shadow:0 24px 56px #0068ff24,0 12px 32px #0f172a1f}.zalo-modal-head{color:#fff;background:linear-gradient(135deg,#0068ff 0%,#3d8bff 55%,#5ba0ff 100%);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px 18px 14px;display:grid}.zalo-modal-brand{background:#fff3;border:1px solid #ffffff59;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 1px #ffffff40}.zalo-modal-brand__icon{letter-spacing:-.04em;font-size:1.25rem;font-weight:800;line-height:1}.zalo-modal-head__text h3{color:#fff;margin:0 0 4px;font-size:1.05rem;font-weight:700;line-height:1.3}.zalo-modal-head__text p{color:#ffffffe6;margin:0;font-size:.8125rem;line-height:1.45}.zalo-modal-head .modal-close{color:#ffffffeb;background:#ffffff24;border:1px solid #ffffff47}.zalo-modal-head .modal-close:hover{color:#fff;background:#ffffff3d}.zalo-modal-body{flex-direction:column;flex:1;min-height:0;padding:16px 18px 0;display:flex}.zalo-modal-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:.75rem;font-weight:600;display:block}.zalo-message-textarea{resize:vertical;width:100%;min-height:300px;max-height:min(52vh,420px);color:var(--text);white-space:pre-wrap;background:linear-gradient(#f8fbff 0%,#f1f6ff 100%);border:1px solid #dbeafe;border-radius:14px;flex:1;margin:0;padding:14px 16px;font-family:inherit;font-size:.875rem;line-height:1.55;box-shadow:inset 0 1px 2px #0f172a0a}.zalo-message-textarea:focus{outline-offset:1px;outline:2px solid #0068ff59}.zalo-modal-foot{border-top:1px solid var(--border);background:#fafcff;flex-wrap:wrap;gap:10px;padding:16px 18px 18px;display:flex}.zalo-copy-btn{background:linear-gradient(#0068ff 0%,#0052cc 100%);border-color:#0052cc;flex:180px;min-height:42px;box-shadow:0 4px 14px #0068ff47}.zalo-copy-btn:hover{background:linear-gradient(#1a75ff 0%,#0068ff 100%)}.modal-panel--detail{width:min(100%,960px);max-height:none;margin-bottom:24px}.modal-panel--rental-pick{width:min(100%,960px);max-height:min(92vh,900px)}.swap-modal-intro{border-bottom:1px solid var(--border);padding:0 18px 14px}.swap-modal-lead{color:var(--text-muted);margin:0 0 12px;font-size:.875rem;line-height:1.55}.modal-guide .swap-modal-lead{margin:0;padding-bottom:8px}.modal-guide .swap-help-cards{padding:0 12px 12px}.swap-help-cards{gap:10px;display:grid}.swap-help-card{background:linear-gradient(#fbfcff 0%,#f7f9fc 100%);border:1px solid #e8edf5;border-radius:12px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.swap-help-card__step{color:#1d4ed8;background:#e8f0ff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:inline-grid}.swap-help-card strong{color:var(--text);margin-bottom:2px;font-size:.8125rem;display:block}.swap-help-card p{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.45}.schedule-swap-body{gap:14px;padding-top:14px;display:grid}.swap-section{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e8edf5;border-radius:14px;padding:14px}.swap-section--summary{background:linear-gradient(#fbfdff 0%,#f7faff 100%)}.swap-section--note{background:#fbfdff}.swap-section--note textarea{resize:vertical;min-height:86px}.swap-section--invalid{background:linear-gradient(#fff8f7 0%,#fff3f1 100%);border-color:#f2c7c0}.swap-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.swap-section-head h3{margin:0;font-size:.95rem;font-weight:700}.swap-section-head p{color:var(--text-muted);margin:4px 0 0;font-size:.78rem;line-height:1.45}.swap-section-badge{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.swap-section-badge--deal{color:#047857;background:#ecfdf3}.swap-no-charge-toggle{color:#0f172a;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.swap-no-charge-toggle label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.swap-no-charge-toggle input{width:16px;height:16px}.swap-subheading{letter-spacing:.02em;text-transform:uppercase;color:#64748b;margin:0 0 10px;font-size:.78rem;font-weight:700}.swap-empty{text-align:center;color:var(--text-muted);background:#fafbfd;border:1px dashed #d7deea;border-radius:12px;margin:0;padding:18px 14px}.swap-draft-list{gap:10px;display:grid}.swap-draft-card{background:#fafbfd;border:1px solid #e8edf5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.swap-draft-card--blocked{background:#fff7f7;border-color:#fecaca}.swap-draft-card--laundry{background:linear-gradient(#fffbeb 0%,#fafbfd 100%);border-color:#fcd34d}.swap-draft-card__schedule{margin:8px 0 0;font-size:.76rem;line-height:1.4}.swap-draft-card__schedule--error{color:#b91c1c}.swap-draft-card__schedule--laundry{color:#b45309}.swap-draft-card__main{min-width:0}.swap-draft-card__identity{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.swap-draft-card__identity strong{font-size:.875rem}.swap-draft-card__meta{color:var(--text-muted);flex-wrap:wrap;gap:8px 12px;font-size:.78rem;display:flex}.swap-draft-card__qty{color:#3730a3;background:#eef2ff;border-radius:999px;padding:2px 8px;font-weight:700}.swap-draft-card__actions{flex-shrink:0;gap:6px;display:flex}.swap-discount-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.swap-discount-strip>div,.swap-discount-card{background:#fff;border:1px solid #e8edf5;border-radius:10px;padding:10px 12px}.swap-discount-card{gap:4px;display:grid}.swap-discount-card small{color:#475569;font-size:.72rem}.swap-discount-strip span{color:var(--text-muted);margin-bottom:4px;font-size:.72rem;display:block}.swap-discount-strip strong{color:#1e40af;font-size:.9rem}.swap-category-grid{margin-bottom:12px}.swap-breakdown-lines{gap:10px;margin:0;padding:0;list-style:none;display:grid}.swap-category-card{background:#fff;border:1px solid #e8edf5;border-radius:12px;padding:12px}.swap-category-card--existing{border-left:3px solid #93c5fd}.swap-category-card--added{border-left:3px solid #86efac}.swap-category-card__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.swap-category-card__head strong{font-size:.875rem}.swap-category-card__body{color:var(--text);font-size:.8125rem;line-height:1.55}.swap-pill{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.swap-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.swap-stat-card{background:#fff;border:1px solid #e8edf5;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.swap-stat-card span{color:var(--text-muted);font-size:.72rem}.swap-stat-card strong{color:#0f172a;font-size:.9rem}.swap-stat-card small{color:#94a3b8;font-size:.68rem}.swap-stat-card--delta{background:#f8fafc}.swap-stat-card--up strong{color:#047857}.swap-stat-card--down strong{color:#b91c1c}.swap-due-banner{background:linear-gradient(#f0fdf4 0%,#ecfdf5 100%);border:1px solid #bbf7d0;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.swap-due-banner span{color:#166534;font-size:.75rem;font-weight:700}.swap-due-banner strong{color:#14532d;font-size:1.15rem}.swap-due-banner small{color:#15803d;font-size:.75rem}.swap-alert{border-radius:10px;padding:10px 12px;font-size:.8125rem;line-height:1.45}.swap-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.swap-alert--neutral{color:var(--text-muted);background:#f8fafc;border:1px solid #e8edf5}.swap-filters{margin-bottom:12px}.swap-modal-footer{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;margin-top:0;padding:14px 18px 18px;position:sticky;bottom:0}@media (width>=720px){.swap-help-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=719px){.swap-discount-strip,.swap-stat-grid{grid-template-columns:1fr}.swap-draft-card{flex-direction:column;align-items:stretch}.swap-draft-card__actions{justify-content:flex-end}}.modal-detail-scroll{max-height:min(78vh,820px);padding:0 18px 20px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 0;display:flex}.modal-head h2{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35}.modal-close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;font-size:1.35rem;line-height:1}.modal-close:hover{color:var(--text);background:#f3f4f6}.modal-desc{color:var(--text-muted);margin:0;padding:8px 18px 0;font-size:.8125rem;line-height:1.45}.modal-guide{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin:10px 18px 0}.modal-guide--flush{margin:0}.modal-guide summary{cursor:pointer;color:#475569;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:8px 12px;font-size:.8125rem;font-weight:700;list-style:none;display:flex}.modal-guide summary::-webkit-details-marker{display:none}.modal-guide summary:after{content:"Mở";color:#334155;background:#e2e8f0;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.7rem;font-weight:700}.modal-guide[open] summary{border-bottom:1px solid #e2e8f0}.modal-guide[open] summary:after{content:"Thu nhỏ"}.modal-guide p{color:var(--text-muted);margin:0;padding:10px 12px 12px;font-size:.8125rem;line-height:1.5}.modal-message{color:var(--text);margin:0;padding:8px 18px 16px;font-size:.875rem;line-height:1.5}.modal-form{flex-direction:column;gap:12px;padding:14px 18px 18px;display:flex}.input-modal-live-hint{border-top:1px solid var(--border);margin:0 -18px;padding:12px 18px 0}.modal-field-hint{margin-top:8px}.sale-customer-suggestions{gap:8px;display:grid}.sale-customer-suggestions__head{color:var(--muted);font-size:.82rem;font-weight:700}.sale-customer-suggestions__list{flex-wrap:wrap;gap:8px;display:flex}.sale-customer-suggestion{border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.sale-customer-suggestion:hover{border-color:var(--primary);background:#f8fafc}.sale-customer-suggestion span{color:var(--muted);font-size:.82rem}.rental-change-timeline{gap:12px;display:grid;position:relative}.rental-change-event{grid-template-columns:18px minmax(0,1fr);gap:10px;display:grid;position:relative}.rental-change-event:before{content:"";background:#dbeafe;width:2px;position:absolute;top:26px;bottom:-16px;left:8px}.rental-change-event:last-child:before{display:none}.rental-change-event__marker{z-index:1;background:#2563eb;border:3px solid #bfdbfe;border-radius:999px;width:18px;height:18px;margin-top:14px;position:relative;box-shadow:0 0 0 4px #eff6ff}.rental-change-event__body{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #dbeafe;border-radius:8px;gap:12px;padding:12px;display:grid}.rental-change-event__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rental-change-event__badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;width:fit-content;padding:4px 9px;font-size:.78rem;font-weight:700}.rental-change-event__head time,.rental-change-comparison__box span,.rental-change-money-chip span{color:var(--muted);font-size:.78rem}.rental-change-event p,.rental-change-item-list{margin:0}.rental-change-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rental-change-comparison__box{border:1px solid var(--border);background:#fff;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.rental-change-comparison__box--new{background:#f0fdf4;border-color:#bbf7d0}.rental-change-comparison__box p,.rental-change-item-list li{color:var(--text);font-size:.9rem;line-height:1.45}.rental-change-item-list{padding-left:18px}.rental-change-money{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rental-change-money-chip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:4px;min-width:0;padding:9px 10px;display:grid}.rental-change-money-chip strong{color:var(--text);font-size:.9rem;font-weight:700;line-height:1.35}.rental-change-money-chip em{border-radius:999px;width:fit-content;padding:2px 7px;font-size:.78rem;font-style:normal;font-weight:700}.rental-change-money-chip__delta--up{color:#b91c1c;background:#fee2e2}.rental-change-money-chip__delta--down{color:#166534;background:#dcfce7}.rental-change-money-chip__delta--same{color:#4b5563;background:#f3f4f6}.rental-change-event__summary{color:var(--text);font-size:.92rem}.rental-change-event__note{color:#3730a3;background:#eef2ff;border-left:3px solid #c7d2fe;border-radius:6px;padding:8px 10px;font-size:.9rem}@media (width<=640px){.rental-change-comparison,.rental-change-money{grid-template-columns:1fr}}.reschedule-money-preview{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:10px;padding:12px;display:grid}.reschedule-money-preview__head{color:var(--text);justify-content:space-between;align-items:center;gap:12px;display:flex}.reschedule-money-preview__head span{color:var(--text-muted);font-size:.82rem;font-weight:700}.reschedule-money-preview__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reschedule-money-preview__grid>div{background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:3px;padding:10px;display:grid}.reschedule-money-preview span,.reschedule-money-preview em{color:var(--text-muted);font-size:.78rem;font-style:normal}.reschedule-money-preview b{color:#047857;font-size:.95rem}.reschedule-money-preview p{color:var(--text);margin:0;font-size:.86rem}.reschedule-live-hints__sub{color:var(--text);margin:10px 0 6px;font-size:.8rem;font-weight:600}.reschedule-line-hint-list{color:var(--text);margin:0;padding-left:1.1rem;font-size:.78rem}.reschedule-line-hint-item{margin-top:8px}.reschedule-line-hint-item:first-child{margin-top:0}.modal-field{color:var(--text);flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.modal-field span{color:var(--text-muted);font-weight:600}.modal-field input{border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:.875rem}.modal-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.modal-field select{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:.875rem}.modal-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 18px 18px;display:flex}.modal-panel--compact .modal-actions{padding-top:0}.schedule-board .card-body{padding-top:14px}.schedule-board__head .schedule-board__subtitle{max-width:52rem;margin:6px 0 0;font-size:.82rem;line-height:1.45}.schedule-board__stats{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.schedule-stat-pill{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);min-width:88px;box-shadow:var(--shadow-soft);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.schedule-stat-pill__value{color:var(--text);font-size:1.25rem;font-weight:700;line-height:1.1}.schedule-stat-pill__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.68rem;font-weight:600}.schedule-stat-pill--reserved{background:linear-gradient(#eff6ff 0%,#fff 100%);border-color:#bfdbfe}.schedule-stat-pill--active{background:linear-gradient(#ecfdf5 0%,#fff 100%);border-color:#a7f3d0}.schedule-stat-pill--hold{background:linear-gradient(#faf5ff 0%,#fff 100%);border-color:#e9d5ff}.schedule-stat-pill--hold .schedule-stat-pill__value{color:#7c3aed}.schedule-stat-pill--muted .schedule-stat-pill__value{color:#4b5563}.schedule-stat-pill--alert{background:linear-gradient(#fef2f2 0%,#fff 100%);border-color:#fecaca}.schedule-stat-pill--pulse .schedule-stat-pill__value{animation:2s ease-in-out infinite schedule-stat-pulse}@keyframes schedule-stat-pulse{0%,to{color:#b91c1c}50%{color:#dc2626}}.schedule-board__hint{border:1px dashed var(--border);background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:.82rem}.schedule-board__hint summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-weight:600}.schedule-board__hint summary::-webkit-details-marker{margin-right:8px}.schedule-preserved-panel{box-shadow:none;border-style:dashed;margin-top:12px}.schedule-preserved-panel summary{cursor:pointer;min-height:48px;color:var(--text);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-weight:700;display:flex}.schedule-preserved-panel summary::-webkit-details-marker{display:none}.schedule-preserved-panel summary:before{content:"▸";color:var(--text-muted);transition:transform .16s}.schedule-preserved-panel[open] summary:before{transform:rotate(90deg)}.schedule-preserved-panel summary span{flex:1}.schedule-preserved-panel summary strong{min-width:32px;height:28px;color:var(--text-muted);background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.85rem;display:inline-flex}.schedule-board__toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin-bottom:16px;display:flex}.schedule-chip-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-chip-group__title{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-right:4px;font-size:.72rem;font-weight:700}.schedule-chip{appearance:none;border:1px solid var(--border);background:var(--surface);color:#4b5563;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:border-color .15s,background .15s}.schedule-chip:hover{background:#f8fafc;border-color:#cbd5e1}.schedule-chip--on{border-color:var(--accent);background:var(--accent-soft);color:#1e40af}.schedule-search{flex:1;min-width:200px;max-width:360px;margin-left:auto;position:relative}.schedule-search input{border:1px solid var(--border);border-radius:999px;width:100%;padding:9px 36px 9px 14px;font-family:inherit;font-size:.8125rem}.schedule-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.schedule-search-clear{color:#4b5563;cursor:pointer;background:#e5e7eb;border:none;border-radius:999px;place-items:center;width:24px;height:24px;font-size:1rem;line-height:1;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.schedule-search-clear:hover{background:#d1d5db}.schedule-empty-filtered{text-align:center;border:1px dashed var(--border);background:#f9fafb;border-radius:10px;padding:20px 16px}.schedule-empty-filtered .empty{background:0 0;padding-bottom:8px}.schedule-list-view{flex-direction:column;gap:12px;display:flex}.schedule-list-columns{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;grid-template-columns:2rem minmax(0,1fr) minmax(10rem,12rem) 11rem;align-items:end;gap:16px;padding:0 14px 2px;font-size:.62rem;font-weight:700;display:grid}.schedule-list-columns__act{text-align:center}.schedule-card-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.schedule-card-item{background:linear-gradient(#fff 0%,#fafbfc 100%);border:1px solid #e9ebf2;border-radius:14px;grid-template-columns:2rem minmax(0,1fr) minmax(10rem,12rem) 11rem;align-items:stretch;gap:16px;padding:16px;display:grid;box-shadow:0 1px 2px #1118270a}.schedule-card-item--group-active{background:linear-gradient(#fff 0%,#ecfdf5 100%);border-color:#86efac;border-left-style:solid;border-left-width:5px}.schedule-card-item--group-reserved{background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#bfdbfe;border-left-style:solid;border-left-width:5px}.schedule-card-item--group-hold{background:linear-gradient(#fff 0%,#faf5ff 100%);border-color:#e9d5ff;border-left-style:solid;border-left-width:5px}.schedule-hold-strip{background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;gap:4px;margin-bottom:8px;padding:8px 10px;font-size:.75rem;line-height:1.4;display:grid}.schedule-hold-strip strong{color:#6d28d9;font-size:.8125rem}.schedule-hold-strip--expired{color:#b91c1c!important}.schedule-detail-hold-panel{background:#faf5ff;border:1px solid #e9d5ff;border-radius:12px;grid-column:1/-1;padding:12px 14px}.schedule-detail-hold-amounts{gap:8px;margin:10px 0 0;font-size:.8125rem;display:grid}.schedule-detail-hold-amounts dt{color:#6d28d9;margin-bottom:2px;font-weight:600}.schedule-detail-hold-amounts dd{margin:0}.schedule-card-item--overdue{background:linear-gradient(#fff 0%,#fff1f2 100%);border-color:#fecaca;border-left-color:#dc2626!important}.schedule-card-item__idx{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:flex-start;padding-top:4px;font-size:.8125rem;font-weight:700;display:flex}.schedule-card-item__main{min-width:0}.schedule-card-item__heading{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:12px;display:flex}.schedule-card-code{font-size:.8rem!important}.schedule-card-name{font-size:.9rem;font-weight:700}.schedule-card-phone{flex-basis:100%;width:100%;margin-top:-2px;font-size:.78rem}.schedule-card-times{grid-template-columns:1fr 1fr;gap:10px 20px;display:grid}@media (width<=760px){.schedule-card-times{grid-template-columns:1fr}}.schedule-card-time-slot{background:#f9fafbd9;border:1px solid #eef0f5;border-radius:10px;padding:8px 10px}.schedule-card-time-slot--trail{background:#f0fdfa99;border-color:#a7f3d080}.schedule-card-time-label{text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:4px;font-size:.58rem;font-weight:700;display:block}.schedule-card-time-val{color:#374151;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;display:block}.schedule-card-time-note{color:var(--text-muted);margin-top:4px;font-size:.7rem;display:block}.schedule-card-open-detail{cursor:pointer;color:#1d4ed8;background:#fff;border:1px solid #2563eb59;border-radius:8px;align-self:flex-start;margin-top:12px;padding:7px 12px;font-family:inherit;font-size:.76rem;font-weight:600;transition:background .15s,border-color .15s}.schedule-card-open-detail:hover{background:var(--accent-soft);border-color:var(--accent)}.schedule-card-detail__empty{margin:0;font-size:.8rem}.schedule-card-line-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-card-line-list--modal{margin-bottom:4px}.schedule-card-line-item{background:#f9fafbe6;border:1px solid #eef0f5;border-radius:10px;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.schedule-card-line-desc{align-items:flex-start;gap:6px;min-width:0;display:flex}.schedule-card-line-info{flex-direction:column;gap:2px;min-width:0;display:flex}.schedule-card-line-main{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.schedule-card-line-qty{color:#0f172a;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:800}.schedule-card-line-name{color:#374151;font-size:.8rem;font-weight:600}.schedule-card-line-code{flex-shrink:0;border-radius:4px!important;padding:1px 5px!important;font-size:.72rem!important}.schedule-card-line-variant{color:#64748b;font-size:.74rem;font-weight:500}.schedule-card-line-money-cols{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.schedule-money-nowrap{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.schedule-money-nowrap--accent{color:#047857}.schedule-money-nowrap--muted{color:#6b7280;font-size:.72rem;font-weight:500}.price-before-discount{color:#94a3b8;font-size:.86em;font-weight:500;text-decoration:line-through;text-decoration-thickness:1px}@media (width<=640px){.schedule-card-line-item{flex-wrap:wrap;align-items:flex-start}.schedule-card-line-money-cols{flex-flow:wrap;align-items:flex-start;column-gap:14px;width:100%}}.schedule-card-order-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:12px;padding:8px 10px}.schedule-card-order-note--top{margin-top:0}.schedule-card-order-note__label{text-transform:uppercase;letter-spacing:.06em;color:#b45309;margin-bottom:4px;font-size:.58rem;font-weight:700;display:block}.schedule-card-order-note__text{color:#78350f;white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.4}.schedule-card-item__side{flex-direction:column;justify-content:space-between;gap:12px;min-height:100%;display:flex}.schedule-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.schedule-badge-soft{color:#334155;background:#f1f5f9;border-radius:999px;align-items:center;padding:4px 8px;font-size:.69rem;font-weight:600;display:inline-flex}.schedule-badge-soft--active{color:#065f46;background:#d1fae5}.schedule-badge-soft--reserved{color:#1d4ed8;background:#dbeafe}.schedule-badge-soft--hold{color:#6d28d9;background:#ede9fe}.schedule-mini-qty{color:#047857;background:#d1fae599;border-radius:6px;padding:3px 7px;font-size:.69rem;font-weight:600}.schedule-card-money{background:#f9fafbe6;border:1px solid #eef0f5;border-radius:10px;margin:0;padding:10px 12px}.schedule-card-money-row{flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.schedule-card-money-row+.schedule-card-money-row{border-top:1px dashed #e5e7eb;margin-top:8px;padding-top:8px}.schedule-card-money-row dt{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;flex-shrink:0;margin:0;font-size:.65rem;font-weight:700}.schedule-card-money-row dd{margin:0}.schedule-money-dd{color:#065f46;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;margin:0;font-size:.85rem;font-weight:700}.schedule-card-item__toolbar{border-left:1px solid #eceef5;justify-content:center;align-items:stretch;padding-left:8px;display:flex}.schedule-toolbar-strip{flex-direction:column;justify-content:center;gap:7px;width:100%;max-width:10.5rem;display:flex}.schedule-act{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:9px;padding:8px 10px;font-family:inherit;font-size:.75rem;font-weight:600;line-height:1.25;transition:transform 50ms,background .12s,border-color .12s}.schedule-act:active{transform:scale(.98)}.schedule-act:focus-visible{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent);outline:none}.schedule-act--primary{color:#fff;background:linear-gradient(#3b82f6 0%,#2563eb 100%);border-color:#1d4ed8;box-shadow:0 1px 2px #2563eb40}.schedule-act--primary:hover{filter:brightness(1.06)}.schedule-act-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.schedule-act--soft{color:#334155;background:#fff;border-color:#e2e8f0}.schedule-act--soft:hover{background:#f8fafc;border-color:#cbd5e1}.schedule-act--muted{color:#94a3b8;background:0 0;border-color:#0000;padding-top:4px;padding-bottom:4px;font-size:.72rem;font-weight:500}.schedule-act--muted:hover{color:#475569;background:#f9fafbe6}.schedule-act--warn:hover{color:#b91c1c}@media (width<=1020px){.schedule-list-columns{display:none}.schedule-card-item{grid-template-columns:2rem minmax(0,1fr);grid-template-areas:"idx main""side side""act act";row-gap:14px}.schedule-card-item__idx{grid-area:idx}.schedule-card-item__main{grid-area:main}.schedule-card-item__side{flex-flow:wrap;grid-area:side;align-items:flex-start}.schedule-card-money{flex:1;min-width:min(280px,100%)}.schedule-card-item__toolbar{border-top:1px solid #eceef5;border-left:none;grid-area:act;padding-top:14px;padding-left:0}.schedule-toolbar-strip{flex-flow:wrap;justify-content:stretch;align-items:center;gap:8px;max-width:none}.schedule-act--primary{flex:1;min-width:140px}.schedule-act-pair{flex:2;grid-template-columns:1fr 1fr;min-width:min(340px,100%);display:grid}.schedule-act--muted{flex:auto}}@media (width<=520px){.schedule-toolbar-strip .schedule-act-pair{width:100%}}.schedule-pill{letter-spacing:.03em;text-transform:uppercase;border-radius:6px;align-items:center;padding:3px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.schedule-pill--overdue{color:#991b1b;background:#fee2e2}.schedule-pill--due_today,.schedule-pill--pick_today{color:#9a3412;background:#fed7aa}.schedule-pill--due_soon,.schedule-pill--pick_soon{color:#854d0e;background:#fef9c3}.modal-panel--schedule-detail{width:min(100vw - 24px,520px);max-width:520px}.schedule-detail-modal-body{max-height:min(68vh,580px);padding-top:4px}.schedule-detail-summary{background:#f8fafc;border:1px solid #eef0f6;border-radius:12px;gap:14px;margin-bottom:18px;padding:14px;display:grid}.schedule-detail-k{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:4px;font-size:.58rem;font-weight:700;display:block}.schedule-detail-v{color:var(--text);margin:0;font-size:.875rem;line-height:1.45}.schedule-detail-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-detail-two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=440px){.schedule-detail-two-cols{grid-template-columns:1fr}}.schedule-detail-section-title{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 6px;font-size:.72rem;font-weight:700}.schedule-detail-lead{margin:0 0 14px;font-size:.79rem;line-height:1.45}.schedule-detail-totals{background:#fff;border:1px solid #e8ebf4;border-radius:10px;margin:0;padding:11px 12px}.schedule-detail-totals-row{flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.schedule-detail-totals-row+.schedule-detail-totals-row{border-top:1px dashed #e5e7eb;margin-top:10px;padding-top:10px}.schedule-detail-totals-row dt{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;flex-shrink:0;margin:0;font-size:.65rem;font-weight:700}.schedule-detail-totals-row dd{margin:0}.schedule-detail-totals-row--due dt{color:#b45309}.schedule-detail-totals-row--due dd{color:#b45309;font-weight:800}.schedule-detail-deposit-mode{gap:8px;display:grid}.schedule-deposit-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-deposit-mode-card{text-align:left;color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:4px;min-height:86px;padding:10px 12px;display:grid}.schedule-deposit-mode-card:hover{border-color:#0f766e;box-shadow:0 8px 20px #0f766e1f}.schedule-deposit-mode-card span{font-size:.74rem;font-weight:800}.schedule-deposit-mode-card strong{font-size:.96rem}.schedule-deposit-mode-card em{color:#64748b;font-size:.72rem;font-style:normal}.schedule-deposit-mode-card--up em{color:#b45309;font-weight:800}@media (width<=560px){.schedule-deposit-mode-grid{grid-template-columns:1fr}}.schedule-card-item:hover{border-color:#dde1eb}@media (width<=1100px){.schedule-search{width:100%;max-width:none;margin-left:0}.schedule-board__toolbar{flex-direction:column;align-items:stretch}}.directory-root .card-body{padding-top:16px}.card-head--directory{flex-direction:column;align-items:flex-start;gap:12px}@media (width>=640px){.card-head--directory{flex-direction:row;justify-content:space-between;align-items:center}}.directory-tabs{background:#eef2f7;border:1px solid #e2e8f0;border-radius:11px;gap:3px;padding:4px;display:inline-flex}.directory-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.directory-tab:hover{color:#0f172a}.directory-tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a14}.directory-page,.directory-body{flex-direction:column;gap:20px;display:flex}.card-lead{margin:4px 0 0;font-size:.8125rem}.directory-add-card{border:1px solid var(--border,#e5e7eb);background:linear-gradient(165deg,#fafbfc 0%,#f4f6f9 100%);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #0f172a0a}.directory-section-title{color:#0f172a;margin:0 0 14px;font-size:.95rem;font-weight:700}.directory-form-grid{gap:12px}.directory-add-hint{margin:14px 0 0;font-size:.8125rem}.directory-list-block{flex-direction:column;gap:12px;display:flex}.directory-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.directory-list-caption{margin:4px 0 0;font-size:.75rem}.directory-count-pill{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:700}.directory-search-strip{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;padding:10px 12px 12px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a0a}.directory-search-strip:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61f}.directory-search-strip__row{align-items:center;gap:10px;min-width:0;display:flex}.directory-search-strip__icon{color:#94a3b8;flex-shrink:0;align-items:center;display:flex}.directory-search-strip__input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 4px;font-size:.9375rem}.directory-search-strip__clear{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:.75rem;font-weight:600}.directory-search-strip__clear:hover{background:#e2e8f0}.directory-search-strip__hint{color:#64748b;margin:8px 0 0 28px;font-size:.75rem;line-height:1.45}.directory-search-strip__active-meta{color:#475569;margin:8px 0 0 28px;font-size:.75rem}.directory-search-strip__active-meta strong{color:#0f172a}.data-table-wrap.directory-table-shell{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;margin:0;overflow:hidden}.directory-help{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:2px 12px}.directory-help summary{cursor:pointer;color:#475569;padding:10px 4px;font-size:.8125rem;font-weight:600;list-style-position:outside}.directory-help-body{margin:0 0 12px;padding-left:4px;font-size:.8125rem;line-height:1.55}.directory-empty{margin-top:8px}.directory-tier-toolbar{flex-direction:column;gap:12px;margin-bottom:8px;display:flex}@media (width>=720px){.directory-tier-toolbar{flex-flow:wrap;align-items:flex-end}.directory-tier-toolbar .directory-search-strip{flex:1;min-width:260px}}.directory-tier-picker{flex-direction:column;gap:6px;min-width:200px;display:flex}.directory-tier-picker__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700}.directory-tier-picker__select{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:10px;padding:10px 12px;font-size:.875rem;font-weight:600}.directory-tier-intro{margin-bottom:4px}.directory-subheading{color:#0f172a;margin:8px 0;font-size:.95rem;font-weight:700}@media (width<=640px){.sidebar-brand{padding:10px 12px}.nav-item{min-width:62px;padding:8px 6px}.nav-label{font-size:.72rem}.page-inner{padding:10px}.metrics-overview{gap:18px;padding:14px}.date-range-filter{flex-direction:column;align-items:stretch;gap:12px}.date-range-filter label{justify-content:space-between;width:100%}.date-range-filter input[type=date]{flex:1;min-width:0}.date-range-filter .btn-ghost,.content-filter-bar .btn-ghost{width:100%;margin-left:0}.content-filter-bar{flex-direction:column;align-items:stretch;gap:12px}.content-filter-bar__search{width:100%;min-width:0}.content-filter-bar__field{justify-content:space-between;width:100%}.content-filter-bar__field select{flex:1;min-width:0}.content-filter-bar__actions{justify-content:stretch;width:100%}.content-filter-bar__actions .btn-ghost,.content-filter-bar__actions .import-label{flex:auto;justify-content:center}.card-head__actions{justify-content:space-between;width:100%}:is(.dashboard-stats,.inventory-audit-grid,.payment-revenue-stats,.payment-revenue-stats:has(.stat-card--total),.payment-revenue-stats:not(:has(.stat-card--total)),.chart-grid,.swap-help-cards,.schedule-card-times){grid-template-columns:1fr}.inventory-audit-check,.inventory-audit-check__input{flex-direction:column;align-items:stretch}.inventory-audit-check__input input{width:100%}.data-table thead th,.data-table tbody td{padding:10px 8px}.modal-panel{max-height:92vh}.modal-form{gap:10px;padding:12px 12px 16px}.modal-field{gap:4px}.modal-field input,.modal-field select{padding:10px}.status-pill,.badge-inline,.swap-section-badge,.swap-section-badge--deal{padding:4px 8px;font-size:.7rem}}@media (width<=520px){.modal-backdrop{padding:8px}.modal-actions{padding:12px 12px 16px}.page-inner{padding:8px}.sidebar-nav{justify-content:flex-start}.nav-section+.nav-section{margin-left:4px;padding-left:6px}.nav-item{min-width:56px;padding:8px 6px}.nav-icon svg{width:18px;height:18px}.card-panel{padding:14px}.data-table-wrap{margin:0 -8px;padding:0 8px}.modal-panel{max-height:95vh}}@media (width<=640px){.modal-backdrop{padding:10px 8px max(10px, env(safe-area-inset-bottom));background:#0f172a8f;place-items:end stretch}.modal-backdrop--detail{align-items:end;padding-top:10px}.modal-backdrop--variant-detail{padding:10px 8px max(10px, env(safe-area-inset-bottom));place-items:center}.modal-panel,.modal-panel--compact,.modal-panel--detail,.modal-panel--rental-pick,.modal-panel--schedule-detail{width:100%;max-width:none;max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));border-radius:14px 14px 0 0;flex-direction:column;display:flex;overflow:hidden}.modal-head{z-index:3;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa;align-items:center;padding:12px 12px 10px;position:sticky;top:0}.modal-head h2{font-size:.98rem;line-height:1.3}.modal-close{background:#fff;border:1px solid #e5e7eb;width:40px;height:40px}.modal-desc,.modal-guide,.modal-message{padding-left:12px;padding-right:12px}.modal-guide{margin:10px 12px 0;padding-left:0;padding-right:0}.modal-guide--flush{margin:0}.modal-desc{padding-top:10px}.modal-detail-scroll,.schedule-detail-modal-body{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;padding:12px 12px 16px;overflow-y:auto}.modal-actions,.swap-modal-footer{z-index:3;padding:10px 12px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa;grid-template-columns:1fr;gap:8px;display:grid;position:sticky;bottom:0}.modal-actions .btn-primary,.modal-actions .btn-ghost,.modal-actions .btn-danger,.swap-modal-footer .btn-primary,.swap-modal-footer .btn-ghost{width:100%;min-height:42px}.filter-block,.swap-filters{grid-template-columns:1fr;gap:8px}.filter-block input,.filter-block select{min-height:42px;font-size:.95rem}.table-pagination{justify-content:space-between;gap:8px;margin-top:10px}.table-pagination .btn-sm{min-width:86px;min-height:38px}.table-pagination-meta{text-align:center;flex:1}.swap-modal-intro{padding:10px 12px 12px}.swap-modal-lead{font-size:.8rem}.schedule-swap-body{gap:10px;padding-top:0}.swap-section{box-shadow:none;border-radius:10px;padding:12px}.swap-section-head{grid-template-columns:1fr;gap:8px;display:grid}.swap-no-charge-toggle,.swap-section-badge{justify-self:start}.swap-draft-card__actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.swap-draft-card__actions .btn-sm{min-height:36px;padding-left:8px;padding-right:8px}.modal-panel--rental-pick .data-table-wrap{margin:0;padding:0;overflow:visible}.modal-panel--rental-pick .data-table{min-width:0;font-size:.82rem;display:block}.modal-panel--rental-pick .data-table thead{display:none}.modal-panel--rental-pick .data-table tbody{gap:10px;display:grid}.modal-panel--rental-pick .data-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:8px;padding:12px;display:grid}.modal-panel--rental-pick .data-table tbody td{border:none;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:0;display:grid}.modal-panel--rental-pick .data-table tbody td:before{content:"";color:#64748b;text-transform:uppercase;font-size:.72rem;font-weight:700}.modal-panel--rental-pick .data-table tbody td:first-child:before{content:"Mã"}.modal-panel--rental-pick .data-table tbody td:nth-child(2):before{content:"Mẫu"}.modal-panel--rental-pick .data-table tbody td:nth-child(3):before{content:"Nhóm"}.modal-panel--rental-pick .data-table tbody td:nth-child(4):before{content:"Cọc"}.modal-panel--rental-pick .data-table tbody td:nth-child(5):before{content:"Thuê"}.modal-panel--rental-pick .data-table tbody td:nth-child(6){grid-template-columns:1fr;margin-top:2px}.modal-panel--rental-pick .data-table tbody td:nth-child(6):before{content:none}.modal-panel--rental-pick .data-table tbody td:nth-child(6) .btn-sm{width:100%;min-height:40px}.modal-panel--rental-pick .data-table tbody tr:hover td{background:0 0}}@media (width<=380px){.modal-panel--rental-pick .data-table tbody td{grid-template-columns:1fr;gap:4px}.swap-draft-card__actions{grid-template-columns:1fr}}.client-page{--brand-primary:#8b5cf6;--brand-primary-dark:#6d28d9;--brand-rose:#e8b4b8;--brand-cream:#faf7f4;--brand-cyan:#38bdf8;--brand-soft:#f3eeff;--brand-line:#8b5cf624;--brand-shadow:#6d28d91f;--surface-elevated:#fffffff5;--border-subtle:#8b5cf614;--border-soft:#1c19170f;--shadow-soft:0 12px 40px #1c19170f;--shadow-card:0 2px 16px #1c19170a;--shadow-hover:0 20px 48px #1c19171a;--text-primary:#1c1917;--text-secondary:#57534e;--text-muted:#78716c;--surface:#ffffffe0;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--font-display:"Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-body:"Be Vietnam Pro", system-ui, -apple-system, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--page-gutter:clamp(12px, 2.5vw, 40px);--layout-max:min(1680px, calc(100vw - 2 * var(--page-gutter)));--client-header-offset:88px;min-height:100dvh;padding:0 var(--page-gutter) 12px;background:radial-gradient(ellipse 80% 50% at 10% -10%, #e8b4b82e, transparent 55%), radial-gradient(ellipse 60% 40% at 95% 5%, #8b5cf61a, transparent 50%), var(--brand-cream);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;font-size:16px;line-height:1.6;display:flex}.client-page>main{flex:1 0 auto}.client-page h1,.client-page h2,.client-page h3{font-family:var(--font-display);letter-spacing:-.015em;font-weight:700;line-height:1.35}.client-topline,.client-hero,.client-home-section,.client-about-band,.client-page-banner,.client-catalog-layout,.client-rules,.client-detail-topbar,.client-product-page,.client-checkout-page,.client-footer,.client-note,.client-register-card{max-width:var(--layout-max);width:100%;margin-inline:auto}.client-site-header-wrap{z-index:40;max-width:var(--layout-max);isolation:isolate;width:100%;margin:0 auto 8px;position:sticky;top:0}.client-site-header{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 18px;display:grid}.client-site-header__start{align-items:center;gap:8px;min-width:0;display:flex}.client-site-header__desktop-nav,.client-site-header__desktop-actions{display:contents}.client-mobile-menu-btn,.client-mobile-nav-backdrop,.client-mobile-sidebar{display:none}.client-back-button--header{width:38px;height:38px;font-size:1.4rem}.client-category-pills{flex-wrap:wrap;gap:8px;display:flex}.client-category-pills button{min-height:38px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:all .2s var(--ease);background:#fff;border:1px solid #8b5cf626;border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:600}.client-category-pills button:hover,.client-category-pills button.is-active{border-color:var(--brand-primary);background:var(--brand-soft);color:var(--brand-primary-dark)}.client-catalog-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;display:grid}.client-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.client-catalog-toolbar{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-card);gap:6px;padding:8px 10px;display:grid}.client-catalog-filterbar{border-radius:var(--radius-lg);background:#ffffffdb;border:1px solid #8b5cf61f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid;box-shadow:0 10px 28px #1c19170a}.client-filter-open,.client-filter-clear-inline{min-height:40px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);background:#fff;border:1px solid #8b5cf624;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex}.client-filter-open{padding:0 14px}.client-filter-open__icon{width:30px;height:30px;color:var(--brand-primary-dark);background:#8b5cf614;border-radius:999px;place-items:center;display:grid;position:relative}.client-filter-open__icon b{background:var(--brand-primary);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.64rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.client-filter-open__copy{text-align:left;gap:1px;display:grid}.client-filter-open__copy em{color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:700;line-height:1}.client-filter-open.is-active{color:var(--brand-primary-dark);border-color:#8b5cf65c;box-shadow:0 8px 18px #8b5cf61a}.client-filter-clear-inline{padding:0 12px}.client-filter-clear-inline:disabled{opacity:.45;cursor:not-allowed}.client-filter-open:hover,.client-filter-clear-inline:not(:disabled):hover{border-color:#8b5cf657;transform:translateY(-1px);box-shadow:0 8px 20px #8b5cf61a}.client-filter-summary{flex-wrap:wrap;gap:6px;min-width:0;max-width:min(780px,100%);display:flex}.client-filter-summary span{max-width:220px;min-height:28px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:#8b5cf60f;border-radius:999px;align-items:center;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex;overflow:hidden}.client-filter-summary--desktop{flex:auto}.client-filter-modal{z-index:90;position:fixed;inset:0}.client-filter-modal__backdrop{cursor:pointer;background:#1c19175c;border:0;position:absolute;inset:0}.client-filter-modal__panel{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));border-radius:var(--radius-lg);width:min(720px,100vw - 36px);animation:client-filter-panel-in .22s var(--ease);background:#fff;border:1px solid #8b5cf624;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;overflow:hidden;box-shadow:0 28px 70px #1c19172e}.client-filter-modal__head{border-bottom:1px solid #8b5cf614;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px 12px;display:flex}.client-filter-modal__head h2{color:var(--text-primary);letter-spacing:0;align-items:center;gap:8px;margin:6px 0 0;font-size:1.25rem;display:inline-flex}.client-filter-modal__head h2 svg{color:var(--brand-primary-dark)}.client-filter-modal__close{width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #8b5cf61f;border-radius:999px;place-items:center;font-size:1.5rem;line-height:1;display:grid}.client-catalog-toolbar--modal{min-height:0;box-shadow:none;border:0;border-radius:0;padding:14px 20px;overflow:auto}.client-catalog-toolbar--modal .client-catalog-toolbar__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-filter-modal__foot{border-top:1px solid #8b5cf614;justify-content:flex-end;padding:12px 20px 18px;display:flex}@keyframes client-filter-panel-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes client-filter-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.client-catalog-toolbar__grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));align-items:stretch;gap:6px;display:grid}.client-catalog-toolbar__tail{border-top:1px solid #8b5cf614;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.client-catalog-toolbar__title{color:var(--text-secondary);align-items:center;gap:6px;margin-right:4px;font-size:.82rem;font-weight:700;display:inline-flex}.client-catalog-toolbar__title svg{color:var(--brand-primary-dark)}.client-filter-field{border-radius:var(--radius-sm);cursor:text;background:#fff;border:1px solid #8b5cf61a;gap:6px;min-height:0;padding:8px 10px;display:grid}.client-filter-field__head{align-items:center;gap:6px;display:flex}.client-filter-field__label{color:var(--text-secondary);font-size:.76rem;font-weight:600;line-height:1.2}.client-filter-field__icon{width:28px;height:28px;color:var(--brand-primary-dark);background:#8b5cf60f;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.client-filter-field input,.client-filter-field select,.client-catalog-toolbar input,.client-catalog-toolbar select{width:100%;min-height:36px;color:var(--text-primary);font:inherit;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #8b5cf61f;border-radius:8px;padding:0 10px;font-size:.84rem}.client-filter-field input:focus,.client-filter-field select:focus,.client-catalog-toolbar input:focus,.client-catalog-toolbar select:focus{outline:none}.client-filter-field:focus-within,.client-filter-dates:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-shadow)}.client-filter-dates{border-radius:var(--radius-sm);background:#fff;border:1px solid #8b5cf61a;gap:6px;padding:8px 10px;display:grid}.client-filter-dates--toolbar{min-width:0}.client-filter-dates__inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.client-filter-dates__field{color:var(--text-muted);gap:4px;font-size:.72rem;font-weight:600;display:grid}.client-filter-dates__field input{background:#fff;border:1px solid #8b5cf61f;border-radius:8px;min-height:36px;padding:0 8px;font-size:.8rem}@media (width>=900px){.client-filter-dates--toolbar{grid-column:span 2}}.client-filter-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-filter-action{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #8b5cf61f;place-items:center;display:grid}.client-filter-action--text{width:auto;min-height:38px;font:inherit;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;font-weight:600;display:inline-flex}.client-filter-action--text span{line-height:1}.client-filter-action:hover{color:var(--brand-primary-dark);border-color:#8b5cf647}.client-filter-action.is-active{border-color:var(--brand-primary);color:var(--brand-primary-dark);background:#8b5cf61a}.client-catalog-toolbar__meta{color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:.82rem;font-weight:600;line-height:1.3;display:flex}.client-catalog-toolbar__meta svg{color:var(--brand-primary)}.client-catalog-main{min-width:0}.client-catalog-main .client-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:none;margin:0}.client-catalog-main .client-empty-detail{margin:24px auto}.client-pagination{border-radius:var(--radius-md);background:#fff;border:1px solid #8b5cf61a;gap:10px;margin:0 0 16px;padding:14px 16px;display:grid}.client-pagination:last-child{margin:16px 0 0}.client-pagination__summary{color:var(--text-secondary);margin:0;font-size:.88rem}.client-pagination__controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.client-pagination__nav,.client-pagination__page,.client-pagination__jump{border-radius:var(--radius-sm);min-height:38px;color:var(--text-secondary);font:inherit;cursor:pointer;background:#fff;border:1px solid #8b5cf626;font-size:.86rem;font-weight:600}.client-pagination__nav{padding:0 14px}.client-pagination__nav:disabled{opacity:.45;cursor:not-allowed}.client-pagination__pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.client-pagination__page{min-width:38px;padding:0 10px}.client-pagination__jump{text-align:center;width:42px;padding:0 8px}.client-pagination__jump::placeholder{color:var(--text-muted);opacity:1}.client-pagination__jump:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #8b5cf61f}.client-pagination__page.is-active{border-color:var(--brand-primary);color:var(--brand-primary-dark);background:#8b5cf61a}.client-pagination__gap{min-width:20px;color:var(--text-muted);text-align:center;font-size:.9rem}.client-panel{border-radius:var(--radius-md);background:#fff;border:1px solid #8b5cf61a;padding:16px}.client-panel__title{color:var(--text-primary);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem;font-weight:700}.client-panel--warning{background:#fffbeb;border-color:#b4530933}.client-panel--booking{border-color:var(--brand-line);background:linear-gradient(180deg, #fff 0%, var(--brand-soft) 100%);box-shadow:0 8px 28px var(--brand-shadow)}.client-product-sidebar{align-content:start;gap:14px;display:grid}.client-product-code{color:var(--text-muted);margin:0;font-size:.84rem}.client-product-attrs{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;display:flex}.client-product-attrs div{border-radius:var(--radius-sm);background:#faf7f4b3;border:1px solid #8b5cf61a;gap:2px;padding:8px 12px;display:grid}.client-product-attrs dt{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:600}.client-product-attrs dd{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.client-price-table{border-collapse:collapse;width:100%;font-size:.88rem}.client-price-table th,.client-price-table td{text-align:left;border-bottom:1px solid #8b5cf614;padding:10px 0}.client-price-table tr:last-child th,.client-price-table tr:last-child td{border-bottom:0}.client-price-table th{color:var(--text-muted);width:42%;font-weight:500}.client-price-table td{color:var(--text-primary);text-align:right;font-weight:700}.client-booking-group-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;margin:8px 0 0;font-size:.68rem;font-weight:700}.client-booking-group-label:first-child{margin-top:0}.client-booking-fields{border:0;gap:4px;margin:0;padding:0;display:grid}.client-booking-fields__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.client-carousel-counter{z-index:2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1917a6;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600;position:absolute;bottom:12px;right:12px}.busy-list--plain{color:inherit;background:0 0;margin:0;padding:0;list-style:none}.busy-list--plain li{border-bottom:1px solid #b4530926;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:.84rem;display:flex}.busy-list--plain li:last-child{border-bottom:0}.busy-list--plain span{background:#b453091f;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.72rem;font-weight:600}.client-home-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.client-home-grid--compact article{padding:14px}.client-topline{max-width:var(--layout-max);min-height:32px;color:var(--text-muted);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:6px 0;font-size:.74rem;font-weight:500;display:flex}.client-topline a{color:var(--text-secondary);transition:color .2s var(--ease);text-decoration:none}.client-topline a:hover{color:var(--brand-primary)}.client-topline button{color:var(--brand-primary-dark);cursor:pointer;font:inherit;transition:opacity .2s var(--ease);background:0 0;border:0;font-weight:600}.client-topline button:hover{opacity:.75}.client-nav{align-items:center;min-width:0;display:flex}.client-nav--center{flex-wrap:wrap;justify-content:center;gap:4px}.client-nav-link{min-height:38px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:all .22s var(--ease);background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:600}.client-nav-link:hover,.client-nav-link:focus-visible{color:var(--brand-primary-dark);background:var(--brand-soft);outline:none}.client-nav-link.is-active{border-color:var(--brand-line);color:var(--brand-primary-dark);box-shadow:0 2px 12px var(--brand-shadow);background:#fff}.client-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.client-header-action{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all .22s var(--ease);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.client-header-action:hover,.client-header-action:focus-visible,.client-header-action.is-active{color:var(--brand-primary-dark);background:var(--brand-soft);outline:none}.client-header-action__badge{background:var(--brand-primary);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:16px;position:absolute;top:4px;right:4px}.client-header-search-wrap{z-index:50;opacity:0;visibility:hidden;pointer-events:none;width:min(100%,360px);transition:opacity .28s var(--ease), transform .34s var(--ease), visibility .34s var(--ease);position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)scale(.985)}.client-header-search-wrap.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.client-header-search-panel{border-radius:calc(var(--radius-md) + 2px);background:linear-gradient(#fff 0%,#faf7fcfa 100%);border:1px solid #8b5cf624;width:100%;overflow:hidden;box-shadow:0 10px 28px #6d28d914,inset 0 1px #ffffffe6}.client-header-search{box-shadow:none;background:0 0;border:0;border-radius:0;padding:8px 10px;display:block}.client-header-search__field{align-items:center;min-width:0;display:flex;position:relative}.client-header-search__icon{z-index:1;color:var(--text-muted);pointer-events:none;transition:color .22s var(--ease);place-items:center;display:grid;position:absolute;left:12px}.client-header-search__field:focus-within .client-header-search__icon{color:var(--brand-primary)}.client-header-search input{width:100%;min-height:40px;color:var(--text-primary);font:inherit;transition:border-color .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);background:#fffffff5;border:1px solid #8b5cf624;border-radius:999px;padding:0 42px 0 36px;font-size:.88rem}.client-header-search input::placeholder{color:var(--text-muted)}.client-header-search input:focus{background:#fff;border-color:#8b5cf66b;outline:none;box-shadow:0 0 0 4px #8b5cf61f}.client-header-search__submit{background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);color:#fff;cursor:pointer;width:32px;height:32px;min-height:0;transition:transform .2s var(--ease), box-shadow .2s var(--ease), opacity .2s var(--ease);border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%);box-shadow:0 4px 14px #6d28d93d}.client-header-search__submit:hover{transform:translateY(-50%)scale(1.05);box-shadow:0 6px 18px #6d28d94d}.client-header-search-suggest{box-shadow:none;animation:client-search-suggest-in .18s var(--ease);background:0 0;border:0;border-top:1px solid #8b5cf61a;border-radius:0;gap:2px;margin:0;padding:4px 6px 6px;list-style:none;display:grid}.client-header-search-suggest__item{cursor:pointer;text-align:left;width:100%;transition:background .18s var(--ease), transform .18s var(--ease);background:0 0;border:0;border-radius:10px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.client-header-search-suggest__item:hover,.client-header-search-suggest__item:focus-visible{background:var(--brand-soft);outline:none;transform:translate(2px)}.client-header-search-suggest__thumb{object-fit:cover;background:var(--brand-soft);border-radius:8px;width:42px;height:52px}.client-header-search-suggest__thumb--empty{color:var(--text-muted);place-items:center;font-size:.9rem;display:grid}.client-header-search-suggest__copy{gap:2px;min-width:0;display:grid}.client-header-search-suggest__copy strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;line-height:1.25;overflow:hidden}.client-header-search-suggest__copy small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}@keyframes client-search-suggest-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=820px){.client-header-search-wrap{width:min(100vw - 24px,320px);top:calc(100% + 6px)}.client-header-search{gap:6px;padding:8px}}@media (width<=560px){.client-header-search-wrap{width:min(100vw - 24px,100%);right:0}}.client-contact-layout{max-width:min(var(--layout-max), 1120px);grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:start;gap:18px;margin:0 auto;display:grid}.client-contact-details{border-top:1px solid #8b5cf61a;gap:0;margin:0;display:grid}.client-contact-details div{border-bottom:1px solid #8b5cf61a;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:14px 0;display:grid}.client-contact-details dt{color:var(--text-muted);font-size:.78rem;font-weight:600;line-height:1.5}.client-contact-details dd{color:var(--text-secondary);margin:0;line-height:1.5}.client-contact-details a{color:var(--brand-primary-dark);font-weight:600;text-decoration:none}.client-contact-card{border-radius:var(--radius-lg);background:#fff;border:1px solid #8b5cf61f;gap:18px;padding:24px;display:grid;box-shadow:0 14px 34px #1c19170d}.client-contact-card__head{gap:6px;display:grid}.client-contact-card h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:1.25rem}.client-contact-card p{color:var(--text-secondary);margin:0;line-height:1.55}.client-contact-body{gap:18px;display:grid}.client-contact-card--map{min-height:420px;padding:8px;display:grid}.client-contact-map{border-radius:calc(var(--radius-lg) - 6px);min-height:0;overflow:hidden}.client-contact-map iframe{border:0;width:100%;height:100%;min-height:404px;display:block}.client-contact-socials{flex-wrap:wrap;gap:10px;display:flex}.client-contact-social{width:42px;height:42px;color:var(--brand-primary-dark);transition:all .22s var(--ease);background:#8b5cf60f;border:1px solid #8b5cf61f;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.client-contact-social:hover{box-shadow:0 4px 16px var(--brand-shadow);background:#fff}.client-social-icon{flex:none;display:block}.client-social-icon--facebook{color:#1877f2}.client-social-icon--instagram{color:#c13584}.client-social-icon--tiktok{color:#111827}.client-social-icon--zalo{color:#0068ff}.client-floating-zalo{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:58;color:#fff;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:58px;height:58px;transition:box-shadow .2s var(--ease), transform .2s var(--ease);background:#0068ff;border:2px solid #ffffffe6;border-radius:999px;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 16px 34px #0068ff47}.client-floating-zalo:hover,.client-floating-zalo:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 18px 42px #0068ff5c}.client-floating-zalo:active{cursor:grabbing;transform:scale(.98)}.client-floating-zalo__logo{pointer-events:none;border-radius:999px;width:100%;height:100%;display:block}.client-cart-backdrop{z-index:60;cursor:pointer;background:#1c191759;border:0;position:fixed;inset:0}.client-cart-drawer{z-index:70;background:#fff;grid-template-rows:auto 1fr auto;width:min(420px,100vw);height:100vh;display:grid;position:fixed;top:0;right:0;box-shadow:-12px 0 40px #1c19171f}.client-cart-drawer__head{border-bottom:1px solid #8b5cf614;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.client-cart-drawer__head h2{margin:0;font-size:1.1rem}.client-cart-drawer__close{background:var(--brand-soft);width:36px;height:36px;color:var(--brand-primary-dark);cursor:pointer;border:0;border-radius:10px;font-size:1.4rem;line-height:1}.client-cart-drawer__empty{color:var(--text-secondary);margin:0;padding:24px 18px}.client-cart-drawer__list{margin:0;padding:12px;list-style:none;overflow-y:auto}.client-cart-drawer__item{border-bottom:1px solid #8b5cf614;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.client-cart-drawer__thumb{cursor:pointer;background:0 0;border:0;padding:0}.client-cart-drawer__thumb img,.client-cart-drawer__thumb .client-logo-fallback--card{object-fit:cover;border-radius:10px;width:72px;height:96px}.client-cart-drawer__body{gap:4px;min-width:0;display:grid}.client-cart-drawer__body strong,.client-cart-drawer__body span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-cart-drawer__body span{color:var(--text-muted);font-size:.82rem}.client-cart-drawer__remove{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.2rem}.client-cart-drawer__foot{border-top:1px solid #8b5cf614;padding:16px 18px}.client-booking-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.client-hero{max-width:var(--layout-max);border-radius:var(--radius-lg);background:#fff;border:1px solid #fffc;grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);align-items:stretch;gap:0;margin:0 auto 24px;display:grid;overflow:hidden;box-shadow:0 20px 60px #1c191712}.client-hero,.client-rules,.client-filters{scroll-margin-top:96px}.client-home-page,.client-rules-page,.client-products-page,.client-register-page,.client-contact-page{gap:12px;display:grid}.client-hero--compact{margin-bottom:12px}.client-hero--compact .client-hero-copy{gap:12px;min-height:260px;padding:24px 28px}.client-hero--compact .client-hero-feature{min-height:260px}.client-hero--compact .client-brand-mark--hero img{width:min(100%,220px);max-height:72px}.client-hero--compact .client-hero-lead{font-size:.94rem;line-height:1.55}.client-text-link{color:var(--brand-primary-dark);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;align-self:center;font-size:.84rem;font-weight:600;text-decoration:underline}.client-text-link:hover{opacity:.8}.client-products-page .client-page-banner{padding:16px 0 4px}.client-hero-copy{align-content:center;gap:16px;min-height:300px;padding:28px 32px;display:grid}.client-hero-lead{max-width:48ch;color:var(--text-secondary);margin:0;font-size:1.02rem;line-height:1.65}.client-hero-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.client-hero-feature{background:linear-gradient(160deg, var(--brand-soft) 0%, #fde8ec 100%);align-content:end;min-height:300px;display:grid;position:relative;overflow:hidden}.client-hero-feature img,.client-hero-feature .client-noimg{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.client-hero-feature:after{content:"";background:linear-gradient(#0000,#1c1917bf);height:55%;position:absolute;inset:auto 0 0}.client-hero-feature>div{z-index:1;color:#fff;gap:5px;padding:24px;display:grid;position:relative}.client-hero-feature span{letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:.72rem;font-weight:600}.client-hero-feature strong{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.25}.client-hero-feature small{opacity:.9;font-size:.82rem}.client-eyebrow{color:var(--brand-primary);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.client-hero-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.client-hero-stats div{border:1px solid var(--brand-line);border-radius:var(--radius-md);text-align:center;background:#ffffffb3;padding:16px 18px}.client-hero-stats span{color:var(--brand-primary-dark);font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1;display:block}.client-hero-stats small{color:var(--text-muted);margin-top:6px;font-size:.76rem;font-weight:500;display:block}.client-page-banner{max-width:var(--layout-max);text-align:center;margin:0 auto;padding:20px 0 4px}.client-page-banner--compact{text-align:left;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 0 4px;display:flex}.client-page-banner--compact h1{margin:0;font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1.2}.client-page-banner h1{color:var(--text-primary);margin:10px 0 8px;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.12}.client-page-banner p{max-width:52ch;color:var(--text-secondary);margin:0 auto;font-size:.98rem;line-height:1.6}.client-section-chip{background:var(--brand-soft);min-height:26px;color:var(--brand-primary-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 12px;font-size:.7rem;font-weight:600;display:inline-flex}.client-section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.client-section-head--compact{margin-bottom:8px}.client-section-head--compact h2{font-size:clamp(1.1rem,2vw,1.35rem)}.client-section-head h2{color:var(--text-primary);margin:4px 0 0;font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.15}.client-section-meta{color:var(--text-muted);font-size:.78rem;font-weight:500}.client-section-link{border:1px solid var(--brand-line);min-height:38px;color:var(--brand-primary-dark);cursor:pointer;font:inherit;transition:all .22s var(--ease);background:#fff;border-radius:999px;flex-shrink:0;padding:0 16px;font-size:.82rem;font-weight:600}.client-section-link:hover{border-color:var(--brand-primary);box-shadow:0 4px 16px var(--brand-shadow)}.client-home-section{max-width:var(--layout-max);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffffbf;margin:0 auto;padding:18px;box-shadow:0 8px 32px #1c19170a}.client-home-section--compact{padding:14px 16px}.client-category-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.client-category-grid button{border-radius:var(--radius-md);min-height:110px;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;transition:all .24s var(--ease);background:#fff;border:1px solid #8b5cf61a;gap:4px;padding:16px;display:grid}.client-category-grid button:hover,.client-category-grid button:focus-visible{border-color:var(--brand-primary);box-shadow:0 12px 28px var(--brand-shadow);outline:none;transform:translateY(-3px)}.client-category-grid span{color:var(--text-primary);font-size:.88rem;font-weight:600}.client-category-grid strong{color:var(--brand-primary-dark);font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1}.client-category-grid small{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:500}.client-home-products{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.client-home-product-card{border-radius:var(--radius-md);cursor:pointer;transition:all .28s var(--ease);background:#fff;border:1px solid #8b5cf614;overflow:hidden}.client-home-product-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #1c19171a}.client-home-product-card__media{position:relative;overflow:hidden}.client-home-product-card__media img,.client-home-product-card__media .client-logo-fallback--card{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .5s var(--ease)}.client-home-product-card:hover .client-home-product-card__media img{transform:scale(1.04)}.client-home-product-card__body{gap:4px;padding:14px;display:grid}.client-home-product-card__body span{color:var(--brand-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:600}.client-home-product-card__body h3{color:var(--text-primary);margin:0;font-size:1rem;line-height:1.3}.client-home-product-card__price{color:var(--text-secondary);margin:4px 0 0;font-size:.82rem;font-weight:600}.client-about-band{max-width:var(--layout-max);border:1px solid var(--brand-line);border-radius:var(--radius-lg);background:linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);align-items:center;gap:20px;margin:0 auto;padding:22px;display:grid;box-shadow:0 12px 40px #1c19170d}.client-about-band--compact{gap:16px;padding:16px 18px}.client-about-band--compact h2{margin:6px 0;font-size:clamp(1.15rem,2.2vw,1.55rem)}.client-about-band--compact .client-home-grid--compact article{padding:10px 12px}.client-about-band h2{max-width:640px;margin:10px 0;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15}.client-about-band p,.client-newsletter>p{color:var(--text-secondary);margin:0;line-height:1.65}.client-about-band .client-brand-mark{margin-bottom:8px}.client-newsletter{text-align:center;gap:12px;display:grid}.client-newsletter .client-section-head{text-align:center;justify-content:center}.client-newsletter .client-section-head>div{justify-items:center;display:grid}.client-newsletter>p{max-width:56ch;margin:0 auto}.client-newsletter .client-home-cta{margin:8px auto 0}.client-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.client-home-grid article{border-radius:var(--radius-md);transition:box-shadow .24s var(--ease);background:#fff;border:1px solid #8b5cf614;margin:0;padding:20px}.client-home-grid article:hover{box-shadow:0 8px 24px #1c19170f}.client-home-grid h3{color:var(--text-primary);margin:0 0 8px;font-size:1.05rem;line-height:1.25}.client-home-grid p{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.55}.client-filters{max-width:var(--layout-max);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffffbf;margin:0 auto;padding:20px;box-shadow:0 8px 32px #1c19170a}.client-filters__row{grid-template-columns:minmax(220px,1.3fr) minmax(170px,.75fr) minmax(140px,auto) minmax(140px,auto);gap:12px;display:grid}.client-filters__meta{color:var(--text-muted);border-top:1px solid #8b5cf614;margin:14px 0 0;padding-top:14px;font-size:.82rem;font-weight:500}.client-filters label{min-width:0;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.7rem;font-weight:600;display:grid}.client-filters input,.client-filters select{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);font:inherit;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border:1px solid #8b5cf626;padding:10px 14px;font-size:.88rem}.client-filters input:focus,.client-filters select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-shadow);outline:none}.client-search-field{grid-column:span 1}.client-grid{max-width:var(--layout-max);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 auto;display:grid}.client-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease);gap:0;display:grid;position:relative;overflow:hidden}.client-card:hover,.client-card:focus-visible{box-shadow:var(--shadow-hover);border-color:#8b5cf633;outline:none;transform:translateY(-2px)}.client-card-media{position:relative;overflow:hidden}.client-card-media img,.client-card-media .client-logo-fallback--card{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .5s var(--ease);display:block}.client-card:hover .client-card-media img{transform:scale(1.05)}.client-card-badge{letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;min-height:22px;padding:3px 8px;font-size:.62rem;font-weight:600;position:absolute;top:8px;left:8px}.client-card-badge--free{color:#047857;background:#ffffffeb;box-shadow:0 2px 8px #00000014}.client-card-badge--busy{color:#b45309;background:#ffffffeb;box-shadow:0 2px 8px #00000014}.client-card-body{gap:4px;padding:12px 12px 13px;display:grid}.client-card-code{color:var(--brand-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:600}.client-card-body h3{color:var(--text-primary);margin:0;font-size:.9rem;line-height:1.28}.client-card-meta{color:var(--text-muted);margin:0;font-size:.78rem}.client-card-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-card-sizes{flex-wrap:wrap;gap:4px;display:flex}.client-card-size{min-width:22px;color:var(--text-secondary);text-align:center;background:#8b5cf612;border-radius:6px;padding:2px 5px;font-size:.72rem;font-weight:700;line-height:1.2}.client-card-colors{flex-wrap:wrap;gap:5px;display:flex}.client-card-color{border:1px solid #1c191724;border-radius:999px;width:16px;height:16px;box-shadow:inset 0 0 0 1px #ffffff2e}.client-card-color.is-light{border-color:#1c191738;box-shadow:inset 0 0 0 1px #1c19170f}.client-card-footer{border-top:1px solid #8b5cf614;justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;display:flex}.client-card-price{color:var(--text-primary);font-size:.78rem;font-weight:700}.busy-list{color:#92400e;background:#fffbeb;border-top:1px solid #b453091f;margin:0;padding:8px 10px 8px 22px;font-size:.7rem;line-height:1.45}.busy-list li+li{margin-top:3px}.client-rules{max-width:var(--layout-max);border-radius:var(--radius-lg);background:var(--surface);border:1px solid #ffffffbf;margin:0 auto;padding:24px;box-shadow:0 8px 32px #1c19170a}.client-rules-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.client-rules-grid--page{grid-template-columns:repeat(3,minmax(0,1fr))}.client-rules-grid--page article{border-radius:var(--radius-md);transition:box-shadow .24s var(--ease);background:#fff;border:1px solid #8b5cf614;margin:0;padding:14px 16px}.client-rules-grid--page h2{margin:0 0 6px;font-size:1rem;line-height:1.25}.client-rules-grid--page p{color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.5}.client-note{max-width:var(--layout-max);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);text-align:center;border:1px solid #8b5cf61a;margin:12px auto;padding:14px 18px;font-size:.88rem}.client-note--loading{animation:1.4s ease-in-out infinite clientPulse}@keyframes clientPulse{0%,to{opacity:1}50%{opacity:.55}}.client-note--error{color:#b91c1c;background:#fef2f2;border-color:#ef444433}.client-brand-mark{align-items:center;gap:10px;min-width:0;display:inline-flex}.client-brand-mark img{object-fit:contain;flex-shrink:0;width:auto;max-width:100%;height:auto;display:block}.client-brand-mark__name{font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.2}.client-brand-mark--button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.client-brand-mark--button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:var(--radius-sm)}.client-brand-mark--header img{width:148px;max-height:52px}.client-site-header .client-brand-mark__name{display:none}.client-brand-mark--compact img{width:118px;max-height:42px}.client-brand-mark--hero{justify-self:start}.client-brand-mark--hero img{width:min(100%,300px);max-height:110px}.client-logo-fallback{background:linear-gradient(160deg, #fdf2f8 0%, var(--brand-soft) 100%);place-items:center;width:100%;height:100%;display:grid}.client-logo-fallback img{object-fit:contain;opacity:.85;width:min(65%,120px);max-height:65%}.client-logo-fallback--hero{position:absolute;inset:0}.client-logo-fallback--hero img{width:min(55%,200px)}.client-logo-fallback--card{min-height:180px;padding:20px}.client-noimg{color:var(--text-muted);place-items:center;font-size:.72rem;font-weight:500;display:grid}.client-page--detail{padding-top:6px;padding-bottom:8px;display:block}.client-detail-topbar{z-index:30;max-width:var(--layout-max);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #ffffffb3;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin:0 auto 20px;padding:8px 12px;display:grid;position:sticky;top:8px;box-shadow:0 4px 24px #1c19170f}.client-detail-topbar__center{justify-content:center;min-width:0;display:flex}.client-detail-topbar__center .client-brand-mark__name{font-size:.88rem}.client-back-button{border:1px solid var(--brand-line);border-radius:var(--radius-sm);width:42px;height:42px;color:var(--brand-primary-dark);cursor:pointer;transition:all .22s var(--ease);background:#fff;place-items:center;font-size:1.6rem;line-height:1;display:inline-grid}.client-back-button:hover{border-color:var(--brand-primary);box-shadow:0 4px 16px var(--brand-shadow)}.client-product-page{max-width:var(--layout-max);align-items:start;gap:16px;margin:0 auto;display:grid}.client-product-page--triple{grid-template-columns:minmax(0,1.1fr) minmax(280px,.78fr) minmax(300px,.82fr);grid-template-areas:"gallery info booking";align-items:start;gap:16px;padding:2px 0 20px}.client-product-page--triple .client-product-gallery-stack{top:calc(var(--client-header-offset) + 8px);grid-area:gallery;align-self:start;position:sticky}.client-product-page--triple .client-product-media{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-soft);padding:10px;overflow:visible}.client-product-page--triple .client-product-main-image--detail{border-radius:calc(var(--radius-lg) - 6px);box-shadow:inset 0 0 0 1px var(--border-soft)}.client-detail-main-image-btn{cursor:zoom-in;border-radius:calc(var(--radius-lg) - 6px);background:0 0;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.client-product-page--triple .client-carousel-button{opacity:0;width:38px;height:38px;transition:opacity .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);font-size:1.35rem;transform:translateY(-50%)scale(.92)}.client-product-page--triple .client-carousel:hover .client-carousel-button,.client-product-page--triple .client-carousel:focus-within .client-carousel-button{opacity:1;transform:translateY(-50%)scale(1)}.client-product-page--triple .client-carousel-counter{letter-spacing:.04em;background:#1c191785;font-size:.68rem}.client-product-page--triple .client-thumbnail{transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:10px}.client-product-page--triple .client-thumbnail.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px #8b5cf659}.client-product-page--triple .client-thumbnail:hover{transform:translateY(-1px)}.client-gallery-layout{align-items:flex-start;gap:12px;display:flex}.client-gallery-layout .client-carousel{flex:1;min-width:0}.client-thumbnail--cover{position:relative}.client-thumbnail--cover:after{content:"Bìa";letter-spacing:.04em;color:#fff;pointer-events:none;background:#1c191794;border-radius:4px;padding:2px 6px;font-size:.58rem;font-weight:600;position:absolute;bottom:5px;left:5px}.client-product-info-column{flex-direction:column;grid-area:info;align-self:stretch;gap:16px;display:flex}.client-product-info-head{box-shadow:none;background:0 0;border:0;border-radius:0;gap:8px;padding:0;display:grid}.client-product-info-head .client-product-attrs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.client-product-info-head .client-product-attrs div{text-align:center;background:#f3eeff8c;border-color:#0000;padding:8px 10px}.client-product-info-head .client-product-attrs dt{font-size:.64rem}.client-product-info-head .client-product-attrs dd{font-size:.82rem}.client-product-booking-column{top:calc(var(--client-header-offset) + 8px);flex-direction:column;grid-area:booking;align-self:stretch;gap:12px;display:flex;position:sticky}.client-product-page--triple .client-panel{border-color:var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-card);padding:16px 18px}.client-product-page--triple .client-panel__title{border-bottom:1px solid var(--border-soft);color:var(--text-secondary);letter-spacing:.1em;margin:0 0 12px;padding-bottom:8px;font-size:.68rem;font-weight:600}.client-product-page--triple .client-panel--booking{box-shadow:var(--shadow-soft);background:linear-gradient(165deg,#fff 0%,#f3eeffb8 100%);border-color:#8b5cf629;flex-direction:column;flex:1;display:flex}.client-product-page--triple .client-panel--booking .client-booking-form--compact{flex-direction:column;flex:1;gap:14px;display:flex}.client-product-page--triple .client-panel--variants .client-variant-options--compact{gap:8px}.client-product-info-head .client-booking-availability{letter-spacing:.06em;text-transform:uppercase;min-height:26px;padding:4px 11px;font-size:.68rem}.client-product-info-head .client-booking-availability.free{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%)}.client-product-info-head .client-booking-availability.busy{color:#92400e;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%)}.client-product-info-head h1{letter-spacing:-.02em;margin-top:2px;font-size:clamp(1.02rem,1.8vw,1.28rem);font-weight:600;line-height:1.22}.client-product-info-head .client-product-code{letter-spacing:.03em;margin-top:2px;font-size:.78rem}.client-product-page--triple .client-panel--warning{background:linear-gradient(165deg,#fff 0%,#fffbeb 100%);border-color:#f59e0b2e}.client-product-page--triple .client-variant-option{border-color:var(--border-subtle);min-height:58px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);background:#ffffffe0;border-radius:12px}.client-product-page--triple .client-variant-option:hover{border-color:#8b5cf638;transform:translateY(-1px)}.client-product-page--triple .client-variant-option.is-active{border-color:var(--brand-primary);box-shadow:0 0 0 1px #8b5cf62e,0 8px 20px #6d28d91a}.client-product-page--triple .client-price-table--compact tr{transition:background .15s}.client-product-page--triple .client-price-table--compact tr:hover{background:#f3eeff59}.client-product-page--triple .client-price-table--compact th,.client-product-page--triple .client-price-table--compact td{border-bottom-color:var(--border-soft);padding:10px 8px}.client-product-page--triple .client-price-table--compact th{color:var(--text-secondary);font-weight:500}.client-product-page--triple .client-price-table--compact td{color:var(--brand-primary-dark);font-weight:600}.client-product-page--triple .client-booking-summary--compact{background:#ffffffb8;border:1px solid #8b5cf61a;border-radius:12px;margin-bottom:2px;padding:12px 14px}.client-product-page--triple .client-booking-fields__grid--detail{flex-direction:column;gap:14px;width:100%;display:flex}.client-product-page--triple .client-booking-fields.client-booking-fields--compact{width:100%;display:block}.client-product-page--triple .client-booking-form--compact{width:100%}.client-product-page--triple .client-booking-datetime-row,.client-product-page--triple .client-booking-contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;width:100%;display:grid}.client-product-page--triple .client-booking-contact-row label,.client-product-page--triple .client-booking-datetime-row label{min-width:0}.client-product-page--triple .client-booking-note{grid-column:auto;width:100%}.client-product-page--triple .client-booking-contact-row input,.client-product-page--triple .client-booking-datetime-row input,.client-product-page--triple .client-booking-field-full input,.client-product-page--triple .client-booking-note textarea{width:100%}.client-product-page--triple .client-booking-note textarea{resize:vertical;min-height:96px}.client-product-page--triple .client-booking-fields--compact label{gap:6px;font-size:.68rem}.client-product-page--triple .client-booking-actions{border-top:1px solid var(--border-soft);grid-template-columns:1fr 1.15fr;gap:10px;margin-top:4px;padding-top:6px;display:grid}.client-product-page--triple .client-booking-summary--compact strong{letter-spacing:-.02em;font-size:1.22rem}.client-product-page--triple .client-booking-fields--compact input,.client-product-page--triple .client-booking-fields--compact textarea{min-height:40px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#ffffffeb;border-color:#8b5cf61f;border-radius:10px}.client-product-page--triple .client-booking-fields--compact input:focus,.client-product-page--triple .client-booking-fields--compact textarea:focus{box-shadow:0 0 0 3px #8b5cf61f}.client-product-page--triple .client-secondary-button,.client-product-page--triple .client-booking-submit{min-height:42px;transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);border-radius:11px;font-size:.88rem;font-weight:600}.client-product-page--triple .client-booking-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #6d28d938}.client-product-page--triple .client-panel--collapsible .client-panel__summary{letter-spacing:.08em;padding:12px 16px;font-size:.68rem}.client-product-page--triple .client-panel--collapsible .client-panel__body{padding:0 16px 12px}.client-product-page--triple .client-panel--variants{margin:0}.client-product-info-column .client-product-title{padding:0}.client-product-page--compact .client-product-gallery-stack{top:calc(var(--client-header-offset) + 4px);align-self:start;position:sticky}.client-product-page--compact .client-product-sidebar{gap:8px}.client-product-page--compact .client-panel{padding:10px 12px}.client-product-page--compact .client-panel__title{margin-bottom:8px}.client-product-page--compact .client-product-title{gap:4px}.client-product-page--compact .client-product-title h1{font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.2}.client-product-page--compact .client-product-attrs{gap:6px;margin-top:4px}.client-product-page--compact .client-product-attrs div{padding:5px 9px}.client-product-page--compact .client-product-attrs dd{font-size:.84rem}.client-variant-options--compact{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.client-product-page--compact .client-variant-option{min-height:54px;padding:7px 8px}.client-price-table--compact th,.client-price-table--compact td{padding:4px 0;font-size:.8rem;line-height:1.35}.client-panel--collapsible{padding:0;overflow:hidden}.client-panel--collapsible .client-panel__summary{cursor:pointer;color:var(--text-primary);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.72rem;font-weight:700;list-style:none;display:flex}.client-panel--collapsible .client-panel__summary::-webkit-details-marker{display:none}.client-panel--collapsible .client-panel__summary:after{content:"›";color:var(--text-muted);transition:transform .2s var(--ease);font-size:1rem;line-height:1}.client-panel--collapsible[open] .client-panel__summary:after{transform:rotate(90deg)}.client-panel--collapsible .client-panel__body{padding:0 12px 10px}.client-booking-form--compact{gap:8px}.client-booking-summary--compact strong{margin-top:2px;font-size:1.15rem}.client-voucher-field{color:#4f4748;gap:7px;font-size:.9rem;font-weight:800;display:grid}.client-voucher-field select{color:#251f21;width:100%;min-height:42px;font:inherit;background:#ffffffe0;border:1px solid #8a5df633;border-radius:14px;outline:none;padding:0 14px;font-weight:700;transition:border-color .16s,box-shadow .16s,background .16s}.client-voucher-field select:focus{background:#fff;border-color:#8a5df694;box-shadow:0 0 0 4px #8a5df61f}.client-voucher-field select:disabled{color:#8c8386;cursor:wait}.client-voucher-error{color:#b42318;font-size:.78rem;font-weight:700;line-height:1.45}.client-booking-fields--compact .client-booking-fields__grid{gap:8px}.client-booking-fields--compact input,.client-booking-fields--compact textarea{min-height:38px;padding:8px 10px;font-size:.86rem}.client-booking-fields--compact textarea{min-height:56px}.client-product-page--compact .client-booking-actions{gap:8px}.client-product-page--compact .client-thumbnail img{height:72px}.client-product-page--compact .client-thumbnail-strip{grid-auto-columns:64px;gap:6px}.client-product-gallery-stack{justify-content:stretch;display:flex}.client-product-page--triple .client-product-media,.client-product-page .client-product-media{width:100%}.client-product-page--triple .client-carousel{width:100%;max-width:none;margin-inline:0}.client-product-page .client-carousel{width:min(100%,300px);margin-inline:auto}.client-product-main-image{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);background:var(--brand-soft);width:100%;display:block}.client-product-main-image--detail{object-position:center top;max-height:min(680px,100vh - 180px)}.client-product-info,.client-empty-detail{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #8b5cf61a;box-shadow:0 12px 40px #1c19170d}.client-product-media{box-shadow:none;background:0 0;border:0;padding:0;overflow:hidden}.client-carousel{position:relative}.client-carousel-button{z-index:2;width:44px;height:44px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .22s var(--ease);background:#ffffffeb;border:0;border-radius:999px;place-items:center;font-size:1.6rem;line-height:1;display:inline-grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #1c19171f}.client-carousel-button--prev{left:12px}.client-carousel-button--next{right:12px}.client-carousel-button:hover{background:#fff;box-shadow:0 6px 20px #1c191729}.client-carousel-dots{flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 10px;display:flex}.client-carousel-dot{cursor:pointer;width:7px;height:7px;transition:all .22s var(--ease);background:#8b5cf640;border:0;border-radius:999px;padding:0}.client-carousel-dot.is-active{background:var(--brand-primary);width:20px}.client-thumbnail-strip{scrollbar-width:thin;grid-auto-columns:72px;grid-auto-flow:column;gap:8px;padding:2px;display:grid;overflow-x:auto}.client-thumbnail-strip.client-thumbnail-strip--side{grid-auto-flow:unset;grid-auto-columns:unset;flex-direction:column;flex-shrink:0;gap:8px;width:76px;max-height:min(680px,100vh - 180px);padding:2px;display:flex;overflow:hidden auto}.client-thumbnail-strip.client-thumbnail-strip--side .client-thumbnail{flex:none;width:100%}.client-thumbnail-strip.client-thumbnail-strip--side .client-thumbnail img{object-fit:cover;width:100%;height:92px}.client-thumbnail{border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s var(--ease);background:#fff;border:2px solid #0000;padding:0;overflow:hidden}.client-thumbnail.is-active{border-color:var(--brand-primary)}.client-thumbnail img{object-fit:cover;background:var(--brand-soft);width:100%;height:96px;display:block}.client-empty-gallery{border:1px dashed var(--brand-line);border-radius:var(--radius-md);min-height:200px;color:var(--text-muted);background:#f3eeff66;place-items:center;display:grid}.client-product-info{align-self:start;gap:16px;padding:24px;display:grid;position:sticky;top:88px}.client-product-title{gap:8px;display:grid}.client-product-title h1{margin:0;font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.15}.client-product-title p{color:var(--text-muted);margin:4px 0 0;font-size:.88rem}.client-booking-availability{letter-spacing:.04em;border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:5px 12px;font-size:.72rem;font-weight:600;display:inline-flex}.client-booking-availability.free{color:#047857;background:#ecfdf5}.client-booking-availability.busy{color:#b45309;background:#fffbeb}.client-variant-picker{border-radius:var(--radius-md);background:#faf7f499;border:1px solid #8b5cf614;gap:10px;padding:14px;display:grid}.client-variant-picker>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.client-variant-options{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.client-variant-option{border-radius:var(--radius-sm);min-height:68px;color:var(--text-secondary);text-align:left;cursor:pointer;transition:all .2s var(--ease);background:#fff;border:1px solid #8b5cf61f;gap:2px;padding:10px;display:grid}.client-variant-option.is-active{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-shadow)}.client-variant-option strong{color:var(--text-primary);font-size:.9rem}.client-variant-option span,.client-variant-option small{font-size:.74rem}.client-variant-option small{color:var(--brand-primary-dark);font-weight:600}.client-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.client-detail-grid p{border-radius:var(--radius-sm);color:var(--text-secondary);background:#faf7f480;border:1px solid #8b5cf614;margin:0;padding:10px 12px;font-size:.84rem}.client-detail-grid strong{color:var(--text-primary);font-weight:600}.client-booking-form{border:0;gap:12px;margin:0;padding:0;display:grid}.client-booking-summary{border:1px solid var(--brand-line);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-soft) 0%, #e0f2fe 100%);padding:16px}.client-booking-summary span,.client-booking-summary small{color:var(--text-muted);font-size:.74rem;font-weight:500;display:block}.client-booking-summary strong{color:var(--text-primary);font-family:var(--font-display);margin-top:4px;font-size:1.5rem;font-weight:700;line-height:1.1;display:block}.client-booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.client-booking-fields label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.7rem;font-weight:600;display:grid}.client-booking-fields input,.client-booking-fields textarea{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);font:inherit;resize:vertical;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border:1px solid #8b5cf626;padding:10px 14px;font-size:.9rem}.client-booking-fields input:focus,.client-booking-fields textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-shadow);outline:none}.client-date-picker,.client-preview-booking__date-field{gap:6px;min-width:0;display:grid;position:relative}.client-date-picker>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.client-date-picker__trigger{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #8b5cf626;padding:10px 14px;font-size:.9rem}.client-date-picker__trigger:hover,.client-date-picker__trigger:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-shadow);outline:none}.client-date-picker__popover{z-index:70;border-radius:var(--radius-md);background:#fff;border:1px solid #8b5cf629;gap:10px;width:min(320px,78vw);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 48px #1c191729}.client-date-picker__head{grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;display:grid}.client-date-picker__head strong{color:var(--text-primary);text-align:center;text-transform:capitalize;font-size:.95rem}.client-date-picker__head button,.client-date-picker__day{border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;cursor:pointer;background:#fff;border:1px solid #8b5cf61f}.client-date-picker__head button{min-height:32px;font-size:1.1rem;line-height:1}.client-date-picker__weekdays,.client-date-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.client-date-picker__weekdays span{color:var(--text-muted);text-align:center;font-size:.68rem;font-weight:700}.client-date-picker__day{aspect-ratio:1;min-width:0;padding:0;font-size:.82rem;font-weight:600}.client-date-picker__day:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary);background:#8b5cf614}.client-date-picker__day.is-selected{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff}.client-date-picker__day.is-outside{color:#78716c6b}.client-date-picker__day.is-disabled,.client-date-picker__day:disabled{color:#78716c6b;cursor:not-allowed;opacity:.62;background:#78716c14;border-color:#78716c14}.client-date-picker__day.is-busy{color:#b91c1c;opacity:.9;background:#fee2e2;border-color:#fecaca}.client-date-picker__day.is-busy:after{content:"";background:#ef4444;border-radius:999px;width:4px;height:4px;margin:2px auto 0;display:block}.client-date-picker__day.is-past:not(.is-busy){color:#78716c6b;opacity:.58;background:#78716c14;border-color:#78716c14}.client-booking-note{grid-column:1/-1}.client-booking-message,.client-booking-error{border-radius:var(--radius-sm);margin:0;padding:12px 14px;font-size:.86rem;font-weight:500}.client-booking-message{color:#047857;background:#ecfdf5}.client-booking-error{color:#b91c1c;background:#fef2f2}.client-booking-submit{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-primary-dark) 0%, var(--brand-primary) 50%, var(--brand-cyan) 100%);color:#fff;width:100%;min-height:50px;font:inherit;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 24px var(--brand-shadow);transition:all .24s var(--ease);border:0;font-size:.92rem;font-weight:700}.client-booking-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 32px #6d28d938}.client-booking-submit:disabled{cursor:not-allowed;box-shadow:none;background:#a8a29e;transform:none}.client-booking-submit--link{place-items:center;text-decoration:none;display:inline-grid}.client-secondary-button{border:1px solid var(--brand-line);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--brand-primary-dark);font:inherit;cursor:pointer;transition:all .22s var(--ease);background:#fff;font-size:.88rem;font-weight:600}.client-secondary-button:hover{border-color:var(--brand-primary);box-shadow:0 4px 16px var(--brand-shadow)}.client-home-cta{width:min(100%,220px)}.client-checkout-page{max-width:var(--layout-max);grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:20px;margin:0 auto;display:grid}.client-checkout-summary,.client-checkout-payment{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #8b5cf61a;box-shadow:0 12px 40px #1c19170d}.client-checkout-summary{padding:24px}.client-checkout-summary h1{margin:6px 0 0;font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.15}.client-checkout-product{border-radius:var(--radius-md);background:#faf7f480;border:1px solid #8b5cf614;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;margin:20px 0;padding:14px;display:grid}.client-checkout-product img,.client-checkout-product .client-noimg{border-radius:var(--radius-sm);object-fit:cover;width:110px;height:140px}.client-checkout-product h2{margin:0;font-size:1.15rem;line-height:1.25}.client-checkout-product p{color:var(--text-muted);margin:4px 0 0;font-size:.84rem}.client-checkout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.client-checkout-grid p,.client-payment-detail p{border-radius:var(--radius-sm);color:var(--text-secondary);background:#fff;border:1px solid #8b5cf614;margin:0;padding:10px 12px;font-size:.84rem}.client-checkout-payment{align-self:start;gap:14px;padding:24px;display:grid;position:sticky;top:88px}.client-checkout-payment--success{background:linear-gradient(#fff 0%,#f0fdf4 100%);border-color:#22c55e47}.client-section-chip--success,.client-section-meta--success{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.client-checkout-total{border:1px solid var(--brand-line);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-soft) 0%, #e0f2fe 100%);text-align:center;padding:18px}.client-checkout-total span,.client-checkout-total small{color:var(--text-muted);font-size:.78rem;font-weight:500;display:block}.client-checkout-total strong{color:var(--text-primary);font-family:var(--font-display);margin:6px 0;font-size:2rem;font-weight:700;line-height:1.1;display:block}.client-payment-qr{aspect-ratio:1;border-radius:var(--radius-md);object-fit:contain;background:#fff;border:1px solid #8b5cf61a;justify-self:center;width:100%;max-width:240px}.client-payment-qr--empty{background:var(--brand-soft);color:var(--text-muted);border-style:dashed;place-items:center;font-size:1.2rem;font-weight:600;display:grid}.client-payment-success{border-radius:var(--radius-md);color:#166534;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;justify-self:stretch;gap:6px;padding:18px;display:grid}.client-payment-success strong{font-size:1.05rem}.client-payment-success span{color:#15803d;font-size:.88rem;line-height:1.5}.client-payment-detail,.client-checkout-actions{gap:8px;display:grid}.client-success-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.client-success-modal{border-radius:var(--radius-md);text-align:center;background:#fff;border:1px solid #bbf7d0;gap:14px;width:min(460px,100%);padding:28px;display:grid;box-shadow:0 24px 70px #0f172a38}.client-success-modal h2{color:var(--text-primary);font-family:var(--font-display);margin:0;font-size:1.5rem;line-height:1.2}.client-success-modal p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.55}.client-success-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.client-checkout-note{color:var(--text-muted);text-align:center;margin:0;font-size:.84rem;line-height:1.55}.client-checkout-note--error{color:#b91c1c}.client-empty-detail{text-align:center;max-width:480px;margin:60px auto;padding:32px}.client-empty-detail h1{margin:0 0 8px;font-size:1.4rem}.client-empty-detail p{color:var(--text-muted);margin:0 0 20px}.client-footer{--client-footer-min-height:132px;max-width:var(--layout-max);min-height:var(--client-footer-min-height);border-top:1px solid #8b5cf61a;align-content:center;margin:18px auto 0;padding:14px 0 8px;display:grid}.client-footer__inner{grid-template-columns:minmax(170px,.55fr) minmax(300px,1fr) minmax(260px,auto);align-items:start;gap:18px;display:grid}.client-footer__summary{align-items:center;min-width:0;display:flex}.client-footer__brand{align-items:center;gap:10px;min-width:0;display:flex}.client-footer__brand p{color:var(--text-secondary);white-space:nowrap;margin:0;font-size:.82rem;line-height:1.45}.client-footer__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.client-footer__details div{min-width:0}.client-footer__details dt{color:var(--text-muted);margin-bottom:3px;font-size:.7rem;font-weight:700}.client-footer__details dd{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.45}.client-footer__details a{color:var(--text-primary);transition:color .2s var(--ease);font-weight:700;text-decoration:none}.client-footer__details a:hover{color:var(--brand-primary-dark)}.client-footer__side{justify-items:end;gap:10px;display:grid}.client-footer__links{grid-template-columns:repeat(4,max-content);justify-content:end;gap:10px 16px;display:grid}.client-footer__links button{color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;transition:color .2s var(--ease);background:0 0;border:0;padding:0;font-size:.84rem;font-weight:600}.client-footer__links button:hover{color:var(--brand-primary-dark)}.client-footer__socials{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.client-footer__socials a{width:34px;height:34px;color:var(--brand-primary-dark);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);background:#8b5cf60d;border:1px solid #8b5cf61f;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.client-footer__socials a:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 18px #8b5cf61f}.client-footer__copy{color:var(--text-muted);text-align:left;margin:10px 0 0;font-size:.72rem}@media (width<=960px){.client-hero{grid-template-columns:1fr}.client-hero--compact .client-hero-copy,.client-hero--compact .client-hero-feature{min-height:220px}.client-topline__hours{display:none}.client-catalog-toolbar__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-catalog-filterbar{grid-template-columns:1fr auto}.client-filter-summary{order:3;grid-column:1/-1}.client-filter-summary--desktop{display:none}.client-filter-dates--toolbar{grid-column:1/-1}.client-catalog-toolbar__tail{flex-wrap:wrap}.client-home-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-catalog-main .client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-about-band{grid-template-columns:1fr}.client-rules-grid,.client-rules-grid--page{grid-template-columns:repeat(2,minmax(0,1fr))}.client-product-page,.client-checkout-page{grid-template-columns:1fr}.client-product-page--triple{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"gallery gallery""info booking"}.client-product-page--triple .client-product-gallery-stack,.client-product-page--triple .client-product-booking-column{position:static}.client-product-page--triple .client-carousel{width:min(100%,420px);margin-inline:auto}.client-product-page .client-carousel{width:min(100%,420px)}.client-product-main-image--detail{max-height:min(520px,100vh - 200px)}.client-product-page--compact .client-product-gallery-stack,.client-product-info,.client-checkout-payment{position:static}.client-footer__inner{grid-template-columns:1fr;justify-items:stretch;gap:12px}.client-footer__summary{justify-content:space-between;gap:14px}.client-footer__details{grid-template-columns:repeat(3,minmax(0,1fr))}.client-footer__side{justify-items:start}.client-footer__links{grid-template-columns:repeat(4,minmax(0,max-content));justify-content:start}.client-footer__socials{justify-content:flex-start}.client-site-header-wrap,.client-site-header,.client-detail-topbar{top:0}.client-page{--client-header-offset:68px;padding-top:var(--client-header-offset)}.client-page--detail{padding-top:var(--client-header-offset)}.client-site-header-wrap{width:min(var(--layout-max), calc(100vw - 2 * var(--page-gutter)));transition:transform .28s var(--ease), opacity .28s var(--ease);will-change:transform;margin:0;position:fixed;top:8px;left:50%;transform:translate(-50%)}.client-site-header-wrap.is-scroll-hidden{opacity:0;pointer-events:none;transform:translate(-50%,calc(-100% - 12px))}.client-topline--desktop{display:none}.client-site-header{border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px 12px}.client-site-header__start{min-width:0}.client-site-header .client-brand-mark{gap:8px;min-width:0;max-width:100%}.client-site-header .client-brand-mark__name{min-width:0;max-width:min(132px,34vw);color:var(--brand-primary-dark);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;line-height:1.15;display:block;overflow:hidden}.client-site-header .client-brand-mark--header img{width:34px;max-height:34px}.client-site-header__desktop-nav{display:none}.client-site-header__desktop-actions{justify-content:flex-end;align-items:center;display:flex}.client-header-actions{gap:2px}.client-header-action{border-radius:10px;width:36px;height:36px}.client-mobile-menu-btn{border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all .22s var(--ease);background:#fff;border-radius:12px;place-items:center;padding:0;display:inline-grid}.client-mobile-menu-btn:hover,.client-mobile-menu-btn:focus-visible{color:var(--brand-primary-dark);background:var(--brand-soft);outline:none}.client-mobile-nav-backdrop{z-index:120;background:#1c19176b;border:0;animation:.18s client-modal-fade-in;display:block;position:fixed;inset:0}.client-mobile-sidebar{z-index:121;border-right:1px solid var(--border-subtle);background:var(--surface-elevated);width:min(320px,100vw - 48px);max-width:100%;height:100dvh;animation:client-sidebar-in .24s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;left:0;box-shadow:16px 0 48px #1c191724}.client-mobile-sidebar__head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.client-mobile-sidebar__close{background:var(--brand-soft);width:36px;height:36px;color:var(--brand-primary-dark);cursor:pointer;border:0;border-radius:999px;place-items:center;font-size:1.35rem;line-height:1;display:grid}.client-mobile-sidebar__body{flex:1;align-content:start;gap:18px;min-height:0;padding:12px 16px 20px;display:grid;overflow:auto}.client-mobile-sidebar__nav .client-nav{flex-direction:column;align-items:stretch;gap:6px}.client-mobile-sidebar__nav .client-nav-link{border-radius:12px;justify-content:flex-start;width:100%;min-height:44px;padding:10px 14px;font-size:.92rem}.client-mobile-sidebar__foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);color:var(--text-muted);background:#faf7f4eb;gap:6px;font-size:.78rem;display:grid}.client-mobile-sidebar__foot a{color:var(--brand-primary-dark);font-weight:600;text-decoration:none}.client-mobile-sidebar__member,.client-mobile-sidebar__member-link{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-mobile-sidebar__member-link,.client-mobile-sidebar__member button{color:var(--brand-primary-dark);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.client-nav--center{flex-wrap:wrap;grid-column:auto;justify-content:flex-start;gap:2px;padding-bottom:0;overflow-x:visible}.client-nav-link{flex-shrink:0;padding:8px 10px;font-size:.8rem}.client-contact-layout{grid-template-columns:1fr}.client-contact-card--map,.client-contact-map iframe{min-height:280px}.client-booking-actions{grid-template-columns:1fr}}@media (width<=560px){.client-page{padding:var(--client-header-offset) 12px 24px}.client-contact-card{padding:18px}.client-contact-details div{grid-template-columns:1fr;gap:3px;padding:12px 0}.client-catalog-filterbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}.client-filter-open{border-radius:16px;justify-content:flex-start;width:100%;min-height:54px;padding:0 12px}.client-filter-open__icon{background:var(--brand-primary);color:#fff;width:38px;height:38px;box-shadow:0 8px 18px #8b5cf62e}.client-filter-open__icon b{background:#111827}.client-filter-open__copy{gap:3px}.client-filter-open__copy>span{color:var(--text-primary);font-size:.95rem}.client-filter-clear-inline{border-radius:14px;width:auto;min-height:42px;padding:0 12px}.client-filter-clear-inline span{display:none}.client-filter-summary{grid-column:1/-1;justify-content:flex-start;gap:5px}.client-filter-summary span{max-width:100%;min-height:26px;font-size:.76rem}.client-filter-modal__panel{border-radius:22px 22px 0 0;width:100%;max-height:min(86vh,760px);animation-name:client-filter-sheet-in;inset:auto 0 0}.client-catalog-toolbar--modal .client-catalog-toolbar__grid{grid-template-columns:1fr}.client-filter-modal__head,.client-catalog-toolbar--modal,.client-filter-modal__foot{padding-left:16px;padding-right:16px}.client-footer__summary{gap:10px;display:grid}.client-footer__brand{justify-content:center}.client-footer__brand p{white-space:normal}.client-footer__details{text-align:center;grid-template-columns:1fr;gap:8px}.client-footer__side{justify-items:center}.client-footer__links{grid-template-columns:repeat(2,max-content);justify-content:center}.client-footer__socials{justify-content:center}.client-footer__copy{text-align:center}.client-floating-zalo{width:52px;height:52px;right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom))}.client-product-page--triple{grid-template-columns:1fr;grid-template-areas:"gallery""info""booking"}.client-product-page--triple .client-carousel{width:100%}.client-topline{text-align:center;flex-wrap:wrap;justify-content:center;font-size:.72rem}.client-site-header .client-brand-mark__name{max-width:min(108px,30vw);font-size:.78rem}.client-hero-copy{padding:24px 18px}.client-home-grid,.client-home-grid--compact,.client-grid,.client-rules-grid,.client-rules-grid--page,.client-detail-grid,.client-checkout-grid,.client-booking-fields__grid{grid-template-columns:1fr}.client-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-home-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-home-product-card__body{padding:10px}.client-home-product-card__body h3{font-size:.88rem}.client-home-product-card__price{font-size:.74rem}.client-home-section,.client-filters,.client-about-band{padding:18px}.client-detail-topbar{grid-template-rows:auto auto;grid-template-columns:42px 1fr}.client-detail-topbar__end{grid-column:1/-1}.client-detail-topbar__end .client-nav{width:100%}.client-booking-fields,.client-checkout-product{grid-template-columns:1fr}.client-checkout-product img,.client-checkout-product .client-noimg{aspect-ratio:3/4;width:100%;height:auto}.client-section-head{flex-direction:column;align-items:flex-start}.client-thumbnail-strip--side{width:58px}.client-thumbnail-strip--side .client-thumbnail img{height:72px}.client-carousel-button{width:36px;height:36px;font-size:1.4rem}.client-thumbnail-strip{grid-auto-columns:58px}.client-thumbnail img{height:76px}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.client-register-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #8b5cf61a;padding:24px;box-shadow:0 12px 40px #1c19170d}.client-register-form{gap:16px;max-width:640px;margin:0 auto;display:grid}.client-register-form__lead{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.6}.client-register-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-register-field{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.72rem;font-weight:600;display:grid}.client-register-field--required label,.client-register-field--required{color:var(--text-secondary)}.client-register-field--full{grid-column:1/-1}.client-register-field input,.client-register-field textarea{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);font:inherit;text-transform:none;letter-spacing:0;resize:vertical;background:#fff;border:1px solid #8b5cf626;padding:10px 14px;font-size:.92rem}.client-register-field input:focus,.client-register-field textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-shadow);outline:none}.client-register-field small{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:.76rem;font-weight:500;line-height:1.45}.client-member-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:640px;margin:0 auto 16px;display:grid}.client-member-tabs button{border-radius:var(--radius-sm);min-height:42px;color:var(--text-secondary);font:inherit;cursor:pointer;background:#fff;border:1px solid #8b5cf626;font-size:.88rem;font-weight:600}.client-member-tabs button.is-active{border-color:var(--brand-primary);color:var(--brand-primary);background:#8b5cf614}.client-member-profile{gap:12px;margin:0;display:grid}.client-member-profile div{gap:4px;display:grid}.client-member-profile dt{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.client-member-profile dd{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.5}.client-member-account{gap:24px;max-width:640px;margin:0 auto;display:grid}.client-member-section{border-top:1px solid #8b5cf61f;gap:12px;padding-top:20px;display:grid}.client-member-section:first-of-type{border-top:0;padding-top:0}.client-member-section__title{color:var(--text-primary);font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:1.25rem;font-weight:600}.client-member-account__footer{justify-content:flex-start;padding-top:4px;display:flex}.client-register-field input:disabled{color:var(--text-muted);cursor:not-allowed;background:#1c19170a}.client-orders-page{gap:20px;display:grid}.client-orders-panel,.client-orders-empty{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #8b5cf61a;width:min(100%,100vw - 32px);max-width:980px;margin:0 auto;padding:24px;box-shadow:0 12px 40px #1c19170d}.client-orders-empty{text-align:center;justify-items:center;gap:12px;display:grid}.client-orders-empty--inner{width:100%;box-shadow:none;background:#8b5cf60a}.client-orders-empty h2,.client-orders-head h2{color:var(--text-primary);font-family:var(--font-display);margin:0;font-size:1.35rem;line-height:1.2}.client-orders-empty p,.client-orders-head p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.55}.client-orders-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.client-orders-list{gap:12px;display:grid}.client-order-card{border-radius:var(--radius-md);background:#fff;border:1px solid #8b5cf61a;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px;display:grid}.client-order-card__media{border-radius:var(--radius-sm);background:var(--brand-soft);min-height:136px;overflow:hidden}.client-order-card__media img,.client-order-card__media .client-logo-fallback{object-fit:cover;width:100%;height:100%}.client-order-card__body{gap:10px;min-width:0;display:grid}.client-order-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.client-order-card__top h3{color:var(--text-primary);margin:4px 0 0;font-size:1.08rem;line-height:1.25}.client-order-status{border-radius:var(--radius-sm);text-align:center;border:1px solid #0000;flex:none;max-width:220px;padding:6px 10px;font-size:.76rem;font-weight:700;line-height:1.35}.client-order-status--success{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.client-order-status--pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.client-order-status--danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.client-order-card__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.client-order-card__meta span,.client-order-items span{border-radius:var(--radius-sm);color:var(--text-secondary);background:#8b5cf60d;padding:8px 10px;font-size:.82rem;line-height:1.35}.client-order-items{flex-wrap:wrap;gap:6px;display:flex}.client-order-card__actions{flex-wrap:wrap;gap:8px;display:flex}.client-order-card__actions .client-secondary-button,.client-order-card__actions .client-booking-submit{width:auto;min-height:38px;padding-inline:16px}@media (width<=680px){.client-orders-panel,.client-orders-empty{width:min(100%,100vw - 24px);padding:18px}.client-orders-head,.client-order-card__top{justify-items:start;display:grid}.client-order-card{grid-template-columns:88px minmax(0,1fr);padding:12px}.client-order-card__media{min-height:112px}.client-order-card__meta{grid-template-columns:1fr}.client-order-status{max-width:100%}}.client-topline__member{color:var(--text-secondary);align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.client-topline__member strong{color:var(--text-primary);font-weight:600}.client-topline__member-link{color:var(--brand-primary);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline}.client-topline__logout{width:28px;height:28px;color:var(--brand-primary);cursor:pointer;transition:all .2s var(--ease);background:#8b5cf60f;border:1px solid #8b5cf629;border-radius:999px;place-items:center;display:inline-grid}.client-topline__logout:hover{background:#8b5cf61f;border-color:#8b5cf657;transform:translateY(-1px)}@media (width<=560px){.client-register-fields{grid-template-columns:1fr}}.client-page .modal-backdrop{z-index:120;background:#1c191773;place-items:center;padding:20px;animation:.15s client-modal-fade-in;display:grid;position:fixed;inset:0}@keyframes client-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes client-sidebar-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.client-page .modal-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid #8b5cf61f;width:min(100%,420px);overflow:hidden;box-shadow:0 24px 56px #1c19172e}.client-page .modal-head{border-bottom:1px solid #8b5cf614;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 12px;display:flex}.client-page .modal-head h2{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.client-page .modal-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#8b5cf614;border:0;border-radius:999px;font-size:1.25rem;line-height:1}.client-page .modal-message{color:var(--text-secondary);margin:0;padding:16px 20px 20px;font-size:.94rem;line-height:1.6}.client-page .modal-actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.client-page .btn-ghost,.client-page .btn-primary,.client-page .btn-danger{border-radius:var(--radius-sm);min-height:40px;font:inherit;cursor:pointer;padding:0 16px;font-size:.88rem;font-weight:600}.client-page .btn-ghost{color:var(--text-secondary);background:#fff;border:1px solid #8b5cf62e}.client-page .btn-primary{background:var(--brand-primary);color:#fff;border:0}.client-page .btn-danger{color:#fff;background:#dc2626;border:0}.client-page .btn-ghost:disabled,.client-page .btn-primary:disabled,.client-page .btn-danger:disabled{opacity:.6;cursor:not-allowed}.client-toast{right:max(var(--page-gutter), 16px);bottom:max(20px, env(safe-area-inset-bottom));z-index:140;width:min(420px, calc(100vw - 2 * var(--page-gutter)));border-radius:var(--radius-md);border:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:14px 16px;animation:.2s client-toast-in;display:grid;position:fixed;box-shadow:0 16px 40px #1c191729}@keyframes client-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.client-toast--success{color:#14532d;background:#f0fdf4;border-color:#16a34a40}.client-toast--error{color:#7f1d1d;background:#fef2f2;border-color:#dc262640}.client-toast__icon{border-radius:999px;place-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:grid}.client-toast--success .client-toast__icon{color:#15803d;background:#16a34a26}.client-toast--error .client-toast__icon{color:#b91c1c;background:#dc26261f}.client-toast__message{margin:2px 0 0;font-size:.92rem;line-height:1.5}.client-toast__close{width:28px;height:28px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:999px;font-size:1.1rem;line-height:1}.client-toast__close:hover{opacity:1}.client-card-media--preview{position:relative}.client-card-preview-overlay{opacity:0;pointer-events:none;background:#1c191747;place-items:center;transition:opacity .2s;display:grid;position:absolute;inset:0}.client-card-media--preview:hover .client-card-preview-overlay,.client-card-media--preview:focus-within .client-card-preview-overlay{opacity:1}.client-card-preview-btn{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;width:44px;height:44px;transition:transform .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);background:#1c191794;border:1px solid #ffffff47;border-radius:999px;place-items:center;display:grid;transform:scale(.94);box-shadow:0 10px 28px #1c191738}.client-card-media--preview:hover .client-card-preview-btn,.client-card-media--preview:focus-within .client-card-preview-btn{transform:scale(1)}.client-card-preview-btn:hover{background:#6d28d9d1;box-shadow:0 12px 32px #6d28d947}.client-preview-backdrop{z-index:130;background:#1c19177a;border:0;animation:.15s client-modal-fade-in;position:fixed;inset:0}.client-preview-modal{z-index:131;background:var(--surface);border-radius:var(--radius-lg);border:1px solid #8b5cf61f;width:min(960px,100vw - 24px);max-height:min(90vh,760px);animation:.15s client-modal-fade-in;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 28px 64px #1c191738}.client-preview-modal__head{border-bottom:1px solid #8b5cf614;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.client-preview-modal__head h2{margin:6px 0 0;font-size:1.15rem}.client-preview-modal__code{color:var(--muted);margin:4px 0 0;font-size:.78rem}.client-preview-modal__close{width:34px;height:34px;color:var(--text);cursor:pointer;background:#8b5cf614;border:0;border-radius:999px;font-size:1.35rem;line-height:1}.client-preview-modal__grid{grid-template-columns:minmax(0,1fr) minmax(280px,1.05fr);gap:20px;padding:16px 20px 20px;display:grid}.client-preview-modal__media img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);width:100%;display:block}.client-preview-modal__thumbs{gap:8px;margin-top:10px;display:flex;overflow-x:auto}.client-preview-modal__thumb{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:none;width:56px;height:56px;padding:0;overflow:hidden}.client-preview-modal__thumb.is-active{border-color:var(--accent)}.client-preview-modal__thumb img{object-fit:cover;aspect-ratio:1;width:100%;height:100%}.client-preview-modal__body{align-content:start;gap:12px;display:grid}.client-preview-modal__variants{gap:8px;display:grid}.client-preview-booking{gap:12px;display:grid}.client-preview-booking__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.client-preview-booking__grid label{color:var(--muted);gap:4px;font-size:.78rem;display:grid}.client-preview-booking__grid input,.client-preview-booking__grid textarea{width:100%}.client-preview-booking__note{grid-column:1/-1}.client-preview-booking__actions{flex-wrap:wrap;gap:8px;display:flex}.client-preview-booking__actions .client-booking-submit{flex:140px}.client-booking-summary--compact{padding:10px 12px}@media (width<=820px){.client-preview-modal__grid{grid-template-columns:1fr}.client-preview-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:92vh;top:auto;bottom:0;left:0;transform:none}}.client-lightbox-backdrop{z-index:140;background:#0f0e0dc7;border:0;animation:.15s client-modal-fade-in;position:fixed;inset:0}.client-lightbox{z-index:141;pointer-events:none;grid-template-rows:auto 1fr auto;gap:12px;display:grid;position:fixed;inset:16px}.client-lightbox__head,.client-lightbox__stage,.client-lightbox__thumbs{pointer-events:auto}.client-lightbox__head{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#1c1917b8;border:1px solid #ffffff1a;align-items:center;gap:12px;padding:10px 14px;display:flex}.client-lightbox__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.client-lightbox__counter{color:#ffffffb8;font-size:.78rem}.client-lightbox__zoom{align-items:center;gap:6px;display:flex}.client-lightbox__zoom-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;place-items:center;width:32px;height:32px;font-size:1.1rem;line-height:1;display:grid}.client-lightbox__zoom-btn:hover:not(:disabled){background:#ffffff29}.client-lightbox__zoom-btn:disabled{opacity:.35;cursor:not-allowed}.client-lightbox__zoom-level{text-align:center;color:#ffffffd1;min-width:44px;font-size:.76rem}.client-lightbox__zoom-reset{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:6px 10px;font-size:.72rem}.client-lightbox__zoom-reset:hover{background:#ffffff29}.client-lightbox__close{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;place-items:center;width:34px;height:34px;font-size:1.35rem;line-height:1;display:grid}.client-lightbox__close:hover{background:#ffffff2e}.client-lightbox__stage{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.client-lightbox__viewport{touch-action:none;cursor:zoom-in;place-items:center;width:100%;height:100%;min-height:0;display:grid}.client-lightbox__viewport.is-zoomed{cursor:grab}.client-lightbox__viewport.is-zoomed:active{cursor:grabbing}.client-lightbox__image{object-fit:contain;border-radius:var(--radius-md);transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;width:auto;max-width:min(100%,920px);height:auto;max-height:calc(100vh - 180px);margin-inline:auto;transition:transform 80ms linear;display:block;box-shadow:0 24px 64px #00000059}.client-lightbox__nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#1c19179e;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.client-lightbox__nav--prev{left:12px}.client-lightbox__nav--next{right:12px}.client-lightbox__nav:hover{background:#6d28d9d1}.client-lightbox__thumbs{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c1917b8;border:1px solid #ffffff1a;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 12px;display:flex}.client-lightbox__thumb{cursor:pointer;opacity:.72;background:#ffffff0f;border:2px solid #0000;border-radius:8px;width:56px;height:72px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;overflow:hidden}.client-lightbox__thumb img{object-fit:cover;width:100%;height:100%;display:block}.client-lightbox__thumb.is-active,.client-lightbox__thumb:hover{opacity:1;border-color:#a78bfaf2;transform:translateY(-1px)}@media (width<=640px){.client-lightbox{gap:8px;inset:8px}.client-lightbox__nav{width:36px;height:36px;font-size:1.35rem}.client-lightbox__image{max-height:calc(100vh - 220px)}.client-lightbox__thumb{width:48px;height:62px}}
