@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@600;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#202520;background:#f6f7f3;font-synthesis:none;--ink:#202520;--muted:#747c74;--line:#e4e8e1;--paper:#fff;--green:#2f7351;--green-soft:#e8f3ec;--orange:#e16f47;--nav:#17241f}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f7f3}button,input,textarea,select{font:inherit}button{cursor:pointer}code,pre,.endpoint{font-family:DM Mono,monospace}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:var(--nav);color:#eaf0eb;padding:27px 18px 20px;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center;padding:0 8px 32px}.logo strong,.logo small{display:block}.logo strong{font-size:17px}.logo small{font-size:9px;letter-spacing:.16em;color:#8fa298;margin-top:3px}.brand-symbol{width:56px;height:56px;display:grid;place-items:center;background:var(--orange);color:#fff;border-radius:17px 17px 17px 5px;font:700 27px "Noto Serif SC",serif;box-shadow:0 10px 30px #d65d3535}.brand-symbol.small{width:40px;height:40px;font-size:19px;border-radius:12px 12px 12px 4px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;color:#a7b5ad;border-radius:10px;padding:11px 13px;display:flex;gap:12px;align-items:center;text-align:left}.sidebar nav button span{width:21px;text-align:center;font-size:16px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff10}.sidebar nav button.active{box-shadow:inset 3px 0 var(--orange)}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff12;padding:18px 9px 0;display:grid;gap:13px}.sidebar-foot button{border:0;background:none;color:#8fa298;text-align:left;padding:0}.status-dot{font-size:11px;letter-spacing:.08em;color:#b7c5bd}.status-dot i,.live-badge i,.state i,.credential i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#59be7b;margin-right:7px;box-shadow:0 0 0 4px #59be7b18}.workspace{padding:38px clamp(24px,4vw,64px) 70px;max-width:1540px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.kicker{font-size:10px;font-weight:700;letter-spacing:.19em;color:#b8593b;margin:0 0 8px}.topbar h1{font:700 31px "Noto Serif SC",serif;margin:0;color:#202620}.live-badge{border:1px solid #dbe5dd;border-radius:99px;background:#fff;padding:8px 12px;font-size:11px;color:#5c695f}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;min-height:134px;box-shadow:0 8px 25px #20352608}.metric>span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:28px;margin:14px 0 8px;letter-spacing:-.04em}.metric.green strong{color:var(--green)}.welcome-card{margin-top:16px;min-height:230px;border-radius:18px;padding:34px 37px;background:linear-gradient(120deg,#1f342b,#2f5945);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome-card:after{content:"";position:absolute;width:330px;height:330px;border:1px solid #ffffff12;border-radius:50%;right:-70px;top:-170px;box-shadow:0 0 0 50px #ffffff05,0 0 0 100px #ffffff03}.welcome-card>div{position:relative;z-index:1}.welcome-card h2{font:600 24px "Noto Serif SC";margin:7px 0}.welcome-card p:not(.kicker){color:#c6d6cd;max-width:620px}.halo{float:left;margin-right:14px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#ffffff12;color:#f3af89}.flow{display:flex;gap:10px;align-items:center;background:#ffffff0d;border:1px solid #ffffff12;padding:14px;border-radius:12px}.flow span{padding:8px 10px;background:#ffffff0a;border-radius:7px;font-size:11px}.flow b{color:#90aa9b}.stack{display:grid;gap:17px}.section-card,.config-hero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 7px 24px #20352606}.section-card.flush{padding:0;overflow:hidden}.section-head,.config-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head{margin-bottom:21px}.section-head h2,.config-hero h2,.drawer h2{font:600 20px "Noto Serif SC";margin:0}.section-head p,.config-hero p,.drawer-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.button{border:1px solid #dce2dc;background:#fff;color:#38423b;padding:9px 13px;border-radius:9px;font-weight:600;font-size:12px}.button:hover{border-color:#aeb9b0}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.large{padding:12px 16px;font-size:13px}.button.ghost{background:#f7f8f5}.button:disabled{opacity:.45;cursor:not-allowed}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:13px}.provider-card{border:1px solid #dfe5df;background:#fbfcfa;border-radius:14px;padding:18px}.provider-top{display:flex;align-items:center;gap:11px}.provider-top h3{margin:0 0 3px;font-size:15px}.provider-top small{color:var(--muted);font-size:10px}.provider-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#172d24;color:#fff;font-weight:700}.credential{margin-left:auto;border-radius:99px;padding:6px 9px;font-size:10px;background:var(--green-soft);color:var(--green)}.credential.missing{background:#fff0e8;color:#ad593a}.credential.missing i{background:#e07b55;box-shadow:0 0 0 4px #e07b5515}.endpoint{font-size:11px;color:#667168;background:#f0f3ef;padding:8px 10px;border-radius:7px;margin:15px 0 10px;overflow:hidden;text-overflow:ellipsis}.provider-models{display:flex;gap:6px;flex-wrap:wrap}.provider-models span,.tag{font-size:10px;border:1px solid #dfe4df;padding:4px 7px;border-radius:6px;background:#fff;color:#59635b}.card-actions{display:flex;gap:8px;margin-top:17px}.secret-editor{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end;margin-top:15px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.route-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fcfdfa}.route-heading{display:flex;align-items:center;gap:11px;margin-bottom:17px}.route-heading>span{width:39px;height:39px;border-radius:11px;background:#eaf2ed;color:var(--green);display:grid;place-items:center;font:700 17px "Noto Serif SC"}.route-heading h3{font-size:15px;margin:0}.route-heading small{color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:6px;font-size:11px;font-weight:600;color:#596159}.field input,.field select,.field textarea,.filters select{width:100%;border:1px solid #dce2dc;background:#fff;color:#252b27;border-radius:9px;padding:10px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7ea38d;box-shadow:0 0 0 3px #4f8e6813}.model-table{display:grid}.model-row{display:grid;grid-template-columns:1.2fr .7fr 1fr .5fr .55fr auto;gap:15px;align-items:center;padding:13px 5px;border-top:1px solid #edf0ec;font-size:12px}.model-row.table-head{color:#8a918b;font-size:10px;text-transform:uppercase;border:0;padding-top:0}.model-row strong,.model-row small{display:block}.model-row small{color:var(--muted);margin-top:3px}.model-row code{font-size:11px}.state{color:#858d87;font-size:10px;white-space:nowrap}.state i{background:#aeb5af;box-shadow:none}.state.on{color:var(--green)}.state.on i{background:#55b879}.icon-button,.row-actions button{border:0;background:none;color:#5b695f;font-size:11px;padding:5px}.config-hero{padding:27px 29px;background:linear-gradient(115deg,#fff,#f1f7f2)}.config-toolbar{display:flex;gap:13px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;gap:7px;background:#f4f6f3;border-radius:9px;padding:0 10px;flex:1;max-width:430px}.search input{border:0;background:transparent;outline:none;padding:9px 0;width:100%;font-size:12px}.segmented{display:flex;background:#f1f3f0;padding:3px;border-radius:8px}.segmented button{border:0;background:transparent;border-radius:6px;padding:6px 10px;font-size:10px;color:#707970}.segmented button.active{background:#fff;color:#263229;box-shadow:0 2px 8px #28392d10}.row-count{margin-left:auto;color:var(--muted);font-size:10px}.config-list{display:grid}.config-item{display:grid;grid-template-columns:1.15fr 1fr .55fr .5fr auto;gap:18px;align-items:center;padding:15px 21px;border-top:1px solid #edf0ec}.config-item:first-child{border:0}.config-item.disabled{opacity:.55}.config-key{display:flex;gap:11px;align-items:center;min-width:0}.config-key code,.config-key small{display:block}.config-key code{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-key small,.target small{color:var(--muted);font-size:9px;margin-top:4px}.config-type{width:39px;height:29px;display:grid;place-items:center;background:#eef3ef;border-radius:7px;color:#4d6e59;font-size:9px}.config-item pre{margin:0;color:#586159;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target span,.target small{display:block;font-size:10px}.row-actions{display:flex}.row-actions .danger{color:#b95942}.prompt-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}.prompt-version{border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:10px}.prompt-version.active{border-color:#a9c9b4;background:#f3f9f5}.prompt-version>div{display:flex;align-items:center;gap:8px}.prompt-version>div span{font-weight:700}.prompt-version b{font-size:9px;color:var(--green);background:#dfeee4;padding:4px 7px;border-radius:99px}.prompt-version small{margin-left:auto;color:var(--muted);font-size:9px}.prompt-version p{font-size:11px;line-height:1.65;color:#545e56;white-space:pre-wrap;max-height:110px;overflow:auto}.log-list{display:grid}.log-row{display:grid;grid-template-columns:35px 1fr 1fr .6fr .45fr auto;gap:13px;align-items:center;padding:13px 4px;border-top:1px solid #edf0ec;font-size:11px}.log-row>div strong,.log-row>div span,.log-row>div small{display:block}.log-row small{color:var(--muted);margin-top:3px}.log-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#f6e5df;color:#c15a3e}.log-icon.success{background:#e5f2e9;color:#41805a}.filters{display:flex;gap:7px}.filters select{width:auto;padding:8px}.modal-backdrop{position:fixed;inset:0;background:#17231d70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20}.drawer{position:absolute;right:0;top:0;height:100%;width:min(510px,100%);background:#fff;padding:38px 34px;overflow:auto;box-shadow:-20px 0 60px #101a1530}.drawer-close{position:absolute;right:21px;top:18px;border:0;background:#f2f4f1;width:31px;height:31px;border-radius:50%;font-size:20px;color:#687069}.drawer-head{margin-bottom:25px}.drawer form{display:grid;gap:15px}.drawer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px;padding-top:18px;border-top:1px solid var(--line)}.switch-row{display:flex;justify-content:space-between;align-items:center;background:#f7f8f5;padding:12px 13px;border-radius:10px}.switch-row strong,.switch-row small{display:block}.switch-row small{font-size:9px;color:var(--muted);margin-top:3px}.switch-row input{accent-color:var(--green);width:18px;height:18px}.code-editor{font-family:DM Mono,monospace;font-size:11px;line-height:1.6}.toast{position:fixed;z-index:30;right:28px;top:24px;background:#20362b;color:#fff;border-radius:10px;padding:12px 17px;font-size:12px;box-shadow:0 15px 45px #17231d35}.inline-error{background:#fff0eb;border:1px solid #f0c9bb;color:#a84830;padding:10px 12px;border-radius:9px;font-size:11px}.center-state,.empty{min-height:240px;display:grid;place-items:center;align-content:center;gap:11px;text-align:center}.empty{min-height:220px;color:#8a938b}.empty span{font-size:28px}.empty strong{color:#4f5851}.empty p{font-size:11px;margin:0}.skeleton{display:grid;gap:13px}.skeleton i{height:140px;border-radius:14px;background:linear-gradient(90deg,#eef1ed,#f9faf8,#eef1ed);background-size:200%;animation:shimmer 1.2s infinite}.splash{min-height:100vh;display:grid;place-items:center;align-content:center;gap:15px;color:var(--muted)}@keyframes shimmer{to{background-position:-200%}}.login-page{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#182720}.login-copy{color:#fff;padding:clamp(50px,8vw,120px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 20%,#345746 0,transparent 40%),#182720}.login-copy h1{font:700 clamp(35px,5vw,64px)/1.35 "Noto Serif SC";letter-spacing:-.04em;margin:26px 0 18px}.login-copy>p:last-child{color:#aebfb5;max-width:550px;line-height:1.7}.login-panel{background:#fbfcf9;padding:clamp(38px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.login-panel h2{font:700 29px "Noto Serif SC";margin:0}.login-panel .subtle{color:var(--muted);font-size:12px}.login-panel form{display:grid;gap:17px;margin-top:32px}@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.route-grid,.prompt-columns{grid-template-columns:1fr}.welcome-card{display:block}.flow{margin-top:25px;width:max-content}.config-item{grid-template-columns:1fr .7fr .5fr auto}.config-item pre{display:none}.model-row{grid-template-columns:1.2fr .8fr 1fr auto}.model-row>*:nth-child(4),.model-row>*:nth-child(5){display:none}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:13px}.logo{padding:0 4px 12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.sidebar-foot{display:none}.workspace{padding:25px 15px 60px}.topbar{align-items:flex-end}.topbar h1{font-size:24px}.live-badge{display:none}.provider-grid,.two-col,.secret-editor{grid-template-columns:1fr}.config-toolbar{flex-wrap:wrap}.search{max-width:none}.row-count{display:none}.config-item{grid-template-columns:1fr auto}.config-item>.target,.config-item>.state{display:none}.row-actions{grid-column:1/-1;justify-content:flex-end}.login-page{grid-template-columns:1fr}.login-copy{display:none}.login-panel{min-height:100vh}.log-row{grid-template-columns:35px 1fr auto}.log-row>div:nth-child(n+3),.log-row>.state{display:none}.flow{display:none}}
