*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f3fa;color:#14183a;line-height:1.5;-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:all .2s ease-in-out;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background-color:#6a13ff;color:#fff;border-color:#6a13ff}.btn.btn-primary:hover:not(:disabled){background-color:#5706df}.btn.btn-secondary{background-color:transparent;color:#14183a;border-color:#d3cee4}.btn.btn-secondary:hover:not(:disabled){background-color:#f3f1fa;border-color:#a278f3}.btn.btn-outline-primary{background-color:transparent;color:#6a13ff;border-color:#6a13ff}.btn.btn-outline-primary:hover:not(:disabled){background-color:#6a13ff0f}.btn.btn-danger{background-color:#b91c1c;color:#fff}.btn.btn-danger:hover:not(:disabled){background-color:#991b1b}.btn.btn-sm{padding:6px 12px;font-size:13px}.card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #14183a0d,0 1px 3px #14183a05;border:1px solid rgba(211,206,228,.4);padding:24px;transition:transform .2s,box-shadow .2s}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:9999px;line-height:1}.badge.badge-success{background-color:#ecfdf5;color:#146c2e;border:1px solid #A7F3D0}.badge.badge-error{background-color:#fff1f2;color:#b91c1c;border:1px solid #FECDD3}.badge.badge-warning{background-color:#fef9c3;color:#8a6100;border:1px solid #FDE047}.badge.badge-info{background-color:#eef2ff;color:#4f46e5;border:1px solid #C7D2FE}.badge.badge-violeta{background-color:#6a13ff1a;color:#6a13ff;border:1px solid rgba(162,120,243,.4)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:#14183a;margin-bottom:6px}.form-group .form-control{width:100%;padding:10px 14px;font-size:14px;font-family:inherit;border:1px solid #D3CEE4;border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s;background-color:#fff}.form-group .form-control:focus{border-color:#6a13ff;box-shadow:0 0 0 3px #6a13ff1f}.form-group .form-control::placeholder{color:#9ca3af}.form-group textarea.form-control{resize:vertical;min-height:80px}.table-responsive{width:100%;overflow-x:auto;border-radius:10px;border:1px solid #E5E2F0;background:#fff}table.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}table.admin-table thead{background-color:#f3f1fa}table.admin-table thead th{padding:12px 16px;font-weight:700;color:#14183a;border-bottom:1px solid #E5E2F0;white-space:nowrap}table.admin-table tbody tr{border-bottom:1px solid #E5E2F0;transition:background-color .15s}table.admin-table tbody tr:hover{background-color:#f5f3fab3}table.admin-table tbody tr td{padding:12px 16px;color:#374151;vertical-align:middle;white-space:nowrap}table.admin-table tbody tr td.bold{font-weight:700;color:#14183a}.modal-overlay{position:fixed;inset:0;background:#14183a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-dialog{background:#fff;border-radius:20px;box-shadow:0 16px 40px #14183a2e;width:100%;max-width:540px;overflow:hidden;animation:modalEnter .2s ease-out}.modal-dialog .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E2F0}.modal-dialog .modal-header h3{font-size:18px;font-weight:700;color:#14183a}.modal-dialog .modal-header .close-btn{background:transparent;border:none;font-size:20px;cursor:pointer;color:#6b7280}.modal-dialog .modal-header .close-btn:hover{color:#14183a}.modal-dialog .modal-body{padding:24px}.modal-dialog .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#f3f1fa;border-top:1px solid #E5E2F0}@keyframes modalEnter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
