:root{--ink:#10213e;--muted:#64748b;--line:#dbe4f0;--blue:#1769e0;--bg:#f4f7fb;--green:#22c55e;--red:#ef4444;--yellow:#f59e0b;--gray:#94a3b8}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.wrap{width:min(1450px,calc(100% - 32px));margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1769e0,#6d28d9);color:#fff;display:grid;place-items:center;font-weight:900}.brand strong{display:block}.brand small{display:block;color:var(--muted);margin-top:2px}.admin-link{text-decoration:none;color:#fff;background:var(--ink);padding:11px 16px;border-radius:10px;font-weight:700}.page{padding:30px 0 55px}.hero{padding:8px 2px 24px}.hero h1{margin:8px 0 8px;font-size:clamp(28px,4vw,48px);line-height:1.08;max-width:820px}.hero p{margin:0;color:var(--muted);font-size:18px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--blue)}.filters{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;box-shadow:0 8px 30px rgba(15,23,42,.05)}.filters label{font-size:12px;font-weight:800;color:var(--muted)}.filters input,.filters select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--ink)}.room-search{align-self:end;height:43px}.legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:16px 2px;color:var(--muted);font-size:14px}.legend span{display:flex;align-items:center;gap:7px}.legend strong{margin-left:auto;color:var(--ink)}.dot{width:11px;height:11px;border-radius:50%;display:inline-block}.dot.available{background:var(--green)}.dot.occupied{background:var(--red)}.dot.reserved{background:var(--yellow)}.dot.maintenance{background:var(--gray)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;align-items:start}.map-card,.detail-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 35px rgba(15,23,42,.06)}.map-card{padding:18px}.map-head h2{margin:0 0 4px}.map-head p{margin:0;color:var(--muted)}.room-map{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:10px;max-height:580px;overflow:auto;padding:3px 8px 8px 3px;scrollbar-color:#cbd5e1 transparent}.room-seat{height:56px;border:0;border-radius:13px;color:#fff;font-weight:900;font-size:15px;cursor:pointer;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12),0 3px 8px rgba(15,23,42,.12);transition:.16s transform,.16s box-shadow,.16s opacity;position:relative}.room-seat:hover{transform:translateY(-3px);box-shadow:inset 0 -3px 0 rgba(0,0,0,.10),0 9px 18px rgba(15,23,42,.18)}.room-seat.active{outline:4px solid rgba(23,105,224,.22);transform:translateY(-2px)}.room-seat.available{background:linear-gradient(145deg,#33d26f,#16a34a)}.room-seat.occupied{background:linear-gradient(145deg,#ff6262,#dc2626)}.room-seat.reserved{background:linear-gradient(145deg,#ffc13c,#e58a00)}.room-seat.maintenance{background:linear-gradient(145deg,#a8b3c3,#64748b)}.room-seat[hidden]{display:none}.detail-card{position:sticky;top:90px;overflow:hidden}.detail-image-wrap{height:215px;position:relative;background:#e2e8f0}.detail-image-wrap img{width:100%;height:100%;object-fit:cover}.status-pill{position:absolute;right:14px;top:14px;padding:7px 11px;border-radius:999px;color:#fff;font-size:12px;font-weight:900}.status-pill.available{background:var(--green)}.status-pill.occupied{background:var(--red)}.status-pill.reserved{background:var(--yellow)}.status-pill.maintenance{background:var(--gray)}.detail-body{padding:20px}.detail-title{display:flex;justify-content:space-between;gap:15px;align-items:end}.detail-title small{color:var(--muted);font-weight:800}.detail-title h2{margin:4px 0 0}.detail-title strong{font-size:22px;color:var(--blue);white-space:nowrap}.detail-body>p{color:var(--muted);line-height:1.55}.meta{display:flex;gap:8px;margin:15px 0}.meta span{background:#eff6ff;color:#1d4ed8;border-radius:9px;padding:8px 10px;font-size:13px;font-weight:800}.features{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0 20px}.features span{font-size:13px;color:#334155}.select-btn{width:100%;border:0;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;padding:14px;border-radius:12px;font-weight:900;cursor:pointer}.select-btn:disabled{background:#cbd5e1;cursor:not-allowed}.hint{font-size:12px;text-align:center;margin-bottom:0!important}.modal{position:fixed;inset:0;background:rgba(15,23,42,.58);display:none;place-items:center;padding:20px;z-index:30}.modal.open{display:grid}.modal-box{background:#fff;width:min(500px,100%);border-radius:20px;padding:24px;position:relative}.modal-close{position:absolute;right:13px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.modal-box label{display:block;font-size:13px;font-weight:800;margin-top:12px}.modal-box input,.modal-box textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:5px}.modal-box .select-btn{margin-top:16px}#formMessage{margin-top:12px;font-weight:800}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.detail-card{position:static}.filters{grid-template-columns:repeat(2,1fr)}.room-search{grid-column:1/-1}.room-map{max-height:460px}.detail-card{display:grid;grid-template-columns:300px 1fr}.detail-image-wrap{height:100%}}
@media(max-width:650px){.wrap{width:min(100% - 18px,1450px)}.admin-link{padding:9px 11px;font-size:13px}.brand small{display:none}.page{padding-top:20px}.filters{grid-template-columns:1fr 1fr;padding:10px}.room-map{grid-template-columns:repeat(5,1fr);gap:7px;max-height:390px}.room-seat{height:48px;font-size:13px;border-radius:10px}.detail-card{display:block}.detail-image-wrap{height:190px}.features{grid-template-columns:1fr 1fr}.legend{gap:10px}.legend strong{width:100%;margin:0}.hero p{font-size:15px}}
