/* FINAL ADMIN CSS RESTORE - Tall Pines */
:root{--tp-blue:#0755b8;--tp-blue2:#0847a1;--tp-navy:#0b1f44;--tp-slate:#475569;--tp-muted:#64748b;--tp-border:#e2e8f0;--tp-bg:#f5f7fb;--tp-card:#fff;--tp-green:#15803d;--tp-soft-green:#eefbe8;--tp-red:#dc2626;--tp-soft-red:#fff1f2;--tp-yellow:#b45309;--tp-soft-yellow:#fff7d6;--tp-purple:#6d28d9;--tp-orange:#ea580c;--tp-shadow:0 18px 45px rgba(15,23,42,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--tp-bg);color:#14213d}a{color:var(--tp-blue);text-decoration:none}button,input,select,textarea{font:inherit}.tp-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.tp-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--tp-border);display:flex;flex-direction:column;padding:0 14px;z-index:5}.tp-logo{height:74px;margin:0 -14px 14px;padding:16px 20px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#063f91,#075cc5);color:#fff}.tp-logo:hover{color:#fff}.tp-logo-mark{font-weight:900;letter-spacing:-8px;font-size:23px;line-height:1}.tp-logo strong{display:block;font-size:22px;letter-spacing:.2px}.tp-logo small{display:block;text-transform:uppercase;letter-spacing:1.3px;font-size:12px;opacity:.9}.tp-nav{display:grid;gap:6px}.tp-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:10px;color:#0f172a;font-weight:700;font-size:14px}.tp-nav a span{width:23px;text-align:center;color:#344767}.tp-nav a:hover,.tp-nav a.is-active{background:#eaf2ff;color:#0755b8}.tp-nav a.is-active span{color:#0755b8}.tp-park-status{margin-top:auto;margin-bottom:12px;padding:14px;border:1px solid var(--tp-border);border-radius:12px;background:#fbfdff}.tp-park-status small{display:block;text-transform:uppercase;color:#64748b;font-weight:900;font-size:11px;margin-bottom:7px}.tp-park-status strong{display:flex;align-items:center;gap:8px;font-size:14px}.tp-park-status strong span{width:9px;height:9px;border-radius:999px;background:#22c55e;display:inline-block}.tp-park-status a{display:inline-block;margin-top:10px;font-weight:800;font-size:13px}.tp-collapse{height:40px;border:0;background:#fff;border-top:1px solid var(--tp-border);font-weight:800;color:#475569;text-align:left}.tp-workspace{min-width:0}.tp-topbar{height:74px;background:linear-gradient(135deg,#0847a1,#075ec8);display:flex;align-items:center;gap:20px;padding:0 28px;color:#fff;position:sticky;top:0;z-index:4;box-shadow:0 8px 20px rgba(7,85,184,.16)}.tp-topbar>div:first-child strong{font-size:20px;letter-spacing:.1px}.tp-search{margin-left:auto;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:10px;height:42px;width:min(390px,34vw);padding:0 13px}.tp-search input{border:0;outline:0;background:transparent;color:#fff;width:100%;font-weight:700}.tp-search input::placeholder{color:#dbeafe}.tp-top-actions{display:flex!important;align-items:center;gap:13px}.tp-top-actions button{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;font-weight:900;position:relative}.tp-bell em{position:absolute;right:-5px;top:-5px;background:#ef4444;border:2px solid #075ec8;color:#fff;border-radius:999px;min-width:18px;height:18px;line-height:14px;font-size:10px;font-style:normal}.tp-user-chip{display:flex;align-items:center;gap:10px}.tp-user-chip>span{width:39px;height:39px;border-radius:999px;background:#fff;color:#0755b8;font-weight:900;display:grid;place-items:center}.tp-user-chip strong{display:block;font-size:13px}.tp-user-chip small{font-size:11px;opacity:.9}.tp-content{padding:20px 26px 34px}.tp-dashboard-mock{max-width:1720px;margin:0 auto}.tp-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:16px;margin-bottom:16px}.tp-kpi-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:20px 22px;display:flex;align-items:center;gap:18px;min-height:118px}.tp-kpi-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:27px;font-weight:900;border:1px solid}.kpi-blue .tp-kpi-icon{background:#eaf2ff;border-color:#c7d2fe;color:#1d4ed8}.kpi-green .tp-kpi-icon{background:#eafbe8;border-color:#bbf7d0;color:#15803d}.kpi-purple .tp-kpi-icon{background:#f3e8ff;border-color:#ddd6fe;color:#6d28d9}.kpi-orange .tp-kpi-icon{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.tp-kpi-card span{display:block;color:#475569;font-size:13px;font-weight:900}.tp-kpi-card strong{display:block;font-size:29px;line-height:1.15;margin:4px 0;color:#0f172a}.tp-kpi-card small{color:#64748b;font-weight:700}.tp-main-dashboard-grid{display:grid;grid-template-columns:minmax(680px,1fr) 420px;gap:16px}.tp-panel{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow)}.tp-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px}.tp-panel-head.compact{align-items:center;padding-bottom:12px}.tp-panel-head h1,.tp-panel-head h2{margin:0;color:#0f172a}.tp-panel-head h1{font-size:19px}.tp-panel-head h2{font-size:17px}.tp-panel-head p{margin:4px 0 0;color:#64748b;font-weight:700}.tp-panel-head b{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:2px 8px;font-size:12px;margin-left:6px}.tp-panel-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tp-panel-actions button,.tp-panel-head button{border:1px solid var(--tp-border);background:#fff;border-radius:9px;height:34px;padding:0 12px;font-weight:800;color:#334155}.tp-availability-panel{overflow:hidden}.tp-availability-grid{padding:0 20px 13px;display:grid;grid-template-columns:160px repeat(7,minmax(82px,1fr));gap:6px;align-items:center;overflow-x:auto}.tp-grid-head{font-size:12px;color:#475569;font-weight:900;text-align:center;padding:8px 4px;border-bottom:1px solid var(--tp-border)}.tp-grid-head.unit-col{text-align:left}.tp-unit-name{height:36px;display:flex;align-items:center;gap:8px;font-weight:900;font-size:13px;color:#0f172a;border-bottom:1px solid #eef2f7}.tp-unit-name span{color:#15803d}.tp-unit-name.is-owner-unit span{color:#6d28d9}.tp-slot{height:34px;border-radius:8px;border:1px solid;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 7px;font-size:12px;font-weight:900;white-space:nowrap}.tp-slot span{color:#334155}.tp-slot small{color:#475569;font-weight:900}.tp-slot em{font-style:normal;font-size:9px;line-height:1;background:#ef4444;color:#fff;border-radius:999px;padding:3px 5px}.tp-slot-available{background:var(--tp-soft-green);border-color:#c8efbb}.tp-slot-limited{background:var(--tp-soft-yellow);border-color:#fde68a}.tp-slot-booked{background:var(--tp-soft-red);border-color:#fecaca}.tp-legend{display:flex;gap:26px;flex-wrap:wrap;padding:9px 20px 20px;color:#64748b;font-size:13px;font-weight:800}.tp-legend span{display:flex;align-items:center;gap:8px}.tp-legend i{width:13px;height:13px;border-radius:3px;display:inline-block}.tp-legend .ok{background:#bbf7d0}.tp-legend .lim{background:#fde68a}.tp-legend .book{background:#fca5a5}.tp-legend .closed{background:#e2e8f0}.tp-right-stack{display:grid;gap:16px}.tp-mini-list{padding-bottom:14px}.tp-mini-row{display:grid;grid-template-columns:70px 1fr 130px 34px;gap:8px;align-items:center;padding:7px 20px;font-size:13px}.tp-mini-row strong{color:#0f172a}.tp-mini-row span{font-weight:800;color:#334155}.tp-mini-row em{font-style:normal;color:#475569}.tp-mini-row small{text-align:right;color:#334155}.tp-mini-row.muted{color:#64748b}.tp-mini-list>a,.tp-small-card>a{display:inline-block;margin:8px 20px 0;font-weight:900;font-size:13px}.tp-side-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tp-small-card{padding:16px}.tp-small-card h3{margin:0 0 12px;font-size:15px}.tp-small-card h3 b{background:#fed7aa;color:#c2410c;border-radius:999px;padding:2px 7px;font-size:11px}.tp-small-card p{display:flex;justify-content:space-between;margin:6px 0;color:#475569;font-size:13px;font-weight:800}.tp-small-card p strong{color:#0f172a}.tp-small-card a{margin-left:0}.tp-bottom-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:16px;margin-top:16px}.tp-chart-card{min-height:252px}.tp-chart{height:170px;padding:14px 20px 20px;display:flex;align-items:end;gap:18px;border-top:1px solid #f1f5f9}.tp-bar-wrap{height:144px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.tp-bar{width:100%;max-width:54px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#2f6df6,#a7c2ff)}.tp-bar-wrap span{font-size:12px;font-weight:800;color:#64748b}.tp-clean-table{width:100%;border-collapse:collapse}.tp-clean-table th,.tp-clean-table td{padding:10px 18px;border-top:1px solid #f1f5f9;text-align:left;font-size:13px}.tp-clean-table th{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tp-status{background:#dcfce7;color:#166534;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.tp-activity-list{padding:4px 18px 18px;display:grid;gap:12px}.tp-activity-list>div{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start}.tp-activity-list i{width:34px;height:34px;border-radius:999px;background:#eaf2ff;color:#1d4ed8;display:grid;place-items:center;font-style:normal;font-weight:900}.tp-activity-list p{margin:0}.tp-activity-list strong{display:block;font-size:13px;color:#0f172a}.tp-activity-list span{display:block;font-size:12px;color:#64748b;margin-top:2px}.tp-activity-list em{font-size:12px;color:#64748b;font-style:normal;font-weight:800}.tp-admin-wrap{max-width:1400px;margin:0 auto}.tp-card,.tp-hero-card,.tp-module-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow)}.tp-hero-card{padding:22px;margin-bottom:16px}.tp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;background:#0755b8;color:#fff;font-weight:900;border:0}.tp-btn:hover{color:#fff}.tp-btn-light{background:#eaf2ff;color:#0755b8}.tp-btn-gold{background:#b45309;color:#fff}.tp-table{width:100%;border-collapse:collapse}.tp-table th,.tp-table td{border-bottom:1px solid #eef2f7;padding:10px;text-align:left}.tp-pill{display:inline-flex;border-radius:999px;padding:3px 8px;background:#eaf2ff;color:#0755b8;font-weight:900;font-size:12px}.tp-pill-green{background:#dcfce7;color:#166534}.tp-empty{color:#64748b;text-align:center;padding:22px!important}@media(max-width:1250px){.tp-shell{grid-template-columns:220px 1fr}.tp-main-dashboard-grid,.tp-bottom-grid{grid-template-columns:1fr}.tp-right-stack{grid-template-columns:1fr}.tp-side-cards{grid-template-columns:1fr 1fr}.tp-kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.tp-shell{display:block}.tp-sidebar{position:relative;height:auto}.tp-topbar{position:relative;height:auto;padding:14px;flex-wrap:wrap}.tp-search{width:100%;order:3}.tp-kpi-row,.tp-side-cards{grid-template-columns:1fr}.tp-content{padding:14px}.tp-availability-grid{grid-template-columns:135px repeat(7,110px)}}

/* Booking workflow update */
.tp-alert-success,.tp-alert-error{border-radius:14px;padding:12px 14px;margin-bottom:16px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.tp-alert-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.tp-alert-error ul{margin:8px 0 0 20px}.tp-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.tp-eyebrow{margin:0 0 4px;color:#2563eb;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.tp-page-head h1{margin:0;font-size:30px}.tp-page-head p{margin:6px 0 0;color:#64748b}.tp-actions,.tp-mini-controls{display:flex;gap:10px;align-items:center}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe4f0;background:#fff;color:#0f172a;text-decoration:none;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.tp-btn-primary{background:#0b63ce;border-color:#0b63ce;color:#fff}.tp-btn-wide{width:100%;margin-top:8px}.tp-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.tp-card-head h2{margin:0}.tp-card-head p{margin:4px 0 0;color:#64748b}.tp-calendar-card{overflow-x:auto}.tp-booking-grid{display:grid;grid-template-columns:190px repeat(var(--days),minmax(130px,1fr));gap:8px;min-width:1100px}.tp-grid-head{font-size:12px;font-weight:900;color:#475569;padding:8px 10px;border-bottom:1px solid #e5e7eb}.tp-unit-head{text-align:left}.tp-unit-name{display:flex;gap:10px;align-items:center;border-bottom:1px solid #eef2f7;padding:8px 4px}.tp-unit-name strong{display:block;font-size:13px}.tp-unit-name small{color:#64748b}.tp-unit-dot{width:10px;height:10px;background:#16a34a;border-radius:999px;display:inline-block}.tp-availability-cell{display:block;text-decoration:none;border-radius:10px;border:1px solid #dbeafe;padding:9px 10px;min-height:58px;color:#0f172a}.tp-availability-cell span{display:block;font-weight:800;font-size:13px}.tp-availability-cell em{display:inline-block;font-style:normal;font-size:11px;font-weight:900;margin-top:4px;padding:2px 7px;border-radius:999px}.tp-availability-cell small{display:block;color:#64748b;margin-top:3px}.tp-availability-cell.is-open{background:#effdeb;border-color:#ccefc0}.tp-availability-cell.is-open em{background:#dcfce7;color:#166534}.tp-availability-cell.is-booked{background:#fff1f2;border-color:#fecdd3}.tp-availability-cell.is-booked em{background:#ef4444;color:#fff}.tp-empty{padding:24px;background:#f8fafc;border-radius:14px;color:#64748b}.tp-booking-create{display:grid;grid-template-columns:310px minmax(480px,1fr) 320px;gap:18px;align-items:start}.tp-booking-left,.tp-booking-center .tp-card,.tp-booking-right .tp-card{background:#fff;border:1px solid #e5edf7;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:18px}.tp-booking-side-header{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;padding:14px;margin-bottom:14px}.tp-booking-side-header strong{display:block;font-size:17px}.tp-booking-side-header span{display:block;color:#0f172a;margin-top:4px}.tp-booking-create label{display:block;font-weight:800;color:#334155;margin:0 0 12px}.tp-booking-create input,.tp-booking-create select,.tp-booking-create textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.tp-booking-create small{display:block;color:#64748b;font-weight:500;margin-top:4px}.tp-required{color:#dc2626}.tp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tp-night-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.tp-night-card{border:1px solid #dbe4f0;border-radius:14px;padding:12px;background:#f8fbff;display:grid!important;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:0!important}.tp-night-card span{font-weight:900}.tp-night-card strong{color:#075bbd}.tp-checkout-card{position:sticky;top:92px}.tp-booking-overlay-page{max-width:1200px;margin:0 auto}.tp-detail-modal{background:#fff;border:1px solid #dbe4f0;border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.14);overflow:hidden}.tp-modal-header{display:flex;gap:14px;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:relative}.tp-unit-thumb{width:72px;height:72px;border-radius:12px;background:#eef6ff;display:grid;place-items:center;overflow:hidden}.tp-unit-thumb img{width:100%;height:100%;object-fit:cover}.tp-modal-header p{margin:0;color:#334155;font-weight:800}.tp-modal-header h1{margin:4px 0;font-size:24px}.tp-status-dot{display:inline-block;width:10px;height:10px;background:#22c55e;border-radius:999px;margin-right:6px}.tp-modal-close{position:absolute;right:20px;top:16px;font-size:32px;text-decoration:none;color:#0f172a}.tp-modal-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;background:#f8fafc}.tp-modal-tabs span,.tp-modal-tabs strong{padding:12px 16px;border-right:1px solid #e5e7eb;font-size:13px}.tp-modal-tabs strong{color:#075bbd;border-bottom:3px solid #0b63ce;background:#fff}.tp-modal-body{display:grid;grid-template-columns:1fr 360px;gap:24px;padding:24px}.tp-modal-body h2{font-size:30px;margin:0 0 4px}.tp-link{display:inline-block;margin:8px 0 16px;color:#075bbd;text-decoration:none;font-weight:800}.tp-booking-row{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;margin-bottom:16px}.tp-booking-row strong,.tp-booking-row span,.tp-booking-row small{display:block}.tp-booking-row span{color:#334155;margin-top:3px}.tp-booking-row small{color:#64748b;margin-top:3px}.tp-paid-badge{font-style:normal;background:#16a34a;color:#fff;border-radius:999px;padding:4px 10px;height:max-content;font-weight:900}.tp-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.tp-info-grid div{border:1px solid #e5edf7;border-radius:12px;padding:12px;background:#fff}.tp-info-grid small{display:block;color:#64748b}.tp-info-grid strong{display:block;margin-top:3px}.tp-note-panel{border:1px solid #e5edf7;border-radius:14px;padding:14px;margin-top:10px;background:#fff}.tp-note-panel h3{margin:0 0 8px}.tp-note-panel p{margin:0 0 8px;color:#334155;white-space:pre-wrap}.tp-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.tp-settings-card,.tp-rules-card{border:1px solid #e5edf7;border-radius:16px;padding:16px;background:#fff;margin-bottom:14px}.tp-settings-card h3,.tp-rules-card h3{margin:0 0 10px}.tp-settings-card a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1f5f9;color:#0f172a;text-decoration:none;font-weight:800}.tp-rules-card p{color:#64748b}.tp-activity-log{border-top:1px solid #e5e7eb;background:#f8fafc;padding:18px 24px}.tp-activity-log h3{margin:0 0 12px}.tp-activity-row{display:grid;grid-template-columns:160px 1fr 150px;gap:16px;padding:10px 0;border-top:1px solid #e5e7eb}.tp-activity-row span{color:#334155}.tp-activity-row small{color:#64748b;text-align:right}@media(max-width:1100px){.tp-booking-create{grid-template-columns:1fr}.tp-modal-body{grid-template-columns:1fr}.tp-info-grid{grid-template-columns:repeat(2,1fr)}}

.tp-alert{border-radius:16px;padding:14px 18px;margin:0 0 18px;border:1px solid #dbe4f0;background:#f8fbff;color:#0f172a}.tp-alert ul{margin:8px 0 0 20px}.tp-alert-danger{background:#fff5f5;border-color:#fecaca;color:#7f1d1d}.tp-section-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.tp-section-headline p{margin:4px 0 0;color:#64748b}.tp-pill-soft{display:inline-flex;align-items:center;border-radius:999px;background:#eaf3ff;color:#0755b8;border:1px solid #bfdbfe;padding:6px 10px;font-size:12px;font-weight:800}.tp-checkbox-line{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin-top:14px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:12px;padding:12px}.tp-checkbox-line input{width:auto!important}.tp-total-box{background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid #bfdbfe;border-radius:16px;padding:14px;margin:12px 0;display:grid;gap:10px}.tp-total-box div{display:flex;justify-content:space-between;align-items:center}.tp-total-box span{font-size:13px;color:#475569;font-weight:800}.tp-total-box strong{font-size:20px;color:#0f3f8c}

/* --- calendar polish --- */
/* Tall Pines ATV Park Reservation System - Calendar + Availability Polish */
:root{
  --tp-blue:#0755b8;--tp-blue2:#0847a1;--tp-navy:#0b1f44;--tp-slate:#475569;--tp-muted:#64748b;--tp-border:#e2e8f0;--tp-bg:#f5f7fb;--tp-card:#fff;--tp-green:#15803d;--tp-soft-green:#eefbe8;--tp-red:#dc2626;--tp-soft-red:#fff1f2;--tp-yellow:#b45309;--tp-soft-yellow:#fff7d6;--tp-purple:#6d28d9;--tp-orange:#ea580c;--tp-shadow:0 18px 45px rgba(15,23,42,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--tp-bg);color:#14213d}a{color:var(--tp-blue);text-decoration:none}button,input,select,textarea{font:inherit}.tp-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow)}.tp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;background:#0755b8;color:#fff;font-weight:900;border:0;cursor:pointer}.tp-btn:hover{color:#fff}.tp-btn-light{background:#eaf2ff;color:#0755b8}.tp-btn-outline{background:#fff;color:#0755b8;border:1px solid #bfdbfe}.tp-btn-primary{background:#0755b8;color:#fff}.tp-page-head{max-width:1720px;margin:0 auto 16px}.tp-page-head-split{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tp-page-head h1{font-size:30px;line-height:1.1;margin:3px 0;color:#071c44}.tp-page-head p{margin:0;color:#64748b;font-weight:700}.tp-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#64748b!important;font-size:12px;font-weight:900}.tp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tp-inline-form{display:inline-flex}.tp-actions input,.tp-actions select{height:44px;border:1px solid var(--tp-border);border-radius:10px;padding:0 12px;font-weight:800;background:#fff}.tp-alert-success,.tp-alert-danger{max-width:1720px;margin:0 auto 16px;border-radius:12px;padding:13px 16px;font-weight:900}.tp-alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.tp-alert-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.tp-empty{color:#64748b;text-align:center;padding:22px!important}.tp-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tp-soft-stat{display:inline-flex;gap:5px;align-items:center;border:1px solid #dbeafe;background:#f8fbff;color:#475569;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.tp-soft-stat strong{color:#0755b8}

/* Booking calendar */
.tp-calendar-shell{max-width:1720px;margin:0 auto}.tp-calendar-card{overflow:hidden;padding:0}.tp-booking-calendar-head{padding:20px 22px 12px}.tp-booking-calendar-head h2{margin:0;color:#0f172a;font-size:22px}.tp-booking-calendar-head p{margin:5px 0 0;color:#64748b;font-weight:700}.tp-mini-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-booking-grid-wrap{overflow-x:auto;padding:0 18px 10px}.tp-booking-grid{display:grid;grid-template-columns:210px repeat(var(--days), minmax(145px,1fr));gap:7px;min-width:1260px;align-items:stretch}.tp-booking-grid-head{background:#f8fafc;border:1px solid #e7edf7;border-radius:10px;padding:10px 8px;text-align:center;color:#334155;font-weight:900;font-size:12px}.tp-booking-grid-head strong{display:block;color:#0f172a;font-size:13px}.tp-booking-grid-head span{display:block;color:#64748b;margin-top:2px}.tp-booking-unit-head{text-align:left;display:flex;align-items:center}.tp-booking-unit-name{background:#fff;border:1px solid #e7edf7;border-radius:10px;min-height:68px;padding:10px;display:flex;align-items:center;gap:10px;color:#0f172a}.tp-booking-unit-name>span{width:30px;height:30px;border-radius:999px;background:#dcfce7;display:grid;place-items:center;font-size:13px}.tp-booking-unit-name.is-owner-unit>span{background:#f3e8ff;color:#6d28d9}.tp-booking-unit-name strong{display:block;font-size:14px}.tp-booking-unit-name small{display:block;margin-top:2px;color:#64748b;font-weight:800;line-height:1.2}.tp-booking-cell{min-height:68px;border:1px solid;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;gap:4px;color:#0f172a;transition:all .12s ease;box-shadow:0 1px 0 rgba(15,23,42,.02)}.tp-booking-cell:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08);color:#0f172a}.tp-booking-cell span{font-weight:900;font-size:13px}.tp-booking-cell em{font-style:normal;font-weight:900;font-size:13px}.tp-booking-cell small{font-size:11px;font-weight:800;color:#475569;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-booking-cell.is-open{background:#eefbe8;border-color:#c8efbb}.tp-booking-cell.is-open em{color:#15803d}.tp-booking-cell.is-booked{background:#fff1f2;border-color:#fecaca}.tp-booking-cell.is-booked em{display:inline-flex;align-self:flex-start;background:#ef4444;color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.02em}.tp-booking-cell.is-hold{background:#f8fafc;border-color:#cbd5e1}.tp-booking-cell.is-owner_hold{background:#f3e8ff;border-color:#ddd6fe}.tp-booking-cell.is-owner_hold em{color:#6d28d9}.tp-booking-cell.is-maintenance{background:#fff7ed;border-color:#fed7aa}.tp-booking-cell.is-maintenance em{color:#c2410c}.tp-booking-cell.is-closed{background:#fff1f2;border-color:#fecdd3}.tp-booking-cell.is-closed em{color:#be123c}.tp-booking-cell.is-staff_hold{background:#f1f5f9;border-color:#cbd5e1}.tp-booking-cell.is-staff_hold em{color:#334155}.tp-booking-legend,.tp-legend{display:flex;gap:20px;flex-wrap:wrap;color:#64748b;font-size:13px;font-weight:800}.tp-booking-legend{padding:12px 22px 20px}.tp-booking-legend span,.tp-legend span{display:flex;align-items:center;gap:8px}.tp-booking-legend i,.tp-legend i{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid}.tp-booking-legend .open,.tp-legend .ok{background:#dcfce7;border-color:#86efac}.tp-booking-legend .booked{background:#fecaca;border-color:#fca5a5}.tp-booking-legend .owner{background:#f3e8ff;border-color:#ddd6fe}.tp-booking-legend .maintenance{background:#fff7ed;border-color:#fed7aa}.tp-booking-legend .closed{background:#f1f5f9;border-color:#cbd5e1}

/* Availability / Holds board */
.tp-availability-layout{max-width:1720px;margin:0 auto;display:grid;grid-template-columns:minmax(740px,1fr) 430px;gap:16px}.tp-availability-board{padding:16px;overflow:hidden}.tp-availability-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.tp-availability-toolbar h2{margin:0;font-size:20px;color:#0f172a}.tp-availability-toolbar p{margin:4px 0 0;color:#64748b;font-weight:700}.tp-legend-tight{gap:12px;justify-content:flex-end}.tp-calendar-scroll{overflow:auto;border:1px solid #e7edf7;border-radius:14px;background:#fff}.tp-hold-grid{display:grid;grid-template-columns:210px repeat(14,118px);min-width:1862px}.tp-hold-grid>div{border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;min-height:58px;padding:8px}.tp-hold-head{background:#f8fafc;font-size:12px;font-weight:900;color:#475569;text-align:center}.tp-hold-head strong{display:block;color:#0f172a;font-size:13px}.tp-hold-head span{display:block;color:#64748b;margin-top:2px}.tp-hold-unit{font-weight:900;color:#0f172a;background:#fff;position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:3px}.tp-hold-unit small{color:#64748b;font-weight:800}.tp-hold-unit.is-owner-unit{background:#fdfbff}.tp-hold-cell{background:#fff}.tp-hold-cell.has-booking{background:#f8fbff}.tp-cell-pill{display:block;border-radius:8px;font-size:11px;line-height:1.2;font-weight:900;padding:6px 7px;margin:2px 0;border:1px solid}.tp-cell-pill strong{display:block}.tp-cell-pill span{display:block;margin-top:2px;font-weight:800}.tp-pill-booking{background:#eaf2ff;border-color:#bfdbfe;color:#1d4ed8}.tp-pill-maintenance{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.tp-pill-owner_hold{background:#f3e8ff;border-color:#ddd6fe;color:#6d28d9}.tp-pill-closed{background:#fff1f2;border-color:#fecdd3;color:#be123c}.tp-pill-staff_hold{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.tp-hold-cell-empty{display:block;color:#94a3b8;font-size:11px;text-align:center;margin-top:10px;font-weight:800}.tp-holds-side{display:grid;gap:16px;align-content:start}.tp-form-card{padding:18px}.tp-form-card h2,.tp-active-holds h2{margin:0 0 4px;color:#0f172a}.tp-form-card p{margin:0 0 14px;color:#64748b;font-weight:700}.tp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tp-field{display:grid;gap:5px}.tp-field.full{grid-column:1/-1}.tp-field label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569;font-weight:900}.tp-field input,.tp-field select,.tp-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;font-weight:800}.tp-field textarea{min-height:88px}.tp-checkbox{display:flex!important;gap:8px;align-items:flex-start;font-size:13px;color:#475569;font-weight:800;text-transform:none!important;letter-spacing:0!important}.tp-checkbox input{margin-top:3px;width:auto}.tp-active-holds{padding:18px}.tp-hold-list{display:grid;gap:10px;margin-top:12px}.tp-hold-row{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fbfdff}.tp-hold-row-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tp-hold-row strong{display:block;color:#0f172a}.tp-hold-row small{color:#64748b;font-weight:800}.tp-hold-row p{margin:8px 0 0;color:#475569;font-size:13px}.tp-hold-row form{margin-top:9px}.tp-delete-btn{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:7px 10px;font-weight:900}.tp-badge-soft{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:#eaf2ff;color:#0755b8;margin-bottom:6px}.tp-badge-soft.owner_hold{background:#f3e8ff;color:#6d28d9}.tp-badge-soft.maintenance{background:#fff7ed;color:#c2410c}.tp-badge-soft.closed{background:#fff1f2;color:#be123c}.tp-badge-soft.staff_hold{background:#f1f5f9;color:#334155}

@media(max-width:1250px){.tp-availability-layout{grid-template-columns:1fr}.tp-page-head-split{display:block}.tp-actions{margin-top:12px}.tp-form-grid{grid-template-columns:1fr}.tp-booking-grid{grid-template-columns:180px repeat(var(--days), 138px);min-width:1160px}.tp-hold-grid{grid-template-columns:190px repeat(14,112px)}}
@media(max-width:900px){.tp-booking-grid-wrap{padding:0 12px 10px}.tp-booking-calendar-head,.tp-availability-toolbar{display:block}.tp-mini-controls,.tp-legend-tight{margin-top:10px}.tp-booking-unit-name{padding:8px}.tp-booking-cell{padding:8px}.tp-page-head h1{font-size:24px}}

/* --- calendar css restore --- */
/* Tall Pines ATV Park Reservation System - Calendar + Availability Polish */
:root{
  --tp-blue:#0755b8;--tp-blue2:#0847a1;--tp-navy:#0b1f44;--tp-slate:#475569;--tp-muted:#64748b;--tp-border:#e2e8f0;--tp-bg:#f5f7fb;--tp-card:#fff;--tp-green:#15803d;--tp-soft-green:#eefbe8;--tp-red:#dc2626;--tp-soft-red:#fff1f2;--tp-yellow:#b45309;--tp-soft-yellow:#fff7d6;--tp-purple:#6d28d9;--tp-orange:#ea580c;--tp-shadow:0 18px 45px rgba(15,23,42,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--tp-bg);color:#14213d}a{color:var(--tp-blue);text-decoration:none}button,input,select,textarea{font:inherit}.tp-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow)}.tp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;background:#0755b8;color:#fff;font-weight:900;border:0;cursor:pointer}.tp-btn:hover{color:#fff}.tp-btn-light{background:#eaf2ff;color:#0755b8}.tp-btn-outline{background:#fff;color:#0755b8;border:1px solid #bfdbfe}.tp-btn-primary{background:#0755b8;color:#fff}.tp-page-head{max-width:1720px;margin:0 auto 16px}.tp-page-head-split{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tp-page-head h1{font-size:30px;line-height:1.1;margin:3px 0;color:#071c44}.tp-page-head p{margin:0;color:#64748b;font-weight:700}.tp-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#64748b!important;font-size:12px;font-weight:900}.tp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tp-inline-form{display:inline-flex}.tp-actions input,.tp-actions select{height:44px;border:1px solid var(--tp-border);border-radius:10px;padding:0 12px;font-weight:800;background:#fff}.tp-alert-success,.tp-alert-danger{max-width:1720px;margin:0 auto 16px;border-radius:12px;padding:13px 16px;font-weight:900}.tp-alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.tp-alert-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.tp-empty{color:#64748b;text-align:center;padding:22px!important}.tp-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tp-soft-stat{display:inline-flex;gap:5px;align-items:center;border:1px solid #dbeafe;background:#f8fbff;color:#475569;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.tp-soft-stat strong{color:#0755b8}

/* Booking calendar */
.tp-calendar-shell{max-width:1720px;margin:0 auto}.tp-calendar-card{overflow:hidden;padding:0}.tp-booking-calendar-head{padding:20px 22px 12px}.tp-booking-calendar-head h2{margin:0;color:#0f172a;font-size:22px}.tp-booking-calendar-head p{margin:5px 0 0;color:#64748b;font-weight:700}.tp-mini-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-booking-grid-wrap{overflow-x:auto;padding:0 18px 10px}.tp-booking-grid{display:grid;grid-template-columns:210px repeat(var(--days), minmax(145px,1fr));gap:7px;min-width:1260px;align-items:stretch}.tp-booking-grid-head{background:#f8fafc;border:1px solid #e7edf7;border-radius:10px;padding:10px 8px;text-align:center;color:#334155;font-weight:900;font-size:12px}.tp-booking-grid-head strong{display:block;color:#0f172a;font-size:13px}.tp-booking-grid-head span{display:block;color:#64748b;margin-top:2px}.tp-booking-unit-head{text-align:left;display:flex;align-items:center}.tp-booking-unit-name{background:#fff;border:1px solid #e7edf7;border-radius:10px;min-height:68px;padding:10px;display:flex;align-items:center;gap:10px;color:#0f172a}.tp-booking-unit-name>span{width:30px;height:30px;border-radius:999px;background:#dcfce7;display:grid;place-items:center;font-size:13px}.tp-booking-unit-name.is-owner-unit>span{background:#f3e8ff;color:#6d28d9}.tp-booking-unit-name strong{display:block;font-size:14px}.tp-booking-unit-name small{display:block;margin-top:2px;color:#64748b;font-weight:800;line-height:1.2}.tp-booking-cell{min-height:68px;border:1px solid;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;gap:4px;color:#0f172a;transition:all .12s ease;box-shadow:0 1px 0 rgba(15,23,42,.02)}.tp-booking-cell:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08);color:#0f172a}.tp-booking-cell span{font-weight:900;font-size:13px}.tp-booking-cell em{font-style:normal;font-weight:900;font-size:13px}.tp-booking-cell small{font-size:11px;font-weight:800;color:#475569;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-booking-cell.is-open{background:#eefbe8;border-color:#c8efbb}.tp-booking-cell.is-open em{color:#15803d}.tp-booking-cell.is-booked{background:#fff1f2;border-color:#fecaca}.tp-booking-cell.is-booked em{display:inline-flex;align-self:flex-start;background:#ef4444;color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.02em}.tp-booking-cell.is-hold{background:#f8fafc;border-color:#cbd5e1}.tp-booking-cell.is-owner_hold{background:#f3e8ff;border-color:#ddd6fe}.tp-booking-cell.is-owner_hold em{color:#6d28d9}.tp-booking-cell.is-maintenance{background:#fff7ed;border-color:#fed7aa}.tp-booking-cell.is-maintenance em{color:#c2410c}.tp-booking-cell.is-closed{background:#fff1f2;border-color:#fecdd3}.tp-booking-cell.is-closed em{color:#be123c}.tp-booking-cell.is-staff_hold{background:#f1f5f9;border-color:#cbd5e1}.tp-booking-cell.is-staff_hold em{color:#334155}.tp-booking-legend,.tp-legend{display:flex;gap:20px;flex-wrap:wrap;color:#64748b;font-size:13px;font-weight:800}.tp-booking-legend{padding:12px 22px 20px}.tp-booking-legend span,.tp-legend span{display:flex;align-items:center;gap:8px}.tp-booking-legend i,.tp-legend i{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid}.tp-booking-legend .open,.tp-legend .ok{background:#dcfce7;border-color:#86efac}.tp-booking-legend .booked{background:#fecaca;border-color:#fca5a5}.tp-booking-legend .owner{background:#f3e8ff;border-color:#ddd6fe}.tp-booking-legend .maintenance{background:#fff7ed;border-color:#fed7aa}.tp-booking-legend .closed{background:#f1f5f9;border-color:#cbd5e1}

/* Availability / Holds board */
.tp-availability-layout{max-width:1720px;margin:0 auto;display:grid;grid-template-columns:minmax(740px,1fr) 430px;gap:16px}.tp-availability-board{padding:16px;overflow:hidden}.tp-availability-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.tp-availability-toolbar h2{margin:0;font-size:20px;color:#0f172a}.tp-availability-toolbar p{margin:4px 0 0;color:#64748b;font-weight:700}.tp-legend-tight{gap:12px;justify-content:flex-end}.tp-calendar-scroll{overflow:auto;border:1px solid #e7edf7;border-radius:14px;background:#fff}.tp-hold-grid{display:grid;grid-template-columns:210px repeat(14,118px);min-width:1862px}.tp-hold-grid>div{border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;min-height:58px;padding:8px}.tp-hold-head{background:#f8fafc;font-size:12px;font-weight:900;color:#475569;text-align:center}.tp-hold-head strong{display:block;color:#0f172a;font-size:13px}.tp-hold-head span{display:block;color:#64748b;margin-top:2px}.tp-hold-unit{font-weight:900;color:#0f172a;background:#fff;position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:3px}.tp-hold-unit small{color:#64748b;font-weight:800}.tp-hold-unit.is-owner-unit{background:#fdfbff}.tp-hold-cell{background:#fff}.tp-hold-cell.has-booking{background:#f8fbff}.tp-cell-pill{display:block;border-radius:8px;font-size:11px;line-height:1.2;font-weight:900;padding:6px 7px;margin:2px 0;border:1px solid}.tp-cell-pill strong{display:block}.tp-cell-pill span{display:block;margin-top:2px;font-weight:800}.tp-pill-booking{background:#eaf2ff;border-color:#bfdbfe;color:#1d4ed8}.tp-pill-maintenance{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.tp-pill-owner_hold{background:#f3e8ff;border-color:#ddd6fe;color:#6d28d9}.tp-pill-closed{background:#fff1f2;border-color:#fecdd3;color:#be123c}.tp-pill-staff_hold{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.tp-hold-cell-empty{display:block;color:#94a3b8;font-size:11px;text-align:center;margin-top:10px;font-weight:800}.tp-holds-side{display:grid;gap:16px;align-content:start}.tp-form-card{padding:18px}.tp-form-card h2,.tp-active-holds h2{margin:0 0 4px;color:#0f172a}.tp-form-card p{margin:0 0 14px;color:#64748b;font-weight:700}.tp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tp-field{display:grid;gap:5px}.tp-field.full{grid-column:1/-1}.tp-field label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569;font-weight:900}.tp-field input,.tp-field select,.tp-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;font-weight:800}.tp-field textarea{min-height:88px}.tp-checkbox{display:flex!important;gap:8px;align-items:flex-start;font-size:13px;color:#475569;font-weight:800;text-transform:none!important;letter-spacing:0!important}.tp-checkbox input{margin-top:3px;width:auto}.tp-active-holds{padding:18px}.tp-hold-list{display:grid;gap:10px;margin-top:12px}.tp-hold-row{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fbfdff}.tp-hold-row-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tp-hold-row strong{display:block;color:#0f172a}.tp-hold-row small{color:#64748b;font-weight:800}.tp-hold-row p{margin:8px 0 0;color:#475569;font-size:13px}.tp-hold-row form{margin-top:9px}.tp-delete-btn{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:7px 10px;font-weight:900}.tp-badge-soft{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:#eaf2ff;color:#0755b8;margin-bottom:6px}.tp-badge-soft.owner_hold{background:#f3e8ff;color:#6d28d9}.tp-badge-soft.maintenance{background:#fff7ed;color:#c2410c}.tp-badge-soft.closed{background:#fff1f2;color:#be123c}.tp-badge-soft.staff_hold{background:#f1f5f9;color:#334155}

@media(max-width:1250px){.tp-availability-layout{grid-template-columns:1fr}.tp-page-head-split{display:block}.tp-actions{margin-top:12px}.tp-form-grid{grid-template-columns:1fr}.tp-booking-grid{grid-template-columns:180px repeat(var(--days), 138px);min-width:1160px}.tp-hold-grid{grid-template-columns:190px repeat(14,112px)}}
@media(max-width:900px){.tp-booking-grid-wrap{padding:0 12px 10px}.tp-booking-calendar-head,.tp-availability-toolbar{display:block}.tp-mini-controls,.tp-legend-tight{margin-top:10px}.tp-booking-unit-name{padding:8px}.tp-booking-cell{padding:8px}.tp-page-head h1{font-size:24px}}

/* --- unified admin additions --- */
/* Tall Pines ATV Park Reservation System - Unified Admin UI Restore */
:root{--tp-blue:#0758b8;--tp-blue2:#004ea8;--tp-navy:#0f172a;--tp-bg:#f4f7fb;--tp-card:#fff;--tp-border:#dbe5f0;--tp-muted:#64748b;--tp-green:#16a34a;--tp-green-bg:#ecfdf3;--tp-red:#dc2626;--tp-red-bg:#fff1f2;--tp-yellow:#ca8a04;--tp-yellow-bg:#fffbeb;--tp-orange:#ea580c;--tp-orange-bg:#fff7ed;--tp-shadow:0 10px 28px rgba(15,23,42,.07)}
*{box-sizing:border-box} body{margin:0;background:var(--tp-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--tp-navy);font-size:15px;line-height:1.45} a{color:#0758b8;text-decoration:none;font-weight:700} a:hover{text-decoration:underline}.tp-app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.tp-sidebar{background:#fff;border-right:1px solid var(--tp-border);position:sticky;top:0;height:100vh;overflow:auto}.tp-brand{height:76px;background:var(--tp-blue);color:#fff;display:flex;gap:12px;align-items:center;padding:0 22px;font-weight:900}.tp-brand-mark{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}.tp-brand small{display:block;font-size:11px;letter-spacing:1.2px}.tp-nav{padding:18px 14px 125px}.tp-nav a{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:10px;color:var(--tp-navy);font-size:14px;font-weight:900;margin-bottom:6px}.tp-nav a:hover,.tp-nav a.active{background:#eaf2ff;color:var(--tp-blue);text-decoration:none}.tp-park-status{position:absolute;bottom:20px;left:14px;right:14px;border:1px solid var(--tp-border);border-radius:14px;background:#fff;padding:15px;box-shadow:0 4px 12px rgba(15,23,42,.04);font-size:13px}.tp-main{min-width:0}.tp-topbar{height:76px;background:linear-gradient(90deg,var(--tp-blue),var(--tp-blue2));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;box-shadow:0 5px 18px rgba(15,23,42,.12)}.tp-topbar h1{margin:0;font-size:20px;white-space:nowrap}.tp-search{width:400px;max-width:40vw;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.14);color:#fff;padding:12px 16px;font-weight:800}.tp-search::placeholder{color:rgba(255,255,255,.86)}.tp-user{display:flex;align-items:center;gap:10px;font-weight:900}.tp-avatar{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--tp-blue);display:flex;align-items:center;justify-content:center;font-weight:900}.tp-content{padding:28px;max-width:100%;overflow-x:hidden}.tp-page-label,.page-kicker{text-transform:uppercase;color:var(--tp-muted);letter-spacing:1.5px;font-weight:900;font-size:12px;margin-bottom:4px}.tp-page-title,h1,h2,h3{color:var(--tp-navy)}.tp-page-title,h1{font-size:30px;line-height:1.12;margin:0 0 10px;font-weight:950}h2{font-size:24px;margin:22px 0 12px;font-weight:950}h3{font-size:18px;margin:16px 0 10px;font-weight:900}p{color:#334155}.tp-card,.card,section>div:has(>form),form:not(.inline):not(.tp-nav form){background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow)}.tp-card{padding:18px}.tp-btn,.btn,button,input[type=submit],a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--tp-blue);border:1px solid var(--tp-blue);color:#fff;border-radius:10px;padding:11px 16px;font-weight:900;cursor:pointer;text-decoration:none;line-height:1.1}.tp-btn:hover,.btn:hover,button:hover,input[type=submit]:hover,a.button:hover{background:#004a9f;text-decoration:none}.tp-btn.secondary,.btn.secondary,a.secondary{background:#fff;color:var(--tp-navy);border-color:var(--tp-border)}input,select,textarea{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;font:inherit;max-width:100%}label{font-weight:900;color:var(--tp-navy);display:inline-block;margin-bottom:6px}.alert,.success,.notice,.status-success{background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:14px;padding:12px 16px;font-weight:800;margin:0 0 16px}.error,.status-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:14px;padding:12px 16px;font-weight:800;margin:0 0 16px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--tp-border);border-radius:16px;overflow:hidden;box-shadow:var(--tp-shadow)}th,td{padding:12px 14px;border-bottom:1px solid #e8eef6;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;text-transform:uppercase;letter-spacing:.45px;font-size:12px;font-weight:950}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.badge.green,.paid,.available{background:var(--tp-green-bg);color:#087b33}.badge.red,.booked{background:var(--tp-red-bg);color:#b91c1c}.badge.yellow,.limited{background:var(--tp-yellow-bg);color:#92400e}.badge.blue{background:#eaf2ff;color:#0758b8}.metrics,.kpi-grid,.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin:18px 0 22px}.metric,.kpi-card,.dashboard-kpi{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:18px}.metric strong,.kpi-card strong{display:block;font-size:28px;line-height:1.1}.calendar-shell,.booking-calendar,.availability-shell,.manifest-panel,.unit-panel,.import-panel,.owner-panel,.payout-panel{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:18px;margin-top:16px}.calendar-controls,.page-actions,.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.calendar-grid,.availability-grid{display:grid;grid-template-columns:210px repeat(7,minmax(130px,1fr));gap:8px;min-width:1080px}.availability-grid{grid-template-columns:210px repeat(8,minmax(110px,1fr))}.calendar-scroll,.table-scroll,.grid-scroll{overflow:auto;padding-bottom:6px}.calendar-head,.calendar-unit,.calendar-cell,.availability-cell{border:1px solid var(--tp-border);border-radius:10px;padding:12px;background:#fff;min-height:64px}.calendar-head{background:#f8fafc;text-align:center;font-weight:950}.calendar-unit{font-weight:950;display:flex;flex-direction:column;gap:3px}.calendar-unit small{color:var(--tp-muted);font-weight:800}.calendar-cell{background:#eefbea;border-color:#c7efbf}.calendar-cell.booked,.calendar-cell.status-booked{background:#fff1f2;border-color:#fecaca}.calendar-cell.owner,.calendar-cell.status-owner{background:#f5f3ff;border-color:#ddd6fe}.calendar-cell.maintenance,.calendar-cell.status-maintenance{background:#fff7ed;border-color:#fed7aa}.calendar-cell.closed,.calendar-cell.status-closed{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.cell-time{font-weight:950}.cell-status{display:block;font-weight:950;color:#087b33}.booked .cell-status{color:#b91c1c}.maintenance .cell-status{color:#c2410c}.manifest-list,.manifest-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:16px;margin:14px 0}.manifest-booking{display:grid;grid-template-columns:260px repeat(3,minmax(130px,1fr)) 220px;gap:10px;border:1px solid #e8eef6;border-radius:14px;padding:14px;margin:12px 0}.manifest-booking>div{background:#f8fafc;border:1px solid #e8eef6;border-radius:10px;padding:10px}.form-grid,.rental-form-grid,.booking-form-grid{display:grid;grid-template-columns:1fr 1.2fr 330px;gap:18px;align-items:start}.form-card,.booking-panel,.booking-total-panel{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:18px}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pricing-options{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.pricing-option{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #dbe5f0;border-radius:12px;padding:12px;font-weight:900}.pricing-option:has(input:checked){background:#eaf2ff;border-color:#9cc5ff}.total-box{background:#eaf2ff;border:1px solid #b7d5ff;border-radius:14px;padding:14px;margin-top:12px}.unit-grid,.rental-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.unit-card{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);overflow:hidden}.unit-card-body{padding:16px}.unit-card img{width:100%;height:160px;object-fit:cover}.owners-form,.import-form,.payout-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:16px;margin:14px 0}.owners-form textarea{min-width:230px}.crud-form{background:#fff;border:1px solid var(--tp-border);border-radius:16px;box-shadow:var(--tp-shadow);padding:18px;margin:16px 0;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.crud-form .full{grid-column:1/-1}@media(max-width:1200px){.form-grid,.rental-form-grid,.booking-form-grid{grid-template-columns:1fr}.metrics,.kpi-grid,.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.manifest-booking{grid-template-columns:1fr 1fr}}@media(max-width:900px){.tp-app{grid-template-columns:1fr}.tp-sidebar{height:auto;position:relative}.tp-park-status{position:static;margin:12px}.tp-topbar{height:auto;flex-wrap:wrap;padding:16px}.tp-search{max-width:none;width:100%}.tp-content{padding:18px}.crud-form{grid-template-columns:1fr}.metrics,.kpi-grid,.dashboard-kpis{grid-template-columns:1fr}.manifest-booking{grid-template-columns:1fr}}

/* --- final overrides --- */
/* Make all admin pages recover from view-specific CSS mismatches */
.tp-content > form,
.tp-content > .tp-card,
.tp-content > section,
.tp-content > div:not(.tp-page-head):not(.tp-actions):not(.tp-mini-controls) {
  max-width: 100%;
}
.tp-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.tp-eyebrow{margin:0 0 4px;color:#64748b;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:1.5px}.tp-page-head h1{margin:0 0 6px;font-size:30px;font-weight:950}.tp-page-head p{margin:0;color:#64748b;font-weight:650}.tp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tp-alert,.tp-alert-success,.tp-alert-danger{border-radius:14px;padding:12px 16px;margin:0 0 16px;font-weight:800}.tp-alert-success{background:#dcfce7;border:1px solid #86efac;color:#166534}.tp-alert-danger{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.tp-section-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tp-section-headline p{margin:4px 0 0;color:#64748b}.tp-pill-soft{display:inline-flex;padding:6px 10px;background:#eaf2ff;color:#0758b8;border:1px solid #b7d5ff;border-radius:999px;font-size:12px;font-weight:900}.tp-checkbox-line{display:flex!important;align-items:center;gap:8px;margin-top:10px}.tp-checkbox-line input{width:auto!important;margin:0!important}.tp-total-box{background:#eaf2ff;border:1px solid #b7d5ff;border-radius:14px;padding:14px;margin:12px 0;display:grid;gap:8px}.tp-total-box div{display:flex;align-items:center;justify-content:space-between}.tp-total-box span{font-weight:800;color:#475569}.tp-total-box strong{font-size:20px;color:#0758b8}.tp-booking-create{display:grid!important;grid-template-columns:310px minmax(480px,1fr) 330px!important;gap:18px!important;align-items:start!important}.tp-booking-left,.tp-booking-center>.tp-card,.tp-booking-right>.tp-card{background:#fff!important;border:1px solid #dbe5f0!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important;padding:18px!important}.tp-booking-side-header{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;padding:14px;margin-bottom:14px}.tp-booking-side-header strong{display:block;font-size:17px}.tp-booking-side-header span{display:block;margin-top:3px;color:#0f172a}.tp-booking-create label{display:block!important;font-weight:900!important;margin:0 0 12px!important;color:#0f172a!important}.tp-booking-create input:not([type=radio]):not([type=checkbox]),.tp-booking-create select,.tp-booking-create textarea{width:100%!important;margin-top:6px!important}.tp-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.tp-night-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:12px 0 18px!important}.tp-night-card{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;border:1px solid #dbe5f0!important;border-radius:14px!important;padding:12px!important;background:#f8fbff!important;margin:0!important;cursor:pointer}.tp-night-card:has(input:checked){background:#eaf2ff!important;border-color:#96c2ff!important}.tp-night-card input{margin:0!important}.tp-night-card span{font-weight:900}.tp-night-card strong{color:#0758b8}.tp-checkout-card{position:sticky;top:96px}.tp-btn-wide{width:100%}.tp-card{background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07);padding:18px}.calendar-grid,.tp-booking-grid{display:grid!important}.calendar-shell,.booking-calendar,.availability-shell,.manifest-panel,.unit-panel,.import-panel,.owner-panel,.payout-panel{background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07);padding:18px;margin-top:16px}.manifest-booking{display:grid;grid-template-columns:260px repeat(3,minmax(130px,1fr)) 220px;gap:10px;border:1px solid #e8eef6;border-radius:14px;padding:14px;margin:12px 0}.owners-form,.import-form,.payout-form,.crud-form{background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07);padding:16px;margin:14px 0} @media(max-width:1200px){.tp-booking-create{grid-template-columns:1fr!important}.tp-checkout-card{position:static}.tp-night-options{grid-template-columns:1fr!important}.tp-two-col{grid-template-columns:1fr!important}}
