:root{--bg0: #f8fafc;--bg1: #eef2ff;--card: rgba(255, 255, 255, .96);--card2: rgba(255, 255, 255, .98);--stroke: rgba(15, 23, 42, .1);--stroke2: rgba(15, 23, 42, .16);--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .7);--muted2: rgba(15, 23, 42, .56);--danger: #ff5a6a;--ok: #3fe28c;--accent: #6366f1;--accentHover: #4f46e5;--accent2: #a78bfa;--warn: #f59e0b;--shadow: 0 16px 44px rgba(15, 23, 42, .1);--shadow2: 0 8px 22px rgba(15, 23, 42, .08);--r12: 12px;--r16: 16px;--r22: 22px;--pad: 18px;--focusRing: 0 0 0 4px rgba(99, 102, 241, .18);--sidebarW: 240px;--sidebarBg: linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(30, 41, 59, .96));--sidebarText: rgba(255, 255, 255, .78)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 700px at 18% 6%,#6366f124,#fff0 56%),radial-gradient(900px 600px at 82% 22%,#a78bfa1a,#fff0 56%),linear-gradient(180deg,var(--bg0),rgba(255,255,255,0));font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:.2px}.bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.bg__glow{position:absolute;width:60vw;height:60vw;filter:blur(60px);opacity:.34;border-radius:999px}.bg__glow--a{left:-15vw;top:-20vw;background:#6366f129}.bg__glow--b{right:-15vw;top:-10vw;background:#a78bfa24}.bg__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:multiply}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.crm-layout{display:flex;height:100%;overflow:hidden}.crm-sidebar{width:var(--sidebarW);background:var(--sidebarBg);border-right:1px solid rgba(255,255,255,.08);position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;transform:translate(0);transition:transform .22s ease;z-index:10}.crm-sidebar__head{padding:16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.crm-sidebar__mark{width:34px;height:34px;border-radius:var(--r12);background:linear-gradient(160deg,#6366f1f2,#a78bfad1);box-shadow:0 10px 22px #6366f138}.crm-sidebar__name{color:#ffffffeb;font-size:13px;font-weight:680;letter-spacing:.8px;text-transform:uppercase}.crm-sidebar__close{margin-left:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#ffffffb8;cursor:pointer;padding:6px 8px;border-radius:10px}.crm-sidebar__nav{padding:10px;overflow:auto}.crm-nav__item{display:flex;padding:10px 12px;margin:4px 0;border-radius:12px;color:var(--sidebarText);text-decoration:none;font-weight:650;font-size:13px}.crm-nav__item:hover{background:#ffffff14;color:#ffffffeb}.crm-nav__item--active{background:linear-gradient(160deg,#6366f13d,#a78bfa2e);color:#fffffffa}.crm-content{margin-left:var(--sidebarW);flex:1;display:flex;flex-direction:column;overflow:hidden}.crm-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#f8fafce0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(15,23,42,.08)}.crm-header__left{display:flex;align-items:center;gap:10px}.crm-header__title{font-weight:720;letter-spacing:-.2px}.crm-header__right{display:flex;align-items:center;gap:12px}.crm-header__user{text-align:right}.crm-header__email{font-size:12px;font-weight:650}.crm-header__role{font-size:11px;color:var(--muted2);text-transform:uppercase;letter-spacing:.5px}.crm-header__menu{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--stroke);background:#ffffffb3;padding:8px 10px;border-radius:12px;cursor:pointer}.crm-page{padding:18px;overflow:auto}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--stroke);background:#ffffffbd;color:var(--text);padding:10px 14px;border-radius:999px;font-weight:650;cursor:pointer;transition:transform .14s ease,border-color .14s ease}.btn:hover{transform:translateY(-1px);border-color:var(--stroke2)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{color:#fffffffa;background:linear-gradient(180deg,#6366f1eb,#4f46e5eb);border-color:#6366f157;box-shadow:0 12px 26px #6366f12e}.scard{border:1px solid var(--stroke);border-radius:var(--r16);background:linear-gradient(180deg,var(--card),rgba(255,255,255,.86));box-shadow:var(--shadow2);overflow:hidden}.scard__head{padding:16px 16px 10px;border-bottom:1px solid rgba(15,23,42,.08)}.scard__title{font-weight:720}.scard__desc{margin-top:4px;color:var(--muted);font-size:13px}.scard__body{padding:16px}.tablewrap{overflow:auto;border-radius:14px;border:1px solid rgba(15,23,42,.08)}.table{width:100%;border-collapse:collapse;min-width:520px;background:#ffffffbd}.table th,.table td{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.input{width:100%;padding:10px 12px;border-radius:var(--r12);border:1px solid var(--stroke);background:#ffffffc7;outline:none}.input:focus{border-color:#6366f166;box-shadow:var(--focusRing)}.field__label{font-size:11px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.help{font-size:12px;color:var(--muted2);margin-top:6px}.resource-empty{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:10px 12px;border:1px dashed rgba(99,102,241,.28);border-radius:var(--r12);background:#6366f10a;color:var(--muted2);font-size:12px}.resource-empty>span{flex:1 1 280px}.resource-empty .btn{font-size:12px;padding:7px 10px}.toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r12);border:1px solid rgba(15,23,42,.08);background:#fff9;font-size:13px;font-weight:650;color:#0f172ae0}.status{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#ffffffbd;font-size:12px;font-weight:650}.status--ok{border-color:#3fe28c4d;color:#0f172ae0}.status--bad{border-color:#ff5a6a4d;color:#0f172ae0}.task-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:16px 0}.task-summary .statcard{min-height:72px}.task-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px}.task-filterbar__search{flex:1 1 280px}.task-filterbar__type{flex:0 1 220px}.task-filterbar__result{padding-bottom:10px;font-size:12px}.task-empty{padding:24px 4px 8px}@media(max-width:700px){.task-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}.crm-center{padding:60px 18px;text-align:center;color:var(--muted)}.crm-stack{display:grid;gap:16px}.crm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.crm-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.muted{color:var(--muted)}.h1{margin:0;font-size:18px;font-weight:720}.crm-backdrop{display:none}.hotel-confirmation-field{display:grid;gap:10px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:var(--r16);background:#ffffff94}.hotel-confirmation-field__header,.hotel-confirmation-field__meta,.hotel-confirmation-preview__head,.hotel-confirmation-preview__summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hotel-confirmation-field__status,.hotel-confirmation-preview__pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);font-size:12px;font-weight:650;background:#fffc}.hotel-confirmation-field__status--extracted{border-color:#3fe28c4d}.hotel-confirmation-field__status--override{border-color:#6366f14d}.hotel-confirmation-field__status--missing{border-color:#f59e0b4d}.hotel-confirmation-field__status--conflict{border-color:#ff5a6a4d}.hotel-confirmation-field__source{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:12px}.hotel-confirmation-field__meta-label{font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:var(--muted2)}.hotel-confirmation-field__reset{padding:8px 12px}.hotel-confirmation-preview{min-width:0}.hotel-confirmation-preview__body{display:grid;gap:12px}.hotel-confirmation-preview__framewrap{min-height:720px;border-radius:var(--r16);border:1px solid rgba(15,23,42,.08);overflow:hidden;background:#ffffff9e}.hotel-confirmation-preview__frame{width:100%;min-height:720px;border:0;background:#fff}.hotel-confirmation-preview__empty{min-height:720px;display:grid;place-items:center;color:var(--muted);padding:18px;text-align:center}@media(max-width:860px){.crm-content{margin-left:0}.crm-header__menu{display:inline-flex}.crm-sidebar{transform:translate(-100%)}.crm-sidebar--open{transform:translate(0)}.crm-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:9;opacity:0;pointer-events:none;transition:opacity .22s ease}.crm-backdrop--open{opacity:1;pointer-events:auto}.crm-grid{grid-template-columns:1fr}.hotel-confirmation-preview__framewrap,.hotel-confirmation-preview__frame,.hotel-confirmation-preview__empty{min-height:540px}}.crm-login{min-height:100%;display:grid;place-items:center;padding:18px}.crm-login__card{width:100%;max-width:420px;border:1px solid var(--stroke);border-radius:var(--r22);background:linear-gradient(180deg,var(--card),rgba(255,255,255,.9));box-shadow:var(--shadow);padding:22px;text-align:center}.crm-login__mark{width:56px;height:56px;border-radius:var(--r16);margin:0 auto 14px;background:linear-gradient(160deg,#6366f1f2,#a78bfad1);box-shadow:0 12px 32px #6366f138}.crm-login__title{margin:0;font-size:22px;font-weight:720;letter-spacing:-.2px}.crm-login__sub{margin:8px 0 16px;color:var(--muted)}.crm-login__help{margin-top:14px;color:var(--muted2);font-size:12px}.crm-login__error{margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,90,106,.3);background:#ff5a6a14;color:#0f172aeb;font-size:12px}.hotel-confirmations-page{gap:18px}.hotel-confirmations-search__form,.hotel-confirmations-search__field,.hotel-confirmations-results,.hotel-confirmations-source,.hotel-confirmations-fields,.hotel-confirmations-rooms,.hotel-confirmations-roompanel{display:grid;gap:14px}.hotel-confirmations-search__form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.hotel-confirmations-results{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:16px}.hotel-confirmations-result{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;gap:6px;text-align:left;padding:14px;border-radius:var(--r16);border:1px solid rgba(15,23,42,.08);background:#ffffffad;cursor:pointer}.hotel-confirmations-result:hover,.hotel-confirmations-result:focus-visible{border-color:#6366f157;box-shadow:var(--focusRing);outline:none}.hotel-confirmations-result--active{border-color:#6366f157;background:#6366f114}.hotel-confirmations-result__title{font-weight:680}.hotel-confirmations-result__meta{font-size:12px;color:var(--muted)}.hotel-confirmations-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}.hotel-confirmations-editor{display:grid;gap:18px;min-width:0}.hotel-confirmations-source{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.hotel-confirmations-workspace{grid-template-columns:1fr}}@media(max-width:700px){.hotel-confirmations-search__form,.hotel-confirmations-source{grid-template-columns:1fr}}.page-header{display:grid;gap:10px}.page-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-header__sub{margin-top:4px;font-size:13px;color:var(--muted)}.page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r12);border:1px solid var(--stroke);background:#ffffffbd}.notice__label{flex:0 0 auto;font-size:11px;font-weight:720;letter-spacing:.6px;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--stroke);background:#ffffffd1;color:#0f172aeb}.notice__msg{font-size:13px;line-height:1.45;color:var(--text)}.notice--info{border-color:#6366f13d;background:#6366f10f}.notice--info .notice__label{border-color:#6366f13d;background:#ffffffd6}.notice--success{border-color:#3fe28c4d;background:#3fe28c14}.notice--success .notice__label{border-color:#3fe28c4d}.notice--warning{border-color:#f59e0b4d;background:#f59e0b14}.notice--warning .notice__label{border-color:#f59e0b4d}.notice--error{border-color:#ff5a6a4d;background:#ff5a6a14}.notice--error .notice__label{border-color:#ff5a6a4d}.tabbar{display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid rgba(15,23,42,.1)}.tabbar__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:10px 2px;cursor:pointer;font-size:13px;font-weight:650;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}.tabbar__item:hover{color:var(--text)}.tabbar__item--active{color:var(--text);border-bottom-color:var(--accent)}.tabbar__item:focus{outline:none;box-shadow:inset 0 -3px 0 0 var(--accent)}.tabbar__item:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}@media(max-width:860px){.grid{grid-template-columns:1fr}}.statcard{border:1px solid var(--stroke);border-radius:var(--r16);background:linear-gradient(180deg,var(--card),rgba(255,255,255,.86));box-shadow:var(--shadow2);padding:14px;display:grid;gap:8px}.statcard__label{font-size:11px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.statcard__value{font-size:13px;font-weight:650}.bot-selector{display:flex;gap:12px;overflow-x:auto;padding:2px;margin:-2px}.bot-card{min-width:180px;padding:16px;border-radius:var(--r16);border:1px solid var(--stroke);background:var(--card);box-shadow:var(--shadow2);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;display:grid;gap:10px}.bot-card:hover{transform:translateY(-2px);border-color:var(--stroke2);box-shadow:0 12px 32px #0f172a1f}.bot-card:focus{outline:none;box-shadow:var(--focusRing),var(--shadow2)}.bot-card--selected{border:2px solid var(--accent);box-shadow:0 0 0 4px #6366f114,var(--shadow2)}.bot-card--empty{border:2px dashed var(--stroke2);background:transparent;box-shadow:none;opacity:.72}.bot-card--empty:hover{opacity:1;transform:none;border-color:var(--accent);background:#6366f10a}.bot-card__icon{width:42px;height:42px;border-radius:var(--r12);background:linear-gradient(160deg,#6366f124,#a78bfa1a);display:grid;place-items:center;font-weight:720;font-size:16px;color:#0f172ae6}.bot-card__name{font-size:14px;font-weight:680}.bot-card__desc{font-size:12px;color:var(--muted2)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--stroke);font-size:11px;font-weight:650;letter-spacing:.4px;text-transform:uppercase}.status-pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill--active{color:var(--ok);border-color:#3fe28c4d;background:#3fe28c14}.status-pill--pending{color:var(--warn);border-color:#f59e0b4d;background:#f59e0b14}.status-pill--error{color:var(--danger);border-color:#ff5a6a4d;background:#ff5a6a14}.bot-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid rgba(15,23,42,.08)}.bot-detail-header__left{display:flex;align-items:center;gap:12px}.bot-detail-header__name{font-size:16px;font-weight:720;letter-spacing:-.2px}.bot-detail-header__right{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.config-card{border:1px solid var(--stroke);border-radius:var(--r12);background:#fff9;padding:14px;display:grid;gap:8px}.config-card__label{font-size:11px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.config-card__value{font-size:13px;font-weight:600}.command-item{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r12);border:1px solid var(--stroke);background:#fff9}.command-item__desc{font-size:12px;color:var(--muted2)}@media(prefers-reduced-motion:reduce){.bot-card{transition:none}.bot-card:hover{transform:none}}
