:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", ui-monospace, "Fira Mono", Menlo, Consolas, monospace;color:#17211d;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8f5;font-size:81%;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.app-shell{background:linear-gradient(135deg,#386b591f,#0000 34rem),linear-gradient(315deg,#cfb25c29,#0000 30rem),#f7f8f5;min-height:100vh}.topbar{justify-content:space-between;align-items:center;gap:1.5rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0;display:flex}.brand{color:#13231d;font-size:1rem;font-weight:800;text-decoration:none}nav{align-items:center;gap:.5rem;display:flex}nav a{color:#41504a;border-radius:6px;padding:.55rem .75rem;font-size:.92rem;font-weight:700;text-decoration:none}main{width:min(1120px,100% - 2rem);margin:0 auto}.page{padding:5rem 0}.hero-page{max-width:760px}.eyebrow{color:#1f6f58;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:800}h1,h2,p{margin:0}h1{color:#101a16;max-width:13ch;font-size:clamp(2.35rem,6vw,4.8rem);line-height:1}.lede{color:#46564f;max-width:62ch;margin-top:1.5rem;font-size:1.15rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border-radius:6px;align-items:center;min-height:44px;padding:.7rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:#1f6f58}.button.primary:hover{color:#fff;background:#175544}.button.secondary{color:#24332d;background:#fff;border:1px solid #d9dfd8}.docs-page{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:2rem;display:grid}.doc-list{gap:.85rem;display:grid}.doc-card{background:#ffffffd1;border:1px solid #dfe5dd;border-radius:8px;padding:1.15rem}.doc-card h2{color:#13231d;font-size:1rem}.doc-card p{color:#5a6862;margin-top:.35rem}@media (width<=760px){.topbar{flex-direction:column;align-items:flex-start}.page{padding:3rem 0}.docs-page{grid-template-columns:1fr}}.toast-viewport{z-index:10000;pointer-events:none;gap:.75rem;width:min(420px,100vw - 2rem);display:grid;position:fixed;top:1.25rem;right:1.25rem}.toast{color:#20302a;pointer-events:auto;background:#fff;border:1px solid #d9dfd8;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.85rem;padding:1rem;animation:.18s ease-out toast-in;display:grid;box-shadow:0 18px 45px -20px #10181473}.toast.is-error{background:snow;border-color:#fecdca}.toast-icon{color:#1f6f58;background:#e9f4ef;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-weight:800;display:inline-flex}.toast.is-error .toast-icon{color:#b42318;background:#fee4e2}.toast-content{min-width:0}.toast-title{color:inherit;font-size:.95rem;font-weight:700}.toast-message{color:#596660;margin-top:.25rem;font-size:.875rem}.toast-close{color:#7b8782;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.35rem;line-height:1;display:inline-flex}.toast-close:hover{color:#20302a;background:#20302a12}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.toast-viewport{top:.75rem;right:1rem}}.auth-wrap{--auth-green:#1f6f58;--auth-button:#9caf9a;--auth-button-hover:#8aa088;--auth-text:#20302a;--auth-muted:#9aa3a0;--auth-border:#e1e5e1;box-sizing:border-box;width:100%;min-height:100dvh;font-family:var(--font-mono);color:var(--auth-text);flex-direction:column;align-items:center;gap:1.75rem;padding:clamp(1.5rem,6vw,4rem) 1rem;display:flex}.auth-head{text-align:center;flex-direction:column;align-items:center;gap:.85rem;display:flex}.brand-logo{width:auto;height:auto;display:block}.auth-brand-logo{width:clamp(200px,60vw,280px)}.auth-tagline{color:var(--auth-text);margin:0;font-size:clamp(1rem,3.6vw,1.4rem);font-weight:500}.auth-card{background:#fff;border-radius:14px;width:100%;max-width:640px;padding:clamp(1.5rem,5vw,2.75rem);box-shadow:0 24px 60px -28px #14282059}.auth-title{text-align:center;max-width:none;color:var(--auth-text);margin:0 0 1.75rem;font-size:clamp(1.5rem,5vw,2rem);font-weight:700}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-field{flex-direction:column;gap:.55rem;display:flex}.auth-field label{color:var(--auth-text);font-size:.95rem;font-weight:500}.auth-field input,.auth-input-group{border:1px solid var(--auth-border);background:#fff;border-radius:8px;width:100%}.auth-field input{color:var(--auth-text);min-height:52px;padding:.9rem 1rem;font-family:inherit;font-size:1rem}.auth-field input::placeholder{color:var(--auth-muted)}.auth-field input:focus,.auth-input-group:focus-within{border-color:var(--auth-green);outline:none;box-shadow:0 0 0 3px #1f6f581f}.auth-field input[aria-invalid=true],.auth-dial[aria-invalid=true],.auth-input-group.is-invalid{border-color:#b42318}.auth-field-hint{color:var(--auth-muted);margin:-.2rem 0 0;font-size:.875rem}.auth-input-group{align-items:center;display:flex}.auth-input-group input{background:0 0;border:none;border-radius:8px;flex:1}.auth-input-group input:focus{box-shadow:none;outline:none}.auth-phone{grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:.75rem;display:grid}.auth-dial{color:var(--auth-text);border:1px solid var(--auth-border);cursor:pointer;background:#fff;border-radius:8px;min-height:52px;padding:.9rem 1rem;font-family:inherit;font-size:1rem}.auth-dial:focus{border-color:var(--auth-green);outline:none;box-shadow:0 0 0 3px #1f6f581f}.auth-toggle{width:48px;min-height:48px;color:var(--auth-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.auth-toggle:hover{color:var(--auth-text)}.auth-forgot{color:var(--auth-text);align-self:flex-end;margin-top:-.25rem;font-size:.95rem;font-weight:500;text-decoration:none}.auth-forgot:hover{color:var(--auth-green)}.auth-submit{background:var(--auth-button);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;min-height:56px;margin-top:.25rem;padding:.9rem 1rem;font-family:inherit;font-size:1.05rem;font-weight:600;transition:background .15s}.auth-submit:hover{background:var(--auth-button-hover)}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.auth-submit:focus-visible{outline:2px solid var(--auth-green);outline-offset:2px}.auth-cta{background:#0f4d2e}.auth-cta:hover:not(:disabled){background:#0c3f26}.auth-cta:disabled{background:var(--auth-button);cursor:not-allowed}.auth-subtitle{text-align:center;color:var(--auth-muted);margin:-.5rem 0 .5rem;font-size:1rem}.otp-group{justify-content:center;gap:1rem;display:flex}.otp-input{border:1.5px solid var(--auth-green);width:4.5rem;height:4.5rem;color:var(--auth-text);text-align:center;background:#fff;border-radius:10px;font-family:inherit;font-size:1.8rem}.otp-input:focus{outline:none;box-shadow:0 0 0 3px #1f6f582e}.auth-resend{text-align:center;color:var(--auth-text);margin:1.5rem 0 0;font-size:.95rem}.auth-link-btn{color:var(--auth-green);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.95rem;font-weight:700}.auth-link-btn:hover{text-decoration:underline}.auth-back{text-align:center;margin:1.75rem 0 0}.auth-back-link{color:var(--auth-text);align-items:center;gap:.5rem;font-size:.95rem;text-decoration:none;display:inline-flex}.auth-back-link:hover,.auth-back-link svg{color:var(--auth-green)}.auth-switch{text-align:center;color:var(--auth-text);margin:1.75rem 0 0;font-size:.95rem}.auth-link{color:var(--auth-green);font-weight:700;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-terms{text-align:center;max-width:42ch;color:var(--auth-muted);margin:1.5rem auto 0;font-size:.9rem;line-height:1.6}.app{--app-green:#1f6f58;--app-green-soft:#e7f1ec;--app-border:#ececec;--app-text:#1c2722;--app-muted:#6b756f;--sidebar-width:17.5rem;height:100dvh;font-family:var(--font-mono);color:var(--app-text);background:#fff;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-width);border-right:1px solid var(--app-border);background:#fff;flex-direction:column;flex-shrink:0;gap:2rem;height:100%;padding:1.5rem 1rem;display:flex;overflow-y:auto}.app-brand{padding:.25rem .5rem;text-decoration:none;display:inline-flex}.app-brand .brand-logo{width:100%;max-width:12rem}.app-nav{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}.app-nav-link{color:var(--app-muted);border-radius:8px;align-items:center;gap:.85rem;padding:.8rem .9rem;font-size:1rem;font-weight:500;text-decoration:none;display:flex;position:relative}.app-nav-link:hover{color:var(--app-text);background:#f6f8f7}.app-nav-link.is-active{background:var(--app-green-soft);color:var(--app-text);font-weight:700}.app-nav-link.is-active:before{content:"";background:var(--app-green);border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.app-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;display:inline-flex}.app-nav-icon svg{width:100%;height:100%;display:block}.app-nav-label{flex:1}.app-nav-toggle{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.app-nav-caret{color:var(--app-muted);align-items:center;transition:transform .18s;display:inline-flex}.app-nav-caret.is-open{transform:rotate(90deg)}.app-subnav{flex-direction:column;gap:.15rem;margin:.15rem 0 .35rem;padding-left:3.1rem;display:flex}.app-subnav-link{color:var(--app-muted);border-radius:8px;padding:.65rem .9rem;font-size:.95rem;text-decoration:none;position:relative}.app-subnav-link:hover{color:var(--app-text);background:#f6f8f7}.app-subnav-link.is-active{background:var(--app-green-soft);color:var(--app-text);font-weight:600}.app-subnav-link.is-active:before{content:"";background:var(--app-green);border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:-3.1rem;transform:translateY(-50%)}.app-scrim{display:none}.app-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow-y:auto}.app-header{z-index:10;border-bottom:1px solid var(--app-border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.75rem;display:flex;position:sticky;top:0}.app-burger{border:1px solid var(--app-border);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;display:none}.app-burger span{background:var(--app-text);border-radius:2px;width:18px;height:2px}.app-header-actions{align-items:center;gap:.85rem;margin-left:auto;display:flex}.app-icon-btn{width:42px;height:42px;color:var(--app-text);cursor:pointer;background:#f3f4f2;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.app-icon-btn:hover{background:#e8eae7}.app-account{color:var(--app-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;display:inline-flex}.app-avatar{background:var(--app-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:inline-flex}.account{position:relative}.account-menu{z-index:40;border:1px solid var(--app-border);background:#fff;border-radius:12px;width:17rem;position:absolute;top:calc(100% + .6rem);right:0;overflow:hidden;box-shadow:0 22px 48px -20px #0f1e1866}.account-head{border-bottom:1px solid var(--app-border);padding:1rem 1.15rem}.account-name{color:var(--app-text);margin:0;font-weight:600}.account-email{color:var(--app-muted);margin:.2rem 0 0;font-size:.9rem}.account-group{padding:.4rem}.account-group+.account-group{border-top:1px solid var(--app-border)}.account-item{width:100%;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.85rem;padding:.7rem .75rem;font-family:inherit;font-size:.95rem;display:flex}.account-item svg{color:var(--app-muted)}.account-item:hover{background:#f6f8f7}.account-item.is-logout,.account-item.is-logout svg{color:#e11d1d}.account-item.is-logout:hover{background:#fbe9e9}.app-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:2rem 1.75rem}.app-footer{text-align:center;color:var(--app-muted);padding:1.5rem;font-size:.9rem}.dash{flex-direction:column;gap:1.5rem;display:flex}.dash-head{flex-direction:column;gap:.5rem;display:flex}.dash-title{max-width:none;color:var(--app-text);margin:0;font-size:clamp(1.6rem,4vw,2rem);font-weight:600}.dash-subtitle{color:var(--app-muted);margin:0;font-size:1rem}.dash-tabs{border-bottom:1px solid var(--app-border);gap:1.5rem;display:flex}.dash-tab{color:var(--app-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem .25rem .85rem;font-family:inherit;font-size:1rem;text-decoration:none}.dash-tab.is-active{color:var(--app-green);border-bottom-color:var(--app-green);font-weight:600}.dash-month{border:1px solid var(--app-border);color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .9rem;font-family:inherit;font-size:.95rem;display:inline-flex}.datepicker{align-self:flex-start;display:inline-flex;position:relative}.calendar-pop{z-index:20;border:1px solid var(--app-border);background:#fff;border-radius:12px;width:18rem;padding:.85rem;position:absolute;top:calc(100% + .5rem);box-shadow:0 20px 44px -18px #0f1e1859}.calendar-pop--left{left:0}.calendar-pop--right{right:0}.calendar-pop--range{width:20rem}.cal-day.is-in-range{background:var(--app-green-soft);border-radius:0}.cal-day.is-range-start,.cal-day.is-range-end{background:var(--app-green);color:#fff}.cal-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.cal-title{color:var(--app-text);font-weight:700}.cal-nav{border:1px solid var(--app-border);width:2rem;height:2rem;color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.cal-nav:hover{background:#f6f8f7}.cal-weekdays,.cal-grid{grid-template-columns:repeat(7,1fr);gap:.15rem;display:grid}.cal-weekdays{margin-bottom:.35rem}.cal-weekdays span{text-align:center;color:var(--app-muted);font-size:.8rem;font-weight:600}.cal-day{aspect-ratio:1;color:var(--app-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:.9rem;display:inline-flex}.cal-day:hover{background:var(--app-green-soft)}.cal-day.is-muted{color:#c2c9c5}.cal-day.is-today{border:1px solid var(--app-green)}.cal-day.is-selected{background:var(--app-green);color:#fff}.cal-foot{border-top:1px solid var(--app-border);text-align:center;margin-top:.6rem;padding-top:.6rem}.cal-today-btn{color:var(--app-green);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.9rem;font-weight:600}.cal-foot--range{justify-content:center;align-items:center;gap:1rem;display:flex}.dash-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dash-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.purchase-date-filter{color:var(--app-muted);align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.filter-btn{border:1px solid var(--app-border);color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .9rem;font-family:inherit;font-size:.95rem;display:inline-flex}.filter-btn:hover{background:#f6f8f7}.filter-btn svg{color:var(--app-muted)}.filter-input{border:1px solid var(--app-border);width:10rem;color:var(--app-text);background:#fff;border-radius:8px;padding:.6rem .9rem;font-family:inherit;font-size:.95rem}.filter-input--code{width:7.5rem}.table-search{align-items:center;display:inline-flex;position:relative}.table-search input{border:1px solid var(--app-border);width:min(320px,100%);color:var(--app-text);background:#fff;border-radius:8px;padding:.6rem 2.4rem .6rem .9rem;font-family:inherit;font-size:.95rem}.table-search svg{color:var(--app-muted);pointer-events:none;position:absolute;right:.75rem}.meter-view-card{border:1px solid var(--app-border);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.meter-view-id{gap:1rem;display:flex}.meter-view-icon{border:1px solid var(--app-border);width:48px;height:48px;color:var(--app-text);background:#f8faf9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meter-view-name{color:var(--app-text);align-items:center;gap:.6rem;margin:0;font-size:1.05rem;font-weight:700;display:inline-flex}.meter-view-meta{color:var(--app-muted);margin:.2rem 0 0;font-size:.95rem}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-actions{align-items:center;gap:.75rem;display:flex}.confirm-message{color:var(--app-text);margin:0 0 1.75rem}.btn-primary{color:#fff;cursor:pointer;background:#0f5132;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.7rem 1.25rem;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:#0c4128}.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.stat-card{border:1px solid var(--app-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.stat-label{color:var(--app-muted);margin:0;font-size:.95rem}.stat-value{color:var(--app-text);margin:.85rem 0 0;font-size:1.8rem;font-weight:700}.stat-icon{border:1px solid var(--app-border);width:42px;height:42px;color:var(--app-text);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.dash-panel{border:1px solid var(--app-border);background:#fff;border-radius:12px;padding:1.5rem}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-title{max-width:none;color:var(--app-text);margin:0;font-size:1rem;font-weight:600}.panel-link{color:#d98a3d;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.95rem}.panel-empty{min-height:180px}.chart{gap:.75rem;margin-top:1.5rem;margin-bottom:2rem;display:flex}.chart-y{height:20rem;color:var(--app-muted);flex-direction:column;justify-content:space-between;font-size:.85rem;display:flex}.chart-plot{flex:1;min-width:0;height:20rem;position:relative}.chart-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.chart-grid span{border-top:1px solid #f1f2f0;display:block}.chart-bars{align-items:flex-end;gap:.5rem;display:flex;position:absolute;inset:0}.chart-col{flex:1;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.chart-bar{background:#111;border-radius:6px;width:min(46px,70%);min-height:2px}.chart-col-label{text-align:center;color:var(--app-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;position:absolute;bottom:-1.6rem;left:0;right:0;overflow:hidden}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.legend{gap:1.25rem;display:flex}.legend-item{color:var(--app-text);align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.legend-dot{border-radius:4px;width:22px;height:8px}.legend-dot.is-success{background:var(--app-green)}.legend-dot.is-error{background:#d64545}.gauge{justify-content:center;align-items:center;min-height:15rem;display:flex}.donut{border-radius:50%;width:13.75rem;height:13.75rem;position:relative}.donut-hole{background:#fff;border-radius:50%;position:absolute;inset:28%}.logs-table{border-collapse:collapse;width:100%;font-size:.92rem}.logs-table th{border-bottom:1px solid var(--app-border);color:var(--app-muted);text-align:left;padding:.75rem .5rem;font-weight:600}.logs-table td{border-bottom:1px solid var(--app-border);color:var(--app-text);padding:.85rem .5rem}.logs-table tr:last-child td{border-bottom:none}.logs-response{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.code-badge{border-radius:999px;justify-content:center;align-items:center;min-width:3rem;padding:.25rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex}.code-badge.is-ok{color:#1f7a4d;background:#e7f4ec}.code-badge.is-error{color:#c0392b;background:#fbe9e9}.table-wrap{flex-direction:column;gap:1.25rem;display:flex}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.95rem}.data-table thead th{color:var(--app-muted);text-align:left;white-space:nowrap;background:#f7f8f7;padding:1rem .9rem;font-weight:600}.data-table thead th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.data-table thead th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.data-table tbody td{border-bottom:1px solid var(--app-border);color:var(--app-text);white-space:nowrap;padding:1.05rem .9rem}.data-table tbody tr:last-child td{border-bottom:none}.col-check{width:1px}.col-actions{text-align:center;white-space:nowrap;width:1px}.data-table input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--app-green);cursor:pointer}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-nav{border:1px solid var(--app-border);color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-family:inherit;font-size:.95rem;display:inline-flex}.page-nav:hover:not(:disabled){background:#f6f8f7}.page-nav:disabled{color:var(--app-muted);cursor:not-allowed;opacity:.6}.page-numbers{align-items:center;gap:.25rem;display:flex}.page-num{min-width:2.25rem;height:2.25rem;color:var(--app-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 .5rem;font-family:inherit;font-size:.95rem}.page-num:hover{background:#f3f4f2}.page-num.is-active{background:#ececec;font-weight:700}.page-gap{text-align:center;min-width:2rem;color:var(--app-muted)}.dash-head-row{align-items:flex-start}.keys-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.key-card{border:1px solid var(--app-border);background:#fff;border-radius:12px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.key-name{max-width:none;color:var(--app-text);margin:0;font-size:1.25rem;font-weight:700}.key-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.key-value{font-family:var(--font-mono);color:var(--app-text);word-break:break-all;font-size:1.05rem}.btn-outline{border:1px solid var(--app-green);color:var(--app-green);cursor:pointer;background:#fff;border-radius:8px;padding:.6rem 1.4rem;font-family:inherit;font-size:.95rem;font-weight:600}.btn-outline:hover{background:var(--app-green-soft)}.btn-icon{align-items:center;gap:.5rem;display:inline-flex}.btn-danger{color:#d64545;cursor:pointer;background:#fff;border:1px solid #d64545;border-radius:8px;padding:.6rem 1.4rem;font-family:inherit;font-size:.95rem;font-weight:600}.btn-danger:hover{background:#fbe9e9}.btn-leave,.btn-remove{color:#d64545;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #d64545;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600}.btn-leave:hover,.btn-remove:hover{background:#fbe9e9}.btn-leave:disabled,.btn-remove:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:50;background:#0f171459;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:100%;max-width:560px;max-height:calc(100dvh - 3rem);padding:1.75rem;overflow-y:auto;box-shadow:0 30px 60px -20px #0f1e1866}.modal--wide{max-width:900px}.modal-subtitle{color:var(--app-muted);margin:.35rem 0 0;font-size:.95rem}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.modal-foot{justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.modal-title{max-width:none;color:var(--app-text);margin:0;font-size:1.35rem;font-weight:700}.modal-close{color:var(--app-muted);cursor:pointer;background:0 0;border:none;display:inline-flex}.modal-close:hover{color:var(--app-text)}.modal-body{flex-direction:column;gap:1.25rem;display:flex}.modal-form{flex-flow:wrap;align-items:flex-end;gap:1rem}.modal-form .modal-text{flex:0 0 100%}.modal-field{flex-direction:column;flex:1;gap:.55rem;display:flex}.modal-field label{color:var(--app-text);font-size:.95rem;font-weight:500}.req{color:#d64545}.modal-select{border:1px solid var(--app-border);width:100%;color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;padding:.85rem 1rem;font-family:inherit;font-size:1rem}.modal-select:focus{border-color:var(--app-green);outline:none;box-shadow:0 0 0 3px #1f6f581f}.modal-input[aria-invalid=true],.modal-select[aria-invalid=true]{border-color:#b42318}.modal-field-error{color:#b42318;font-size:.8rem;line-height:1.35}.modal-text{color:var(--app-text);margin:0;font-size:1rem;line-height:1.6}.modal-text strong{color:var(--app-green)}.key-reveal{align-items:center;gap:.75rem;display:flex}.key-reveal-input{border:1px solid var(--app-border);min-width:0;color:var(--app-text);font-family:var(--font-mono);background:#fff;border-radius:8px;flex:1;padding:.85rem 1rem;font-size:.95rem}.key-reveal-input:focus{border-color:var(--app-green);outline:none}.icon-copy{width:3rem;height:3rem;color:var(--app-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-copy:hover{color:var(--app-text)}.modal-actions{justify-content:space-between;display:flex}.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.5rem;display:grid}.plan-card{border:1px solid var(--app-border);background:#fff;border-radius:16px;flex-direction:column;padding:2rem;display:flex}.plan-name{max-width:none;color:var(--app-green);margin:0;font-size:1.5rem;font-weight:700}.plan-desc{color:var(--app-text);margin:1rem 0 0;font-size:1rem;line-height:1.5}.plan-price{text-align:center;color:var(--app-text);margin:1.75rem 0;font-size:2rem;font-weight:700}.plan-price-spacer{height:2.5rem;margin:1.75rem 0}.plan-features{flex-direction:column;gap:1rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.plan-feature{color:var(--app-text);align-items:center;gap:.85rem;font-size:1rem;display:flex}.plan-check{color:#e0a53b;flex-shrink:0}.plan-cta{margin-top:auto}.plans-grid--bundles{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card--featured{border-color:var(--app-green);box-shadow:0 14px 30px -20px #0f513280}.plan-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.plan-badge{background:var(--app-green-soft);color:var(--app-green);white-space:nowrap;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.plan-pricing{text-align:center;margin:1.75rem 0}.plan-pricing .plan-price{margin:0}.plan-rate{color:var(--app-muted);margin:.4rem 0 0;font-size:.92rem}.stat-unit{color:var(--app-muted);font-size:.95rem;font-weight:500}.balance-pill{color:#c81818;vertical-align:middle;background:#fbe9e9;border-radius:999px;margin-left:.6rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.pricing-note{max-width:60ch;color:var(--app-muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.pricing-footnote{color:var(--app-muted);margin:1rem 0 0;font-size:.9rem}.meter-empty{flex-direction:column;align-items:center;gap:1.75rem;padding:6rem 1rem;display:flex}.meter-empty-text{color:var(--app-text);margin:0;font-size:1.35rem;font-weight:600}.row-actions{justify-content:center;display:flex;position:relative}.row-kebab{width:2.2rem;height:2.2rem;color:var(--app-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.row-kebab:hover{color:var(--app-text);background:#f3f4f2}.row-menu{z-index:15;border:1px solid var(--app-border);background:#fff;border-radius:10px;min-width:11rem;padding:.3rem;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 18px 40px -18px #0f1e1859}.row-menu-item{width:100%;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.7rem;padding:.65rem .75rem;font-family:inherit;font-size:.92rem;display:flex}.row-menu-item svg{color:var(--app-text);flex-shrink:0}.row-menu-item:hover{background:#f6f8f7}.row-menu-item.is-danger{color:#d64545}.row-menu-item.is-danger:hover{background:#fbe9e9}.profile-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.profile-avatar{background:var(--app-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:7rem;height:7rem;font-size:2.5rem;font-weight:700;display:inline-flex}.profile-actions{align-items:center;gap:1rem;display:flex}.profile-section{flex-direction:column;gap:1rem;display:flex}.profile-section-title{max-width:none;color:var(--app-text);margin:0;font-size:1.4rem;font-weight:700}.profile-field{flex-direction:column;gap:.6rem;display:flex}.profile-help{color:var(--app-muted);margin:0;font-size:.95rem}.profile-input{width:100%;color:var(--app-text);background:#fff;border:1px solid #c7cdd4;border-radius:8px;padding:.95rem 1rem;font-family:inherit;font-size:1rem}.profile-input:disabled{color:var(--app-muted);cursor:not-allowed;background:#ececec}.org-member-list{flex-direction:column;display:flex}.org-member-row{border-bottom:1px solid var(--app-border);grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) minmax(110px,auto);align-items:center;gap:1rem;padding:1.1rem 0;display:grid}.org-member-row:last-child{border-bottom:none}.org-member-id{align-items:center;gap:.9rem;min-width:0;display:flex}.org-member-avatar{background:var(--app-green-soft);width:2.75rem;height:2.75rem;color:var(--app-green);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.org-member-text{min-width:0}.org-member-name{color:var(--app-text);align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.org-member-email{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-size:.92rem;overflow:hidden}.org-member-you{background:var(--app-green-soft);color:var(--app-green);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.org-member-role{color:var(--app-text)}.org-member-status{border-radius:999px;justify-self:start;padding:.3rem .65rem;font-size:.8rem;font-weight:700}.org-member-status.is-active{color:#157347;background:#e9f7ef}.org-member-status.is-invited{color:#946200;background:#fff4d6}.org-member-status.is-suspended{color:#b42318;background:#fee4e2}@media (width<=680px){.org-member-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1rem}.org-member-role{color:var(--app-muted);grid-column:1;padding-left:3.65rem;font-size:.9rem}.org-member-status{grid-area:1/2}}.member-row{grid-template-columns:minmax(0,2fr) minmax(6rem,1fr) auto;align-items:center;gap:1rem;padding:1.1rem 0;display:grid}.member-id{align-items:center;gap:.9rem;min-width:0;display:flex}.member-avatar{background:var(--app-green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-weight:700;display:inline-flex}.member-text{min-width:0}.member-role{color:var(--app-text)}.member-action{justify-content:flex-end;display:flex}.modal-input{border:1px solid var(--app-border);width:100%;color:var(--app-text);background:#fff;border-radius:8px;padding:.95rem 1rem;font-family:inherit;font-size:1rem}.modal-input::placeholder{color:var(--app-muted)}.modal-input:focus{border-color:var(--app-green);outline:none;box-shadow:0 0 0 3px #1f6f581f}.modal-input:disabled{color:var(--app-muted);cursor:not-allowed;background:#ececec}.modal-phone{grid-template-columns:8rem minmax(0,1fr);gap:.75rem;display:grid}.modal-input-group{border:1px solid var(--app-border);background:#fff;border-radius:8px;align-items:center;display:flex}.modal-input-group:focus-within{border-color:var(--app-green);box-shadow:0 0 0 3px #1f6f581f}.modal-input-group.is-invalid{border-color:#b42318}.modal-input-group .modal-input{box-shadow:none;border:none}.modal-input-group .modal-input:focus{box-shadow:none}.modal-toggle{width:3rem;min-height:3rem;color:var(--app-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-toggle:hover{color:var(--app-text)}.btn-block{justify-content:center;width:100%;padding:1rem;font-size:1.05rem}.role-trigger{border:1px solid var(--app-border);width:100%;color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:.95rem 1rem;font-family:inherit;font-size:1rem;display:flex}.role-trigger svg,.role-placeholder{color:var(--app-muted)}.role-options{z-index:5;border:1px solid var(--app-border);background:#fff;border-radius:10px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;box-shadow:0 18px 40px -18px #0f1e1859}.role-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:.25rem;width:100%;padding:.85rem .9rem;display:flex}.role-option-label{color:var(--app-text);font-weight:700}.role-option-desc{color:var(--app-muted);font-size:.9rem}.modal-confirm{gap:1.5rem}.confirm-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn-neutral{border:1px solid var(--app-border);color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;padding:.7rem 1.5rem;font-family:inherit;font-size:1rem}.btn-neutral:hover{background:#f6f8f7}.btn-danger-solid{color:#fff;cursor:pointer;background:#e11d1d;border:none;border-radius:8px;padding:.7rem 1.75rem;font-family:inherit;font-size:1rem;font-weight:600}.btn-danger-solid:hover{background:#c81818}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (width<=720px){.keys-grid{grid-template-columns:1fr}.modal-form{flex-direction:column;align-items:stretch}.modal-grid{grid-template-columns:1fr}.member-row{grid-template-columns:1fr auto;gap:.5rem 1rem}.member-role{color:var(--app-muted);grid-column:1;padding-left:3.5rem;font-size:.9rem}.member-action{grid-area:1/2}}@media (width<=1024px){.dash-stats,.dash-grid,.plans-grid{grid-template-columns:1fr}}@media (width<=900px){.app-sidebar{z-index:30;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 0 40px #0000001f}.app-sidebar.is-open{transform:translate(0)}.app-scrim{z-index:20;cursor:pointer;background:#0f171466;border:none;display:block;position:fixed;inset:0}.app-burger{display:inline-flex}}@media (width<=600px){.app-content{padding:1.25rem 1rem}.app-header{padding:.85rem 1rem}.chart-x{font-size:.68rem}}.site{min-height:100dvh;font-family:var(--font-mono);color:#17211d;background:radial-gradient(60rem 40rem at 80% -10%,#1f6f581a,#0000 60%),radial-gradient(50rem 30rem at 0 10%,#cfb25c1f,#0000 55%),#f7f8f5;flex-direction:column;display:flex}.site-nav{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0;display:flex}.site-brand{text-decoration:none;display:inline-flex}.site-brand .brand-logo{width:100%;max-width:11rem}.site-nav-links{align-items:center;gap:1.25rem;display:flex}.site-nav-links a{color:#2c3a34;padding:0;font-size:.95rem;font-weight:600;text-decoration:none}.site-nav-links a:hover{color:#1f6f58}.site-nav-links a.button.primary{color:#fff;padding:.6rem 1.1rem}.docs-home{flex-direction:column;gap:3.5rem;padding:2.5rem 0 1rem;display:flex}.docs-intro{flex-direction:column;gap:.85rem;max-width:72ch;display:flex}.site-eyebrow{color:#1f6f58;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.docs-intro-title{color:#101a16;max-width:none;margin:0;font-size:clamp(1.9rem,4.5vw,2.8rem);font-weight:700;line-height:1.1}.docs-intro-lede{color:#46564f;margin:0;font-size:1.1rem;line-height:1.65}.site-section{flex-direction:column;gap:1.5rem;display:flex}.site-section-head{flex-direction:column;gap:.5rem;display:flex}.site-section-title{color:#101a16;max-width:none;margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}.site-section-sub{color:#46564f;max-width:56ch;margin:0;font-size:1.05rem}.gs-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.gs-card{background:#ffffffb3;border:1px solid #e1e6df;border-radius:12px;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.gs-card:hover{background:#fff;border-color:#1f6f58}.gs-card-label{color:#13231d;font-weight:700}.gs-card-hint{color:#6b756f;font-size:.9rem}.api-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.api-card{color:inherit;background:#ffffffd9;border:1px solid #e1e6df;border-radius:14px;flex-direction:column;gap:.6rem;padding:1.75rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.api-card:hover{border-color:#cfe0d7;transform:translateY(-3px);box-shadow:0 18px 40px -24px #0f281e66}.api-card-icon{color:#1f6f58;background:#e7f1ec;border-radius:10px;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.api-card-title{color:#13231d;margin-top:.25rem;font-size:1.15rem;font-weight:700;display:block}.api-card-blurb{color:#55635c;flex:1;font-size:.95rem;line-height:1.55;display:block}.api-card-link{color:#1f6f58;margin-top:.5rem;font-size:.92rem;font-weight:700;display:inline-block}.api-card:hover .api-card-link{text-decoration:underline}.doc-detail{flex-direction:column;gap:1rem;max-width:72ch;padding:2.5rem 0;display:flex}.doc-back{color:#1f6f58;font-size:.92rem;font-weight:600;text-decoration:none}.doc-back:hover{text-decoration:underline}.doc-detail-title{color:#101a16;max-width:none;margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.doc-detail-lede{color:#46564f;margin:0;font-size:1.1rem;line-height:1.6}.doc-detail-placeholder{color:#6b756f;text-align:center;border:1px dashed #cdd6cf;border-radius:12px;margin-top:1rem;padding:2.5rem}.doc-detail-placeholder p{margin:0}.doc-detail-body{flex-direction:column;gap:2rem;margin-top:1rem;display:flex}.doc-section{flex-direction:column;gap:.6rem;display:flex}.doc-section-heading{color:#13231d;max-width:none;margin:0;font-size:1.3rem;font-weight:700}.doc-section-body{color:#46564f;margin:0;font-size:1rem;line-height:1.65}.doc-section-list{color:#46564f;flex-direction:column;gap:.35rem;margin:0;padding-left:1.4rem;font-size:1rem;line-height:1.65;display:flex}.doc-section-table{border-collapse:collapse;width:100%;margin-top:.4rem;font-size:.95rem}.doc-section-table th,.doc-section-table td{text-align:left;border:1px solid #dde4de;padding:.65rem .9rem}.doc-section-table th{color:#13231d;background:#f2f6f3;font-weight:600}.doc-section-table td{color:#46564f}.doc-table-scroll{width:100%;overflow-x:auto}.doc-pagination{color:#55635c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.9rem;display:flex}.doc-pagination button{color:#1f6f58;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd9d2;border-radius:8px;padding:.55rem .9rem;font-weight:600}.doc-pagination button:hover:not(:disabled){background:#f2f7f4;border-color:#1f6f58}.doc-pagination button:disabled{cursor:not-allowed;opacity:.5}.api-reference-meta{grid-template-columns:minmax(0,2fr) repeat(2,minmax(7rem,1fr));gap:1rem;margin:.5rem 0 0;display:grid}.api-reference-meta>div{background:#f7faf8;border:1px solid #dde4de;border-radius:10px;min-width:0;padding:1rem 1.1rem}.api-reference-meta dt{color:#6b756f;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.78rem;font-weight:700}.api-reference-meta dd{color:#13231d;overflow-wrap:anywhere;margin:0;font-weight:600}.api-reference-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.api-reference-code{color:#ecf6f0;white-space:pre;background:#13231d;border:1px solid #d7e1da;border-radius:10px;margin:0;padding:1.15rem 1.25rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.api-reference-documentation{white-space:pre-line}@media (width<=520px){.api-reference-meta{grid-template-columns:1fr}}.site-footer{border-top:1px solid #e1e6df;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:4rem auto 0;padding:2rem 0;display:flex}.site-footer-brand{text-decoration:none;display:inline-flex}.site-footer-brand .brand-logo{width:100%;max-width:10rem}.site-footer-links{gap:1.25rem;display:flex}.site-footer-links a{color:#46564f;font-size:.92rem;font-weight:600;text-decoration:none}.site-footer-links a:hover{color:#1f6f58}.site-footer-copy{color:#6b756f;margin:0;font-size:.9rem}@media (width<=640px){.docs-home{gap:2.5rem}.site-footer{flex-direction:column;align-items:flex-start}}.admin{--app-green:#1c1cdb;--app-green-soft:#eaeafc;--auth-green:#1c1cdb;--auth-button:#a3a3ee;--auth-button-hover:#8f8fe8;--admin-amber:#e8a33d;--admin-amber-soft:#faf3e6}.admin .btn-primary{background:#1c1cdb}.admin .btn-primary:hover{background:#1515b0}.admin .auth-cta{background:#1c1cdb}.admin .auth-cta:hover:not(:disabled){background:#1515b0}.admin .auth-cta:disabled{background:var(--auth-button)}.admin .app-nav-link.is-active{background:var(--admin-amber-soft)}.admin .app-nav-link.is-active:before{background:var(--admin-amber);width:4px;height:100%}.admin .dash-tab.is-active{color:var(--app-text);border-bottom-color:var(--admin-amber)}.admin .auth-field input:focus,.admin .auth-input-group:focus-within,.admin .modal-input:focus,.admin .modal-select:focus{box-shadow:0 0 0 3px #1c1cdb1f}.upload-heading{color:var(--app-text);margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.upload-zone{text-align:center;cursor:pointer;border:1.5px dashed #b9beba;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;min-height:160px;padding:2rem 1rem;display:flex;position:relative}.upload-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-zone:hover,.upload-zone:focus-within,.upload-zone:focus-visible{border-color:var(--app-green);outline:none}.upload-zone-icon{background:var(--app-green);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.upload-file-name{color:var(--app-text);margin:0;font-weight:600}.upload-file-status{color:var(--app-muted);margin:0;font-size:.95rem}.upload-note{color:var(--app-text);margin:0;line-height:1.6}.upload-note code{background:#f1f3f2;border-radius:4px;padding:.15rem .35rem;font-size:.9em}.upload-mode-help{color:var(--app-muted);font-size:.85rem;line-height:1.4}.upload-result-head{color:var(--app-text);align-items:center;gap:.75rem;display:flex}.upload-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.upload-stats>div{border:1px solid var(--app-border);background:#f8faf9;border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem;display:flex}.upload-stats span{color:var(--app-muted);font-size:.8rem}.upload-stats strong{color:var(--app-text);font-size:1.2rem}.upload-errors{border:1px solid var(--app-border);border-radius:8px;max-height:220px;margin-top:.75rem;overflow:auto}.upload-errors .data-table{min-width:480px}.upload-success-note{color:#24713f;background:#edf8f1;border-radius:8px;margin:0;padding:.85rem 1rem}@media (width<=520px){.upload-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.upload-link{color:var(--app-green);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.upload-link:hover{text-decoration:underline}.dash-stats--4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-subtitle{color:var(--app-muted);margin:.25rem 0 0;font-size:.95rem}.donut-wrap{display:inline-flex;position:relative}.donut-tip{color:#fff;white-space:nowrap;background:#2f9e44;border-radius:6px;padding:.45rem .8rem;font-size:.85rem;font-weight:600;position:absolute;top:32%;left:-30%;box-shadow:0 8px 20px -10px #0f1e1880}.uptime-chart{width:100%;height:auto;margin-top:1.25rem;display:block}.uptime-chart-tick{fill:var(--app-muted);font-family:inherit;font-size:12px}.admin .panel-link{color:#2f9e44}.dashboard-api-legend{flex-wrap:wrap;gap:.65rem 1rem;margin-top:1rem;display:flex}@media (width<=1100px){.dash-stats--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dash-stats--4{grid-template-columns:1fr}}.incident-list{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.incident-card{background:#fbe2e2;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.incident-card.is-resolved{background:#eaf6ee}.incident-card .btn-neutral{background:#fff}.incident-title{color:var(--app-text);align-items:center;gap:.6rem;margin:0;font-weight:600;display:flex}.incident-dot{background:#2447f0;border-radius:50%;flex-shrink:0;width:8px;height:8px}.incident-meta{color:#5f6b65;margin:.3rem 0 0 1.25rem;font-size:.95rem}.incident-empty{color:var(--app-muted);margin:0}.incident-severity{border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.incident-severity.is-low{color:#1f7a4d;background:#e7f4ec}.incident-severity.is-medium{color:#9a6700;background:#fdf3dd}.incident-severity.is-high,.incident-severity.is-critical{color:#c0392b;background:#fbe9e9}.incident-resolution-input{resize:vertical;min-height:8rem}.table-user{color:var(--app-text);margin:0;font-weight:700}.table-user-email{color:var(--app-muted);margin:.15rem 0 0;font-size:.85rem}.code-badge.is-warn{color:#b97d1e;background:#fdf3dd}.btn-warn-outline{color:#d98a3d;cursor:pointer;background:#fff;border:1px solid #e8a33d;border-radius:8px;padding:.7rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600}.btn-warn-outline:hover{background:#fdf6ec}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.api-view-actions{justify-content:flex-end;gap:.75rem;display:flex}.api-view{flex-direction:column;gap:1.5rem;max-width:780px;display:flex}.api-view-code{resize:vertical;font-family:var(--font-mono);font-size:.95rem;line-height:1.6}.api-view-docs-field{max-width:none}.api-view-docs{color:var(--app-text);flex-direction:column;gap:1.25rem;line-height:1.7;display:flex}.api-view-docs p{margin:0}.member-list{flex-direction:column;display:flex}.member-row{border-bottom:1px solid var(--app-border);flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 0;display:flex}.member-row:last-child{border-bottom:none}.member-id{flex:1.2;align-items:center;gap:.9rem;min-width:220px;display:flex}.member-avatar{color:#fff;background:#0f4d2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:inline-flex}.member-name{color:var(--app-text);margin:0;font-weight:700}.member-email{color:var(--app-muted);margin:.15rem 0 0;font-size:.9rem}.member-role{color:var(--app-text);flex:1;margin:0}.member-status{flex:1;align-items:center;min-width:90px;display:flex}.member-actions{align-items:center;gap:.75rem;display:flex}.icon-btn-primary{background:var(--app-green);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:42px;height:38px;display:inline-flex}.icon-btn-primary:hover{filter:brightness(.92)}.role-select{position:relative}.role-select-btn{border:1px solid var(--app-border);width:100%;color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;font-family:inherit;font-size:1rem;display:flex}.role-select-btn.is-placeholder{color:var(--app-muted)}.role-menu{border:1px solid var(--app-border);background:#fff;border-radius:10px;margin-top:6px;overflow:hidden;box-shadow:0 20px 40px -20px #0f1e1859}.role-option{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.85rem 1rem;font-family:inherit;display:block}.role-option+.role-option{border-top:1px solid var(--app-border)}.role-option:hover{background:#f6f8f7}.role-option-name{color:var(--app-text);margin:0;font-weight:700}.role-option-desc{color:var(--app-muted);margin:.2rem 0 0;font-size:.9rem}.modal-foot--end{justify-content:flex-end}.admin .app-subnav-link.is-active{background:var(--admin-amber-soft)}.amount-input{border:1px solid var(--app-border);background:#fff;border-radius:8px;align-items:center;display:flex}.amount-input:focus-within{border-color:var(--app-green)}.amount-prefix{border-right:1px solid var(--app-border);color:var(--app-text);align-items:center;gap:.5rem;padding:.95rem 1rem;font-weight:600;display:inline-flex}.amount-input input{min-width:0;color:var(--app-text);background:0 0;border:none;flex:1;padding:.95rem 1rem;font-family:inherit;font-size:1rem}.amount-input input:focus{outline:none}.tag-box{border:1px solid var(--app-border);background:#fff;border-radius:8px;padding:.85rem 1rem 1rem}.tag-box:focus-within{border-color:var(--app-green)}.tag-input{width:100%;color:var(--app-text);background:0 0;border:none;padding:.15rem 0 .6rem;font-family:inherit;font-size:1rem}.tag-input:focus{outline:none}.tag-list{flex-wrap:wrap;gap:.6rem;display:flex}.tag-chip{color:var(--app-text);background:#e9e9fb;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.9rem;display:inline-flex}.tag-chip button{color:var(--app-text);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.status-box{border:1px solid var(--app-border);color:var(--app-text);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.status-box input[type=checkbox]{accent-color:#22a555;cursor:pointer;width:20px;height:20px}.plan-features{border:1px solid var(--app-border);color:var(--app-text);background:#fff;border-radius:8px;margin:0;padding:.95rem 1rem .95rem 2.4rem;line-height:1.9}.profile-role{color:var(--app-text);text-align:center;margin:.6rem 0 0;font-size:1.05rem;font-weight:500}.admin .legend-dot.is-success{background:#2f9e44}.admin .legend-dot.is-error{background:#e03131}.async-state{min-height:18rem;color:var(--app-muted,#64706a);text-align:center;justify-items:center;gap:.9rem;padding:5rem 1.5rem;display:grid}.async-state p{margin:0}.async-state.is-error{color:#b42318}.route-error-detail{text-align:left;white-space:pre-wrap;background:#fff1f0;border-radius:8px;max-width:48rem;margin:0;padding:.75rem 1rem;font-size:.85rem;overflow-x:auto}.async-spinner{border:3px solid #ded9e8;border-top-color:var(--app-purple,#6d45bd);border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite async-spin}.mutation-error{color:#b42318;background:#fff1f0;border:1px solid #f5b8b2;border-radius:8px;margin:1rem 0;padding:.85rem 1rem}@keyframes async-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.async-spinner{animation:none}}
