@charset "UTF-8";:root{--color-navbar: #2c3e50;--color-navbar-text: #ffffff;--color-sidebar-bg: #f4f5f7;--color-sidebar-text: #4a5568;--color-accent: #f0883e;--color-accent-dark: #d9701f;--color-accent-soft: #fdecd8;--color-primary: #1e5aa8;--color-primary-dark: #123d76;--color-primary-soft: #e8f0fb;--color-chart-bar: #3f6d94;--color-chart-bar-dark: #2c3e50;--color-bg: #f7f8fa;--color-surface: #ffffff;--color-border: #e4e8ee;--color-text: #14181f;--color-text-muted: #64748b;--color-danger: #c8372f;--color-danger-soft: #fdecea;--color-success: #1b8a5a;--color-success-soft: #e6f4ec;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(20, 24, 31, .04), 0 4px 14px rgba(20, 24, 31, .06);--font-family: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-family);font-size:15px;line-height:1.55;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.25;letter-spacing:-.01em;font-weight:700}a{color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.alert-error{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.9rem}.btn-primary{display:inline-block;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-pill);padding:.65rem 1.3rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-accent-dark)}.btn-primary:disabled{background:#c3cad4;cursor:not-allowed}.btn-secondary{display:inline-block;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.55rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-secondary:hover{border-color:var(--color-primary)}input,select,textarea,button{font-family:inherit}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem .75rem;font-size:.95rem;background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:220px}.search-box input{width:100%;padding:.55rem .9rem .55rem 2.3rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-size:.9rem}.search-box .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:.9rem;pointer-events:none}.filter-select{padding:.55rem .9rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-size:.87rem;color:var(--color-text);cursor:pointer}.filter-select:hover{border-color:var(--color-primary)}.toolbar-count{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;margin-left:auto}.data-table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table thead{background:#f7f8fa}.data-table thead th{text-align:left;padding:.75rem 1rem;font-weight:700;color:var(--color-text);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);white-space:nowrap}.data-table thead th:last-child{border-right:none}.data-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .1s ease}.data-table tbody tr:hover{background:#fafbfc}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:.75rem 1rem;border-right:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.data-table td:last-child{border-right:none}.pill{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;white-space:nowrap}.pill-green{background:var(--color-success-soft);color:var(--color-success)}.pill-amber{background:var(--color-warning-soft, #fff4e0);color:#a15c00}.pill-blue{background:var(--color-primary-soft);color:var(--color-primary)}.pill-gray{background:#eceff1;color:#546e7a}.pill-red{background:var(--color-danger-soft);color:var(--color-danger)}.page-heading{margin-bottom:1.25rem}.page-heading h1{margin:0 0 .2rem;font-size:1.45rem}.page-heading .page-subtitle{color:var(--color-text-muted);font-size:.9rem;margin:0}.action-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;color:var(--color-text);transition:all .12s ease;white-space:nowrap}.action-chip:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.action-chip:disabled{opacity:.4;cursor:wait}.action-chip.action-primary{color:var(--color-primary);border-color:var(--color-primary-soft);background:var(--color-primary-soft)}.action-chip.action-primary:hover:not(:disabled){background:var(--color-primary);color:#fff}.action-chip.action-success{color:var(--color-success);border-color:var(--color-success-soft);background:var(--color-success-soft)}.action-chip.action-success:hover:not(:disabled){background:var(--color-success);color:#fff}.action-chip.action-danger{color:var(--color-danger);border-color:var(--color-danger-soft);background:var(--color-danger-soft)}.action-chip.action-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.action-chip.action-neutral{color:var(--color-text-muted)}.action-chip.action-neutral:hover:not(:disabled){border-color:var(--color-text-muted);background:#f4f6f8}
