@media(max-width:768px){.user-sidebar,.admin-sidebar{display:none}body.user-sidebar-open .user-sidebar,body.admin-sidebar-open .admin-sidebar{display:block!important}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #9263f8);color:var(--header-fg, #fff);position:sticky;top:0;z-index:100}.header-left,.header-actions{display:flex;align-items:center;gap:8px}.brand{font-weight:700;letter-spacing:.2px;cursor:pointer;-webkit-user-select:none;user-select:none}.app-header .btn.header-btn{border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #9263f8);color:var(--header-fg, #fff);padding:6px 10px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit}.app-header .btn.header-btn:hover{filter:brightness(1.03)}.app-header .btn.header-btn:focus,.brand:focus{outline:2px solid color-mix(in lab,var(--header-fg, #0b0b0b) 30%,transparent);outline-offset:2px}.audio-mini-player{position:fixed;top:var(--header-height, 48px);left:0;right:0;padding:4px 6px;background:var(--header_bg, #f5f5f5);color:var(--header_fg, #0b0b0b);border-bottom:1px solid var(--ui-border, #d9e0e6);z-index:1000;display:flex;justify-content:center}.audio-mini-player .amp-inner{position:relative;width:100%;max-width:900px;display:flex;flex-direction:column;gap:2px}.audio-mini-player .amp-row-main{display:flex;align-items:center;gap:4px;width:100%}.audio-mini-player .amp-row-info{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:2px;gap:6px}.audio-mini-player .amp-toggles{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:.8rem}.audio-mini-player .amp-toggle{display:flex;align-items:center;gap:3px}.audio-mini-player .amp-status-row{width:100%}.audio-mini-player .amp-btn{background:none;border:none;padding:4px;font-size:1.1rem;cursor:pointer;color:inherit}.audio-mini-player .amp-bar{flex:1;height:6px;background:#0003;border-radius:3px;overflow:hidden;position:relative}.audio-mini-player .amp-progress{position:absolute;left:0;top:0;bottom:0;width:0%}.audio-mini-player .amp-time{font-size:.8rem;min-width:40px;text-align:center;color:var(--header_fg, #0b0b0b)}.audio-mini-player .amp-status{font-size:.8rem;color:var(--accent, #0a66ff)}.audio-mini-player .amp-info{font-size:.75rem;color:var(--header_fg, #0b0b0b);flex:1}.audio-mini-player .amp-bar.interactive{cursor:pointer}.audio-mini-player .amp-eq-wrapper{position:fixed;left:50%;transform:translate(-50%);bottom:90px;pointer-events:none;width:100%;display:flex;justify-content:center}.amp-eq-bubble{padding:10px 20px 12px;border-radius:40px;background:var(--player_eq_bubble_bg, rgba(40, 40, 60, .92));color:var(--player_eq_bubble_fg, #fff);box-shadow:var(--player_eq_bubble_shadow, 0 6px 14px rgba(0, 0, 0, .35));display:flex;flex-direction:column;gap:6px;width:min(90vw,450px);pointer-events:auto}.amp-eq-global{width:100%;height:8px;border-radius:999px;background:var(--player_eq_global_bg, rgba(20, 20, 40, .9));overflow:hidden;align-self:center}.amp-eq-global-fill{height:100%}.amp-eq-global-row{display:flex;align-items:center;gap:6px;margin-top:3px}.amp-eq-global-label{font-size:.72rem;min-width:10px;text-align:center;opacity:.9}.amp-eq-global-small{flex:1;height:6px;border-radius:999px;background:var(--player_eq_global_bg, rgba(20, 20, 40, .9));overflow:hidden}.amp-eq-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:3px;padding:6px 8px 2px}.amp-eq-bar{border-radius:999px}@media(max-width:600px){.audio-mini-player{padding:3px 4px}.audio-mini-player .amp-row-main{gap:3px}.audio-mini-player .amp-time{min-width:34px;font-size:.75rem}.amp-eq-bubble{padding:8px 14px 10px;border-radius:32px}}:root{--header-height: 48px;--accent: #0a66ff;--overlay-backdrop: rgba(0,0,0,.4)}.admin-sidebar{position:fixed;top:var(--header-height, 48px);left:0;bottom:0;width:260px;background:var(--adminsidebar-bg, var(--sidebar-bg, #9263f8));color:var(--sidebar-fg, #fff);border-right:1px solid var(--ui-border, #d9e0e6);transform:translate(-100%);transition:transform .2s ease;z-index:1001;display:flex;flex-direction:column}body.admin-open .admin-sidebar{transform:translate(0)}@media(min-width:1024px){.admin-sidebar{position:sticky;top:0;transform:none;width:260px;height:100dvh}body:not(.admin-open) .admin-sidebar{display:none}}@media(max-width:1023px){.admin-sidebar{position:fixed;top:var(--header-height, 48px);bottom:0;left:0;width:80vw;max-width:320px;transform:translate(-100%);z-index:1001}body.admin-open .admin-sidebar{transform:translate(0)}}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;padding:10px;border-bottom:1px solid var(--ui-border, #d9e0e6)}.admin-title-left{display:flex;align-items:center;gap:8px}.back-btn{border:none;background:transparent;color:inherit;padding:4px 8px;border-radius:6px;cursor:pointer;font-weight:600}.back-btn:hover{filter:brightness(.95)}.admin-title .admin-close{border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:4px 8px;border-radius:6px;cursor:pointer;transition:filter .15s ease}.admin-title .admin-close:hover{filter:brightness(1.05)}.admin-nav{display:flex;flex-direction:column;padding:10px;gap:6px;overflow:auto}.nav-category{border:1px solid var(--ui-border, #d9e0e6);border-radius:8px;background:color-mix(in lab,var(--adminsidebar-bg, var(--sidebar-bg, #e6e6fa)) 96%,#000 4%)}.nav-category+.nav-category{margin-top:3px}.nav-category-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;border:none;padding:8px 10px;background:color-mix(in lab,var(--sidebar-bg, #e6e6fa) 92%,#000 8%);color:var(--sidebar-fg, #0b0b0b);font-weight:600;cursor:pointer;transition:background .15s ease}.nav-category-title{text-align:left}.nav-category-header:hover{background:color-mix(in lab,var(--sidebar-fg, #9263f8) 50%,transparent)}.nav-category-header .chevron{margin-left:auto;font-size:.9em}.nav-category-items{display:flex;flex-direction:column;gap:6px;padding:6px;border-top:1px solid var(--ui-border, #d9e0e6)}.nav-category-items.closed{display:none}.navbtn{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--sidebar-fg, #0b0b0b);background:color-mix(in lab,var(--adminsidebar-bg, #ffffff) 92%,#000 8%);border:1px solid var(--ui-border, #d9e0e6);border-radius:8px;padding:8px 10px;transition:background .2s ease,color .15s ease,border-color .15s ease}.navbtn:hover{background:color-mix(in lab,var(--sidebar-fg, #0b0b0b) 25%,transparent);color:color-mix(in lab,var(--accent, #0a66ff) 30%,var(--sidebar-bg, #fff))}.navbtn.active{border-color:color-mix(in lab,var(--accent, #0a66ff) 60%,var(--ui-border, #d9e0e6));background:color-mix(in lab,var(--accent, #0a66ff) 48%,transparent)}.navbtn .ico{width:1.2em;display:inline-flex;justify-content:center;flex:0 0 1.2em;min-width:1.2em;overflow:hidden;white-space:nowrap}.rail-foot{margin-top:auto;padding:8px 10px;border-top:1px solid var(--ui-border, #d9e0e6);display:flex;align-items:center;justify-content:space-between}.rail-action{display:inline-block;padding:6px 10px;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);border-radius:6px;cursor:pointer;transition:filter .18s ease}.rail-action:hover{filter:brightness(1.05)}.sidebar-backdrop.admin{position:fixed;inset:0;background:var(--overlay-backdrop, rgba(0,0,0,.4));z-index:900;display:none}body.admin-open .sidebar-backdrop.admin{display:block}body.no-scroll{overflow:hidden}.layout-container{display:flex;height:calc(100vh - 40px);position:relative}@supports (height: 100dvh){.layout-container{height:calc(100dvh - 40px)}}@supports (-webkit-touch-callout: none) and (not (height: 100dvh)){.layout-container{height:calc(-webkit-fill-available - 40px)}}.admin-sidebar,.conversations-sidebar{width:0;min-width:0;overflow-y:auto;transition:width .4s ease}.admin-sidebar{background:var(--adminsidebar-bg, #0b1020);color:var(--adminsidebar-fg, #e5e7eb);border-right:1px solid var(--ui-border, #222)}.conversations-sidebar{background:var(--sidebar-bg, #e6f4b5);color:var(--sidebar-fg, #17324a);border-right:1px solid var(--ui-border, #c7e3f5)}@media(min-width:769px){body.admin-open .admin-sidebar{width:240px;min-width:240px}body.conv-open .conversations-sidebar{width:300px;min-width:300px}}.main-content{flex:1;overflow:auto;background:#fff;min-width:0}@media(max-width:768px){.admin-sidebar,.conversations-sidebar{position:fixed;top:45px;bottom:0;left:0;width:80%;max-width:320px;min-width:0;transition:transform .2s ease;box-shadow:2px 0 8px #0000004d;z-index:1000;transform:translate(-100%)}body.admin-open .admin-sidebar,body.conv-open .conversations-sidebar{transform:translate(0)}body.admin-open .admin-sidebar,body.conv-open .conversations-sidebar{width:80%}body.admin-open,body.conv-open{overflow:hidden}}.sidebar-backdrop{display:none}@media(max-width:768px){body.conv-open .sidebar-backdrop.conv,body.admin-open .sidebar-backdrop.admin{display:block;position:fixed;inset:45px 0 0;background:#00000080;z-index:996}body.conv-open,body.admin-open{overflow:hidden}}html,body,#root{height:98%;overflow:hidden;margin:1px}.MuiDataGrid-root{background:var(--grid-bg, #ffffff);color:var(--grid-fg, #111827);border:1px solid var(--grid-border, #d9e0e6);border-radius:8px}.MuiDataGrid-root .MuiDataGrid-columnHeaders,.MuiDataGrid-root .MuiDataGrid-columnHeader,.MuiDataGrid-root .MuiDataGrid-footerContainer{background:var(--grid-header-bg, #eef1f8);border-bottom:1px solid var(--grid-border, #d9e0e6)}.MuiDataGrid-root .MuiDataGrid-row:nth-of-type(2n){background:var(--grid-row-alt-bg, #f5f7fb)}.MuiDataGrid-root .MuiDataGrid-row:hover,.MuiDataGrid-root .MuiDataGrid-row:nth-of-type(2n):hover{background:var(--grid-row-hover-bg, #e8edfa)}.MuiDataGrid-root .MuiDataGrid-row.Mui-selected,.MuiDataGrid-root .MuiDataGrid-row.Mui-selected:hover{background:var(--grid-row-hover-bg, #e8edfa)}.MuiDataGrid-root .MuiDataGrid-overlay{background:var(--grid-bg, #ffffff);color:var(--grid-fg, #111827)}:root{--admin-bg-page: #ffffff;--admin-text-main: #0b0b0b;--admin-text-dim: #666a6f;--admin-card-bg: #ffffff;--admin-card-radius: 12px;--admin-card-shadow: 0 8px 28px rgba(0, 0, 0, .06);--tts-bg: rgba(164, 162, 247, .2);--tts-border-radius: 25px;--accordion-bg: #9263f847;--accordion-border: #d9e0e6;--accordion-radius: 12px;--accordion-summary-height: 40px;--accordion-summary-bg: rgba(164, 162, 247, .2);--accordion-summary-font-size: .9rem;--accordion-summary-font-weight: 600;--accordion-details-padding: 16px 20px 20px 20px;--subtitle-color: #111827;--hint-color: #6b7280;--divider-color: #d9e0e6;--divider-margin: 16px 0;--chip-gap: 8px;--grid-gap: 16px;--grid-gap-large: 24px;--clone-box-bg: #f8f8ff;--clone-box-border: #cfd2ff;--clone-box-radius: 12px;--record-preview-bg: #f5f7f9;--record-preview-radius: 12px;--record-preview-border: #d9e0e6;--accent: #a89cfb;--accent-dark: #7f6df0;--accent-text: #ffffff}.admin-audio-page{background-color:var(--admin-bg-page);color:var(--admin-text-main);padding:16px}.page-title{font-size:1.3rem;font-weight:600;color:var(--admin-text-main);margin-bottom:16px;line-height:1.2}.admin-tabs{margin-bottom:16px}.admin-card{background-color:var(--admin-card-bg);border-radius:var(--admin-card-radius);box-shadow:var(--admin-card-shadow);padding:16px}.admin-sidecard-title{font-size:1rem;font-weight:600;color:var(--admin-text-main);margin-bottom:8px}.admin-pathText{font-size:.75rem;color:var(--admin-text-dim);word-break:break-all;line-height:1.4}.admin-accordion{background-color:var(--accordion-bg)!important;border:1px solid var(--accordion-border);border-radius:var(--accordion-radius)!important;margin-bottom:16px;overflow:hidden}.admin-accordion-summary{min-height:var(--accordion-summary-height)!important;background-color:var(--accordion-summary-bg)!important;border-bottom:1px solid var(--accordion-border);padding:0 16px!important}.admin-accordion-title{font-size:var(--accordion-summary-font-size);font-weight:var(--accordion-summary-font-weight);color:var(--admin-text-main);line-height:1.2}.admin-accordion-details{padding:var(--accordion-details-padding)!important}.admin-subtitle{font-size:.8rem;font-weight:600;color:var(--subtitle-color);margin-bottom:8px}.admin-hint{font-size:.8rem;color:var(--hint-color);line-height:1.4;margin-bottom:12px}.admin-modelPath{font-size:.8rem;color:var(--admin-text-main);margin-bottom:12px;line-height:1.4;word-break:break-all}.admin-grid-3cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--grid-gap-large);margin-top:16px}.admin-fieldBlock{margin-bottom:16px!important}.admin-footerRow{margin-top:16px;display:flex;gap:var(--grid-gap)}.clone-script-box{background-color:var(--clone-box-bg);border:1px solid var(--clone-box-border);border-radius:var(--clone-box-radius);padding:12px 16px;margin-bottom:12px}.clone-script-text{font-size:.8rem;line-height:1.5}.record-row{display:flex;flex-wrap:wrap;gap:var(--grid-gap);align-items:flex-start;margin-bottom:16px}.record-preview{background-color:var(--record-preview-bg);border:1px solid var(--record-preview-border);border-radius:var(--record-preview-radius);padding:12px 16px;margin-bottom:16px}.admin-panel{background:var(--admin-bg-page);color:var(--admin-text-main);padding:16px;height:calc(100vh - 100px);display:flex;flex-direction:column}.admin-title{font-size:1.3rem;font-weight:700;margin-bottom:12px}.admin-controls{display:flex;gap:12px;align-items:center;margin-bottom:12px}.admin-save-btn{background:var(--accent);color:var(--accent-text);padding:6px 14px;border-radius:6px;border:none;cursor:pointer;font-weight:600}.admin-grid .MuiDataGrid-columnHeaders{background:var(--accent);color:#fff;font-weight:600}@media(max-width:600px){.admin-controls{flex-direction:column!important;gap:8px!important}.admin-controls label{width:100%}.admin-controls select,.admin-controls input{width:100%!important;box-sizing:border-box}.admin-save-btn{width:100%!important;margin-top:6px!important;padding:8px!important;font-size:14px!important}.admin-grid-wrap{margin-bottom:18px}}.loaded-row{background-color:#90ee9026!important}.admin-grid-wrap{width:100%;height:calc(100vh - 200px);min-height:400px}.admin-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;padding:6px;background:#f5f5f5;border-radius:8px}.admin-controls label{display:flex;align-items:center;white-space:nowrap}.admin-controls select{padding:6px;border:1px solid #ddd;border-radius:4px;background:#fff}.admin-input{padding:6px;border:1px solid #ddd;border-radius:4px;min-width:140px}.admin-save-btn{background:#1976d2;color:#fff;border:none;padding:6px 8px;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s}.numeric-cell{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right!important}.admin-save-btn:hover{background:#1565c0}.admin-save-btn:active{background:#0d47a1}.project-graphs-page{width:100%;min-width:0}.project-card{border-left:4px solid transparent;transition:border-color .12s ease,transform .12s ease}.project-card:hover{transform:translateY(-1px)}.project-card.selected{border-left-color:#4f46e5;background:color-mix(in srgb,var(--mui-palette-primary-main, #4f46e5) 7%,transparent)}.project-graph-canvas-wrap{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(79,70,229,.13),transparent 42%),linear-gradient(160deg,#101827,#07101e 70%)}.project-graph-svg{display:block;width:100%;height:620px}.project-graph-edges line{stroke:#94a3b8;vector-effect:non-scaling-stroke}.project-graph-node{cursor:pointer;outline:none}.project-graph-node:focus circle{stroke:#fff;stroke-width:3px}.project-graph-label{fill:#f8fafc;font-size:12px;font-weight:700;paint-order:stroke;stroke:#07101e;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.project-graph-zoom{position:absolute;z-index:2;right:12px;top:10px;padding:5px 10px;border-radius:999px;color:#e2e8f0;background:#07101ed1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-graph-empty{min-height:360px;display:grid;place-items:center;color:#64748b}.project-graph-iframe{width:100%;min-height:720px;border:0;border-radius:8px;background:#0b1020}.project-graph-report{max-height:760px;overflow:auto}.project-graph-report pre{overflow:auto;padding:12px;border-radius:8px;background:#0f172a14}@media(max-width:900px){.project-graph-canvas-wrap,.project-graph-svg{min-height:520px;height:520px}}.watchers-table{width:100%;border-collapse:collapse}.watchers-table th,.watchers-table td{padding:4px 8px;vertical-align:middle}.watchers-table .MuiButtonGroup-root .MuiButton-root{min-width:0}.ha-action-dialog{padding-top:8px}:root{--admin-bg-page: #ffffff;--admin-text-main: #0b0b0b;--admin-text-dim: #666a6f;--admin-card-bg: #ffffff;--admin-card-radius: 12px;--admin-card-shadow: 0 8px 28px rgba(0, 0, 0, .06);--tts-bg: rgba(164, 162, 247, .2);--tts-border-radius: 25px;--accordion-margin-button: 12px;--accordion-bg: #9263f847;--accordion-border: #d9e0e6;--accordion-radius: 12px;--accordion-summary-height: 38px;--accordion-summary-bg: rgba(164, 162, 247, .2);--accordion-summary-font-size: .85rem;--accordion-summary-font-weight: 560;--accordion-details-padding: 8px 10px 10px 14px;--accordion-details-bg: lavender;--subtitle-color: #111827;--hint-color: #6b7280;--divider-color: #d9e0e6;--divider-margin: 10px 0;--chip-gap: 5px;--grid-gap: 14px;--grid-gap-large: 16px;--clone-box-bg: #f8f8ff;--clone-box-border: #cfd2ff;--clone-box-radius: 12px;--record-preview-bg: #f5f7f9;--record-preview-radius: 12px;--record-preview-border: #d9e0e6;--accent: #a89cfb;--accent-dark: #7f6df0;--accent-text: #ffffff}.page-title{font-size:.95rem;font-weight:550;color:var(--admin-text-main);margin-bottom:10px;line-height:1}.admin-tabs{margin-bottom:14px}.admin-card{background-color:var(--admin-card-bg);border-radius:var(--admin-card-radius);box-shadow:var(--admin-card-shadow);padding:12px}.admin-sidecard-title{font-size:.9rem;font-weight:550;color:var(--admin-text-main);margin-bottom:8px}.admin-pathText{font-size:.7rem;color:var(--admin-text-dim);word-break:break-all;line-height:1.1}.admin-chipRow{row-gap:var(--chip-gap);column-gap:var(--chip-gap)}.admin-accordion{background-color:var(--accordion-bg)!important;border:1px solid var(--accordion-border);border-radius:var(--accordion-radius)!important;margin-bottom:var(--accordion-margin-button);overflow:auto}.admin-accordion-summary{min-height:var(--accordion-summary-height)!important;background-color:var(--accordion-summary-bg)!important;border-bottom:1px solid var(--accordion-border);padding:0 12px!important}.admin-accordion-summaryContent{margin:0!important;min-height:var(--accordion-summary-height)!important;align-items:center}.admin-accordion-title{font-size:var(--accordion-summary-font-size);font-weight:var(--accordion-summary-font-weight);color:var(--admin-text-main);line-height:1.1}.admin-accordion-details{padding:var(--accordion-details-padding)!important;background-color:var(--accordion-details-bg)!important}.admin-subtitle{font-size:.8rem;font-weight:550;color:var(--subtitle-color);margin-bottom:8px}.admin-hint{font-size:.8rem;color:var(--hint-color);line-height:1.1;margin-bottom:10px}.admin-modelPath{font-size:.8rem;color:var(--admin-text-main);margin-bottom:10px;line-height:1.2;word-break:break-all}.admin-divider{border-color:var(--divider-color)!important;margin:var(--divider-margin)!important}.admin-grid-autoFit,.admin-grid-autoFitGap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--grid-gap)}.admin-grid-3cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--grid-gap-large);margin-top:12px}.admin-spacerTop{margin-top:16px}.admin-fieldTop{margin-top:16px!important}.admin-fieldBlock{margin-bottom:12px!important}.admin-footerRow{margin-top:12px;display:flex;gap:var(--grid-gap)}.admin-switch-inline .MuiFormControlLabel-label{font-size:.8rem}.clone-script-box{background-color:var(--clone-box-bg);border:1px solid var(--clone-box-border);border-radius:var(--clone-box-radius);padding:10px 12px;margin-bottom:var(--accordion-margin-button)}.clone-script-text{font-size:.8rem;line-height:1.1}.record-row{display:flex;flex-wrap:wrap;gap:var(--grid-gap);align-items:flex-start;margin-bottom:12px}.record-preview{background-color:var(--record-preview-bg);border:1px solid var(--record-preview-border);border-radius:var(--record-preview-radius);padding:10px 14px;margin-bottom:12px}.record-audio-player{width:100%;margin-bottom:8px}.record-hint{font-size:.75rem;color:var(--hint-color)}.speaker-chip-col{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:8px}.speaker-chip{justify-content:flex-start!important;max-width:100%;text-align:left;font-size:.75rem!important}.admin-panel{background:var(--admin-bg-page);color:var(--admin-text-main);padding:12px;height:calc(100vh - 100px);display:flex;flex-direction:column}.admin-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--accordion-margin-button)}.admin-controls{display:flex;gap:12px;align-items:center;margin-bottom:var(--accordion-margin-button)}.admin-input{min-width:240px;padding:6px;border-radius:6px;border:1px solid var(--divider-color)}.admin-save-btn{background:var(--accent);color:var(--accent-text);padding:6px 12px;border-radius:6px;border:none;cursor:pointer;font-weight:550}.admin-save-btn:hover{background:var(--accent-dark)}.admin-grid-wrap{flex:1;display:flex;border-radius:8px;overflow:hidden}.admin-grid{width:100%;height:100%}.admin-grid .MuiDataGrid-columnHeaders{background:var(--accent);color:#fff;font-weight:560}.MuiDataGrid-virtualScroller::-webkit-scrollbar{width:7px}.MuiDataGrid-virtualScroller::-webkit-scrollbar-thumb{background:#00000040;border-radius:6px}.MuiDataGrid-virtualScroller::-webkit-scrollbar-thumb:hover{background:#0006}.MuiDataGrid-virtualScroller::-webkit-scrollbar-track{background:#0000000d}.MuiDataGrid-virtualScroller::-webkit-scrollbar-track:hover{background:#0000001a}.saasCrmRoot{background:var(--crm-bg, rgba(155, 173, 250, .98));color:var(--crm-fg, #0b0b0b);min-height:100vh}.saasCrmRoot h1,.saasCrmRoot h2,.saasCrmRoot h3,.saasCrmRoot label,.saasCrmRoot p{color:var(--crm-fg, #0b0b0b)}.saas-page{padding:16px;max-width:980px;margin:0 auto}@media(max-width:520px){.saas-page{padding:12px}}.saas-crm-Header{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:12px;margin-bottom:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.saas-crm-BackBtn{appearance:none;border:1px solid rgba(255,255,255,.3);background:#ffffff2e;color:var(--crm-fg, #0b0b0b);border-radius:14px;padding:8px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.saas-crm-BackBtn:active{transform:translateY(1px)}.saas-crm-HeaderTitle{flex:1;min-width:180px;font-size:34px;font-weight:900;letter-spacing:-.02em;text-align:center;line-height:1.05}.saasCrmHeaderRight{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}@media(max-width:560px){.saas-crm-HeaderTitle{font-size:30px;text-align:left}}.saas-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px;margin-bottom:14px}.saas-cardTitle{font-size:18px;font-weight:900;margin-bottom:10px}.saas-title{margin-top:0}.saas-muted{opacity:.85}.saas-crm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}@media(max-width:560px){.saas-crm{grid-template-columns:1fr}}.saasCrmCard{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px}.saasCrmCardTitle{font-size:12px;font-weight:700;opacity:.85;margin-bottom:6px}.saasCrmCardValue{font-size:22px;font-weight:750;line-height:1}.saas-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}.saas-input,.saas-select{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#ffffff2e;color:var(--crm-fg, #0b0b0b)}.saas-inputNarrow{width:120px}.saas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.saas-kpi{background:#00000014;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px}.saas-kpiLabel{opacity:.85;font-size:12px}.saas-kpiValue{font-size:22px;font-weight:800}.saas-mono{width:100%;min-height:320px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.25);background:#ffffff29;color:var(--crm-fg, #0b0b0b);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.saasCrmNote{margin-top:14px}.crm-grid-header{background-color:beige;color:#000}.crm-grid-cell{background-color:#add8e6;color:#000}.admin-logs{display:flex;flex-direction:column;height:100%;background:var(--chat-bg, #0f0f10);color:var(--header-fg, #e9e9e9);font-family:monospace;overflow:hidden}.admin-logs .admin-header{background:var(--header-bg, #111);color:var(--header-fg, #f5f5f5);border-bottom:1px solid var(--ui-border, #333);padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-logs .admin-title{margin:0;font-size:1rem;font-weight:600;flex:1;color:var(--header-fg, #e9e9e9)}.admin-logs .tabs{display:flex;gap:4px}.admin-logs .tab{padding:5px 10px;border-radius:4px;border:1px solid var(--ui-border, #444);background:transparent;color:var(--header-fg, #ccc);cursor:pointer;transition:background .2s}.admin-logs .tab:hover{background:#ffffff1a}.admin-logs .tab.active{background:var(--header-fg, #4ab3ff);color:var(--header-bg, #0f0f10);font-weight:700}.admin-logs .controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-logs .controls input{width:70px;background:var(--chat-bg, #000);color:var(--header-fg, #fff);border:1px solid var(--ui-border, #555);border-radius:4px;padding:2px 4px}.admin-logs .controls button{background:var(--header-fg, #4ab3ff);color:var(--header-bg, #0f0f10);border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-weight:500;transition:opacity .2s}.admin-logs .controls button:hover{opacity:.85}.admin-logs .controls .stop{background:#d03333;color:#fff}.admin-logs .log-view{flex:1;height:100%;overflow-y:auto;overflow-x:auto;padding:12px;line-height:1.35em;font-size:.9em;white-space:pre;background:#0b0b0c;color:var(--chat-fg, #eaeaea);font-family:monospace;-webkit-overflow-scrolling:touch}.admin-logs .log-view-wrapper{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;max-height:calc(100vh - 260px);overflow:hidden}.admin-logs .controls .danger{background:#c44;color:#fff}.admin-logs .controls .danger-all{background:#a22;color:#fff;font-weight:700}.admin-logs .controls .danger-all:hover{opacity:.9;box-shadow:0 0 6px #ff3c3c99}.admin-logs .size{font-size:.8em;opacity:.8}.admin-logs .summary{padding:6px 14px;border-top:1px solid var(--ui-border, #333);border-bottom:1px solid var(--ui-border, #333);font-family:monospace;background-color:#000;display:flex;gap:16px}.admin-logs .summary .info{color:#4c4}.admin-logs .summary .warn{color:#fc3}.admin-logs .summary .error{color:#f44}.summary-pill.verb{border-color:#888;color:#ccc}.log-line.log-info{color:#5be35b}.log-line.log-warn{color:#e6c945}.log-line.log-error{color:#ff6464;font-weight:600}.log-line.log-verb{opacity:.7;font-style:italic}.search-bar{display:flex;align-items:center;gap:10px;padding:6px 14px;background:#111;border-top:1px solid #333;border-bottom:1px solid #333}.search-bar input{flex:1;background:#0a0a0a;color:#eee;border:1px solid #333;border-radius:4px;padding:5px 8px;font-family:monospace}.search-bar .count{font-size:.85em;color:#888}.highlight{background:#ffeb3b;color:#000;font-weight:700;padding:0 1px;border-radius:2px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.md-inline{background:var(--code-inline-bg, #0b0b0b);color:var(--code-inline-fg, #f0f3f8);border:1px solid var(--code-inline-border, #cbd5e1);border-radius:6px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em}.md-inline-soft{font-style:italic;color:color-mix(in lab,var(--code-inline-fg, #0b0b0b) 80%,transparent);background:transparent}.md-code-block{position:relative;border:1px solid var(--code-block-border, #cbd5e1);background:var(--code-block-bg, #0b0b0b);color:var(--code-block-fg, #f7f9fc);border-radius:10px;overflow:auto}.md-code-block>pre{margin:0;padding:12px 12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em;line-height:1.5}.md-code-block .md-copy{position:absolute;top:6px;right:6px;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #0b0b0b);color:var(--header-fg, #fff);padding:4px 8px;border-radius:8px;cursor:pointer}.md-code-block .md-copy:hover{background:var(--code-copy-hover-bg, blue);color:var(--header-fg, #fff)}.md-code-block .md-lang{position:absolute;bottom:4px;right:8px;opacity:.6;font-size:11px}code.md-inline,code.inline-code{background:var(--code-inline-bg, #f0f3f8);color:var(--code-inline-fg, forestgreen);border:1px solid var(--code-inline-border, #cbd5e1);padding:.12rem .35rem;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.94em;white-space:normal}.md-inline-soft{font-style:italic;color:color-mix(in lab,var(--code-inline-fg, forestgreen) 75%,transparent)}pre code,.code-block{display:block;overflow:auto}.assistant .bubble pre{background:#0f0f0f;color:#adff2f;padding:8px;border:6px;border-color:#fff;border-width:medium;font-size:small}.kw{font-weight:600}.str{color:#0969da}.cmt{color:#6b7280;font-style:italic}.func{color:#d73a49;font-weight:600}.class{color:#6f42c1;font-weight:600}.var{color:#005cc5}.md-p{white-space:pre-wrap;margin:8px 0}body[data-theme=dark] .md-inline-soft{color:color-mix(in lab,var(--code-inline-fg, #e6ecff) 85%,transparent)}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{inset:0;opacity:0;overflow:hidden;position:fixed;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));inset:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media(prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{display:flex;justify-content:flex-end;inset:0 0 auto auto;padding:var(--yarl__toolbar_padding,8px);position:absolute}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media(hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.msg{margin:4px 0;padding-bottom:10px}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.msg-meta{background:var(--header-bg, #a4a2f7e3);border-radius:9px;padding:3px 7px;margin:-12px -8px;text-align:right}.msg-footer{background:var(--header-bg, #a4a2f7e3);border-radius:9px;padding:3px 7px;margin:4px -8px -12px;text-align:right;font-size:.8rem;opacity:.8}.msg-footer-mode,.msg-footer-model{white-space:nowrap}.msg-meta span{text-align:right}.msg-meta .who{font-family:system-ui;font-weight:700}.msg-meta .ts{font-family:"Global Monospace"}.bubble{max-width:85%;padding:15px 15px 2px 10px;border-radius:16px;position:relative;border:1px solid var(--ui-border, #d9e0e6);box-shadow:0 1px 3px #00000014;font-size:var(--chat-font-size, 15px)}.user .bubble{background:var(--chat-user-bg, #dcf8c6);color:var(--chat-user-fg, #0b0b0b);border-top-right-radius:6px}.assistant .bubble{background:var(--chat-assist-bg, #add7ff);color:var(--chat-assist-fg, #0b0b0b);border-top-left-radius:6px}.bubble-menu{display:inline-flex;margin-left:25px}.msg-meta{gap:4px;align-items:center}.msg-meta .msg-select{display:inline-flex;align-items:center}.msg-meta .msg-select input[type=checkbox]{width:14px;height:14px;cursor:pointer}.bubble-more{display:flex;position:absolute;right:-6px;top:-6px;z-index:2;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:2px 6px;border-radius:8px;cursor:pointer}.toolbar{margin-top:4px;display:flex;gap:6px;opacity:.9}.toolbar button{font-size:12px;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:4px 8px;border-radius:10px;cursor:pointer}.bubble-menu .menu button:hover{background-color:var(--menu-hover, #9263f8);color:#fff}.menu{min-inline-size:max-content;position:absolute;right:50%;display:flex;flex-direction:column;background-color:var(--menu-bg, #a5a8f8);border:1px solid var(--menu-border, #1b00ff);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000059;opacity:0;transform:translate(-5px);animation:fadeSlideIn .45s ease forwards;z-index:50;margin-bottom:calc(25px + env(safe-area-inset-bottom))}.menu button{padding:5px 6px}.msg-meta .think-toggle{margin-top:4px;display:grid}.msg-meta .think-btn{border:0;background:var(--think-bg, #eef2ff);text-decoration:underline;cursor:pointer;font-size:.9em;padding:0}.msg-meta .think{background:var(--think-bg, #eef2ff);opacity:.9;font-size:.9em;margin-top:4px;padding:6px 8px;border-radius:6px;text-align:left}.msg-meta .think ol{display:block;margin-block-start:.85em;margin-block-end:.8em}.msg-meta .think p{display:block;margin-block-start:.24em;margin-block-end:.24em}.think-inline-code{font-style:italic;color:#98fb98;background:#0000000a;padding:0 .25em;border-radius:4px}.think-code{margin:6px 0 0;padding:8px;border-radius:6px;overflow:auto;text-align:left!important}.think .tool-request{background:#fff2cc99;border-left:3px solid #e0a800;padding:4px 6px;margin:4px 0;font-family:monospace;font-size:.85em;white-space:pre-wrap}.think .tool-result{background:#d1edda99;border-left:3px solid #28a745;padding:4px 6px;margin:4px 0;font-family:monospace;font-size:.85em;white-space:pre-wrap}.range-select{position:sticky;top:0;z-index:5;border:1px dashed var(--ui-border, #cdd5df);padding:8px;border-radius:8px;margin:6px 0 12px;background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b)}.context-menu{position:fixed;z-index:9999;background:var(--cm-bg, #ffffff);color:var(--cm-fg, #0b0b0b);border:1px solid var(--ui-border, #d9e0e6);border-radius:8px;min-width:180px;box-shadow:0 10px 30px #00000026;overflow:hidden}.context-menu__sep{border:0;border-top:1px solid var(--ui-border, #d9e0e6);margin:4px 0}.context-menu__item{display:block;width:100%;text-align:left;padding:8px 10px;background:transparent;color:inherit;border:none;cursor:pointer}.context-menu__item:hover{background:#0000000a}.ctx-menu{position:fixed;z-index:9999;background:var(--header-bg, #fff);color:var(--header-fg, #0b0b0b);border:1px solid var(--ui-border, #d9e0e6);border-radius:8px;min-width:180px;box-shadow:0 10px 30px #0000001f;overflow:hidden}.submenu-voice{min-inline-size:max-content;position:absolute;margin-left:9px;display:flex;flex-direction:column;background-color:var(--menu-bg, #a5a8f8);border:1px solid var(--menu-border, #1b00ff);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000059;opacity:0;transform:translate(-5px);animation:fadeSlideIn .25s ease forwards;z-index:50}.submenu-voice__item{background:var(--menu-bg);border:1px solid var(--menu-border);color:var(--menu-text);padding:6px 10px;text-align:center;font-size:.9em;cursor:pointer;transition:background .15s ease}.submenu-voice__item:hover{background-color:var(--menu-hover, #9263f8)}.voice-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#fff3cd;color:#664d03;padding:10px 14px;border-radius:8px;font-size:.9em;box-shadow:0 3px 12px #00000040;animation:toastFade .3s ease;z-index:100;max-width:85%;min-width:300px;border:1px solid #ffeeba}.voice-toast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600}.voice-toast-close{background:none;border:none;color:#664d03;font-size:1.1em;cursor:pointer;padding:0 4px;line-height:1}.voice-toast-body{font-family:monospace;font-size:.8em;line-height:1.3em;max-height:180px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.voice-toast::-webkit-scrollbar{width:6px}.voice-toast::-webkit-scrollbar-thumb{background:#64646466;border-radius:4px}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}@keyframes toastFade{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}body[data-theme=dark] .chat{background:var(--chat-bg, #0b1220);color:var(--chat-text, #e5e7eb)}body[data-theme=dark] .bubble{border-color:var(--ui-border, #1e293b);box-shadow:0 1px 3px #00000040}body[data-theme=dark] .toolbar button,body[data-theme=dark] .bubble-more,body[data-theme=dark] .range-select,body[data-theme=dark] .context-menu{background:var(--header-bg, #0f0f10);color:var(--header-fg, #e9e9e9);border-color:var(--ui-border, #1e293b)}body[data-theme=dark] .context-menu__item:hover{background:#ffffff0f}.msg.highlight{box-shadow:0 0 0 3px #1976d214;border-radius:10px}.msg.highlight .bubble{border:1px solid rgba(25,118,210,.95);box-shadow:0 4px 14px #1976d20f}.walkie-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-color, #f9f9f9)}.walkie-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.1);background-color:var(--controls-bg, #fff);z-index:1}.walkie-controls label{display:flex;align-items:center;font-size:.9rem;gap:.25rem}.walkie-controls input[type=text],.walkie-controls select{padding:.25rem .5rem;font-size:.9rem;border:1px solid #ccc;border-radius:4px}.walkie-messages{flex:1;overflow-y:auto;padding:.75rem 1rem;font-size:.95rem}.walkie-msg{margin-bottom:.5rem;line-height:1.4}.walkie-msg-text{margin-bottom:.2rem}.walkie-msg-translation{margin-left:1.25rem;font-style:italic;color:#555}.walkie-ptt{padding:1rem;text-align:center;border-top:1px solid rgba(0,0,0,.1);background-color:var(--controls-bg, #fff)}.walkie-ptt button{font-size:1rem;padding:.75rem 1.5rem;border:none;border-radius:24px;cursor:pointer;background-color:var(--primary-color, #007bff);color:#fff;transition:background-color .2s ease}.walkie-ptt button.recording{background-color:#e74c3c}.walkie-ptt button:hover{background-color:var(--primary-color-hover, #005ecb)}.pbx-call-bar{display:flex;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid var(--ui-border, #d9e0e6);border-radius:12px;background:var(--panel-bg, #fff);color:var(--panel-text, #111827);margin:10px 0}.pbx-call-bar .pbx-field{display:flex;flex-direction:column;gap:6px;min-width:190px}.pbx-call-bar label{font-size:12px;opacity:.85}.pbx-call-bar input,.pbx-call-bar select{padding:8px 10px;border-radius:10px;border:1px solid var(--ui-border, #d9e0e6);background:#fff}.pbx-call-actions{display:flex;gap:10px;align-items:flex-end}.pbx-call-actions button{padding:9px 12px;border-radius:12px;border:1px solid var(--ui-border, #d9e0e6);background:#fff;cursor:pointer}.pbx-call-actions button.primary{background:#111827;color:#fff;border-color:#111827}.pbx-call-actions button.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}.pbx-call-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.pbx-call-overlay .pbx-card{width:min(420px,calc(100vw - 30px));border-radius:16px;background:#fff;border:1px solid var(--ui-border, #d9e0e6);padding:16px;box-shadow:0 10px 30px #0000002e}.pbx-card .pbx-title{font-size:18px;font-weight:700;margin-bottom:8px}.pbx-card .pbx-sub{opacity:.8;margin-bottom:14px}.pbx-card .pbx-ringing{display:flex;gap:10px;align-items:center;margin:10px 0 14px}.pbx-dot{width:10px;height:10px;border-radius:999px;background:#16a34a;animation:pbxPulse 1.1s infinite ease-in-out}@keyframes pbxPulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:.5}}.pbx-card .pbx-buttons{display:flex;gap:10px;justify-content:flex-end}.pbx-card .pbx-buttons button{padding:10px 12px;border-radius:12px;border:1px solid var(--ui-border, #d9e0e6);background:#fff;cursor:pointer}.pbx-card .pbx-buttons button.primary{background:#111827;border-color:#111827;color:#fff}.pbx-card .pbx-buttons button.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}:root{--accent: #0a66ff;--conv-active-bg: #97bbf7}.conv-sidebar{background:var(--sidebar-bg, #e6f4b5);color:var(--sidebar-fg, #0b0b0b);padding:12px;min-width:fit-content;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:10px;z-index:1001;border-right:1px solid var(--ui-border, #d9e0e6)}.conv-sidebar .user-blocks .user-sidebar-blocks .block textarea,.conv-sidebar .user-blocks .user-sidebar-blocks .block-sampling{min-width:260px}.conv-header{display:flex;gap:8px}.search,.title-input,.new-folder input,.folder-select{flex:1;border:1px solid var(--ui-border, #d9e0e6);border-radius:8px;padding:8px 10px;background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b)}.title-input,.new-folder input{padding:6px 8px}.folder-select{padding:4px 6px}.btn{padding:8px 10px;border-radius:8px;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease,color .15s ease}.btn:hover{background:color-mix(in lab,var(--header-fg, #0b0b0b) 6%,transparent)}.btn.primary{background:color-mix(in lab,var(--accent, #0a66ff) 12%,var(--header-bg, #ffffff));border-color:color-mix(in lab,var(--accent, #0a66ff) 60%,var(--ui-border, #d9e0e6));color:color-mix(in lab,var(--accent, #0a66ff) 70%,var(--header-fg, #0b0b0b))}.btn.small{padding:4px 8px;font-size:12px}.btn.block{width:100%;margin-top:10px}.btn.danger{border-color:color-mix(in lab,#dc2626 60%,var(--ui-border, #d9e0e6))}.folders{display:flex;flex-wrap:wrap;gap:6px}.folder{border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:6px 10px;border-radius:16px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.folder:hover{background:color-mix(in lab,var(--header-fg, #0b0b0b) 5%,transparent)}.folder.active{background:color-mix(in lab,var(--accent, #0a66ff) 12%,transparent);color:color-mix(in lab,var(--accent, #0a66ff) 70%,var(--header-fg, #0b0b0b));border-color:color-mix(in lab,var(--accent, #0a66ff) 60%,var(--ui-border, #d9e0e6))}.folder .count{margin-left:6px;opacity:.85}.new-folder{display:flex;gap:8px}.list{gap:8px;overflow:auto}.conv{background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);border:1px solid color-mix(in lab,var(--accent, #0a66ff) 18%,var(--ui-border, #d9e0e6));border-radius:10px;padding:6px 8px;transition:background .15s ease}.conv:hover{background:color-mix(in lab,var(--accent, #0a66ff) 8%,transparent)}.conv.active{outline:2px solid color-mix(in lab,var(--accent, #0a66ff) 65%,transparent);background:color-mix(in lab,var(--conv-active-bg, #97bbf7) 50%,transparent)}.row{display:flex;align-items:center;gap:8px}.title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.actions{display:flex;gap:6px;align-items:center}.user-blocks{margin-top:6px}.muted{color:color-mix(in lab,var(--sidebar-fg, #0b0b0b) 55%,transparent);font-size:13px;padding:6px 2px}@media(max-width:768px){.conv-sidebar{position:fixed;left:0;top:0;bottom:0;width:80vw;max-width:320px;min-width:0;padding:8px;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 8px #00000026;overflow-y:auto;z-index:1001}html.conv-open .conv-sidebar{transform:translate(0)}.sidebar-backdrop.conv{position:fixed;inset:0;background:var(--overlay-backdrop, rgba(0,0,0,.4));z-index:1000;display:none}html.conv-open .sidebar-backdrop.conv{display:block}.folders{gap:4px}.folder{padding:4px 8px;border-radius:12px;font-size:12px}.btn.small{font-size:11px}.title{max-width:60vw}}body.conv-closed .user-sidebar{display:none!important}html,body,#root{height:100%;overflow:hidden}.chat{background:var(--chat-bg, #f5f7f9);color:var(--chat-text, #0b0b0b)}.chat-layout{height:100%;min-height:100%;display:flex;overflow:hidden;background:var(--chat-bg, #f5f7f9)}.chat-main{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0}.chat-view{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 20px;background:var(--chat-bg, #f5f7f9);margin-bottom:15px}.conv-principal{overflow-y:auto;overflow-x:hidden;min-width:fit-content;margin-bottom:10px}.chat-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:5px 12px;padding-top:calc(5px + env(safe-area-inset-top));border-bottom:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #a4a2f7);color:var(--header-fg, #0b0b0b)}.hamburger{position:relative;z-index:25;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:6px 10px;border-radius:8px;cursor:pointer}.modes-tabs{margin-left:5px}.modes-bar{gap:10px;align-items:center;padding:10px 8px;overflow-y:hidden;overflow-x:auto}.modes-bar button{flex:0 0 auto;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:8px 12px;border-radius:10px;cursor:pointer}.modes-bar-ha{background-color:#00f}.chat-token-info{font-size:.87rem;gap:4px;text-overflow:ellipsis;overflow:hidden;height:auto;padding:10px 5px;position:sticky}.chat-token-info .conv-title{font-weight:550}.chat-token-info .separator{opacity:.6}.topbar-models{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topbar-models-mobile{flex-wrap:nowrap;align-items:center}.models-list-mobile{flex:1;max-width:none}.models-engine{max-width:180px}.models-filter-cat,.models-filter{height:auto;max-width:48%}.models-list{max-width:250px}.models-list option.model-option-loaded{background:#00ff0029}.chat-status-bar{--sb-bg: rgba(255, 255, 255, .45);--sb-border: rgba(0, 0, 0, .28);--sb-shadow: rgba(0, 0, 0, .25);--sb-shine-blue-1: rgba(60, 130, 255, .33);--sb-shine-blue-2: rgba(60, 130, 255, .55);--sb-shine-blue-3: rgba(60, 130, 255, .3);--text-size: .97rem;--code-size: .82rem;display:flex;align-items:center;flex-wrap:nowrap;gap:7px;padding:11px 10px;border-radius:12px;background:var(--sb-bg);border:1px solid var(--sb-border);backdrop-filter:blur(10px) saturate(1.45);-webkit-backdrop-filter:blur(10px) saturate(1.35);box-shadow:0 6px 18px var(--sb-shadow),inset 0 1px #ffffff73;position:relative;overflow:hidden}.chat-status-bar:before{content:"";position:absolute;inset:0 0 0 -120%;width:120%;background:linear-gradient(90deg,var(--sb-shine-blue-1),var(--sb-shine-blue-2),var(--sb-shine-blue-3));animation:sb-shimmer 2.4s ease-in-out infinite;opacity:1.2;pointer-events:none}.chat-status-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff59,#ffffff26);pointer-events:none}@keyframes sb-shimmer{0%{left:-120%}to{left:120%}}.chat-status-bar .status-dot{width:10px;height:10px;border-radius:999px;background:#4caf50;box-shadow:0 0 0 3px #4caf5052,0 0 6px #4caf5099;flex:0 0 auto;z-index:2;animation:pulse-status 1.8s ease-in-out infinite}.chat-status-bar .status-text{font-size:var(--text-size);font-weight:600;line-height:1.2;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:2;background-image:linear-gradient(90deg,#ffd25aa6,#ffe696fa,#ffd25abf);background-size:250% 130%;background-position:-120% 0;-webkit-background-clip:text;background-clip:text;color:#232323de;animation:sb-text-shine 2.4s ease-in-out infinite}@keyframes sb-text-shine{0%{background-position:-120% 0}to{background-position:120% 0}}.chat-status-bar .status-code,.chat-status-bar .separator{font-size:var(--code-size);opacity:.85;z-index:2;flex:0 0 auto}.status-progress{width:160px;height:12px;border-radius:999px;overflow:hidden;background:#00000038;border:1px solid rgba(0,0,0,.14);box-shadow:inset 0 1px 2px #00000047,0 1px #fff6;z-index:2}.status-progress-bar{height:100%;background:linear-gradient(90deg,#2878ffd9,#3278ff,#4678ffd9);transition:width .29s linear;position:relative}.status-progress-bar:after{content:"";position:absolute;inset:0 0 0 -120%;width:120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:sb-bar-shimmer 1.4s ease-in-out infinite}@keyframes sb-bar-shimmer{0%{left:-140%}to{left:140%}}@keyframes pulse-status{0%{transform:scale(.75);opacity:.7}40%{transform:scale(1.25);opacity:1}70%{transform:scale(.9);opacity:.85}to{transform:scale(1.1);opacity:.6}}.auto-scroll{margin-right:8px}.check{display:inline-flex;align-items:center;gap:6px;font-size:14px}.suspense-fallback{padding:12px;color:var(--header-fg, #0b0b0b)}.chat-input{position:sticky;bottom:max(env(safe-area-inset-bottom),16px);z-index:15;display:flex;gap:8px;align-items:center;border-top:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #a4a2f7);color:var(--header-fg, #0b0b0b);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.chat-input-attch{bottom:max(env(safe-area-inset-bottom),10px);margin-bottom:10px;background:#7f6df026;background:color-mix(in srgb,var(--attach-bg, #7f6df0) 20%,transparent)}.chat-textarea{flex:1 1 auto;resize:vertical;min-height:38px;max-height:220px;border:1px solid var(--ui-border, #d9e0e6);border-radius:10px;padding:8px 10px;background:#fff;color:#0b0b0b;font:inherit}.chat-input textarea{flex:1 1 auto;min-height:38px;max-height:38vh;resize:none}.send{flex:0 0 auto;border:1px solid var(--ui-border, #d9e0e6);background:var(--header-bg, #ffffff);color:var(--header-fg, #0b0b0b);padding:8px 12px;border-radius:10px;cursor:pointer}.mobile-editor-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.mobile-editor-dialog{background:var(--chat-bg, #fdfdfd);border-radius:16px;box-shadow:0 10px 30px #00000059;width:min(640px,94vw);max-height:80vh;padding:10px 12px 12px;display:flex;flex-direction:column}.mobile-editor-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:6px}.mobile-editor-close{border:none;background:transparent;font-size:18px;cursor:pointer}.mobile-editor-textarea{width:100%;min-height:120px;max-height:55vh;resize:none;overflow:auto;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.15);font-family:inherit;font-size:16px;line-height:1.4}.mobile-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.mobile-editor-actions button{border-radius:999px;padding:6px 14px;border:none;cursor:pointer}@media(min-width:801px){.mobile-editor-overlay{display:none}}body[data-theme=dark] .chat-textarea{background:#0f0f10;color:#e9e9e9}.tpv-host-root{height:calc(100vh + -0px);display:flex;flex-direction:column}.tpv-topbar{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid #ccc;background:#f8f8f8}.tpv-topbar-left,.tpv-topbar-right{display:flex;gap:10px;align-items:center}.tpv-topbar-item{display:flex;gap:6px;align-items:center}.tpv-topbar-item select{padding:6px;border-radius:6px;border:1px solid #bbb;background:#fff}.tpv-label{font-size:12px;color:#444}.tpv-host-body{display:grid;grid-template-columns:220px 1fr;height:100%;min-height:0}.tpv-side-menu{border-right:1px solid #ccc;background:#fbfbfb;padding:8px;display:flex;flex-direction:column;gap:8px}.tpv-side-btn{padding:10px 8px;border:1px solid #d6d6d6;background:#fff;border-radius:6px;text-align:left;cursor:pointer}.tpv-side-btn.active{background:#e9f1ff;border-color:#9bbcff}.tpv-canvas{position:relative;background:#4a4a3f;overflow:auto}.tpv-canvas-inner{position:relative;margin:12px}.tpv-mesa{position:absolute;border:4px solid #7b1fa2;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.tpv-mesa:active{filter:brightness(.95)}.tpv-cuadrada{border-radius:10px}.tpv-redonda{border-radius:999px}.tpv-libre{background:#4caf50;color:#fff}.tpv-ocupada{background:#d81b60;color:#fff}.tpv-reservada{background:#ffb300;color:#222}.tpv-sucia{background:#90a4ae;color:#222}.tpv-mesa-num{font-size:16px;font-weight:800;line-height:1}.tpv-mesa-cap{font-size:12px;opacity:.95}.tpv-mesa-meta{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:12px;line-height:1.05;text-align:center}.tpv-mesa-amount{font-size:12px;font-weight:800;opacity:.98}@media(max-width:700px){.tpv-host-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.tpv-side-menu{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid #ccc}.tpv-side-btn{flex:1 1 48%}}.tpv-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:#f3f4f6}.tpv-login-paper{width:100%;max-width:520px;border-radius:14px}.tpv-login-form{display:flex;flex-direction:column;gap:.5rem}.tpv-error{color:#d32f2f;font-size:.9rem;text-align:center}.tpv-mesas-container{padding:1rem}.tpv-mesas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.tpv-mesa-button{padding:1rem;border:1px solid #aaa;border-radius:6px;background:#e0e0e0;cursor:pointer;text-align:center;font-weight:700}.tpv-mesa-button:hover{background:#d5d5d5}.tpv-comanda-container{padding:1rem}.tpv-back{margin-bottom:1rem;background:none;border:none;color:#1976d2;cursor:pointer;font-size:1rem}.tpv-categorias{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tpv-cat-button{padding:.5rem .75rem;border:1px solid #aaa;border-radius:4px;background:#e0e0e0;cursor:pointer}.tpv-cat-button.active{background:#1976d2;color:#fff;border-color:#1976d2}.tpv-productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.tpv-producto{border:1px solid #aaa;border-radius:4px;padding:.5rem;cursor:pointer;background:#f5f5f5;display:flex;flex-direction:column;justify-content:space-between;height:80px}.tpv-producto.selected{background:#c8e6c9}.tpv-producto-nombre{font-weight:700}.tpv-producto-precio{text-align:right;font-size:.9rem;color:#555}.tpv-app{min-height:100vh;background:#f5f6f8}.tpv-page{padding:12px}.tpv-error{background:#ffe7e7;color:#9a1f1f;padding:12px;border-radius:10px;margin-bottom:12px;border:1px solid rgba(154,31,31,.2)}.tpv-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}.tpv-topbar-title{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpv-btn{border:0;border-radius:10px;padding:10px 12px;cursor:pointer}.tpv-btn-ghost{background:#95a5e591}.tpv-btn-primary{background:#1f6feb;color:#fff}.tpv-btn-mini{padding:6px 10px;border-radius:8px;background:#e9eefb}.tpv-btn-qty{background:#fff;border:1px solid rgba(0,0,0,.12)}.tpv-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#0000000f;font-size:12px}.tpv-empty{padding:16px;text-align:center;color:#0000008c}.tpv-layout{display:flex;gap:12px;padding:12px}@media(max-width:900px){.tpv-layout{flex-direction:column}}.tpv-categories{display:flex;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);overflow:auto}.tpv-categories{position:sticky;top:52px;z-index:5}.tpv-cat{background:#1f6feb14;white-space:nowrap;border:1px solid rgba(31,111,235,.2)}.tpv-cat.is-active{background:#1f6feb;color:#fff}.tpv-details{background:#9dc7f1;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.08);flex:0 0 360px;transition:width .16s ease,flex-basis .16s ease}.tpv-details.is-collapsible.is-closed{flex-basis:56px}.tpv-details.is-collapsible.is-closed .tpv-details-total,.tpv-details.is-collapsible.is-closed .tpv-detail-row,.tpv-details.is-collapsible.is-closed .tpv-empty{display:none}.tpv-details-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:#00000008}.tpv-details-title{display:inline-flex;align-items:center;gap:8px;font-weight:700}.tpv-details-total{font-weight:800}.tpv-details-list{max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.35) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:120px}.tpv-details-list::-webkit-scrollbar{width:10px;-webkit-appearance:none}.tpv-details-list::-webkit-scrollbar-thumb{background:#00000059;border-radius:5px}.tpv-details-list::-webkit-scrollbar-track{background:#00000014}@media(max-height:900px){.tpv-details-list{max-height:42vh}}.tpv-detail-row{gap:6px;padding:6px 8px;border-top:1px solid rgba(0,0,0,.06);border:2px solid blue}.tpv-detail-check{display:flex;align-items:center;justify-content:center}.tpv-pill-paid{background:#22c55e26;border:1px solid rgba(34,197,94,.35)}.tpv-btn-icon{padding:6px;line-height:0}.tpv-icon{width:18px;height:18px}.tpv-detail-row.is-served{opacity:.65}.tpv-detail-name{font-weight:700;margin-bottom:6px}.tpv-detail-meta{display:flex;flex-wrap:wrap;gap:6px}.tpv-detail-actions{display:flex;align-items:center;gap:6px}.tpv-detail-import{min-width:70px;text-align:right;font-weight:800}.tpv-products-panel{flex:1;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:10px}.tpv-split-panel{border:1px dashed rgba(0,0,0,.15);border-radius:12px;padding:10px;margin-bottom:10px}.tpv-split-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tpv-split-title{font-weight:800}.tpv-split-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.tpv-split-row select{min-width:220px;padding:8px;border-radius:10px;border:1px solid rgba(0,0,0,.18)}.tpv-split-list{display:grid;gap:6px}.tpv-split-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:#00000008}.tpv-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.tpv-prod{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;min-height:110px;background:#0000000a}.tpv-prod-img{width:56px;height:56px;object-fit:contain}.tpv-prod-text{font-weight:800;text-align:center}.tpv-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:14px;z-index:100}.tpv-modal{width:min(520px,100%);background:#fff;border-radius:14px;overflow:hidden}.tpv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#00000008}.tpv-modal-title{font-weight:800}.tpv-modal-body{padding:12px}.tpv-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px}.tpv-keypad-display{padding:12px;border-radius:12px;background:#0000000d;font-size:28px;font-weight:900;text-align:right;margin-bottom:12px}.tpv-keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tpv-btn-key{background:#0000000f;font-size:18px;font-weight:900}.tpv-kitchen{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.tpv-kitchen-card{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);overflow:hidden}.tpv-kitchen-head{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#00000008}.tpv-kitchen-title{font-weight:900}.tpv-kitchen-sub{font-size:12px;color:#0009}.tpv-kitchen-lines{padding:12px;display:flex;flex-direction:column;gap:10px}.tpv-kitchen-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#0000000a}.tpv-kitchen-line-name{font-weight:800;margin-bottom:6px}.tpv-kitchen-line-meta{display:flex;gap:6px;flex-wrap:wrap}.tpv-kitchen-summary-wrap{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:12px;margin-bottom:14px}.tpv-kitchen-summary-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.tpv-kitchen-summary-title{font-weight:900}.tpv-kitchen-summary-sub{font-size:12px;color:#0009}.tpv-kitchen-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.tpv-kitchen-summary-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#0000000a}.tpv-kitchen-summary-main{display:flex;align-items:center;gap:8px;min-width:0}.tpv-kitchen-summary-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpv-kitchen-summary-qty{font-size:18px;font-weight:900}.tpv-kitchen-groups{display:flex;flex-direction:column;gap:14px}.tpv-kitchen-group-block{display:flex;flex-direction:column;gap:10px}.tpv-kitchen-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.tpv-kitchen-group-title{font-weight:900;font-size:18px}.tpv-pill-format{background:#4678ff24;color:#2148b8}.tpv-pill-extra{background:#ffaa3c29;color:#9a4d00}.tpv-detail-row.has-extras{border-left:4px solid rgba(109,76,255,.45);padding-left:8px}.tpv-modal-backdrop{position:fixed;inset:0;background:#0a121e7a;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.tpv-modal{width:min(900px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 80px #00000047}.tpv-modal-head,.tpv-modal-foot{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(0,0,0,.08)}.tpv-modal-foot{border-bottom:0;border-top:1px solid rgba(0,0,0,.08)}.tpv-modal-title{font-size:18px;font-weight:900}.tpv-modal-sub{font-size:12px;color:#0009}.tpv-modal-body{padding:16px;overflow:auto;display:grid;gap:14px}.tpv-extra-block{background:#00000008;border-radius:14px;padding:12px;display:grid;gap:10px}.tpv-extra-title{font-weight:900}.tpv-extra-option,.tpv-extra-qty-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.tpv-extra-option input{margin-right:8px}.tpv-extra-name{font-weight:700}.tpv-extra-help{font-size:12px;color:#0000009e}.tpv-extra-qty{width:82px}.tpv-modal-total{font-size:16px}.tpv-modal-actions{display:flex;gap:10px}.tpv-qty-control{display:flex;align-items:center;gap:.5rem}.tpv-qty-btn{width:2rem;height:2rem;border:1px solid #ccc;background:#f0f0f0;cursor:pointer;font-weight:700}.tpv-qty-btn:disabled{opacity:.5;cursor:not-allowed}.tpv-qty-value{min-width:2rem;text-align:center;font-weight:500}.tpv-modal-menu{width:min(1180px,97vw)}.tpv-menu-body{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}@media(max-width:820px){.tpv-menu-body{grid-template-columns:1fr}}.tpv-menu-grupos{display:grid;gap:6px;background:#1565c0;border-radius:14px;padding:8px}.tpv-menu-grupo{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:6px;min-height:54px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#fff;font-size:18px;font-weight:700;text-align:left;cursor:pointer}.tpv-menu-grupo.is-active{background:#ffffff38}.tpv-menu-grupo-marca{font-size:18px;text-align:center}.tpv-menu-grupo-texto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpv-menu-opciones{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;min-height:220px}.tpv-menu-opcion{width:192px;min-height:103px;padding:8px;border:1px solid rgba(0,0,0,.18);border-radius:12px;background:#f4f4f4;font-size:15px;font-weight:600;line-height:1.25;cursor:pointer}.tpv-menu-opcion.is-elegida{background:#90ee90!important;color:#10310f!important;border-color:#2e7d32;box-shadow:inset 0 0 0 2px #2e7d32}.tpv-menu-vacio{padding:16px;color:#0009}
