:root{--bg:#07101a;--panel:#0a1723;--panel2:#0c1b29;--line:#203346;--line2:#34495a;--gold:#d6aa5c;--gold2:#f0cf8a;--ink:#edf2f6;--muted:#94a3b1;--dim:#687a89;--red:#c86762;--green:#b3cfb5;--shadow:0 18px 55px #0007}
*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;color:var(--ink);font:14px/1.5 system-ui,Arial,sans-serif;background:radial-gradient(ellipse at 70% -22%,#29374955 0,transparent 46%),linear-gradient(180deg,#08121dc4,#07101ae8 58%,#060e17f2),url("/images/fib-night-bg.webp") center top/cover fixed;min-height:100vh;position:relative;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.ambient{pointer-events:none;position:absolute;width:700px;height:400px;filter:blur(90px);opacity:.08;border-radius:50%;z-index:0}.ambient-one{background:#c7974d;top:-300px;right:5%}.ambient-two{background:#35617e;top:480px;left:-570px}.topbar{height:102px;border-bottom:1px solid #283747;background:#07111dcc;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1500px)/2),5.2vw);position:relative;z-index:1}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}.brand-mark{width:59px;height:59px;border:1px solid #a9844e;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #d2aa5c13,inset 0 0 0 7px #a9844e44;color:var(--gold2);font:700 16px system-ui,Arial,sans-serif;letter-spacing:1.5px;position:relative}.brand-mark:before,.brand-mark:after{content:'✦';position:absolute;color:#e6c37d;font-size:8px;top:5px}.brand-mark:before{left:12px}.brand-mark:after{right:12px}.brand-copy strong{font:700 23px system-ui,Arial,sans-serif;letter-spacing:.3px;display:block}.brand-copy small{display:block;color:#96a5b1;font-size:8px;letter-spacing:2.4px;text-transform:uppercase;margin-top:2px}.header-right{display:flex;align-items:center;gap:25px}.secure-label{font-size:12px;color:#b0bcc6}.secure-label i{display:inline-block;width:6px;height:6px;background:#7fbd95;border-radius:100%;box-shadow:0 0 9px #7fbd95;margin-right:8px}.button{border:1px solid transparent;border-radius:6px;padding:10px 18px;font-weight:700;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{transform:translateY(-1px);filter:brightness(1.08)}.button-outline{background:#0a1621;border-color:#9a7948;color:#e6c680}.button-gold{background:linear-gradient(135deg,#d7ac60,#b98a45);border-color:#f0ca7d;color:#111820;box-shadow:0 7px 20px #c69c4d25}.button-quiet{background:#0a1723;border-color:#374b5d;color:#e6ebef}.button-full{width:100%;padding:13px}.page-wrap{max-width:1500px;width:89.6%;margin:48px auto 70px;position:relative;z-index:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:2.2px;font-weight:800;color:var(--gold);display:flex;align-items:center;gap:9px}.eyebrow-line{display:block;width:22px;height:1px;background:var(--gold)}h1,h2{font-family:system-ui,Arial,sans-serif;line-height:1.12;margin:8px 0;font-weight:600}h1{font-size:35px;letter-spacing:.2px}h2{font-size:28px}.subtitle{color:var(--muted);font-size:12px;margin:7px 0 0}.date-control{display:flex;align-items:center;gap:8px}.date-label{height:42px;display:flex;gap:10px;align-items:center;background:#0a1723;border:1px solid var(--line2);border-radius:6px;padding:0 12px;color:#dce3e8;min-width:205px}.calendar-icon{font-size:18px;color:var(--gold)}.date-label input{position:absolute;opacity:0;width:1px;height:1px}.date-label span:last-child{font-size:12px}.icon-button{width:40px;height:42px;border:1px solid var(--line2);border-radius:6px;background:#0a1723;font:24px Arial;color:#c8d0d8}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.panel{background:linear-gradient(148deg,#0b1926f5,#091520f5);border:1px solid #26394a;border-radius:9px;box-shadow:var(--shadow)}.schedule-panel{overflow:hidden}.panel-head{min-height:71px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-title{font-size:15px;font-weight:800;letter-spacing:.1px}.panel-hint{color:var(--muted);font-size:11px;margin-top:3px}.legend{display:flex;gap:16px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend-dot{height:8px;width:8px;border-radius:50%;display:inline-block}.legend-dot.free{background:var(--gold)}.legend-dot.busy{background:var(--red)}.schedule-scroll{padding:4px 16px 14px;overflow-x:auto}.hour-row{display:grid;grid-template-columns:69px minmax(520px,1fr);align-items:center;min-height:48px;border-bottom:1px solid #20303e}.hour-row:last-child{border:0}.hour-row-head{min-height:34px;color:#718393;font-size:9px;font-weight:800;letter-spacing:1.3px}.slot-headings,.slot-grid{display:grid;grid-template-columns:repeat(6,minmax(52px,1fr));gap:8px}.slot-headings i{text-align:center;font-style:normal;color:#6d7e8c;font-size:9px}.hour-time{font:600 14px system-ui,Arial,sans-serif;color:#e4e9ed;letter-spacing:.3px}.slot{position:relative;height:30px;border-radius:5px;border:1px solid #9d7940;background:linear-gradient(180deg,#362f22,#1c211e);color:#e2c17d;font:600 10px system-ui,Arial,sans-serif;letter-spacing:.3px;transition:.15s;white-space:nowrap}.slot:hover:not(:disabled),.slot:focus-visible{background:#a77c38;color:#0c1116;box-shadow:0 0 14px #dcad5d44;outline:0;z-index:3}.slot.busy{border-color:#9e4f4d;background:linear-gradient(180deg,#382426,#21191d);color:#d98780;cursor:not-allowed}.slot.busy:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:7px 10px;border:1px solid #9e5653;background:#201619;border-radius:5px;color:#f1c1bd;font:600 10px Manrope,sans-serif;z-index:8;white-space:nowrap;box-shadow:0 5px 20px #0008}.slot.selected{background:var(--gold);color:#111820;box-shadow:0 0 0 2px #f5d48a55}.slot.past{opacity:.43;cursor:not-allowed;border-color:#374451;color:#71808d;background:#111b24}.hour-row.end-row{border-top:1px solid #344654;min-height:43px}.hour-row.end-row .hour-time{color:var(--gold2)}.end-label{font-size:10px;color:#718393;text-align:right;padding-right:4px}.schedule-foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:9px;align-items:center;color:#81909c;font-size:10px}.info-mark{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid #728190;border-radius:50%;font:700 9px Arial}.side-column{display:grid;gap:16px}.my-panel,.rule-panel{padding:18px}.my-panel .panel-head{padding:0 0 14px;min-height:auto}.panel-icon{color:var(--gold2);font-size:23px}.empty-state{min-height:160px;border:1px dashed #2a3e50;border-radius:6px;margin-top:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#758697;font-size:11px;gap:10px}.empty-symbol{font-size:25px;color:#526a7d}.my-bookings:not(.empty-state){display:grid;gap:8px;margin-top:12px}.my-booking{padding:10px 11px;border:1px solid #344757;background:#0d1b28;border-radius:6px;font-size:11px}.my-booking strong{display:block;color:#ecd09a;font-size:12px}.my-booking button{margin-top:7px;border:0;background:none;color:#dc8c83;font-size:10px;padding:0}.rule-panel .panel-title{padding-bottom:14px;border-bottom:1px solid var(--line)}.steps-list{list-style:none;padding:0;margin:12px 0 15px;display:grid;gap:10px;color:#bdc7cf;font-size:11px}.steps-list li{display:flex;align-items:center;gap:9px}.steps-list li span{display:grid;place-items:center;width:21px;height:21px;border:1px solid #977a4f;border-radius:50%;color:#e9c982;font-size:10px}.limit-note{border-top:1px solid var(--line);padding-top:13px;display:flex;gap:9px;color:#8f9eaa;font-size:10px}.limit-mark{color:var(--gold);font-size:17px}.footer{max-width:1500px;width:89.6%;margin:-34px auto 20px;display:flex;justify-content:space-between;color:#607180;font-size:10px;position:relative;z-index:1}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#03080ec9;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;overflow-y:auto}.modal-backdrop.hidden,.hidden{display:none!important}.modal{width:min(100%,430px);background:linear-gradient(145deg,#10202e,#0a1621 65%);border:1px solid #9b7848;border-radius:9px;box-shadow:0 25px 90px #000c;position:relative;padding:34px 36px 28px;text-align:center}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#8c9ba7;font:26px Arial;padding:5px}.modal-emblem{margin:0 auto 17px;width:55px;height:55px;border:1px solid #c8a15c;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #b78e4c20;color:#e2c37f;font:700 16px system-ui,Arial,sans-serif;letter-spacing:1px}.modal-kicker{color:var(--gold);font-size:8px;font-weight:800;letter-spacing:2px}.modal h2{font-size:26px;margin:6px 0 7px}.modal-description{margin:0 auto 21px;max-width:330px;color:#9eabb6;font-size:11px}.form-stack{text-align:left;display:grid;gap:13px}.field-label{display:grid;gap:6px;color:#d6dee4;font-size:11px;font-weight:600}.field-label input,.field-label select{width:100%;height:43px;border:1px solid #344858;border-radius:5px;background:#07131d;color:#e8edf1;padding:0 12px;outline:none}.field-label input:focus,.field-label select:focus{border-color:#bc9556;box-shadow:0 0 0 3px #c59b4d22}.field-label input::placeholder{color:#667684}.modal-separator{height:20px;margin:8px 0;display:flex;align-items:center;color:#6f7e8a;font-size:10px}.modal-separator:before,.modal-separator:after{content:'';height:1px;background:#293a48;flex:1}.modal-separator span{padding:0 12px}.approval-note{margin:17px auto 0;color:#82929f;font-size:9px;display:flex;align-items:flex-start;justify-content:center;gap:6px}.approval-note span{color:var(--gold)}.text-button{margin-top:17px;background:none;border:0;color:#e4c47d;font-size:11px}.form-message{min-height:0;color:#e79890;font-size:10px}.form-message:empty{display:none}.form-message.success{color:#a6ceab}.booking-modal{text-align:left}.booking-modal h2{font-size:24px}.booking-modal .modal-description{margin:0 0 20px;text-align:left}.booking-end-note{padding:10px 11px;border:1px solid #374658;background:#0b1823;border-radius:5px;color:#a7b4bf;font-size:10px}.toast{position:fixed;z-index:20;bottom:26px;left:50%;transform:translateX(-50%);background:#132638;border:1px solid #54775e;border-radius:7px;padding:12px 18px;color:#d7e9dc;box-shadow:var(--shadow);font-size:12px;max-width:calc(100vw - 30px)}.admin-view{padding:26px}.admin-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.admin-heading h2{margin-top:9px}.admin-tabs{display:flex;gap:7px;overflow-x:auto;padding:16px 0 12px;border-bottom:1px solid var(--line)}.admin-tab{white-space:nowrap;border:1px solid #2b3d4c;background:#0a1722;border-radius:5px;padding:9px 12px;color:#aebbc5;font-size:10px}.admin-tab.active{border-color:#af8950;color:#f0cf8a;background:#2a241b}.admin-content{padding:20px 0}.admin-section h3{margin:0 0 5px;font-size:15px}.admin-section>p{color:var(--muted);font-size:11px;margin:0 0 15px}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;color:#8798a5;font-size:9px;letter-spacing:1px;font-weight:700;padding:9px;border-bottom:1px solid #304353}.data-table td{padding:10px 9px;border-bottom:1px solid #203242;vertical-align:middle}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.small-button{border:1px solid #445767;background:#101e2a;border-radius:4px;padding:6px 9px;font-size:10px}.small-button.gold{color:#e8c983;border-color:#826b45}.small-button.danger{color:#e49a91;border-color:#704543}.status-pill{border-radius:99px;padding:4px 8px;background:#202d38;color:#b9c6cf;font-size:9px}.status-pill.active{background:#183124;color:#a9d3b0}.status-pill.pending{background:#332b1d;color:#e2c480}.status-pill.blocked{background:#382322;color:#e39a90}.access-help{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(250px,1.3fr);gap:4px 15px;padding:9px 0;border-bottom:1px solid #1c2b39}.access-help strong{font-size:11px}.access-help span{color:#8696a3;font-size:10px}.user-select{max-width:280px}.permission-list{margin:18px 0;display:grid;gap:0}.permission-row{display:grid;grid-template-columns:22px minmax(160px,.75fr) minmax(220px,1.5fr);gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #1d2c39}.permission-row input{accent-color:#d5aa5d;width:16px;height:16px}.permission-row strong{font-size:10px}.permission-row span{font-size:9px;color:#8696a3}.admin-form-row{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.admin-form-row .field-label{min-width:170px}.admin-form-row .button{height:41px}.no-access{padding:22px;text-align:center;border:1px dashed #344757;color:#aeb9c3;border-radius:6px;font-size:12px}.empty-admin{padding:25px;color:#8999a6;font-size:11px;text-align:center}.inline-edit{display:flex;gap:5px;align-items:center}.inline-edit input{width:160px;background:#08141e;border:1px solid #34495b;border-radius:4px;color:#eff3f5;padding:6px 8px;font-size:10px}.booking-admin-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;padding:11px;border-bottom:1px solid #21313e;align-items:center;font-size:10px}.audit-row{display:grid;grid-template-columns:155px 150px minmax(100px,1fr);gap:9px;border-bottom:1px solid #20303e;padding:9px 4px;font-size:10px}.audit-row time,.audit-row span{color:#8a9aa6}.admin-alert{padding:10px 12px;border:1px solid #4f684f;background:#13251c;border-radius:5px;color:#b9d7bc;font-size:10px;margin:10px 0}.admin-error{padding:9px 12px;border:1px solid #69413f;background:#25191b;border-radius:5px;color:#e5a39b;font-size:10px;margin:10px 0}.mobile-label{display:none}
@media(max-width:980px){.content-grid{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.page-wrap,.footer{width:94%}.topbar{padding:0 3%}.slot-headings,.slot-grid{gap:5px}.schedule-scroll{padding-left:10px;padding-right:10px}.hour-row{grid-template-columns:57px minmax(480px,1fr)}}
@media(max-width:720px){.topbar{height:76px}.brand-mark{width:45px;height:45px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:6px;letter-spacing:1.2px}.secure-label{display:none}.header-right{gap:0}.button-outline{padding:9px 13px}.page-wrap{margin-top:29px}.page-heading{align-items:flex-start;flex-direction:column}.date-control{align-self:stretch}.date-label{flex:1}.content-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.panel-head{padding:14px}.legend{gap:8px}.schedule-scroll{padding-bottom:6px}.hour-row{min-height:43px}.slot,.slot.busy{height:28px}.schedule-foot{padding:10px 13px;font-size:9px}.footer{margin-top:-44px}.admin-view{padding:18px 13px}.admin-heading{align-items:flex-start;gap:15px;flex-direction:column}.admin-tabs{margin:0 -4px}.permission-row{grid-template-columns:20px 1fr;gap:6px 8px}.permission-row span{grid-column:2}.access-help{grid-template-columns:1fr}.data-table{min-width:650px}.table-scroll{overflow-x:auto}.booking-admin-row{grid-template-columns:1fr 1fr}.audit-row{grid-template-columns:1fr 1fr}.audit-row span{grid-column:1/-1}}
@media(max-width:470px){h1{font-size:30px}.side-column{grid-template-columns:1fr}.panel-title{font-size:14px}.modal{padding:28px 22px 23px}.modal h2{font-size:24px}.schedule-head{align-items:flex-start;gap:10px}.legend{flex-direction:column;gap:4px}.date-label{min-width:0}.date-label span:last-child{font-size:10px}.footer{font-size:8px}.brand{gap:9px}.brand-copy strong{font-size:16px}.brand-mark{width:40px;height:40px}}

.account-wrap{position:relative}.user-menu{position:absolute;z-index:5;right:0;top:calc(100% + 8px);min-width:195px;padding:5px;border:1px solid #3a4d5d;border-radius:6px;background:#0b1926;box-shadow:0 12px 34px #0009}.user-menu button{display:block;width:100%;border:0;border-radius:4px;background:transparent;color:#cbd4db;text-align:left;padding:9px 10px;font-size:10px}.user-menu button:hover{background:#182a39;color:#f0cf8a}

.action-buttons{display:flex;gap:9px;margin-top:4px}.action-buttons .button{flex:1}.button-danger{background:linear-gradient(135deg,#c76e65,#a64d49);border-color:#d78c82;color:#fff}.action-modal{text-align:left}.action-modal .modal-description{text-align:left;margin-left:0;margin-right:0}.action-modal .modal-kicker,.action-modal h2{text-align:left}.calendar-modal{max-width:370px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.calendar-toolbar strong{text-transform:capitalize;color:#e8d3a8;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:18px}.calendar-weekday{padding:7px 0;text-align:center;color:#7e909e;font-size:9px;font-weight:700}.calendar-empty{height:38px}.calendar-day{height:38px;border:1px solid transparent;border-radius:5px;background:#0b1925;color:#d5dfe6;font-size:11px}.calendar-day:hover{border-color:#b68b4b;color:#f1d08b}.calendar-day.today{border-color:#52705e;color:#b5d8bd}.calendar-day.selected{background:#d2a655;color:#101820;font-weight:800}.date-caret{color:#9aaab6;font-size:14px!important;margin-left:auto}.date-label{cursor:pointer;text-align:left}.header-right #admin-button{white-space:nowrap}.modal .action-buttons .button-quiet{flex:0 0 38%}@media(max-width:720px){.header-right{gap:6px}#admin-button{font-size:9px;padding:8px 9px}.account-wrap #account-button{font-size:10px;padding:8px 9px}.date-control{width:100%}.date-label{min-width:0}}

.events-panel{padding:16px 18px}.events-panel .panel-head{padding:0 0 12px;min-height:auto}.events-list{display:grid}.event-row{padding:9px 0;border-bottom:1px solid #203242;display:grid;gap:3px}.event-row:last-child{border-bottom:0;padding-bottom:0}.event-row strong{color:#e5c987;font-size:10px;line-height:1.35}.event-row span{color:#9baab6;font-size:10px;line-height:1.5}.my-booking span{color:#8e9daa}.slot:disabled{cursor:not-allowed}
@media(max-width:720px){.events-panel{grid-column:1/-1}}

.events-panel{grid-column:1/-1;padding:21px 24px 24px;background:linear-gradient(145deg,#0d1d2bf5,#091521f7);border-color:#665535}.events-heading{justify-content:center;text-align:center;gap:14px;padding:0 0 16px!important;margin-bottom:17px;border-bottom:1px solid #3b3528}.events-heading .panel-title{font-size:18px;letter-spacing:.25px;color:#f0d69d}.events-heading .panel-hint{font-size:11px;margin-top:4px}.events-emblem{display:grid;place-items:center;width:30px;height:30px;border:1px solid #927447;border-radius:50%;color:#e6bf73;font-size:14px;box-shadow:inset 0 0 0 4px #c59d4a14}.events-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.event-row{min-width:0;min-height:116px;padding:14px;border:1px solid #304353;border-radius:7px;background:linear-gradient(145deg,#142535,#0c1925);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.event-row h3{margin:0;color:#edf1f4;font-size:13px;font-weight:750;line-height:1.35}.event-row p{margin:-4px 0 0;color:#8999a6;font-size:10px;line-height:1.45}.event-row p.event-days{color:#b3c0ca}.event-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:2px}.event-times time{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border:1px solid #846b43;border-radius:5px;background:linear-gradient(180deg,#342d21,#201e1a);color:#f1d08e;font-size:11px;font-weight:750;letter-spacing:.2px;white-space:nowrap}.event-row:hover{border-color:#9c7b48;box-shadow:0 6px 18px #0003;transform:translateY(-1px);transition:.18s ease}
@media(max-width:900px){.events-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.events-panel{padding:17px 13px}.events-heading{gap:8px}.events-heading .panel-title{font-size:15px}.events-emblem{width:24px;height:24px;font-size:11px}.events-list{grid-template-columns:1fr;gap:9px}.event-row{min-height:unset;padding:12px}.event-times time{font-size:10px;min-height:26px}}

/* Fine alignment and FIB navigation */
.topbar{height:90px;padding-inline:max(calc((100vw - 1500px)/2),5.2vw);border-bottom-color:#54452e;background:linear-gradient(90deg,#07111df2,#0b1722f2 55%,#07111df2);box-shadow:0 8px 30px #0004}.brand{gap:14px}.brand-mark{width:54px;height:54px;border-radius:14px 14px 20px 20px;background:linear-gradient(160deg,#203647,#0a1420);box-shadow:inset 0 0 0 3px #d2aa5c13,inset 0 0 0 6px #a9844e33,0 5px 16px #0005}.brand-mark:before,.brand-mark:after{top:7px}.brand-mark:before{left:11px}.brand-mark:after{right:11px}.brand-copy strong{font-size:21px}.header-right{gap:20px}.topbar-context{display:flex;align-items:center;gap:12px;padding-right:20px;border-right:1px solid #344555}.topbar-context>time{min-width:56px;color:#f0cf8a;font:700 17px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:1px}.secure-label{display:flex;align-items:center;gap:8px;line-height:1.25}.secure-label i{flex:0 0 7px;margin:0}.secure-label small{display:block;margin-top:3px;color:#7f91a0;font-size:9px;letter-spacing:.25px}.topbar-actions{display:flex;align-items:center;gap:9px}.topbar-actions .button{min-height:42px}
/* Exact shared columns keep each minute under its heading. */
.schedule-scroll{padding-inline:16px}.schedule-panel .hour-row{min-width:700px;grid-template-columns:82px minmax(0,1fr);column-gap:8px}.schedule-panel .slot-headings,.schedule-panel .slot-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.schedule-panel .slot{display:flex;width:100%;align-items:center;justify-content:center;padding:0;font-variant-numeric:tabular-nums;letter-spacing:0}.schedule-panel .hour-time{text-align:center;font-variant-numeric:tabular-nums}.schedule-panel .hour-row-head>span:first-child{padding-left:0;text-align:center}.schedule-panel .end-label{text-align:center;padding:0}.schedule-panel .hour-row.end-row{grid-template-columns:82px minmax(0,1fr)}
/* Centered event names and their time markers. */
.events-heading .panel-title{text-align:center}.events-heading .panel-hint{text-align:center}.events-list .event-row{align-items:center;text-align:center}.events-list .event-row h3,.events-list .event-row p{width:100%;text-align:center}.events-list .event-times{justify-content:center;width:100%}.events-list .event-times time{font-variant-numeric:tabular-nums}
/* Separate cached illustration for each dialog. */
.modal{overflow:hidden;isolation:isolate;background:linear-gradient(145deg,#10202e,#0a1621 65%);}
.modal::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.28;background-repeat:no-repeat;background-position:right center;background-size:contain}
.modal>*{position:relative;z-index:1}.modal .modal-close{z-index:2}
.modal-auth-bg::before{background-image:url('/images/modals/auth.svg')}.modal-register-bg::before{background-image:url('/images/modals/register.svg')}.modal-booking-bg::before{background-image:url('/images/modals/booking.svg')}.modal-password-bg::before{background-image:url('/images/modals/password.svg')}.modal-action-bg::before{background-image:url('/images/modals/action.svg')}.modal-calendar-bg::before{background-image:url('/images/modals/calendar.svg')}
#daily-limit-text{color:#b9c6cf;line-height:1.55}
@media(max-width:980px){.topbar{padding-inline:3%}.schedule-panel .hour-row{grid-template-columns:76px minmax(0,1fr)}.schedule-panel .hour-row.end-row{grid-template-columns:76px minmax(0,1fr)}}
@media(max-width:720px){.topbar{height:auto;min-height:78px;padding:10px 3%;gap:10px}.brand{gap:10px}.brand-mark{width:44px;height:44px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:6px}.header-right{gap:9px}.topbar-context{gap:8px;padding-right:10px}.topbar-context>time{font-size:15px;min-width:50px}.secure-label{font-size:10px}.secure-label small{font-size:8px}.topbar-actions{gap:6px}.topbar-actions .button{min-height:37px}.schedule-panel .hour-row{min-width:700px;grid-template-columns:72px minmax(0,1fr)}.schedule-panel .hour-row.end-row{grid-template-columns:72px minmax(0,1fr)}}
@media(max-width:470px){.topbar{justify-content:space-between;min-height:unset;padding:10px 4%}.brand-copy small{letter-spacing:.7px}.brand-copy strong{font-size:15px}.header-right{width:100%;justify-content:space-between}.topbar-context{border-right:0;padding-right:0}.secure-label{font-size:10px}.topbar-actions #admin-button{font-size:9px}.topbar-actions #account-button{font-size:10px}}

.events-list .event-row{min-height:148px;background-position:center;background-size:cover;background-repeat:no-repeat;border-color:#566070;box-shadow:inset 0 0 0 1px #ffffff08,0 8px 22px #0003}.events-list .event-row h3{font-size:14px;text-shadow:0 2px 7px #000;max-width:95%}.events-list .event-row p{color:#d0d7df;text-shadow:0 1px 5px #000;max-width:95%}.events-list .event-row.event-fort h3{color:#f0d69d}.event-airdrop{background-image:linear-gradient(180deg,#08111d85 0%,#08111da8 46%,#08111ded 100%),url('/images/events/airdrop.webp')}.event-dealers{background-image:linear-gradient(180deg,#08111d85 0%,#08111da8 46%,#08111ded 100%),url('/images/events/dealers.webp')}.event-workshops{background-image:linear-gradient(180deg,#08111d82 0%,#08111db0 48%,#08111df0 100%),url('/images/events/workshops.webp')}.event-fort{background-image:linear-gradient(180deg,#08111d78 0%,#08111db3 48%,#08111df2 100%),url('/images/events/fort-zancudo.webp');border-color:#927447!important}.event-cayo{background-image:linear-gradient(180deg,#08111d75 0%,#08111da8 48%,#08111dec 100%),url('/images/events/cayo-perico.webp')}.event-business{background-image:linear-gradient(180deg,#08111d85 0%,#08111db0 48%,#08111df0 100%),url('/images/events/business.webp')}.event-bank{background-image:linear-gradient(180deg,#08111d85 0%,#08111db0 48%,#08111df0 100%),url('/images/events/bank.webp')}
@media(min-width:901px){.events-list .event-row:last-child:nth-child(3n + 1){grid-column:2/3}}
@media(max-width:900px){.events-list .event-row:last-child:nth-child(2n + 1){grid-column:1/-1;max-width:calc(50% - 6px);justify-self:center}}
@media(max-width:520px){.events-list .event-row{min-height:140px}.events-list .event-row:last-child:nth-child(2n + 1){grid-column:auto;max-width:none;justify-self:stretch}}

/* Textured image backdrops behind each schedule section; overlays keep labels clear. */
.events-panel{background-image:linear-gradient(145deg,#081522df,#0a1824e8),url('/images/fib-night-bg.webp');background-position:center;background-size:cover}.schedule-panel{background-image:linear-gradient(150deg,#081522df,#091724e8),url('/images/events/airdrop.webp');background-position:center;background-size:cover}.schedule-panel .panel-head{background:linear-gradient(90deg,#102130e8,#0b1724e8),url('/images/events/airdrop.webp') center/cover}.schedule-panel .schedule-scroll{background:linear-gradient(180deg,#081522e0,#0b1926e8),url('/images/events/airdrop.webp') center/cover}.schedule-panel .hour-row:not(.hour-row-head):not(.end-row){background-image:linear-gradient(90deg,#0b1926e9,#0d1b28e8),url('/images/events/airdrop.webp');background-position:center;background-size:cover}.schedule-panel .end-row{background:linear-gradient(90deg,#101e2b,#0a1622)}.schedule-panel .schedule-foot{background:linear-gradient(90deg,#0b1926e9,#0b1926e9),url('/images/modals/action.svg') right center/cover}.my-panel{background-image:linear-gradient(145deg,#0b1926e3,#091520eb),url('/images/events/cayo-perico.webp');background-position:center;background-size:cover}.today-panel{padding:18px;background-image:linear-gradient(145deg,#0b1926e2,#091520ed),url('/images/events/fort-zancudo.webp');background-position:center;background-size:cover}.today-panel .panel-head{padding:0 0 13px;min-height:auto;border-bottom:1px solid #3a4854}.today-duty-list{display:grid;gap:8px;margin-top:12px}.today-duty-list.empty-state{min-height:108px;padding:12px;background:linear-gradient(145deg,#0b1926d9,#091520df),url('/images/modals/calendar.svg') center/cover}.today-duty-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;border:1px solid #59604d;border-radius:6px;background:linear-gradient(120deg,#0b1926df,#101d28e8),url('/images/events/workshops.webp') center/cover;box-shadow:0 5px 12px #0002}.today-duty-item>div{min-width:0;display:grid;gap:3px}.today-duty-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0d69d;font-size:11px}.today-duty-item span{color:#9eacb8;font-size:9px}.today-duty-item time{flex:0 0 auto;color:#f1d08e;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}.rule-panel{background-image:linear-gradient(145deg,#0b1926e3,#091520ec),url('/images/events/dealers.webp');background-position:center;background-size:cover}.my-booking{background-image:linear-gradient(120deg,#0d1b28ed,#0d1b28e8),url('/images/events/cayo-perico.webp');background-position:center;background-size:cover}.my-bookings.empty-state{background-image:linear-gradient(145deg,#0b1926df,#091520e8),url('/images/modals/booking.svg');background-position:center;background-size:cover}.steps-list li{min-height:34px;padding:4px 7px;border:1px solid #ffffff0d;border-radius:5px;background:linear-gradient(90deg,#0b1926b8,#0b1926b8),url('/images/modals/action.svg') center/cover}.side-column .panel{box-shadow:0 12px 32px #0005,inset 0 0 0 1px #ffffff08}.today-duty-date{font-variant-numeric:tabular-nums}
@media(max-width:720px){.today-panel{padding:14px}.today-duty-item{padding:9px}.schedule-panel .hour-row:not(.hour-row-head):not(.end-row){background-position:center}}
.topbar{z-index:5}.account-wrap{z-index:41}.user-menu{z-index:42;pointer-events:auto}.user-menu button{position:relative;z-index:1;cursor:pointer;pointer-events:auto}
@media(max-width:720px){.side-column>.rule-panel{grid-column:1/-1}}

/* Consistent, inset close controls for dialogs and notices. */
.modal{padding-top:42px}
.modal-close{position:absolute;top:14px;right:14px;z-index:4;width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid #536475;border-radius:50%;background:#0b1722e8;color:#c6d0d8;font:22px/1 Arial,sans-serif;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.modal-close:hover,.modal-close:focus-visible{color:#f0cf8a;background:#273342;border-color:#b28a4c;outline:0;transform:scale(1.04)}
.modal .modal-close{z-index:5}
.toast{position:fixed;padding:15px 52px 15px 18px;min-height:52px;display:flex;align-items:center;line-height:1.45}
.toast-close{position:absolute;top:9px;right:9px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px solid #526957;border-radius:50%;background:#0d1c26;color:#c7d8cb;font:20px/1 Arial,sans-serif;transition:background .16s ease,border-color .16s ease,color .16s ease}
.toast-close:hover,.toast-close:focus-visible{background:#23402e;border-color:#93b59a;color:#fff;outline:0}
