:root{--bg:#f5f5f7;--surface:#ffffff;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--blue:#0071e3;--blue-dark:#0064cc;--red:#ff3b30;--green:#34c759;--amber:#ff9500;--border:rgba(0,0,0,0.12);--border-light:rgba(0,0,0,0.06);--shadow-sm:0 1px 4px rgba(0,0,0,0.06),0 0 1px rgba(0,0,0,0.04);--shadow:0 4px 20px rgba(0,0,0,0.08),0 0 1px rgba(0,0,0,0.04);--radius-lg:16px;--radius:12px;--radius-sm:8px;--radius-xs:6px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text-primary);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-shell,body{background:var(--bg)}.admin-shell{min-height:100vh;display:flex;align-items:flex-start}.admin-content{flex:1 1;min-width:0}.admin-main{max-width:1200px;margin:0 auto;padding:40px 32px 80px}.admin-sidebar{--sidebar-w:240px;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;flex-shrink:0;width:var(--sidebar-w);height:100vh;display:flex;flex-direction:column;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-right:1px solid var(--border-light);padding:12px;gap:8px;transition:width .2s ease}.admin-sidebar.collapsed{--sidebar-w:64px}.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 4px 8px;min-height:40px}.admin-sidebar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);overflow:hidden;min-width:0}.admin-sidebar-mark{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.admin-sidebar-brand-name{font-size:15px;font-weight:700;letter-spacing:-.3px;white-space:nowrap}.admin-sidebar-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-xs);cursor:pointer;transition:color .12s,background .12s}.admin-sidebar-toggle:hover{color:var(--text-primary);background:rgba(0,0,0,.05)}.admin-sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto;overflow-x:hidden}.admin-sidebar-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:color .12s,background .12s}.admin-sidebar-link:hover{color:var(--text-primary);background:rgba(0,0,0,.05)}.admin-sidebar-link.active{color:var(--blue);background:rgba(0,113,227,.08)}.admin-sidebar-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.admin-sidebar-label{overflow:hidden;text-overflow:ellipsis}.admin-sidebar-footer{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border-light)}.admin-sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 2px}.admin-sidebar-email{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.admin-sidebar.collapsed .admin-sidebar-brand-name,.admin-sidebar.collapsed .admin-sidebar-email,.admin-sidebar.collapsed .admin-sidebar-label{display:none}.admin-sidebar.collapsed .admin-sidebar-top{flex-direction:column;gap:8px}.admin-sidebar.collapsed .admin-sidebar-link{justify-content:center;padding:9px 0}.admin-sidebar.collapsed .admin-sidebar-user{display:none}@media (max-width:720px){.admin-sidebar{--sidebar-w:200px}.admin-main{padding:28px 20px 64px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:980px;font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s,transform .1s;outline:none;white-space:nowrap;text-decoration:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-secondary{background:rgba(0,0,0,.06);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:rgba(0,0,0,.1)}.btn-ghost{background:transparent;color:var(--blue);padding:6px 10px}.btn-ghost:hover:not(:disabled){background:rgba(0,113,227,.08)}.btn-danger{background:transparent;color:var(--red);font-size:13px;padding:4px 10px;border-radius:var(--radius-xs)}.btn-danger:hover:not(:disabled){background:rgba(255,59,48,.08)}.btn-sm{padding:5px 14px;font-size:13px}.btn-ai{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .12s,color .12s;padding:0;flex-shrink:0}.btn-ai:hover:not(:disabled){background:rgba(0,113,227,.08);color:var(--blue)}.btn-ai:disabled{opacity:.4;cursor:wait}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spin .7s linear infinite}.form-group{display:grid;grid-gap:7px;gap:7px;margin-bottom:20px}.form-label{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.05px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;font-family:var(--font);font-size:15px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,113,227,.15)}.form-textarea{resize:vertical;line-height:1.6}.form-input-sm{padding:7px 10px;font-size:14px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px;margin-bottom:16px}.page-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;color:var(--text-primary)}.page-desc{font-size:15px;color:var(--text-secondary);margin-bottom:32px;max-width:560px;line-height:1.6}.section-title{font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--text-primary);margin-bottom:14px;margin-top:32px}.status-ok{font-size:14px;color:var(--green)}.status-err{font-size:14px;color:var(--red)}.status-info{font-size:14px;color:var(--text-secondary)}.action-row{display:flex;align-items:center;gap:14px;margin-top:8px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.dash-card{display:block;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;text-decoration:none;color:inherit;border:1px solid transparent;transition:box-shadow .2s,transform .15s,border-color .2s}.dash-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:rgba(0,113,227,.15)}.dash-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:rgba(0,113,227,.08);color:var(--blue);margin-bottom:14px}.dash-card-title{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.2px}.dash-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.55}.doc-list{list-style:none;padding:0}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-light)}.doc-item:last-child{border-bottom:none}.doc-name{font-weight:500;font-size:15px}.doc-type{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.doc-type,.rag-badge{font-size:11px;margin-left:7px;font-weight:500}.rag-badge{letter-spacing:.3px;white-space:nowrap}.rag-badge-ok{color:var(--green)}.rag-badge-pending{color:var(--text-secondary)}.rag-badge-warn{color:var(--amber)}.rag-badge-neutral{color:var(--text-tertiary)}.doc-open{background:none;border:none;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;color:var(--blue)}.doc-open:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border-light)}.modal-title{font-size:16px;font-weight:600;letter-spacing:-.2px}.modal-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text-secondary);padding:0 4px}.modal-body{padding:18px 22px;overflow:auto}.modal-content{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6;color:var(--text-primary);margin:0;font-family:var(--font)}.modal-frame{width:100%;height:65vh;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);padding:8px 12px}.data-table td,.data-table th{border-bottom:1px solid var(--border-light)}.data-table td{padding:11px 12px;color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500}.data-table .muted{color:var(--text-tertiary)}.menu-row{display:grid;grid-template-columns:52px 1fr 130px 1fr 34px;grid-gap:8px;gap:8px;align-items:center;margin-bottom:8px}.menu-agent-hint{font-size:13px;color:var(--text-tertiary);padding:7px 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:44px 40px;width:100%;max-width:380px}.login-title{font-size:24px;font-weight:700;letter-spacing:-.4px;margin-bottom:4px}.login-sub{font-size:14px;color:var(--text-secondary);margin-bottom:28px}.login-form{display:grid;grid-gap:16px;gap:16px}.login-btn{width:100%;padding:12px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;margin-top:4px}.settings-shell{display:grid;grid-template-columns:200px 1fr;grid-gap:32px;gap:32px;align-items:start}.settings-sidebar{position:-webkit-sticky;position:sticky;top:24px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:8px;overflow:hidden}.settings-sidebar-title{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary);padding:10px 12px 6px}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-link{display:block;padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .12s,background .12s}.settings-nav-link:hover{color:var(--text-primary);background:rgba(0,0,0,.05)}.settings-nav-link.active{color:var(--blue);background:rgba(0,113,227,.08)}.settings-content{min-width:0}.empty-state{font-size:14px;color:var(--text-tertiary);padding:20px 0;text-align:center}.loading-state{font-size:14px;color:var(--text-secondary);padding:16px 0}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-gap:16px;gap:16px}.live-call{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);padding:20px;display:flex;flex-direction:column;gap:16px}.live-call.is-live{border-color:rgba(52,199,89,.5);box-shadow:0 0 0 1px rgba(52,199,89,.25),var(--shadow)}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(52,199,89,.6);animation:live-pulse 1.6s ease-out infinite;flex-shrink:0}.live-dot.is-ended{background:var(--text-tertiary);animation:none;box-shadow:none}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(52,199,89,.55)}70%{box-shadow:0 0 0 7px rgba(52,199,89,0)}to{box-shadow:0 0 0 0 rgba(52,199,89,0)}}.live-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;font-size:15px;color:var(--text-primary)}.live-path{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.live-step{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 9px;border-radius:980px;background:var(--bg);color:var(--text-tertiary);border:1px solid var(--border-light);white-space:nowrap}.live-step.visited{background:rgba(0,113,227,.08);color:var(--blue);border-color:rgba(0,113,227,.25)}.live-step.current{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}.live-arrow{color:var(--text-tertiary);font-size:11px}.live-timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.live-event{display:grid;grid-template-columns:22px 1fr auto;grid-gap:10px;gap:10px;padding:8px 0;border-top:1px solid var(--border-light);align-items:baseline}.live-event:first-child{border-top:none}.live-event-icon{font-size:14px;line-height:1.3}.live-event-summary{font-size:13.5px;color:var(--text-primary);line-height:1.4}.live-event-sub{font-size:12px;color:var(--text-tertiary);margin-top:2px}.live-event-time{font-size:11px;color:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.live-meta-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary)}.live-vars{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.live-var{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:2px 7px;border-radius:var(--radius-xs);background:var(--bg);color:var(--text-secondary);border:1px solid var(--border-light)}.live-var.is-set{background:rgba(0,113,227,.1);color:var(--blue);border-color:rgba(0,113,227,.25);font-weight:600}