:root{--navy-900: #0b1430;--navy-800: #0f1b3d;--navy-700: #16264f;--indigo: #3b5bdb;--indigo-600: #4263eb;--indigo-50: #edf0ff;--gold: #d4a23a;--gold-soft: #f6ebd2;--bg: #f4f6fb;--surface: #ffffff;--surface-2: #fafbfe;--hover: #f6f8ff;--line: #e6e9f2;--line-strong: #d3d8e6;--text: #1b2236;--muted: #6b7490;--muted-2: #9aa2ba;--info-card-bg: #f7f9ff;--info-card-line: #dde4ff;--pill-bg: #eceff6;--success: #1c9c63;--success-bg: #e3f6ec;--warn: #c7891b;--warn-bg: #fbf0d8;--danger: #d63a4e;--danger-bg: #fbe4e7;--info: #2b77c4;--info-bg: #e3f0fb;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(16, 25, 60, .06), 0 1px 3px rgba(16, 25, 60, .08);--shadow: 0 4px 16px rgba(16, 25, 60, .08);--shadow-lg: 0 18px 50px rgba(11, 20, 48, .22);--sidebar-w: 248px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4{margin:0;font-weight:700;color:var(--text);letter-spacing:-.01em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cfd5e6;border-radius:8px;border:2px solid var(--bg)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#cfd6ee;position:fixed;inset:0 auto 0 0;height:100vh;display:flex;flex-direction:column;z-index:40;transition:transform .25s ease}.sidebar__brand{display:flex;align-items:center;gap:11px;padding:20px 20px 18px}.sidebar__logo{width:38px;height:38px;flex-shrink:0;display:block}.sidebar__brand b{color:#fff;font-size:15px;line-height:1.1;display:block}.sidebar__brand span{color:var(--muted-2);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.sidebar__nav{flex:1;overflow-y:auto;padding:6px 12px 18px}.nav-section{color:#6f79a0;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px 12px 6px}.nav-link{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:#c2cae6;font-weight:500;margin:2px 0;cursor:pointer;transition:.15s;position:relative}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:var(--indigo);color:#fff;box-shadow:0 6px 16px #3b5bdb66}.nav-link svg{width:18px;height:18px;flex-shrink:0;opacity:.92}.sidebar__foot{padding:14px 16px;border-top:1px solid rgba(255,255,255,.07)}.main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column;transition:margin-left .2s ease}.sidebar{transition:width .2s ease,transform .25s ease}.sidebar-toggle{background:none;border:1px solid var(--line);color:var(--text);width:36px;height:36px;border-radius:9px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{background:var(--hover)}.app-shell.sidebar-collapsed{--sidebar-w: 76px}.sidebar-collapsed .sidebar__brand{justify-content:center;padding:20px 0 18px}.sidebar-collapsed .sidebar__brand>div,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-parent .caret,.sidebar-collapsed .nav-sub,.sidebar-collapsed .sidebar__foot span{display:none}.sidebar-collapsed .nav-link,.sidebar-collapsed .nav-parent{justify-content:center;padding-left:0;padding-right:0;gap:0}.sidebar-collapsed .sidebar__foot{display:flex;justify-content:center}.sidebar-collapsed .nav-section{font-size:0;padding:6px 18px}.sidebar-collapsed .nav-section:after{content:"";display:block;height:1px;background:#ffffff14}.topbar{height:62px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:30}.topbar__title{font-size:17px;font-weight:700}.topbar__sub{color:var(--muted);font-size:12.5px;margin-top:1px}.topbar__spacer{flex:1}.page{padding:24px;max-width:1320px;width:100%;margin:0 auto}.page--wide{max-width:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h2{font-size:20px}.page-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--text);padding:6px}.sidebar__backdrop{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap;background:var(--indigo);color:#fff}.btn:hover{background:var(--indigo-600)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--hover)}.btn--subtle{background:var(--indigo-50);color:var(--indigo)}.btn--subtle:hover{background:#e0e6ff}.btn--gold{background:var(--gold);color:#2a1c02}.btn--gold:hover{background:#c4942f}.btn--success{background:var(--success)}.btn--success:hover{background:#178453}.btn--danger{background:var(--danger)}.btn--danger:hover{background:#c02b3f}.btn--sm{padding:6px 11px;font-size:12.5px}.btn--block{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card__head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.card__head h3{font-size:15px}.card__body{padding:18px}.card__body--tight{padding:0}.grid{display:grid;gap:16px}.grid--stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stat__label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat__value{font-size:20px;font-weight:800;margin-top:8px;letter-spacing:-.02em;overflow-wrap:anywhere}.stat__foot{color:var(--muted);font-size:12px;margin-top:4px}.stat__icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.stat__icon svg{width:19px;height:19px}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;padding:11px 16px;color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--hover)}.tbl tr.clickable{cursor:pointer}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl .mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em;background:#eef1f7;color:var(--muted);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge--success{background:var(--success-bg);color:#14794c}.badge--warn{background:var(--warn-bg);color:#9a6a13}.badge--danger{background:var(--danger-bg);color:#b32b3d}.badge--info{background:var(--info-bg);color:#245e9c}.badge--indigo{background:var(--indigo-50);color:var(--indigo)}.badge--plain:before{display:none}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:600;color:#404a66;margin-bottom:6px}.field label .req{color:var(--danger)}.input,.select,textarea.input{width:100%;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);color:var(--text);transition:.15s;font-family:inherit}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px #3b5bdb24}.input::placeholder{color:var(--muted-2)}.field__error{color:var(--danger);font-size:12px;margin-top:5px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13px;line-height:1.2;font-family:inherit;transition:border-color .15s,background .15s,color .15s}.chip:hover:not(:disabled){border-color:var(--indigo)}.chip.active{background:var(--indigo-50);border-color:var(--indigo);color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.chip:disabled{opacity:.5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row--3{grid-template-columns:1fr 1fr 1fr}.checkbox{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{width:16px;height:16px;accent-color:var(--indigo)}.searchbar{position:relative}.searchbar svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted-2)}.searchbar .input{padding-left:34px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b143080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;z-index:60;animation:fade .15s ease}.modal{margin:auto;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;animation:pop .18s ease}.modal--lg{width:min(820px,calc(100vw - 32px))}.drawer{margin:0 0 0 auto;height:100vh;width:min(560px,100vw);border-radius:0;animation:slide .22s ease;max-height:100vh}.modal__head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.modal__head h3{font-size:17px}.modal__close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;border-radius:8px}.modal__close:hover{background:var(--hover);color:var(--text)}.modal__body{padding:20px 22px;overflow-y:auto}.modal__foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes slide{0%{transform:translate(100%)}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.tab{padding:9px 14px;cursor:pointer;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:13.5px}.tab:hover{color:var(--text)}.tab.active{color:var(--indigo);border-bottom-color:var(--indigo)}.toast-wrap{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:90}.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--indigo);box-shadow:var(--shadow-lg);border-radius:10px;padding:12px 16px;min-width:270px;max-width:380px;display:flex;gap:10px;align-items:flex-start;animation:pop .18s ease}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast b{display:block;font-size:13.5px}.toast p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.spinner{width:22px;height:22px;border:2.5px solid var(--indigo-50);border-top-color:var(--indigo);border-radius:50%;animation:spin .7s linear infinite}.spinner--lg{width:34px;height:34px}@keyframes spin{to{transform:rotate(360deg)}}.center-load{display:grid;place-items:center;padding:60px}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty svg{width:44px;height:44px;opacity:.35;margin-bottom:12px}.empty h4{color:var(--text);margin-bottom:4px}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:10px}.row--wrap{flex-wrap:wrap}.spacer{flex:1}.mono{font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums;font-weight:600}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.divider{height:1px;background:var(--line);margin:16px 0}.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.kv:last-child{border-bottom:none}.kv span{color:var(--muted)}.kv b{font-variant-numeric:tabular-nums}.pill-tabs{display:inline-flex;background:var(--pill-bg);border-radius:10px;padding:4px;gap:4px;flex-wrap:wrap}.pill-tabs button{border:none;background:none;padding:7px 16px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--muted);font-size:13px}.pill-tabs button.active{background:var(--surface);color:var(--indigo);box-shadow:var(--shadow-sm)}.pill-tabs--fill{display:flex;width:100%}.pill-tabs--fill button{flex:1;text-align:center;padding:7px 6px;font-size:12.5px;white-space:nowrap}.info-card{background:var(--info-card-bg);border:1px solid var(--info-card-line);border-radius:var(--radius)}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.room-tile{border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--surface);cursor:pointer;transition:.15s;overflow:hidden}.room-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.room-tile b{font-size:17px}.room-tile .room-class{color:var(--muted);font-size:12px;margin-top:1px;line-height:1.3}.room-tile .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.room-tile.AVAILABLE{border-left:4px solid var(--success)}.room-tile.OCCUPIED{border-left:4px solid var(--danger)}.room-tile.CLEANING{border-left:4px solid var(--warn)}.room-tile.MAINTENANCE{border-left:4px solid var(--muted)}.room-tile.BLOCKED{border-left:4px solid var(--navy-700)}.room-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:176px;overflow-y:auto;padding:2px}.room-pick__tile{display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--surface);transition:.15s}.room-pick__tile:hover{border-color:var(--indigo)}.room-pick__tile b{font-size:15px;color:var(--text)}.room-pick__tile span{color:var(--muted);font-size:11.5px}.room-pick__tile.selected{border-color:var(--indigo);background:var(--indigo-50);box-shadow:inset 0 0 0 1px var(--indigo)}.pos{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.pos-main{display:flex;flex-direction:column;gap:16px;min-width:0}.pos-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px}.prod-card{position:relative;display:flex;flex-direction:column;gap:7px;min-height:122px;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface);cursor:pointer;transition:.15s;text-align:left}.prod-card:hover{border-color:var(--indigo);box-shadow:var(--shadow);transform:translateY(-2px)}.prod-card:active{transform:translateY(0)}.prod-card b{display:block;font-size:13.5px;line-height:1.3;color:var(--text)}.prod-card .price{color:var(--indigo);font-weight:800;font-size:14.5px;margin-top:auto}.prod-card .cat{align-self:flex-start;background:var(--pill-bg);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:6px}.prod-card.in-cart{border-color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.prod-card__badge{position:absolute;top:8px;right:8px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--indigo);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;transition:.12s}.prod-card__badge--add{background:var(--surface);color:var(--muted-2);font-size:15px;line-height:1;box-shadow:inset 0 0 0 1px var(--line-strong)}.prod-card:hover .prod-card__badge--add{color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.cart{position:sticky;top:78px}.cart-line{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.cart-line__info{flex:1;min-width:0}.cart-line__name{font-weight:600;font-size:13px;line-height:1.3}.cart-line__meta{font-size:12px}.cart-qty{flex:none;display:inline-flex;align-items:center;gap:6px}.cart-qty__n{width:20px;text-align:center;font-variant-numeric:tabular-nums}.cart-line__amt{flex:none;min-width:96px;text-align:right;white-space:nowrap}.qtybtn{width:24px;height:24px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;transition:.12s}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.table-chip{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:46px;padding:8px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);cursor:pointer;text-align:left;transition:.12s}.table-chip:hover{border-color:var(--indigo)}.table-chip.active{border-color:var(--indigo);background:var(--indigo-50);box-shadow:inset 0 0 0 1px var(--indigo)}.table-chip--busy{opacity:.55}.table-chip__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.table-chip__name{font-weight:700;font-size:12.5px;color:var(--text)}.table-chip__loc{font-size:10.5px;color:var(--muted);line-height:1.1}.table-chip__dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted-2)}.dot--success{background:var(--success)}.dot--danger{background:var(--danger)}.dot--indigo{background:var(--indigo)}.dot--warn{background:var(--warn)}.dot--info{background:var(--info)}.qtybtn:hover{border-color:var(--indigo);color:var(--indigo);background:var(--hover)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:linear-gradient(150deg,var(--navy-800),var(--navy-900) 70%);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(212,162,58,.22),transparent 65%);right:-120px;bottom:-120px}.login-art__logo{width:60px;height:60px;display:block}.login-art h1{color:#fff;font-size:32px;line-height:1.15;max-width:420px}.login-art p{color:#aab4d6;max-width:420px;line-height:1.6}.login-feature{display:flex;gap:11px;align-items:center;color:#cdd5ee;margin:9px 0;font-size:13.5px}.login-feature svg{width:18px;height:18px;color:var(--gold)}.login-form-side{display:grid;place-items:center;padding:40px}.login-card{width:min(380px,100%)}.login-card h2{font-size:23px}.demo-creds{background:var(--indigo-50);border:1px solid #d8e0ff;border-radius:10px;padding:12px 14px;font-size:12.5px;margin-top:18px}.demo-creds button{background:none;border:none;color:var(--indigo);cursor:pointer;font-weight:600;padding:2px 0;font-size:12.5px}.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:10px}.bars .bar{flex:1;background:linear-gradient(180deg,var(--indigo),#6f86e8);border-radius:6px 6px 0 0;min-height:4px;position:relative;transition:.3s}.bars .bar:hover{filter:brightness(1.08)}.bars .bar span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:10.5px;color:var(--muted)}.donut{display:grid;place-items:center}.nav-parent{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:#c2cae6;font-weight:500;margin:2px 0;cursor:pointer;transition:.15s;width:100%;background:none;border:none;font-size:14px;font-family:inherit}.nav-parent:hover{background:#ffffff0f;color:#fff}.nav-parent svg{width:18px;height:18px;flex-shrink:0;opacity:.92}.nav-parent .caret{margin-left:auto;transition:transform .2s;opacity:.7}.nav-parent.open .caret{transform:rotate(90deg)}.nav-sub{overflow:hidden;margin:2px 0 4px}.nav-sub a{display:block;padding:7px 12px 7px 41px;border-radius:8px;color:#9aa4c8;font-size:13px;font-weight:500;margin:1px 0}.nav-sub a:hover{background:#ffffff0f;color:#fff}.nav-sub a.active{background:#3b5bdb47;color:#fff}.theme-toggle{background:none;border:1px solid var(--line);color:var(--text);width:36px;height:36px;border-radius:var(--radius-sm);display:grid;place-items:center;cursor:pointer;transition:.15s}.theme-toggle:hover{background:var(--hover)}.bottom-nav,.more-sheet{display:none}html[data-theme=dark]{--bg: #0b1020;--surface: #131a2d;--surface-2: #1a2238;--hover: #1c2542;--line: #242e49;--line-strong: #313c5c;--text: #e7ebf6;--muted: #99a3c0;--muted-2: #6b7593;--indigo-50: #1e294c;--gold-soft: #2f2613;--info-card-bg: #161f3a;--info-card-line: #2a3760;--pill-bg: #1a2238;--success-bg: #12321f;--warn-bg: #33270f;--danger-bg: #381a21;--info-bg: #122a44;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 6px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .65)}html[data-theme=dark] body{color:var(--text)}html[data-theme=dark] .badge{background:#242e49;color:#99a3c0}html[data-theme=dark] .badge--success{background:var(--success-bg);color:#62d59d}html[data-theme=dark] .badge--warn{background:var(--warn-bg);color:#e6ba5e}html[data-theme=dark] .badge--danger{background:var(--danger-bg);color:#f28d99}html[data-theme=dark] .badge--info{background:var(--info-bg);color:#6fb2ef}html[data-theme=dark] .badge--indigo{background:var(--indigo-50);color:#9db0ff}html[data-theme=dark] .demo-creds{background:var(--indigo-50);border-color:#2a3760}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2c3654}@media (max-width: 1100px){.pos{grid-template-columns:1fr 300px}}@media (max-width: 980px){.pos{grid-template-columns:1fr}.cart{position:static}.login-wrap{grid-template-columns:1fr}.login-art{display:none}}@media (max-width: 860px){:root{--sidebar-w: 0px}.sidebar{display:none}.sidebar__backdrop{display:none!important}.main{margin-left:0;padding-bottom:66px}.app-shell.sidebar-collapsed{--sidebar-w: 0px}.hamburger,.sidebar-toggle{display:none}.page{padding:16px}.topbar{padding:0 16px}.form-row,.form-row--3{grid-template-columns:1fr!important}.grid--2{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--surface);border-top:1px solid var(--line);z-index:50;box-shadow:0 -6px 20px #0b14301a}.bottom-nav a,.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10px;font-weight:600;background:none;border:none;cursor:pointer;text-decoration:none;padding:0}.bottom-nav a.active,.bottom-nav button.active{color:var(--indigo)}.bottom-nav svg{width:21px;height:21px}.more-sheet{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.more-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b143080}.more-sheet__panel{position:absolute;bottom:0;left:0;right:0;background:var(--surface);border-radius:16px 16px 0 0;padding:10px;animation:slideup .22s ease;max-height:75vh;overflow-y:auto}.more-sheet__panel a{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:10px;color:var(--text);font-weight:600}.more-sheet__panel a.active{background:var(--indigo-50);color:var(--indigo)}.more-sheet__panel a svg{width:20px;height:20px}}@keyframes slideup{0%{transform:translateY(100%)}}@media (max-width: 620px){.hide-sm{display:none}}.show-mobile-only{display:none}@media (max-width: 860px){.show-mobile-only{display:block}}.asst-fab{position:fixed;right:26px;bottom:26px;z-index:80;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(145deg,var(--indigo-600),var(--navy-800));color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px #3b5bdb73,0 2px 6px #0b14304d;transition:transform .18s ease,box-shadow .18s ease}.asst-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 18px 40px #3b5bdb8c}.asst-fab__pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 #4263eb8c;animation:asst-pulse 2.4s infinite}@keyframes asst-pulse{0%{box-shadow:0 0 #4263eb80}70%{box-shadow:0 0 0 16px #4263eb00}to{box-shadow:0 0 #4263eb00}}.asst{position:fixed;right:26px;bottom:26px;z-index:85;width:404px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 90px));background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:asst-rise .22s ease}@keyframes asst-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}.asst__head{display:flex;align-items:center;gap:11px;padding:14px 16px;color:#fff;background:linear-gradient(135deg,var(--navy-700),var(--navy-900))}.asst__avatar{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:linear-gradient(145deg,var(--indigo),var(--indigo-600));color:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff1f}.asst__avatar--sm{width:28px;height:28px;border-radius:8px}.asst__head-text{line-height:1.25;flex:1;min-width:0}.asst__head-text b{display:block;font-size:14.5px}.asst__head-text span{font-size:11px;color:#aeb7d6}.asst__icon-btn{background:#ffffff1f;border:none;color:#fff;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.asst__icon-btn:hover{background:#ffffff38}.asst__body{flex:1;overflow-y:auto;padding:16px;background:var(--bg);display:flex;flex-direction:column;gap:14px}.asst-msg{display:flex;gap:9px;max-width:100%}.asst-msg--user{justify-content:flex-end}.asst-msg--bot .asst-stack{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.asst-msg--bot .asst-bubble{align-self:flex-start;width:fit-content;max-width:100%}.asst-bubble{padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;background:var(--surface);border:1px solid var(--line);color:var(--text);white-space:pre-line}.asst-msg--user .asst-bubble{background:var(--indigo);color:#fff;border-color:transparent;border-bottom-right-radius:5px;max-width:86%}.asst-msg--bot .asst-bubble{border-bottom-left-radius:5px}.asst-bubble--error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.asst-typing{display:inline-flex;gap:4px;align-items:center}.asst-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted-2);animation:asst-blink 1.2s infinite}.asst-typing span:nth-child(2){animation-delay:.2s}.asst-typing span:nth-child(3){animation-delay:.4s}@keyframes asst-blink{0%,60%,to{opacity:.3}30%{opacity:1}}.asst-chips{display:flex;flex-wrap:wrap;gap:7px}.asst-chip{background:var(--indigo-50);color:var(--indigo);border:1px solid transparent;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}.asst-chip:hover{background:var(--indigo);color:#fff}.asst-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow-sm)}.asst-card__head{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--text)}.asst-card__head b{flex:1;min-width:0}.asst-card__match{font-size:10.5px;font-weight:700;color:var(--success);background:var(--success-bg);padding:2px 8px;border-radius:999px}.asst-card__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 13px}.asst-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:8px 9px;min-width:0}.asst-stat span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asst-stat b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.asst-stat--success b{color:var(--success)}.asst-stat--danger b{color:var(--danger)}.asst-card__table{padding:0 13px 10px}.asst-card__table table{width:100%;border-collapse:collapse;font-size:12px}.asst-card__table th{text-align:left;color:var(--muted);font-weight:600;padding:6px 7px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.asst-card__table td{padding:6px 7px;border-bottom:1px solid var(--line);color:var(--text);overflow-wrap:break-word;line-height:1.3}.asst-card__table th.num,.asst-card__table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}.asst-card__more{padding:6px 2px 0;font-size:11.5px;color:var(--muted)}.asst-card__actions{display:flex;gap:8px;padding:11px 13px;border-top:1px solid var(--line);background:var(--surface-2)}.asst-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}.asst-btn:hover{background:var(--hover)}.asst-btn--primary{background:var(--indigo);color:#fff;border-color:transparent}.asst-btn--primary:hover{background:var(--indigo-600)}.asst__input{display:flex;gap:9px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}.asst__input input{flex:1;border:1px solid var(--line-strong);border-radius:11px;padding:11px 13px;font-size:13.5px;background:var(--bg);color:var(--text);outline:none}.asst__input input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-50)}.asst__input button{width:42px;flex-shrink:0;border:none;border-radius:11px;background:var(--indigo);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.15s}.asst__input button:hover:not(:disabled){background:var(--indigo-600)}.asst__input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 860px){.asst-fab{bottom:80px;right:16px}.asst{bottom:0;right:0;left:0;width:100%;max-width:100%;height:88vh;border-radius:18px 18px 0 0}}.asst-form__body{padding:12px 13px;display:flex;flex-direction:column;gap:10px}.asst-field{display:flex;flex-direction:column;gap:4px}.asst-field>span{font-size:11px;color:var(--muted);font-weight:600}.asst-field>span i{color:var(--danger);font-style:normal}.asst-input{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--bg);color:var(--text);outline:none}.asst-input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-50)}.asst-field__err{color:var(--danger);font-size:11px;font-style:normal}.asst-form__error{color:var(--danger);font-size:12px;background:var(--danger-bg);padding:7px 9px;border-radius:7px}.asst-form--done .asst-card__head{color:var(--success)}.asst-form--cancelled .asst-card__head{color:var(--muted)}
