:root{--ink:#17231c;--muted:#69736d;--line:#e4e9e5;--paper:#ffffff;--canvas:#f4f6f3;--forest:#174f37;--forest-2:#236e4e;--mint:#e5f2e9;--gold:#d99b35;--peach:#f9e8dc;--blue:#e2edf6;--shadow:0 2px 8px rgba(24,43,32,.04),0 16px 40px rgba(24,43,32,.035)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);background:var(--canvas);font-family:Inter,Avenir Next,Segoe UI,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px 20px;color:#e9f2ec;background:linear-gradient(180deg,#123d2d,#0f3226);overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;font:700 19px Avenir Next,sans-serif;letter-spacing:-.5px}.brand>span:last-child span{color:#8dc3a3}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #4f8069;border-radius:11px}.course-switcher{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid #38634f;border-radius:12px;background:rgba(255,255,255,.045)}.course-switcher .eyebrow{color:#92ad9e}.course-switcher strong{font-size:14px}.course-switcher small{color:#94aa9e}.eyebrow{display:block;color:#809087;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:26px}.sidebar nav a,.sidebar-bottom>a,.signout-btn{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#abc1b5;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover,.sidebar-bottom>a.active,.sidebar-bottom>a:hover,.signout-btn:hover{color:white;background:rgba(255,255,255,.09)}.sidebar-bottom{margin-top:auto}.user-card{display:grid;grid-template-columns:36px 1fr auto;align-items:center;grid-gap:10px;gap:10px;margin-top:14px;padding:16px 8px 0;border-top:1px solid #315744}.avatar,.table-avatar{display:grid;place-items:center;border-radius:50%;background:#d8eadf;color:var(--forest);font-size:11px;font-weight:700}.avatar{width:36px;height:36px}.user-card div{display:flex;flex-direction:column}.user-card strong{font-size:13px}.user-card small{color:#88a195;font-size:11px}.main-content{min-width:0}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.83);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.topbar h1{margin:0 0 5px;font:700 23px Avenir Next,sans-serif;letter-spacing:-.6px}.topbar p{margin:0;color:var(--muted);font-size:13px}.global-search,.top-actions{display:flex;align-items:center;gap:9px}.global-search{width:255px;padding:9px 10px;color:#819087;border:1px solid var(--line);border-radius:9px;background:#fff}.global-search input{min-width:0;flex:1 1;border:0;outline:0;font-size:12px}kbd{padding:2px 5px;color:#8d9891;background:#f3f5f3;border:1px solid #e2e7e3;border-radius:4px;font-size:10px}.date-button,.icon-button{height:38px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.icon-button{width:38px;display:grid;place-items:center}.date-button{display:flex;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:600}.page-body{padding:28px 38px 50px}.page-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-actions button,.primary-button{padding:10px 15px;color:white;background:var(--forest);border:0;border-radius:8px;font-weight:600;cursor:pointer}.filter-row{display:flex;gap:8px}.filter-row button{color:var(--muted);background:white;border:1px solid var(--line)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:18px}.metric-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.metric-card{position:relative;min-height:140px;padding:19px}.metric-icon{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--forest);background:var(--mint)}.metric-icon.blue{color:#356789;background:var(--blue)}.metric-icon.gold{color:#9b6816;background:#faefd9}.metric-icon.red{color:#a45c31;background:var(--peach)}.metric-card>span{display:block;color:var(--muted);font-size:12px}.metric-card>strong{display:block;margin:15px 0 7px;font:700 27px Avenir Next,sans-serif;letter-spacing:-.7px}.metric-card>small{color:#5e8c6e;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,.8fr);grid-gap:18px;gap:18px;margin-bottom:18px}.panel{padding:21px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-heading h2,.recovery-card h2{margin:3px 0 0;font:700 17px Avenir Next,sans-serif;letter-spacing:-.3px}.panel-heading a{display:flex;align-items:center;gap:5px;color:var(--forest-2);font-size:12px;font-weight:700}.occupancy-bar{height:7px;overflow:hidden;border-radius:10px;background:#e9eeea}.occupancy-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f7a58,#79ad84)}.occupancy-labels{display:flex;justify-content:space-between;margin:5px 0 13px;color:#a0aaa4;font-size:9px}.tee-list{border-top:1px solid var(--line)}.tee-row{display:grid;grid-template-columns:55px 64px minmax(140px,1fr) 45px;align-items:center;grid-gap:12px;gap:12px;min-height:53px;border-bottom:1px solid var(--line);font-size:12px}.tee-row:last-child{border-bottom:0}.player-dots{display:flex;gap:3px}.player-dots span{width:11px;height:11px;border:1px solid #b9c5bd;border-radius:50%}.player-dots span.filled{border-color:var(--forest-2);background:var(--forest-2)}.tee-names{color:#4e5b53}.tee-names em{color:#99a29d}.pill,.status{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:20px;color:#71580d;background:#faf0ce;font-size:10px;font-weight:700}.pill.full{color:#66716a;background:#edf0ee}.pill.open{color:#26704d;background:#dff1e6}.recovery-card{position:relative;color:#f6f3e9;background:linear-gradient(150deg,#174b36,#1a5d40);border:0}.recovery-card .eyebrow{color:#a6cab5}.recovery-card h2{max-width:250px;margin-top:14px;font-size:22px;line-height:1.25}.recovery-card p{max-width:280px;color:#bbd0c3;font-size:12px;line-height:1.55}.sun-orbit{display:grid;place-items:center;width:62px;height:62px;margin-bottom:25px;border:1px solid #5b8b72;border-radius:50%;color:#f1bd5d;background:rgba(255,255,255,.04);box-shadow:0 0 0 12px rgba(255,255,255,.025)}.recovery-stat{display:grid;grid-template-columns:20px 1fr;grid-gap:2px 7px;gap:2px 7px;margin:25px 0 17px;color:#9fc1ad;font-size:11px}.recovery-stat svg{grid-row:span 2}.recovery-stat strong{color:white;font-size:12px}.recovery-card button{width:100%;padding:11px;color:var(--forest);background:#f0d08c;border:0;border-radius:8px;font-weight:700}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:9px 12px;color:#89938d;font-size:9px;letter-spacing:.09em;text-align:left;text-transform:uppercase}td,th{border-bottom:1px solid var(--line)}td{padding:13px 12px;color:#536058}tr:last-child td{border-bottom:0}td.flex-cell,td:first-child{color:var(--ink)}.flex-cell-content{display:flex;align-items:center;gap:10px}.table-avatar{width:29px;height:29px}.status.confirmed{color:#26704d;background:#dff1e6}.status.checked-in{color:#356789;background:var(--blue)}.page-title-row{justify-content:space-between;margin-bottom:18px}.page-title-row,.search-box{display:flex;align-items:center}.search-box{gap:8px;width:330px;padding:10px 12px;color:var(--muted);background:white;border:1px solid var(--line);border-radius:9px}.search-box input{flex:1 1;border:0;outline:0}.capacity-cell{display:flex;gap:3px}.capacity-cell i{width:9px;height:9px;border-radius:50%;background:#dce3de}.capacity-cell i.used{background:var(--forest-2)}.section-tabs{display:flex;gap:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.section-tabs span{padding:0 2px 11px;color:var(--muted);font-size:12px}.section-tabs span:first-child{color:var(--forest);border-bottom:2px solid var(--forest);font-weight:700}.deal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.deal-card{padding:19px;background:white;border:1px solid var(--line);border-radius:12px}.deal-card .deal-time{margin:15px 0 6px;font:700 24px Avenir Next,sans-serif}.deal-card p{color:var(--muted);font-size:12px}.deal-price{display:flex;justify-content:space-between;align-items:flex-end;margin:24px 0 16px;padding-top:15px;border-top:1px solid var(--line)}.deal-price strong{font:700 20px Avenir Next,sans-serif}.deal-price del{color:#9aa39e;font-size:12px}.deal-card button{width:100%;padding:10px;border-radius:8px;border:1px solid var(--forest);color:var(--forest);background:white;font-weight:700}.chart-placeholder{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:25px}.chart-placeholder span{flex:1 1;min-height:20px;border-radius:5px 5px 0 0;background:linear-gradient(#77aa85,#d9e9dd)}.mobile-menu-toggle{display:none}@media (min-width:721px) and (max-width:1000px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding-inline:12px}.brand>span:last-child,.course-switcher,.lang-switcher,.sidebar nav span,.sidebar-bottom>a,.signout-btn span,.user-card div,.user-card>span{display:none!important}.sidebar nav a,.signout-btn{justify-content:center}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:720px){.app-shell{display:block}.sidebar{display:none}.app-shell.mobile-sidebar-open .sidebar{display:flex;position:fixed;top:0;left:0;width:260px;height:100vh;z-index:100;box-shadow:4px 0 24px rgba(24,43,32,.15);animation:slideIn .2s ease-out}.app-shell.mobile-sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(23,35,28,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99}.mobile-menu-toggle{display:grid!important;place-items:center;width:38px;height:38px;flex-shrink:0}.topbar{height:auto;align-items:center;padding:18px 20px}.top-actions{display:none}.page-body{padding:20px}.dashboard-grid,.deal-grid,.metric-grid{grid-template-columns:1fr}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.public-page{position:fixed;inset:0;z-index:50;overflow:auto;padding:35px;background:radial-gradient(circle at 15% 20%,#2c6c4d 0,transparent 34%),#0f3929}.public-brand{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:27px;color:white;font:700 18px Avenir Next,sans-serif}.public-brand span{color:#9cc6aa}.claim-card{width:min(920px,100%);margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.claim-summary{padding:48px;color:white;background:linear-gradient(145deg,#1a543b,#143f30)}.deal-badge{display:inline-block;padding:6px 10px;color:#1d523a;background:#f0cf86;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.claim-summary h1{max-width:380px;margin:24px 0 10px;font:700 34px/1.14 Avenir Next,sans-serif;letter-spacing:-1.2px}.claim-lead{color:#b8d0c1;font-size:14px}.claim-details{display:grid;grid-gap:17px;gap:17px;margin:35px 0;padding:25px 0;border-block:1px solid #48745e}.claim-details div{display:flex;align-items:center;gap:13px;color:#97baa6}.claim-details svg{width:19px}.claim-details span{display:flex;flex-direction:column;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.claim-details strong{margin-top:3px;color:white;font-size:13px;text-transform:none;letter-spacing:0}.claim-price{display:grid;grid-template-columns:1fr auto;align-items:end}.claim-price span{color:#a9c6b5;font-size:11px}.claim-price strong{grid-row:span 2;font:700 31px Avenir Next,sans-serif}.claim-price del{color:#86a493;font-size:12px}.secure-note{display:flex;gap:8px;margin-top:28px;color:#9ebdaa;font-size:11px}.claim-entry{padding:48px;background:#fff}.claim-entry h2{margin:6px 0 24px;font:700 24px Avenir Next,sans-serif}.claim-form{display:grid;grid-gap:15px;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.claim-form label{display:grid;grid-gap:6px;gap:6px;color:#566159;font-size:11px;font-weight:700}.claim-form input,.claim-form select{width:100%;height:42px;padding:0 11px;border:1px solid #dce3de;border-radius:8px;outline:none;background:white}.claim-form input:focus,.claim-form select:focus{border-color:#438064;box-shadow:0 0 0 3px #e4f0e8}.claim-form button{display:flex;justify-content:center;gap:8px;margin-top:6px;padding:13px;color:white;background:var(--forest);border:0;border-radius:8px;font-weight:700}.claim-form>small{color:#8a948e;text-align:center}.form-error{margin:0;color:#a84632;font-size:12px}.claim-success{display:grid;place-items:center;min-height:330px;color:var(--forest);text-align:center}.claim-success h2{margin-bottom:0}.claim-success p{max-width:300px;color:var(--muted);line-height:1.5}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:720px){.public-page{position:absolute;padding:22px 14px}.claim-card{grid-template-columns:1fr}.claim-entry,.claim-summary{padding:30px}}dialog::-webkit-backdrop{background-color:rgba(23,35,28,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog::backdrop{background-color:rgba(23,35,28,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}