:root{--office-gold:#f3d21b;--office-bg:#050505;--office-panel:#101010;--office-line:rgba(243,210,27,.16);--office-muted:#a7a7aa;--office-green:#5bd69b;--office-red:#ff7b7b}
*{box-sizing:border-box}
html{background:var(--office-bg);scroll-behavior:smooth}
body.office-page{margin:0;min-height:100vh;background:linear-gradient(145deg,rgba(243,210,27,.045),transparent 32%),#050505;color:#fff;font-family:Arial,sans-serif}
.office-shell{width:min(1420px,100%);margin:0 auto;padding:22px}
.office-nav{position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid var(--office-line);border-radius:8px;background:rgba(5,5,5,.9);backdrop-filter:blur(16px)}
.office-brand{color:var(--office-gold);font-size:21px;font-weight:950;text-decoration:none}.office-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.office-links a{color:#eee;text-decoration:none;font-size:14px;font-weight:850}.office-links a:hover,.office-links a.active{color:var(--office-gold)}
.office-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:54px 8px 34px;border-bottom:1px solid var(--office-line)}
.office-head h1{max-width:830px;margin:10px 0 14px;font-size:clamp(40px,5vw,70px);line-height:.98;letter-spacing:0}.office-head h1 span{color:var(--office-gold)}.office-head p{max-width:780px;margin:0;color:#d0d0d2;font-size:16px;line-height:1.65}
.office-kicker{color:var(--office-gold);font-size:12px;font-weight:950;text-transform:uppercase}
.office-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;padding:28px 0}.office-main,.booking-panel,.my-bookings{border:1px solid var(--office-line);border-radius:8px;background:linear-gradient(180deg,rgba(18,18,18,.94),rgba(8,8,8,.98))}.office-main,.my-bookings{padding:26px}.booking-panel{position:sticky;top:92px;align-self:start;padding:24px}.office-main h2,.booking-panel h2,.my-bookings h2{margin:8px 0 0;font-size:28px;letter-spacing:0}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.icon-refresh{width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#0b0b0b;color:#fff;font-size:21px;cursor:pointer}.icon-refresh:hover{border-color:var(--office-gold);color:var(--office-gold)}
.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.slot-card{display:grid;gap:14px;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.025);transition:border-color .2s ease,transform .2s ease}.slot-card:hover{border-color:rgba(243,210,27,.35);transform:translateY(-2px)}.slot-card.is-full{opacity:.58}.slot-date{display:flex;justify-content:space-between;gap:12px}.slot-date strong{font-size:19px}.slot-date span{color:var(--office-gold);font-size:12px;font-weight:900}.slot-card p{margin:0;color:#c6c6c8;line-height:1.5}.slot-meta{display:flex;gap:8px;flex-wrap:wrap}.slot-meta span{padding:6px 9px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#aaa;font-size:11px;font-weight:800}
.office-form{display:grid;gap:14px;margin-top:20px}.office-form label{display:grid;gap:7px}.office-form label>span{color:#ddd;font-size:12px;font-weight:900}.office-form input,.office-form select,.office-form textarea{width:100%;min-height:49px;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#090909;color:#fff;font:700 14px Arial,sans-serif;outline:none}.office-form textarea{min-height:112px;resize:vertical}.office-form input:focus,.office-form select:focus,.office-form textarea:focus{border-color:rgba(243,210,27,.55);box-shadow:0 0 0 3px rgba(243,210,27,.07)}.consent-row{grid-template-columns:19px 1fr!important;align-items:start}.consent-row input{width:18px!important;min-height:18px!important;accent-color:var(--office-gold)}.consent-row span{color:#aaa!important;line-height:1.45}
.office-btn{min-height:46px;padding:0 18px;border:1px solid rgba(255,255,255,.14);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:900;text-decoration:none;cursor:pointer}.office-btn.primary{border-color:var(--office-gold);background:var(--office-gold);color:#111}.office-btn:hover{transform:translateY(-1px)}.office-btn:disabled{opacity:.5;cursor:wait;transform:none}.office-btn.small{min-height:38px;padding:0 13px;font-size:12px}
.office-status,.office-empty{margin-top:16px;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:var(--office-muted);font-size:13px;line-height:1.5}.office-status.good{border-color:rgba(91,214,155,.3);color:#8be8bb}.office-status.error{border-color:rgba(255,123,123,.3);color:#ff9c9c}
.my-bookings{padding:26px;margin-bottom:24px}.booking-list{display:grid;gap:11px;margin-top:20px}.booking-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.022)}.booking-item h3{margin:0 0 6px;font-size:18px}.booking-item p{margin:0;color:#aaa;font-size:13px;line-height:1.5}.booking-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.office-footer{padding:20px;text-align:center;border-top:1px solid var(--office-line);color:#888;font-size:12px;line-height:1.6}
@media(max-width:960px){.office-layout{grid-template-columns:1fr}.booking-panel{position:relative;top:0}.slot-grid{grid-template-columns:1fr}.office-head{align-items:flex-start;flex-direction:column}.office-links a:nth-child(n+4){display:none}}
@media(max-width:620px){.office-shell{padding:12px}.office-nav{position:relative;top:0;align-items:flex-start}.office-links{gap:11px}.office-head{padding:36px 4px 24px}.office-head h1{font-size:42px}.office-main,.booking-panel,.my-bookings{padding:18px}.section-heading-row,.booking-item{align-items:flex-start;grid-template-columns:1fr;display:grid}.booking-actions{justify-content:flex-start}.office-btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slot-card,.office-btn{transition:none;transform:none!important}}

