:root{
  --bg:#f4f6fb;--bg-soft:#eef1f8;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#f0f2f7;
  --text:#111827;--text-2:#374151;--muted:#6b7280;--line:#e5e7ef;--line-strong:#d7dbe7;
  --primary:#1769e0;--primary-2:#3b82f6;--primary-dark:#0b4fb3;--primary-soft:#eaf3ff;
  --success:#0a9f6e;--success-soft:#e8faf3;--warning:#c77a08;--warning-soft:#fff7df;
  --danger:#d9364f;--danger-soft:#fff0f2;--info:#2674e8;--info-soft:#edf5ff;
  --sidebar:#071a38;--sidebar-2:#0c2852;--sidebar-text:#dce9fb;--sidebar-muted:#7f9abd;
  --shadow-sm:0 4px 15px rgba(24,31,55,.05);--shadow-md:0 12px 34px rgba(24,31,55,.08);--shadow:0 16px 50px rgba(24,31,55,.09);--shadow-lg:0 28px 80px rgba(24,31,55,.15);
  --radius-sm:10px;--radius:16px;--radius-lg:24px;--sidebar-width:276px;--topbar-height:104px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#0d1020;--bg-soft:#121629;--surface:#171b2d;--surface-2:#1c2135;--surface-3:#232940;
  --text:#f4f6ff;--text-2:#d8dcef;--muted:#979db8;--line:#292f47;--line-strong:#39405b;
  --primary-soft:#142d52;--success-soft:#13372d;--warning-soft:#3a2c12;--danger-soft:#3b1d27;--info-soft:#162d4d;
  --shadow-sm:0 4px 15px rgba(0,0,0,.12);--shadow:0 16px 50px rgba(0,0,0,.24);--shadow-lg:0 28px 80px rgba(0,0,0,.35);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI Variable Text","Aptos","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
img{max-width:100%}
.icon{width:20px;height:20px;display:block;flex:0 0 auto}
.app-shell{min-height:100vh}
.sidebar{position:fixed;z-index:60;inset:0 auto 0 0;width:var(--sidebar-width);padding:20px 16px 16px;background:linear-gradient(180deg,var(--sidebar),#0c0f1e);color:#fff;display:flex;flex-direction:column;transition:width .24s ease,transform .24s ease;box-shadow:8px 0 34px rgba(5,8,22,.08)}
.brand{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-link{min-width:0;display:flex;align-items:center;gap:12px}
.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#3b82f6,#0b4fb3);box-shadow:0 11px 28px rgba(23,105,224,.34);font-size:21px;font-weight:900;overflow:hidden;flex:0 0 auto}
.brand-mark:after{content:"";position:absolute;width:50px;height:18px;background:rgba(255,255,255,.22);transform:rotate(-28deg);top:-4px;left:-12px}
.brand-mark span{position:relative;z-index:1}
.brand-mark i{position:absolute;right:6px;bottom:6px;width:7px;height:7px;border-radius:50%;background:#7ef0c0;box-shadow:0 0 0 3px rgba(126,240,192,.15)}
.brand-copy{min-width:0;display:flex;flex-direction:column}
.brand-copy strong{font-size:18px;letter-spacing:-.02em}
.brand-copy small{color:#9298b4;font-size:11px;white-space:nowrap}
.sidebar-collapse{width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#aab0c9;cursor:pointer;font-size:21px;display:grid;place-items:center;transition:.2s}
.sidebar-collapse:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-menu{overflow-y:auto;overflow-x:hidden;padding:14px 0;scrollbar-width:thin;scrollbar-color:#34394e transparent;flex:1}
.nav-group{display:grid;gap:4px;margin-bottom:16px}
.nav-group-title{padding:6px 12px 5px;color:var(--sidebar-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}
.nav-item{min-height:42px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--sidebar-text);font-weight:600;position:relative;transition:background .18s,color .18s}
.nav-item .icon{width:19px;height:19px;color:#858da9}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item:hover .icon{color:#8ec5ff}
.nav-item.active{background:linear-gradient(90deg,rgba(23,105,224,.34),rgba(23,105,224,.12));color:#fff;box-shadow:inset 3px 0 #4da3ff}
.nav-item.active .icon{color:#8ec5ff}
.nav-pill{margin-left:auto;background:#1769e0;border:1px solid rgba(255,255,255,.12);color:#fff;padding:2px 6px;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.08em}
.nav-counter{margin-left:auto;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#e64962;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.07);padding:14px 4px 0;display:flex;align-items:center;gap:8px}
.user-card{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:6px;border-radius:12px}
.user-card:hover{background:rgba(255,255,255,.05)}
.user-card-copy{display:flex;flex-direction:column;min-width:0}
.user-card-copy strong,.user-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-card-copy strong{font-size:12px}
.user-card-copy small{font-size:10px;color:#858ca8}
.avatar{width:42px;height:42px;border-radius:14px;background:var(--avatar,#1769e0);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.avatar-sm{width:34px;height:34px;border-radius:11px;font-size:12px}
.logout-button{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#8f96b0}
.logout-button:hover{background:rgba(255,255,255,.07);color:#fff}
.logout-button .icon{width:17px}
.sidebar-backdrop{display:none;position:fixed;z-index:55;inset:0;background:rgba(5,8,20,.58);backdrop-filter:blur(3px)}
.main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .24s ease}
.topbar{min-height:var(--topbar-height);padding:22px 32px 16px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:35;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}
.page-heading{min-width:0}
.page-heading .eyebrow{color:var(--primary);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:850;margin-bottom:2px}
.page-heading h1{margin:0;font-size:26px;line-height:1.15;letter-spacing:-.035em}
.page-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}
.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:.18s;position:relative}
.icon-button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--surface-2)}
.mobile-menu-button{display:none}
.sun-icon{display:none}
html[data-theme="dark"] .moon-icon{display:none}
html[data-theme="dark"] .sun-icon{display:block}
.notification-dot{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900;border:2px solid var(--bg)}
.dropdown{position:relative}
.dropdown-panel{position:absolute;right:0;top:calc(100% + 10px);width:340px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);display:none;overflow:hidden;z-index:80}
.dropdown-panel.open{display:block;animation:dropIn .16s ease}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.dropdown-head{padding:15px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.link-button{border:0;background:none;color:var(--primary);font-size:11px;font-weight:700;cursor:pointer;padding:0}
.dropdown-empty{padding:28px;text-align:center;color:var(--muted)}
.notification-item{display:flex;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);transition:.18s}
.notification-item:last-child{border-bottom:0}
.notification-item:hover{background:var(--surface-2)}
.notification-item.unread{background:color-mix(in srgb,var(--primary-soft) 45%,var(--surface))}
.notification-type{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--info);flex:0 0 auto}
.notification-type.type-success{background:var(--success)}.notification-type.type-warning{background:var(--warning)}.notification-type.type-danger{background:var(--danger)}
.notification-item span:last-child{display:flex;flex-direction:column;min-width:0}
.notification-item strong{font-size:12px}.notification-item small{color:var(--muted);font-size:11px;margin-top:2px}.notification-item time{color:var(--muted);font-size:9px;margin-top:5px}
.content{padding:22px 32px 48px;max-width:1680px;margin:0 auto}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.gap-lg{gap:24px}.span-2{grid-column:span 2}.span-full{grid-column:1/-1}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px}
.card.flush{padding:0;overflow:hidden}.card.flat{box-shadow:none}.card.soft{background:var(--surface-2)}
.card-title{margin:0;font-size:17px;letter-spacing:-.02em}.card-subtitle{margin:5px 0 0;color:var(--muted);font-size:12px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.section-head h2,.section-head h3{margin:0;letter-spacing:-.025em}.section-head h2{font-size:18px}.section-head h3{font-size:15px}
.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn{min-height:40px;border:1px solid transparent;border-radius:12px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:12px;cursor:pointer;transition:.18s;white-space:nowrap}
.btn .icon{width:17px;height:17px}
.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;box-shadow:0 9px 22px rgba(23,105,224,.22)}
.btn-primary:hover{background:linear-gradient(135deg,#8367ff,var(--primary-dark));box-shadow:0 12px 28px rgba(23,105,224,.3)}
.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--text-2)}
.btn-secondary:hover{background:var(--surface-2);border-color:var(--line-strong)}
.btn-soft{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 14%,transparent)}
.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 15%,transparent)}
.btn-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 15%,transparent)}
.btn-sm{min-height:32px;padding:6px 10px;border-radius:9px;font-size:10px}.btn-icon{width:36px;padding:0}
.stat-card{position:relative;min-height:138px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm);overflow:hidden}
.stat-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-30px;top:-34px;background:var(--stat-soft,var(--primary-soft));opacity:.7}
.stat-card-head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.stat-label{color:var(--muted);font-size:11px;font-weight:700}.stat-icon{width:36px;height:36px;border-radius:11px;background:var(--stat-soft,var(--primary-soft));color:var(--stat,var(--primary));display:grid;place-items:center}.stat-icon .icon{width:17px}
.stat-value{display:block;font-size:31px;line-height:1;font-weight:850;letter-spacing:-.045em;margin-top:18px;position:relative;z-index:1}
.stat-meta{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;margin-top:8px;position:relative;z-index:1}.stat-meta.positive{color:var(--success)}.stat-meta.warning{color:var(--warning)}
.kpi-primary{--stat:var(--primary);--stat-soft:var(--primary-soft)}.kpi-success{--stat:var(--success);--stat-soft:var(--success-soft)}.kpi-warning{--stat:var(--warning);--stat-soft:var(--warning-soft)}.kpi-danger{--stat:var(--danger);--stat-soft:var(--danger-soft)}.kpi-info{--stat:var(--info);--stat-soft:var(--info-soft)}
.alert{min-height:48px;margin-bottom:16px;border-radius:14px;border:1px solid transparent;padding:11px 13px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm)}
.alert-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center}.alert-icon .icon{width:16px}.alert-close{border:0;background:none;font-size:21px;margin-left:auto;opacity:.5;cursor:pointer}
.alert-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.alert-success .alert-icon{background:color-mix(in srgb,var(--success) 14%,transparent)}
.alert-error,.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.alert-error .alert-icon,.alert-danger .alert-icon{background:color-mix(in srgb,var(--danger) 14%,transparent)}
.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.alert-warning .alert-icon{background:color-mix(in srgb,var(--warning) 14%,transparent)}
.alert-info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}.alert-info .alert-icon{background:color-mix(in srgb,var(--info) 14%,transparent)}
label{display:grid;gap:7px;color:var(--text-2);font-size:11px;font-weight:750}
input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);padding:11px 12px;outline:none;transition:.18s;min-height:42px}
textarea{min-height:115px;resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}
input[type="checkbox"],input[type="radio"]{width:auto;min-height:auto;accent-color:var(--primary)}
.form-stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.help-text{font-weight:400;color:var(--muted);font-size:10px}.required{color:var(--danger)}
.input-icon{position:relative}.input-icon .icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;color:var(--muted);pointer-events:none}.input-icon input{padding-left:40px}
.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer}.switch input{display:none}.switch-track{width:38px;height:22px;border-radius:999px;background:var(--line-strong);padding:3px;transition:.2s}.switch-track:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.2s}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:before{transform:translateX(16px)}
.dropzone{position:relative;min-height:160px;border:1.5px dashed color-mix(in srgb,var(--primary) 35%,var(--line-strong));border-radius:17px;background:color-mix(in srgb,var(--primary-soft) 30%,var(--surface-2));display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;cursor:pointer;transition:.2s}
.dropzone:hover,.dropzone.dragover{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 60%,var(--surface))}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}.dropzone-icon{width:48px;height:48px;border-radius:15px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.dropzone-icon .icon{width:23px}.dropzone strong{font-size:13px}.dropzone small{color:var(--muted);font-size:10px}.file-selected{color:var(--primary);font-weight:700}
.badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:9px;font-weight:800;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.badge-processed,.badge-active,.badge-resolved{background:var(--success-soft);color:var(--success)}.badge-pending,.badge-reviewing,.badge-draft{background:var(--warning-soft);color:var(--warning)}.badge-error,.badge-open,.badge-archived{background:var(--danger-soft);color:var(--danger)}.badge-user{background:var(--info-soft);color:var(--info)}.badge-master{background:var(--primary-soft);color:var(--primary)}.badge-editor{background:#fff2e8;color:#d16b1a}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:860px;background:var(--surface)}
.data-table th{height:43px;text-align:left;padding:0 14px;background:var(--surface-2);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;border-bottom:1px solid var(--line)}
.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 18%,transparent)}
.cell-main{display:flex;align-items:center;gap:10px;min-width:210px}.file-icon{width:38px;height:42px;border-radius:10px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;flex:0 0 auto}.file-icon.article{background:var(--primary-soft);color:var(--primary)}.file-icon .icon{width:18px}
.cell-copy{min-width:0}.cell-copy strong{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-copy small{display:block;color:var(--muted);font-size:10px;margin-top:3px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.actions form{display:inline-flex}.menu-actions{position:relative}.menu-actions-panel{position:absolute;right:0;top:100%;z-index:40;width:180px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:5px;display:none}.menu-actions-panel.open{display:grid}.menu-actions-panel a,.menu-actions-panel button{width:100%;border:0;background:none;border-radius:8px;padding:8px 9px;text-align:left;font-size:11px;cursor:pointer}.menu-actions-panel a:hover,.menu-actions-panel button:hover{background:var(--surface-2)}
.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--muted)}.empty-icon{width:64px;height:64px;border-radius:20px;background:var(--surface-3);display:grid;place-items:center;margin-bottom:13px}.empty-icon .icon{width:28px}.empty-state h3{color:var(--text);margin:0 0 5px}.empty-state p{max-width:420px;margin:0 0 15px;font-size:12px}
.filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:15px}.filter-search{position:relative;flex:1;min-width:220px}.filter-search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;color:var(--muted)}.filter-search input{padding-left:38px}.filter-bar select{width:auto;min-width:150px}
.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:width .4s}.progress.success .progress-bar{background:var(--success)}.progress.warning .progress-bar{background:var(--warning)}.progress.danger .progress-bar{background:var(--danger)}
.health-score{display:flex;align-items:center;gap:24px}.score-ring{--score:75;width:128px;height:128px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--score)*1%),var(--surface-3) 0);display:grid;place-items:center;position:relative}.score-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface)}.score-ring strong{position:relative;font-size:30px;letter-spacing:-.04em}.score-ring small{position:absolute;bottom:31px;font-size:9px;color:var(--muted)}
.metric-list{display:grid;gap:12px}.metric-row{display:grid;grid-template-columns:1fr auto;gap:8px}.metric-row span{font-size:11px;color:var(--text-2)}.metric-row strong{font-size:11px}.metric-row .progress{grid-column:1/-1}
.activity-list{display:grid}.activity-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--primary);box-shadow:0 0 0 5px var(--primary-soft);flex:0 0 auto}.activity-copy{min-width:0;display:flex;flex-direction:column}.activity-copy strong{font-size:11px}.activity-copy span{color:var(--muted);font-size:10px;margin-top:2px}.activity-copy time{color:var(--muted);font-size:9px;margin-top:5px}
.chart-bars{height:190px;display:flex;align-items:flex-end;gap:12px;padding-top:24px}.chart-column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:18px}.chart-bar{width:100%;max-width:35px;min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--primary-2),var(--primary));position:relative}.chart-column span{font-size:9px;color:var(--muted)}.chart-bar:hover:after{content:attr(data-value);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);padding:3px 6px;border-radius:6px;font-size:9px}
.insight-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.insight-icon{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.insight-card h4{margin:0;font-size:12px}.insight-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.insight-card a{display:inline-block;margin-top:7px;color:var(--primary);font-size:10px;font-weight:750}
/* Chat */
.chat-page .content{max-width:none;padding:0;height:calc(100vh - var(--topbar-height));overflow:hidden}.chat-page .topbar{position:relative}
.chat-shell{height:100%;display:grid;grid-template-columns:270px minmax(0,1fr) 310px;background:var(--surface);border-top:1px solid var(--line)}
.chat-sidebar{border-right:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;min-width:0}.chat-sidebar-head{padding:16px;border-bottom:1px solid var(--line)}.chat-sidebar-head .btn{width:100%}.conversation-search{padding:10px 12px}.conversation-list{overflow-y:auto;padding:0 8px 12px;flex:1}.conversation-date{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:11px 8px 5px}.conversation-item{position:relative;display:flex;align-items:center;gap:9px;padding:10px;border-radius:11px;color:var(--text-2);margin-bottom:2px}.conversation-item:hover{background:var(--surface-3)}.conversation-item.active{background:var(--primary-soft);color:var(--primary)}.conversation-item .icon{width:16px}.conversation-copy{min-width:0;display:flex;flex-direction:column;flex:1}.conversation-copy strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-copy small{font-size:9px;color:var(--muted)}.conversation-delete{opacity:0;border:0;background:none;color:var(--muted);cursor:pointer;padding:3px}.conversation-item:hover .conversation-delete{opacity:1}
.chat-main{display:flex;flex-direction:column;min-width:0;position:relative;background:var(--surface)}.chat-welcome{margin:auto;max-width:680px;padding:32px;text-align:center}.chat-welcome-logo{width:72px;height:72px;margin:0 auto 18px;border-radius:24px;background:linear-gradient(145deg,#3b82f6,#0b4fb3);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:0 18px 40px rgba(23,105,224,.28);position:relative}.chat-welcome-logo:after{content:"";width:10px;height:10px;border-radius:50%;background:#78efbd;position:absolute;right:9px;bottom:9px;border:3px solid #1769e0}.chat-welcome h2{font-size:26px;letter-spacing:-.035em;margin:0}.chat-welcome p{color:var(--muted);font-size:12px;max-width:520px;margin:9px auto 22px}.suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;text-align:left}.suggestion-card{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:13px;cursor:pointer;transition:.18s}.suggestion-card:hover{border-color:var(--primary);transform:translateY(-1px);background:var(--primary-soft)}.suggestion-card strong{display:block;font-size:11px}.suggestion-card small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.chat-messages{flex:1;overflow-y:auto;padding:26px max(24px,calc((100% - 820px)/2));scroll-behavior:smooth}.message{display:flex;gap:12px;margin-bottom:22px}.message.user{justify-content:flex-end}.message-avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--primary-2),var(--primary));color:#fff;display:grid;place-items:center;font-weight:850;flex:0 0 auto}.message-avatar img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff;padding:3px}.message.user .message-avatar{display:none}.message-content{max-width:min(82%,760px)}.message.user .message-content{background:var(--primary);color:#fff;border-radius:17px 17px 4px 17px;padding:11px 14px}.message.assistant .message-content{min-width:0}.message-text{font-size:12px;line-height:1.7;white-space:pre-wrap}.message-text p{margin:0 0 9px}.message-text ol,.message-text ul{margin:8px 0;padding-left:20px}.message-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;margin-bottom:8px}.confidence-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:var(--surface-3);font-weight:750}.confidence-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warning)}.confidence-chip.high:before{background:var(--success)}.confidence-chip.low:before{background:var(--danger)}
.source-list{display:grid;gap:8px;margin-top:14px}.source-card{border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:11px;cursor:pointer;transition:.18s}.source-card:hover{border-color:var(--primary);background:var(--primary-soft)}.source-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.source-title{display:flex;align-items:center;gap:7px;min-width:0}.source-title .icon{width:15px;color:var(--primary)}.source-title strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-card small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.source-excerpt{display:none;font-size:10px;color:var(--text-2);line-height:1.55;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.source-card.open .source-excerpt{display:block}.source-relevance{font-size:9px;color:var(--muted);white-space:nowrap}
.feedback-row{display:flex;align-items:center;gap:6px;margin-top:12px;color:var(--muted);font-size:9px}.feedback-button{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;display:grid;place-items:center}.feedback-button:hover{color:var(--primary);border-color:var(--primary)}.feedback-button .icon{width:14px}.copy-button{margin-left:2px}.message-actions{display:flex;gap:5px}
.typing{display:flex;gap:5px;align-items:center;height:24px}.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1.2s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,100%{transform:none;opacity:.35}30%{transform:translateY(-4px);opacity:1}}
.chat-composer-wrap{padding:12px max(22px,calc((100% - 850px)/2)) 18px;background:linear-gradient(180deg,transparent,var(--surface) 22%)}.chat-composer{border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:0 12px 35px rgba(24,31,55,.09);padding:8px 9px 8px 13px;display:flex;align-items:flex-end;gap:8px;transition:.18s}.chat-composer:focus-within{border-color:var(--primary);box-shadow:0 14px 42px rgba(23,105,224,.12),0 0 0 3px color-mix(in srgb,var(--primary) 9%,transparent)}.chat-composer textarea{border:0;box-shadow:none!important;min-height:40px;max-height:160px;padding:9px 2px;resize:none;background:transparent}.chat-composer-tools{display:flex;align-items:center;gap:5px}.chat-send{width:42px;height:42px;border:0;border-radius:13px;background:var(--primary);color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.chat-send:disabled{opacity:.45}.chat-send .icon{width:18px;transform:rotate(45deg)}.chat-disclaimer{text-align:center;color:var(--muted);font-size:8px;margin-top:7px}
.chat-context{border-left:1px solid var(--line);background:var(--surface-2);overflow-y:auto;padding:18px}.chat-context h3{font-size:12px;margin:0}.context-section{margin-bottom:22px}.context-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.context-section-head span{font-size:9px;color:var(--muted)}.context-category{width:100%}.quick-list{display:grid;gap:7px}.quick-question{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:9px;text-align:left;font-size:10px;cursor:pointer}.quick-question:hover{border-color:var(--primary);color:var(--primary)}.base-health-mini{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.base-health-mini strong{font-size:11px}.base-health-mini p{font-size:9px;color:var(--muted);margin:4px 0 10px}
/* Auth / install */
.auth-main{margin-left:0;min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(23,105,224,.18),transparent 32%),radial-gradient(circle at 92% 92%,rgba(56,189,248,.13),transparent 34%),var(--bg);display:grid;place-items:center;padding:24px}.auth-content{padding:0;width:100%;max-width:1100px}.auth-layout{min-height:640px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--surface);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow-lg);overflow:hidden}.auth-visual{position:relative;padding:46px;background:linear-gradient(145deg,#071a38,#0b2d5d 55%,#0d4a8f);color:#fff;overflow:hidden;display:flex;flex-direction:column}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.auth-visual:before{width:360px;height:360px;right:-130px;top:-110px;background:radial-gradient(circle,rgba(59,130,246,.68),rgba(59,130,246,0) 70%)}.auth-visual:after{width:270px;height:270px;left:-100px;bottom:-100px;background:radial-gradient(circle,rgba(42,158,255,.35),rgba(42,158,255,0) 70%)}.auth-logo{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.auth-logo .brand-mark{width:48px;height:48px}.auth-logo strong{font-size:21px}.auth-logo small{display:block;color:#b6c9e7;font-size:11px}.auth-hero{margin:auto 0;position:relative;z-index:1}.auth-hero h1{font-size:39px;line-height:1.08;letter-spacing:-.045em;margin:0;max-width:480px}.auth-hero p{color:#c2d3eb;max-width:450px;font-size:13px;line-height:1.7}.feature-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.feature-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:9px;color:#e5f0ff}.auth-quote{position:relative;z-index:1;color:#9db3d1;font-size:9px}.auth-form-side{padding:52px 54px;display:flex;align-items:center}.auth-form{width:100%;max-width:380px;margin:auto}.auth-form-head{margin-bottom:27px}.auth-form-head .brand-mark{display:none}.auth-form-head h2{font-size:26px;letter-spacing:-.035em;margin:0}.auth-form-head p{color:var(--muted);font-size:11px;margin:7px 0 0}.auth-form .btn{width:100%;min-height:45px}.password-wrap{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);cursor:pointer}.password-toggle .icon{width:17px}.auth-footer{text-align:center;color:var(--muted);font-size:9px;margin-top:20px}.auth-demo{margin-top:18px;padding:11px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:9px;color:var(--muted)}
.install-layout{max-width:760px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:27px;box-shadow:var(--shadow-lg);padding:34px}.install-brand{text-align:center;margin-bottom:25px}.install-brand .brand-mark{margin:auto}.install-brand h1{margin:15px 0 5px;font-size:27px}.install-brand p{margin:0;color:var(--muted);font-size:11px}.requirement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.requirement{padding:10px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;gap:7px;font-size:9px}.requirement.ok{color:var(--success)}.requirement.fail{color:var(--danger)}
/* Detail pages */
.detail-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.detail-title{display:flex;align-items:flex-start;gap:14px}.detail-icon{width:58px;height:64px;border-radius:16px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;flex:0 0 auto}.detail-icon .icon{width:27px}.detail-copy h2{font-size:22px;margin:0;letter-spacing:-.03em}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.meta-chip{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;padding:5px 8px;border-radius:8px;background:var(--surface-2)}.detail-actions{display:flex;gap:7px;flex-wrap:wrap}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:20px -22px -1px;padding:0 22px}.tab{border:0;background:none;padding:12px 13px;color:var(--muted);font-size:10px;font-weight:750;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-panel{display:none;padding-top:20px}.tab-panel.active{display:block}.chunk-list{display:grid;gap:10px}.chunk{border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--surface-2)}.chunk-head{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:7px}.chunk p{font-size:10px;line-height:1.65;margin:0;white-space:pre-wrap}
.pagination{display:flex;justify-content:center;gap:5px;margin-top:18px}.pagination a,.pagination span{min-width:33px;height:33px;padding:0 8px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:10px}.pagination .active{background:var(--primary);color:#fff;border-color:var(--primary)}
.toast-container{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px}.toast{min-width:280px;max-width:380px;padding:12px 14px;border-radius:13px;background:var(--text);color:var(--surface);box-shadow:var(--shadow-lg);font-size:11px;animation:toastIn .2s ease}.toast.success{background:#087c57;color:#fff}.toast.error{background:#b7213a;color:#fff}@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.modal-backdrop{position:fixed;z-index:90;inset:0;background:rgba(7,9,20,.62);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{width:100%;max-width:560px;max-height:90vh;overflow:auto;background:var(--surface);border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h3{margin:0}.modal-close{border:0;background:var(--surface-3);border-radius:9px;width:31px;height:31px;cursor:pointer;font-size:18px}
body.sidebar-collapsed{--sidebar-width:82px}.sidebar-collapsed .sidebar{padding-left:13px;padding-right:13px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-group-title,.sidebar-collapsed .nav-item span:not(.nav-counter):not(.nav-pill),.sidebar-collapsed .user-card-copy{display:none}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .sidebar-collapse{position:absolute;right:-13px;top:29px;transform:rotate(180deg);background:var(--sidebar-2);box-shadow:0 3px 12px rgba(0,0,0,.2)}.sidebar-collapsed .nav-item{justify-content:center;padding:10px}.sidebar-collapsed .nav-item.active{box-shadow:none}.sidebar-collapsed .nav-counter{position:absolute;right:3px;top:2px;min-width:16px;height:16px;font-size:8px}.sidebar-collapsed .nav-pill{position:absolute;right:1px;top:0;padding:1px 4px}.sidebar-collapsed .sidebar-footer{justify-content:center}.sidebar-collapsed .logout-button{display:none}
@media(max-width:1250px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.chat-shell{grid-template-columns:245px minmax(0,1fr)}.chat-context{display:none}}
@media(max-width:960px){:root{--sidebar-width:260px}.sidebar{transform:translateX(-105%);width:260px}.sidebar.open{transform:none}.sidebar.open+.main{margin-left:0}.sidebar-backdrop.open{display:block}.main{margin-left:0!important}.mobile-menu-button{display:grid}.sidebar-collapse{display:none}.content{padding:18px}.topbar{padding:17px 18px;min-height:88px}.topbar-chat-button span{display:none}.grid-3{grid-template-columns:repeat(2,1fr)}.auth-layout{grid-template-columns:1fr;max-width:520px;margin:auto;min-height:auto}.auth-visual{display:none}.auth-form-side{padding:42px}.auth-form-head .brand-mark{display:grid;margin-bottom:17px}.chat-page .content{height:calc(100vh - 88px)}.chat-shell{grid-template-columns:minmax(0,1fr)}.chat-sidebar{position:absolute;z-index:45;inset:0 auto 0 0;width:280px;transform:translateX(-105%);transition:.2s;box-shadow:var(--shadow-lg)}.chat-sidebar.open{transform:none}}
@media(max-width:700px){.topbar{align-items:center}.page-heading p,.page-heading .eyebrow{display:none}.page-heading h1{font-size:20px}.topbar-actions{gap:7px}.topbar-actions .icon-button{width:39px;height:39px}.content{padding:14px}.grid-2,.grid-3,.grid-4,.grid-5,.form-grid,.form-grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.card{padding:17px;border-radius:18px}.stat-card{min-height:118px;padding:16px}.stat-value{font-size:27px}.section-head{flex-direction:column;align-items:stretch}.section-actions{justify-content:flex-start}.filter-bar{align-items:stretch}.filter-bar select{width:100%}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.dropdown-panel{position:fixed;left:12px;right:12px;top:78px;width:auto}.chat-welcome{padding:24px 16px}.chat-welcome-logo{width:62px;height:62px;border-radius:20px}.chat-welcome h2{font-size:22px}.suggestion-grid{grid-template-columns:1fr}.chat-messages{padding:19px 14px}.message-content{max-width:90%}.chat-composer-wrap{padding:9px 10px 12px}.chat-composer{border-radius:16px}.chat-composer-tools select{display:none}.detail-hero{grid-template-columns:1fr}.detail-actions{justify-content:flex-start}.tabs{overflow-x:auto}.auth-main{padding:12px}.auth-form-side{padding:30px 22px}.install-layout{padding:24px 18px}.requirement-grid{grid-template-columns:1fr}.health-score{flex-direction:column;align-items:flex-start}.grid-4.mobile-2{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.grid-4.mobile-2{gap:9px}.grid-4.mobile-2 .stat-label{font-size:9px}.grid-4.mobile-2 .stat-card{padding:13px}.grid-4.mobile-2 .stat-icon{width:31px;height:31px}.grid-4.mobile-2 .stat-value{font-size:24px}.topbar{padding-left:12px;padding-right:12px}.notification-button{display:none}}
@media print{.sidebar,.topbar,.btn,.actions,.filter-bar{display:none!important}.main{margin:0}.content{padding:0}.card{box-shadow:none;border:1px solid #ddd}}

@media(max-width:960px){.chat-page #mobileConversationToggle{display:grid!important}.chat-page .chat-messages{padding-top:62px}}

/* Now.IA v0.7 — atendimento multissistema e IA generativa */
.modal-lg{max-width:820px}
.system-filter-row{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:11px 14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--shadow-sm)}
.system-filter-row>span{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap}.system-filter-row>span strong{color:var(--text)}.system-filter-row .icon{width:17px;color:var(--primary)}.system-filter-row select{min-width:220px;max-width:360px;margin-right:auto}
.system-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.system-admin-card{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2));transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.system-admin-card:before{content:"";position:absolute;width:130px;height:130px;right:-70px;top:-70px;border-radius:50%;background:var(--system-accent);opacity:.11;filter:blur(2px)}.system-admin-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--system-accent) 38%,var(--line));box-shadow:var(--shadow-md)}
.system-admin-top{display:flex;align-items:center;justify-content:space-between;position:relative}.system-admin-card h3{font-size:16px;margin:13px 0 5px}.system-admin-card>p{font-size:10px;line-height:1.6;color:var(--muted);min-height:32px;margin:0}
.system-orb{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:17px;font-weight:900;background:linear-gradient(145deg,var(--system-accent),color-mix(in srgb,var(--system-accent) 65%,#111));box-shadow:0 8px 22px color-mix(in srgb,var(--system-accent) 28%,transparent)}.system-orb.small{width:34px;height:34px;border-radius:11px;font-size:13px}
.system-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:15px 0}.system-admin-stats span{padding:8px 5px;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:8px;color:var(--muted);background:var(--surface)}.system-admin-stats strong{display:block;color:var(--text);font-size:14px;margin-bottom:2px}
.field-title{display:block;font-size:10px;margin-bottom:9px;color:var(--text)}.access-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;padding:2px}.access-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}.access-check input{width:16px;height:16px;flex:0 0 auto}.access-check span{min-width:0}.access-check strong,.access-check small{display:block}.access-check strong{font-size:10px}.access-check small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-system-bar{display:flex;align-items:center;gap:10px;padding:9px 15px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--system-accent) 10%,var(--surface)),var(--surface));min-height:54px;position:relative;z-index:3}.active-system-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--system-accent)}.active-system-bar>span:nth-child(2){display:grid;gap:1px}.active-system-bar small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.active-system-bar strong{font-size:11px}.active-system-bar .link-button{margin-left:auto}
.system-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;width:min(720px,100%);margin:22px auto 0}.system-select-card{appearance:none;border:1px solid var(--line);border-radius:17px;padding:15px;background:var(--surface);color:var(--text);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.2s}.system-select-card:hover{border-color:var(--system-accent);box-shadow:0 12px 28px color-mix(in srgb,var(--system-accent) 12%,transparent);transform:translateY(-2px)}.system-select-card>span:nth-child(2){min-width:0}.system-select-card strong,.system-select-card small{display:block}.system-select-card strong{font-size:12px;margin-bottom:4px}.system-select-card small{font-size:9px;color:var(--muted);line-height:1.45}.system-select-card>i{font-style:normal;color:var(--system-accent);font-size:18px}
.ai-generated-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:linear-gradient(135deg,var(--primary-soft),color-mix(in srgb,var(--info-soft) 65%,var(--primary-soft)));color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);font-size:8px;font-weight:800;letter-spacing:.02em}.ai-generated-chip:before{content:"✦";font-size:10px}
.answer-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.answer-suggestions button{appearance:none;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);padding:7px 10px;font-size:9px;cursor:pointer;transition:.15s}.answer-suggestions button:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.ai-config-card{position:relative;overflow:hidden}.ai-config-card:before{content:"";position:absolute;right:-80px;top:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--primary-soft),transparent 70%);pointer-events:none}.ai-safety-box{padding:13px;border:1px solid color-mix(in srgb,var(--success) 22%,var(--line));border-radius:13px;background:var(--success-soft)}.ai-safety-box strong{font-size:10px;color:var(--success)}.ai-safety-box p{font-size:9px;line-height:1.6;color:var(--muted);margin:5px 0 0}.danger-switch{color:var(--danger)}
.conversation-item{border-left:3px solid transparent}.conversation-item.active{border-left-color:var(--conversation-accent,#1769e0)}
.chat-disclaimer{font-size:8px;color:var(--muted);text-align:center;padding-top:6px}.help-text{display:block;font-size:8px;line-height:1.5;color:var(--muted);margin-top:5px}

@media(max-width:960px){.system-card-grid{grid-template-columns:1fr}.system-filter-row{flex-wrap:wrap}.system-filter-row select{max-width:none;min-width:180px;flex:1}.system-selector-grid{grid-template-columns:1fr}.access-check-grid{grid-template-columns:1fr}}
@media(max-width:700px){.system-filter-row{align-items:stretch}.system-filter-row>span{width:100%}.system-filter-row select,.system-filter-row .btn{width:100%;max-width:none}.system-admin-stats{grid-template-columns:repeat(3,1fr)}.active-system-bar{padding-left:54px}.system-selector-grid{margin-top:16px}.modal-lg{max-width:100%}}


/* Now.IA v1.0 — identidade NowDev, multiempresa e seletor de chat */
.brand-logo{display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.14);flex:0 0 auto}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.brand-logo-sidebar{width:44px;height:44px;border-radius:13px;padding:5px;box-shadow:0 10px 26px rgba(0,0,0,.2)}
.brand-logo-login{width:54px;height:54px;border-radius:15px;padding:6px}.brand-logo-mobile{width:54px;height:54px;border-radius:15px;padding:6px;margin-bottom:17px;display:none}
.sidebar-collapsed .brand-logo-sidebar{width:43px;height:43px}.auth-kicker{display:inline-flex;margin-bottom:14px;padding:6px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.badge-admin{background:#e7f1ff;color:#0b5ac6}.company-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,var(--primary-2),var(--primary-dark));color:#fff;display:grid;place-items:center;font-weight:850;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 22%,transparent);flex:0 0 auto}
.company-chip{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:9px;font-weight:750}.company-chip .icon{width:13px}
.admin-create-panel{display:grid;gap:14px;padding:15px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--primary-soft) 42%,var(--surface))}
.brand-upload-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.brand-preview{width:76px;height:76px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:8px;overflow:hidden;flex:0 0 auto}.brand-preview img{width:100%;height:100%;object-fit:contain}.brand-preview .brand-mark{width:54px;height:54px}
.chat-composer{align-items:center}.chat-composer textarea{flex:1;min-width:120px}.chat-composer-tools{flex:0 0 auto}.chat-composer-tools select{width:auto;min-width:150px;max-width:210px;min-height:42px;padding:8px 34px 8px 11px;border-radius:12px;background-color:var(--surface-2);cursor:pointer}.chat-composer-tools #chatCategory{min-width:135px;max-width:170px}
.chat-system-gate{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0 max(22px,calc((100% - 850px)/2));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-bottom:0;border-radius:16px 16px 0 0;background:linear-gradient(90deg,var(--primary-soft),var(--surface));font-size:11px}.chat-system-gate .icon{color:var(--primary)}.chat-system-gate strong{white-space:nowrap}.chat-system-gate select{margin-left:auto;min-width:260px;max-width:430px;background:var(--surface);cursor:pointer}
.chat-system-gate+.chat-composer-wrap{padding-top:0}.chat-system-gate+.chat-composer-wrap .chat-composer{border-radius:0 0 18px 18px}
@media(max-width:960px){.brand-logo-mobile{display:grid}.auth-form-head .brand-mark{display:grid}.chat-composer-tools select{min-width:125px}.chat-system-gate{margin:0 10px}}
@media(max-width:700px){.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto}.chat-composer textarea{grid-column:1/-1}.chat-composer-tools{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto}.chat-composer-tools #chatSystem{display:block;width:100%;max-width:none;min-width:0}.chat-composer-tools #chatCategory{display:none}.chat-send{grid-column:2}.chat-system-gate{align-items:stretch;flex-direction:column}.chat-system-gate select{margin:0;min-width:0;max-width:none;width:100%}}

/* Now.IA v1.0 — chat multimodal, rolagem estável e anexos */
.chat-page{overflow:hidden}
.chat-page .app-shell,.chat-page .main{height:100dvh;min-height:0;overflow:hidden}
.chat-page .content{height:calc(100dvh - var(--topbar-height));min-height:0;overflow:hidden}
.chat-shell{height:100%;min-height:0;overflow:hidden}
.chat-sidebar,.chat-main,.chat-context{min-height:0;overflow:hidden}
.chat-sidebar .conversation-list,.chat-context{overflow-y:auto;overscroll-behavior:contain}
.chat-main{display:flex;flex-direction:column}
.chat-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:28px}
.chat-composer-wrap{position:relative;z-index:8;flex:0 0 auto;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 0%,transparent),var(--surface) 18%);padding-top:8px}
.chat-composer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding:9px 10px}
.chat-composer textarea{width:100%;min-width:0;max-height:180px;align-self:center}
.composer-action-row{display:flex;align-items:center;gap:5px;padding-bottom:1px}
.composer-icon-button{width:40px;height:40px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:.18s}
.composer-icon-button:hover{background:var(--surface-3);color:var(--primary);border-color:var(--line)}
.composer-icon-button.listening{color:var(--danger);background:var(--danger-soft);animation:nowiaPulse 1s ease infinite}
.composer-icon-button .icon{width:18px;height:18px}
@keyframes nowiaPulse{50%{transform:scale(1.08);box-shadow:0 0 0 6px color-mix(in srgb,var(--danger) 10%,transparent)}}
.chat-composer-tools{display:flex;align-items:center;gap:5px}
.attachment-preview-tray{display:flex;gap:8px;overflow-x:auto;padding:0 max(22px,calc((100% - 850px)/2)) 8px;scrollbar-width:thin}
.attachment-preview-tray[hidden]{display:none}
.attachment-preview-item{position:relative;display:grid;grid-template-columns:42px minmax(90px,180px) auto;align-items:center;gap:9px;min-width:210px;max-width:300px;padding:7px 7px 7px 8px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-sm)}
.attachment-preview-item img{width:42px;height:42px;border-radius:9px;object-fit:cover;background:var(--surface-3)}
.attachment-preview-item>span:nth-child(2){min-width:0}.attachment-preview-item strong,.attachment-preview-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-item strong{font-size:10px}.attachment-preview-item small{font-size:8px;color:var(--muted);margin-top:2px}
.attachment-preview-item>button{width:26px;height:26px;border:0;border-radius:8px;background:var(--surface-3);color:var(--muted);cursor:pointer}.attachment-preview-item>button:hover{background:var(--danger-soft);color:var(--danger)}
.attachment-file-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:17px;font-weight:800}
.message-attachments{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 9px}
.message-image{position:relative;display:block;width:min(310px,100%);border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.message-image img{display:block;width:100%;max-height:260px;object-fit:contain;background:#0c111d}
.message-image span{display:block;padding:6px 9px;font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message.user .message-image{border-color:rgba(255,255,255,.24)}.message.user .message-image span{color:rgba(255,255,255,.82)}
.message-file{display:flex;align-items:center;gap:9px;min-width:230px;max-width:360px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text)}
.message-file>span:nth-child(2){min-width:0;flex:1}.message-file strong,.message-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-file strong{font-size:10px}.message-file small{font-size:8px;color:var(--muted);margin-top:2px}.message-file>.icon{width:17px;color:var(--primary)}
.message.user .message-file{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.message.user .message-file small{color:rgba(255,255,255,.75)}.message.user .attachment-file-icon{background:rgba(255,255,255,.17);color:#fff}
.local-preview{pointer-events:auto}
.compact-alert{margin-top:12px;margin-bottom:0;padding:10px 12px}
.scroll-latest-button{position:absolute;right:22px;bottom:112px;z-index:12;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);padding:8px 12px;font-size:9px;font-weight:750;box-shadow:var(--shadow-md);cursor:pointer}
.scroll-latest-button[hidden]{display:none}.scroll-latest-button:hover{color:var(--primary);border-color:var(--primary)}.scroll-latest-button .icon{width:14px;height:14px}
.chat-drop-overlay{position:fixed;z-index:200;inset:0;background:rgba(5,14,34,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px}
.chat-drop-overlay[hidden]{display:none}.chat-drop-overlay>div{width:min(480px,100%);min-height:220px;border:2px dashed rgba(255,255,255,.55);border-radius:26px;color:#fff;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;background:rgba(23,105,224,.2)}.chat-drop-overlay .icon{width:38px;height:38px}.chat-drop-overlay strong{font-size:19px}.chat-drop-overlay span{font-size:11px;color:rgba(255,255,255,.75)}
.message-heading{display:block;margin:10px 0 5px;font-size:13px}

@media(max-width:960px){
  .chat-page .content{height:calc(100dvh - 88px)}
  .attachment-preview-tray{padding-left:10px;padding-right:10px}
  .scroll-latest-button{right:12px;bottom:118px}
}
@media(max-width:700px){
  .chat-composer{grid-template-columns:auto minmax(0,1fr) auto;align-items:end}
  .chat-composer textarea{grid-column:2;min-height:42px}
  .composer-action-row{grid-column:1;grid-row:1;align-self:end}
  .composer-action-row .composer-icon-button:nth-child(n+2){display:none}
  .chat-composer-tools{grid-column:3;grid-row:1;display:flex}
  .chat-composer-tools select{display:none!important}
  .chat-send{grid-column:auto}
  .attachment-preview-item{min-width:190px;grid-template-columns:38px minmax(80px,150px) auto}.attachment-preview-item img{width:38px;height:38px}
  .message-image{width:min(270px,100%)}.message-image img{max-height:220px}
  .message-file{min-width:205px;max-width:100%}
  .scroll-latest-button{bottom:105px;max-width:210px}
}

/* Now.IA v1.1.0 — atendimento seguro, minimalista e responsivo */
:root{--topbar-height:92px;--primary:#0a4cbe;--primary-2:#1769e0;--primary-dark:#073b94;--primary-soft:#eaf2ff;--bg:#f5f7fb;--surface-2:#f8fafc;--line:#e4e9f2;--line-strong:#cfd8e7}
body{font-family:"Segoe UI Variable Text","Aptos Display","Aptos","Inter","Segoe UI",sans-serif;font-size:14px;letter-spacing:-.005em}
.btn-primary:hover{background:linear-gradient(135deg,#1769e0,#073b94);box-shadow:0 12px 28px rgba(10,76,190,.26)}
.pwa-install-button{min-height:42px}.pwa-install-button[hidden]{display:none!important}
.pwa-install-button .icon{width:16px}

.chat-shell{grid-template-columns:250px minmax(0,1fr);background:var(--surface)}
.chat-main{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 96%,var(--bg)))}
.chat-context{display:none!important}
.active-system-bar{min-height:58px;padding:9px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary-soft) 42%,var(--surface));display:flex;align-items:center;gap:10px}
.active-system-bar>span:nth-child(2){display:flex;flex-direction:column;margin-right:auto}.active-system-bar small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.active-system-status{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px!important;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:9px;color:var(--muted);white-space:nowrap}
.active-system-status i{width:6px;height:6px;border-radius:50%;background:var(--success)}.active-system-status .icon{width:13px;color:var(--primary)}
.chat-messages{padding:30px max(28px,calc((100% - 860px)/2)) 34px}
.message{gap:13px;margin-bottom:28px}.message-content{max-width:min(86%,780px)}
.message-avatar{width:32px;height:32px;border-radius:10px;background:transparent;color:var(--primary);border:1px solid var(--line);box-shadow:none}
.message-avatar img{background:transparent;padding:4px}
.message.user .message-content{border-radius:18px 18px 5px 18px;padding:11px 15px;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 7px 20px rgba(10,76,190,.16)}
.message.assistant .message-content{padding-top:2px}
.message-text{font-size:13px;line-height:1.72;white-space:normal;color:var(--text-2)}.message.user .message-text{color:#fff}
.message-text p{margin:0 0 12px}.message-text p:last-child{margin-bottom:0}.message-text ol,.message-text ul{margin:8px 0 14px;padding-left:23px}.message-text li{margin:0 0 8px;padding-left:3px}.message-text h4{margin:14px 0 7px;font-size:13px;color:var(--text)}
.message-meta{margin-bottom:10px;gap:6px;flex-wrap:wrap}.confidence-chip,.ai-generated-chip,.history-context-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--surface-3);font-size:9px;font-weight:700;color:var(--muted)}
.ai-generated-chip{background:var(--primary-soft);color:var(--primary)}.history-context-chip{background:var(--info-soft);color:var(--info)}
.source-list{gap:7px;margin-top:16px;max-width:680px}.source-card{padding:10px 12px;border-radius:12px;background:var(--surface-2);box-shadow:none}.source-card:hover{transform:none}.source-title strong{font-size:10px}.source-relevance{font-size:8px}.source-excerpt{font-size:10px;line-height:1.6;white-space:pre-wrap}
.answer-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.answer-suggestions button{border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:7px 10px;font-size:9px;color:var(--text-2);cursor:pointer}.answer-suggestions button:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.feedback-row{margin-top:13px}.compact-alert{max-width:680px;margin-top:13px;margin-bottom:0;font-size:10px}

.chat-composer-wrap{padding:8px max(22px,calc((100% - 880px)/2)) max(13px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--surface) 18%)}
.chat-disclaimer-top{font-size:9px;color:var(--muted);text-align:center;padding:0 12px 8px;line-height:1.45}
.chat-composer{border-radius:17px;padding:8px 9px 8px 11px;box-shadow:0 10px 34px rgba(16,36,68,.09);border-color:var(--line-strong);background:var(--surface)}
.chat-composer textarea{font-size:13px;line-height:1.5;padding:9px 3px;max-height:150px}
.chat-send{width:42px;height:42px;border-radius:12px;background:var(--primary);transition:.16s}.chat-send:hover{background:var(--primary-dark);transform:translateY(-1px)}.chat-send .icon{width:18px;transform:none;margin-left:-1px}
.chat-composer-tools select{font-size:10px;min-height:40px;border-radius:11px;background:var(--surface-2)}
.composer-icon-button{width:38px;height:38px;border-radius:11px}
.chat-system-gate{font-size:10px;background:var(--surface);border-color:var(--line)}
.scroll-latest-button{bottom:104px}

.chat-welcome{max-width:720px}.chat-welcome-logo{background:transparent;box-shadow:none;border:1px solid var(--line);padding:9px}.chat-welcome-logo:after{display:none}.chat-welcome-logo img{width:100%;height:100%;object-fit:contain}.chat-welcome h2{font-size:25px}.chat-welcome p{font-size:12px;line-height:1.65}.suggestion-card{background:var(--surface);box-shadow:var(--shadow-sm)}
.conversation-item{padding:10px 9px}.conversation-copy strong{font-size:11px}.conversation-copy small{font-size:9px;line-height:1.45}

@media(max-width:960px){
  .pwa-install-button span{display:none}.pwa-install-button{width:42px;padding:0}
  .chat-shell{grid-template-columns:minmax(0,1fr)}
  .active-system-status{display:none!important}
  .chat-messages{padding-top:66px}
}
@media(max-width:700px){
  .chat-page .topbar{min-height:74px;padding:12px 10px}.chat-page .content{height:calc(100dvh - 74px)}
  .chat-messages{padding:58px 12px 24px}.message{gap:8px;margin-bottom:22px}.message-avatar{width:28px;height:28px;border-radius:9px}.message-content{max-width:91%}.message-text{font-size:12px;line-height:1.66}
  .message.user .message-content{padding:10px 12px;border-radius:16px 16px 4px 16px}
  .chat-composer-wrap{padding:7px 8px max(9px,env(safe-area-inset-bottom))}.chat-disclaimer-top{font-size:8px;padding-bottom:6px}.chat-composer{grid-template-columns:auto minmax(0,1fr) auto;padding:7px;border-radius:15px}.chat-composer textarea{font-size:12px;min-height:40px}.composer-action-row{padding:0}.composer-icon-button{width:36px;height:36px}.chat-send{width:39px;height:39px}
  .source-list{margin-left:-36px}.source-card{padding:9px}.answer-suggestions{margin-left:-36px;display:grid}.answer-suggestions button{text-align:left;width:100%}
  .active-system-bar{padding:8px 12px 8px 50px;min-height:52px}.active-system-bar .system-orb{display:none}.active-system-bar>span:nth-child(2){margin-right:auto}
  .chat-system-gate{margin:0 8px}.chat-system-gate+.chat-composer-wrap{padding-left:8px;padding-right:8px}
}
@media(max-width:430px){
  .chat-composer-tools #chatSystem,.chat-composer-tools #chatCategory{display:none!important}.composer-action-row .composer-icon-button:nth-child(2){display:grid}.chat-welcome{padding:22px 14px}.chat-welcome h2{font-size:21px}.suggestion-grid{gap:7px}
}

/* Now.IA v1.2 — segurança, raciocínio visível e voz */
.thinking-panel{min-width:min(520px,78vw);padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--surface),var(--surface-soft));box-shadow:0 10px 30px rgba(15,36,75,.06)}
.thinking-head{display:flex;align-items:center;gap:9px;color:var(--text)}
.thinking-head strong{font-size:13px;font-weight:750}.thinking-orb{width:11px;height:11px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 13%,transparent);animation:thinkingPulse 1.5s ease-in-out infinite}
.thinking-dots{display:inline-flex;gap:3px}.thinking-dots i{width:4px;height:4px;border-radius:50%;background:var(--muted);animation:thinkingDot 1.15s infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}
.thinking-panel p{margin:10px 0 8px;color:var(--text);font-size:14px}.thinking-panel small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.thinking-progress{height:4px;border-radius:99px;background:var(--border);overflow:hidden}.thinking-progress span{display:block;height:100%;width:12%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#43a4ff);transition:width .35s ease}
@keyframes thinkingPulse{50%{transform:scale(.72);opacity:.65}}@keyframes thinkingDot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}

