.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-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;flex-wrap:nowrap;min-height:2.4rem}.header-title{font-size:1.35rem;font-weight:700;margin:0;color:#2563eb;flex:1 1 auto;min-width:0;line-height:1.2}.header-battery{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;max-width:min(100%,20rem);border-radius:12px;padding:.25rem .35rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 3px #0f172a12;transition:box-shadow .15s,border-color .15s;align-self:center}.header-battery__row{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;line-height:1.1}.header-battery__eta{flex:0 1 auto;display:inline-flex;align-items:center;gap:.1rem;font-size:.7rem;font-weight:700;color:#64748b;letter-spacing:-.02em;white-space:nowrap;min-width:0}.header-battery__eta-dir{display:inline-block;font-size:.9em;line-height:1;font-weight:800}.header-battery__eta-dir--up{color:#16a34a}.header-battery__eta-dir--down{color:#c2410c}.header-battery:hover{box-shadow:0 3px 10px #0f172a1a;border-color:#cbd5e1}.header-battery--readonly{cursor:default;text-decoration:none;color:inherit}.header-battery--readonly:hover{box-shadow:0 1px 3px #0f172a12;border-color:#e2e8f0}.header-battery--pulsing{animation:header-batt-pulse 1.1s ease-in-out infinite}@keyframes header-batt-pulse{0%,to{opacity:.75}50%{opacity:1}}.header-battery__cell{display:inline-flex;align-items:center;line-height:0}.header-battery__svgtext{font-size:10px;font-weight:800;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;fill:#0f172a;paint-order:stroke fill;stroke:#ffffffe6;stroke-width:.35px;pointer-events:none;letter-spacing:-.02em}.header-battery__icon-wrap{display:flex;align-items:center;line-height:0}.header-battery__shell{stroke:#94a3b8;stroke-width:1.3;fill:#f1f5f9;fill-opacity:.65;transition:stroke .15s}.header-battery__terminal{fill:#94a3b8;transition:fill .15s}.header-battery:hover .header-battery__shell{stroke:#64748b}.header-battery__fill{transition:width .5s ease,fill .2s}.header-battery__fill--up{fill:#10b981;fill-opacity:.95}.header-battery__fill--down{fill:#f97316;fill-opacity:.95}.header-battery__fill--flat{fill:#0ea5e9;fill-opacity:.9}.header-battery__fill--unknown{fill:#94a3b8;fill-opacity:.85}.header-battery__fill--off{fill:#cbd5e1;fill-opacity:.6}.header-battery__fill--loading{fill:#94a3b8;fill-opacity:.5;animation:header-batt-fillshimmer 1.2s ease-in-out infinite}@keyframes header-batt-fillshimmer{0%,to{fill-opacity:.4}50%{fill-opacity:.7}}.header-brand-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;width:100%}.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}.header-duty-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}.header-duty-toggle.is-on{background:#dcfce7;border-color:#22c55e;color:#166534}.header-duty-toggle.is-off{background:#fff7ed;border-color:#fdba74;color:#9a3412}.header-duty-toggle:disabled{opacity:.7;cursor:wait}.header-qr-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.45rem .85rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:0 1px 2px #0f172a0d}.header-qr-button:hover{background:#f8fafc;border-color:#94a3b8}.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}.camp-connect-qr-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a94}.camp-connect-qr-modal{width:min(92vw,24rem);padding:1.1rem;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a52}.camp-connect-qr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.camp-connect-qr-eyebrow{margin:0 0 .2rem;color:#2563eb;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.camp-connect-qr-head h2{margin:0;color:#0f172a;font-size:1.15rem}.camp-connect-qr-close{width:2.1rem;height:2.1rem;border:0;border-radius:50%;background:#f1f5f9;color:#334155;font-size:1.35rem;line-height:1;cursor:pointer}.camp-connect-qr-help{margin:.65rem 0 1rem;color:#475569;font-size:.88rem;line-height:1.45}.camp-connect-qr-frame{display:flex;align-items:center;justify-content:center;min-height:17rem;padding:.9rem;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.camp-connect-qr-frame img{width:min(100%,16rem);height:auto;display:block}.camp-connect-qr-loading,.camp-connect-qr-error{margin:0;color:#64748b;font-size:.9rem}.camp-connect-qr-error{color:#b91c1c}.camp-connect-qr-link{display:block;margin:.85rem 0 0;color:#2563eb;font-size:.8rem;font-weight:700;text-align:center;overflow-wrap:anywhere}.camp-connect-qr-done{width:100%;margin-top:.85rem}.rmn-campstaff-admin-toast{position:fixed;z-index:950;left:50%;bottom:max(1rem,env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(94vw,22rem);pointer-events:auto}.rmn-campstaff-admin-toast__inner{position:relative;padding:.85rem 2.35rem .85rem 1rem;border-radius:14px;border:1px solid rgba(59,130,246,.35);background:linear-gradient(135deg,#eff6ff,#fff 65%);box-shadow:0 12px 40px #0f172a2e,0 2px 8px #2563eb1f}.rmn-campstaff-admin-toast__eyebrow{margin:0 0 .35rem;color:#2563eb;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rmn-campstaff-admin-toast__headline{margin:0;font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.35}.rmn-campstaff-admin-toast__detail{margin:.4rem 0 0;font-size:.8rem;color:#475569;line-height:1.45}.rmn-campstaff-admin-toast__close{position:absolute;top:.35rem;right:.35rem;width:2rem;height:2rem;border:0;border-radius:8px;background:#f1f5f9e6;color:#475569;font-size:1.35rem;line-height:1;cursor:pointer}.rmn-campstaff-admin-toast__close: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:nowrap;align-items:stretch;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}.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}@media(max-width:720px){.nav-expenses-scoped-desktop{display:none!important}}.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:minmax(0,1fr);gap:.3rem;padding:.42rem .5rem .32rem;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:.12rem;padding:.32rem .22rem;min-width:0;min-height:46px;border-radius:9px;background:#fff;border:1px solid #cbd5e1;color:#0f172a;text-decoration:none;font-weight:600;font-size:.62rem;line-height:1.08;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:18px;height:18px;flex-shrink:0;stroke:currentColor}.mobile-quick-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:.62rem;letter-spacing:-.01em}.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-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1.2rem;font-weight:600;font-size:.95rem;line-height:1.2;border-radius:10px;cursor:pointer;touch-action:manipulation;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.expense-toggle-btn--new{background:#2563eb;color:#fff;border:1px solid #1d4ed8;box-shadow:0 1px 2px #0f172a14}.expense-toggle-btn--new:hover{background:#1d4ed8;color:#fff}.expense-toggle-btn--hide{background:#fff;color:#1d4ed8;border:1px solid #93c5fd}.expense-toggle-btn--hide:hover{background:#eff6ff;border-color:#60a5fa}.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}}.directory-list-editor{margin-top:.35rem}.directory-list-editor-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.directory-list-btn{min-width:2.25rem;padding:.25rem .5rem;font-size:1.2rem;line-height:1.1;font-weight:600;border-radius:6px;border:1px solid #94a3b8;background:#f8fafc;color:#0f172a}.directory-list-btn:hover:not(:disabled){background:#e2e8f0}.directory-list-btn--danger{border-color:#f87171;color:#b91c1c}.directory-list-btn--danger:hover:not(:disabled){background:#fef2f2}.directory-list-editor-busy{font-size:.8rem;color:#64748b}.directory-list-editor-error{margin:.35rem 0 0;font-size:.82rem;color:#b91c1c}.directory-list-editor-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.directory-list-editor-input{min-width:10rem;flex:1;max-width:20rem;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:6px}.directory-list-with-select .form-group label{margin-bottom:.25rem}.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;max-width:56rem;margin-left:auto;margin-right:auto}.expense-list-card.expense-list-card--full-width{max-width:none;width:100%;margin-left:0;margin-right:0;box-sizing:border-box}.canteen-add-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.canteen-add-btn{flex:1 1 140px;min-height:2.75rem;padding:.55rem .85rem;border-radius:10px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,opacity .15s ease,box-shadow .15s ease}.canteen-add-btn:active{transform:scale(.98)}.canteen-add-btn--sale{background:linear-gradient(135deg,#15803d,#22c55e);color:#fff;box-shadow:0 2px 8px #1665344d}.canteen-add-btn--expense{background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff;box-shadow:0 2px 8px #b91c1c47}.canteen-add-btn.is-active{background:#e0f2fe;color:#0369a1;border:1px solid #38bdf8;box-shadow:inset 0 0 0 1px #0ea5e933}.canteen-add-btn:disabled{opacity:.55;cursor:not-allowed}.canteen-ref-readonly{font-weight:800;font-variant-numeric:tabular-nums;color:#0f172a}.canteen-ref-readonly--mobile{text-align:left;min-height:2.75rem;display:inline-flex;align-items:center}.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,.expense-filter-control{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#0369a1}.expense-filter-control .directory-list-editor{margin-top:0}.expense-filter-control .directory-list-editor-add{min-width:17rem}.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-ref-static{color:#0369a1;font-weight:600;font-variant-numeric:tabular-nums;font-size:inherit}.expense-amount{color:#dc2626;font-weight:500;text-align:right!important}.reservation-form{position:relative;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-dmy-date{display:flex;flex-direction:row;align-items:stretch;gap:.35rem;width:100%;min-width:0}.reservation-dmy-date__text{flex:1;min-width:0}.reservation-dmy-date__cal{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.25rem;border:1px solid #cbd5e1;border-radius:.375rem;background:#f8fafc;overflow:hidden;transition:background .12s,border-color .12s}.reservation-dmy-date__cal:has(:disabled){opacity:.55}.reservation-dmy-date__cal:hover:not(:has(:disabled)){background:#e0f2fe;border-color:#7dd3fc}.reservation-dmy-date__cal:hover:not(:has(:disabled)) .reservation-dmy-date__icon{color:#0369a1}.reservation-dmy-date__picker{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;border:0;padding:0;cursor:pointer;opacity:.02;color:transparent;font-size:16px;-webkit-appearance:none;appearance:none}.reservation-dmy-date__picker:focus{opacity:.08;outline:2px solid #38bdf8;outline-offset:-1px}.reservation-dmy-date__icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;line-height:0;color:#334155;pointer-events:none}.reservation-form-tent-line-block{margin-bottom:1rem}.reservation-form-tent-line-block+.reservation-form-tent-line-block{padding-top:1rem;margin-top:.25rem;border-top:1px solid rgba(56,189,248,.22)}.reservation-form-guest-names{margin-top:.75rem;display:flex;flex-direction:column;gap:.85rem}.reservation-form-guest-row{display:grid;gap:.65rem 1rem;grid-template-columns:1fr;align-items:start}@media(min-width:769px){.reservation-form-guest-row{grid-template-columns:1fr minmax(5.5rem,7.5rem)}.reservation-form-guest-row--per-tent-type{grid-template-columns:minmax(9rem,1.1fr) 1.4fr minmax(5.5rem,7.5rem)}}.reservation-form-guest-name-col .form-group,.reservation-form-guest-name-col{min-width:0}.reservation-form-guest-pax input{width:100%;max-width:7.5rem}.reservation-form-hint{margin:.35rem 0 0;font-size:.8rem;color:#64748b;line-height:1.35}.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-hidden-submit{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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-canceled{background:#fff7ed!important;color:#7c2d12}.reservation-row-canceled:hover{background:#ffedd5!important}.reservation-row-canceled .reservation-ref-link{color:#c2410c}.reservation-canceled-badge{display:inline-flex;align-items:center;margin-left:.45rem;padding:.12rem .45rem;border-radius:9999px;background:#fed7aa;color:#9a3412;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}.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-canceled-filter{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:0 .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.85rem;font-weight:700;white-space:nowrap}.reservation-canceled-filter input{width:1rem;height:1rem;accent-color:#ea580c}.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-header{flex-shrink:0}.records-list-body{min-width:0}.records-list-x{width:100%;min-width:0;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.records-list-x::-webkit-scrollbar{display:none;width:0;height:0}@media(min-width:721px){.records-page-root{display:flex;flex-direction:column;height:calc(100dvh - 12rem);min-height:280px}.records-page-root .records-page-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.records-page-root .records-toolbar{flex-shrink:0}.records-page-root .records-list-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}}.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:visible;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-table tbody tr:last-child td{border-bottom:none}.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-refresh-indicator{position:sticky;top:.25rem;z-index:20;max-width:22rem;margin:0;padding:0;min-height:0;height:0;overflow:hidden;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:none;box-shadow:none;text-align:center;font-size:.78rem;font-weight:700;opacity:0;transform:translateY(-.35rem);pointer-events:none;transition:opacity .16s ease,transform .16s ease,height .12s ease,margin .12s ease,padding .12s ease}.availability-refresh-indicator.is-visible{margin:0 auto .35rem;padding:.4rem .75rem;height:auto;overflow:visible;border:1px solid #bfdbfe;box-shadow:0 8px 22px #2563eb1f;opacity:1;transform:translateY(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-view-tabs{display:inline-flex;gap:.35rem;padding:.25rem;margin:0 0 .75rem;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc}.availability-view-tab{border:0;border-radius:999px;background:transparent;color:#475569;cursor:pointer;font-size:.82rem;font-weight:800;padding:.4rem .75rem}.availability-view-tab.is-active{background:#0ea5e9;color:#fff;box-shadow:0 4px 12px #0ea5e938}.availability-year-view{border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#fff);padding:1rem;box-shadow:0 6px 22px #0f172a0f}.availability-threshold-sheet{border:1px solid #fed7aa;border-radius:16px;background:linear-gradient(180deg,#fff7ed,#fff);padding:1rem;box-shadow:0 6px 22px #0f172a0f}.availability-year-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.availability-year-view-header h3{margin:0 0 .2rem;color:#0f172a;font-size:1.05rem}.availability-year-view-header p{margin:0;color:#64748b;font-size:.86rem}.availability-year-view-selector{display:flex;align-items:center;gap:.5rem;color:#334155;font-size:.82rem;font-weight:800;white-space:nowrap}.availability-year-view-state{margin:1rem 0 0;color:#64748b}.availability-year-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:.9rem}.availability-year-totals div{padding:.65rem .75rem;border:1px solid #bae6fd;border-radius:12px;background:#f0f9ff}.availability-year-totals span{display:block;color:#0369a1;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.availability-year-totals strong{display:block;margin-top:.18rem;color:#0f172a;font-size:1.15rem;font-variant-numeric:tabular-nums}.availability-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.availability-year-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:.8rem;box-shadow:0 2px 10px #0f172a0d}.availability-year-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.availability-year-card-header h4{margin:0;color:#0f172a;font-size:.95rem}.availability-year-card-header span{color:#64748b;font-size:.68rem;font-weight:700}.availability-year-card-total{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.65rem}.availability-year-card-total strong{color:#0f172a;font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums}.availability-year-card-total span{color:#64748b;font-size:.72rem;font-weight:700}.availability-year-bars{display:flex;flex-direction:column;gap:.55rem}.availability-year-bar-label{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.2rem;color:#334155;font-size:.78rem;font-weight:800}.availability-year-bar-label strong{color:#0f172a;font-variant-numeric:tabular-nums}.availability-year-bar-track{height:.55rem;overflow:hidden;border-radius:999px;background:#e2e8f0}.availability-year-bar-track span{display:block;height:100%;min-width:.2rem;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a)}.availability-year-bar-track.is-warning span{background:linear-gradient(90deg,#f59e0b,#ea580c)}.availability-year-bar-row small{display:block;margin-top:.18rem;color:#64748b;font-size:.65rem;font-weight:700}.availability-threshold-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.9rem}.availability-threshold-summary div{padding:.65rem .75rem;border:1px solid #fdba74;border-radius:12px;background:#fff7ed}.availability-threshold-summary span{display:block;color:#9a3412;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.availability-threshold-summary strong{display:block;margin-top:.18rem;color:#0f172a;font-size:1.15rem;font-variant-numeric:tabular-nums}.availability-threshold-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.availability-threshold-month{border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 10px #0f172a0d}.availability-threshold-month-header{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.availability-threshold-month-header h4{margin:0;color:#0f172a;font-size:.95rem}.availability-threshold-month-header span{color:#64748b;font-size:.72rem;font-weight:700;text-align:right}.availability-threshold-table-wrap{overflow-x:auto}.availability-threshold-table{width:100%;border-collapse:collapse;font-size:.78rem}.availability-threshold-table th,.availability-threshold-table td{padding:.5rem .65rem;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:middle}.availability-threshold-table th{color:#64748b;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#fff}.availability-threshold-table td:first-child{min-width:8rem}.availability-threshold-table td:first-child strong,.availability-threshold-table td:first-child span{display:block}.availability-threshold-table td:first-child strong{color:#0f172a}.availability-threshold-table td:first-child span{color:#64748b;font-size:.68rem;margin-top:.08rem}.availability-threshold-table-row-clickable{cursor:pointer}.availability-threshold-table-row-clickable:hover,.availability-threshold-table-row-clickable:focus-visible{background:#fff7ed;outline:none}.availability-threshold-pill{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.18rem .45rem;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;font-variant-numeric:tabular-nums}.availability-threshold-pill.is-warning{background:#ffedd5;color:#c2410c}.pressure-day-modal{max-width:760px}.pressure-day-modal-title{margin:0;color:#0f172a;font-size:1.05rem}.pressure-day-modal-date{margin:.2rem 0 0;color:#64748b;font-size:.82rem;font-weight:700}.pressure-day-modal-totals{margin-bottom:.75rem;padding:.55rem .7rem;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.82rem;font-weight:800}.pressure-day-reservation-list{display:grid;gap:.55rem}.pressure-day-reservation-card{width:100%;display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr);gap:.35rem .75rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:inherit;text-align:left;cursor:pointer}.pressure-day-reservation-card:hover,.pressure-day-reservation-card:focus-visible{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf829;outline:none}.pressure-day-reservation-card-main,.pressure-day-reservation-card-meta,.pressure-day-reservation-card-slots{min-width:0}.pressure-day-reservation-card-main{display:flex;flex-direction:column;gap:.15rem}.pressure-day-reservation-card-main strong{color:#0f172a;font-size:.9rem}.pressure-day-reservation-card-main span,.pressure-day-reservation-card-meta,.pressure-day-reservation-card-slots{color:#475569;font-size:.76rem;font-weight:700}.pressure-day-reservation-card-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem .55rem}.pressure-day-reservation-card-slots{grid-column:1 / -1;overflow-wrap:anywhere;color:#0369a1}.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;position:relative}.availability-td-cell-clickable{cursor:pointer}.availability-td-cell--campconnect{box-shadow:inset 0 0 0 2px #05966980}.availability-td-cell--jptt-vacant-protected{box-shadow:inset 0 0 0 1px #15803d66}.availability-td-cell--jptt-vacant-protected.availability-td-cell--jptt-vacant-protected--deluxe{box-shadow:inset 0 0 0 1px #16653466}.availability-td-cell--jptt-vacant-protected.availability-td-cell--jptt-vacant-protected--classic{box-shadow:inset 0 0 0 1px #1d4ed86b}.availability-jptt-vacant-toggle-row .availability-jptt-vacant-toggle-cell{padding:.35rem;background:linear-gradient(#f0fdf4,#ecfdf5);border-top:2px solid rgba(22,101,52,.28);vertical-align:middle}.availability-jptt-vacant-toggle-btn{display:inline-flex;align-items:baseline;gap:.35rem;width:100%;justify-content:flex-start;text-align:inherit;background:transparent;border:0;padding:.2rem .1rem;font-weight:700;font-size:.78rem;color:#166534;cursor:pointer}.availability-jptt-vacant-toggle-icon{flex:0 0 auto;font-size:.7rem;width:.95rem;text-align:center}.availability-jptt-vacant-hint-desktop{margin:.35rem 0 0;padding:0 0 0 1.65rem;font-size:.74rem;font-weight:500;color:#14532d;line-height:1.35}.availability-tr-jptt-pool-zone--deluxe .availability-td-code,.availability-tr-jptt-pool-zone--deluxe .availability-td-type{background:#dcfce7e6}.availability-tr-jptt-pool-zone--classic .availability-td-code,.availability-tr-jptt-pool-zone--classic .availability-td-type{background:#dbeafeeb}.availability-cell-inner{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-width:0}.availability-jptt-seg{position:absolute;left:1px;bottom:0;font-size:.5rem;line-height:1;font-weight:700;letter-spacing:-.02em;color:inherit;opacity:.88;pointer-events:none}.availability-mobile-jptt-seg{display:inline-block;margin-inline-start:.35rem;font-size:.62rem;font-weight:700;line-height:1;letter-spacing:-.02em;opacity:.82;vertical-align:baseline}.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-upgrade-panel,.reservation-upgrade-list{border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:1rem;margin-bottom:1rem}.reservation-upgrade-panel__header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem;color:#1e3a8a}.reservation-upgrade-panel__header span,.reservation-upgrade-list small{color:#475569;font-size:.82rem}.reservation-upgrade-panel__grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr) minmax(220px,1fr);gap:.9rem 1rem}.reservation-upgrade-panel__grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;color:#334155}.reservation-upgrade-panel__grid input,.reservation-upgrade-panel__grid select{width:100%;min-height:2.5rem;font-size:1rem}.reservation-upgrade-panel__actions{display:flex;justify-content:flex-end;margin-top:.75rem}.reservation-upgrade-list{display:flex;flex-direction:column;gap:.65rem;background:#f8fafc;border-color:#e2e8f0}.reservation-upgrade-list__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.65rem;border-top:1px solid #e2e8f0}.reservation-upgrade-list__row div{display:flex;flex-direction:column;gap:.2rem}.reservation-upgrade-list-cell{vertical-align:top;max-width:16rem;font-size:.88rem;line-height:1.35}.reservation-upgrade-cell-empty{color:#94a3b8}.reservation-list-upgrade-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.reservation-list-upgrade-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;padding:.35rem .45rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.reservation-list-upgrade-status{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .35rem;border-radius:4px;flex-shrink:0}.reservation-list-upgrade-status--pending{background:#fef3c7;color:#92400e}.reservation-list-upgrade-status--paid{background:#dcfce7;color:#14532d}.reservation-list-upgrade-status--canceled{background:#f1f5f9;color:#64748b}.reservation-list-upgrade-status--free{background:#e0e7ff;color:#3730a3}.reservation-list-upgrade-ref{font-weight:600;color:#0369a1}.reservation-list-upgrade-amount{font-weight:600;color:#0f172a}.reservation-list-upgrade-account{font-size:.82rem;color:#334155}.reservation-list-upgrade-summary{flex-basis:100%;font-size:.78rem;color:#64748b}.reservation-mobile-card-upgrades{margin-top:.35rem;padding-top:.35rem;border-top:1px dashed #cbd5e1}.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:1200px){.page-heading-row .dashboard-submenu{width:100%;max-width:100%;min-width:0}.dashboard-submenu{gap:.22rem;padding-bottom:.15rem}.dashboard-submenu .btn-dashboard{flex:1 1 0;min-width:0;box-sizing:border-box;flex-direction:column;justify-content:center;gap:.12rem;padding:.28rem .1rem;min-height:2.85rem;font-size:clamp(.48rem,2.1vw,.58rem);font-weight:600;line-height:1.05;border-radius:8px;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:clamp(13px,3.4vw,16px);height:clamp(13px,3.4vw,16px)}.dashboard-submenu .btn-dashboard-label{font-size:inherit;letter-spacing:-.02em;white-space:normal;text-align:center;text-overflow:clip;overflow:hidden;max-width:100%;line-height:1.06;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.dashboard-submenu .btn-dashboard-disabled{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;box-shadow:none}}@media(max-width:720px){.header{padding:.75rem 1rem}.header-title{font-size:1.15rem}.header-brand-actions{flex-wrap:nowrap;gap:.35rem;justify-content:flex-end}.header-user-label{max-width:4.2rem;flex:0 1 auto}.language-switcher{flex:0 1 8.4rem;min-width:0;padding:.25rem .4rem}.language-switcher-select{min-width:0}.header-logout,.header-qr-button,.header-nav-toggle{flex:0 0 auto;padding-left:.65rem;padding-right:.65rem;white-space:nowrap}.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:.45rem .75rem 1rem;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}.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}.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,.expense-filter-control{width:100%}.expense-month-select,.expense-year-select{width:100%;min-height:2.75rem;font-size:16px}.canteen-expense-list.expense-list-card,.expenses-expense-list.expense-list-card{padding:.85rem .65rem}.canteen-expense-list .expense-list-header-row,.expenses-expense-list .expense-list-header-row{gap:.45rem;margin-bottom:.5rem}.canteen-expense-list .canteen-list-title,.expenses-expense-list .expense-list-header-row h3{font-size:.98rem}.canteen-expense-list .expense-list-filters-inline,.expenses-expense-list .expense-list-filters-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .45rem;flex-direction:unset;align-items:stretch;width:100%}.canteen-expense-list .expense-list-filters-inline label,.expenses-expense-list .expense-list-filters-inline label{width:auto;min-width:0;font-size:.7rem;gap:.12rem;line-height:1.2;color:#0369a1}.canteen-expense-list .expense-month-select,.canteen-expense-list .expense-year-select,.expenses-expense-list .expense-month-select,.expenses-expense-list .expense-year-select{width:100%;min-height:2.35rem;font-size:15px;padding:.3rem .4rem}.canteen-expense-list .expense-month-row,.expenses-expense-list .expense-month-row{margin-bottom:.55rem;gap:.35rem .6rem;font-size:.78rem;justify-content:flex-start;flex-wrap:wrap}.canteen-expense-list .expense-month-total,.expenses-expense-list .expense-month-total{font-size:.95rem}.canteen-add-actions{gap:.45rem;margin-bottom:.65rem}.canteen-add-btn{flex:1 1 calc(50% - .23rem);min-height:2.85rem;font-size:.875rem}.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-qr-button,.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}.reservation-upgrade-panel__grid{grid-template-columns:1fr}.reservation-upgrade-list__row{align-items:stretch;flex-direction:column}}.availability-mobile-report{display:none}.availability-desktop{display:block}@media(max-width:900px){.availability-mobile-report{display:block}.availability-desktop{display:none}.availability-view-tabs{display:flex;width:100%}.availability-view-tab{flex:1 1 0}.availability-year-view,.availability-threshold-sheet{padding:.8rem}.availability-year-view-header{flex-direction:column;align-items:stretch}.availability-year-view-selector{justify-content:space-between}.availability-year-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-year-grid,.availability-threshold-summary,.availability-threshold-months{grid-template-columns:1fr}.availability-threshold-month-header{flex-direction:column;gap:.2rem}.availability-threshold-month-header span{text-align:left}.pressure-day-reservation-card{grid-template-columns:1fr}.pressure-day-reservation-card-meta{justify-content:flex-start}.availability-stats-top{font-size:.82rem;line-height:1.45}.availability-campconnect-hint,.availability-campconnect-legend{display:none}}.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}.availability-jptt-pool-panel{margin:0 0 .75rem;border:1px solid #86efac;border-radius:12px;background:#f0fdf4;color:#14532d}.availability-jptt-pool-panel summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;cursor:pointer;font-weight:700}.availability-jptt-pool-title{color:#166534}.availability-jptt-pool-count{font-size:.82rem;font-weight:600;color:#15803d}.availability-jptt-pool-body{border-top:1px solid #86efac;padding:.75rem .85rem .85rem}.availability-jptt-pool-note{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;font-size:.85rem}.availability-jptt-pool-swatch{width:1.15rem;height:1.15rem;border:1px solid rgba(22,101,52,.35);border-radius:5px;flex:0 0 auto}.availability-jptt-pool-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.availability-jptt-pool-group{display:grid;gap:.35rem;padding:.55rem;border-radius:10px;background:#ffffffb8}.availability-jptt-pool-group strong{font-size:.82rem}.availability-jptt-pool-slots{display:flex;flex-wrap:wrap;gap:.35rem}.availability-jptt-pool-slot{display:inline-flex;align-items:center;border-radius:999px;background:#dcfce7;border:1px solid #86efac;color:#166534;font-size:.78rem;font-weight:700;padding:.18rem .48rem}.availability-jptt-pool-empty{margin:0;font-size:.85rem}@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-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap;margin:0 0 .65rem;padding:.55rem .75rem;border-radius:10px;background:linear-gradient(180deg,#22c55e,#16a34a);color:#fff;font-size:.78rem;font-weight:700;line-height:1.25;box-shadow:0 1px #ffffff2e inset,0 2px 6px #16653459}.availability-mobile-day-summary-seg{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0}.availability-mobile-day-summary-label{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;opacity:.95}.availability-mobile-day-summary-value{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.availability-mobile-day-summary-sep{width:1px;align-self:stretch;min-height:1.25rem;background:#ffffff59;flex:0 0 auto}.availability-mobile-jptt-vacant-hint{margin:-.35rem 0 .65rem;padding:.4rem .75rem;border-radius:8px;background:#f0fdf4;border:1px solid rgba(22,101,52,.32);color:#14532d;font-size:.72rem;font-weight:600;line-height:1.35}@media(max-width:420px){.availability-mobile-day-summary{justify-content:center;text-align:center}.availability-mobile-day-summary-seg{flex:1 1 auto;justify-content:center}.availability-mobile-day-summary-sep{display:none}}.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:minmax(3.35rem,auto) minmax(0,1.25fr) minmax(4.7rem,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-leftcol{grid-row:1 / span 3;grid-column:1;display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;min-width:3.35rem;max-width:4.9rem;padding-top:.06rem}.availability-mobile-tent-no{display:inline-flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:0;line-height:1.15;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-booking-ref{font-size:.64rem;font-weight:800;color:#1e40af;font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1.25;word-break:break-all}.availability-mobile-upgrade-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.12rem .36rem;border-radius:999px;border:1px solid #93c5fd;background:#dbeafe;color:#1e40af;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;line-height:1.15;align-self:flex-start}.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-tent-driver{max-width:100%;text-align:left;font-size:.72rem;font-weight:700;line-height:1.25;color:#7c2d12;word-break:break-word}.availability-mobile-group-checkin{display:inline-flex;align-items:center;gap:.32rem;margin-top:.15rem;padding:.32rem .48rem;border-radius:999px;border:1px solid #86efac;background:#f0fdf4;color:#166534;font-size:.66rem;font-weight:800;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.availability-mobile-group-checkin--below-upgrade{margin-top:1.8rem}.availability-mobile-group-checkin.is-checked{background:#dcfce7;border-color:#22c55e}.availability-mobile-group-checkin input{width:.92rem;height:.92rem;accent-color:#16a34a;flex:0 0 auto}.availability-mobile-group-checkin input:disabled{cursor:wait}.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-ref--static{text-decoration:none;cursor:default;color:#0369a1}.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-card--canceled{border-color:#fdba74!important;background:linear-gradient(180deg,#fff7ed,#fff)!important;color:#7c2d12}.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-reference-input{display:flex;align-items:stretch;margin-top:.35rem}.camp-connect-reference-prefix{display:inline-flex;align-items:center;padding:0 .75rem;border:1px solid #cbd5e1;border-right:0;border-radius:8px 0 0 8px;background:#f8fafc;color:#334155;font-size:1rem;font-weight:800}.camp-connect-reference-input input{margin-top:0;border-radius:0 8px 8px 0}.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-maintenance .camp-connect-maintenance-card>h2{margin:0 0 .65rem;font-size:1.125rem;color:#0f172a}.camp-connect-maintenance.camp-connect-maintenance--staff{max-width:min(36rem,100vw - 2rem)}.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-line--system{text-align:center;margin:.8rem 0}.camp-connect-chat-line--system .camp-connect-chat-meta{color:#64748b;font-size:.68rem}.camp-connect-chat-line--system .camp-connect-chat-body{display:inline-flex;width:auto;max-width:min(92%,28rem);margin:.18rem auto 0;padding:.32rem .65rem;border-radius:999px;background:#0f172a14;color:#475569;font-size:.78rem;font-weight:700}.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-common-messages{margin:.75rem 0 .65rem}.camp-connect-common-messages-title{margin:0 0 .4rem;color:#475569;font-size:.82rem;font-weight:800}.camp-connect-common-messages-list{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.2rem}.camp-connect-common-message{flex:0 0 auto;border:1px solid #bae6fd;border-radius:999px;background:#f0f9ff;color:#075985;padding:.45rem .7rem;font-size:.85rem;font-weight:800;cursor:pointer;white-space:nowrap}.camp-connect-common-message:disabled{cursor:wait;opacity:.65}.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{display:flex;align-items:stretch;gap:.5rem;flex-wrap:nowrap;margin-bottom:.75rem}.camp-connect-audio-output{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.camp-connect-audio-output-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;font-weight:700;touch-action:manipulation}.camp-connect-audio-output-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.camp-connect-audio-output-icon{position:relative;width:1.05rem;height:.9rem;display:inline-block;flex:0 0 auto}.camp-connect-audio-output-icon:before{content:"";position:absolute;left:0;top:.24rem;width:.32rem;height:.42rem;border-radius:.08rem;background:currentColor}.camp-connect-audio-output-icon:after{content:"";position:absolute;left:.28rem;top:.08rem;width:.48rem;height:.74rem;border:2px solid currentColor;border-left:0;border-radius:0 999px 999px 0}.camp-connect-audio-output-toggle.is-earpiece .camp-connect-audio-output-icon{transform:rotate(90deg)}.camp-connect-audio-output-hint{margin:.25rem 0 0;font-size:.78rem;line-height:1.35;color:#64748b}.camp-connect-signout{margin-top:.5rem}.camp-connect-staff{max-width:min(72rem,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(72rem,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:2}.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{flex:1 1 auto;width:auto;min-width:0;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(280px,360px) 1fr;gap:1rem;align-items:start;max-width:min(72rem,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.has-missed-call{border-color:#f97316;background:#fff7ed}.camp-connect-inbox-row.has-guest-message{border-color:#22c55e}.camp-connect-inbox-row-title{font-weight:700;font-size:.88rem;color:#0f172a}.camp-connect-inbox-row-status{display:inline-flex;align-items:center;width:fit-content;padding:.12rem .45rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.72rem;font-weight:700}.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-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;max-width:min(72rem,100%);margin:0 auto .9rem}.camp-connect-desk-eyebrow{margin:0 0 .15rem;color:#0891b2;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.camp-connect-desk-alerts{max-width:min(72rem,100%);margin:0 auto 1rem;padding:.85rem;border:1px solid #bae6fd;border-radius:14px;background:linear-gradient(135deg,#f0f9ff,#ecfeff)}.camp-connect-desk-alerts-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.camp-connect-desk-alerts-head h2{margin:0;font-size:1rem;color:#0f172a}.camp-connect-desk-alerts-head span{color:#0369a1;font-size:.82rem;font-weight:700}.camp-connect-desk-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem}.camp-connect-desk-alert{display:grid;gap:.15rem;text-align:start;padding:.75rem;border:1px solid #7dd3fc;border-radius:12px;background:#fff;color:inherit;font:inherit;cursor:pointer}.camp-connect-desk-alert--urgent{border-color:#fb923c;box-shadow:0 0 0 2px #fb923c29}.camp-connect-desk-alert-kind{color:#0369a1;font-size:.76rem;font-weight:800;text-transform:uppercase}.camp-connect-desk-alert time{color:#64748b;font-size:.78rem}.camp-connect-staff-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.camp-connect-staff-thread-head h2{margin:0 0 .2rem;font-size:1.2rem}.camp-connect-staff-thread-head p{margin:0;color:#64748b;font-size:.9rem}.camp-connect-thread-badge{white-space:nowrap;padding:.25rem .55rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.78rem;font-weight:800}.camp-connect-thread-badge.is-live{background:#dcfce7;color:#047857}.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}@media(max-width:720px){.camp-connect-staff-header,.camp-connect-staff-thread-head,.camp-connect-desk-alerts-head{flex-direction:column;align-items:stretch}}.availability-campconnect-hint{margin:0 0 .75rem;font-size:.9rem;color:#475569;max-width:52rem}.camp-connect-staff .camp-connect-staff-header{margin-bottom:.6rem}.camp-connect-staff .camp-connect-staff-header h1{font-size:1.35rem}.camp-connect-staff .camp-connect-guest-sub{font-size:.88rem}.camp-connect-staff-quick-setup{display:flex;align-items:center;justify-content:space-between;gap:.65rem;max-width:min(72rem,100%);margin:0 auto .65rem;padding:.55rem .65rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.camp-connect-staff-quick-setup__status,.camp-connect-staff-quick-setup__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.camp-connect-staff-quick-setup__status span{display:inline-flex;align-items:center;min-height:1.55rem;padding:.18rem .5rem;border-radius:999px;font-size:.76rem;font-weight:800}.camp-connect-staff-quick-setup__status .is-ready{background:#dcfce7;color:#047857}.camp-connect-staff-quick-setup__status .needs-setup{background:#fff7ed;color:#c2410c}.camp-connect-staff-quick-setup .btn{min-height:2rem;padding:.35rem .65rem;font-size:.8rem}.camp-connect-desk-roster{margin:0 0 .85rem;padding:.95rem;border:1px solid #bbf7d0;border-radius:14px;background:linear-gradient(135deg,#ecfdf5,#f8fafc 55%);box-shadow:0 6px 20px #0f172a0f}.camp-connect-guest .camp-connect-desk-roster{margin-inline:auto;max-width:min(100%,32rem);width:100%}.camp-connect-desk-roster--sidebar{margin:0;border-radius:0;border:0;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#ecfdf5,#f8fafc);box-shadow:none}.camp-connect-desk-roster__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.camp-connect-desk-roster__eyebrow{margin:0;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#15803d}.camp-connect-desk-roster__refresh{border:0;background:transparent;color:#2563eb;font-weight:700;font-size:.74rem;text-decoration:underline;cursor:pointer;padding:0}.camp-connect-desk-roster__hint{margin:0 0 .6rem;font-size:.8rem;line-height:1.35;color:#475569}.camp-connect-desk-roster__hint--small{font-size:.72rem;margin-bottom:.35rem}.camp-connect-desk-roster__title{margin:0 0 .25rem;font-size:.92rem;font-weight:800;color:#065f46}.camp-connect-desk-roster__subtitle{margin:0 0 .25rem;font-size:.8rem;font-weight:700;color:#64748b}.camp-connect-desk-roster__block{margin-bottom:.75rem}.camp-connect-desk-roster__block:last-child{margin-bottom:0}.camp-connect-desk-roster__block--primary{padding-bottom:.25rem}.camp-connect-desk-roster__empty{margin:0;padding:.5rem;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.84rem;line-height:1.4}.camp-connect-desk-roster__note{margin:.5rem 0 0;font-size:.72rem;line-height:1.35;color:#64748b}.camp-connect-desk-roster__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.camp-connect-desk-roster__list--muted{opacity:.92}.camp-connect-desk-roster__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .65rem;padding:.45rem .55rem;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.camp-connect-desk-roster__item--on-duty{border-color:#86efac;background:#f0fdf4}.camp-connect-desk-roster__name{font-weight:700;color:#0f172a;font-size:.88rem}.camp-connect-desk-roster__badges{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:center}.camp-connect-desk-roster__badges.is-live .camp-connect-desk-roster__pill--live{animation:camp-connect-live-pulse 2s ease-in-out infinite}@keyframes camp-connect-live-pulse{0%,to{box-shadow:0 0 #22c55e59}50%{box-shadow:0 0 0 4px #22c55e00}}.camp-connect-desk-roster__pill{font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .45rem;border-radius:999px;white-space:nowrap}.camp-connect-desk-roster__pill--duty{background:#bbf7d0;color:#14532d}.camp-connect-desk-roster__pill--live{background:#22c55e;color:#fff}.camp-connect-desk-roster__pill--muted{background:#f1f5f9;color:#64748b}.camp-connect-desk-roster__item--action{width:100%;text-align:inherit;font:inherit;color:inherit;cursor:pointer;margin:0;border-radius:10px}.camp-connect-peer-overlay{position:fixed;inset:0;z-index:980;display:flex;align-items:flex-end;justify-content:center;padding:.5rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.camp-connect-peer-sheet{width:min(100%,28rem);max-height:min(92vh,48rem);overflow:auto;border-radius:18px 18px 14px 14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 -8px 48px #0f172a47;padding:.75rem 1rem 1rem}.camp-connect-peer-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem}.camp-connect-peer-back{flex:0 0 auto;width:2.5rem;height:2.5rem;border:0;border-radius:10px;background:#f1f5f9;color:#334155;font-size:1.15rem;line-height:1;cursor:pointer}.camp-connect-peer-eyebrow{margin:0 0 .2rem;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.camp-connect-peer-title{margin:0;font-size:1.2rem;font-weight:800;color:#0f172a}.camp-connect-peer-voice,.camp-connect-peer-chat{margin-top:.65rem}.camp-connect-peer-micprep{margin-top:.5rem}.camp-connect-peer-footnote{margin:.75rem 0 0;font-size:.72rem;line-height:1.35;color:#64748b}.camp-connect-staff .camp-connect-inbox-layout{grid-template-columns:minmax(17rem,21rem) minmax(0,1fr);gap:0;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff;min-height:min(68vh,45rem)}.camp-connect-staff .camp-connect-inbox-layout:not(.camp-connect-inbox-layout--thread-open){grid-template-columns:minmax(0,1fr)}.camp-connect-staff .camp-connect-inbox-layout:not(.camp-connect-inbox-layout--thread-open) .camp-connect-inbox-thread{display:none}.camp-connect-staff .camp-connect-inbox-layout:not(.camp-connect-inbox-layout--thread-open) .camp-connect-inbox-sidebar{border-inline-end:0}.camp-connect-staff .camp-connect-inbox-sidebar{border:0;border-radius:0;border-inline-end:1px solid #e2e8f0;max-height:none;padding:0;background:#fff}.camp-connect-staff .camp-connect-inbox-sidebar-head{margin:0;padding:.85rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.camp-connect-staff .camp-connect-inbox-sidebar-head p{margin:.15rem 0 0;color:#64748b;font-size:.78rem;font-weight:700}.camp-connect-staff .camp-connect-inbox-list{padding:0}.camp-connect-staff .camp-connect-inbox-row{display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin:0;padding:.75rem .85rem;border:0;border-bottom:1px solid #f1f5f9;border-radius:0;background:#fff}.camp-connect-staff .camp-connect-inbox-row:hover,.camp-connect-staff .camp-connect-inbox-row.is-active{background:#f0fdfa}.camp-connect-staff .camp-connect-inbox-row.has-unread-message{background:#ecfeff}.camp-connect-staff .camp-connect-inbox-row.has-unread-message .camp-connect-inbox-row-preview,.camp-connect-staff .camp-connect-inbox-row.has-unread-message .camp-connect-inbox-row-top strong{font-weight:900;color:#0f172a}.camp-connect-inbox-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border-radius:50%;background:#0f766e;color:#fff;font-weight:900;font-size:.86rem}.camp-connect-inbox-row-main{min-width:0;display:grid;gap:.12rem}.camp-connect-inbox-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.camp-connect-inbox-row-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a}.camp-connect-inbox-row-top time{flex:0 0 auto;color:#94a3b8;font-size:.68rem}.camp-connect-inbox-row-sub{color:#0f766e;font-size:.74rem;font-weight:800}.camp-connect-inbox-row-dot{width:.55rem;height:.55rem;border-radius:50%;background:transparent}.camp-connect-inbox-row-dot.is-hot{background:#22c55e}.camp-connect-inbox-row-flags{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.25rem}.camp-connect-inbox-unread-badge,.camp-connect-inbox-missed-flag,.camp-connect-inbox-call-flag{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:1.25rem;padding:.08rem .4rem;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.03em}.camp-connect-inbox-unread-badge{background:#22c55e;color:#fff}.camp-connect-inbox-call-flag{background:#f97316;color:#fff}.camp-connect-inbox-missed-flag{background:#dc2626;color:#fff}.camp-connect-staff .camp-connect-inbox-thread{min-width:0;background:#efeae2}.camp-connect-staff .camp-connect-staff-thread-card{min-height:100%;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0}.camp-connect-staff .camp-connect-staff-thread-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:0;padding:.85rem 1rem;border-bottom:1px solid rgba(15,23,42,.08);background:#f8fafc}.camp-connect-staff .camp-connect-staff-thread-head h2{font-size:1.05rem}.camp-connect-chat-back{display:none;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:transparent;color:#0f172a;font-size:1.35rem;font-weight:800;cursor:pointer}.camp-connect-staff .camp-connect-staff-voice-bar{order:0;display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0;padding:.55rem 1rem;border:0;border-bottom:1px solid rgba(15,23,42,.08);border-radius:0;background:#fff}.camp-connect-staff .camp-connect-call-actions{display:flex;gap:.45rem;margin:0;flex-wrap:wrap}.camp-connect-staff .camp-connect-call-actions .btn{width:auto;min-width:7.5rem;min-height:2.25rem;font-size:.86rem}.camp-connect-staff .camp-connect-call-actions .camp-connect-audio-output-toggle{width:2.25rem;min-width:2.25rem;flex:0 0 2.25rem;padding:0}.camp-connect-staff .camp-connect-call-status{margin:0;font-size:.78rem;white-space:nowrap}.camp-connect-staff .camp-connect-quick-replies{order:1;display:flex;gap:.4rem;flex-wrap:wrap;padding:.55rem .65rem 0;background:#f8fafc}.camp-connect-staff .camp-connect-quick-reply{border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:.35rem .65rem;font-size:.78rem;font-weight:800;cursor:pointer}.camp-connect-staff .camp-connect-quick-reply:disabled{opacity:.55;cursor:not-allowed}.camp-connect-staff .camp-connect-audio-output{justify-content:flex-end;max-width:18rem}.camp-connect-staff .camp-connect-audio-output-hint{flex-basis:100%;text-align:end;margin-top:0}.camp-connect-staff .camp-connect-chat-log{order:2;flex:1;max-height:none;min-height:20rem;padding:1rem;border:0;border-radius:0;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.45),transparent 12rem),#efeae2}.camp-connect-staff .camp-connect-chat-line{display:flex;flex-direction:column;align-items:flex-start;margin:.35rem 0}.camp-connect-staff .camp-connect-chat-line--staff{align-items:flex-end}.camp-connect-staff .camp-connect-chat-line--system{align-items:center;text-align:center}.camp-connect-staff .camp-connect-chat-body{max-width:min(78%,34rem);margin:0;padding:.45rem .62rem;border-radius:.75rem;background:#fff;box-shadow:0 1px #0f172a14}.camp-connect-staff .camp-connect-chat-line--staff .camp-connect-chat-body{background:#d9fdd3}.camp-connect-staff .camp-connect-chat-line--system .camp-connect-chat-body{max-width:min(92%,28rem);background:#0f172a14;color:#475569;box-shadow:none}.camp-connect-staff .camp-connect-chat-meta{max-width:min(78%,34rem);padding:0 .2rem .12rem;color:#64748b;font-size:.68rem}.camp-connect-staff .camp-connect-chat-form{order:1;margin:0;padding:.65rem;background:#f8fafc;border-top:1px solid #e2e8f0}.camp-connect-staff .camp-connect-chat-form input{border-radius:999px;background:#fff}@media(max-width:720px){.camp-connect-staff-quick-setup{align-items:stretch;flex-direction:column}.camp-connect-staff .camp-connect-inbox-layout{display:block;min-height:0}.camp-connect-staff .camp-connect-inbox-layout--thread-open .camp-connect-inbox-sidebar{display:none}.camp-connect-staff .camp-connect-inbox-layout:not(.camp-connect-inbox-layout--thread-open) .camp-connect-inbox-sidebar{display:block}.camp-connect-staff .camp-connect-inbox-layout:not(.camp-connect-inbox-layout--thread-open) .camp-connect-inbox-thread{display:none}.camp-connect-staff .camp-connect-inbox-sidebar{border-inline-end:0}.camp-connect-chat-back{display:inline-flex;align-items:center;justify-content:center}.camp-connect-staff .camp-connect-staff-thread-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:.65rem .75rem;position:sticky;top:0;z-index:3}.camp-connect-staff .camp-connect-staff-thread-head h2,.camp-connect-staff .camp-connect-staff-thread-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-connect-staff .camp-connect-staff-voice-bar{align-items:stretch;flex-direction:column;padding:.5rem .75rem}.camp-connect-staff .camp-connect-audio-output{justify-content:flex-start;max-width:none}.camp-connect-staff .camp-connect-audio-output-hint{text-align:start}.camp-connect-staff .camp-connect-chat-log{min-height:calc(100vh - 24rem);padding:.75rem}.camp-connect-staff .camp-connect-chat-body,.camp-connect-staff .camp-connect-chat-meta{max-width:86%}.camp-connect-staff .camp-connect-manual-wrap{display:none}}.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}.camp-connect-checkin-ref{font-size:.85rem;color:#475569;margin:0 0 .75rem}.camp-connect-checkin-warning{font-size:.88rem;color:#b45309;margin:0 0 .5rem;line-height:1.4}.camp-connect-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.camp-connect-slot-row{border:1px solid #cbd5e1;border-radius:10px;padding:.75rem .85rem;background:#f8fafc}.camp-connect-slot-row--highlight{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e940}.camp-connect-slot-row--connected{background:#ecfdf5;border-color:#86efac}.camp-connect-slot-row-main{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}@media(min-width:520px){.camp-connect-slot-row-main{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem}}.camp-connect-slot-code code{font-size:.9rem;background:#e2e8f0;padding:.15rem .4rem;border-radius:4px}.camp-connect-slot-type{display:block;font-size:.78rem;color:#64748b;margin-top:.2rem}.camp-connect-slot-guest-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.camp-connect-slot-guest-value{font-size:.95rem;font-weight:600;color:#0f172a}.camp-connect-connect-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#0369a1;cursor:pointer;margin:.25rem 0 .35rem}.camp-connect-connect-toggle input{width:1.1rem;height:1.1rem;accent-color:#0ea5e9}.camp-connect-slot-meta{font-size:.8rem;color:#059669;margin:0;line-height:1.35}.camp-connect-slot-meta--muted{color:#64748b}.solar-auto-page{max-width:48rem;margin:0 auto;padding:0 0 2rem}.solar-auto-page--embedded{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.solar-auto-embedded-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.solar-auto-embedded-title{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0;line-height:1.3}.solar-auto-embedded-link{font-size:.9rem;color:#2563eb;text-decoration:underline;text-underline-offset:2px}.solar-auto-embedded-link:hover{color:#1d4ed8}.solar-auto-title{font-size:1.4rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.solar-auto-intro,.solar-auto-roadmap{font-size:.9rem;line-height:1.5;color:#475569;margin:0 0 .5rem}.solar-auto-roadmap{margin-bottom:1.15rem;font-style:italic}.solar-auto-status{color:#64748b}.solar-auto-section{margin:1.25rem 0 0;padding:.9rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.solar-auto-h3{font-size:1.05rem;margin:0 0 .35rem;color:#0f172a}.solar-auto-section--playbook{background:#f0fdf4;border-color:#bbf7d0;margin-top:0}.solar-auto-section--live{background:#f0f9ff;border-color:#7dd3fc;border-width:1px;border-style:solid;margin-top:0}.solar-auto-h3--live{margin-bottom:.35rem;font-size:1.1rem}.solar-auto-hint--live{margin-top:.25rem;margin-bottom:.75rem;max-width:52rem}.solar-auto-live-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.15rem}.solar-auto-live-head__actions{display:flex;align-items:center;gap:.45rem}.solar-auto-live-meters{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.5rem 0 .9rem;padding:.55rem .7rem;background:#fff;border:1px solid #e0f2fe;border-radius:8px}.solar-auto-live-metric{display:flex;flex-direction:column;gap:.1rem;min-width:5.5rem}.solar-auto-live-metric--span{flex:1 1 12rem;min-width:0}.solar-auto-live-metric__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.solar-auto-live-metric__val{font-size:1.05rem;font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}.solar-auto-live-metric__val--time{font-size:.78rem;font-weight:600;word-break:break-all}.solar-auto-live-metric__hint{font-size:.7rem;color:#94a3b8;font-weight:500}.solar-auto-live-refs{margin:.25rem 0 .75rem;padding:.5rem .65rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.solar-auto-live-refs__ul{margin:.35rem 0 0 1rem;padding:0;font-size:.84rem;line-height:1.5;color:#334155}.solar-auto-h4--insights{margin:.5rem 0 .35rem}.solar-auto-live-insights{list-style:none;margin:0;padding:0}.solar-auto-live-insights__li{position:relative;padding:.4rem .45rem .4rem 1.15rem;margin:.25rem 0;font-size:.86rem;line-height:1.5;border-radius:6px;background:#fff;border:1px solid #e2e8f0}.solar-auto-live-insights__li:before{content:"•";position:absolute;left:.45rem;top:.38rem;font-weight:800;color:#0ea5e9}.solar-auto-live-insights__li--ok:before{color:#16a34a}.solar-auto-live-insights__li--warn:before{color:#d97706}.solar-auto-live-insights__li--info:before{color:#64748b}.solar-auto-live-bg-err{font-size:.85rem;color:#b45309;margin:.35rem 0 .5rem}.solar-auto-h3--playbook{font-size:1.1rem;margin-bottom:.35rem}.solar-auto-hint--playbook{margin-bottom:.5rem}.solar-auto-mode-line{font-size:.85rem;font-weight:600;color:#0f766e;margin:0 0 .75rem;padding:.4rem .55rem;background:#ecfdf5;border-radius:6px;border:1px solid #99f6e4}.solar-auto-mode-hint{font-size:.83rem;line-height:1.45;color:#475569;margin:-.35rem 0 .75rem;padding:0 .1rem 0 .55rem;border-left:3px solid #94a3b8}.solar-auto-playbook{margin:0 0 1rem 1.1rem;padding:0;font-size:.86rem;line-height:1.5;color:#334155;max-width:52rem}.solar-auto-playbook__li{margin-bottom:.4rem}.solar-auto-h4{font-size:.95rem;margin:0 0 .4rem;color:#0f172a;font-weight:700}.solar-auto-recent-log{margin-top:.5rem;padding-top:.75rem;border-top:1px solid #cbd5e1}.solar-auto-recent-meta{font-size:.8rem;color:#64748b;margin:0 0 .45rem}.solar-auto-recent-list{list-style:none;margin:0;padding:.5rem .65rem;max-height:14rem;overflow-y:auto;background:#1e293b;color:#e2e8f0;border-radius:8px;font-size:.78rem;line-height:1.4;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.solar-auto-recent-list__li{margin-bottom:.2rem;word-break:break-word}.solar-auto-empty--log{font-size:.86rem;margin:.25rem 0 0}.solar-auto-hint{font-size:.82rem;color:#64748b;margin:0 0 .6rem;line-height:1.4}.solar-auto-label--block{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}.solar-auto-field-help{display:block;font-size:.78rem;line-height:1.4;color:#64748b;font-weight:400;max-width:32rem}.solar-auto-empty{font-size:.9rem;color:#64748b;margin:0}.solar-auto-table{width:100%;border-collapse:collapse;font-size:.9rem}.solar-auto-table th,.solar-auto-table td{text-align:start;padding:.45rem .4rem .45rem 0;border-bottom:1px solid #e2e8f0;vertical-align:top}.solar-auto-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;border-bottom:1px solid #cbd5e1}.solar-auto-name{font-weight:600;color:#0f172a}.solar-auto-id{display:block;font-size:.7rem;color:#94a3b8;margin-top:.1rem;word-break:break-all}.solar-auto-input{width:4.2rem;padding:.35rem .4rem;font-size:.9rem;font-weight:600;border:1px solid #cbd5e1;border-radius:6px}.solar-auto-input--wide{width:100%;max-width:10rem;font-weight:500;display:block;margin-top:.2rem}.solar-auto-config-subsection{margin:.35rem 0 .5rem;padding:.65rem .75rem .75rem;border:1px solid #bfdbfe;border-radius:8px;background:#f8fafc}.solar-auto-h4--config-sub{margin:0 0 .35rem;font-size:.95rem;color:#0f172a}.solar-auto-hint--sub{margin:0 0 .5rem;font-size:.8rem;max-width:38rem}.solar-auto-config-subsection__inner{margin-top:.35rem}.solar-auto-field-help--sub{display:block;margin:.25rem 0 .5rem}.solar-auto-config-grid--nest{margin:.4rem 0 0}.solar-auto-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem 1rem;margin:.6rem 0 .75rem;font-size:.82rem;color:#334155}.solar-auto-config-grid label{display:block;font-weight:600}.solar-auto-check{display:flex;align-items:center;gap:.4rem;margin:.25rem 0;font-size:.9rem;cursor:pointer}.solar-auto-log{margin:.75rem 0 0;padding:.5rem .6rem;max-height:12rem;overflow:auto;font-size:.75rem;line-height:1.4;background:#0f172a;color:#e2e8f0;border-radius:6px;white-space:pre-wrap;word-break:break-word}.solar-auto-log--run{max-height:8rem;background:#1e293b}.solar-auto-section--auto{border-color:#86efac;background:#f0fdf4}.solar-auto-sortable{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.solar-auto-drag-item{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .5rem .55rem .35rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:grab;touch-action:none;box-shadow:0 1px #0f172a0a}.solar-auto-drag-item:active{cursor:grabbing}.solar-auto-drag-item--over{border-color:#38bdf8;background:#f0f9ff}.solar-auto-drag-item--offline{border-color:#e2d3b0;background:#fffbeb}.solar-auto-name-block{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;width:100%}.solar-auto-drag-badges{flex-wrap:wrap;max-width:100%}.solar-auto-drag-badges .smart-badge{font-size:.7rem;padding:.1rem .35rem}.solar-auto-drag-grip{flex-shrink:0;font-size:.9rem;line-height:1.2;color:#94a3b8;-webkit-user-select:none;user-select:none;margin-top:.1rem}.solar-auto-rank{flex-shrink:0;min-width:1.5rem;text-align:center;font-size:.85rem;font-weight:700;color:#fff;background:#334155;border-radius:6px;padding:.15rem .3rem;line-height:1.3;margin-top:.1rem}.solar-auto-drag-body{flex:1;min-width:0}.solar-auto-actions{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:1.25rem}.smart-devices-tuya-poll-hint{margin:0 0 .85rem;padding:.5rem .65rem;font-size:.82rem;line-height:1.45;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-width:52rem}.smart-devices-tuya-poll-hint--on{color:#0c4a6e;background:#f0f9ff;border-color:#bae6fd}.smart-devices-page{max-width:900px}.smart-devices-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.smart-devices-loading,.smart-devices-empty{color:#64748b;font-size:.95rem}.smart-devices-section-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin:1.25rem 0 .75rem}.smart-devices-section-title--spaced{margin-top:2rem}.smart-devices-section-help{font-size:.9rem;line-height:1.45;color:#64748b;margin:0 0 .9rem;max-width:55rem}.smart-devices-intro{color:#475569;font-size:.95rem;line-height:1.45;margin:0 0 1.25rem}.smart-devices-intro--detail{color:#64748b;font-size:.86rem;line-height:1.5;margin:-.4rem 0 1.1rem;max-width:58rem}.smart-devices-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;align-items:center;direction:ltr;position:relative;z-index:1;isolation:isolate}.smart-devices-tab{font:inherit;font-size:.9rem;font-weight:600;padding:.45em .9em;border-radius:999px;border:2px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;line-height:1.2;transition:background .15s,color .15s,border-color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.smart-devices-tab:hover{border-color:#94a3b8;color:#0f172a}.smart-devices-tab--active{background:#0f172a;color:#fff;border-color:#0f172a}.smart-devices-section-help--tab{margin-top:0;margin-bottom:.85rem}.smart-badge--no-switch{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.smart-devices-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.smart-devices-priority-hint{font-size:.86rem;line-height:1.45;color:#0f5c48;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.5rem .75rem;margin:0 0 .75rem;max-width:44rem}.smart-devices-list--tent-ac-pair{max-width:1200px;margin:0 auto}.smart-devices-tent-ac-pair-hint{max-width:1200px;margin:0 auto .6rem;font-size:.9rem;color:#475569;line-height:1.45;padding:0 .2rem}.smart-devices-tent-ac-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.75rem 1rem;list-style:none;border:1px solid #e2e8f0;border-radius:12px;padding:.6rem .6rem .75rem;margin-bottom:.6rem;background:#fafaf9;box-shadow:0 1px 2px #0f172a0d}.smart-devices-tent-ac-row__block-head{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .75rem;margin:-.25rem 0 .35rem;padding:.4rem .45rem .5rem;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#f1f5f9,#e8edf3);border:1px solid #cbd5e1;border-bottom:1px solid #94a3b8}.smart-devices-tent-ac-row__block-head--unmapped{background:#fefce8;border-color:#fde68a;border-bottom-color:#facc15}.smart-devices-tent-ac-row__block-title{font-size:.82rem;font-weight:800;color:#0f172a;letter-spacing:.02em}.smart-devices-tent-ac-row__block-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.smart-devices-tent-ac-row__block-pill{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:6px;border:1px solid transparent}.smart-devices-tent-ac-row__block-pill--tent{color:#14532d;background:#dcfce7;border-color:#86efac}.smart-devices-tent-ac-row__block-pill--ac{color:#9a3412;background:#ffedd5;border-color:#fdba74}@media(max-width:800px){.smart-devices-tent-ac-row{grid-template-columns:1fr;gap:0;padding:0;overflow:hidden;border-radius:16px;border-color:#94a3b8;background:#e2e8f0;box-shadow:0 4px 14px #0f172a1a;margin-bottom:1rem}.smart-devices-tent-ac-row__block-head,.smart-devices-tent-ac-row__block-head--unmapped{margin:0;border-radius:0;border:none;border-bottom:2px solid #94a3b8;padding:.5rem .7rem .55rem}.smart-devices-tent-ac-row__block-title{font-size:.9rem}.smart-devices-tent-ac-row__tent,.smart-devices-tent-ac-row__ac{padding:.4rem .45rem}.smart-devices-tent-ac-row__tent{border-bottom:1px dashed #64748b}.smart-devices-tent-ac-row__tent .smart-device-card,.smart-devices-tent-ac-row__ac .smart-device-card{box-shadow:none;border:1px solid #e2e8f0}.smart-devices-tent-ac-row__tent,.smart-devices-tent-ac-row__ac{background:#f8fafc}.smart-devices-tent-ac-row__ac{background:#fff}.smart-devices-tent-ac-slot--empty{min-height:3.2rem;margin:.15rem 0}}@media(max-width:800px){.smart-devices-list--tent-ac-pair{padding:0 .2rem}}@media(max-width:800px){.smart-devices-tent-ac-pair-hint{padding:0 .4rem .5rem;font-size:.85rem}}.smart-devices-tent-ac-row__tent,.smart-devices-tent-ac-row__ac{min-width:0;display:flex;flex-direction:column}.smart-devices-tent-ac-row__tent .smart-device-card--tuya-acs-item,.smart-devices-tent-ac-row__ac .smart-device-card--tuya-acs-item{flex:1}.smart-devices-tent-ac-slot--empty{display:flex;align-items:center;justify-content:center;min-height:4rem;border:1px dashed #d4d4d4;border-radius:12px;color:#a8a29e;font-size:1.25rem;background:#fff}.smart-devices-list--priority-dnd .smart-device-card[draggable=true]{cursor:grab}.smart-device-card--pri-dnd-over{outline:2px dashed #0ea5e9;outline-offset:2px;background:#f0f9ff}.smart-device-card{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;border:1px solid #e2e8f0;border-radius:12px;padding:.9rem 1rem;background:#fff;box-shadow:0 1px 2px #0f172a0f}.smart-device-card-main{flex:1;min-width:0}@media(min-width:600px){.smart-device-card{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}}.smart-device-card--offline{background:#fffbeb;border-color:#fde68a}.smart-device-card--power-on{border-left:4px solid #16a34a}.smart-device-card--power-on.smart-device-card--offline{border-left-color:#d97706}.smart-device-card--other{background:#f8fafc;border-style:dashed}.smart-device-card--tuya-acs-item{flex-direction:column!important;align-items:stretch!important}.smart-device-card__tuya-ac-ribbon{width:100%;align-self:stretch;text-align:center;font-weight:700;color:#ea580c;font-size:1.05rem;line-height:1.3;padding:.15rem 0 .5rem;margin:-.15rem 0 .15rem;border-bottom:1px solid #fed7aa}.smart-device-card--tuya-acs-item .smart-device-card-main{width:100%}.tuya-ac-panel-root{width:100%;min-width:0}.tuya-ac-panel__err--above{margin:0 0 .4rem;font-size:.88rem}.tuya-ac-foldable{width:100%;margin-top:.35rem}.tuya-ac-disclosure{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;padding:.45rem .55rem;margin:0;font-size:.85rem;font-weight:600;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:start;transition:background .15s,border-color .15s}.tuya-ac-disclosure:hover{background:#f1f5f9;border-color:#cbd5e1}.tuya-ac-disclosure__label{flex:1;min-width:0}.tuya-ac-disclosure__chev{flex-shrink:0;color:#64748b;font-size:.75rem}.tuya-ac-panel{width:100%;min-width:0;margin-top:.2rem;padding:.65rem .7rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.88rem}.tuya-ac-panel__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.tuya-ac-panel__meta{color:#64748b;font-size:.8rem}.tuya-ac-panel__refresh{font-size:.8rem;padding:.3rem .6rem}.tuya-ac-panel__status,.tuya-ac-panel__hint{margin:0;color:#64748b;font-size:.88rem}.tuya-ac-panel__err{margin:0 0 .5rem;color:#b91c1c;font-size:.88rem}.tuya-ac-power{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.75rem;padding:.75rem .85rem;border-radius:10px;background:#fff;border:1px solid #c7d2e0}.tuya-ac-power--inline{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin:0 0 .35rem;padding:.15rem 0;background:transparent;border:none;border-radius:0}.tuya-ac-power__text--inline{flex-direction:row;align-items:center;gap:.35rem}.tuya-ac-power__text--inline .tuya-ac-power__title{font-size:.92rem}.tuya-ac-power__btn--inline{min-width:5.75rem;padding:.45rem 1rem;font-size:.92rem}@media(min-width:600px){.smart-device-card--tuya-acs-item .tuya-ac-power--inline{margin-top:.1rem;padding-top:.2rem;border-top:1px solid #f1f5f9}}.tuya-ac-power__text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 10rem}.tuya-ac-power__title{font-weight:700;font-size:.95rem;color:#0f172a}.tuya-ac-power__hint{font-size:.78rem;color:#64748b;line-height:1.35}.tuya-ac-power__btn{flex-shrink:0;min-width:5.5rem;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tuya-ac-power__btn:disabled{opacity:.65;cursor:wait}.tuya-ac-power__btn--on{background:#16a34a;color:#fff;border-color:#15803d}.tuya-ac-power__btn--on:hover:not(:disabled){background:#15803d}.tuya-ac-power__btn--off{background:#f1f5f9;color:#334155;border-color:#94a3b8}.tuya-ac-power__btn--off:hover:not(:disabled){background:#e2e8f0}.tuya-ac-panel__detail{margin-top:.35rem}.tuya-ac-panel__subhead{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.tuya-ac-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tuya-ac-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;justify-content:space-between}.tuya-ac-row__label{font-weight:500;color:#334155;min-width:0;flex:1 1 8rem}.tuya-ac-row__bool input{width:1.15rem;height:1.15rem}.tuya-ac-row__select{min-width:8rem;max-width:100%;padding:.35rem .5rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:.88rem}.tuya-ac-row__input{min-width:4rem;max-width:8rem;padding:.35rem .5rem;border-radius:8px;border:1px solid #cbd5e1;font-size:.88rem}.tuya-ac-row__unit{font-weight:400;color:#94a3b8;font-size:.82rem}.smart-device-id-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;margin:.35rem 0 .15rem;font-size:.8rem;color:#64748b}.smart-device-id-label{font-weight:500;color:#94a3b8;flex-shrink:0}.smart-device-id{font-size:.78rem;font-weight:500;color:#334155;background:#f1f5f9;padding:.2rem .45rem;border-radius:6px;border:1px solid #e2e8f0;word-break:break-all}.smart-device-name{font-weight:600;font-size:1.05rem;color:#0f172a;line-height:1.3}.smart-device-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.2rem 0 0}.smart-device-temps{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1rem;margin:.5rem 0 .15rem;font-size:.88rem;line-height:1.4;color:#0f172a}.smart-device-temp{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.smart-device-temp-label{font-weight:600;color:#64748b;font-size:.82rem}.smart-device-temp-value{font-weight:700;font-variant-numeric:tabular-nums;color:#1e3a5f}.smart-devices-tent-sort-hint{margin:0 0 .65rem;font-size:.82rem;line-height:1.45;color:#64748b;max-width:58rem}.smart-devices-organize-hint{margin:-.35rem 0 1rem;font-size:.84rem;line-height:1.45;color:#64748b;max-width:58rem}.smart-devices-organize-clear{display:inline;margin:0;padding:0;border:none;background:none;color:#2563eb;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.smart-devices-organize-clear:hover{color:#1d4ed8}.smart-devices-page--dnd .smart-devices-tab--dnd-target{border-style:dashed;border-color:#94a3b8;background:#f8fafc}.smart-devices-list .smart-device-card[draggable=true]{cursor:grab}.smart-devices-list .smart-device-card[draggable=true]:active{cursor:grabbing}.smart-device-zone-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin:.55rem 0 0}.smart-device-zone-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;flex-shrink:0}.smart-device-zone-select{flex:1;min-width:9rem;max-width:100%;font:inherit;font-size:.88rem;font-weight:600;padding:.35em .5em;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.smart-device-zone-select:focus{outline:2px solid #38bdf8;outline-offset:1px}.smart-device-zone-reset{display:inline;margin:0;padding:0;border:none;background:none;color:#2563eb;font:inherit;font-size:.8rem;font-weight:600;text-decoration:underline;cursor:pointer;white-space:nowrap;flex-shrink:0}.smart-device-zone-reset:hover{color:#1d4ed8}.smart-badge{display:inline-flex;align-items:center;font-size:.8rem;font-weight:600;line-height:1;padding:.35em .6em;border-radius:999px;border:1px solid transparent}.smart-badge--online{background:#dcfce7;color:#166534;border-color:#86efac}.smart-badge--offline{background:#ffedd5;color:#9a3412;border-color:#fdba74}.smart-badge--power-on{background:#dcfce7;color:#166534;border-color:#4ade80}.smart-badge--power-off{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.smart-badge--cat{background:#f1f5f9;color:#334155;border-color:#e2e8f0;font-weight:500}.smart-device-actions{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;gap:.5rem}.smart-device-meta{display:block;font-size:.8rem;color:#64748b;margin:.4rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.smart-btn--on,.smart-btn--off{min-width:7.5rem;padding:.5rem 1rem;font-weight:600;font-size:.9rem;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}.smart-btn--on:disabled,.smart-btn--off:disabled{cursor:not-allowed;opacity:.6}.smart-btn--on{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.smart-btn--on:hover:not(:disabled){background:#dbeafe;border-color:#60a5fa}.smart-btn--off{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:0 1px #0000000d}.smart-btn--off:hover:not(:disabled){background:#15803d;border-color:#166534}.smart-devices-tab--solar.smart-devices-tab--active{background:#047857;border-color:#047857}.solar-battery-panel{margin-top:.5rem;padding:1rem 1.1rem 1.25rem;border:1px solid #d1fae5;border-radius:14px;background:linear-gradient(180deg,#ecfdf5,#fff 48%);max-width:920px}.solar-battery-panel--focus{max-width:none;width:100%;background:linear-gradient(180deg,#f0fdf4,#f8fafc 40%,#fff);border:1px solid #bbf7d0;box-shadow:0 4px 24px #0f172a0f;padding:.5rem .5rem 2rem}.solar-batt-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:32rem;margin:0 auto .25rem;padding:.35rem .5rem .75rem}.solar-batt-topbar__name{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a;min-width:0;flex:1;text-align:start;text-wrap:balance}.solar-batt-topbar__actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.solar-batt-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b98173;animation:solar-batt-pulse 1.4s ease-in-out infinite}.solar-batt-live-dot--bg{background:#0ea5e9;animation:solar-batt-pulse-bg 1.4s ease-in-out infinite}@keyframes solar-batt-pulse-bg{0%,to{box-shadow:0 0 #0ea5e966;opacity:1}50%{box-shadow:0 0 0 5px #0ea5e900;opacity:.75}}@keyframes solar-batt-pulse{0%,to{box-shadow:0 0 #10b98173;opacity:1}50%{box-shadow:0 0 0 6px #10b98100;opacity:.8}}.solar-batt-refresh{font:inherit;font-size:.82rem;font-weight:600;padding:.38rem .8rem;border-radius:999px;border:1px solid #10b981;background:#fff;color:#047857;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.solar-batt-refresh:hover:not(:disabled){background:#ecfdf5;border-color:#059669}.solar-batt-refresh:disabled{opacity:.55;cursor:not-allowed}.solar-batt-moment-outer{display:flex;justify-content:center;align-items:center;min-height:min(56vh,32rem);padding:.5rem .5rem 1.25rem}.solar-batt-moment-outer--vonly{min-height:min(40vh,22rem)}.solar-batt-moment{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:24rem;width:100%}.solar-batt-moment--vonly{min-height:12rem}.solar-batt-moment--vonly .solar-batt-moment__vnum{font-size:clamp(2.5rem,8vw,3.6rem)}.solar-batt-moment--vonly .solar-batt-moment__vunit{font-size:1.6rem}.solar-batt-moment--discharge .solar-batt-bar__fill{background:linear-gradient(180deg,rgba(255,255,255,.38) 0%,transparent 42%),linear-gradient(90deg,#fdba74,#fb923c 44%,#f97316);box-shadow:0 0 0 1px #ea580c47}.solar-batt-moment--discharge .solar-batt-moment__vnum{color:#9a3412}.solar-batt-moment--discharge .solar-batt-moment__vunit{color:#ea580c;opacity:.95}.solar-batt-moment--discharge .solar-batt-moment__soc{color:#9a3412}.solar-batt-moment--discharge .solar-batt-moment__socval{color:#c2410c}.solar-batt-bar{width:100%;max-width:30rem;margin:0 auto .4rem;box-sizing:border-box;padding:0 .1rem .15rem}.solar-batt-bar__device{display:grid;grid-template-columns:minmax(0,1fr) 7px;column-gap:.4rem;row-gap:.1rem;align-items:center;max-width:30rem;margin:0 auto;width:100%;box-sizing:border-box}.solar-batt-bar__shell{grid-row:1;grid-column:1;border:3px solid #3f3f46;border-radius:12px 10px 10px 12px;background:linear-gradient(175deg,#f8fafc,#e2e8f0 45%,#cbd5e1);box-shadow:inset 0 1px #ffffffb3,0 4px 16px #0f172a1a,0 1px #fff6;padding:6px 6px 7px;min-width:0;position:relative}.solar-batt-bar__shell:after{content:"";position:absolute;top:4px;right:5px;left:5px;height:4px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);pointer-events:none}.solar-batt-bar__terminal{grid-row:1;grid-column:2;width:7px;height:1.25rem;min-height:1.1rem;max-height:1.4rem;align-self:center;background:linear-gradient(180deg,#52525b,#3f3f46 55%,#27272a);border-radius:0 3px 3px 0;box-shadow:inset -1px 0 #ffffff1a,0 2px 3px #0003}.solar-batt-bar__track{position:relative;width:100%;height:36px;border-radius:6px;background:#d4d4d8;overflow:hidden;box-shadow:inset 0 2px 5px #0f172a2e}.solar-batt-bar__fill{height:100%;min-width:0;border-radius:5px 0 0 5px;background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,transparent 45%),linear-gradient(90deg,#4ade80,#22c55e 36%,#16a34a);box-shadow:0 0 0 1px #16a34a47;transition:width .45s ease;box-sizing:border-box}.solar-batt-bar__fill--full{border-radius:5px}.solar-batt-bar__pct-scale{grid-row:2;grid-column:1;display:flex;justify-content:space-between;align-items:center;margin:.35rem 0 .1rem;font-size:.72rem;font-weight:700;color:#64748b;font-variant-numeric:tabular-nums;gap:.1rem}.solar-batt-bar__pct-tick{flex:1;min-width:0;text-align:center}.solar-batt-bar__pct-tick:first-child{text-align:start}.solar-batt-bar__pct-tick:last-child{text-align:end}.solar-batt-bar__v-scale{grid-row:3;grid-column:1;display:flex;justify-content:space-between;margin:0 .05rem;font-size:.78rem;font-weight:600;color:#475569;font-variant-numeric:tabular-nums}.solar-batt-moment__vstack{margin-top:.5rem;width:100%}.solar-batt-moment__vrow{line-height:1;display:flex;align-items:baseline;justify-content:center;gap:.12em;margin-top:.35rem}.solar-batt-moment__vnum{font-size:clamp(2.15rem,5.5vw,2.9rem);font-weight:800;letter-spacing:-.03em;color:#0369a1;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.solar-batt-moment__vunit{font-size:1.35rem;font-weight:700;color:#0ea5e9;opacity:.9;align-self:flex-end;padding-bottom:.12em}.solar-batt-moment__vlabel{margin:.4rem 0 0;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.solar-batt-moment__soc{margin:.55rem 0 0;font-size:1.15rem;font-weight:700;color:#047857;line-height:1.2}.solar-batt-moment__socval{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums}.solar-batt-moment__socsym{font-size:1.05rem;font-weight:700;color:#64748b;margin-left:.05em}.solar-batt-moment__empty-block{text-align:center;max-width:32rem;margin:0 auto}.solar-batt-moment__loading,.solar-batt-moment__empty{text-align:center;color:#64748b;font-size:.95rem;margin:2rem auto;max-width:20rem}.solar-batt-moment__empty-block .solar-batt-moment__empty{margin-bottom:.5rem}.solar-batt-moment__empty-detail{font-size:.85rem;color:#94a3b8;margin:0 auto 2rem;word-break:break-word;max-width:28rem}.solar-batt-page{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:960px;margin:0 auto;position:relative;z-index:0}.v-hist{position:relative;width:100%;max-width:36rem;margin:1.25rem auto 0;padding:1px;border-radius:20px;background:linear-gradient(135deg,#06b6d48c,#8b5cf673,#f472b659);box-shadow:0 18px 48px #0f172a1f,0 0 0 1px #ffffff14 inset}.v-hist__glow{position:absolute;inset:-2px;border-radius:22px;background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(6,182,212,.25),transparent 55%);pointer-events:none;z-index:0}.v-hist__inner{position:relative;z-index:1;border-radius:19px;background:linear-gradient(180deg,#0f172a,#1e293b 48%,#0f172a);color:#e2e8f0;padding:1.15rem 1rem 1rem;overflow:hidden}.v-hist__head{margin-bottom:.85rem}.v-hist__title{margin:0 0 .25rem;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,#e0f2fe,#a5f3fc,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}.v-hist__subtitle{margin:0;font-size:.78rem;line-height:1.45;color:#94a3b8;max-width:32rem}.v-hist__tabs{display:flex;gap:.4rem;margin-bottom:.85rem}.v-hist__tab{flex:1;border:1px solid rgba(148,163,184,.35);background:#1e293bd9;color:#cbd5e1;font-size:.82rem;font-weight:700;padding:.45rem .65rem;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.v-hist__tab:hover{border-color:#06b6d499;color:#f1f5f9}.v-hist__tab--on{background:linear-gradient(135deg,#06b6d459,#8b5cf640);border-color:#06b6d4a6;color:#f8fafc;box-shadow:0 0 20px #06b6d42e}.v-hist__nav{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:.75rem}.v-hist__nav--month{margin-bottom:.65rem}.v-hist__navbtn{width:2.1rem;height:2.1rem;border-radius:10px;border:1px solid rgba(71,85,105,.9);background:#0f172ae6;color:#e2e8f0;font-size:1.1rem;line-height:1;cursor:pointer;transition:border-color .15s,background .15s}.v-hist__navbtn:hover:not(:disabled){border-color:#22d3ee;background:#06b6d41f}.v-hist__navbtn:disabled{opacity:.35;cursor:not-allowed}.v-hist__navdate{font-size:.9rem;font-weight:700;color:#f1f5f9;min-width:9rem;text-align:center}.v-hist__empty{margin:.5rem 0 0;font-size:.82rem;color:#94a3b8;line-height:1.45;text-align:center}.v-hist__kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:.5rem}.v-hist__kpi--2{grid-template-columns:repeat(2,1fr);margin-bottom:.45rem}@media(max-width:520px){.v-hist__kpi,.v-hist__kpi--2,.v-hist__kpi--trend{grid-template-columns:1fr}}.v-hist__chip{border-radius:12px;padding:.4rem .5rem .45rem;background:#1e293be6;border:1px solid rgba(71,85,105,.65);display:flex;flex-direction:column;gap:.1rem}.v-hist__chip-lbl{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.v-hist__chip-val{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f8fafc}.v-hist__chip-sub{font-size:.7rem;color:#94a3b8;font-variant-numeric:tabular-nums}.v-hist__chip--min .v-hist__chip-val{color:#7dd3fc}.v-hist__chip--max .v-hist__chip-val{color:#fbbf24}.v-hist__chip--full{border-color:#34d39973;background:linear-gradient(180deg,#064e3b73,#0f172af2)}.v-hist__chip--empty{border-color:#fb923c73;background:linear-gradient(180deg,#78350f66,#0f172af2)}.v-hist__chip--up{border-color:#06b6d466}.v-hist__chip--down{border-color:#f472b666}.v-hist__trend{margin-bottom:.4rem}.v-hist__trend-title{margin:0 0 .4rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;text-align:center}.v-hist__kpi--trend{grid-template-columns:repeat(2,1fr);margin-bottom:.2rem}.v-hist__trend-hint{margin:0 0 .45rem;font-size:.65rem;line-height:1.45;color:#94a3b8;text-align:center}.v-hist__legend{margin:0 0 .5rem;font-size:.68rem;line-height:1.4;color:#64748b;text-align:center}.v-hist__chartwrap{width:100%;border-radius:14px;background:linear-gradient(180deg,#0f172ae6,#020617f2);border:1px solid rgba(51,65,85,.85);padding:.25rem .15rem .1rem;margin-bottom:.65rem;overflow:hidden}.v-hist__chart{width:100%;height:auto;display:block;max-height:200px}.v-hist__line{stroke:#22d3ee;filter:drop-shadow(0 0 6px rgba(34,211,238,.35))}.v-hist__ref{stroke-width:1.1;stroke-dasharray:4 4;opacity:.85}.v-hist__ref--100{stroke:#34d399bf}.v-hist__ref--0{stroke:#fb7185b3}.v-hist__ref-lbl{fill:#64748b;font-size:10px;font-weight:700}.v-hist__axis-tick{fill:#64748b;font-size:10px;font-weight:600}.v-hist__tablewrap{max-height:12rem;overflow:auto;border-radius:12px;border:1px solid rgba(51,65,85,.75);background:#02061773}.v-hist__table{width:100%;border-collapse:collapse;font-size:.75rem}.v-hist__table th,.v-hist__table td{padding:.35rem .5rem;text-align:start;border-bottom:1px solid rgba(51,65,85,.5);font-variant-numeric:tabular-nums}.v-hist__table th{position:sticky;top:0;background:#0f172af2;color:#94a3b8;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.v-hist__table td{color:#e2e8f0}.v-hist__unit{color:#64748b;font-size:.7em;margin-inline-start:.1em}.v-hist__dv--up{color:#34d399;font-weight:700}.v-hist__dv--down{color:#fb923c;font-weight:700}.v-hist__dv--na{color:#64748b}.v-hist__month{max-height:min(58vh,24rem);overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding:.1rem .15rem .2rem 0}.v-hist__mrow{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .55rem;border-radius:12px;background:#1e293ba6;border:1px solid rgba(51,65,85,.55)}.v-hist__mrow-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}@media(max-width:560px){.v-hist__mrow-top{flex-direction:column;align-items:stretch}.v-hist__mstat{text-align:start!important}.v-hist__mspark{justify-content:flex-start}}.v-hist__mrow--today{border-color:#06b6d48c;box-shadow:0 0 0 1px #06b6d41f}.v-hist__mdate{flex:1 1 auto;min-width:0;font-size:.78rem;font-weight:700;color:#cbd5e1}.v-hist__mday{color:#f1f5f9}.v-hist__mspark{flex:0 0 auto;display:flex;justify-content:center;align-items:center;min-height:2.4rem}.v-hist__msvg{display:block;border-radius:8px;background:#02061780;border:1px solid rgba(51,65,85,.5)}.v-hist__mpath{stroke:#22d3ee;stroke-linecap:round;stroke-linejoin:round}.v-hist__mdash{color:#475569;font-size:.9rem}.v-hist__mstat{flex:0 0 auto;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:end;color:#e2e8f0}.v-hist__mmin{color:#7dd3fc}.v-hist__mmax{color:#fbbf24}.v-hist__msep{margin:0 .2rem;color:#64748b;font-weight:600}.v-hist__munit{margin-inline-start:.15rem;color:#64748b;font-size:.75em;font-weight:600}.v-hist__mna{color:#64748b;font-size:.75rem}.v-hist__mbar{width:100%;height:6px;border-radius:4px;background:#0f172ae6;position:relative;overflow:hidden;align-self:center}.v-hist__mbar-in{position:absolute;top:0;height:100%;border-radius:3px;background:linear-gradient(90deg,#22d3ee,#a78bfa,#f472b6);opacity:.9;min-width:4px}.v-hist__mdur{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.7rem;color:#94a3b8}.v-hist__mdot{padding:.1rem .35rem;border-radius:6px;font-variant-numeric:tabular-nums;font-weight:700}.v-hist__mdot--full{background:#064e3b73;color:#6ee7b7;border:1px solid rgba(52,211,153,.35)}.v-hist__mdot--empty{background:#78350f59;color:#fdba74;border:1px solid rgba(251,146,60,.3)}.v-hist__foot{margin:.75rem 0 .35rem;font-size:.7rem;line-height:1.4;color:#64748b;text-align:center}.v-hist__actions{display:flex;justify-content:center}.v-hist__linkbtn{background:none;border:none;color:#94a3b8;font-size:.72rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.2rem .4rem}.v-hist__linkbtn:hover{color:#f87171}.solar-batt-hero-block{margin:0 0 1.1rem;padding:.9rem 1rem 1rem;border:1px solid #a7f3d0;border-radius:12px;background:#fff}.solar-batt-hero2{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;align-items:start;margin-bottom:.5rem}@media(max-width:640px){.solar-batt-hero2{grid-template-columns:1fr}}.solar-batt-hero{text-align:center;margin-bottom:.75rem}.solar-batt-hero2 .solar-batt-hero{margin-bottom:0}.solar-batt-hero--v{text-align:center;margin-bottom:0}.solar-batt-v-hero-t{margin:0 0 .35rem;font-size:.88rem;font-weight:600;color:#0f172a}.solar-batt-v-hero-num{font-size:2.6rem;font-weight:800;color:#0369a1;line-height:1.1;letter-spacing:-.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.solar-batt-hero-sub{font-size:.8rem;line-height:1.3;color:#64748b;margin:.25rem 0 .4rem;max-width:16rem;margin-left:auto;margin-right:auto}.solar-batt-hero-digital{line-height:1;margin-bottom:.2rem}.solar-batt-hero-num{font-size:2.75rem;font-weight:800;color:#047857;letter-spacing:-.02em}.solar-batt-hero-sym{font-size:1.4rem;font-weight:700;color:#64748b;margin-left:.1em}.solar-batt-hero-lbl{margin:0 0 .5rem;font-size:.88rem;color:#64748b;font-weight:500}.solar-batt-hero-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;max-width:20rem;margin:0 auto}.solar-batt-hero-bar-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#10b981);border-radius:999px;transition:width .35s ease}.solar-batt-kpis{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:center;margin-top:.5rem}.solar-batt-kpi{min-width:5.5rem;text-align:center;padding:.4rem .6rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.solar-batt-kpi-lbl{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.15rem}.solar-batt-kpi-val{font-size:1.05rem;font-weight:700;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.solar-batt-merge-hint{font-size:.85rem;line-height:1.4;color:#64748b;margin:.5rem 0 0;max-width:48rem;margin-left:auto;margin-right:auto;text-align:center}.solar-battery-header{margin-bottom:.5rem}.solar-battery-title{margin:0 0 .25rem;font-size:1.2rem;font-weight:700;color:#065f46}.solar-battery-sub{margin:0 0 .65rem;font-size:.9rem;color:#64748b}.solar-battery-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.smart-btn-refresh{font:inherit;font-weight:600;font-size:.9rem;padding:.45rem 1rem;border-radius:10px;border:2px solid #10b981;background:#fff;color:#047857;cursor:pointer}.smart-btn-refresh:hover:not(:disabled){background:#ecfdf5}.smart-btn-refresh:disabled{opacity:.55;cursor:not-allowed}.solar-battery-intro,.solar-battery-hint,.solar-battery-footnote{font-size:.9rem;line-height:1.45;color:#475569;margin:0 0 .75rem;max-width:52rem}.solar-battery-fetched{font-size:.8rem;color:#64748b;margin:0 0 .75rem}.solar-battery-live{font-style:italic;color:#2563eb}.solar-battery-bg-err{font-size:.85rem;color:#b45309;margin:0 0 .75rem}.solar-battery-tuya-errs{font-size:.85rem;color:#b45309;margin:0 0 .75rem;padding-left:1.2rem}.solar-battery-section{margin:1rem 0}.solar-battery-h4{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#0f172a}.solar-dp-table{display:flex;flex-direction:column;gap:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.solar-dp-thead{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(6rem,2fr);gap:.5rem;padding:.5rem .65rem;background:#f1f5f9;font-size:.8rem;font-weight:600;color:#475569}.solar-dp-table--wide .solar-dp-thead{grid-template-columns:minmax(7rem,1fr) minmax(4rem,.7fr) minmax(8rem,2fr)}.solar-dp-tr{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(6rem,2fr);gap:.5rem;padding:.45rem .65rem;border-top:1px solid #f1f5f9;font-size:.88rem;align-items:start}.solar-dp-table--wide .solar-dp-tr{grid-template-columns:minmax(7rem,1fr) minmax(4rem,.7fr) minmax(8rem,2fr)}.solar-dp-code{font-size:.82rem;color:#0369a1;word-break:break-all}.solar-dp-val{font-weight:600;color:#0f172a;word-break:break-word}.solar-dp-td{color:#334155;font-size:.85rem}.solar-dp-td--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:#475569;overflow:hidden}.solar-dp-th--val{grid-column:auto}.solar-battery-empty{font-size:.9rem;color:#64748b;margin:0}.solar-battery-section--ai{padding-top:.5rem;border-top:1px dashed #cbd5e1}.solar-battery-api-block{font-size:.78rem;line-height:1.45;padding:.75rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto;white-space:pre-wrap;margin:0 0 .5rem}.solar-battery-raw{margin-top:.75rem}.solar-battery-raw-toggle{font:inherit;font-size:.85rem;font-weight:600;color:#0369a1;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.solar-battery-raw-pre{margin:.5rem 0 0;max-height:18rem;overflow:auto;font-size:.72rem;padding:.6rem;background:#0f172a;color:#e2e8f0;border-radius:8px}.solar-battery-linkbtn{font:inherit;font-size:inherit;color:#0369a1;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}: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}
