@charset "UTF-8";:root{--ep-primary: #4f46e5;--ep-primary-hover: #4338ca;--ep-primary-soft: #eef2ff;--ep-primary-border: #c7d2fe;--ep-bg: #f6f7fb;--ep-surface: #ffffff;--ep-surface-muted: #f9fafb;--ep-sidebar: #ffffff;--ep-text: #111827;--ep-text-muted: #6b7280;--ep-text-subtle: #9ca3af;--ep-text-invert: #ffffff;--ep-border: #e5e7eb;--ep-border-strong: #d1d5db;--ep-danger: #dc2626;--ep-danger-soft: #fef2f2;--ep-success: #16a34a;--ep-success-soft: #f0fdf4;--ep-warning: #d97706;--ep-warning-soft: #fffbeb;--ep-radius-sm: 6px;--ep-radius: 10px;--ep-radius-lg: 14px;--ep-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--ep-shadow: 0 4px 12px rgba(16, 24, 40, .08);--ep-shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--ep-sidebar-width: 248px;--ep-header-height: 60px;--ep-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--ep-font);font-size:14px;line-height:1.5;color:var(--ep-text);background:var(--ep-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,figure{margin:0}button{font:inherit;color:inherit}a{color:var(--ep-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--ep-primary);outline-offset:2px}.ep-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:38px;border:1px solid transparent;border-radius:var(--ep-radius-sm);background:var(--ep-surface);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.ep-btn:disabled{opacity:.55;cursor:not-allowed}.ep-btn--primary{background:var(--ep-primary);color:var(--ep-text-invert)}.ep-btn--primary:hover:not(:disabled){background:var(--ep-primary-hover)}.ep-btn--secondary{border-color:var(--ep-border-strong);color:var(--ep-text)}.ep-btn--secondary:hover:not(:disabled){background:var(--ep-surface-muted)}.ep-btn--ghost{background:transparent;color:var(--ep-text-muted)}.ep-btn--ghost:hover:not(:disabled){background:var(--ep-surface-muted);color:var(--ep-text)}.ep-btn--danger{background:var(--ep-danger);color:var(--ep-text-invert)}.ep-btn--danger:hover:not(:disabled){background:#b91c1c}.ep-btn--block{width:100%}.ep-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ep-label{font-size:13px;font-weight:500;color:var(--ep-text)}.ep-input{height:40px;padding:0 12px;border:1px solid var(--ep-border-strong);border-radius:var(--ep-radius-sm);background:var(--ep-surface);font-size:14px;font-family:inherit;color:var(--ep-text);width:100%;transition:border-color .15s ease,box-shadow .15s ease}.ep-input:focus{outline:none;border-color:var(--ep-primary);box-shadow:0 0 0 3px var(--ep-primary-soft)}.ep-input::placeholder{color:var(--ep-text-subtle)}select.ep-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ep-text-subtle) 50%),linear-gradient(135deg,var(--ep-text-subtle) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}textarea.ep-input{height:auto;min-height:84px;padding:10px 12px;line-height:1.45;resize:vertical}.ep-input--error{border-color:var(--ep-danger)}.ep-input--error:focus{box-shadow:0 0 0 3px var(--ep-danger-soft)}.ep-error{font-size:12.5px;color:var(--ep-danger)}.ep-hint{font-size:12.5px;color:var(--ep-text-muted)}.ep-card{background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:var(--ep-radius);box-shadow:var(--ep-shadow-sm)}.ep-alert{padding:10px 14px;border-radius:var(--ep-radius-sm);font-size:13.5px;margin-bottom:16px}.ep-alert--error{background:var(--ep-danger-soft);color:#991b1b;border:1px solid #fecaca}.ep-alert--success{background:var(--ep-success-soft);color:#166534;border:1px solid #bbf7d0}.ep-alert--warning{background:var(--ep-warning-soft);color:#92400e;border:1px solid #fde68a}.ep-alert--info{background:var(--ep-primary-soft);color:#3730a3;border:1px solid var(--ep-primary-border)}.ep-muted{color:var(--ep-text-muted)}.ep-sr-only{position:absolute;top:0;left:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ep-skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 14px;border-radius:var(--ep-radius-sm);background:var(--ep-primary);color:var(--ep-text-invert);font-weight:600;transform:translateY(-200%)}.ep-skip-link:focus{transform:none;text-decoration:none}.ep-spin{animation:ep-spin .7s linear infinite}@keyframes ep-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ep-switch{appearance:none;position:relative;flex:none;width:38px;height:22px;margin:0;border-radius:999px;background:var(--ep-border-strong);cursor:pointer;transition:background .15s ease}.ep-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #10182840;transition:transform .15s ease}.ep-switch:checked{background:var(--ep-primary)}.ep-switch:checked:after{transform:translate(16px)}.ep-switch:disabled{opacity:.55;cursor:not-allowed}.ep-switch:focus-visible{outline:2px solid var(--ep-primary);outline-offset:2px}@media print{ep-header,ep-sidebar,ep-modal-host,ep-toast-host,.ep-skip-link,.shell__scrim,.ep-no-print{display:none!important}body{background:#fff}.shell__main{padding:0!important}}.ep-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;background:var(--ep-surface-muted);color:var(--ep-text-muted);font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.ep-pill--good{background:var(--ep-success-soft);color:#15803d}.ep-pill--warn{background:var(--ep-warning-soft);color:#b45309}.ep-pill--bad{background:var(--ep-danger-soft);color:var(--ep-danger)}.ep-pill--neutral{background:var(--ep-primary-soft);color:var(--ep-primary)}.ep-pill--muted{background:var(--ep-surface-muted);color:var(--ep-text-subtle)}
