@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #00a85e;--color-primary-dark: #008a4d;--color-primary-light: #e6f7ef;--color-sidebar: #007a44;--color-sidebar-hover: rgba(255, 255, 255, .12);--color-bg: #f7f9f8;--color-surface: #ffffff;--color-border: #e8ecea;--color-text: #1a1f1c;--color-text-secondary: #5c6b63;--color-text-muted: #8a9690;--color-positive: #00a85e;--color-negative: #e5484d;--color-warning: #f5a623;--font-body: "Inter", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 40, 20, .06);--shadow-md: 0 4px 12px rgba(0, 40, 20, .08);--sidebar-width: 240px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}#root{min-height:100vh}.mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:.875rem}table{border-collapse:collapse;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg);border-color:var(--color-primary)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-primary);background:var(--color-primary-light)}.btn-lark{background:#3370ff;color:#fff;padding:.75rem 1.5rem;font-size:.9375rem}.btn-lark:hover{background:#2860e0}.btn-demo{background:var(--color-primary-light);color:var(--color-primary-dark);border:1px dashed var(--color-primary)}.btn-demo:hover{background:var(--color-primary);color:#fff;border-style:solid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9375rem}.card-body{padding:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.form-input{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00a85e1f}.slide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .28s ease}.slide-overlay.open{opacity:1}.slide-panel{position:fixed;top:0;right:0;bottom:0;background:var(--color-surface);box-shadow:-8px 0 32px #0000001f;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);max-width:100vw}.slide-overlay.open .slide-panel{transform:translate(0)}.slide-panel-sm{width:min(420px,100vw)}.slide-panel-md{width:min(520px,100vw)}.slide-panel-lg{width:min(720px,100vw)}.slide-panel-xl{width:min(960px,100vw)}.slide-panel-2xl{width:min(1120px,94vw)}.slide-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.slide-panel-header h2{font-size:1.0625rem;font-weight:600;margin:0}.slide-panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1.25rem;border:none;background:none;cursor:pointer}.slide-panel-close:hover{background:var(--color-bg);color:var(--color-text)}.slide-panel-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.slide-panel-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:1.0625rem;font-weight:600}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1.25rem}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.badge-positive{background:var(--color-primary-light);color:var(--color-positive)}.badge-negative{background:#fde8e8;color:var(--color-negative)}.data-table{width:100%}.data-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.data-table td{padding:.875rem 1rem;font-size:.875rem;border-bottom:1px solid var(--color-border)}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--color-primary-light)}.data-table tbody tr.clickable{cursor:pointer}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:999px){:root{--sidebar-width: 64px}}
