*,*:before,*:after{box-sizing:border-box}html,body{height:100%;height:100dvh;margin:0}body{background:#e8e4dd;color:#23211e;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}.viewer-labels{position:absolute;inset:0;pointer-events:none}.room-label{display:flex;flex-direction:column;align-items:center;padding:3px 8px;border-radius:6px;background:#fcfbf8d1;box-shadow:0 1px 3px #23211e2e;white-space:nowrap;transition:background .15s ease,transform .15s ease}.room-label.selected{background:#d9822b;color:#fff}.room-label.selected .room-label__meta{color:#ffffffd9}.room-label__name{font-size:12px;font-weight:600}.room-label__meta{font-size:11px;color:#6a655d;font-variant-numeric:tabular-nums}a{color:#4c5f51}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 14px;border:1px solid #cfc8bc;border-radius:6px;background:#fcfbf8;font-size:13px;font-weight:500;color:#23211e;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:#f1eee8}.btn:disabled{opacity:.55;cursor:default}.btn--primary{border-color:#4c5f51;background:#4c5f51;color:#fff}.btn--primary:hover:not(:disabled){background:color-mix(in srgb,#4c5f51 85%,black)}.btn--ghost{border-color:transparent;background:transparent;color:#6a655d}.btn--danger{color:#b3261e}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:12px;font-weight:600;color:#6a655d}.field__hint{font-size:12px;color:#9a948a}.input{width:100%;padding:8px 10px;border:1px solid #cfc8bc;border-radius:6px;background:#fff;font-size:14px}.input:focus{outline:2px solid color-mix(in srgb,#4c5f51 35%,transparent);border-color:#4c5f51}.form-error{margin:0;padding:8px 12px;border-radius:6px;background:color-mix(in srgb,#b3261e 8%,white);font-size:13px;color:#b3261e}.page{max-width:960px;margin:0 auto;padding:32px 16px 48px}.page__title{margin:0 0 20px;font-size:22px;font-weight:650;letter-spacing:-.01em}.card{padding:20px;border:1px solid #e2ddd4;border-radius:14px;background:#fcfbf8}.card+.card{margin-top:16px}.card__title{margin:0 0 16px;font-size:14px;font-weight:650}.page--narrow{max-width:520px}.form{display:flex;flex-direction:column;gap:14px}.form__actions{display:flex;justify-content:flex-end;gap:8px}.page__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.page__header .page__title{margin:0}
