.app{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column}.header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 1px 3px #0000000f}.header-brand-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.header-title{font-size:1.35rem;font-weight:700;margin:0;color:#2563eb;flex:1 1 auto;min-width:0}.header-brand-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.header-user-label{color:var(--text-secondary);font-size:.8rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.header-readonly-badge{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:.68rem;font-weight:700;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.header-logout{padding:.45rem .85rem;font-size:.85rem}.language-switcher{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .45rem;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.8rem;cursor:pointer}.language-switcher:hover{background:#eef2f7}.language-switcher-icon{display:inline-flex;color:#475569}.language-switcher-select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font-size:inherit;font-family:inherit;padding:.1rem .15rem;cursor:pointer;outline:none}[dir=rtl] .mobile-quick-nav,[dir=rtl] .dashboard-submenu,[dir=rtl] .nav{direction:rtl}[dir=rtl] .dashboard-latest-card-mobile:before{left:auto;right:0}[dir=rtl] .dashboard-latest-card-mobile{padding:.75rem 1rem .75rem .85rem}[dir=rtl] .dashboard-summary-mobile-partner-row{flex-direction:row-reverse}.header-nav-toggle{display:none;align-items:center;justify-content:center;padding:.5rem .85rem;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;font-weight:600;font-size:.875rem;cursor:pointer}.header-nav-toggle:hover{background:#e2e8f0}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;align-items:center;padding-top:.35rem;border-top:1px solid #e2e8f0}.nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.45rem 0;border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--text-primary)}.nav a.active{color:#0ea5e9;border-bottom-color:#0ea5e9}.main{flex:1;padding:2rem 1.25rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));max-width:1200px;margin:0 auto;width:100%}.main.main-wide{max-width:1900px;padding-top:.5rem}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.form-card,.form-card .card{background:linear-gradient(135deg,#e0f2fe,#bae6fd,#7dd3fc)!important;border:1px solid #38bdf8!important;color:#0c4a6e!important}.form-card .form-group label{color:#0369a1!important}.form-card input,.form-card select,.form-card textarea{background:#f0f9ff!important;border:1px solid #7dd3fc!important;color:#0c4a6e!important}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--text-primary);font-size:1rem}.btn{padding:.6rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;border:none}.btn-primary{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f1f5f9;color:var(--text-primary);border:1px solid #cbd5e1}.btn-logout{background:#1e40af;color:#fff;border:none}.btn-logout:hover{background:#1d4ed8}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-success{background:#dcfce7;border:1px solid #86efac;color:#166534}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.alert-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem 1.5rem}.form-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem 1.25rem}.dashboard-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.dashboard-card{background:#334155;color:#fff;border-radius:8px;padding:1rem 1.25rem;min-width:140px}.dashboard-card label{display:block;font-size:.75rem;color:#fffc;margin-bottom:.35rem}.dashboard-card span{font-size:1.1rem;font-weight:600}.dashboard-card select{background:#475569;color:#fff;border:1px solid #64748b;border-radius:6px;padding:.4rem .5rem;font-size:.9rem;margin-top:.25rem}.dashboard-card.stat-green span{color:#4ade80}.dashboard-card.stat-orange span{color:#fb923c}.dashboard-card.stat-blue span{color:#7dd3fc}.dashboard-section{margin-bottom:1rem}.dashboard-section-toggle{display:none}.dashboard-section-body{display:block}@media(max-width:720px){.dashboard-section{margin-bottom:.6rem}.dashboard-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:#334155;color:#fff;border:1px solid #475569;border-radius:10px;padding:.85rem 1rem;text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 2px #0f172a1f;touch-action:manipulation;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard-section-toggle:active{transform:scale(.995)}.dashboard-section.is-open .dashboard-section-toggle{background:#1e293b;border-color:#0ea5e9;box-shadow:0 2px 8px #0ea5e940}.dashboard-section-toggle-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto}.dashboard-section-toggle-label{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-section-toggle-hint{font-size:.7rem;color:#e2e8f0b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-section-toggle-side{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.dashboard-section-toggle-metric{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap}.dashboard-section-toggle-metric.stat-green{color:#4ade80}.dashboard-section-toggle-metric.stat-orange{color:#fb923c}.dashboard-section-chevron{width:18px;height:18px;color:#e2e8f0d9;transition:transform .2s ease}.dashboard-section.is-open .dashboard-section-chevron{transform:rotate(180deg);color:#7dd3fc}.dashboard-section-body{display:none;padding-top:.5rem}.dashboard-section.is-open .dashboard-section-body{display:block}.dashboard-section-body .dashboard-row{margin-bottom:0}}.dashboard-latest-card{padding:1.1rem 1.1rem 1.25rem}.dashboard-latest-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.dashboard-latest-header h3{margin:0 0 .2rem;font-size:1rem;color:#0f172a}.dashboard-latest-header p{margin:0;font-size:.82rem;color:#64748b}.dashboard-latest-empty{margin:0;color:#64748b}.dashboard-latest-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.dashboard-latest-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff}.dashboard-latest-table th,.dashboard-latest-table td{padding:.7rem .8rem;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top;font-size:.8rem;color:#334155}.dashboard-latest-table th{background:#f8fafc;color:#0f172a;font-weight:700;white-space:nowrap}.dashboard-latest-table tbody tr:nth-child(2n) td{background:#fcfdff}.dashboard-latest-table tbody tr:hover td{background:#f8fbff}.dashboard-latest-strong{font-weight:700;color:#0f172a;white-space:nowrap}.dashboard-latest-summary{max-width:26ch;overflow:hidden;text-overflow:ellipsis}.dashboard-latest-subtle{font-size:.73rem;color:#64748b;margin-top:.15rem}.dashboard-latest-number{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-latest-mobile{display:none}@media(max-width:720px){.dashboard-latest-desktop{display:none}.dashboard-latest-mobile{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.dashboard-latest-card-mobile{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .85rem .75rem 1rem;box-shadow:0 1px 3px #0f172a0d;overflow:hidden}.dashboard-latest-card-mobile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.dashboard-latest-card-mobile.is-reservation:before{background:#0ea5e9}.dashboard-latest-card-mobile.is-transfer:before{background:#16a34a}.dashboard-latest-card-mobile.is-expense:before{background:#ea580c}.dashboard-latest-card-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.dashboard-latest-card-mobile-type{display:inline-flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto}.dashboard-latest-card-mobile-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;flex:0 0 auto;color:#475569;background:#f1f5f9}.dashboard-latest-card-mobile-icon svg{width:15px;height:15px}.dashboard-latest-card-mobile-icon.is-reservation{color:#0369a1;background:#e0f2fe}.dashboard-latest-card-mobile-icon.is-transfer{color:#166534;background:#dcfce7}.dashboard-latest-card-mobile-icon.is-expense{color:#9a3412;background:#ffedd5}.dashboard-latest-card-mobile-ref{font-size:.85rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-latest-card-mobile-kind{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-latest-card-mobile-kind:before{content:"·";margin:0 .35rem 0 0;color:#cbd5e1}.dashboard-latest-card-mobile-time{font-size:.7rem;color:#94a3b8;font-weight:600;white-space:nowrap;flex:0 0 auto}.dashboard-latest-card-mobile-title{font-size:.9rem;font-weight:600;color:#0f172a;line-height:1.3;margin-bottom:.55rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-latest-card-mobile-money{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-top:.55rem;border-top:1px dashed #e2e8f0}.dashboard-latest-card-mobile-amount{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:#0f172a}.dashboard-latest-card-mobile-amount.is-reservation{color:#0284c7}.dashboard-latest-card-mobile-amount.is-transfer{color:#16a34a}.dashboard-latest-card-mobile-amount.is-expense{color:#ea580c}.dashboard-latest-card-mobile-ccy{font-size:.72rem;font-weight:600;color:#64748b;margin-left:.15rem}.dashboard-latest-card-mobile-flow{font-size:.78rem;color:#475569;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dashboard-latest-card-mobile-dates{display:flex;align-items:center;gap:.3rem;margin-top:.45rem;font-size:.72rem;color:#64748b;flex-wrap:wrap}.dashboard-latest-card-mobile-dates strong{color:#334155;font-weight:700}.dashboard-latest-card-mobile-dates .dot{color:#cbd5e1}}.dashboard-summary-wrap{overflow-x:auto;margin-bottom:1rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.dashboard-summary-table{width:max-content;min-width:100%;border-collapse:collapse}.dashboard-summary-cell{padding:.45rem .65rem;font-size:.72rem;font-weight:700;text-align:center;white-space:nowrap;border:1px solid #cbd5e1}.dashboard-summary-label{background:#d9f99d;color:#1f2937}.dashboard-summary-value{background:#fff7ed;color:#9a3412}.dashboard-summary-header{background:#22d3ee;color:#0f172a}.dashboard-summary-year,.dashboard-summary-month{background:#e5e7eb;color:#111827}.dashboard-summary-row-label{background:#f3f4f6;color:#374151}.dashboard-summary-number{background:#fef08a;color:#0f172a;font-variant-numeric:tabular-nums}.dashboard-summary-select{width:100%;min-width:110px;padding:.25rem .35rem;border-radius:6px;border:1px solid #94a3b8;background:#fff;color:#0f172a;font-size:.72rem;font-weight:700}.dashboard-summary-mobile{display:none}@media(max-width:720px){.dashboard-summary-desktop{display:none}.dashboard-summary-mobile{display:block;margin-bottom:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.dashboard-summary-mobile-switcher{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.5rem;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.dashboard-summary-mobile-tab{appearance:none;border:1px solid transparent;background:transparent;padding:.55rem .5rem;border-radius:10px;font:inherit;font-weight:700;font-size:.85rem;color:#475569;cursor:pointer;touch-action:manipulation;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.dashboard-summary-mobile-tab:active{transform:scale(.98)}.dashboard-summary-mobile-tab.is-active{background:#fff;color:#0f172a;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a1a}.dashboard-summary-mobile-month-picker{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem 0;font-size:.75rem;color:#64748b;font-weight:600}.dashboard-summary-mobile-month-picker select{flex:1 1 auto;min-height:2.5rem;padding:.35rem .5rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:.9rem;font-weight:600}.dashboard-summary-mobile-hero{padding:.9rem 1rem .8rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff)}.dashboard-summary-mobile-hero-label{font-size:.72rem;color:#64748b;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.15rem}.dashboard-summary-mobile-hero-value{font-size:1.7rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.dashboard-summary-mobile-hero.is-positive .dashboard-summary-mobile-hero-value{color:#16a34a}.dashboard-summary-mobile-hero.is-negative .dashboard-summary-mobile-hero-value{color:#ea580c}.dashboard-summary-mobile-hero-period{margin-top:.25rem;font-size:.72rem;color:#64748b;font-weight:600}.dashboard-summary-mobile-core{list-style:none;margin:0;padding:0;border-bottom:1px solid #e2e8f0}.dashboard-summary-mobile-core li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.85rem}.dashboard-summary-mobile-core li:last-child{border-bottom:none}.dashboard-summary-mobile-core .label{color:#475569;font-weight:600}.dashboard-summary-mobile-core .value{color:#0f172a;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-summary-mobile-partners{padding:.25rem 0 .5rem}.dashboard-summary-mobile-partners-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.65rem 1rem .4rem}.dashboard-summary-mobile-partners-header h4{margin:0;font-size:.78rem;font-weight:700;color:#0f172a;letter-spacing:.02em;text-transform:uppercase}.dashboard-summary-mobile-partners-hint{font-size:.68rem;color:#94a3b8;font-weight:600}.dashboard-summary-mobile-partners ul{list-style:none;margin:0;padding:0}.dashboard-summary-mobile-partner-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;border-top:1px solid #f1f5f9;text-decoration:none;color:inherit;min-height:2.75rem;touch-action:manipulation;transition:background-color .15s ease}.dashboard-summary-mobile-partner-row:active{background:#f1f5f9}.dashboard-summary-mobile-partner-row .name{font-size:.88rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-summary-mobile-partner-row .amount{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-summary-mobile-partner-row .amount.is-positive{color:#16a34a}.dashboard-summary-mobile-partner-row .amount.is-negative{color:#ea580c}.dashboard-summary-mobile-partner-row .chev{width:14px;height:14px;color:#94a3b8}.dashboard-summary-mobile-show-all{appearance:none;background:transparent;border:none;color:#2563eb;font:inherit;font-weight:600;font-size:.78rem;padding:.65rem 1rem;width:100%;text-align:left;cursor:pointer;border-top:1px solid #f1f5f9}.dashboard-summary-mobile-show-all:active{background:#eff6ff}}.dashboard-submenu{display:flex;gap:.6rem;flex-wrap:wrap}.btn-dashboard{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#38bdf8;color:#0c4a6e;padding:.5rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid transparent;box-shadow:0 1px 2px #0284c72e;transition:background-color .18s ease,color .18s ease,transform .08s ease,box-shadow .18s ease;touch-action:manipulation}.btn-dashboard:hover{background:#0ea5e9;color:#fff}.btn-dashboard:active{transform:scale(.97)}.btn-dashboard.active{background:#0284c7;color:#fff;box-shadow:0 2px 6px #0284c759}.btn-dashboard-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.btn-dashboard-icon svg{width:20px;height:20px;stroke:currentColor;display:block}.btn-dashboard-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.btn-dashboard-disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;pointer-events:none}.page-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.page-heading-row h2{margin:0}.nav-secondary-mobile{display:none}@media(max-width:720px){.nav.nav--open .nav-secondary-mobile{display:flex;flex-direction:column;align-items:stretch;width:100%;border-top:1px solid #e2e8f0;margin-top:.35rem;padding-top:.5rem;gap:0}.nav.nav--open .nav-secondary-mobile a{padding:.65rem 0;border-bottom:1px solid #f1f5f9}.nav.nav--open .nav-secondary-mobile a.active{border-bottom-color:#f1f5f9;border-left:3px solid #0ea5e9;padding-left:.35rem}}.mobile-quick-nav{display:none}@media(max-width:720px){.mobile-quick-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem;padding:.6rem .75rem .1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:20}.mobile-quick-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.55rem .4rem;min-height:60px;border-radius:12px;background:#fff;border:1px solid #cbd5e1;color:#0f172a;text-decoration:none;font-weight:600;font-size:.78rem;line-height:1.1;text-align:center;box-shadow:0 1px 2px #0f172a0a;touch-action:manipulation;transition:transform .08s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.mobile-quick-nav-item:active{transform:scale(.97)}.mobile-quick-nav-item.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.mobile-quick-nav-icon{width:22px;height:22px;stroke:currentColor}.mobile-quick-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-quick-nav-primary{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 2px 6px #2563eb47}.mobile-quick-nav-primary.is-active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}}.back-to-dashboard-link{display:inline-block;margin-bottom:1rem;color:var(--text-secondary);text-decoration:none;padding:.35rem 0;min-height:2.75rem;line-height:1.5;box-sizing:border-box;touch-action:manipulation}.rmn-loading{padding:2rem 1rem max(2rem,env(safe-area-inset-bottom));text-align:center;color:var(--text-secondary)}.expense-toggle-link{display:inline-block;padding:.4rem 1rem;font-weight:500;cursor:pointer;font-size:.95rem;border:none;background:none}.expense-toggle-new{color:#0ea5e9;text-decoration:underline}.expense-toggle-new:hover{color:#0284c7}.expense-toggle-hide{border-radius:9999px;background:#e0f2fe;border:1px solid #38bdf8;color:#0369a1;text-decoration:none}.expense-toggle-hide:hover{background:#bae6fd;color:#0284c7}.expense-form-card{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #38bdf8;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.expense-form-card .form-group label{color:#0369a1}.expense-form-card input,.expense-form-card select,.expense-form-card textarea{background:#fff;border:1px solid #cbd5e1;color:var(--text-primary)}.expense-form-search-row{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1rem}.expense-form-search-row .form-group{flex:1;margin-bottom:0}.btn-new{background:#f1f5f9;color:var(--text-primary);border:1px solid #cbd5e1;padding:.6rem 1rem}.btn-new:hover{background:#e2e8f0}.expense-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem 1.25rem;margin-bottom:1rem}@media(max-width:768px){.expense-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.expense-form-grid{grid-template-columns:1fr}}.btn-save-expense{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;padding:.6rem 1.5rem}.btn-save-expense:hover:not(:disabled){opacity:.95}.expense-list-card{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #38bdf8;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.expense-list-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.expense-list-filters-inline{display:flex;align-items:flex-end;gap:1rem}.expense-list-filters-inline label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#0369a1}.expense-month-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.expense-year-select,.expense-month-select{padding:.4rem .6rem;border-radius:6px;border:1px solid #38bdf8;background:#fff;white-space:nowrap}.expense-month-total{font-weight:700;color:#dc2626;font-size:1.1rem}.expense-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.transfers-toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;align-items:center}.transfers-toolbar input[type=text]{flex:1 1 200px;min-width:180px;padding:.5rem .75rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--text-primary)}.transfers-toolbar select{padding:.5rem .75rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--text-primary)}.transfers-toolbar input[type=number]{width:90px;padding:.5rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--text-primary)}.expense-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.transfers-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;font-size:.9rem}.transfers-table th,.transfers-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid #e0f2fe;vertical-align:middle}.transfers-table th{background:#f0f9ff;color:#0369a1;font-weight:600;white-space:nowrap}.transfers-table tbody tr:hover td{background:#f8fafc}.transfers-th-ref,.transfers-td-ref,.transfers-th-date,.transfers-td-date,.transfers-th-account,.transfers-td-account,.transfers-th-amount,.transfers-td-amount{white-space:nowrap}.transfers-td-ref{font-weight:600}.transfers-th-amount,.transfers-td-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#0f172a}.transfers-td-desc{word-break:break-word;line-height:1.4;min-width:14rem}.transfers-td-account{color:#334155}.expense-table th,.expense-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #e0f2fe}.expense-table th{background:#f0f9ff;color:#0369a1;font-weight:600}.expense-table tbody tr:hover{background:#f8fafc}.expense-th-desc{text-align:center!important}.expense-td-desc{text-align:right!important}.expense-td-desc span{display:block;direction:rtl;text-align:right}.expense-th-ref,.expense-th-date,.expense-th-amount,.expense-td-ref,.expense-td-date,.expense-td-amount{white-space:nowrap}.expense-ref-link{background:none;border:none;padding:0;color:#0ea5e9;text-decoration:underline;cursor:pointer;font-size:inherit}.expense-ref-link:hover{color:#0284c7}.expense-amount{color:#dc2626;font-weight:500;text-align:right!important}.reservation-form{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #38bdf8;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.reservation-form-header{margin-bottom:1.25rem}.reservation-form-audit{margin:-.25rem 0 1.25rem;padding:.75rem 1rem;background:linear-gradient(135deg,#0ea5e914,#3b82f60f);border:1px solid rgba(14,165,233,.25);border-radius:8px;font-size:.875rem}.reservation-form-audit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem 1.25rem}.reservation-form-audit-item{display:flex;flex-direction:column;gap:.2rem}.reservation-form-audit-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.reservation-form-audit-value{color:#0f172a;word-break:break-word}.reservation-form-audit-mono{font-family:ui-monospace,monospace;font-size:.8rem}.reservation-form-title{margin:0;font-size:1.25rem;font-weight:600;color:#0369a1}.reservation-form-section{background:#fff9;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.reservation-form-section-title{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:#0369a1;text-transform:uppercase;letter-spacing:.03em}.reservation-form-grid{display:grid;gap:1rem 1.5rem}.reservation-form-grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.reservation-form-grid-3{grid-template-columns:1fr}}.reservation-form-toggle{background:none;border:none;padding:.5rem 0;font-size:.95rem;font-weight:500;color:#0369a1;cursor:pointer}.reservation-form-toggle:hover{color:#0284c7;text-decoration:underline}.reservation-form-more{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(56,189,248,.3)}.reservation-form .form-group label{color:#0369a1}.reservation-form input,.reservation-form select,.reservation-form textarea{background:#fff;border:1px solid #7dd3fc;border-radius:8px;padding:.6rem .75rem}.reservation-form-readonly{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed}.reservation-form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(56,189,248,.4);flex-wrap:wrap}.reservation-form-actions .btn-danger{background:#dc2626;color:#fff;border-color:#dc2626;margin-left:auto}.reservation-form-actions .btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.reservation-form-actions .btn-restore{background:#047857;color:#fff;border-color:#047857;margin-left:auto}.reservation-form-actions .btn-restore:hover:not(:disabled){background:#065f46;border-color:#065f46}.reservation-cancel-banner{background:#fef3c7;border:1px solid #f59e0b;border-left:4px solid #b45309;border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;color:#78350f}.reservation-cancel-banner-title{font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase}.reservation-cancel-banner-meta{margin-top:.25rem;font-size:.85rem;color:#92400e}.reservation-cancel-banner-reason{margin-top:.35rem;font-size:.9rem}.reservation-list-card{padding:1.25rem}.reservation-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.reservation-list-search{flex:1 1 320px}.reservation-list-filters{display:flex;gap:.75rem;flex-wrap:wrap}.reservation-filter-select{min-width:160px;padding:.7rem .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.92rem;color:var(--text-primary)}.reservation-list-date-from{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reservation-list-date-from-label{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.reservation-date-from-input{padding:.55rem .65rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.92rem;color:var(--text-primary);min-width:140px}.reservation-date-from-reset{padding:.45rem .75rem;border-radius:8px;border:1px solid #bae6fd;background:#f0f9ff;color:#0369a1;font-size:.85rem;font-weight:500;cursor:pointer}.reservation-date-from-reset:hover{background:#e0f2fe}.reservation-list-chip-note{font-weight:400;opacity:.92}.reservation-search-input{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.95rem}.reservation-list-meta{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.reservation-list-chip{display:inline-flex;align-items:center;min-height:36px;padding:.45rem .8rem;border-radius:9999px;background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;font-size:.875rem;font-weight:500}.reservation-list-chip-strong{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.reservation-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.reservation-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}.reservation-table th,.reservation-table td{padding:.85rem .9rem;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:middle}.reservation-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#334155;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reservation-table tbody tr:nth-child(2n){background:#fcfdff}.reservation-table tbody tr:hover{background:#f8fbff}.reservation-group-row td{border-bottom:1px solid #dbeafe}.reservation-group-cell{padding:.7rem .9rem!important;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.reservation-group-label-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.reservation-group-label{display:inline-flex;align-items:center;padding:.28rem .75rem;border-radius:9999px;background:#e2e8f0;color:#334155;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reservation-group-label-today{background:#dcfce7;color:#166534}.reservation-group-count{color:#64748b;font-size:.84rem;font-weight:600}.reservation-row-today{background:#f7fff9!important}.reservation-row-today:hover{background:#ecfdf3!important}.reservation-row-same-day{background:#fef2f2!important}.reservation-row-same-day:hover{background:#fee2e2!important}.reservation-row-long-stay{background:#ecfdf5!important}.reservation-row-long-stay:hover{background:#d1fae5!important}.reservation-row-today.reservation-row-long-stay{background:#ecfdf5!important}.reservation-row-today.reservation-row-long-stay:hover{background:#d1fae5!important}.reservation-row-bundle .reservation-ref-cell{box-shadow:inset 4px 0 0 var(--bundle-edge, #6366f1)}.reservation-row-bundle--0{--bundle-edge: #6366f1}.reservation-row-bundle--1{--bundle-edge: #0d9488}.reservation-row-bundle--2{--bundle-edge: #c026d3}.reservation-row-bundle--3{--bundle-edge: #ea580c}.reservation-row-bundle--4{--bundle-edge: #2563eb}.reservation-row-bundle--5{--bundle-edge: #ca8a04}.reservation-ref-cell,.reservation-date-cell,.reservation-price-cell{white-space:nowrap}.reservation-client-cell{min-width:220px}.reservation-price-cell{text-align:right!important;font-variant-numeric:tabular-nums}.reservation-tent-cell,.reservation-account-cell{white-space:nowrap}.reservation-emp-cell{font-size:.88rem;color:#475569;font-variant-numeric:tabular-nums;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-mobile-card-emp{margin-top:.35rem;font-size:.78rem;color:#64748b;font-variant-numeric:tabular-nums}.reservation-mobile-aj-badge{display:inline-block;margin-left:.25rem;padding:.1rem .35rem;border-radius:4px;background:#e0f2fe;color:#0369a1;font-size:.72rem;font-weight:700}.reservation-pax-cell{text-align:center!important;font-variant-numeric:tabular-nums;font-weight:600;color:#475569;white-space:nowrap}.reservation-mobile-card-pax{font-weight:600;color:#64748b}.reservation-ref-link{display:inline-flex;align-items:center;background:none;border:none;padding:0;color:#0ea5e9;text-decoration:underline;cursor:pointer;font-size:inherit;font-weight:600;white-space:nowrap;word-break:normal;overflow-wrap:normal}.reservation-ref-link:hover{color:#0284c7}.reservation-empty-state{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569}@media(max-width:768px){.reservation-list-toolbar{align-items:stretch}.reservation-list-filters{width:100%}.reservation-list-date-from{width:100%;justify-content:flex-start}.reservation-filter-select{flex:1 1 160px}}.records-page-card{padding:1.25rem}.records-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.records-search-wrap{flex:1 1 340px}.records-search-input{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.92rem}.records-year-select{padding:.7rem .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;font-size:.92rem;color:var(--text-primary)}.records-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.records-toggle-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid #f59e0b;border-radius:9999px;background:#fffbeb;color:#92400e;font-size:.78rem;font-weight:600}.records-toggle-chip input{margin:0}.records-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.records-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.records-table th,.records-table td{padding:.55rem .75rem;border-bottom:1px solid #e2e8f0;font-size:.76rem;white-space:nowrap;line-height:1.35;color:#334155;background:#fff}.records-table th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.records-table tbody tr:nth-child(2n) td{background:#fcfdff}.records-table tbody tr:hover td{background:#f8fbff}.records-table tbody tr.records-row-canceled td{background:#fef3c7}.records-table tbody tr.records-row-canceled:hover td{background:#fde68a}.records-col-sticky-ref{position:sticky;left:0;z-index:3;min-width:120px}.records-col-sticky-client{position:sticky;left:120px;z-index:3;width:20ch;min-width:20ch;max-width:20ch}.records-table thead .records-col-sticky-ref,.records-table thead .records-col-sticky-client{z-index:4;background:#f8fafc}.records-table tbody tr:nth-child(2n) .records-col-sticky-ref,.records-table tbody tr:nth-child(2n) .records-col-sticky-client{background:#fcfdff}.records-table tbody tr:hover .records-col-sticky-ref,.records-table tbody tr:hover .records-col-sticky-client{background:#f8fbff}.records-table tbody tr.records-row-canceled .records-col-sticky-ref,.records-table tbody tr.records-row-canceled .records-col-sticky-client{background:#fef3c7}.records-table tbody tr.records-row-canceled:hover .records-col-sticky-ref,.records-table tbody tr.records-row-canceled:hover .records-col-sticky-client{background:#fde68a}.records-col-number{text-align:right!important;font-variant-numeric:tabular-nums}.records-cell-strong{font-weight:700;color:#0f172a}.records-cell-ellipsis{overflow:hidden;text-overflow:ellipsis}.records-cell-client,.records-cell-description{width:20ch;min-width:20ch;max-width:20ch}.records-cell-short{width:2ch;min-width:2ch;max-width:2ch;text-align:center!important;overflow:hidden}.employee-table{width:100%;border-collapse:collapse}.employee-table th,.employee-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e2e8f0}.employee-table th{border-bottom:1px solid #e2e8f0}.employee-name-link{background:none;border:none;padding:0;color:#0ea5e9;text-decoration:underline;cursor:pointer;font-size:inherit}.employee-name-link:hover{color:#0284c7}.jeeps-summary-row{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:1.25rem 0;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.jeeps-summary-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.5rem;border-radius:10px;min-width:120px;box-shadow:0 2px 8px #00000014}.jeeps-summary-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.jeeps-summary-value{font-size:1.25rem;font-weight:700}.jeeps-summary-jeep{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;border:1px solid #7dd3fc}.jeeps-summary-payment{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.jeeps-summary-balance{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #6ee7b7}.availability-page{margin-bottom:2rem;padding-top:0}.availability-stats-top{margin:0 0 .75rem;color:var(--text-secondary);font-size:.9rem}.availability-stats{margin:0;color:var(--text-secondary);font-size:.95rem}.availability-filters{display:flex;gap:.5rem}.availability-filters-legend{margin-bottom:.75rem}.availability-select{padding:.4rem .6rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff}.availability-content{display:flex;gap:1.5rem;align-items:flex-start}.availability-grid-wrap{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.availability-table-container{width:100%;overflow:auto;max-height:calc(100vh - 180px);flex:1;min-height:200px}.availability-table{width:100%;border-collapse:collapse;font-size:.75rem;background:#fff;table-layout:fixed}.availability-table th,.availability-table td{border:1px solid #e2e8f0;padding:.2rem .15rem;text-align:center}.availability-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;box-shadow:0 1px #e2e8f0}.availability-th-no,.availability-td-no{width:3.35rem;min-width:3.35rem;position:sticky;left:0;z-index:1;background:#fff}.availability-td-code{font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#0f172a}.availability-table thead th.availability-th-no{z-index:3;background:#f8fafc}.availability-th-type,.availability-td-type{width:6rem;position:sticky;left:3.35rem;z-index:1;background:#fff;text-align:left!important;padding-left:.35rem!important;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-table thead th.availability-th-type{z-index:3;background:#f8fafc}.availability-th-day,.availability-td-cell{width:calc((100% - 3.35rem - 6rem) / var(--days, 31));min-width:0}.availability-td-cell{font-weight:500}.availability-td-cell-clickable{cursor:pointer}.availability-td-cell--campconnect{box-shadow:inset 0 0 0 2px #05966980}.availability-cell-inner{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-width:0}.availability-cc-badge{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;font-size:.62rem;line-height:1;border-radius:50%;background:#059669;color:#fff;font-weight:700;flex-shrink:0}.availability-legend{flex-shrink:0;width:200px;background:#f0f9ff;border:1px solid #7dd3fc;border-radius:8px;padding:1rem;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - 180px);overflow-y:auto}.availability-legend-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#0369a1}.availability-legend-list{list-style:none;margin:0;padding:0}.availability-legend-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.availability-legend-color-wrap{position:relative;cursor:pointer;display:inline-block}.availability-legend-color{display:block;width:18px;height:18px;border:1px solid #94a3b8;border-radius:3px}.availability-legend-color-input{position:absolute;top:0;left:0;width:18px;height:18px;opacity:0;cursor:pointer}.availability-legend-color-input:disabled{cursor:default;pointer-events:none}.availability-legend-name{font-size:.875rem;color:var(--text-primary)}.reservation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.reservation-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column}.reservation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.reservation-modal-back{background:none;border:none;color:#0ea5e9;cursor:pointer;font-size:.95rem}.reservation-modal-back:hover{text-decoration:underline}.reservation-modal-actions{display:flex;gap:.5rem}.reservation-modal-body{overflow-y:auto;padding:1rem 1.25rem;flex:1;min-height:0}.reservation-view-popup{max-width:440px}.reservation-view-popup .reservation-modal-header{gap:.75rem}.reservation-view-popup-accent{display:inline-block;width:10px;height:28px;border-radius:4px;background:#cbd5e1;flex-shrink:0}.reservation-view-popup-title{margin:0;font-size:1.05rem;font-weight:600;color:#0f172a;flex:1}.reservation-view-popup-grid{display:grid;grid-template-columns:max-content 1fr;column-gap:1rem;row-gap:.55rem;margin:0}.reservation-view-popup-grid dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;align-self:center}.reservation-view-popup-grid dd{margin:0;font-size:.95rem;color:#0f172a;align-self:center;word-break:break-word}.reservation-view-popup-sub{color:#64748b;font-size:.85rem}.reservation-view-popup-note{margin:1rem 0 0;padding-top:.75rem;border-top:1px dashed #e2e8f0;font-size:.8rem;color:#64748b}@media(max-width:720px){.header{padding:.75rem 1rem}.header-title{font-size:1.15rem}.header-user-label{max-width:100px}.header-nav-toggle{display:inline-flex}.nav{display:none;flex-direction:column;align-items:stretch;gap:0;border-top:none;padding-top:0}.nav.nav--open{display:flex;border-top:1px solid #e2e8f0;padding-top:.5rem}.nav a{padding:.65rem 0;border-bottom:1px solid #f1f5f9}.nav a.active{border-bottom-color:#f1f5f9;border-left:3px solid #0ea5e9;padding-left:.35rem}.main,.main.main-wide{padding:1rem .75rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}.page-heading-row{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.25rem}.page-heading-row .dashboard-submenu{width:100%}.dashboard-submenu{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:stretch;width:100%}.dashboard-submenu .btn-dashboard{flex:1 1 0;min-width:0;flex-direction:column;gap:.2rem;padding:.55rem .25rem;min-height:3.6rem;font-size:.7rem;font-weight:600;line-height:1.1;border-radius:12px;background:#fff;color:#0369a1;border:1px solid #bae6fd;box-shadow:0 1px 2px #0ea5e91f}.dashboard-submenu .btn-dashboard.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9;box-shadow:0 3px 8px #0ea5e959}.dashboard-submenu .btn-dashboard-icon svg{width:22px;height:22px}.dashboard-submenu .btn-dashboard-label{font-size:.68rem;letter-spacing:.01em}.dashboard-submenu .btn-dashboard-disabled{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;box-shadow:none}.dashboard-row{flex-direction:column;align-items:stretch}.dashboard-row .dashboard-card{min-width:0;width:100%}.dashboard-summary-wrap{-webkit-overflow-scrolling:touch}.records-toolbar{flex-direction:column;align-items:stretch}.records-search-wrap{flex:1 1 auto;width:100%}.records-meta{width:100%}.records-search-input,.records-year-select{font-size:16px;min-height:2.75rem}.records-table-wrap{-webkit-overflow-scrolling:touch}.expense-form-search-row{flex-direction:column;align-items:stretch;gap:.75rem}.expense-form-search-row .btn-new{width:100%;min-height:2.75rem}.expense-list-header-row{flex-direction:column;align-items:stretch;gap:.75rem}.expense-list-filters-inline{flex-direction:column;align-items:stretch;width:100%;gap:.65rem}.expense-list-filters-inline label{width:100%}.expense-month-select,.expense-year-select{width:100%;min-height:2.75rem;font-size:16px}.transfers-toolbar{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.transfers-toolbar input,.transfers-toolbar select{width:100%!important;min-width:0!important;min-height:2.75rem;font-size:16px;padding:.55rem .75rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--text-primary)}.transfers-toolbar input[type=number]{width:100%!important}.form-group input,.form-group select,.form-group textarea,.form-card input,.form-card select,.form-card textarea,.reservation-search-input,.reservation-filter-select,.dashboard-card select,.dashboard-summary-select{font-size:16px;min-height:2.75rem;touch-action:manipulation}.btn,.header-logout,.header-nav-toggle{min-height:2.75rem;touch-action:manipulation}}.page-rmn-title{margin:0 0 1rem;font-size:1.35rem;font-weight:700;color:var(--text-primary)}.page-rmn-form .page-rmn-title{margin-bottom:1.25rem}.reservation-inline-toggle{margin-bottom:1rem}.reservation-form-slot{margin-bottom:1.5rem}@media(max-width:720px){.page-rmn-title{font-size:1.2rem}.reservation-form{padding:1rem}.reservation-form-actions{flex-direction:column;align-items:stretch}.reservation-form-actions .btn{width:100%;justify-content:center}.reservation-modal-overlay{padding:0;align-items:stretch;overflow:hidden}.reservation-modal{max-width:none;width:100%;height:100dvh;max-height:100dvh;min-height:0;border-radius:0;margin:0;overflow:hidden}.reservation-modal-header{position:sticky;top:0;z-index:2;background:#fff;flex-shrink:0}.reservation-modal-body{min-height:0;-webkit-overflow-scrolling:touch}}.availability-mobile-report{display:none}.availability-desktop{display:block}@media(max-width:900px){.availability-mobile-report{display:block}.availability-desktop{display:none}.availability-stats-top{font-size:.82rem;line-height:1.45}}.availability-top-cards{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem 1rem;margin:0 0 .6rem}.availability-top-cards .availability-partners-bar{margin:0}@media(min-width:901px){.availability-top-cards{gap:.75rem 1.25rem;margin-bottom:.75rem}}.availability-types-bar{display:none}@media(min-width:901px){.availability-types-bar{display:flex;flex-wrap:wrap;gap:.5rem;flex:1 1 auto;min-width:0;overflow:visible;padding-bottom:0}}.availability-type-card{flex:0 0 auto;min-width:5.5rem;padding:.35rem .5rem;border-radius:8px;border:1px solid #86efac;background:linear-gradient(180deg,#f0fdf4,#dcfce7);box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.08rem;line-height:1.15}.availability-type-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#166534;white-space:nowrap}.availability-type-value{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;color:#14532d;line-height:1.1}.availability-type-sub{font-size:.55rem;font-weight:600;color:#15803d;white-space:nowrap}@media(min-width:901px){.availability-type-card{min-width:6rem;padding:.4rem .55rem}.availability-type-label{font-size:.6rem}.availability-type-value{font-size:1.05rem}}.availability-partners-bar{display:flex;gap:.45rem;margin:0 0 .6rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.1rem}@media(min-width:901px){.availability-partners-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));max-width:min(560px,100%);overflow:visible;gap:.5rem;margin-bottom:.75rem}}.availability-partner-card{flex:1 1 0;min-width:4.75rem;padding:.35rem .45rem;border-radius:8px;border:1px solid #fcd34d;background:linear-gradient(180deg,#fffbeb,#fef3c7);box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:.08rem;align-items:center;text-align:center;line-height:1.15}@media(min-width:901px){.availability-partner-card{min-width:0;padding:.4rem .5rem}}.availability-partner-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#92400e}@media(min-width:901px){.availability-partner-label{font-size:.6rem}}.availability-partner-value{font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;color:#0f172a;line-height:1.1}@media(min-width:901px){.availability-partner-value{font-size:.88rem}}.availability-partner-sub{font-size:.55rem;font-weight:600;color:#b45309;line-height:1.15}.availability-mobile-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;margin-bottom:.75rem}.availability-mobile-toolbar .availability-filters{width:100%;margin-bottom:.65rem}.availability-select-grow{flex:1;min-width:0}.availability-mobile-empty-toggle{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.availability-mobile-empty-toggle input{margin-top:.2rem}.availability-mobile-day-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:.65rem .65rem .85rem;margin-bottom:.75rem;box-shadow:0 2px 10px #0f172a0f;touch-action:pan-y}.availability-mobile-day-nav{display:flex;align-items:stretch;gap:.4rem;margin-bottom:.35rem}.availability-mobile-day-nav-btn{flex:0 0 auto;min-width:4.75rem;min-height:3rem;padding:.35rem .5rem;border-radius:12px;border:1px solid #cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc);color:#0f172a;font-weight:700;font-size:.82rem;cursor:pointer;line-height:1.2}.availability-mobile-day-nav-btn:hover:not(:disabled){border-color:#0ea5e9;color:#0284c7;background:#f0f9ff}.availability-mobile-day-nav-btn:disabled{opacity:.35;cursor:not-allowed}.availability-mobile-day-nav-center{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.15rem .25rem;gap:.15rem}.availability-mobile-day-weekday{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.availability-mobile-day-date-line{font-size:.88rem;font-weight:700;color:#0f172a;line-height:1.25}.availability-mobile-day-badges{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;min-height:1.1rem}.availability-mobile-day-tag{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:9999px}.availability-mobile-day-tag--tomorrow{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.availability-mobile-day-tag--today{background:#dcfce7;color:#166534;border:1px solid #86efac}.availability-mobile-day-hint{margin:0 0 .65rem;font-size:.72rem;color:#64748b;text-align:center;line-height:1.35}.availability-mobile-tent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.availability-mobile-tent-card{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto auto;gap:.25rem .65rem;align-items:start;padding:.85rem 1rem;border-radius:12px;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;background:#fff;box-shadow:0 1px 2px #0000000a;cursor:pointer;font:inherit;color:inherit}.availability-mobile-tent-card--occupied{border-left-width:5px}.availability-mobile-tent-no{grid-row:1 / span 3;display:inline-flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:0;min-width:3.6rem;max-width:4.25rem;line-height:1.15;padding-top:.1rem;font-variant-numeric:tabular-nums}.availability-mobile-code-zone{font-size:.72rem;font-weight:900;letter-spacing:.04em;flex-shrink:0}.availability-mobile-tent-no--dx .availability-mobile-code-zone{color:#0369a1}.availability-mobile-tent-no--cx .availability-mobile-code-zone{color:#047857}.availability-mobile-code-rest{font-size:.88rem;font-weight:800;color:#0f172a;flex-shrink:0}.availability-mobile-tent-midcol{grid-column:2;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;min-width:0;justify-content:flex-start}.availability-mobile-tent-type{font-size:.92rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.availability-mobile-tent-client-left{font-size:.78rem;font-weight:500;color:#475569;line-height:1.35;word-break:break-word;max-width:100%}.availability-mobile-tent-rightcol{grid-column:3;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;justify-self:end;justify-content:flex-start;min-width:0}.availability-mobile-tent-rightcol--pax-only{align-self:start}.availability-mobile-tent-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.28rem .5rem;border-radius:8px;background:#f1f5f9;color:#64748b}.availability-mobile-tent-card--occupied .availability-mobile-tent-badge{color:#0f172a;box-shadow:inset 0 0 0 1px #00000014}.availability-mobile-tent-money{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;max-width:9.25rem}.availability-mobile-tent-money--pending{padding:.4rem .55rem;border-radius:10px;background:linear-gradient(180deg,#fffbeb,#fef9c3);border:1px solid #facc15;box-shadow:0 1px 3px #eab30833}.availability-mobile-tent-money--clickable{cursor:pointer}.availability-mobile-tent-money--clickable:hover,.availability-mobile-tent-money--clickable:focus-visible{background:linear-gradient(180deg,#fef3c7,#fde68a);box-shadow:0 0 0 2px #f59e0b2e;outline:none}.availability-mobile-tent-pending-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#a16207}.availability-mobile-tent-pending-action{font-size:.56rem;font-weight:700;color:#92400e}.availability-mobile-tent-pending-action--locked{color:#6b7280;font-weight:600;font-style:italic;text-transform:none;letter-spacing:0}.availability-mobile-tent-money--pending .availability-mobile-tent-money-amount{font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;color:#854d0e;line-height:1.25}.availability-mobile-tent-money--balance{padding:.4rem .55rem;border-radius:10px;background:linear-gradient(180deg,#fef2f2,#fee2e2);border:1px solid #ef4444;box-shadow:0 1px 3px #ef44442e}.availability-mobile-tent-balance-amount{font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;color:#b91c1c;letter-spacing:.01em;line-height:1.25}.availability-mobile-tent-money--amount-paid-static{padding:.4rem .55rem;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #cbd5e1;box-shadow:0 1px 2px #0f172a0f}.availability-mobile-tent-amount-paid-value{font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;color:#0f172a;letter-spacing:.01em;line-height:1.25}.availability-mobile-tent-accountname{display:flex;flex-direction:column;align-items:flex-end;margin-top:.1rem;max-width:11.5rem;text-align:right}.availability-mobile-tent-account-value{font-size:.78rem;font-weight:600;color:#334155;line-height:1.3;word-break:break-word}.availability-mobile-empty{padding:1rem;text-align:center;color:#64748b;font-size:.9rem}.availability-mobile-empty--day{margin:.5rem 0 .25rem;padding:1.25rem .75rem;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1}.availability-mobile-legend-details{margin-top:1rem;border:1px solid #bae6fd;border-radius:10px;background:#f0f9ff;padding:.35rem .85rem}.availability-mobile-legend-details summary{cursor:pointer;font-weight:600;color:#0369a1;padding:.5rem 0;list-style-position:outside}.availability-legend-list--mobile{padding-bottom:.5rem}.expense-mobile-cards,.transfers-mobile-cards{display:none}.expense-mobile-list,.transfer-mobile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.expense-mobile-card,.transfer-mobile-card{border:1px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;background:#fff;box-shadow:0 1px 2px #0000000d}.expense-mobile-card-top,.transfer-mobile-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.expense-mobile-card-ref{background:none;border:none;padding:0;font:inherit;font-weight:800;font-size:.95rem;color:#0ea5e9;text-decoration:underline;cursor:pointer;text-align:left;min-height:2.75rem;touch-action:manipulation}.expense-mobile-card-ref:active{opacity:.85}.expense-mobile-card-amount{font-weight:800;font-variant-numeric:tabular-nums;color:#dc2626;font-size:1rem;flex-shrink:0;line-height:1.2}.expense-mobile-card-desc{font-size:.9rem;line-height:1.45;color:#1e293b;word-break:break-word;margin:0 0 .5rem}.expense-mobile-card-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.78rem;color:#475569;align-items:center}.expense-mobile-card-meta span{background:#f1f5f9;padding:.2rem .5rem;border-radius:6px;max-width:100%;word-break:break-word}.transfer-mobile-card-ref{font-weight:800;font-size:.95rem;color:#0f172a;font-variant-numeric:tabular-nums}.transfer-mobile-card-amount{font-weight:800;font-variant-numeric:tabular-nums;color:#0f172a;font-size:1rem;flex-shrink:0}.transfer-mobile-card-route{font-size:.85rem;font-weight:600;color:#0369a1;margin:.35rem 0;line-height:1.35;word-break:break-word}.transfer-mobile-card-desc{font-size:.9rem;line-height:1.45;color:#334155;margin:0 0 .45rem;word-break:break-word}.transfer-mobile-card-date{font-size:.8rem;color:#64748b}.reservation-mobile-cards{display:none}@media(max-width:768px){.reservation-table-desktop{display:none}.reservation-mobile-cards{display:block}.expense-table-desktop{display:none}.expense-mobile-cards{display:block}.transfers-table-desktop{display:none}.transfers-mobile-cards{display:block}.reservation-list-card{padding:1rem}}.reservation-mobile-day{margin-bottom:1.25rem}.reservation-mobile-day--today .reservation-mobile-day-header{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#ecfdf3)}.reservation-mobile-day-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;margin-bottom:.5rem}.reservation-mobile-day-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}.reservation-mobile-day-title--today{color:#166534}.reservation-mobile-day-count{font-size:.8rem;font-weight:700;color:#64748b;background:#fff;border-radius:9999px;padding:.15rem .55rem;border:1px solid #e2e8f0}.reservation-mobile-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.reservation-mobile-card{width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;background:#fff;box-shadow:0 1px 2px #0000000d;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.35rem}.reservation-mobile-card:active{transform:scale(.99)}.reservation-mobile-day--today .reservation-mobile-card{border-color:#bbf7d0}.reservation-mobile-card--same-day{border-color:#fecaca!important;background:linear-gradient(180deg,#fff1f2,#fff)!important;box-shadow:0 1px 2px #b91c1c14}.reservation-mobile-card--long-stay{border-color:#a7f3d0!important;background:linear-gradient(180deg,#ecfdf5,#fff)!important;box-shadow:0 1px 2px #05966914}.reservation-mobile-day--today .reservation-mobile-card--long-stay{border-color:#6ee7b7!important}.reservation-mobile-card--bundle{border-left-width:4px;border-left-style:solid}.reservation-mobile-card--bundle-0{border-left-color:#6366f1}.reservation-mobile-card--bundle-1{border-left-color:#0d9488}.reservation-mobile-card--bundle-2{border-left-color:#c026d3}.reservation-mobile-card--bundle-3{border-left-color:#ea580c}.reservation-mobile-card--bundle-4{border-left-color:#2563eb}.reservation-mobile-card--bundle-5{border-left-color:#ca8a04}.reservation-mobile-day--today .reservation-mobile-card--bundle-0{border-left:4px solid #6366f1}.reservation-mobile-day--today .reservation-mobile-card--bundle-1{border-left:4px solid #0d9488}.reservation-mobile-day--today .reservation-mobile-card--bundle-2{border-left:4px solid #c026d3}.reservation-mobile-day--today .reservation-mobile-card--bundle-3{border-left:4px solid #ea580c}.reservation-mobile-day--today .reservation-mobile-card--bundle-4{border-left:4px solid #2563eb}.reservation-mobile-day--today .reservation-mobile-card--bundle-5{border-left:4px solid #ca8a04}.reservation-mobile-card-ref{font-weight:800;color:#0ea5e9;font-size:.95rem}.reservation-mobile-card-client{font-weight:600;color:#0f172a;font-size:.95rem;line-height:1.3}.reservation-mobile-card-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;color:#475569}.reservation-mobile-card-price{font-variant-numeric:tabular-nums;font-weight:700;color:#0f172a}.reservation-mobile-card-paid{margin-left:.25rem;font-weight:500;color:#16a34a;font-size:.82rem}.reservation-mobile-card-footer{display:flex;justify-content:space-between;font-size:.78rem;color:#64748b;border-top:1px solid #f1f5f9;padding-top:.45rem;margin-top:.15rem}@media(min-width:721px){.header{padding:1rem 1.75rem}.header-title{font-size:1.5rem}.header-user-label{max-width:220px;font-size:.875rem}}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem}.reports-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;color:inherit;transition:box-shadow .12s ease,border-color .12s ease,transform .12s ease}.reports-card:hover{border-color:#0ea5e9;box-shadow:0 4px 12px #0ea5e91f;transform:translateY(-1px)}.reports-card-title{font-size:1.05rem;font-weight:600;color:#0f172a}.reports-card-description{font-size:.9rem;color:#475569;line-height:1.45}.reports-card-cta{margin-top:auto;padding-top:.25rem;font-size:.85rem;font-weight:600;color:#0ea5e9}.reports-helper-text{margin:.5rem 0 1rem;font-size:.9rem;color:#475569}.reports-totals-row td{border-top:2px solid #cbd5e1;background:#f1f5f9}.reports-breadcrumb{color:#0ea5e9;text-decoration:none;font-weight:500}.reports-breadcrumb:hover{text-decoration:underline}.reports-breadcrumb-sep{color:#94a3b8;margin:0 .25rem}.account-ledger-wrapper{position:relative;width:100%}.account-ledger-table{width:100%;border-collapse:separate;border-spacing:0}.account-ledger-table th,.account-ledger-table td{white-space:nowrap;vertical-align:top;padding:.75rem;border-bottom:1px solid #e2e8f0;text-align:left;background:#fff}.account-ledger-table .account-ledger-desc{max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-ledger-table .account-ledger-num{text-align:right;font-variant-numeric:tabular-nums}.account-ledger-table thead th,.account-ledger-table thead td{position:sticky;background:#fff;height:2.75rem;box-sizing:border-box}.account-ledger-table thead tr:nth-child(1) th{top:0;z-index:3;font-weight:600;border-bottom:1px solid #cbd5e1}.account-ledger-table thead tr.account-ledger-totals-top td{top:2.75rem;z-index:2;background:#f1f5f9;border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1}.account-ledger-table tfoot td{white-space:nowrap}.camp-connect-guest{max-width:28rem;margin:0 auto;padding:1.5rem 1rem 3rem;min-height:100vh;box-sizing:border-box}.camp-connect-guest-header h1{margin:0 0 .25rem;font-size:1.5rem}.camp-connect-guest-sub{margin:0 0 1.25rem;color:#64748b;font-size:.95rem}.camp-connect-guest-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.camp-connect-guest-card label{display:block;margin-bottom:1rem;font-size:.9rem;font-weight:600}.camp-connect-guest-card input{display:block;width:100%;margin-top:.35rem;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;box-sizing:border-box}.camp-connect-guest-error{color:#b91c1c;font-size:.9rem}.camp-connect-guest-muted{color:#64748b;font-size:.95rem}.camp-connect-name-list{list-style:none;padding:0;margin:0 0 1rem}.camp-connect-name-list li{margin-bottom:.5rem}.camp-connect-name-btn{width:100%;text-align:left}.camp-connect-guest--with-chat{max-width:min(40rem,100vw - 2rem)}.camp-connect-guest-warn{color:#a16207;font-size:.88rem;margin:.5rem 0 0}.camp-connect-guest-session{max-width:100%}.camp-connect-chat-log{max-height:min(50vh,22rem);overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin:.75rem 0;background:#f8fafc}.camp-connect-chat-line{margin-bottom:.65rem}.camp-connect-chat-line:last-child{margin-bottom:0}.camp-connect-chat-line--staff .camp-connect-chat-meta{color:#1d4ed8}.camp-connect-chat-line--guest .camp-connect-chat-meta{color:#047857}.camp-connect-chat-meta{font-size:.78rem;font-weight:600;display:block}.camp-connect-chat-body{margin:.15rem 0 0;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.camp-connect-chat-form{display:flex;gap:.5rem;margin-bottom:1rem}.camp-connect-chat-form input{flex:1;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}.camp-connect-voice-wrap{position:relative;margin:.75rem 0 .35rem}.camp-connect-voice-hint{font-size:.85rem;color:#64748b;margin:.35rem 0 0;line-height:1.35}.camp-connect-remote-audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0,0,0,0)}.camp-connect-call-status{font-size:.85rem;color:#64748b;margin:.25rem 0}.camp-connect-call-actions{margin-bottom:.75rem}.camp-connect-signout{margin-top:.5rem}.camp-connect-staff{max-width:min(40rem,100vw - 2rem);margin:0 auto;padding:1.5rem 1rem 3rem;min-height:100vh;box-sizing:border-box}.main .camp-connect-staff{min-height:auto;padding-top:.5rem}.camp-connect-notify-banner{position:relative;z-index:1;max-width:min(56rem,100%);margin:0 auto .75rem;padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.camp-connect-notify-banner__row{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}@media(min-width:520px){.camp-connect-notify-banner__row{flex-direction:row;flex-wrap:wrap;align-items:center}}.camp-connect-notify-banner__text{margin:0;flex:1;min-width:0}.camp-connect-notify-enable{width:100%;min-height:44px;padding:.65rem 1rem;font-size:1rem;font-weight:600;box-sizing:border-box;-webkit-tap-highlight-color:rgba(37,99,235,.2);touch-action:manipulation;position:relative;z-index:2}@media(min-width:520px){.camp-connect-notify-banner__row .camp-connect-notify-enable{width:auto;min-width:12rem;align-self:flex-start}}.camp-connect-staff-thread-card{display:flex;flex-direction:column}.camp-connect-staff-thread-card>.camp-connect-staff-voice-bar{order:2}.camp-connect-staff-thread-card>.camp-connect-chat-log{order:0}.camp-connect-staff-thread-card>.camp-connect-chat-form{order:1}.camp-connect-staff-thread-card>.camp-connect-staff-footer-actions{order:3}@media(max-width:720px){.camp-connect-staff-thread-card>.camp-connect-staff-voice-bar{order:-1}}.camp-connect-staff-voice-bar{margin:0 0 .75rem;padding:.75rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px}@media(min-width:721px){.camp-connect-staff-voice-bar{margin:.75rem 0 0;padding:0;background:transparent;border:none;border-radius:0}}.camp-connect-guest-voice-bar{margin:.75rem 0;padding:.75rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px}.camp-connect-voice-heading{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:#0c4a6e}.camp-connect-voice-mic-hint{margin:0 0 .65rem;font-size:.88rem;line-height:1.4;color:#0369a1}.camp-connect-voice-start,.camp-connect-voice-end{width:100%;min-height:44px;font-size:1rem;font-weight:600;-webkit-tap-highlight-color:rgba(37,99,235,.2);touch-action:manipulation}@media(min-width:480px){.camp-connect-voice-start,.camp-connect-voice-end{width:auto;min-width:12rem}}.camp-connect-inbox-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;align-items:start;max-width:min(56rem,100%);margin:0 auto}@media(max-width:720px){.camp-connect-inbox-layout{grid-template-columns:1fr}.camp-connect-inbox-layout--thread-open .camp-connect-inbox-thread{order:-1}.camp-connect-inbox-layout--thread-open .camp-connect-inbox-sidebar{max-height:none}}.camp-connect-inbox-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .65rem;max-height:min(70vh,520px);overflow:auto}.camp-connect-inbox-sidebar-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.camp-connect-inbox-title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}.camp-connect-inbox-back{font-size:.85rem;padding:.35rem .6rem}.camp-connect-inbox-list{list-style:none;margin:0;padding:0}.camp-connect-inbox-row{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;width:100%;text-align:start;padding:.55rem .5rem;margin-bottom:.35rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}.camp-connect-inbox-row:hover{border-color:#cbd5e1;background:#f1f5f9}.camp-connect-inbox-row.is-active{border-color:#2563eb;background:#eff6ff}.camp-connect-inbox-row-title{font-weight:700;font-size:.88rem;color:#0f172a}.camp-connect-inbox-row-preview{font-size:.82rem;color:#64748b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.camp-connect-inbox-row-preview--empty{opacity:.5}.camp-connect-inbox-row-meta{font-size:.72rem;color:#94a3b8}.camp-connect-inbox-empty{margin:.5rem 0;font-size:.88rem}.camp-connect-inbox-prompt{margin:0 0 1rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1}.camp-connect-inbox-thread{min-width:0}.camp-connect-manual-wrap{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.camp-connect-manual-toggle{width:100%;font-size:.88rem}.camp-connect-staff-header h1{margin:0 0 .25rem;font-size:1.5rem}.camp-connect-staff-url-hint,.camp-connect-staff-hint{font-size:.88rem;line-height:1.35;margin:.35rem 0 0;max-width:36rem}.camp-connect-staff-footer-actions{margin-top:1rem}.camp-connect-staff-manual{margin-bottom:1rem}.camp-connect-staff-manual-label{display:block;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.camp-connect-staff-manual-label input{display:block;width:100%;margin-top:.35rem;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;box-sizing:border-box}.camp-connect-chat-empty{margin:0;padding:.5rem 0}.availability-campconnect-hint{margin:0 0 .75rem;font-size:.9rem;color:#475569;max-width:52rem}.availability-campconnect-legend{margin:0 0 .75rem;font-size:.82rem;color:#64748b;max-width:52rem;line-height:1.4}.availability-mobile-cc-row{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#047857;font-weight:600;margin-top:.35rem;flex-wrap:wrap}.availability-mobile-cc-badge{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.58rem;border-radius:50%;background:#059669;color:#fff;font-weight:700;flex-shrink:0}.camp-connect-prefill-hint{font-size:.82rem;color:#64748b;margin:0 0 .75rem;line-height:1.4}.camp-connect-checkin-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.camp-connect-checkin-title{margin:0 0 .5rem;font-size:1rem}.camp-connect-checkin-slot{font-size:.85rem;color:#475569;margin:0 0 .75rem}.camp-connect-checkin-slot code{font-size:.85rem;background:#f1f5f9;padding:.1rem .35rem;border-radius:4px}.camp-connect-checkin-label{display:block;font-size:.9rem;font-weight:600}.camp-connect-checkin-textarea{display:block;width:100%;margin-top:.35rem;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;box-sizing:border-box;resize:vertical}.camp-connect-checkin-meta{font-size:.85rem;color:#059669;margin:.5rem 0}.camp-connect-msg{font-size:.9rem;margin:.5rem 0}:root{font-family:DM Sans,system-ui,sans-serif;line-height:1.5;color-scheme:light;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;background-color:#f8fafc}*{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;min-height:100dvh;min-height:-webkit-fill-available}.login-page{min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:max(1.5rem,env(safe-area-inset-top));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.login-page .login-form{width:100%;max-width:400px;flex-shrink:0;margin-top:min(8vh,4rem)}.login-page .form-group input{font-size:16px;touch-action:manipulation;-webkit-appearance:none;appearance:none}
