:root{--color-bg: #f4f6f9;--color-sidebar: #0f1629;--color-sidebar-hover: rgba(255, 255, 255, .06);--color-sidebar-active: rgba(79, 110, 247, .18);--color-primary: #4f6ef7;--color-primary-hover: #3d5ce5;--color-text: #111827;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-white: #ffffff;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--radius: 12px;--radius-sm: 8px;--sidebar-width: 240px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body:has(.app-shell){overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text)}#root{height:100%}a{color:inherit}.app-shell{display:flex;height:100vh;overflow:hidden}.app-shell__content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;margin-left:var(--sidebar-width);overflow:hidden}.app-shell__main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar{position:fixed;top:0;left:0;z-index:100;width:var(--sidebar-width);height:100vh;background:var(--color-sidebar);color:#c9d1e0;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.sidebar__logo{width:36px;height:36px;border-radius:10px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.sidebar__title{color:#fff;font-weight:600;font-size:.95rem;line-height:1.9}.sidebar__subtitle{font-size:.72rem;color:#8b95a8}.sidebar__nav{flex:1;padding:1rem .75rem;overflow-y:auto;overflow-x:hidden}.sidebar__section{margin-bottom:1.25rem}.sidebar__section-title{font-size:.65rem;font-weight:600;letter-spacing:.08em;color:#6b7280;padding:0 .75rem;margin-bottom:.5rem}.sidebar__link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:var(--radius-sm);color:#b8c0d0;text-decoration:none;font-size:.875rem;margin-bottom:.15rem;transition:background .15s,color .15s}.sidebar__link:hover{background:var(--color-sidebar-hover);color:#fff}.sidebar__link--active{background:var(--color-sidebar-active);color:#fff}.top-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.75rem;background:var(--color-white);border-bottom:1px solid var(--color-border);flex-shrink:0;position:sticky;top:0;z-index:10}.top-header__workspace{font-size:.875rem;color:var(--color-text-muted)}.top-header__user{display:flex;align-items:center;gap:.75rem}.top-header__user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.top-header__name{font-size:.875rem;font-weight:600;text-transform:capitalize}.top-header__email{font-size:.75rem;color:var(--color-text-muted)}.top-header__avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.top-header__logout{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.35rem;border-radius:6px;display:flex}.top-header__logout:hover{background:var(--color-bg);color:var(--color-text)}.page-content{padding:1.5rem 1.75rem 2rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-header__title{font-size:1.75rem;font-weight:700;line-height:1.2}.page-header__subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:.25rem}.page-header__actions{display:flex;gap:.6rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:none;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-white);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg)}.btn--white{background:#fff;color:var(--color-text);padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:500;text-decoration:none;font-size:.875rem}.btn--ghost{background:#ffffff26;color:#fff;padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:500;text-decoration:none;font-size:.875rem;border:1px solid rgba(255,255,255,.25)}.data-table__actions .btn--ghost,.data-panel .btn--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-border);padding:.35rem .7rem;font-size:.8rem}.data-table__actions .btn--ghost:hover,.data-panel .btn--ghost:hover{background:#eef2ff;border-color:#c7d2fe}.dashboard-page{padding:1.5rem 1.75rem 2rem}.welcome-banner{display:flex;justify-content:space-between;gap:2rem;padding:2rem 2.25rem;border-radius:var(--radius);background:linear-gradient(135deg,#4f46e5,#7c3aed,#6366f1);color:#fff;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.welcome-banner__badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;opacity:.85;margin-bottom:.75rem}.welcome-banner__title{font-size:1.75rem;font-weight:700;margin-bottom:.6rem;text-transform:capitalize}.welcome-banner__text{font-size:.9rem;line-height:1.6;opacity:.9;max-width:520px;margin-bottom:1.25rem}.welcome-banner__actions{display:flex;gap:.75rem;flex-wrap:wrap}.welcome-banner__meta{text-align:right;flex-shrink:0}.welcome-banner__date{font-size:.8rem;opacity:.85;margin-bottom:.5rem}.welcome-banner__role{font-size:.85rem;margin-bottom:1.25rem}.welcome-banner__mini-stats{display:flex;gap:.75rem}.welcome-banner__mini-stat{background:#ffffff26;border-radius:var(--radius-sm);padding:.75rem 1rem;min-width:100px}.welcome-banner__mini-stat--link{text-decoration:none;color:inherit;transition:background .15s ease}.welcome-banner__mini-stat--link:hover{background:#ffffff40}.welcome-banner__mini-value{display:block;font-size:1.25rem;font-weight:700}.welcome-banner__mini-label{font-size:.72rem;opacity:.85}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--color-white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.stat-card--link{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stat-card--link:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card--link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stat-card__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:.75rem}.stat-card__value{font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-card__label{font-size:.8rem;color:var(--color-text-muted)}.dashboard-card{background:var(--color-white);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.dashboard-card__title{font-size:1rem;font-weight:600;margin-bottom:1rem}.quick-links{display:flex;flex-wrap:wrap;gap:.75rem}.quick-link{padding:.5rem 1rem;background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-primary);text-decoration:none;font-weight:500}.quick-link:hover{background:#e8edff}.data-panel{background:var(--color-white);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.data-panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.search-input{display:flex;align-items:center;gap:.5rem;flex:1;max-width:400px;padding:.55rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted)}.search-input input{border:none;outline:none;flex:1;font-size:.875rem;color:var(--color-text);background:transparent}.data-panel__count{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.filter-row{display:grid;grid-template-columns:220px 1fr 1fr auto;gap:1rem;align-items:end}.filter-field{display:grid;gap:.35rem}.filter-field--actions{display:flex;justify-content:flex-end}.filter-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.filter-input{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-white);color:var(--color-text)}.filter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.searchable-select{position:relative;display:grid;gap:.35rem}.searchable-select--disabled{opacity:.7}.searchable-select__dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0f172a1f}.searchable-select__option{display:block;width:100%;padding:.75rem .85rem;border:none;border-bottom:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);font-size:.875rem;text-align:left;cursor:pointer}.searchable-select__option:last-child{border-bottom:none}.searchable-select__option:hover,.searchable-select__option--selected{background:#f8fafc}.searchable-select__option--empty{color:var(--color-text-muted)}.searchable-select__empty{padding:.75rem .85rem;font-size:.875rem;color:var(--color-text-muted)}.data-table-wrap{overflow-x:auto;overflow-y:visible;max-width:100%}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.85rem 1.25rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);background:#fafbfc}.data-table td{padding:.9rem 1.25rem;border-bottom:1px solid var(--color-border)}.data-table tbody tr:hover{background:#fafbfc}.data-table__link{background:none;border:none;color:var(--color-primary);font-weight:500;cursor:pointer;font-size:inherit;padding:0;text-align:left;display:inline-block;max-width:100%}.data-table__link:hover{text-decoration:underline}.data-table__empty{text-align:center;color:var(--color-text-muted);padding:2rem!important}.data-table__actions{display:flex;gap:.35rem}.icon-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.35rem;border-radius:6px;display:flex}.icon-btn:hover{background:var(--color-bg);color:var(--color-text)}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background:#dcfce7;color:#166534}.status-badge--inactive{background:#fee2e2;color:#991b1b}.role-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background:#eef2ff;color:#3730a3}.role-badge--admin{background:#dbeafe;color:#1e40af}.role-badge--operator{background:#fef3c7;color:#92400e}.role-badge--viewer{background:#f3f4f6;color:#4b5563}.empty-state{display:flex;align-items:center;justify-content:flex-start;min-height:120px;padding:2rem 1.5rem}.empty-state__text{margin:0;font-size:.95rem;color:var(--color-text-muted);line-height:1.5}.empty-state__link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.empty-state__link:hover{color:var(--color-primary-dark, #1d4ed8)}.login-split{display:flex;min-height:100vh}.login-split__brand{flex:1;background:var(--color-sidebar);color:#fff;display:flex;align-items:center;padding:3rem}.login-split__brand-inner{max-width:480px}.login-split__logo-row{display:flex;align-items:center;gap:.75rem;margin-bottom:3rem}.login-split__logo{width:40px;height:40px;border-radius:10px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.login-split__logo-text{font-size:1.1rem;font-weight:600}.login-split__headline{font-size:2rem;font-weight:700;line-height:1.3;margin-bottom:1.25rem}.login-split__description{font-size:.95rem;line-height:1.7;color:#a8b4c8;margin-bottom:3rem}.login-split__footer-note{font-size:.8rem;color:#6b7a90}.login-split__form-panel{flex:1;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.login-card{width:100%;max-width:420px;background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:2rem 2.25rem}.login-card__title{font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.login-card__subtitle{color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:.35rem}.login-form__label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-top:.5rem}.login-form__input{padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;width:100%;transition:border-color .15s,box-shadow .15s}.login-form__input::placeholder{color:#b0b8c4}.login-form__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f6ef726}.login-form__password-wrap{position:relative;display:flex;align-items:center}.login-form__lock-icon{position:absolute;left:.75rem;color:#b0b8c4;display:flex;pointer-events:none}.login-form__input--password{padding-left:2.25rem;padding-right:2.75rem}.login-form__toggle-password{position:absolute;right:.6rem;display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:4px}.login-form__toggle-password:hover{color:var(--color-text)}.login-form__submit{margin-top:1rem;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.login-form__submit:hover:not(:disabled){background:var(--color-primary-hover)}.login-form__submit:disabled{opacity:.6;cursor:not-allowed}.login-split__powered-by{margin-top:1.5rem;text-align:center;font-size:.8rem;color:var(--color-text-muted)}.login-split__powered-by a{color:var(--color-text);font-weight:500;text-decoration:none}.login-split__powered-by a:hover{text-decoration:underline}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:3rem}.spinner{border:3px solid #e5e7eb;border-top:3px solid var(--color-primary);border-radius:50%;width:36px;height:36px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{padding:.75rem 1rem;background:#fef2f2;color:#b91c1c;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;border:1px solid #fecaca}.user-detail{display:grid;gap:1rem}.user-field{display:grid;grid-template-columns:120px 1fr;gap:.5rem;font-size:.9rem}.user-field label{color:var(--color-text-muted);font-weight:500}.data-table__code{font-family:ui-monospace,monospace;font-size:.8rem;color:var(--color-primary)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid var(--color-border)}.pagination__info{font-size:.875rem;color:var(--color-text-muted)}@media (max-width: 900px){.login-split{flex-direction:column}.login-split__brand{padding:2rem}.login-split__headline{font-size:1.5rem}.welcome-banner{flex-direction:column}.welcome-banner__meta{text-align:left}.sidebar{width:100%;height:auto;position:relative}.app-shell{flex-direction:column;height:auto;overflow:auto}.app-shell__content{margin-left:0;height:auto;overflow:visible}.app-shell__main{overflow:visible}html,body{height:auto;overflow:auto}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f162980;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--color-white);border-radius:var(--radius);width:100%;max-width:440px;padding:1.5rem;box-shadow:0 20px 60px #0f172a33}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal__header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.modal--document-preview{max-width:min(1100px,96vw);width:96vw;height:min(88vh,900px);display:flex;flex-direction:column;padding:1.25rem 1.25rem 1rem}.document-preview__body{flex:1;min-height:0;margin-top:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center}.document-preview__frame{width:100%;height:100%;border:none;background:#fff}.document-preview__image{max-width:100%;max-height:100%;object-fit:contain;padding:1rem}.document-preview__fallback{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center;color:var(--color-text-muted)}.modal__title{font-size:1.15rem;font-weight:700;margin:0;flex:1;min-width:0}.modal__close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:.15rem .35rem;margin:-.15rem -.35rem 0 0;flex-shrink:0;border-radius:var(--radius-sm)}.modal__close:hover{color:var(--color-text);background:#0f172a0f}.modal__form{display:flex;flex-direction:column;gap:.75rem}.form-grid{display:grid;gap:.75rem}.form-grid--2{grid-template-columns:1fr}@media (min-width: 560px){.form-grid--2{grid-template-columns:1fr 1fr}.form-grid__span-2{grid-column:1 / -1}}.modal--form{max-width:min(720px,96vw)}.modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.form-field{display:flex;flex-direction:column;gap:.3rem;position:relative}.form-field__label{font-size:.8rem;font-weight:500;color:var(--color-text-muted)}.form-field__label--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-field__hint{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.form-field__input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem}.form-field__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f6ef726}.form-field__password-wrap{position:relative}.form-field__password-wrap .form-field__input{width:100%;padding-right:2.5rem}.form-field__toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:.9rem;padding:.2rem}.import-card{background:var(--color-white);border-radius:var(--radius);border:1px solid var(--color-border);padding:1.5rem;box-shadow:var(--shadow-sm)}.import-card__title{font-size:1rem;font-weight:600;margin-bottom:.35rem}.import-card__desc{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.5}.import-card__columns{margin-bottom:1.25rem}.import-card__columns-label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);display:block;margin-bottom:.5rem}.import-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.import-tag{font-size:.72rem;padding:.2rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;color:var(--color-text-muted);transition:border-color .15s,background .15s;margin-bottom:1rem}.upload-zone:hover{border-color:var(--color-primary);background:#f8faff}.upload-zone__text{font-size:.9rem;font-weight:500;color:var(--color-text);margin-top:.75rem}.upload-zone__hint{font-size:.75rem;margin-top:.25rem}.upload-zone__input{display:none}.import-card__submit{width:100%;justify-content:center}.success-message{padding:.75rem 1rem;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem}.settings-grid{display:grid;gap:1.25rem}.settings-hub{width:100%;max-width:none}.settings-hub__section-label{margin:0 0 .75rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-muted)}.settings-hub__list{display:flex;flex-direction:column;gap:.75rem}.settings-accordion{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.settings-accordion--open{border-color:#d7dce5}.settings-accordion--link{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;text-decoration:none;color:inherit;transition:background .15s ease,border-color .15s ease}.settings-accordion--link:hover{background:#fafbfc;border-color:#cfd6e3}.settings-accordion__header{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit;transition:background .15s ease}.settings-accordion__header:hover{background:#fafbfc}.settings-accordion__icon{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-accordion__icon--green{background:#ecfdf5;color:#059669}.settings-accordion__icon--blue{background:#eff6ff;color:#2563eb}.settings-accordion__icon--amber{background:#fffbeb;color:#d97706}.settings-accordion__icon--red{background:#fef2f2;color:#dc2626}.settings-accordion__icon--violet{background:#f5f3ff;color:#7c3aed}.settings-accordion__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.settings-accordion__title{font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.3}.settings-accordion__desc{font-size:.82rem;color:var(--color-text-muted);line-height:1.4}.settings-accordion__chevron{flex-shrink:0;color:#9aa3b2;transition:transform .2s ease}.settings-accordion__chevron--open{transform:rotate(180deg)}.settings-accordion__chevron--right{transform:none}.settings-accordion__body{padding:1rem 1.15rem 1.25rem;border-top:1px solid var(--color-border)}.settings-card__title{font-size:1rem;font-weight:600;margin-bottom:1rem}.settings-card__desc{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.settings-status-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--color-border);font-size:.875rem}.settings-status-row:last-child{border-bottom:none}.settings-field{margin-bottom:1rem}.settings-field__label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.35rem}.settings-code{font-family:ui-monospace,monospace;font-size:.8rem;background:var(--color-bg);padding:.2rem .4rem;border-radius:4px}.settings-code--block{display:block;padding:.6rem .75rem;word-break:break-all;border:1px solid var(--color-border)}.blocked-user-form{display:grid;gap:1rem;max-width:420px}.settings-hint{font-size:.75rem;color:var(--color-text-muted);margin-top:.35rem;line-height:1.5}.settings-env-list{list-style:none;font-size:.875rem;line-height:1.8;color:var(--color-text-muted)}.settings-env-list code{color:var(--color-text)}.settings-input{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-white)}.settings-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.settings-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.settings-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem}.modal--role{max-width:min(720px,96vw);max-height:min(90vh,860px);overflow-y:auto}.roles-modules{display:flex;flex-direction:column;gap:.85rem;margin-top:.5rem}.roles-modules__section{display:flex;flex-direction:column;gap:.45rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc}.roles-modules__item{display:flex;gap:.65rem;align-items:flex-start;font-size:.875rem;cursor:pointer}.roles-modules__item input{margin-top:.2rem}.roles-modules__item span{display:flex;flex-direction:column;gap:.1rem}.ask-ai-page{display:flex;flex-direction:column;min-height:calc(100vh - 64px);padding-bottom:1.25rem}.ai-chat{flex:1;display:flex;flex-direction:column;min-height:520px;max-height:calc(100vh - 96px);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.ai-chat__header{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.ai-chat__header-text{flex:1;min-width:0}.ai-chat__clear{flex-shrink:0;white-space:nowrap}.ai-chat__brand-icon{width:40px;height:40px;border-radius:10px;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text);line-height:1.25}.ai-chat__subtitle{margin:.15rem 0 0;font-size:.82rem;color:var(--color-text-muted);line-height:1.35}.ai-chat__messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;background:#fafbfc}.ai-chat__row{display:flex;gap:.75rem;max-width:860px}.ai-chat__row--assistant{align-self:flex-start;width:100%}.ai-chat__row--user{align-self:flex-end;justify-content:flex-end;max-width:75%}.ai-chat__avatar{width:34px;height:34px;border-radius:10px;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat__bubble{border-radius:12px;padding:.85rem 1rem;line-height:1.55}.ai-chat__bubble--assistant{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text);max-width:min(720px,100%)}.ai-chat__bubble--user{background:var(--color-primary);color:#fff;border:none}.ai-chat__bubble-text{margin:0;font-size:.925rem;white-space:pre-wrap;word-break:break-word}.ai-chat__sources{margin:.65rem 0 0;padding-top:.55rem;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.ai-chat__bubble--typing{display:inline-flex;align-items:center;gap:.35rem;min-height:42px;padding:.75rem 1rem}.ai-chat__dot{width:7px;height:7px;border-radius:50%;background:#9aa3b2;animation:ai-chat-bounce 1.2s infinite ease-in-out}.ai-chat__dot:nth-child(2){animation-delay:.15s}.ai-chat__dot:nth-child(3){animation-delay:.3s}.inquiry-transcript__messages{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;min-height:220px;background:#f7f9fc}.inquiry-transcript__row{display:flex}.inquiry-transcript__row--inbound{justify-content:flex-start}.inquiry-transcript__row--outbound{justify-content:flex-end}.inquiry-transcript__bubble{width:fit-content;max-width:min(72%,720px);padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);box-shadow:var(--shadow-sm)}.inquiry-transcript__row--outbound .inquiry-transcript__bubble{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.inquiry-transcript__sender{margin-bottom:.3rem;font-size:.75rem;font-weight:700;opacity:.8}.inquiry-transcript__text{white-space:pre-wrap;overflow-wrap:anywhere}.inquiry-transcript__meta{margin-top:.35rem;font-size:.7rem;opacity:.65;text-align:right}@media (max-width: 640px){.inquiry-transcript__bubble{max-width:88%}}@keyframes ai-chat-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.ai-chat__error{padding:0 1.25rem}.ai-chat__composer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-white);flex-shrink:0}.ai-chat__input{flex:1;min-width:0;height:44px;padding:0 .95rem;border:1px solid var(--color-border);border-radius:10px;font-size:.9rem;color:var(--color-text);background:var(--color-white)}.ai-chat__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f6ef726}.ai-chat__input:disabled{opacity:.7;background:#f9fafb}.ai-chat__send{height:44px;padding:0 1.25rem;border:none;border-radius:10px;background:var(--color-primary);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #4f6ef740;transition:background .15s ease,opacity .15s ease}.ai-chat__send:hover:not(:disabled){background:var(--color-primary-hover)}.ai-chat__send:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media (max-width: 768px){.ai-chat{max-height:none;min-height:420px}.ai-chat__row--user{max-width:90%}.ai-chat__composer{flex-wrap:wrap}.ai-chat__send{width:100%}}
