:root{--surface-primary: #fff;--surface-secondary: #f5f5f5;--surface-elevated: #fff;--text-primary: #222;--text-secondary: #555;--text-inverse: #fff;--border-default: #ddd;--border-strong: #1a1a2e;--accent-primary: #1a1a2e;--accent-hover: #292943;--status-success: #1e7a38;--status-error: #c62828;--status-error-surface: #fdecea;--status-warning: #956400;--status-warning-surface: #fff8e1;--message-user: #1a1a2e;--message-assistant: #f0f0f0;--code-surface: #1e1e1e;--code-text: #d4d4d4;--overlay: rgba(0, 0, 0, .55);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}:root[data-theme=dark]{--surface-primary: #121212;--surface-secondary: #1a1a1a;--surface-elevated: #1e1e1e;--text-primary: #f5f5f5;--text-secondary: #b8b8b8;--border-default: #4a4a4a;--border-strong: #8b8ba0;--accent-primary: #d8d8e8;--accent-hover: #fff;--status-success: #6ccb83;--status-error: #ff8a80;--status-error-surface: #3d2020;--status-warning: #ffcf70;--status-warning-surface: #40351d;--message-user: #55536f;--message-assistant: #292929;--code-surface: #090909;--code-text: #f0f0f0;--overlay: rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--surface-secondary);color:var(--text-primary)}.app{display:flex;flex-direction:column;height:100vh;max-width:800px;margin:0 auto;background:var(--surface-primary);box-shadow:0 0 20px #0000001a}.app-header{padding:var(--space-4) var(--space-6);background:var(--accent-primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:space-between}.app-header h1{font-size:1.2rem;font-weight:600}.app-header__actions{display:flex;gap:var(--space-2)}.header-button{padding:6px 14px;background:transparent;color:var(--text-inverse);border:1px solid rgba(255,255,255,.35);border-radius:6px;cursor:pointer;font-size:.875rem}.header-button:hover{background:#ffffff1a}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:40px 36px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:24px}.login-box h1{font-size:1.25rem;font-weight:700;color:#1a1a2e;text-align:center}.login-box form{display:flex;flex-direction:column;gap:16px}.login-box label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:#555;font-weight:500}.login-box input{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;outline:none}.login-box input:focus{border-color:#1a1a2e}.login-box input:disabled{background:#f5f5f5;color:#aaa}.login-box button[type=submit]{padding:11px;background:#1a1a2e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:4px}.login-box button[type=submit]:disabled{opacity:.45;cursor:not-allowed}.login-error{color:#c62828;font-size:.85rem;background:#fdecea;border-radius:6px;padding:8px 12px}.chat-window{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.message{display:flex;flex-direction:column;gap:4px;max-width:75%}.message--user{align-self:flex-end}.message--assistant{align-self:flex-start}.message__role{font-size:.72rem;color:#888;padding:0 4px}.message__content{padding:10px 14px;border-radius:12px;white-space:pre-wrap;word-break:break-word;line-height:1.5}.message--user .message__content{background:#1a1a2e;color:#fff;border-bottom-right-radius:4px}.message--assistant .message__content{background:#f0f0f0;color:#222;border-bottom-left-radius:4px}.message--pending .message__content{opacity:.55}.message--error .message__content{background:#fdecea;color:#c62828}.message-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e0e0e0;align-items:flex-end}.message-input__selectors{display:flex;flex-direction:column;gap:4px}.message-input textarea{flex:1;padding:10px;border:1px solid #ddd;border-radius:8px;resize:none;font-size:.95rem;outline:none;font-family:inherit}.message-input textarea:focus{border-color:#1a1a2e}.message-input textarea:disabled{background:#f5f5f5;color:#aaa}.message-input button{padding:10px 20px;background:#1a1a2e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;white-space:nowrap}.message-input button:disabled{opacity:.45;cursor:not-allowed}.message-input__mode,.message-input__type,.message-input__oem,.message-input__lang{padding:0 8px;height:34px;border:1px solid #ddd;border-radius:8px;font-size:.85rem;font-family:inherit;background:#fff;color:#222;cursor:pointer;outline:none;width:120px}.message-input__mode{height:40px;font-size:.9rem}.message-input__lang{width:90px}.message-input__mode:focus,.message-input__type:focus,.message-input__oem:focus,.message-input__lang:focus{border-color:#1a1a2e}.message-input__mode:disabled,.message-input__type:disabled,.message-input__oem:disabled,.message-input__lang:disabled{background:#f5f5f5;color:#aaa;cursor:not-allowed}.message__content--scada{padding:0;background:transparent}.scada-result{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#f0f0f0;border-radius:12px 12px 12px 4px;max-width:100%}.scada-result__title{font-size:.9rem;font-weight:600;color:#1a1a2e}.scada-result__canvas-wrap{overflow:auto;border:1px solid #ddd;border-radius:8px;background:#fff;max-height:480px}.scada-result__canvas{display:block;max-width:100%}.scada-result__render-error{padding:12px;color:#c62828;font-size:.85rem}.scada-result__warning{background:#fff8e1;border:1px solid #ffca28;border-radius:8px;padding:10px 12px;font-size:.82rem;color:#5d4037}.scada-result__warning strong{display:block;margin-bottom:6px}.scada-result__warning ul{padding-left:18px;margin:0}.scada-result__warning li{margin-bottom:2px}.scada-result__btns{display:flex;gap:8px;flex-wrap:wrap}.scada-result__btn{padding:7px 14px;border:1px solid #1a1a2e;border-radius:8px;background:#fff;color:#1a1a2e;font-size:.85rem;cursor:pointer;transition:background .15s}.scada-result__btn:hover{background:#1a1a2e;color:#fff}.scada-error__details{margin-top:8px;font-size:.82rem}.scada-error__details summary{cursor:pointer;color:#888}.scada-error__raw{background:#2d2d2d;color:#eee;padding:10px;border-radius:6px;font-size:.78rem;max-height:160px;overflow:auto;white-space:pre-wrap;margin-top:6px}.scada-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.scada-modal{background:#fff;border-radius:12px;width:90%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000040}.scada-modal__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;font-size:.9rem;font-weight:600;color:#1a1a2e}.scada-modal__actions{display:flex;gap:8px}.scada-modal__copy,.scada-modal__close{padding:5px 12px;border-radius:6px;border:1px solid #ddd;background:#f5f5f5;cursor:pointer;font-size:.83rem}.scada-modal__close{font-size:1rem;line-height:1}.scada-modal__copy:hover,.scada-modal__close:hover{background:#e0e0e0}.scada-modal__body{flex:1;overflow:auto;padding:16px;font-size:.82rem;background:#1e1e1e;color:#d4d4d4;white-space:pre;font-family:Courier New,monospace;margin:0}.settings-overlay,.report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:var(--space-4);background:var(--overlay)}.settings-panel,.report-modal{width:min(100%,560px);border:1px solid var(--border-default);border-radius:20px;background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 8px 32px #00000040}.settings-panel{padding:var(--space-6)}.settings-panel__header,.report-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.settings-panel__header h2,.report-modal__header h2{font-size:1.25rem;line-height:1.2}.settings-panel__actions{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.settings-action{min-height:72px;border:1px solid var(--border-default);border-radius:18px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:700}.settings-action:hover{border-color:var(--border-strong);background:var(--surface-secondary)}.icon-button{display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid var(--border-default);border-radius:14px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:2rem;line-height:1}.icon-button:hover{background:var(--surface-secondary)}.report-modal{width:min(100%,720px);max-height:calc(100dvh - 32px);overflow:auto;padding:var(--space-8);background:#121212;color:#f5f5f5;border-color:#3a3a3a}.icon-button--dark{border-color:#4a4a4a;color:#f5f5f5}.icon-button--dark:hover{background:#242424}.report-form{display:grid;gap:var(--space-6);margin-top:var(--space-6)}.report-form fieldset{border:0}.report-form legend,.report-form__description{display:grid;gap:var(--space-3);font-size:1.125rem;font-weight:700}.report-form__types{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.report-form__type{display:flex;align-items:center;gap:var(--space-3);font-size:1rem;font-weight:500}.report-form__type input{width:20px;height:20px;accent-color:#2684ff}.report-form__description textarea{min-height:140px;resize:vertical;border:1px solid #777;border-radius:12px;background:#fff;color:#222;padding:var(--space-3);font:inherit}.report-form__success{color:#6ccb83;font-size:.875rem;font-weight:700}.report-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.button{min-height:48px;padding:0 var(--space-5);border-radius:12px;cursor:pointer;font:inherit;font-weight:700}.button--primary{border:1px solid #f5f5f5;background:#f5f5f5;color:#171717}.button--secondary{border:1px solid #4a4a4a;background:transparent;color:#f5f5f5}.button:hover{transform:translateY(-1px)}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}@media (max-width: 640px){.app{max-width:none}.app-header{padding:var(--space-3) var(--space-4)}.app-header h1{font-size:1rem}.header-button{padding:6px 10px;font-size:.75rem}.settings-panel,.report-modal{padding:var(--space-5)}.report-form__actions{flex-direction:column}.button{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.login-page{background:var(--surface-secondary)}.login-box{background:var(--surface-elevated);color:var(--text-primary)}.login-box h1{color:var(--text-primary)}.login-box label{color:var(--text-secondary)}.login-box input,.message-input textarea,.message-input__mode,.message-input__type,.message-input__oem,.message-input__lang{border-color:var(--border-default);background:var(--surface-elevated);color:var(--text-primary)}.login-box input:focus,.message-input textarea:focus,.message-input__mode:focus,.message-input__type:focus,.message-input__oem:focus,.message-input__lang:focus{border-color:var(--border-strong)}.login-box input:disabled,.message-input textarea:disabled,.message-input__mode:disabled,.message-input__type:disabled,.message-input__oem:disabled,.message-input__lang:disabled{background:var(--surface-secondary);color:var(--text-secondary)}.login-box button[type=submit],.message-input button{background:var(--accent-primary);color:var(--text-inverse)}.login-error,.message--error .message__content{color:var(--status-error);background:var(--status-error-surface)}.chat-window,.message-input{background:var(--surface-primary);border-color:var(--border-default)}.message__role{color:var(--text-secondary)}.message--user .message__content{background:var(--message-user);color:var(--text-inverse)}.message--assistant .message__content,.scada-result{background:var(--message-assistant);color:var(--text-primary)}.scada-result__title,.scada-result__btn{color:var(--text-primary)}.scada-result__canvas-wrap,.scada-modal{border-color:var(--border-default);background:var(--surface-elevated)}.scada-result__warning{background:var(--status-warning-surface);border-color:var(--status-warning);color:var(--text-primary)}.scada-result__btn{border-color:var(--border-strong);background:var(--surface-elevated)}.scada-result__btn:hover{background:var(--accent-primary);color:var(--text-inverse)}.scada-error__raw,.scada-modal__body{background:var(--code-surface);color:var(--code-text)}.scada-modal__header,.scada-modal__copy,.scada-modal__close{border-color:var(--border-default);background:var(--surface-secondary);color:var(--text-primary)}.report-modal{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-default)}.icon-button--dark{border-color:var(--border-default);color:var(--text-primary)}.icon-button--dark:hover{background:var(--surface-secondary)}.report-form__type input{accent-color:var(--accent-primary)}.report-form__description textarea{border-color:var(--border-default);background:var(--surface-primary);color:var(--text-primary)}.button--primary{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-inverse)}.button--secondary{border-color:var(--border-default);color:var(--text-primary)}.analysis-app{width:100%;max-width:1440px;height:100dvh}.analysis-header{flex:0 0 auto;min-width:0}.analysis-header__title{min-width:0}.analysis-header__title p{margin-top:var(--space-1);color:var(--text-inverse);font-size:.75rem;opacity:.82}.analysis-header .header-button{border-color:var(--border-default);color:var(--text-inverse);text-decoration:none}.analysis-page{min-height:0;flex:1;display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden;padding:var(--space-4);background:var(--surface-primary);color:var(--text-primary)}.analysis-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:var(--space-4);align-items:end;flex:0 0 auto}.analysis-toolbar__actions{display:flex;align-items:end;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.analysis-field{display:grid;min-width:0;gap:var(--space-1);color:var(--text-secondary);font-size:.875rem;font-weight:500}.analysis-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-field input,.analysis-field select,.analysis-page-size select{min-width:0;min-height:40px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:8px;background:var(--surface-elevated);color:var(--text-primary);font:inherit}.analysis-field input:disabled,.analysis-field select:disabled,.analysis-page-size select:disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}.analysis-table-select select{min-width:min(100%,360px)}.analysis-auto-refresh{display:flex;align-items:center;gap:var(--space-2);min-height:40px;color:var(--text-primary);font-size:.875rem}.analysis-auto-refresh input{width:18px;height:18px;accent-color:var(--accent-primary)}.analysis-refresh-interval{min-width:118px}.analysis-filters{display:grid;gap:var(--space-4);flex:0 0 auto;padding:var(--space-4);border:1px solid var(--border-default);border-radius:12px;background:var(--surface-elevated)}.analysis-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3)}.analysis-column-picker{min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary)}.analysis-column-picker legend{padding:0 var(--space-1);color:var(--text-secondary);font-size:.875rem;font-weight:500}.analysis-column-picker__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.analysis-column-picker__option{display:flex;min-width:0;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:8px;background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.analysis-column-picker__option:hover{border-color:var(--border-default)}.analysis-column-picker__option input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--accent-primary)}.analysis-column-picker__option-text{display:grid;min-width:0;gap:var(--space-1)}.analysis-column-picker__option-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-column-picker__option-text small{color:var(--text-secondary);font-size:.75rem}.analysis-column-picker__summary{margin-top:var(--space-2);color:var(--text-secondary);font-size:.75rem}.analysis-column-picker__error{margin-top:var(--space-1);color:var(--status-error);font-size:.875rem}.analysis-column-picker:disabled .analysis-column-picker__option{cursor:not-allowed;opacity:.65}.analysis-filter-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.analysis-page .button--primary{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-inverse)}.analysis-page .button--secondary{border-color:var(--border-default);background:var(--surface-elevated);color:var(--text-primary)}.analysis-results{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-3)}.analysis-results__header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);flex:0 0 auto}.analysis-results__header h2{font-size:1.125rem;line-height:1.3}.analysis-results__header p{margin-top:var(--space-1);color:var(--text-secondary);font-size:.875rem}.analysis-page-size{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.875rem}.analysis-page-size select{min-height:36px}.analysis-results__body{min-height:0;flex:1 1 auto;overflow:auto;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-elevated)}.analysis-table{width:100%;min-width:760px;border-collapse:collapse;color:var(--text-primary);font-size:.875rem}.analysis-table th{position:sticky;top:0;z-index:1;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-strong);background:var(--surface-secondary);text-align:left;vertical-align:bottom}.analysis-table td{max-width:280px;padding:var(--space-3);border-bottom:1px solid var(--border-default);vertical-align:top;word-break:break-word}.analysis-table tbody tr:hover{background:var(--surface-secondary)}.analysis-table__sort{display:grid;width:100%;gap:var(--space-1);border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:inherit;font-weight:700;text-align:left}.analysis-table__sort small{color:var(--text-secondary);font-size:.75rem;font-weight:400}.analysis-value{display:block;max-width:100%;white-space:pre-wrap}.analysis-value-wrap{display:grid;gap:var(--space-2);min-width:0}.analysis-value-toggle{max-width:100%;padding:0;overflow:hidden;border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap}.analysis-value-toggle:hover{color:var(--accent-hover);text-decoration:underline}.analysis-value-details{max-height:260px;overflow:auto;padding:var(--space-3);border:1px solid var(--border-default);border-radius:8px;background:var(--code-surface);color:var(--code-text);font:.75rem/1.5 Courier New,monospace;white-space:pre-wrap}.analysis-state,.analysis-inline-state{display:grid;place-items:center;gap:var(--space-3);min-height:140px;padding:var(--space-6);color:var(--text-secondary);text-align:center}.analysis-state--error{color:var(--status-error)}.analysis-state--error .button{justify-self:center}.analysis-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex:0 0 auto;color:var(--text-secondary);font-size:.875rem}.analysis-pagination .button{min-height:40px;padding:0 var(--space-3)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 639px){.analysis-app{height:auto;min-height:100dvh}.analysis-header{align-items:flex-start;gap:var(--space-3)}.analysis-header .app-header__actions{flex-wrap:wrap;justify-content:flex-end}.analysis-header .header-button{padding:6px 8px;font-size:.75rem}.analysis-page{overflow:visible;padding:var(--space-3)}.analysis-toolbar{grid-template-columns:1fr;gap:var(--space-3)}.analysis-toolbar__actions{justify-content:flex-start}.analysis-filter-grid,.analysis-column-picker__options{grid-template-columns:1fr}.analysis-filter-actions{flex-direction:column}.analysis-filter-actions .button{width:100%}.analysis-results__header{align-items:flex-start;flex-direction:column}.analysis-results__body{overflow:visible;border:0;background:transparent}.analysis-table{min-width:0;border-spacing:0 var(--space-3);border-collapse:separate}.analysis-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.analysis-table tbody{display:grid;gap:var(--space-3)}.analysis-table tr{display:grid;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-elevated);overflow:hidden}.analysis-table td{display:grid;grid-template-columns:minmax(7rem,35%) minmax(0,1fr);gap:var(--space-3);max-width:none;padding:var(--space-3);border-bottom:1px solid var(--border-default)}.analysis-table td:last-child{border-bottom:0}.analysis-table td:before{content:attr(data-label);color:var(--text-secondary);font-weight:700}.analysis-value-toggle{white-space:normal}.analysis-pagination{justify-content:space-between;gap:var(--space-2)}.analysis-pagination .button{padding:0 var(--space-2)}}
