:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20242b;background:#f4f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{background:#111318;color:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #32343a}.nav{max-width:1230px;padding:14px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;font-weight:850;letter-spacing:.05em}.paw{display:grid;place-items:center;background:#f58220;color:#111;padding:11px;border-radius:12px;font-size:24px}.brand small{display:block;color:#aab0bc;font-weight:600;font-size:10px;margin-top:4px;letter-spacing:.16em}.navlinks{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.navlinks button,.ghost{background:transparent;border:1px solid transparent;border-radius:9px;padding:10px 13px;color:#d3d7dc}.navlinks button:hover,.navlinks button.active{background:#292c32;color:white}.navlinks .login{background:#f58220;color:#17191c;font-weight:800}.hero{background:radial-gradient(circle at 90% 20%,#50301d 0,transparent 35%),linear-gradient(125deg,#15171b,#242830);color:#fff}.hero-inner{max-width:1230px;margin:auto;padding:76px 24px 64px}.eyebrow{color:#f59b4f;font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:850}.hero h1{font-size:clamp(38px,5vw,68px);letter-spacing:-.05em;line-height:1.06;margin:15px 0}.hero p{color:#bdc3cd;font-size:17px;max-width:630px;line-height:1.6}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#f58220;color:#17191c;border:0;padding:11px 17px;border-radius:9px;font-weight:800}.btn:hover{background:#ff9b45}.btn.secondary{background:#fff;color:#1a1c20}.btn.outline{border:1px solid #cbd0d7;background:transparent;color:inherit}.btn.danger{background:#fae6e6;color:#a62727}.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.wrap{max-width:1230px;margin:0 auto;padding:35px 24px 75px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.section-title h2,.section-title h1{margin:0;letter-spacing:-.035em}.muted{color:#6e7582}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{background:white;border:1px solid #e0e3e7;border-radius:14px;padding:22px;box-shadow:0 2px 8px #19223606}.card h3{margin:0 0 8px}.pill{background:#fff1e4;color:#a94a03;font-weight:800;font-size:11px;border-radius:100px;padding:5px 10px;text-transform:uppercase;white-space:nowrap}.event{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #e8ebee;align-items:center}.event:first-of-type{border-top:0}.datebox{background:#f6f7f9;border:1px solid #e6e7ec;min-width:57px;text-align:center;border-radius:9px;padding:10px;color:#20242b;font-weight:850}.event-main{flex:1}.event-main b{display:block;margin-bottom:5px}.event-main span{font-size:13px;color:#707785}.kpi{font-size:32px;font-weight:850;margin-top:10px;letter-spacing:-.04em}.iconbox{background:#fff0e2;color:#b45309;border-radius:12px;padding:10px;display:inline-block}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.footer{background:#111318;color:#aeb4bc;padding:33px 24px;text-align:center;font-size:13px}.footer strong{color:white}.layout{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 69px)}.sidebar{background:#191b21;color:#d6d8dc;padding:23px 14px}.sidebar .label{color:#8f95a0;font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:12px 12px 15px}.side-btn{display:block;width:100%;padding:13px;border:0;background:transparent;border-radius:9px;color:#d0d4dc;text-align:left;margin:3px 0}.side-btn.active,.side-btn:hover{background:#34373e;color:white}.content{min-width:0;padding:32px;max-width:1300px;width:100%;margin:auto}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;flex-wrap:wrap}.admin-head h1{margin:0 0 5px;letter-spacing:-.04em}.tablewrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px;min-width:570px}.table th{font-size:11px;letter-spacing:.1em;text-align:left;text-transform:uppercase;color:#6c7380}.table td,.table th{padding:14px 11px;border-bottom:1px solid #e8ebef}.table td button{font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:7px}.form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750}.field input,.field select,.field textarea{border:1px solid #cdd3db;border-radius:8px;padding:12px;background:white;color:#20242b;width:100%}.field textarea{min-height:80px}.modal-backdrop{position:fixed;inset:0;background:#0b0c10a8;z-index:25;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:white;padding:25px;border-radius:16px;width:min(620px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 15px 80px #0004}.modal h2{margin:0 0 10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notice{background:#fff5e9;border:1px solid #ffd3a8;padding:14px;border-radius:10px;color:#874510;font-size:13px;line-height:1.5;margin-bottom:20px}.empty{padding:36px 15px;text-align:center;color:#727985}.filter{background:white;border:1px solid #cbd0d7;border-radius:8px;padding:10px;color:#20242b}.tag{display:inline-block;padding:5px 9px;border-radius:7px;background:#eef1f5;font-weight:700;font-size:11px}.tag.approved{background:#e0f5e8;color:#166c3b}.tag.pending{background:#fff2d7;color:#915a00}.tag.denied{background:#ffe6e7;color:#9b1b30}.tiny{font-size:12px;color:#868d98}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.linkbutton{border:0;background:none;color:#ac4b0b;font-weight:750;padding:6px}.site-search{width:min(350px,100%);padding:10px;border:1px solid #d3d6dc;border-radius:8px}.mobile-only{display:none}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.sidebar{display:flex;gap:4px;overflow-x:auto;padding:9px 14px}.sidebar .label{display:none}.side-btn{min-width:max-content;width:auto}.content{padding:25px 17px}.nav{align-items:flex-start}.navlinks{justify-content:flex-end}.hero-inner{padding:55px 24px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.brand span{font-size:12px}.brand small{font-size:8px}.navlinks button{font-size:12px;padding:8px}.nav{padding:11px}.paw{padding:8px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.hero h1{font-size:39px}.hero-inner{padding:40px 20px}.event{gap:10px}}

