:root{--sidebar-bg: #1f2733;--sidebar-active: #34404f;--header-bg: #ffffff;--content-bg: #f1f4f8;--primary: #3c8dbc;--primary-dark: #367fa9;--text: #333;--text-light: #8d99a8;--border: #e6e9ee;--success: #28a745;--warning: #ffc107;--danger: #dc3545}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--content-bg);font-size:13.5px}a{color:var(--primary);text-decoration:none}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:inherit;outline:none}.box{background:#fff;border-radius:6px;border:1px solid var(--border)}.box-header{padding:13px 18px;border-bottom:1px solid var(--border);font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.box-body{padding:18px}.btn{display:inline-block;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:500;background:#f4f6f9;color:#333;border:1px solid #ddd}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:12px}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f7f9fc;text-align:left;padding:11px 14px;font-size:12px;font-weight:600;color:#5a6675;border-bottom:2px solid var(--border);white-space:nowrap}.data-table td{padding:11px 14px;border-bottom:1px solid #f0f2f5;font-size:13px}.data-table tr:hover td{background:#fafcfe}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:13px}.form-control{width:100%;padding:8px 12px;border:1px solid #d3dbe5;border-radius:4px;font-size:13px;background:#fff}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3c8dbc1f}.tag{display:inline-block;padding:2px 9px;border-radius:3px;font-size:11px;font-weight:500}.tag-success{background:#28a74526;color:var(--success)}.tag-warning{background:#ffc10733;color:#b8860b}.tag-danger{background:#dc354524;color:var(--danger)}.pagination{display:flex;gap:5px;justify-content:flex-end;padding:14px 18px}.pagination button{min-width:32px;height:32px;border:1px solid var(--border);background:#fff;border-radius:4px;font-size:13px}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5}.stat-card{background:#fff;border-radius:6px;border:1px solid var(--border);padding:18px;display:flex;align-items:center;gap:15px}.stat-icon{width:52px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-value{font-size:22px;font-weight:700}.stat-label{color:var(--text-light);font-size:12px;margin-top:2px}.switch{position:relative;display:inline-block;width:42px;height:22px;vertical-align:middle}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#c4ccd6;border-radius:22px;transition:.2s}.switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--primary)}.switch input:checked+.slider:before{transform:translate(20px)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:#fbfcfe;align-items:flex-end}.filter-item{display:flex;flex-direction:column;gap:5px;min-width:150px}.filter-item label{font-size:12px;color:#5a6675;font-weight:500}.filter-item .form-control{min-width:150px;width:auto}.filter-actions{display:flex;gap:8px}.tab-bar{display:flex;flex-wrap:wrap;gap:4px;padding:10px 18px 0;border-bottom:1px solid var(--border);background:#fbfcfe}.tab-item{padding:8px 16px;font-size:13px;border:1px solid transparent;border-bottom:none;border-radius:5px 5px 0 0;color:#5a6675;background:transparent}.tab-item.active{background:#fff;border-color:var(--border);color:var(--primary);font-weight:600}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:5px;background:#fff;font-size:14px;color:#5a6675;padding:0}.icon-btn:hover{border-color:var(--primary);color:var(--primary)}.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.row-actions{display:flex;gap:6px}.row-actions.vertical{flex-direction:column;gap:4px}.row-actions.vertical .icon-btn{width:28px;height:26px;font-size:13px}.grid-actions{min-width:40px}.inline-select{padding:5px 8px;font-size:12px;border:1px solid #d3dbe5;border-radius:4px;background:#fff}.inline-edit-input{padding:5px 8px;font-size:12px;border:1px solid var(--primary);border-radius:4px}.cell-editable{cursor:pointer}.cell-editable:hover{color:var(--primary)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{width:480px;max-width:calc(100vw - 32px);background:#fff;border-radius:8px;box-shadow:0 10px 36px #0000002e;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal.modal-lg{width:880px}.modal-header{padding:15px 18px;font-size:15px;font-weight:600;border-bottom:1px solid var(--border);flex-shrink:0}.modal-body{padding:18px;overflow-y:auto;flex:1}.modal-footer{padding:13px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.modal-close{cursor:pointer;float:right;color:#99a3b2}.modal-close:hover{color:#6b7585}
