:root{color-scheme:light dark;--bg: #ffffff;--card: #ffffff;--fg: #1a1a1a;--muted: #6b7280;--line: #e5e7eb;--accent: #2e7d32;--accent-bg: rgba(46, 125, 50, .07);--danger: #c62828}:root[data-theme=dark]{--bg: #0f1115;--card: #171b22;--fg: #e7e9ee;--muted: #9aa3b2;--line: #2a2f3a;--accent: #5bbf61;--accent-bg: rgba(91, 191, 97, .14);--danger: #ef5350}@media (prefers-color-scheme: dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg: #0f1115;--card: #171b22;--fg: #e7e9ee;--muted: #9aa3b2;--line: #2a2f3a;--accent: #5bbf61;--accent-bg: rgba(91, 191, 97, .14);--danger: #ef5350}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,sans-serif}.app{max-width:980px;margin:0 auto;padding:0 20px 60px}header{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:700;text-decoration:none;color:var(--fg)}.brand .logo{display:block}.nav{display:flex;gap:14px}.nav a{text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--accent)}.auth{display:flex;align-items:center;gap:10px;margin-left:auto}.auth .btn{padding:4px 10px;font-size:13px}.org-switch{padding:4px 8px;font-size:13px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);max-width:180px}.org-manage{padding:4px 8px;font-size:13px;line-height:1}.ver{color:var(--muted);font-size:13px}.token{word-break:break-all}.tok{margin-left:6px}.copybtn{margin-left:8px;padding:2px 8px;font-size:12px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);cursor:pointer;white-space:nowrap}.copybtn:hover{border-color:var(--accent);color:var(--accent)}main{padding-top:10px}h1{font-size:26px;margin:8px 0 16px}h2{font-size:18px;margin:28px 0 10px}.muted{color:var(--muted)}.err{color:var(--danger)}a{color:var(--accent)}code{background:var(--accent-bg);padding:1px 5px;border-radius:4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--fg);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.card:hover{border-color:var(--accent);box-shadow:0 8px 24px #0000002e;transform:translateY(-1px)}.card h3{margin:0 0 6px}.kpi{display:flex;justify-content:space-between;font-size:14px}.kpi span{color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.stat span{display:block;color:var(--muted);font-size:13px}.stat b{font-size:20px}.chart{width:100%;height:auto;background:var(--card);border:1px solid var(--line);border-radius:10px}.chart .area{fill:var(--accent-bg)}.chart .line{fill:none;stroke:var(--accent);stroke-width:2}.chart .zero{stroke:var(--danger);stroke-dasharray:4 4}.chart .grid{stroke:var(--line);stroke-width:1;opacity:.6}.chart .cross{stroke:var(--muted);stroke-dasharray:3 3}.chart .dot{fill:var(--accent);stroke:var(--bg);stroke-width:2}.chart .marker{stroke:var(--fg);stroke-dasharray:2 3;opacity:.55}.chart .tipbg{fill:var(--card);stroke:var(--line)}.chart .tiptitle{fill:var(--muted);font-size:11px}.chart .tipval{fill:var(--fg);font-size:13px;font-weight:700}.chart rect[role=bar]{cursor:pointer}.axis{fill:var(--muted);font-size:11px}.mccard.clickable{cursor:pointer}.mccard.clickable:hover{border-color:var(--accent)}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:4px 0 14px}.statgrid .stat{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card)}.statgrid .stat span{display:block;color:var(--muted);font-size:12px}.statgrid .stat b{font-size:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:auto}.modal{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:14px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 70px #00000073}.modal.wide{max-width:960px}.modal.narrow{max-width:440px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:17px}.modal-x{background:none;border:none;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}.modal-x:hover{background:var(--card);color:var(--fg)}.modal-body{padding:16px 18px;overflow:auto;flex:1 1 auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--bg);border-radius:0 0 14px 14px}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.editcard{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px 16px;margin:12px 0}.editcard .ec-info{min-width:0}.editcard .ec-info h3{margin:0 0 3px;font-size:15px}.editcard .ec-info p{margin:0}.mcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.mccard{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card)}.mccard .lblrow{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.mccard .lblrow b{font-size:13px;line-height:1.2;overflow-wrap:anywhere}.mccard .lblrow .ok{color:var(--accent);font-weight:700}.mccard .lblrow .bad{color:var(--danger);font-weight:700}.small{font-size:12px}.ok{color:var(--accent);font-weight:600}.bad{color:var(--danger);font-weight:600}.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 720px){.cols{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}.rowbetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);color:var(--fg);background:var(--card);border-radius:10px;padding:8px 15px;font:inherit;font-weight:500;line-height:1.25;cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .12s ease,color .12s ease,background .12s ease,box-shadow .12s ease}.btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:default}.btn.danger{border-color:transparent;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn.danger:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 18%,transparent)}.btn.small{padding:3px 10px;font-size:12px;border-radius:8px}.signin-cta{padding:32px 0;max-width:480px}.signin-cta h1{margin-bottom:8px}.form{display:flex;flex-direction:column;gap:16px;max-width:640px}.form>label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 14px}legend{color:var(--muted);font-size:13px;padding:0 6px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.row label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}input:focus{outline:none;border-color:var(--accent)}select{font:inherit;padding:7px 32px 7px 11px;border:1px solid var(--line);border-radius:9px;background-color:var(--card);color:var(--fg);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa3b2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;transition:border-color .12s ease}select:hover{border-color:var(--accent)}.lbl{display:flex;align-items:center;gap:5px}.info{position:relative;display:inline-flex;align-items:center;color:var(--accent);font-size:13px;cursor:help;-webkit-user-select:none;user-select:none}.info:focus{outline:none}.info .info-tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:260px;padding:8px 10px;border-radius:8px;z-index:200;background:var(--fg);color:var(--bg);font-size:12px;line-height:1.35;font-weight:400;box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none}.info .info-tip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--fg)}.info:hover .info-tip,.info:focus .info-tip{opacity:1;visibility:visible}.affix{display:flex;align-items:stretch}.affix input{flex:1;min-width:0;border-radius:8px}.affix .aff{display:flex;align-items:center;padding:0 8px;color:var(--muted);background:var(--accent-bg);border:1px solid var(--line)}.affix .aff:first-child{border-right:none;border-radius:8px 0 0 8px}.affix .aff:last-child{border-left:none;border-radius:0 8px 8px 0}.affix input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.affix input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.lp{border-top:1px solid var(--line);padding:10px 0}.lp:first-child{border-top:none}.lblrow{display:flex;align-items:center;gap:6px;color:var(--fg);font-size:14px}td input,td select{width:100%;padding:5px 6px}td input[type=checkbox]{width:auto}fieldset table{margin-top:4px}button[type=submit]{align-self:flex-start;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;padding:9px 18px;font:inherit;cursor:pointer}button[type=submit]:disabled{opacity:.5}.landing{max-width:760px;margin:0 auto}.landing .hero{text-align:center;padding:56px 0 40px}.landing .hero .logo{margin:0 auto 18px}.landing .hero h1{font-size:40px;line-height:1.1;margin:0 0 14px;letter-spacing:-.02em}.landing .lede{font-size:18px;line-height:1.55;color:var(--muted);max-width:620px;margin:0 auto 26px}.landing .cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:10px 20px;font-size:15px;box-shadow:0 1px 2px #00000024}.btn.primary:hover{filter:brightness(1.08);background:var(--accent);color:#fff;border-color:var(--accent)}.landing .features{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0 8px;max-width:760px;margin-inline:auto}.landing .feature{border:1px solid var(--line);border-radius:12px;padding:18px}.landing .feature .feat-icon{color:var(--accent);display:block;margin-bottom:10px}.landing .feature h3{margin:0 0 8px;font-size:16px}.landing .feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.landing .disclaimer{text-align:center;margin-top:28px;font-size:13px}@media (max-width: 640px){.landing .features{grid-template-columns:1fr}.landing .hero h1{font-size:30px}}.help{max-width:720px}.help h1{display:inline-flex;align-items:center;gap:8px}.help h2{margin-top:26px}.help ul{line-height:1.7}.help p{line-height:1.6;color:var(--fg)}.prefrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px solid var(--line)}.prefrow:last-child{border-bottom:none}.prefrow p{margin:2px 0 0}.markdown h3{font-size:16px;margin:2px 0 8px}.markdown h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}.markdown ul{margin:6px 0;padding-left:20px;line-height:1.55}.markdown p{margin:8px 0;line-height:1.55}.app{padding-bottom:84px}header{position:sticky;top:0;z-index:80;background:var(--bg)}.profile{position:relative}.profile .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;z-index:90;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 16px 44px #00000059;display:flex;flex-direction:column}.profile .menu a,.profile .menu button{text-align:left;text-decoration:none;color:var(--fg);background:none;border:none;font:inherit;padding:8px 12px;border-radius:8px;cursor:pointer}.profile .menu a:hover,.profile .menu button:hover{background:var(--accent-bg)}.profile .menu .menu-email{padding:6px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile .menu .menu-danger{color:var(--danger);border-top:1px solid var(--line);margin-top:4px}.breadcrumb{display:flex;align-items:center;gap:7px;padding:16px 0 0;font-size:13px}.breadcrumb a{text-decoration:none;color:var(--muted)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .crumb-sep{color:var(--muted);opacity:.5}.breadcrumb .crumb-current{color:var(--fg);font-weight:600}.site-footer{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 22px #0000001f}.site-footer .foot-inner{max-width:980px;margin:0 auto;padding:6px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-footer .foot-brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-footer .foot-controls{display:flex;align-items:center;gap:4px}.footmenu{position:relative}.footmenu .iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.footmenu .iconbtn:hover,.footmenu .iconbtn[aria-expanded=true]{color:var(--fg);background:var(--accent-bg);border-color:var(--line)}.footmenu-pop{position:absolute;bottom:calc(100% + 8px);right:0;min-width:180px;z-index:90;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 16px 44px #00000059;display:flex;flex-direction:column}.footmenu-pop a,.footmenu-pop button{display:flex;align-items:center;gap:8px;text-align:left;text-decoration:none;color:var(--fg);background:none;border:none;font:inherit;font-size:13px;padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}.footmenu-pop a:hover,.footmenu-pop button:hover{background:var(--accent-bg)}.footmenu-pop .on{color:var(--accent)}.footmenu-pop .tick{margin-left:auto;color:var(--accent)}@media (max-width: 560px){.site-footer .foot-brand{display:none}.site-footer .foot-inner{justify-content:flex-end}}html{scroll-behavior:smooth}.planhead{align-items:flex-start}.planlayout{display:grid;grid-template-columns:176px minmax(0,1fr);gap:34px;align-items:start;margin-top:10px}.plannav{position:sticky;top:76px;align-self:start}.plannav nav{display:flex;flex-direction:column;border-left:1px solid var(--line)}.plannav a{text-decoration:none;color:var(--muted);font-size:13px;line-height:1.3;padding:6px 12px;border-left:2px solid transparent;margin-left:-1px;transition:color .12s ease,border-color .12s ease}.plannav a:hover{color:var(--fg)}.plannav a.active{color:var(--accent);border-left-color:var(--accent);font-weight:600}.plancontent{min-width:0}.plancontent>section,.plancontent>#overview{scroll-margin-top:78px}@media (max-width: 860px){.planlayout{grid-template-columns:1fr}.plannav{display:none}}.listrow{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line)}.listrow:last-of-type{border-bottom:none}.listrow .row{flex:1;min-width:0}.rowx{flex:none;margin-top:21px;background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;width:30px;height:32px;cursor:pointer;font-size:12px}.rowx:hover{border-color:var(--danger);color:var(--danger)}fieldset>.btn.small{margin-top:10px}.newplan-form{margin:0 auto;width:100%;max-width:640px}.authform{max-width:380px;text-align:center}.landing .authform{margin:0 auto}.authform h2{font-size:20px;margin:0 0 12px}.authform-fields{display:flex;flex-direction:column;gap:12px}.authform-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);text-align:left}.authform-fields .btn.primary{margin-top:2px;width:100%;justify-content:center}.authform-toggle{margin:6px 0 0}.linkbtn{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;padding:0;text-decoration:underline}.authform-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:16px 0}.authform-or span{flex:none}.authform-or:before,.authform-or:after{content:"";flex:1;height:1px;background:var(--line)}.authform-oauth{display:flex;flex-direction:column;gap:8px}.authform-oauth .btn{justify-content:center}.banner{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;border-radius:10px;font-size:14px;border:1px solid var(--line)}.banner-ok{background:var(--accent-bg);border-color:var(--accent)}.banner-err{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.banner-x{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}.modal-body .form,.modal-body .authform{width:100%;max-width:none;margin:0}.codeinput{display:flex;gap:8px;justify-content:center}.codeinput input{width:46px;height:56px;padding:0;text-align:center;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}.codeinput input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}@media (max-width: 420px){.codeinput input{width:100%;height:52px;font-size:22px}}.prefrow b{display:inline-flex;align-items:center;gap:6px}.prefrow b svg{color:var(--muted)}.prefform{padding:2px 2px 12px;border-bottom:1px solid var(--line)}.prefform .affrow{display:flex;gap:8px}.prefform input{flex:1;min-width:0}.prefcol{flex-direction:column;align-items:stretch;gap:8px}.connlist{display:flex;flex-direction:column;gap:8px}.conn{display:flex;align-items:center;gap:8px;font-size:14px}
