:root {
  --bg: #07111a;
  --bg-soft: #0e1b2a;
  --panel: rgba(255,255,255,.82);
  --panel-dark: #0f1726;
  --stroke: rgba(15,23,38,.08);
  --text: #0f1726;
  --muted: #5c6b80;
  --primary: #0ea5a4;
  --primary-2: #7c3aed;
  --danger: #dc2626;
  --success: #0f9f6e;
  --shadow: 0 24px 60px rgba(5,16,31,.12);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--text);background:linear-gradient(180deg,#eef6ff 0%,#f9fbfe 60%,#eef4f9 100%)} a{text-decoration:none;color:inherit} button,input,textarea,select{font:inherit}
.container{width:min(1240px,92vw);margin:0 auto}.page-shell{padding:30px 0 56px}.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,38,.06)}.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.1rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav a,.nav form{display:flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:16px;border:1px solid transparent;cursor:pointer;transition:.2s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 18px 40px rgba(45,114,255,.2)}.btn-secondary{background:#fff;border-color:rgba(15,23,38,.08);color:var(--text)}.btn-danger{background:rgba(220,38,38,.1);color:var(--danger);border-color:rgba(220,38,38,.15)}
.hero-panel,.feature-card,.metric-card{background:var(--panel);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);border-radius:32px}.hero-panel{padding:32px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.hero-copy h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.3rem 0 1rem}.hero-copy p{font-size:1.08rem;color:var(--muted);max-width:58ch}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metric-card{padding:24px;min-height:140px;display:flex;flex-direction:column;justify-content:center;gap:10px}.metric-card strong{font-size:2.3rem}.metric-card.dark{background:linear-gradient(135deg,#08111a,#111a29);color:#fff;border-color:rgba(255,255,255,.08)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-weight:700;font-size:.77rem}.muted{color:var(--muted)}.section-grid{display:grid;gap:20px;margin-top:22px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.list-stack{display:grid;gap:12px}.directory-item,.request-card,.room-btn{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-radius:20px;background:#fff;border:1px solid var(--stroke)}.room-btn{width:100%;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;background:rgba(14,165,164,.1);color:#0a6f6d;font-weight:700;font-size:.8rem}.pill.small{padding:5px 10px;font-size:.74rem}.steps{display:grid;gap:12px;padding-left:20px}.steps.bullets{padding-left:18px}.auth-shell{display:grid;place-items:center;min-height:72vh}.auth-card{width:min(760px,100%)}.stack-lg{display:grid;gap:16px}.grid-2,.grid-3{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.compact{gap:12px}.grow{flex:1}.span-2{grid-column:span 2}label{display:grid;gap:8px;font-weight:600}input,textarea,select{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--stroke);background:#fff;color:var(--text)}textarea{min-height:120px;resize:vertical}.otp-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.otp-box,.alert,.output-card{padding:14px 16px;border-radius:18px;background:#f8fbff;border:1px solid rgba(15,23,38,.07)}.alert.error{background:rgba(220,38,38,.08);color:#8a1c1c;border-color:rgba(220,38,38,.12)}.alert.success{background:rgba(15,159,110,.08);color:#0d6b4b;border-color:rgba(15,159,110,.12)}.hidden{display:none !important}.recommend-grid{display:grid;gap:14px}.recommend-card{display:grid;grid-template-columns:110px 1fr auto;gap:18px;padding:18px;border-radius:24px;background:#fff;border:1px solid var(--stroke)}.recommend-card img,.avatar-square{width:110px;height:110px;border-radius:22px;object-fit:cover;background:linear-gradient(135deg,#dcecff,#f1e7ff)}.recommend-meta{display:grid;gap:8px}.recommend-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.top-gap{margin-top:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:24px;overflow:hidden}th,td{padding:14px 16px;border-bottom:1px solid var(--stroke);text-align:left}th{color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.06em}.chat-shell{display:grid;grid-template-columns:340px 1fr;gap:20px}.messages{min-height:420px;max-height:65vh;overflow:auto;display:grid;gap:10px;padding:12px;background:#fff;border:1px solid var(--stroke);border-radius:22px}.msg{padding:12px 14px;border-radius:16px;background:#eff7ff;max-width:min(75%,720px)}.msg.self{margin-left:auto;background:#eafbf9}.chat-form{display:flex;gap:12px;margin-top:12px}.chat-form input{flex:1}.row-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width: 980px){.hero-panel,.cols-2,.cols-3,.chat-shell,.grid-2,.grid-3,.recommend-card{grid-template-columns:1fr}.nav-row{flex-direction:column;align-items:flex-start}.hero-copy p{max-width:none}.span-2{grid-column:auto}.otp-actions{align-items:stretch}.recommend-card img,.avatar-square{width:100%;height:220px}}
body[data-device="mobile"] .nav{width:100%;justify-content:space-between} body[data-device="mobile"] .hero-copy h1{font-size:2.3rem}
