:root{--color-bg: #f5f7fa;--color-surface: #ffffff;--color-border: #e3e7ee;--color-border-strong: #c7cedb;--color-text: #061e46;--color-text-muted: #5e6a82;--color-primary: #eb5c21;--color-primary-hover: #d24d16;--color-primary-soft: #fdeee7;--color-navy: #01081d;--color-navy-2: #061e46;--color-blue: #005bbf;--brand-gradient: linear-gradient(to right, #4862ff, #eb5c21);--color-success: #15803d;--color-success-soft: #e7f6ec;--color-danger: #b91c1c;--color-danger-soft: #fdecec;--font-sans: "Titillium Web", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--font-mono: "Cascadia Code", "Fira Code", Consolas, "Courier New", monospace;--radius: 10px;--radius-sm: 6px;--space: 1rem;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;font-weight:650;letter-spacing:-.01em}a{color:var(--color-blue);text-decoration:none}a:hover{text-decoration:underline}.app-nav{display:flex;align-items:center;gap:1.25rem;padding:.85rem 1.5rem;background:var(--color-navy);border-bottom:3px solid transparent;border-image:var(--brand-gradient) 1;box-shadow:var(--shadow-sm)}.app-nav .brand{font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:#fff}.app-nav .brand .brand-accent{color:var(--color-primary)}.nav-link{padding:.4rem .8rem;border-radius:var(--radius-sm);color:#ffffffb8;font-weight:500}.nav-link:hover{background:#ffffff14;color:#fff;text-decoration:none}.nav-link.active{background:#eb5c212e;color:var(--color-primary)}.nav-spacer{margin-left:auto}.nav-user{display:flex;align-items:center;gap:.75rem;color:#fffc;font-size:.9rem}.nav-user .btn-ghost{color:#ffffffd9;border-color:#ffffff4d}.nav-user .btn-ghost:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#ffffff80}.container{max-width:860px;margin:2rem auto;padding:0 1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem}.page-title{font-size:1.4rem;margin-bottom:1.5rem}.form{display:grid;gap:1.25rem}.field{display:grid;gap:.4rem}.field-label{font-weight:600;font-size:.9rem;color:var(--color-text)}.field-hint{font-size:.8rem;color:var(--color-text-muted)}input,select,textarea{font-family:inherit;font-size:.95rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.55rem .7rem;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}textarea{resize:vertical}textarea.chat-input{font-family:var(--font-mono);font-size:.85rem;line-height:1.45}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.segment{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;transition:all .15s}.segment input{width:auto;margin:0}.segment:hover{border-color:var(--color-primary)}.segment.is-positive.active{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.segment.is-negative.active{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.btn{font-family:inherit;font-size:.95rem;font-weight:600;border:1px solid transparent;border-radius:var(--radius-sm);padding:.6rem 1.1rem;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-ghost{background:transparent;border-color:var(--color-border-strong);color:var(--color-text);padding:.4rem .8rem}.btn-ghost:hover:not(:disabled){background:var(--color-bg)}.alert{padding:.7rem .9rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500}.alert-success{background:var(--color-success-soft);color:var(--color-success)}.alert-error{background:var(--color-danger-soft);color:var(--color-danger)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);margin-top:1rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--color-border)}.table th{background:var(--color-bg);font-weight:600;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.table tbody tr:last-child td{border-bottom:none}.table td.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.badge-ok{background:var(--color-success-soft);color:var(--color-success)}.badge-no{background:var(--color-danger-soft);color:var(--color-danger)}.muted{color:var(--color-text-muted)}.section{margin-top:2rem}.section:first-child{margin-top:0}.section-title{font-size:1.05rem;margin-bottom:.25rem}.section-desc{color:var(--color-text-muted);font-size:.88rem;margin:0 0 1rem}.member-list{display:grid;gap:.5rem}.member-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.member-row.in-team{border-color:var(--color-primary);background:var(--color-primary-soft)}.member-info{display:grid;line-height:1.3}.member-name{font-weight:600}.member-email{font-size:.82rem;color:var(--color-text-muted)}.member-row .spacer{margin-left:auto}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;gap:.5rem;font-size:.85rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:40px;height:22px;border-radius:999px;background:var(--color-border-strong);transition:background .15s;position:relative;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s}.switch input:checked+.track{background:var(--color-primary)}.switch input:checked+.track:after{transform:translate(18px)}.empty-state{padding:1.25rem;text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius);font-size:.9rem}.inactive-tag{font-size:.72rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:.1rem .5rem}.spinner{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-left:.4rem;border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.chart-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem;background:var(--color-surface)}.chart-title{margin:0 0 .9rem;font-size:.92rem;color:var(--color-text-muted);font-weight:600}.donut-wrap{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.donut{--pct: 0;position:relative;width:130px;height:130px;flex:none;border-radius:50%;background:conic-gradient(var(--color-success) calc(var(--pct) * 1%),var(--color-danger) 0)}.donut:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;background:var(--color-surface);border-radius:50%}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:700;font-size:1.1rem;z-index:1}.legend{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.9rem}.legend li{display:flex;align-items:center;gap:.5rem}.legend strong{margin-left:auto;font-variant-numeric:tabular-nums}.dot{width:11px;height:11px;border-radius:3px;flex:none}.dot-ok{background:var(--color-success)}.dot-no{background:var(--color-danger)}.bar-chart{display:flex;align-items:flex-end;gap:4px;height:150px}.bar-col{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem}.bar-count{font-size:.7rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;height:.9rem}.bar{--h: 0;width:70%;max-width:28px;min-height:2px;height:calc(var(--h) * 1%);background:var(--brand-gradient);border-radius:3px 3px 0 0;transition:height .2s}.bar-label{font-size:.68rem;color:var(--color-text-muted)}.range-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.range-fields{display:flex;flex-wrap:wrap;gap:1rem}.range-fields .field{flex:1 1 10rem}.stat-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;padding:1rem 1.25rem;background:var(--color-bg);border-radius:var(--radius);margin-top:.5rem}.stat{display:flex;flex-direction:column;gap:.15rem}.stat-value{font-size:1.5rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.stat-label{font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.log-detail{display:grid;gap:1rem;padding:.5rem .25rem}.log-detail-field{display:grid;gap:.3rem}.log-detail-field p{margin:0;white-space:pre-wrap}.chat-transcript{margin:0;max-height:360px;overflow:auto;padding:.75rem .9rem;background:var(--color-navy);color:#e6e9f0;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.model-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.model-add input{flex:1 1 12rem;width:auto}.model-add .btn{flex:none}.model-list{margin-top:1rem}.login-screen{min-height:100vh;display:grid;place-items:center;padding:2rem;text-align:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(72,98,255,.25),transparent 60%),var(--color-navy)}.login-box{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:420px}.login-logo{height:48px;width:auto}.login-card{width:100%}.login-card h1{font-size:1.5rem}.login-card p{color:var(--color-text-muted);margin-bottom:1.5rem}.login-card .btn-primary{width:100%;padding:.7rem 1.1rem}