.authbox{max-width:520px;margin:45px auto;padding:32px}.authbox .form{margin-top:22px}.staffline{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-bottom:16px;font-size:13px;color:#5b6470}.toast{padding:14px 18px;background:#fff3dc;color:#51370c;position:sticky;top:0;z-index:200;border-bottom:1px solid #e5b859;display:flex;justify-content:space-between}.toast button{border:0;background:transparent;font-size:20px;cursor:pointer}

/* Private AD Office v3 */
.private-mark{color:#bfc5ce;font-size:11px;font-weight:800;letter-spacing:.12em}
.authbox{border-top:5px solid #f58220}
.topbar{position:relative}
@media(max-width:560px){.private-mark{font-size:9px}.nav{align-items:center}.brand{font-size:11px}}

/* v4 master calendar */
.calendar-panel{padding:18px;overflow:hidden}.calendar-toolbar,.calendar-nav,.calendar-controls,.calendar-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin-bottom:16px}.calendar-nav h2{margin:0 0 0 10px;font-size:22px}.calendar-nav .btn{padding:8px 12px}.calendar-controls label{display:flex;align-items:center;gap:6px;font-size:12px;color:#69717d}.calendar-controls select{max-width:180px}.calendar-legend{margin:10px 0 16px;font-size:12px;color:#626c79}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;display:inline-block;border-radius:3px}.legend-dot.home{background:#f58220}.legend-dot.away{background:#4b515b}.legend-dot.other{background:#3d718b}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#1b1e24;color:#fff;border-radius:8px 8px 0 0}.calendar-weekdays span{text-align:center;padding:11px 3px;font-size:12px;font-weight:800}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e1e5ea;border-left:1px solid #e1e5ea}.calendar-cell{min-width:0;min-height:128px;padding:7px 5px;border-right:1px solid #e1e5ea;border-bottom:1px solid #e1e5ea;background:#fff}.calendar-cell.outside{background:#f5f6f8}.calendar-cell.today{background:#fff8ee}.day-number,.week-day-title{border:0;background:transparent;font-weight:800;color:#292d34;padding:5px 8px;border-radius:8px}.day-number:hover,.week-day-title:hover{background:#fce4ce}.today .day-number{background:#f58220;color:#141414}.calendar-events{display:flex;flex-direction:column;gap:4px;margin-top:5px}.calendar-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:6px 7px;border:0;border-radius:6px;color:white;overflow:hidden;font-size:11px}.calendar-chip.home,.day-event.home{background:#f58220;color:#161616}.calendar-chip.away,.day-event.away{background:#4b515b;color:white}.calendar-chip.other,.day-event.other{background:#3d718b;color:white}.calendar-chip:hover,.day-event:hover{filter:brightness(.92)}.chip-time{font-size:10px;font-weight:750;opacity:.85}.chip-title{font-weight:750;overflow-wrap:anywhere}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{border:1px solid #e1e5ea;border-radius:9px;padding:8px;min-height:240px;min-width:0;display:flex;flex-direction:column;gap:8px}.week-day-title{font-size:12px;text-align:left}.calendar-day-list{max-width:780px;margin:auto}.calendar-day-list h3{margin:10px 0 20px}.day-event{width:100%;display:flex;flex-direction:column;gap:6px;padding:15px;margin:10px 0;border:0;border-radius:9px;text-align:left}.day-event span{font-size:12px}@media(max-width:1000px){.calendar-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-cell{min-height:105px}.calendar-chip{font-size:10px;padding:5px}.calendar-panel{padding:10px}}@media(max-width:600px){.calendar-weekdays span{font-size:10px}.calendar-cell{min-height:78px;padding:3px 2px}.day-number{font-size:11px;padding:3px}.calendar-chip{font-size:9px;padding:3px}.chip-time{font-size:8px}.calendar-controls{width:100%}.calendar-controls label{flex:1;min-width:125px}.calendar-controls select{width:100%;min-width:0}.calendar-nav h2{font-size:18px}.calendar-week-grid{grid-template-columns:1fr}.week-day{min-height:100px}.calendar-legend{gap:8px}}

/* v5 facility calendars and bookings */
.calendar-chip.booking,.day-event.booking{background:#19704d;color:#fff}.calendar-chip.booking.pending,.day-event.booking.pending{background:#f9e8bc;color:#704600;border:1px dashed #c49b3e}.legend-dot.booking{background:#19704d}.legend-dot.tentative{background:#e4b454}.facility-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.facility-picker select{min-width:230px}.calendar-chip.booking .chip-title{font-weight:650}.calendar-day-list .day-event.booking{cursor:pointer}@media(max-width:600px){.facility-picker{align-items:stretch;flex-direction:column}.facility-picker select{min-width:0;width:100%}}

/* Version 7: weekly facility occupancy grid */
.occupancy-panel{padding:20px}.occupancy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.occupancy-toolbar h2{font-size:19px;margin:0}.occupancy-filters{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.occupancy-filters label{display:flex;align-items:center;gap:5px}.occupancy-scroll{overflow-x:auto;border:1px solid #e0e3e7;border-radius:10px;margin-top:16px}.occupancy-table{width:100%;min-width:1030px;border-collapse:separate;border-spacing:0;table-layout:fixed}.occupancy-table th,.occupancy-table td{border-right:1px solid #e3e6eb;border-bottom:1px solid #e3e6eb;padding:9px;vertical-align:top}.occupancy-table thead th{background:#252830;color:#fff;text-align:center;font-size:13px}.occupancy-table thead th:first-child{width:165px;text-align:left;position:sticky;left:0;z-index:3}.occupancy-table tbody th{position:sticky;left:0;z-index:2;background:#f7f8fa;text-align:left;font-size:13px}.occupancy-table tr:last-child th,.occupancy-table tr:last-child td{border-bottom:0}.occupancy-table th:last-child,.occupancy-table td:last-child{border-right:0}.occupancy-day{background:none;border:0;color:inherit;font-weight:800;width:100%;cursor:pointer}.occupancy-day span{display:block;font-size:11px;color:#d0d3da;font-weight:500;margin-top:3px}.occupancy-slot{height:86px;background:#fff}.occupancy-empty{display:block;text-align:center;color:#bbc1c9;margin-top:18px}.occupancy-item{display:block;width:100%;text-align:left;border:1px solid transparent;border-radius:7px;padding:7px;margin-bottom:6px;cursor:pointer;overflow-wrap:anywhere;font-size:11px;line-height:1.35}.occupancy-item span,.occupancy-item small{display:block;font-size:10px}.occupancy-item strong{display:block;margin:2px 0}.occ-approved{background:#dff3e7;border-color:#9ed6b4;color:#175c38}.occ-pending{background:#fff0ce;border-color:#e9c879;color:#795200}.occ-event{background:#edf0f5;border-color:#ccd2de;color:#3a4759}@media(max-width:650px){.occupancy-panel{padding:12px}.occupancy-toolbar h2{font-size:15px}.occupancy-table{min-width:900px}}

.wildcat-logo{width:58px;height:58px;object-fit:contain;flex-shrink:0;background:white;border-radius:10px;padding:3px}.brand{gap:14px}

.eligibility-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:14px}
.eligibility-stat{border:1px solid #e1e4e8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;background:#fafafa}
.eligibility-stat strong{font-size:26px;color:#e76d0a}.eligibility-stat span{font-size:12px;color:#555}
