:root{color-scheme:dark;--bg:#07101b;--panel:#0d1b2b;--panel2:#112235;--edge:#243b50;--text:#eaf2f6;--muted:#9cafc1;--accent:#22b8bf;--accentbg:#103c46;--ok:#50d3ad}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.035em;line-height:1.15;margin-bottom:10px}h2{font-size:1.1rem;letter-spacing:-.02em}small{font-size:.78rem}
.eyebrow{font-size:.7rem;font-weight:800;color:#58d7d5;letter-spacing:.18em;margin-bottom:14px}.muted{color:var(--muted)}.identity,.side-brand{display:flex;align-items:center;gap:14px}.identity img{width:50px;height:50px;object-fit:contain}.identity strong,.identity small,.side-brand strong,.side-brand small{display:block}.identity strong{font-size:.88rem;letter-spacing:.07em}.identity small{color:#adc2cf;letter-spacing:.14em;font-size:.59rem}.login-body{min-height:100vh;background:radial-gradient(ellipse at 85% 15%,#14364a 0,transparent 45%),radial-gradient(ellipse at 0 100%,#10303b 0,transparent 40%),#07101b}.login-wrap{width:min(95%,530px);margin:0 auto;padding:clamp(35px,7vw,85px) 0 55px}.auth-card{margin-top:32px;padding:clamp(24px,5vw,42px);background:linear-gradient(155deg,#112438,#091725);border:1px solid #2d4b60;border-radius:20px;box-shadow:0 25px 70px #010b16a0}.auth-card h1{font-size:1.9rem}.auth-card p{font-size:.92rem}.auth-card form{margin-top:25px}.auth-card label{display:block;color:#cad9e5;margin:18px 0 8px;font-size:.86rem;font-weight:650}.auth-card input{width:100%;min-height:48px;border:1px solid #38566a;border-radius:10px;background:#081624;color:white;padding:12px 15px;font-size:16px}.auth-card input:focus{border-color:var(--accent)}.primary{margin-top:26px;width:100%;min-height:48px;border:0;border-radius:10px;background:linear-gradient(115deg,#1fc4c7,#1c95b0);color:#03202c;font-weight:800}.primary:hover{filter:brightness(1.08)}.legal{padding:24px 3px;margin-top:22px;border-top:1px solid #294050;color:#8da7b9;font-size:.8rem}.legal strong{font-size:.7rem;letter-spacing:.12em;color:#e4aa8c}.legal p{margin:9px 0 20px}.message,.setup-note{padding:12px;border:1px solid #355669;border-radius:9px;color:#c0d9e8;background:#142a3b}.message.error{border-color:#93575b;color:#ffe0df}.message.success{border-color:#418773;color:#bdf5e3}.setup-secret{padding:14px;word-break:break-word;letter-spacing:.12em;border:1px dashed #4c8592;border-radius:9px;color:#9ee9e9;background:#0a222e;font-family:ui-monospace,monospace;font-weight:700}
.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:#0a1725;border-right:1px solid #1f3648;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}.side-brand{padding:26px 23px 31px;border-bottom:1px solid #21364b}.side-brand img{height:48px;width:48px;object-fit:contain}.side-brand strong{font-size:1.4rem;line-height:1.2;letter-spacing:.05em}.side-brand small{letter-spacing:.1em;color:#8fa6b8;font-size:.62rem}.nav-label{margin:23px 24px 10px;font-size:.69rem;color:#7692a8;letter-spacing:.14em;font-weight:800}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding:0 13px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;color:#b6c8d6;border-radius:9px;font-size:.89rem;min-height:44px}.sidebar nav a:hover{background:#14283a;color:#fff}.sidebar nav a[aria-current]{background:#133843;border-left:3px solid #43c7c7;color:#eaffff}.side-footer{margin-top:auto;padding:0 14px 22px}.side-footer .nav-label{margin-left:10px}.account{padding:12px 10px;font-size:.76rem;font-weight:700;color:#d8e7ee}.account span{font-weight:400;color:#9db5c7;word-break:break-all;font-size:.75rem}.logout{width:100%;background:#14283a;color:#dcecf3;border:1px solid #335165;padding:11px;border-radius:9px;text-align:left}.logout:hover{background:#1c394b}
.workspace{min-width:0}.topbar{min-height:78px;border-bottom:1px solid #1d3345;background:#0a1622b3;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:14px clamp(20px,4vw,52px)}.breadcrumb{color:#96b0c1;font-size:.8rem}.account-pill{font-size:.77rem;color:#94e5cd;border:1px solid #255e58;background:#102b30;border-radius:99px;padding:7px 11px;white-space:nowrap}.menu-toggle{display:none;background:#132c3c;color:white;border:1px solid #325169;border-radius:8px;padding:9px 12px;min-width:45px;min-height:45px}.main-content{max-width:1480px;margin:0 auto;padding:39px clamp(20px,4vw,52px) 30px}.title-row{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:31px}.title-row h1{margin-bottom:12px}.title-row .muted{max-width:660px;font-size:.93rem}.phase-tag{color:#91b8c6;background:#102738;border:1px solid #285064;border-radius:99px;padding:9px 13px;font-size:.76rem;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:35px}.kpi{min-height:148px;padding:19px;background:linear-gradient(165deg,#102235,#0d1b2b);border:1px solid #254157;border-radius:15px;display:flex;flex-direction:column}.kpi>span{font-size:.8rem;color:#a7bfd1}.kpi strong{font-size:clamp(1.6rem,3vw,2.15rem);font-weight:760;margin:14px 0 5px;line-height:1.1;overflow-wrap:anywhere}.kpi small{color:#86a5b9}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-head h2{margin:0 0 5px}.section-head p{font-size:.83rem;margin:0}.count{font-size:.73rem;color:#a3c4d0;border:1px solid #325168;padding:6px 10px;border-radius:99px;white-space:nowrap}.modules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:30px}.module-card{display:flex;flex-direction:column;gap:8px;min-height:198px;padding:20px;border:1px solid #2a4659;border-radius:15px;background:#102031;transition:background .15s,border-color .15s}.module-card:hover{background:#142a3d;border-color:#3b8494}.module-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.module-icon{width:44px;height:44px;display:grid;place-items:center;background:#183d49;border:1px solid #286475;color:#a3f1ed;border-radius:11px;font-size:.78rem;font-weight:850}.module-arrow{color:#8eabbc;font-size:1.2rem}.module-card strong{font-size:1.05rem}.module-card>span:not(.module-top){color:#a3b6c6;font-size:.8rem;line-height:1.45}.module-card small{margin-top:auto;padding-top:12px;color:#8aaaba}.bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-box{border:1px solid #254257;border-radius:15px;background:#0e2031;padding:22px;margin-bottom:24px}.section-box>p{font-size:.84rem;color:#a4bac9}.empty-box{background:#0b1826;border:1px dashed #355469;border-radius:12px;padding:22px;margin-top:20px}.empty-box strong{font-size:.85rem}.empty-box p{color:#8ca9bd;font-size:.81rem;margin:8px 0 0}.back-link{display:inline-block;color:#76dcd7;font-size:.83rem;margin-bottom:20px}.app-foot{margin-top:22px;padding:16px 0 5px;border-top:1px solid #213a4e;color:#819eaf;font-size:.74rem}.mobile-shade[hidden]{display:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-tag{white-space:normal;text-align:center}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(280px,85vw);height:100vh;transform:translateX(-102%);transition:transform .2s ease;box-shadow:4px 0 18px #02060bc0}.app-shell.mobile-open .sidebar{transform:translateX(0)}.app-shell.mobile-open .mobile-shade{display:block;position:fixed;inset:0;background:#02070cba;z-index:15}.menu-toggle{display:block}.topbar{min-height:66px;padding:10px 17px}.breadcrumb{flex:1}.account-pill{font-size:.68rem}.main-content{padding:28px 17px}.title-row{flex-direction:column;gap:8px}.bottom-grid{grid-template-columns:1fr}.side-brand{padding:20px}}
@media(max-width:460px){.kpi-grid,.modules-grid{grid-template-columns:1fr}.kpi{min-height:115px}.module-card{min-height:166px}.section-head{align-items:flex-start}.phase-tag{font-size:.71rem}.account-pill{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar,.module-card{transition:none}}

/* Chatbot registry */
.chatbot-intro,.chatbot-detail-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.chatbot-intro h2,.chatbot-detail-head h2{font-size:1.35rem;margin:0 0 6px}
.chatbot-intro .muted{font-size:.86rem;margin:0}
.chatbot-add,.chatbot-copy{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #2897a7;border-radius:10px;background:linear-gradient(110deg,#20bbb9,#209bac);color:#001b2b;font-weight:800;font-size:.84rem;padding:10px 18px}
.chatbot-add:hover,.chatbot-copy:hover{filter:brightness(1.1)}
.chatbot-badge{display:inline-block;padding:6px 11px;border:1px solid #336579;background:#102d38;border-radius:20px;color:#b1ddd9;font-size:.72rem;white-space:nowrap}
.chatbot-kpis{margin-bottom:22px}
.chatbot-table-wrap{overflow:auto;max-width:100%}
.chatbot-table{width:100%;border-collapse:collapse;min-width:650px;text-align:left;font-size:.83rem}
.chatbot-table thead{color:#8eafc3;text-transform:uppercase;letter-spacing:.06em;font-size:.69rem}
.chatbot-table th,.chatbot-table td{padding:14px 12px;border-bottom:1px solid #244459;vertical-align:middle}
.chatbot-table td:nth-child(2){overflow-wrap:anywhere;max-width:250px;color:#a8bed1}
.chatbot-table td strong{color:#e9f1f7}
.chatbot-view{color:#78dfdc;font-weight:650;white-space:nowrap}
.chatbot-view:hover{text-decoration:underline}
.chatbot-empty{padding:30px}
.chatbot-empty .chatbot-add{margin-top:16px}
.chatbot-form label,.chatbot-label{font-size:.81rem;font-weight:700;color:#c8dde8;display:block;margin:15px 0 8px}
.chatbot-form input,.chatbot-form select,.chatbot-form textarea,.chatbot-prompt{width:100%;background:#0a1827;border:1px solid #39566a;border-radius:10px;color:#f0f7fa;font:inherit;padding:12px 13px;min-height:44px}
.chatbot-form input,.chatbot-form select{font-size:16px}
.chatbot-form textarea{resize:vertical;font-size:.85rem;line-height:1.55}
.chatbot-form input:focus,.chatbot-form select:focus,.chatbot-form textarea:focus,.chatbot-prompt:focus{outline:3px solid #1b8191;outline-offset:2px}
.chatbot-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px}
.chatbot-actionbar{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:22px}
.chatbot-submit{margin:0;width:auto;padding:10px 23px}
.chatbot-quiet{color:#b0ccdb;font-size:.86rem}
.chatbot-footnote{color:#89aabb;font-size:.77rem;margin:17px 0 0}
.chatbot-detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:16px}
.chatbot-detail-grid .section-box{min-width:0}
.chatbot-details{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:16px;row-gap:14px;font-size:.83rem;margin:14px 0 0}
.chatbot-details dt{color:#95b7c9}
.chatbot-details dd{margin:0;color:#e0f0f6;overflow-wrap:anywhere}
.chatbot-prompt{resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;line-height:1.55;min-height:290px}
.chatbot-copy{cursor:pointer}
@media(max-width:900px){.chatbot-detail-grid{grid-template-columns:1fr}.chatbot-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.chatbot-intro,.chatbot-detail-head{flex-direction:column;align-items:flex-start}.chatbot-add{width:100%}.chatbot-details{grid-template-columns:1fr;row-gap:4px}.chatbot-details dd{margin-bottom:12px}.chatbot-actionbar{align-items:stretch;flex-direction:column}.chatbot-submit,.chatbot-copy{width:100%}}

/* Read-only VPS verification and unpublished change state. */
.chatbot-runtime-banner{border-color:#a77635;background:linear-gradient(145deg,#192333,#13283b)}
.chatbot-runtime-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:16px 0}
.chatbot-runtime-names>div{padding:15px;border:1px solid #3e5a65;border-radius:11px;background:#091d2b}
.chatbot-runtime-names small{display:block;font-size:.7rem;color:#a7c4d2;margin-bottom:7px;letter-spacing:.06em}
.chatbot-runtime-names strong{display:block;font-size:1.35rem;color:#f3f7ff}
.chatbot-alert{padding:13px 16px;border:1px solid #a87736;border-radius:10px;background:#392d20;color:#ffe1a4;font-size:.85rem;line-height:1.55;margin:15px 0}
.chatbot-pending-name{color:#ffd88d;font-weight:700}
@media(max-width:570px){.chatbot-runtime-names{grid-template-columns:1fr}}
