@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";.ec-logo[data-v-b3aec266]{background:0 0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.ec-logo img[data-v-b3aec266]{object-fit:contain;width:100%;height:auto;display:block}.ec-logo.light[data-v-b3aec266]{background:#fff;border:1px solid #10292414;border-radius:12px;padding:.35rem .45rem;box-shadow:0 1px 3px #1029241f}html[data-theme=dark]{background:#fff;border:1px solid #ffffff1f;border-radius:12px;padding:.35rem .45rem;box-shadow:0 1px 3px #00000059}.ec-logo.hero[data-v-b3aec266]{width:min(16rem,72vw)}.ec-logo.compact[data-v-b3aec266]{width:7.5rem}.ec-logo.mark[data-v-b3aec266]{width:2.65rem}html[data-theme=dark],.ec-logo.mark.light[data-v-b3aec266]{border-radius:10px;padding:.2rem}.splash[data-v-5d35daad]{background:radial-gradient(ellipse 80% 60% at 50% 0%, #0f9a6880 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 85% 70%, #2dbe4e52 0%, transparent 50%), var(--ec-gradient-hero);color:#edf4f2;opacity:1;place-items:center;min-height:100svh;transition:opacity .38s;display:grid;position:relative;overflow:hidden}.splash.leaving[data-v-5d35daad]{opacity:0}.glow[data-v-5d35daad]{pointer-events:none;background:radial-gradient(#0f9a6852,#0000 70%);height:45%;animation:2.4s ease-in-out infinite pulse-5d35daad;position:absolute;inset:auto 0 -20%}.content[data-v-5d35daad]{z-index:1;text-align:center;justify-items:center;gap:.45rem;padding:1.5rem;animation:.9s cubic-bezier(.22,1,.36,1) both rise-5d35daad;display:grid;position:relative}.logo-anim[data-v-5d35daad]{margin-bottom:.55rem;animation:.7s cubic-bezier(.22,1,.36,1) .1s both pop-5d35daad}h1[data-v-5d35daad]{letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.45rem,4vw,1.85rem);font-weight:650;animation:.7s .45s both fade-5d35daad}.tag[data-v-5d35daad]{color:var(--ec-sidebar-muted);margin:.15rem 0 0;font-size:.85rem;animation:.7s .55s both fade-5d35daad}.bar[data-v-5d35daad]{background:#ffffff1f;border-radius:999px;width:7.5rem;height:3px;margin-top:1.15rem;animation:.7s .65s both fade-5d35daad;overflow:hidden}.bar span[data-v-5d35daad]{border-radius:inherit;background:linear-gradient(90deg, var(--ec-blue-bright), var(--ec-green-bright));width:40%;height:100%;animation:1.4s ease-in-out infinite load-5d35daad;display:block}@keyframes rise-5d35daad{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop-5d35daad{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes fade-5d35daad{0%{opacity:0}to{opacity:1}}@keyframes pulse-5d35daad{0%,to{opacity:.7}50%{opacity:1}}@keyframes load-5d35daad{0%{transform:translate(-120%)}to{transform:translate(280%)}}:root{--ec-font:"IBM Plex Sans", "Segoe UI", sans-serif;--ec-blue:#0f9a68;--ec-blue-bright:#2dbe4e;--ec-blue-deep:#0a3d36;--ec-green:#0f9a68;--ec-green-bright:#2dbe4e;--ec-navy:#06241f;--ec-bg:#f2f7f5;--ec-bg-elevated:#fff;--ec-surface:#e7f2ed;--ec-text:#0a2e28;--ec-text-muted:#4d6b63;--ec-text-subtle:#7a948c;--ec-border:#d5e5de;--ec-border-strong:#b8cfc5;--ec-primary:#0f9a68;--ec-primary-hover:#0c8257;--ec-primary-soft:#e6f7f0;--ec-primary-ink:#0a3d36;--ec-primary-rgb:15, 154, 104;--ec-accent:#2dbe4e;--ec-accent-hover:#25a842;--ec-accent-soft:#eafbef;--ec-accent-ink:#166534;--ec-accent-rgb:45, 190, 78;--ec-danger:#b42318;--ec-danger-soft:#fef3f2;--ec-warning:#b54708;--ec-warning-soft:#fffaeb;--ec-success:#0f9a68;--ec-success-soft:#ecfdf3;--ec-sidebar:#fff;--ec-sidebar-text:#0a2e28;--ec-sidebar-muted:#4d6b63;--ec-sidebar-hover:#0f9a6817;--ec-sidebar-active:#0f9a68;--ec-sidebar-line:#d5e5de;--ec-sidebar-btn-border:#b8cfc5;--ec-gradient-brand:linear-gradient(135deg, #0a3d36 0%, #0f9a68 55%, #2dbe4e 100%);--ec-gradient-hero:linear-gradient(165deg, #041a16 0%, #06241f 42%, #0a3d36 100%);--ec-topbar-bg:#f2f7f5eb;--ec-input-bg:#fff;--ec-table-head:#f4faf7;--ec-table-hover:#eef7f3;--ec-radius:8px;--ec-radius-sm:6px;--ec-shadow:0 1px 2px #06241f0f;--ec-header-h:3.25rem;--ec-sidebar-w:14rem;--ec-touch:2.5rem;--ec-space-1:.25rem;--ec-space-2:.5rem;--ec-space-3:.75rem;--ec-space-4:1rem;--ec-space-5:1.25rem;--ec-text-scale:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{font-size:calc(16px * var(--ec-text-scale,1))}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ec-bg:#061a16;--ec-bg-elevated:#0c2621;--ec-surface:#12332c;--ec-text:#e6f4ef;--ec-text-muted:#97b5ab;--ec-text-subtle:#73988c;--ec-border:#1e4037;--ec-border-strong:#2d564b;--ec-primary:#2dbe4e;--ec-primary-hover:#45c963;--ec-primary-soft:#2dbe4e29;--ec-primary-ink:#b6f5c8;--ec-primary-rgb:45, 190, 78;--ec-accent:#3dd06a;--ec-accent-hover:#55d87c;--ec-accent-soft:#3dd06a29;--ec-accent-ink:#b6f0c8;--ec-accent-rgb:61, 208, 106;--ec-danger:#f97066;--ec-danger-soft:#d92d202e;--ec-warning:#fdb022;--ec-warning-soft:#f59e0b29;--ec-success:#2dbe4e;--ec-success-soft:#2dbe4e29;--ec-sidebar:#041512;--ec-sidebar-text:#e6f4ef;--ec-sidebar-muted:#8bb0a4;--ec-sidebar-hover:#ffffff0f;--ec-sidebar-active:#0f9a68;--ec-sidebar-line:#ffffff1a;--ec-sidebar-btn-border:#ffffff24;--ec-topbar-bg:#061a16e6;--ec-input-bg:#0a211c;--ec-table-head:#0a211c;--ec-table-hover:#12332c;--ec-shadow:0 1px 2px #00000059}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;max-width:none;min-height:100%;margin:0}body{font-family:var(--ec-font);color:var(--ec-text);background:var(--ec-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:.875rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ec-primary)}img{max-width:100%}:focus-visible{outline:2px solid var(--ec-primary);outline-offset:2px}.ec-page{gap:var(--ec-space-4);display:grid}.ec-page-list{gap:var(--ec-space-3);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.ec-page-list>.ec-page-header,.ec-page-list>.ec-alert,.ec-page-list>.ec-card:not(.ec-list-scroll),.ec-page-list>.ec-empty,.ec-page-list>.tabs{flex-shrink:0}.ec-list-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.ec-page-list .ec-list-scroll.ec-table-wrap,.ec-page-list .ec-list-scroll.ec-card{display:block}.ec-page-list .ec-table thead th{z-index:2;background:var(--ec-table-head);box-shadow:0 1px 0 var(--ec-border);position:sticky;top:0}.ec-list-pager{background:var(--ec-bg-elevated);border:1px solid var(--ec-border);border-radius:var(--ec-radius);box-shadow:var(--ec-shadow);flex-shrink:0;margin:0!important;padding:.55rem .85rem!important}.ec-page-header{justify-content:space-between;align-items:center;gap:var(--ec-space-3);flex-wrap:wrap;display:flex}.ec-page-header h1{letter-spacing:-.02em;color:var(--ec-text);margin:0;font-size:1.25rem;font-weight:650}.ec-page-header p{color:var(--ec-text-muted);margin:.15rem 0 0;font-size:.875rem}.ec-actions{gap:var(--ec-space-2);flex-wrap:wrap;align-items:center;display:flex}.ec-btn{border-radius:var(--ec-radius-sm);cursor:pointer;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;min-height:2.35rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ec-btn:disabled{opacity:.55;cursor:not-allowed}.ec-btn-primary{background:var(--ec-primary);color:#fff}.ec-btn-primary:hover:not(:disabled){background:var(--ec-primary-hover)}.ec-btn-accent{background:var(--ec-accent);color:#fff}.ec-btn-accent:hover:not(:disabled){background:var(--ec-accent-hover)}.ec-btn-secondary{background:var(--ec-bg-elevated);border-color:var(--ec-border);color:var(--ec-text)}.ec-btn-secondary:hover:not(:disabled){background:var(--ec-surface);border-color:var(--ec-border-strong)}.ec-btn-ghost{color:var(--ec-primary);background:0 0}.ec-btn-ghost:hover:not(:disabled){background:var(--ec-primary-soft)}.ec-btn-soft-blue{background:var(--ec-primary-soft);border-color:rgba(var(--ec-primary-rgb), .28);color:var(--ec-primary-ink)}.ec-btn-soft-blue:hover:not(:disabled){background:rgba(var(--ec-primary-rgb), .22);border-color:rgba(var(--ec-primary-rgb), .4)}.ec-btn-soft-teal{color:#0a3d36;background:#0f9a681f;border-color:#0f9a6847}.ec-btn-soft-teal:hover:not(:disabled){background:#0f9a6833;border-color:#0f9a6866}.ec-btn-soft-green{background:var(--ec-accent-soft);border-color:rgba(var(--ec-accent-rgb), .28);color:var(--ec-accent-ink)}.ec-btn-soft-green:hover:not(:disabled){background:rgba(var(--ec-accent-rgb), .22);border-color:rgba(var(--ec-accent-rgb), .4)}html[data-theme=dark] .ec-btn-soft-teal{color:#86efac;background:#2dbe4e24;border-color:#2dbe4e4d}html[data-theme=dark] .ec-btn-soft-teal:hover:not(:disabled){background:#2dbe4e38;border-color:#2dbe4e6b}.ec-btn-soft-amber{background:var(--ec-warning-soft);border-color:color-mix(in srgb, var(--ec-warning) 30%, transparent);color:var(--ec-warning)}.ec-btn-soft-amber:hover:not(:disabled){background:color-mix(in srgb, var(--ec-warning-soft) 80%, var(--ec-warning));border-color:color-mix(in srgb, var(--ec-warning) 45%, transparent)}.ec-btn-soft-danger{background:var(--ec-danger-soft);border-color:color-mix(in srgb, var(--ec-danger) 30%, transparent);color:var(--ec-danger)}.ec-btn-soft-danger:hover:not(:disabled){background:color-mix(in srgb, var(--ec-danger-soft) 80%, var(--ec-danger));border-color:color-mix(in srgb, var(--ec-danger) 45%, transparent)}.ec-btn-soft-success{background:var(--ec-success-soft);border-color:color-mix(in srgb, var(--ec-success) 30%, transparent);color:var(--ec-success)}.ec-btn-soft-success:hover:not(:disabled){background:color-mix(in srgb, var(--ec-success-soft) 80%, var(--ec-success));border-color:color-mix(in srgb, var(--ec-success) 45%, transparent)}.ec-card{background:var(--ec-bg-elevated);border:1px solid var(--ec-border);border-radius:var(--ec-radius);box-shadow:var(--ec-shadow)}.ec-card-body{padding:var(--ec-space-4)}.ec-stat-grid{gap:var(--ec-space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=640px){.ec-stat-grid{grid-template-columns:1fr}}.ec-stat{background:var(--ec-bg-elevated);border:1px solid var(--ec-border);border-radius:var(--ec-radius);gap:.2rem;padding:.9rem 1rem;display:grid}.ec-stat strong{letter-spacing:-.03em;color:var(--ec-text);font-size:1.5rem;font-weight:650;line-height:1.15}.ec-stat span{color:var(--ec-text-muted);font-size:.75rem;font-weight:500}.ec-field{gap:.3rem;display:grid}.ec-field>span,.ec-label{color:var(--ec-text-muted);font-size:.75rem;font-weight:600}.ec-input,.ec-select,.ec-textarea{width:100%;min-height:var(--ec-touch);border:1px solid var(--ec-border);border-radius:var(--ec-radius-sm);background:var(--ec-input-bg);color:var(--ec-text);color-scheme:inherit;padding:.45rem .7rem;transition:border-color .15s,box-shadow .15s}.ec-input::placeholder,.ec-textarea::placeholder{color:var(--ec-text-subtle);opacity:1}.ec-select option,.ec-select optgroup{background:var(--ec-bg-elevated);color:var(--ec-text)}.ec-textarea{resize:vertical;min-height:4rem}.ec-input:hover,.ec-select:hover,.ec-textarea:hover{border-color:var(--ec-border-strong)}.ec-input:focus,.ec-select:focus,.ec-textarea:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px rgba(var(--ec-primary-rgb), .14);outline:none}.ec-input.is-invalid,.ec-select.is-invalid,.ec-textarea.is-invalid{border-color:var(--ec-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--ec-danger) 18%, transparent)}.ec-input:-webkit-autofill{-webkit-text-fill-color:var(--ec-text);caret-color:var(--ec-text);box-shadow:0 0 0 1000px var(--ec-input-bg) inset;transition:background-color 99999s ease-out}.ec-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ec-text);caret-color:var(--ec-text);box-shadow:0 0 0 1000px var(--ec-input-bg) inset;transition:background-color 99999s ease-out}.ec-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ec-text);caret-color:var(--ec-text);box-shadow:0 0 0 1000px var(--ec-input-bg) inset;transition:background-color 99999s ease-out}.ec-textarea:-webkit-autofill{-webkit-text-fill-color:var(--ec-text);caret-color:var(--ec-text);box-shadow:0 0 0 1000px var(--ec-input-bg) inset;transition:background-color 99999s ease-out}.ec-select:-webkit-autofill{-webkit-text-fill-color:var(--ec-text);caret-color:var(--ec-text);box-shadow:0 0 0 1000px var(--ec-input-bg) inset;transition:background-color 99999s ease-out}.ec-field-error{color:var(--ec-danger);margin:0;font-size:.7rem;font-weight:550;line-height:1.3}.ec-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:650;display:inline-flex}.ec-badge.active,.ec-badge-success{background:var(--ec-success-soft);color:var(--ec-success)}.ec-badge.inactive,.ec-badge-warning{background:var(--ec-warning-soft);color:var(--ec-warning)}.ec-alert{border-radius:var(--ec-radius-sm);padding:.65rem .8rem;font-size:.8125rem}.ec-alert-error{background:var(--ec-danger-soft);color:var(--ec-danger);border:1px solid color-mix(in srgb, var(--ec-danger) 35%, transparent);font-weight:600}.ec-alert-info{background:var(--ec-primary-soft);color:var(--ec-primary-ink);border:1px solid color-mix(in srgb, var(--ec-primary) 35%, transparent)}.ec-alert-success{background:var(--ec-success-soft);color:var(--ec-success);border:1px solid color-mix(in srgb, var(--ec-success) 35%, transparent);font-weight:600}.ec-empty{text-align:center;color:var(--ec-text-muted);padding:2rem 1rem;font-size:.875rem}.ec-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.ec-table{border-collapse:collapse;width:100%;min-width:36rem}.ec-table th,.ec-table td{text-align:left;border-bottom:1px solid var(--ec-border);vertical-align:middle;padding:.7rem .85rem;font-size:.8125rem}.ec-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--ec-text-subtle);background:var(--ec-table-head);font-size:.6875rem;font-weight:650}.ec-table tbody tr:hover{background:var(--ec-table-hover)}.ec-table tbody tr:last-child td{border-bottom:0}.ec-row-actions{flex-wrap:wrap;gap:.3rem;display:flex}.ec-row-actions .ec-btn{min-height:2rem;padding:.25rem .55rem;font-size:.75rem}.ec-toolbar{gap:var(--ec-space-3);display:grid}@media (width>=720px){.ec-toolbar{grid-template-columns:minmax(0,1fr) 11rem;align-items:end}}.ec-mobile-cards{gap:var(--ec-space-3);display:none}@media (width<=719px){.ec-desktop-only{display:none!important}.ec-mobile-cards{display:grid}.ec-table-wrap.ec-hide-mobile-table{display:none}}@media (width>=720px){.ec-mobile-only{display:none!important}}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
