/* TPM 4 — premium paddock review. Existing IDs and integrations retained. */
:root{--bg:#080c12;--panel:#111922;--line:#263343;--muted:#b0bcc9;--blue:#3eacff;--lime:#65beff;--orange:#65beff;--text:#f5f8fc}
body{background:radial-gradient(ellipse at 90% 0, #10283d 0,transparent 42%),#080c12;font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--text)}
button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{transition:background .18s,transform .18s,border-color .18s}button:hover,.pbtn:hover,.btn:hover{filter:brightness(1.13)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #77c9ff;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
.pbtn,.btn,.portal-head button,.portal-head a{font-size:12px;letter-spacing:.02em;min-height:46px;padding:13px 20px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;text-transform:none;font-weight:700}.pbtn.primary,.btn.primary{background:#54b5ff;border-color:#54b5ff;color:#03111e;box-shadow:0 4px 22px #218de522}
.portal-shell{max-width:1320px;padding:24px 40px 80px}.portal-head{border-bottom:1px solid #ffffff18;padding-bottom:22px}.portal-head img{width:170px}.portal-head nav{align-items:center}.portal-head label{font-size:12px}.portal-head select{max-width:170px;background:#142332;border:1px solid #324457;color:#fff;padding:10px;border-radius:6px}
.hero-panel{position:relative;isolation:isolate;overflow:hidden;border:1px solid #324559;border-radius:18px;min-height:310px;margin:28px 0;padding:42px;background:linear-gradient(90deg,#09121cf5 0%,#09121ce8 40%,#09121c20 100%),url('/assets/aaron-alexander-hero.jpg') center 35%/cover;box-shadow:0 20px 60px #0003}.hero-panel h1{font-size:clamp(36px,4.4vw,62px);line-height:1.05;letter-spacing:-.045em;max-width:600px;margin:12px 0 20px;font-style:normal}.hero-panel h1 br{display:none}.hero-panel h1 em{display:block;font-size:24px;letter-spacing:.05em;margin-top:10px}.hero-panel p{max-width:420px;color:#d5e1eb;font-size:15px}.hero-panel small,.card small{font-size:11px;letter-spacing:.14em;color:#82ceff}.hero-actions-v4{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.tabs{position:sticky;top:0;z-index:9;background:#080c12f5;backdrop-filter:blur(16px);padding:10px 0;margin-bottom:24px;gap:8px}.tabs button{font-size:14px;padding:13px 22px;color:#b5c2d0;text-transform:none;letter-spacing:0;border-radius:8px}.tabs button.active{background:#163048;color:#a7dcff;border-bottom:2px solid #54b5ff}.grid{gap:20px}.card{border:1px solid #273749;border-radius:12px;padding:26px;background:linear-gradient(140deg,#121d29,#101720);box-shadow:0 10px 30px #0001;min-width:0}.card h2{font-size:24px;letter-spacing:-.025em}.card p{font-size:15px;color:#b9c5d2}.detail-list,.setup-table{background:transparent;gap:0}.detail-list>div,.setup-table>div{background:transparent;border-bottom:1px solid #ffffff0e;padding:15px 0}.detail-list span,.setup-table span{font-size:11px;color:#a7b9c9;letter-spacing:.045em}.detail-list b,.setup-table b{font-size:16px;margin-top:7px;overflow-wrap:anywhere}.setup-table{column-gap:22px}.checklist label{font-size:14px;padding:14px;border-radius:8px;color:#dce5ee}.checklist input{width:20px;height:20px;flex-shrink:0}.checklist label:has(input:checked){background:#133326;color:#a6efcb;border-color:#32684c}.code strong{font-size:14px;border-radius:6px}.portal-day-head b,.portal-day-head span{font-size:13px}.invoice-row{padding:20px;border-radius:9px}.invoice-row b{font-size:16px}.invoice-row span,.invoice-row a{font-size:13px}.invoice-row span{display:block}.section-heading-v4{margin:32px 0 16px;font-size:22px;letter-spacing:-.02em}.section-kicker{font-size:11px;letter-spacing:.16em;color:#76c7ff;margin-bottom:5px}.weekend-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.weekend-intro h2{margin:0;font-size:25px}.weekend-intro p{margin:5px 0;color:#aabccd}
.login-screen,.login{background:linear-gradient(90deg,#070d16ee,#081523a8),url('/assets/aaron-alexander-hero.jpg') center/cover fixed;min-height:100vh}.login-box,.login-card{background:#0c1522ee;backdrop-filter:blur(24px);border:1px solid #456079;border-radius:20px;box-shadow:0 30px 100px #0009;padding:42px;width:min(540px,100%)}.login-box h1,.login-card h1{font-size:46px;line-height:1.05;letter-spacing:-.04em;font-style:normal}.login-box p,.login-card p{font-size:15px;line-height:1.65;color:#b9c8d7}.login-box label span,.signup-box label>span{font-size:12px;color:#b9c8d7}.login-box small{font-size:11px}.login-box img{width:210px}.login-box input,.signup-grid input,.signup-grid textarea,.signup-grid select{border-radius:8px;min-height:48px;background:#080f18;color:white;border:1px solid #3d5164;padding:12px;font-size:16px;width:100%}.login-box .pbtn{display:flex}.login-divider span{font-size:11px;color:#bdcbd9}.signup-box{border-radius:18px;background:#0c1522f7}.signup-head h1{font-size:34px;font-style:normal;line-height:1.15}.signup-head p{font-size:15px}.signup-section-title b{font-size:18px}.signup-section-title small{font-size:11px}.signup-section-title>span{border-radius:50%;font-size:13px}.signup-section{padding:22px 0}.handbook-accept span{font-size:13px!important}.preview-warning,.portal-notice,.note{font-size:13px;line-height:1.6}.signup-grid label>span{display:block;margin-bottom:7px;font-size:12px;color:#b4c6d6}.signup-progress{display:flex;gap:8px;margin:24px 0}.signup-progress span{height:4px;background:#2c3d4e;flex:1;border-radius:9px}.signup-progress .done{background:#5fbeff}.signup-stage-title{font-size:13px;color:#90d1ff;margin-top:16px}.support-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:10px 0}.support-choice legend{font-size:13px;color:#b4c6d6;margin-bottom:10px}.support-choice label{display:flex;gap:10px;border:1px solid #3b4e60;border-radius:10px;padding:18px;background:#0a1420;cursor:pointer}.support-choice label:has(input:checked){border-color:#58b9ff;box-shadow:inset 0 0 0 1px #58b9ff;background:#122d42}.support-choice input{width:18px;min-height:18px;height:18px;accent-color:#5abaff;flex-shrink:0;margin:3px 0}.support-choice strong{display:block;font-size:25px;margin:8px 0;color:#fff}.support-choice small{display:block;color:#b7c9d8;font-size:12px;letter-spacing:0}.booking-estimate{background:#163248;border-radius:10px;padding:18px;font-size:15px;color:#d6edff}.booking-estimate strong{font-size:25px;display:block}.booking-estimate small{font-size:12px;letter-spacing:0;display:block;margin-top:5px}
.v4-admin .topbar{background:#09111cef;border-bottom:1px solid #2c3c4d;backdrop-filter:blur(20px)}.v4-admin .top-brand b{font-size:14px}.v4-admin .top-brand span,.v4-admin .top-context small,.v4-admin .top-actions a,.v4-admin .top-actions button{font-size:11px}.v4-admin .sidebar{background:#0b131f;border-right:1px solid #273343;padding:20px 12px}.v4-admin .sidebar nav{gap:4px}.v4-admin .sidebar nav button{border-radius:8px;padding:12px;min-height:52px}.v4-admin .sidebar nav button b{font-size:14px;font-weight:600;letter-spacing:0}.v4-admin .sidebar nav button small{font-size:11px;color:#a2b4c7}.v4-admin .sidebar nav button.active{background:#15334c;border-color:#386386}.v4-admin .sidebar nav button>span{display:none}.nav-group-v4{color:#7593ad;font-size:10px;letter-spacing:.12em;font-weight:700;padding:18px 12px 6px;text-transform:uppercase}.v4-admin .workspace{background:transparent}.v4-admin .panel-head h1{font-size:clamp(28px,3.5vw,44px);font-style:normal;line-height:1.1;letter-spacing:-.035em;margin-bottom:12px}.v4-admin .panel-head h1 br{display:none}.v4-admin .panel-head h1 em{font-style:normal}.v4-admin .panel-head p{font-size:15px;color:#b3c3d2;max-width:660px}.v4-admin .panel-head small{font-size:11px}.v4-admin .kpi-grid{gap:16px}.v4-admin .kpi-grid article{border:1px solid #32465b;border-radius:12px;background:linear-gradient(140deg,#152738,#0c1723);padding:24px}.v4-admin .kpi-grid article span{font-size:11px}.v4-admin .kpi-grid article strong{font-size:36px}.v4-admin .kpi-grid article small{font-size:12px;color:#a6bbce}.v4-admin .command-card,.v4-admin .table-card{border-radius:12px;overflow:auto}.v4-admin .table-card th{font-size:11px;padding:16px;color:#b1c5d6}.v4-admin .table-card td{font-size:14px;padding:16px}.v4-admin .form-grid label>span{font-size:12px;color:#b5c7d7}.v4-admin input,.v4-admin select,.v4-admin textarea{font-size:15px;min-height:44px;border-radius:7px}.v4-admin input[type=checkbox]{min-height:18px;width:20px;height:20px}.v4-admin .setup-step b{font-size:19px}.v4-admin .setup-step small{font-size:11px}.v4-admin .card-head p{font-size:14px}.v4-admin .dashboard-summary b{font-size:15px}.v4-admin .dashboard-summary span{font-size:11px}.v4-admin dialog{background:#0d1926;border:1px solid #465f75;border-radius:16px;box-shadow:0 30px 90px #0009;max-height:90vh}.v4-admin dialog::backdrop{background:#020813bb;backdrop-filter:blur(8px)}.v4-admin .modal-card h2{font-size:26px}.v4-admin .modal-card .note{font-size:14px}.v4-admin .toast{font-size:14px;padding:16px 24px;border-radius:10px}.admin-welcome-v4{position:relative;padding:34px;border-radius:14px;margin-bottom:24px;border:1px solid #3a5368;background:linear-gradient(90deg,#0c1b2cf2,#0c1b2cb8 65%,#0c1b2c55),url('/assets/aaron-alexander-hero.jpg') center 35%/cover}.admin-welcome-v4 h2{font-size:31px;letter-spacing:-.025em;margin:8px 0}.admin-welcome-v4 p{font-size:15px;color:#c4d2de}.admin-quick-v4{display:flex;gap:10px;flex-wrap:wrap}.save-status-v4{padding:5px 12px;border:1px solid #38536c;border-radius:5px;color:#bddcff;font-size:12px}.save-status-v4[data-state=failed]{color:#ffb8b5;border-color:#b15c5c}.save-status-v4[data-state=saved]{color:#98e5b4}.v4-admin .weekend-save-status{display:none!important}
@media(max-width:1000px){.portal-shell{padding:20px}.hero-panel{padding:30px}.v4-admin .top-context{display:none}.v4-admin .top-actions{gap:6px}.v4-admin .top-actions a{display:none}.v4-admin .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-head img{width:120px}.portal-head nav{gap:5px}.portal-head .pbtn,.portal-head button{padding:10px}.hero-panel{min-height:310px;padding:25px;background-position:60% center}.hero-panel h1{font-size:37px}.hero-panel p{max-width:260px}.tabs{gap:0}.tabs button{padding:12px;font-size:13px}.grid{grid-template-columns:1fr}.card{padding:21px}.login-box{padding:28px}.support-choice{grid-template-columns:1fr}.weekend-intro{display:block}.invoice-row{gap:12px;padding:14px}.v4-admin .sidebar{position:relative;top:auto;width:100%;height:auto;overflow:auto;padding:8px;margin-top:70px}.v4-admin .sidebar nav{display:flex;min-width:max-content;gap:5px}.v4-admin .sidebar nav button{width:auto;min-width:90px;padding:10px}.v4-admin .sidebar nav small,.v4-admin .sidebar .side-footer,.nav-group-v4{display:none}.v4-admin .sidebar nav button b{font-size:13px}.v4-admin .workspace{margin:0;padding:22px 16px}.v4-admin .topbar{height:70px}.v4-admin .panel-head{display:block}.v4-admin .panel-actions{margin-top:18px;flex-wrap:wrap}.v4-admin .two-col{grid-template-columns:1fr}.v4-admin .kpi-grid article{padding:17px}.admin-welcome-v4{padding:24px}.admin-welcome-v4 h2{font-size:26px}.v4-admin .top-brand img{max-width:100px}.v4-admin .top-brand div{display:none}.v4-admin .setup-table{grid-template-columns:1fr}.v4-admin .form-grid{grid-template-columns:1fr}.v4-admin .form-grid .full{grid-column:auto}.v4-admin .invoice-flow{overflow:auto}.portal-head select{max-width:130px}.hero-actions-v4 .pbtn{padding:12px}.signup-head{gap:18px}.signup-head h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