.voice-capture-status{position:absolute;left:16px;right:16px;bottom:calc(100% + 10px);display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:14px;background:var(--surface);box-shadow:0 16px 36px rgba(15,36,75,.14);z-index:8}.voice-capture-status[hidden]{display:none}.voice-capture-status strong{font-size:13px}.voice-capture-status span:not(.voice-pulse){flex:1;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-capture-status button{border:0;background:var(--danger-soft);color:var(--danger);border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer}.voice-pulse{width:11px;height:11px;border-radius:50%;background:#e44545;box-shadow:0 0 0 0 rgba(228,69,69,.35);animation:voicePulse 1.4s infinite}@keyframes voicePulse{70%{box-shadow:0 0 0 9px rgba(228,69,69,0)}}
.composer-icon-button.listening{color:#e44545;background:var(--danger-soft)}

.legal-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.legal-card{min-height:100%}.legal-copy{color:var(--text-soft);line-height:1.72}.legal-copy h3{color:var(--text);font-size:15px;margin:22px 0 8px}.legal-copy ul{padding-left:20px}.legal-accept-card{max-width:920px;margin:22px auto 0}.check-row{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.check-row input{margin-top:3px}.privacy-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 20px}.privacy-summary>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.privacy-summary span{display:block;color:var(--muted);font-size:11px}.privacy-summary strong{display:block;margin-top:4px;font-size:13px}.provider-config-box{display:grid;gap:10px;padding:14px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface-soft)}

.chat-disclaimer-top{font-size:11px;color:var(--muted);text-align:center;letter-spacing:.01em}.message.assistant .message-content{max-width:min(820px,82%)}.message-text{line-height:1.65}.message-text p{margin:0 0 10px}.message-text ol,.message-text ul{margin:8px 0 12px;padding-left:23px}.source-card{transition:border-color .18s,box-shadow .18s}.source-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 8px 24px rgba(15,36,75,.05)}

@media(max-width:760px){.legal-layout{grid-template-columns:1fr}.privacy-summary{grid-template-columns:1fr}.thinking-panel{min-width:0;width:min(82vw,430px)}.voice-capture-status{left:8px;right:8px}.voice-capture-status span:not(.voice-pulse){max-width:45vw}.message.assistant .message-content{max-width:88%}.chat-disclaimer-top{padding:0 10px}.chat-composer{gap:6px}.chat-composer textarea{min-width:0}.chat-composer-tools select{max-width:112px}.chat-send{width:42px;min-width:42px;height:42px}.source-list{grid-template-columns:1fr}.feedback-row{flex-wrap:wrap}}
