:root{--ip-bg:#f3f6f5;--ip-surface:#fff;--ip-surface-2:#f8faf9;--ip-text:#12221f;--ip-muted:#5b6b67;--ip-faint:#8a9894;--ip-border:#dce5e2;--ip-accent:#0f766e;--ip-accent-hover:#0d9488;--ip-accent-soft:#ccfbf1;--ip-accent-text:#fff;--ip-danger:#dc2626;--ip-danger-soft:#fef2f2;--ip-warning:#d97706;--ip-warning-soft:#fffbeb;--ip-success:#059669;--ip-success-soft:#ecfdf5;--ip-shadow:0 1px 2px #12221f0d, 0 8px 24px #12221f0f;--ip-radius:16px;--ip-radius-sm:10px;--ip-header-h:64px;--ip-content-max:1180px;--ip-font:"Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif}.dark-mode{--ip-bg:#0c1211;--ip-surface:#151c1b;--ip-surface-2:#1c2624;--ip-text:#e7eeec;--ip-muted:#9aada8;--ip-faint:#6f827d;--ip-border:#2a3835;--ip-accent:#2dd4bf;--ip-accent-hover:#5eead4;--ip-accent-soft:#134e4a;--ip-accent-text:#042f2e;--ip-danger:#f87171;--ip-danger-soft:#3f1515;--ip-warning:#fbbf24;--ip-warning-soft:#3f2d0a;--ip-success:#34d399;--ip-success-soft:#064e3b;--ip-shadow:0 1px 2px #00000059, 0 12px 32px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--ip-font);background:var(--ip-bg);color:var(--ip-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;transition:background-color .2s,color .2s}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}button,input,select,textarea{font-family:inherit}a{color:var(--ip-accent)}.ip-app{background:radial-gradient(1200px 480px at 8% -10%, color-mix(in srgb, var(--ip-accent) 14%, transparent), transparent 60%), var(--ip-bg);min-height:100vh;color:var(--ip-text);flex-direction:column;display:flex}.ip-main{width:min(var(--ip-content-max), calc(100% - 2rem));flex:1;margin:0 auto;padding:1.5rem 0 3rem}html[data-compact] .ip-main{padding-top:1rem;padding-bottom:1.5rem}.ip-header{z-index:40;background:color-mix(in srgb, var(--ip-surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--ip-border);position:sticky;top:0}.ip-header-inner{width:min(var(--ip-content-max), calc(100% - 2rem));min-height:var(--ip-header-h);align-items:center;gap:1.25rem;margin:0 auto;display:flex}.ip-brand{cursor:pointer;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.ip-logo-mark{background:linear-gradient(145deg, var(--ip-accent), #115e59);color:#ecfdf5;width:36px;height:36px;box-shadow:0 6px 16px color-mix(in srgb, var(--ip-accent) 35%, transparent);border-radius:12px;place-items:center;display:grid}.ip-logo-mark svg{width:20px;height:20px}.ip-brand-name{letter-spacing:-.03em;color:var(--ip-text);font-size:1.05rem;font-weight:700;line-height:1.1}.ip-brand-sub{color:var(--ip-muted);font-size:.7rem;font-weight:500}.ip-nav{flex-wrap:wrap;flex:1;align-items:center;gap:.25rem;display:flex}.ip-nav-btn{color:var(--ip-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem .8rem;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s}.ip-nav-btn:hover{background:var(--ip-surface-2);color:var(--ip-text)}.ip-nav-btn.is-active{background:var(--ip-accent);color:var(--ip-accent-text)}.ip-header-right{align-items:center;gap:.6rem;margin-left:auto;display:flex}.ip-status{color:var(--ip-muted);align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.ip-status-dot{border-radius:50%;width:8px;height:8px}.ip-status-dot.ok{background:#10b981}.ip-status-dot.warn{background:#f59e0b}.ip-status-dot.err{background:#ef4444}.ip-icon-btn{border:1px solid var(--ip-border);background:var(--ip-surface);width:36px;height:36px;color:var(--ip-text);cursor:pointer;border-radius:10px;place-items:center;display:grid}.ip-icon-btn:hover{border-color:color-mix(in srgb, var(--ip-accent) 50%, var(--ip-border))}.ip-footer{border-top:1px solid var(--ip-border);background:var(--ip-surface);color:var(--ip-muted);margin-top:auto;padding:2rem 0 1.5rem}.ip-footer-inner{width:min(var(--ip-content-max), calc(100% - 2rem));gap:1.5rem;margin:0 auto;display:grid}.ip-footer h3{color:var(--ip-text);margin:0 0 .5rem;font-size:.95rem}.ip-footer p{margin:0;font-size:.85rem;line-height:1.55}.ip-disclaimer{background:var(--ip-surface-2);border:1px solid var(--ip-border);border-radius:var(--ip-radius-sm);padding:.9rem 1rem;font-size:.75rem;line-height:1.5}.ip-footer-copy{border-top:1px solid var(--ip-border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:1rem;font-size:.8rem;display:flex}.ip-footer-copy a{color:var(--ip-accent);font-weight:600;text-decoration:none}.ip-footer-copy a:hover{text-decoration:underline}.ip-card{background:var(--ip-surface);border:1px solid var(--ip-border);border-radius:var(--ip-radius);box-shadow:var(--ip-shadow);color:var(--ip-text);margin-bottom:1.25rem;padding:1.35rem 1.5rem}html[data-compact] .ip-card{margin-bottom:.85rem;padding:.9rem 1rem}.ip-card.is-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.ip-card.is-clickable:hover{border-color:color-mix(in srgb, var(--ip-accent) 45%, var(--ip-border));transform:translateY(-2px)}.ip-card.is-warning{border-left:4px solid var(--ip-warning)}.ip-card.is-error{border-left:4px solid var(--ip-danger)}.ip-card-title{letter-spacing:-.02em;color:var(--ip-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.ip-card-text{color:var(--ip-muted);margin:0;line-height:1.6}.ip-card-label{color:var(--ip-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.ip-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:650;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex}.ip-btn:disabled{opacity:.55;cursor:not-allowed}.ip-btn-sm{padding:.35rem .75rem;font-size:.8rem}.ip-btn-primary{background:var(--ip-accent);color:var(--ip-accent-text)}.ip-btn-primary:hover:not(:disabled){background:var(--ip-accent-hover)}.ip-btn-secondary{background:var(--ip-surface);color:var(--ip-text);border-color:var(--ip-border)}.ip-btn-secondary:hover:not(:disabled){background:var(--ip-surface-2)}.ip-btn-ghost{color:var(--ip-muted);background:0 0;padding-left:.35rem;padding-right:.35rem}.ip-btn-ghost:hover:not(:disabled){color:var(--ip-text);background:var(--ip-surface-2)}.ip-btn-danger{background:var(--ip-danger);color:#fff}.ip-btn-success{background:var(--ip-success);color:#fff}.ip-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.ip-page-header-copy{min-width:0}.ip-back-link{margin-bottom:.35rem}.ip-page-title{letter-spacing:-.04em;margin:0;font-size:1.85rem;font-weight:750}.ip-page-subtitle{color:var(--ip-muted);margin:.35rem 0 0;font-size:.98rem}.ip-page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ip-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.ip-badge-neutral{background:var(--ip-surface-2);color:var(--ip-muted)}.ip-badge-accent{background:var(--ip-accent-soft);color:var(--ip-accent)}.ip-badge-success{background:var(--ip-success-soft);color:var(--ip-success)}.ip-badge-warning{background:var(--ip-warning-soft);color:var(--ip-warning)}.ip-badge-danger{background:var(--ip-danger-soft);color:var(--ip-danger)}.ip-auth{background:radial-gradient(900px 420px at 80% -10%, color-mix(in srgb, var(--ip-accent) 22%, transparent), transparent 55%), var(--ip-bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.ip-auth-card{background:var(--ip-surface);border:1px solid var(--ip-border);width:min(420px,100%);box-shadow:var(--ip-shadow);border-radius:24px;padding:2rem 1.75rem 1.75rem}.ip-auth-brand{text-align:center;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1.5rem;display:flex}.ip-auth-brand h1{letter-spacing:-.04em;margin:0;font-size:1.6rem}.ip-auth-brand p{color:var(--ip-muted);margin:0;font-size:.9rem}.ip-form{flex-direction:column;gap:.9rem;display:flex}.ip-field{flex-direction:column;gap:.35rem;display:flex}.ip-field label{color:var(--ip-muted);font-size:.82rem;font-weight:650}.ip-field input,.ip-field select,.ip-field textarea,.ip-input{background:var(--ip-surface-2);border:1px solid var(--ip-border);color:var(--ip-text);border-radius:var(--ip-radius-sm);padding:.7rem .8rem;font-size:1rem}.ip-field input:focus,.ip-field select:focus,.ip-field textarea:focus,.ip-input:focus{border-color:var(--ip-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--ip-accent) 20%, transparent);outline:none}.ip-alert{border-radius:var(--ip-radius-sm);padding:.7rem .85rem;font-size:.875rem}.ip-alert-error{background:var(--ip-danger-soft);color:var(--ip-danger);border:1px solid color-mix(in srgb, var(--ip-danger) 30%, transparent)}.ip-alert-success{background:var(--ip-success-soft);color:var(--ip-success);border:1px solid color-mix(in srgb, var(--ip-success) 30%, transparent)}.ip-auth-footer{text-align:center;color:var(--ip-muted);margin-top:1.25rem;font-size:.875rem}.ip-auth-footer button{color:var(--ip-accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.ip-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.ip-hero h1{letter-spacing:-.04em;margin:0;font-size:1.8rem}.ip-hero p{color:var(--ip-muted);margin:.35rem 0 0}.ip-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;display:flex}.ip-section-toggle h2{letter-spacing:-.02em;margin:0;font-size:1.1rem}.ip-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.ip-depletion{border:1px solid var(--ip-border);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.ip-depletion.ok{background:var(--ip-success-soft);border-color:color-mix(in srgb, var(--ip-success) 30%, var(--ip-border))}.ip-depletion.warn{background:var(--ip-warning-soft);border-color:color-mix(in srgb, var(--ip-warning) 35%, var(--ip-border))}.ip-depletion.crit{background:var(--ip-danger-soft);border-color:color-mix(in srgb, var(--ip-danger) 35%, var(--ip-border))}.ip-empty{text-align:center;color:var(--ip-muted);padding:1.5rem 1rem}.ip-loading{background:var(--ip-bg);min-height:100vh;color:var(--ip-muted);place-items:center;display:grid}.ip-user-menu{position:relative}.ip-user-trigger{background:var(--ip-surface);border:1px solid var(--ip-border);cursor:pointer;color:var(--ip-text);border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .55rem .3rem .3rem;font-size:.85rem;font-weight:600;display:flex}.ip-avatar{background:var(--ip-accent);width:28px;height:28px;color:var(--ip-accent-text);border-radius:50%;place-items:center;font-size:.75rem;font-weight:750;display:grid}.ip-dropdown{background:var(--ip-surface);border:1px solid var(--ip-border);min-width:220px;box-shadow:var(--ip-shadow);z-index:50;border-radius:14px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.ip-dropdown-head{border-bottom:1px solid var(--ip-border);background:var(--ip-surface-2);padding:.85rem 1rem}.ip-dropdown button{text-align:left;width:100%;color:var(--ip-text);cursor:pointer;background:0 0;border:none;padding:.7rem 1rem;font-size:.875rem;display:block}.ip-dropdown button:hover{background:var(--ip-surface-2)}.ip-dropdown button.is-danger{color:var(--ip-danger)}.ip-modal-backdrop{z-index:1000;background:#08100f8c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ip-modal{background:var(--ip-surface);border:1px solid var(--ip-border);width:min(900px,100%);max-height:90vh;box-shadow:var(--ip-shadow);border-radius:18px;overflow:auto}.ip-modal-head{border-bottom:1px solid var(--ip-border);background:var(--ip-surface-2);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.ip-modal-body{padding:1.25rem}.ip-setting-row{border-bottom:1px solid var(--ip-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.ip-setting-row:last-child{border-bottom:none}.ip-theme-options{flex-wrap:wrap;gap:.4rem;display:flex}@media (max-width:860px){.ip-header-inner{flex-wrap:wrap;padding:.6rem 0}.ip-nav{order:3;width:100%;padding-bottom:.25rem;overflow-x:auto}.ip-status span{display:none}.ip-page-title{font-size:1.5rem}}
