*{box-sizing:border-box;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#f3f4f6;color:#111827}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}nav{background:#111827;color:#f9fafb;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}nav .brand{font-weight:700;font-size:1.1rem}nav .nav-right{display:flex;gap:.75rem;align-items:center}main{flex:1;max-width:960px;margin:1.5rem auto;padding:0 1rem 2rem}.card{background:#fff;border-radius:.75rem;box-shadow:0 10px 25px #0000000a;padding:1.25rem 1.5rem;margin-bottom:1rem}.card h2{margin-bottom:.75rem}input,select,button,textarea{font:inherit}input,select,textarea{width:100%;padding:.6rem .7rem;margin-top:.25rem;border-radius:.5rem;border:1px solid #d1d5db;background:#f9fafb}input:focus,select:focus,textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e54d;background:#fff}button{cursor:pointer;border-radius:999px;padding:.5rem 1.2rem;border:none;font-weight:600}button.primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}button.secondary{background:#e5e7eb;color:#111827}button:disabled{opacity:.6;cursor:default}.form-row{margin-bottom:.75rem}.form-row label{font-size:.9rem;font-weight:500}.error{color:#b91c1c;font-size:.85rem;margin-top:.25rem}.link{color:#4f46e5;font-weight:500}.chip{display:inline-flex;padding:.3rem .6rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.75rem;margin-right:.25rem}.rooms-list{display:flex;flex-direction:column;gap:.5rem}.room-item{padding:.6rem .8rem;border-radius:.5rem;background:#f9fafb;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.room-item:hover{border-color:#a5b4fc;background:#eef2ff}.messages{display:flex;flex-direction:column;gap:.5rem;max-height:380px;overflow-y:auto;padding-right:.25rem}.message{padding:.45rem .65rem;border-radius:.5rem;background:#f3f4f6}.message-meta{font-size:.75rem;color:#6b7280}.message-text{font-size:.95rem}.ads-strip{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.ad-card{border-radius:.5rem;border:1px solid #e5e7eb;padding:.5rem .7rem;background:#fdf2f8;font-size:.85rem}
