:root{--green-50: #06cf9c;--green-100: #00a884;--green-600: #008069;--green-700: #016a56;--bg: #f5f7f9;--surface: #ffffff;--surface-2: #f1f4f6;--sidebar: #0f1b22;--sidebar-text: #aebdc4;--sidebar-text-dim: #6c8089;--border: #e6eaee;--border-strong: #d6dde2;--text: #0d1a21;--text-dim: #5a6b74;--text-faint: #6b7a84;--danger: #c62f34;--danger-bg: #fdecec;--warn: #c9770a;--warn-bg: #fdf3e3;--ring: color-mix(in srgb, var(--green-100) 55%, transparent);--link: var(--green-600);--radius: 14px;--radius-sm: 9px;--radius-xs: 7px;--shadow-sm: 0 1px 2px rgba(13, 26, 33, .06), 0 1px 1px rgba(13, 26, 33, .04);--shadow: 0 1px 2px rgba(13, 26, 33, .05), 0 6px 20px -6px rgba(13, 26, 33, .12);--shadow-lg: 0 12px 40px -12px rgba(13, 26, 33, .28), 0 4px 12px -6px rgba(13, 26, 33, .14);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 44px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0b141a;--surface: #111c23;--surface-2: #17242c;--sidebar: #0a1116;--sidebar-text: #aebdc4;--sidebar-text-dim: #63767f;--border: #243139;--border-strong: #30414b;--text: #e9edef;--text-dim: #93a4ad;--text-faint: #8295a0;--danger: #f1676b;--danger-bg: #2a1718;--warn: #e0a04a;--warn-bg: #2a2111;--link: var(--green-50);--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -8px rgba(0,0,0,.5);--shadow-lg: 0 16px 48px -12px rgba(0,0,0,.7), 0 4px 12px -6px rgba(0,0,0,.5)}}:root[data-theme=dark]{--bg: #0b141a;--surface: #111c23;--surface-2: #17242c;--sidebar: #0a1116;--sidebar-text: #aebdc4;--sidebar-text-dim: #63767f;--border: #243139;--border-strong: #30414b;--text: #e9edef;--text-dim: #93a4ad;--text-faint: #6b7d86;--danger: #f1676b;--danger-bg: #2a1718;--warn: #e0a04a;--warn-bg: #2a2111;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -8px rgba(0,0,0,.5);--shadow-lg: 0 16px 48px -12px rgba(0,0,0,.7), 0 4px 12px -6px rgba(0,0,0,.5)}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;accent-color:var(--green-100)}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}a{color:var(--link)}::selection{background:color-mix(in srgb,var(--green-100) 26%,transparent);color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box;border:3px solid transparent}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}.num,.mono,.stat__value,td.num{font-variant-numeric:tabular-nums}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon--lg{width:22px;height:22px}.logomark{width:40px;height:40px;display:block}.logomark--sm{width:26px;height:26px}.logomark rect{fill:var(--green-100)}.logomark__chat{fill:#fff}.logomark__send{fill:none;stroke:var(--green-600);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brand{display:flex;align-items:center;gap:var(--s3);font-weight:700;font-size:15px;letter-spacing:-.02em}.brand__logo{display:inline-flex;filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--green-600) 35%,transparent))}.btn{font:inherit;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:9px 15px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .08s;color:var(--text);background:var(--surface-2);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn .icon{width:16px;height:16px}.btn--primary{background:var(--green-600);color:#fff;box-shadow:0 1px 2px #006a5666}.btn--primary:hover{background:var(--green-700)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn--ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn--danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.btn--danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn--sm{padding:6px 11px;font-size:13px;border-radius:var(--radius-xs)}.btn--block{width:100%;padding:11px 15px}.icon-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:var(--radius-xs);display:inline-flex;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.login{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr}.login__aside{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s7);padding:clamp(32px,5vw,64px);background:radial-gradient(120% 90% at 15% 10%,color-mix(in srgb,var(--green-50) 40%,transparent),transparent 60%),linear-gradient(155deg,var(--green-600),var(--green-700) 70%,#024538);color:#eafff7}.login__mark .logomark{width:52px;height:52px}.login__mark .logomark rect{fill:#ffffff24}.login__mark .logomark__chat{fill:#eafff7}.login__mark .logomark__send{stroke:var(--green-600)}.login__pitch h2{font-size:clamp(26px,3vw,34px);line-height:1.12;font-weight:700;max-width:16ch}.login__pitch p{margin:var(--s4) 0 0;font-size:16px;line-height:1.55;color:color-mix(in srgb,#eafff7 78%,transparent);max-width:42ch}.login__card{place-self:center;width:100%;max-width:376px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:var(--s4)}.login__head h1{font-size:23px}.login__head p{margin:4px 0 0;color:var(--text-dim);font-size:14px}.login__card label,.dialog__body label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim);font-weight:550}.login__card input,.dialog__body input,.dialog__body select,.dialog__body textarea{font:inherit;padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.login__card input::placeholder,.dialog__body input::placeholder{color:var(--text-dim);opacity:1}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-100);box-shadow:0 0 0 3px var(--ring)}.login__err{color:var(--danger);font-size:13px;min-height:18px;margin:0;font-weight:550}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:var(--s6) var(--s4);display:flex;flex-direction:column;gap:var(--s6);position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;padding:0 var(--s2)}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav__item{display:flex;align-items:center;gap:var(--s3);text-align:left;background:none;border:none;color:var(--sidebar-text);font:inherit;font-weight:550;font-size:14px;padding:10px var(--s3);border-radius:var(--radius-sm);cursor:pointer;transition:background .13s,color .13s}.nav__item .icon{color:var(--sidebar-text-dim);transition:color .13s}.nav__item:hover{background:color-mix(in srgb,#fff 7%,transparent);color:#fff}.nav__item:hover .icon{color:var(--sidebar-text)}.nav__item.is-active{background:color-mix(in srgb,var(--green-100) 20%,transparent);color:#fff}.nav__item.is-active .icon{color:var(--green-50)}.nav__item:focus-visible{outline-offset:-2px}.sidebar__foot{display:flex;flex-direction:column;gap:6px}.langswitch{display:flex;gap:3px;padding:3px;border-radius:var(--radius-sm);background:color-mix(in srgb,#fff 6%,transparent)}.langswitch__btn{flex:1;font:inherit;font-weight:600;font-size:12px;letter-spacing:.04em;padding:6px 0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--sidebar-text-dim);cursor:pointer;transition:background .13s,color .13s}.langswitch__btn:hover:not(:disabled):not(.is-active){color:#fff}.langswitch__btn.is-active{background:color-mix(in srgb,var(--green-100) 24%,transparent);color:#fff}.langswitch__btn:disabled{opacity:.4;cursor:not-allowed}.btn--icon-text{justify-content:flex-start;background:transparent;border-color:transparent;color:var(--sidebar-text)}.btn--icon-text:hover{background:color-mix(in srgb,#fff 7%,transparent);color:#fff;border-color:transparent}.icon--sun{display:none}.icon--moon{display:inline}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .icon--sun{display:inline}:root:not([data-theme=light]) .icon--moon{display:none}}:root[data-theme=dark] .icon--sun{display:inline}:root[data-theme=dark] .icon--moon{display:none}:root[data-theme=light] .icon--sun{display:none}:root[data-theme=light] .icon--moon{display:inline}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s7);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}.topbar h2{font-size:19px}.topbar__actions{display:flex;gap:var(--s2)}.content{padding:var(--s6) var(--s7);max-width:1180px;width:100%}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:var(--s4)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--s3)}.stat__top{display:flex;align-items:center;justify-content:space-between;color:var(--text-dim)}.stat__label{font-size:13px;font-weight:550}.stat__ic{display:inline-flex;padding:7px;border-radius:9px;background:color-mix(in srgb,var(--green-100) 12%,transparent);color:var(--green-100)}.stat__ic .icon{width:17px;height:17px}.stat__value{font-size:29px;font-weight:700;letter-spacing:-.02em;line-height:1}.stat__value small{font-size:14px;color:var(--text-dim);font-weight:550;letter-spacing:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:var(--s7) 0 var(--s4)}.section-head h3{font-size:15px;font-weight:650}.section-head .muted{color:var(--text-dim);font-size:13px}.analytics{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:var(--s4);align-items:stretch}.analytics__chart{padding:var(--s5) var(--s5) var(--s4);display:flex;flex-direction:column;justify-content:center;min-height:240px}.analytics__side{display:flex;flex-direction:column;gap:var(--s4)}.analytics__panel{padding:var(--s4) var(--s5) var(--s5)}.analytics__panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);font-size:13.5px;font-weight:650;margin-bottom:var(--s3)}.analytics__panel-head .muted{font-weight:400;font-size:12px;color:var(--text-faint)}.dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;flex:none}.dot--sent{background:var(--green-100)}.dot--invalid{background:var(--warn)}.dot--failed{background:var(--danger)}.chart{position:relative}.chart__svg{width:100%;height:150px;display:block;overflow:visible}.chart__grid{stroke:var(--border);stroke-width:1;opacity:.7}.chart__hit{fill:transparent}.chart__seg{transition:opacity .12s}.chart__seg--sent{fill:var(--green-100)}.chart__seg--invalid{fill:var(--warn)}.chart__seg--failed{fill:var(--danger)}.chart:hover .chart__seg:not(.is-hot){opacity:.4}.chart__xaxis{display:flex;margin-top:6px}.chart__xlab{flex:1;text-align:center;font-size:10.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.chart__tip{position:absolute;top:-6px;transform:translate(-50%,-100%);background:var(--text);color:var(--bg);padding:8px 11px;border-radius:9px;font-size:12px;line-height:1.55;box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap;z-index:3}.chart__tip-date{font-weight:650;margin-bottom:3px;opacity:.8;font-size:11px}.chart__tip div{display:flex;align-items:center}.chart__tip b{margin-left:8px;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border)}.legend__item{display:inline-flex;align-items:center;font-size:12.5px;color:var(--text-dim);font-weight:550}.donut{position:relative;width:132px;height:132px;margin:var(--s2) auto var(--s3)}.donut__svg{width:100%;height:100%}.donut__track{fill:none;stroke:var(--surface-2);stroke-width:4}.donut__ring{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .5s cubic-bezier(.2,.7,.3,1)}.donut__ring--sent{stroke:var(--green-100)}.donut__ring--invalid{stroke:var(--warn)}.donut__ring--failed{stroke:var(--danger)}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut__center b{font-size:26px;font-weight:700;letter-spacing:-.02em}.donut__center small{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.analytics__legend{display:flex;flex-direction:column;gap:7px}.analytics__legend span{display:flex;align-items:center;font-size:13px;color:var(--text-dim)}.analytics__legend b{margin-left:auto;color:var(--text);font-variant-numeric:tabular-nums}.toplist{display:flex;flex-direction:column;gap:11px}.toplist__row{display:grid;grid-template-columns:16px minmax(0,1fr) 1.4fr auto;align-items:center;gap:var(--s3);font-size:13px}.toplist__rank{color:var(--text-faint);font-weight:650;font-variant-numeric:tabular-nums}.toplist__num{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toplist__track{height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden}.toplist__track i{display:block;height:100%;border-radius:99px;background:var(--green-100);transition:width .5s cubic-bezier(.2,.7,.3,1)}.toplist__val{color:var(--text-dim);font-weight:600;font-variant-numeric:tabular-nums}.toplist__empty{color:var(--text-faint);font-size:13px;margin:var(--s2) 0 0}@media (max-width: 880px){.analytics{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:11px var(--s4);color:var(--text-dim);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--surface-2)}tbody td{padding:13px var(--s4);border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}.cell-title{font-weight:600;color:var(--text)}.cell-sub{color:var(--text-dim);font-size:12.5px;margin-top:1px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;letter-spacing:-.01em}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:99px;font-size:12px;font-weight:600;line-height:1.5}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--ok{background:color-mix(in srgb,var(--green-100) 15%,transparent);color:var(--green-700)}.badge--off{background:color-mix(in srgb,var(--text-faint) 16%,transparent);color:var(--text-dim)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.badge--warn{background:var(--warn-bg);color:var(--warn)}.badge--info{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#2563eb}.badge--plain{background:var(--surface-2);color:var(--text-dim)}:root[data-theme=dark] .badge--info,:root:not([data-theme=light]) .badge--info{color:#7ca9f9}:root[data-theme=dark] .badge--ok,:root:not([data-theme=light]) .badge--ok{color:var(--green-50)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.empty{padding:var(--s8) var(--s6);text-align:center;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:var(--s3)}.empty__ic{display:inline-flex;padding:14px;border-radius:16px;background:var(--surface-2);color:var(--text-faint)}.empty__ic .icon{width:26px;height:26px}.empty h4{font-size:15px;color:var(--text);font-weight:600}.empty p{margin:0;max-width:42ch;font-size:13.5px}.empty .btn{margin-top:var(--s2)}.skeleton{background:var(--surface-2);border-radius:6px;color:transparent;animation:sk-pulse 1.5s ease-in-out infinite}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.5}}.sk-line{height:13px}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.dialog{border:none;padding:0;background:transparent;max-width:min(94vw,480px);width:100%;color:var(--text)}.dialog::backdrop{background:#0a141a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog[open]{animation:dialog-in .2s cubic-bezier(.2,.7,.3,1)}.dialog[open]::backdrop{animation:fade-in .2s ease}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.dialog[open],.dialog[open]::backdrop{animation:none}}.dialog__shell{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.dialog__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.dialog__head h3{font-size:16px}.dialog__body{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);max-height:74vh;overflow:auto}.dialog__text{color:var(--text-dim);font-size:14px;margin:0;line-height:1.55}.dialog__actions{display:flex;gap:var(--s2);justify-content:flex-end;margin-top:var(--s1)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .13s,background .13s}.chip:hover{border-color:var(--green-100)}.chip:has(input:checked){border-color:var(--green-100);background:color-mix(in srgb,var(--green-100) 10%,transparent);color:var(--green-600);font-weight:550}.field-group-label{font-size:13px;color:var(--text-dim);margin-bottom:var(--s2);font-weight:550}.field-hint{color:var(--text-faint);font-weight:400;font-size:12px}.keybox{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.keybox code{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:.04em;color:var(--text);word-break:break-all}.toast{position:fixed;bottom:var(--s6);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:11px 18px;border-radius:11px;font-size:14px;font-weight:550;box-shadow:var(--shadow-lg);z-index:100;display:flex;align-items:center;gap:var(--s2);animation:toast-in .22s cubic-bezier(.2,.7,.3,1)}.toast .icon{width:16px;height:16px;color:var(--green-50)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (max-width: 900px){.login{grid-template-columns:1fr}.login__aside{display:none}}@media (max-width: 760px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4)}.sidebar .brand{flex:1}.nav{flex-direction:row;flex-wrap:wrap;flex:none;width:100%;order:3}.nav__item span{display:none}.nav__item{padding:9px 11px}.sidebar__foot{flex-direction:row}.btn--icon-text span{display:none}.content,.topbar{padding:var(--s4)}.row-actions{flex-direction:column}thead{display:none}table,tbody,tr,td{display:block;width:100%}tbody tr{padding:var(--s3) 0;border-bottom:1px solid var(--border)}tbody td{border:none;padding:5px var(--s4)}tbody td[data-label]{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:var(--s3);align-items:baseline}tbody td[data-label]:before{content:attr(data-label);color:var(--text-dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}}.lic-edit__key{font-size:14px;color:var(--text-dim);padding:8px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-xs);-webkit-user-select:all;user-select:all}.field-stack{display:flex;flex-direction:column;gap:8px}.btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dialog__body label.chip{flex-direction:row;align-items:center;color:var(--text)}.dialog__body input[type=checkbox]{padding:0;width:auto;margin:0;accent-color:var(--green-600)}.dialog__body input:disabled{opacity:.55;cursor:not-allowed}.form-err{color:var(--danger);font-size:13px;margin:0;font-weight:550}
