:root{--bg:#090b10;--card:#131722;--line:#272d3b;--text:#f8f9fb;--muted:#9ba4b6;--red:#ff365a;--cyan:#48d9ff;--green:#2fe69b;--yellow:#ffc857}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#182137 0,transparent 30%),var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1120px)/2));background:#090b10dd;position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.brand{font-weight:900;letter-spacing:.08em;color:white;text-decoration:none}.brand span{color:var(--red)}nav{display:flex;gap:20px;align-items:center}nav a,.link{color:var(--muted);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}nav form{display:inline}main{max-width:1120px;margin:auto;padding:48px 20px 70px}footer{text-align:center;padding:30px;color:#687084;border-top:1px solid var(--line)}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1;margin:.25rem 0}h2{font-size:1.3rem}.eyebrow{font-size:.75rem;letter-spacing:.22em;color:var(--cyan);font-weight:800}.auth{max-width:470px;margin:5vh auto;background:linear-gradient(145deg,#171c29,#0f121a);padding:40px;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px #0008}.auth p{color:var(--muted)}.stack{display:grid;gap:18px;margin-top:30px}label{font-size:.85rem;color:#c5ccda}input,select,button{font:inherit;border-radius:9px;border:1px solid var(--line);padding:11px 13px;background:#0c0f16;color:white}label input{display:block;width:100%;margin-top:7px}.primary{background:linear-gradient(135deg,var(--red),#d91b77);border:0;font-weight:800;cursor:pointer}.switch{display:block;margin-top:22px;color:var(--cyan)}.pagehead{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.monthnav{display:flex;align-items:center;gap:8px}.monthnav a{font-size:2rem;color:white;text-decoration:none;padding:0 8px}.legend{display:flex;gap:18px;color:var(--muted);font-size:.9rem;margin-bottom:20px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.legend .approved{background:var(--green)}.legend .pending{background:var(--yellow)}.legend .free{background:#626c80}.weekends{display:grid;gap:12px}.night{display:grid;grid-template-columns:110px 1fr;min-height:112px;border:1px solid var(--line);background:var(--card);border-radius:16px;overflow:hidden}.night.approved{border-left:4px solid var(--green)}.night.pending{border-left:4px solid var(--yellow)}.date{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0d1017}.date b{font-size:2.2rem}.date span{color:var(--muted);font-size:.85rem}.booking,.night form{padding:20px 24px}.booking h2{margin:8px 0 2px}.booking p{margin:0;color:var(--muted)}.pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;background:#242a38;padding:4px 8px;border-radius:99px}.inline{display:grid;grid-template-columns:110px 1fr auto;gap:10px;margin-top:10px}.free-title{color:var(--muted);font-weight:700}.flash{padding:13px 16px;border-radius:10px;margin-bottom:20px;background:#202634}.flash.success{border-left:4px solid var(--green)}.flash.error{border-left:4px solid var(--red)}.flash.warning{border-left:4px solid var(--yellow)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:var(--card)}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{color:var(--muted)}.section-title{margin-top:45px}.admincards{display:grid;gap:10px}.admincard{display:grid;grid-template-columns:160px 110px 1fr 140px auto auto;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);padding:13px;border-radius:12px}.admincard div{display:flex;flex-direction:column}.admincard span{color:var(--muted);font-size:.85rem}.danger{color:#ff8096;border-color:#693144;cursor:pointer}@media(max-width:760px){header{height:auto;padding:16px 20px;align-items:flex-start}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}main{padding-top:30px}.pagehead{align-items:flex-start;gap:20px}.night{grid-template-columns:75px 1fr}.inline{grid-template-columns:1fr}.admincard{grid-template-columns:1fr 1fr}.admincard div,.admincard input{grid-column:1/-1}.auth{padding:28px 22px}.monthnav input{width:145px}}

