*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:var(--font);--t-small:13px;--t-body:15px;--t-large:20px;--t-micro:var(--t-small);--t-title:var(--t-body);--t-head:var(--t-large);--t-display:var(--t-large);--w-regular:400;--w-strong:600;--s0:2px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--pad-card:20px;--gap-section:24px;--pad-page:32px;--text-1:#111827;--text-2:#4b5563;--text-3:var(--text-2);--surface:#fff;--page-bg:#f4f5f7;--border:#e5e7eb;--border-light:#eeeff2;--hover:#f5f6f8;--accent:#2b6ff2;--accent-strong:#1f5ed6;--accent-bg:#eaf1ff;--accent-border:#bfd3fb;--purple:var(--accent-strong);--purple-mid:var(--accent);--purple-bg:var(--accent-bg);--purple-border:var(--accent-border);--amber:#a15c07;--amber-bg:#fdf4e3;--amber-border:#f2dcb0;--green:#15803d;--green-bg:#eefbf2;--green-border:#bfe6cc;--blue:#1d4ed8;--blue-bg:#eef3fe;--blue-border:#c3d3f7;--red:#b42318;--red-bg:#fef3f2;--red-border:#f5c2bd;--teal:var(--green);--teal-bg:var(--green-bg);--teal-border:var(--green-border);--gray:#4b5563;--gray-bg:#f3f4f6;--gray-border:#e5e7eb;--sidebar-w:236px;--radius:16px;--radius-sm:12px;--shadow-frame:0 1px 2px #1018280d, 0 2px 8px #1018280f}html,body{height:100%;font-family:var(--font);background:var(--page-bg);color:var(--text-1);font-size:var(--t-body);-webkit-font-smoothing:antialiased;line-height:1.55}#root{height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-border);border-radius:3px}button{cursor:pointer;font-family:var(--font);color:inherit;background:0 0;border:none}textarea,input,select{font-family:var(--font);font-size:var(--t-body);color:var(--text-1);line-height:1.5}textarea{resize:vertical}textarea.fld{resize:none;min-height:0;overflow:hidden}a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border);text-underline-offset:3px}a:hover{color:var(--accent-strong);text-decoration-color:currentColor}@keyframes drawerIn{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:.6;transform:translate(-50%,calc(6px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.panel-enter{animation:.18s ease-out both riseIn}.modal-enter{animation:.18s cubic-bezier(.2,.8,.2,1) both modalIn}.drawer-enter{animation:.2s cubic-bezier(.2,.8,.2,1) both drawerIn}.backdrop-enter{animation:.16s ease-out both fadeIn}@keyframes flashHighlight{0%,to{box-shadow:0 0 #2b6ff200}15%,55%{box-shadow:0 0 0 3px #2b6ff259}}.flash-highlight{border-radius:var(--radius);animation:1.4s ease-out flashHighlight}.btn-primary{transition:filter .12s}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{transition:background .12s}.btn-ghost:hover{background:var(--gray-bg)}.row-hover{transition:background .1s}.row-hover:hover{background:var(--hover)}.fld{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:10px var(--s3);background:var(--surface);outline:none;line-height:1.5;transition:border-color .14s}.fld::placeholder{color:var(--text-2);opacity:.8}.fld:focus{border-color:var(--accent)}.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media print{body>:not(.report-print-root){display:none!important}.report-print-root{background:0 0!important;padding:0!important;position:static!important;overflow:visible!important}.report-print-root .no-print{display:none!important}.report-print-root .print-report{box-shadow:none!important;border:none!important;max-width:none!important;padding:0!important}}.card-clickable{transition:box-shadow .14s,border-color .14s}.card-clickable:hover{box-shadow:0 1px 2px #1018280f,0 6px 18px #1018281a}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.fld:focus-visible{outline-offset:0}
