:root{--syntes-primary: #003eff;--syntes-bg: #ffffff;--syntes-surface: #f7f8fa;--syntes-text: #1a1a1a;--syntes-border: #e6e8ec;--syntes-neutral: #6b7280}*{box-sizing:border-box}body{margin:0;font-family:Roboto,system-ui,-apple-system,sans-serif;color:var(--syntes-text);background:var(--syntes-bg)}.app__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--syntes-border)}.app__header select{height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--syntes-border);background:#fff;color:var(--syntes-text)}.model-list{list-style:none;margin:0;padding:0}.model-list__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--syntes-border);border-radius:8px;margin-bottom:8px;background:var(--syntes-surface)}.model-list__cat{font-size:12px;color:#6b7280}.force-graph{width:100%;height:100%;display:block}.app__main{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px}.app__chat-frame{height:70vh;border:1px solid var(--syntes-border);border-radius:8px;overflow:hidden;background:var(--syntes-surface)}.loading{display:flex;align-items:center;justify-content:center;height:100vh}.error{color:#c0392b}button{background:var(--syntes-primary);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.shell__nav{background:var(--syntes-surface);border-right:1px solid var(--syntes-border);padding:16px 12px}.shell__brand{font-weight:700;font-size:16px;padding:4px 8px 16px}.shell__group{margin-bottom:14px}.shell__group-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--syntes-neutral);padding:4px 8px}.shell__link{display:block;padding:7px 8px;border-radius:6px;color:var(--syntes-text);text-decoration:none;font-size:14px}.shell__link:hover{background:#eceff4}.shell__link--on{background:var(--syntes-primary);color:#fff}.shell__main{padding:24px 28px;min-width:0}.page__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.page h1{margin:0 0 4px;font-size:22px}.page h2{font-size:16px;margin:20px 0 8px}.page h3{font-size:14px;margin:16px 0 6px}.page__sub{margin:0;color:var(--syntes-neutral);font-size:14px;max-width:760px}.muted{color:var(--syntes-neutral);font-size:13px}.link{color:var(--syntes-primary);text-decoration:none}.link:hover{text-decoration:underline}.card{border:1px solid var(--syntes-border);border-radius:10px;padding:16px;margin-bottom:16px;background:#fff}.card h2{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1000px){.grid2,.shell{grid-template-columns:1fr}}.facts{margin:0}.facts__row{display:grid;grid-template-columns:170px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid var(--syntes-border);font-size:14px}.facts dt{color:var(--syntes-neutral)}.facts dd{margin:0;word-break:break-word}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--syntes-border);vertical-align:top}.table th{background:var(--syntes-surface);font-weight:600;white-space:nowrap}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#f1f4ff}.table__empty{text-align:center!important;color:var(--syntes-neutral);padding:18px!important}.th-sort{background:none;color:inherit;padding:0;font:inherit;font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.filters__item{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--syntes-neutral)}.filters__range{display:flex;gap:4px}.filters input,.filters select,.form input,.form select,.form textarea,.page__actions select{height:36px;padding:0 10px;border:1px solid var(--syntes-border);border-radius:8px;background:#fff;color:var(--syntes-text);font:inherit;font-size:14px}.form textarea{height:auto;padding:8px 10px}.filters__buttons{display:flex;gap:8px}.form{display:flex;flex-direction:column;gap:12px;max-width:520px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--syntes-neutral)}button.secondary{background:#fff;color:var(--syntes-text);border:1px solid var(--syntes-border)}button:disabled{opacity:.5;cursor:not-allowed}.pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:10px 0;font-size:13px;color:var(--syntes-neutral)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:#eceff4}.badge--ok{background:#dff5e6;color:#14663a}.badge--warn{background:#fff1d6;color:#8a5a00}.badge--bad{background:#fde1df;color:#a3271d}.notice{padding:10px 14px;border-radius:8px;margin:8px 0 12px;font-size:14px;border:1px solid var(--syntes-border)}.notice--info{background:#eef3ff}.notice--ok{background:#e6f7ec}.notice--warn{background:#fff6e0}.notice--error{background:#fde8e6;color:#a3271d}.count{display:inline-block;min-width:22px;text-align:center;background:#eceff4;border-radius:10px;padding:0 6px;font-size:13px;margin:0 6px}.summary{font-size:15px}.dash{display:grid;grid-template-columns:240px 1fr;gap:16px}.dash__nav{display:flex;flex-direction:column;gap:6px}.dash__item{background:#fff;color:var(--syntes-text);border:1px solid var(--syntes-border);text-align:left}.dash__item--on{background:var(--syntes-primary);color:#fff}.dash__period{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:12px;color:var(--syntes-neutral)}.dash__period select{height:36px;border-radius:8px;border:1px solid var(--syntes-border)}.dash__view{min-height:620px;border:1px solid var(--syntes-border);border-radius:10px;overflow:hidden}.dash__view{min-height:0;border:none;overflow:visible}.chart{margin:0 0 16px;border:1px solid var(--syntes-border);border-radius:10px;padding:12px;background:#fff}.chart__svg{width:100%;height:220px;display:block}.chart__bar{fill:var(--syntes-primary)}.chart__axis{display:flex;justify-content:space-between;font-size:12px;color:var(--syntes-neutral);margin-top:4px}.kpis{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.kpi{border:1px solid var(--syntes-border);border-radius:10px;padding:14px 18px;background:#fff;min-width:180px}.kpi__value{font-size:26px;font-weight:600}.kpi__label{font-size:12px;color:var(--syntes-neutral)}.split{margin-bottom:16px;background:#fff}.split__bar{width:55%}.split__fill{display:block;height:14px;border-radius:4px;background:var(--syntes-primary);min-width:2px}.num{text-align:right;white-space:nowrap}.table-scroll{max-height:420px;overflow:auto}.dash__title{margin:0 0 10px;font-size:18px}.filters__check{flex-direction:row;align-items:center;gap:8px;font-size:13px}.filters__check input{width:auto}.workers{margin-top:16px}.table tr.row-muted td{color:var(--syntes-neutral);background:#fafafa}.table tr.row-stale td{background:#fff6e0}.table tr.row-failed td{background:#fde8e6}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--syntes-border, #d9dee7);margin:0 0 12px}.tabs__tab{background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px;font:inherit;cursor:pointer;color:var(--syntes-neutral)}.tabs__tab:hover{color:inherit}.tabs__tab--active{border-bottom-color:var(--syntes-primary, #2f6fed);color:inherit;font-weight:600}.kpi__sub{font-size:13px;margin-top:2px}.kpi__note{margin-top:6px;max-width:240px}.kpis .kpi{flex:1 1 200px;max-width:280px}
