:root{--green: #00853F;--yellow: #FDEF42;--red: #E31B23;--navy: #0A2060;--navy-dark: #061440;--navy-mid: #0f2e7a;--white: #ffffff;--bg-page: #f0f2f8;--border: #e2e8f0;--text-primary:#1a2540;--text-muted: #64748b;--radius: 10px;--shadow: 0 2px 12px rgba(10,32,96,.08);--shadow-lg: 0 8px 32px rgba(10,32,96,.14)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header__title{font-size:22px;font-weight:800;color:var(--navy-dark);margin-bottom:3px}.page-header__sub{font-size:13px;color:var(--text-muted)}.page-header__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-primary svg{width:15px;height:15px}.btn-primary:hover{background:var(--navy-mid);transform:translateY(-1px)}.btn-success{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-success svg{width:15px;height:15px}.btn-success:hover{background:#006e30;transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--navy);border:1.5px solid var(--border);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-outline svg{width:15px;height:15px}.btn-outline:hover{border-color:var(--navy);background:#f0f2f8}.btn-danger{display:inline-flex;align-items:center;gap:6px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:7px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s}.btn-danger:hover{background:#fee2e2}.btn-danger svg{width:13px;height:13px}.btn-icon{background:none;border:none;cursor:pointer;width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .18s}.btn-icon svg{width:15px;height:15px}.btn-icon:hover{background:var(--bg-page);color:var(--navy)}.btn-icon--danger:hover{background:#fef2f2;color:#dc2626}.admin-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.admin-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.admin-card__title{font-size:15px;font-weight:700;color:var(--navy-dark)}.admin-card__body{padding:20px}.admin-card__body--noPad{padding:0}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-search{position:relative;flex:1;min-width:200px;max-width:320px}.filter-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}.filter-search__input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:8px 12px 8px 34px;font-size:13px;background:#fff;color:var(--text-primary);transition:border-color .2s}.filter-search__input:focus{outline:none;border-color:var(--navy)}.filter-search__input::placeholder{color:var(--text-muted)}.filter-select{border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;background:#fff;color:var(--text-primary);cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--navy)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:#f8fafc;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:11px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:13px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:var(--text-primary)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#fafbff}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px;white-space:nowrap}.badge--green{background:#dcfce7;color:#166534}.badge--red{background:#fee2e2;color:#991b1b}.badge--yellow{background:#fefce8;color:#854d0e}.badge--blue{background:#dbeafe;color:#1e40af}.badge--grey{background:#f1f5f9;color:#475569}.badge--orange{background:#ffedd5;color:#9a3412}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;backdrop-filter:blur(3px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:14px;width:min(580px,100%);max-width:100%;overflow:hidden;animation:slideUp .25s ease;margin:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);gap:12px}.modal__title{font-size:17px;font-weight:800;color:var(--navy-dark)}.modal__close{background:#f1f5f9;border:none;width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .2s;flex-shrink:0}.modal__close svg{width:14px;height:14px}.modal__close:hover{background:#fee2e2;color:#dc2626}.modal__body{padding:22px;max-height:70vh;overflow-y:auto}.modal__footer{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fg{margin-bottom:14px}.fg label{display:block;font-size:12px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.fg .required{color:var(--red);margin-left:2px}.fg input,.fg select,.fg textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--text-primary);background:#fff;transition:border-color .2s,box-shadow .2s}.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #0a206014}.fg textarea{min-height:90px;resize:vertical}.fg input[type=file]{padding:6px 12px;cursor:pointer}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px}.pagination__info{font-size:13px;color:var(--text-muted)}.pagination__pages{display:flex;gap:4px}.page-btn{width:32px;height:32px;border-radius:7px;border:1.5px solid var(--border);background:#fff;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .18s;display:flex;align-items:center;justify-content:center}.page-btn:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy)}.page-btn--active{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}.page-btn:disabled{opacity:.35;cursor:not-allowed}.toast{position:fixed;bottom:24px;right:24px;background:var(--navy-dark);color:#fff;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;z-index:999;box-shadow:var(--shadow-lg);animation:toastIn .3s ease;max-width:340px}.toast--success{background:#166534}.toast--error{background:#991b1b}.toast svg{width:18px;height:18px;flex-shrink:0}@keyframes toastIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 20px;text-align:center;color:var(--text-muted)}.empty-state svg{width:48px;height:48px;opacity:.3;margin-bottom:14px}.empty-state p{font-size:15px;margin-bottom:16px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite;margin:48px auto}@keyframes spin{to{transform:rotate(360deg)}}.thumb-sm{width:44px;height:36px;border-radius:6px;object-fit:cover;border:1px solid var(--border)}.toggle{position:relative;width:38px;height:22px;cursor:pointer;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:22px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px #0000002e}.toggle input:checked+.toggle-slider{background:var(--green)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}
