:root{--bg: #eef2f7;--surface: #ffffff;--surface-2: #f3f7fb;--ink: #1b2433;--ink-soft: #44546a;--ink-faint: #5b6b80;--border: #d4dde7;--border-strong: #b9c6d6;--brand: #2547c4;--brand-ink: #1c3aa8;--brand-soft: #e7ecfb;--brand-line: #c9d4f6;--green: #15803d;--amber: #b45309;--red: #b91c1c;--red-soft: #fbe9e9;--yellow: #eab308;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(20, 33, 61, 0.06), 0 6px 18px rgba(20, 33, 61, 0.06)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;font-weight:400;min-height:100vh}h1,h2,h3,h4{line-height:1.3;margin:0}h1{font-size:26px;font-weight:700}h2{font-size:18px;font-weight:700}h3{font-size:18px;font-weight:600}a{color:var(--brand-ink);text-underline-offset:2px;text-decoration:none}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}.auth,.auth-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;background:var(--bg);flex-wrap:wrap;gap:1.25rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2rem;width:100%;max-width:440px}.auth-card .logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);justify-content:flex-start;margin-bottom:.75rem;max-width:100%}.auth-card .logo .logo-img{height:60px;width:auto;flex-shrink:0;display:block}.auth-card .logo .logo-img.dark{display:none}.auth-card .logo .logo-img.light{display:block}.auth-card h1{text-align:left;margin-bottom:.25rem}.auth-card .subtitle,.auth-card .sub{text-align:left;color:var(--ink-soft);margin-bottom:1.5rem;font-size:14px}.field,.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.1rem;text-align:left}.field label,.form-group label{font-size:14px;font-weight:600;color:var(--ink);text-align:left}.field .hint,.form-group .hint{font-size:14px;color:var(--ink-soft);text-align:left}input[type=text],input[type=password],input[type=email],input[type=search],select{min-height:40px;padding:.5rem .7rem;font-size:16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);width:100%;text-align:left}input:focus,select:focus{outline:3px solid var(--brand);outline-offset:1px}input:disabled,select:disabled{background:var(--surface-2);color:var(--ink-soft);cursor:not-allowed}.btn,.auth-card button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.5rem .9rem;border-radius:var(--radius-sm);font-size:16px;font-weight:600;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;text-decoration:none;width:100%}.btn:hover,.auth-card button:hover{background:var(--brand-ink);border-color:var(--brand-ink)}.btn:disabled,.auth-card button:disabled{background:#e7ecf2;color:var(--ink-soft);border-color:#d4dde7;cursor:not-allowed;opacity:1}.roomlist{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:var(--surface);text-align:left}.roomlist .checkrow{display:flex;align-items:center;gap:.5rem;padding:.45rem .15rem;border-bottom:1px solid var(--border);text-align:left}.roomlist .checkrow:last-child{border-bottom:0}.roomlist .checkrow input[type=radio]{width:auto;min-height:auto;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.roomlist .checkrow label{cursor:pointer;font-weight:500;text-align:left}.roomlist .checkrow .rdesc{color:var(--ink-soft);font-size:14px;text-align:left}fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;margin:0 0 1.1rem;text-align:left}fieldset legend{font-weight:600;font-size:14px;padding:0 .35rem;color:var(--ink);text-align:left}fieldset .hint{display:block;margin-top:.3rem;font-size:14px;color:var(--ink-soft);text-align:left}.loading-rooms{padding:.75rem;text-align:left;color:var(--ink-soft)}.empty-state{padding:.75rem;text-align:left;color:var(--ink-soft)}.empty-state p{margin:0;text-align:left}.empty-state p.error{color:var(--red)}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1.5rem;background:var(--surface-2);color:var(--ink-soft);text-align:left}.empty h3{color:var(--ink);margin-bottom:.35rem;text-align:left}.empty p{text-align:left}.section-purpose{color:var(--ink-soft);font-size:14px;margin:.15rem 0 1rem;text-align:left}.error-message,.alert-message{margin-top:.75rem;padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:14px;text-align:center;display:none}.error-message,.alert-error{background:var(--red-soft);color:var(--red);border:1px solid #e3b9b9;display:block}.alert-success{background:#dcfce7;color:var(--green);border:1px solid #bbf7d0;display:block}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:999px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100;max-width:90%}.toast.show{opacity:1}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.footer{text-align:left;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.footer p{color:var(--ink-soft);font-size:12px;margin:0}.authfoot{text-align:left;color:var(--ink-soft);font-size:14px;margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1rem}@media(max-width: 480px){.auth,.auth-container{padding:1rem}.auth-card{padding:1.25rem}h1{font-size:22px}.auth-card .logo .logo-img{height:48px}}
