
	:root {
		--primary-color: #4b49ac;
		--primary-hover: #3f3e91;
		--bg-light: #f5f7ff;
		--facebook-color: #6495ED; /* Light blue from screenshot */
		--google-color: #ef4729;
		--text-muted: #6c7383;
	}
	body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(--bg-light); overflow-x: hidden; }
	.form-container { display: flex; align-items: center; justify-content: center; min-height: 100vh; background-color: var(--bg-light); }
	.login-wrapper { width: 100%; max-width: 480px; padding: 2rem; }
	.brand-logo { color: var(--primary-color); font-weight: 700; font-size: 1.75rem; display: flex; align-items: center; gap: 10px; }
	.brand-logo svg { width: 30px; height: 30px; fill: var(--primary-color); }
	.form-label { font-size: 0.85rem; color: #212529; margin-bottom: 0.4rem; }
	.input-group { border: 1px solid #ced4da; border-radius: 4px; transition: border-color 0.15s ease-in-out; background-color: #fff; }
	.input-group:focus-within { border-color: var(--primary-color); }
	.input-group-text { background-color: transparent; border: none; color: #a3a4a5; padding-right: 0; }
	.form-control { border: none; padding-left: 10px; font-size: 0.9rem; color: #495057; }
	.form-control:focus { box-shadow: none; background-color: transparent; }
	.input-group:focus-within .input-group-text i { color: var(--primary-color); }
	/* Buttons */
	.btn-primary-custom { background-color: var(--primary-color); border-color: var(--primary-color); color: white; padding: 0.8rem; font-weight: 600; letter-spacing: 0.5px; border-radius: 6px; }
	.btn-primary-custom:hover { background-color: var(--primary-hover); color: white; }
	.btn-facebook { background-color: var(--facebook-color); color: white; font-size: 0.85rem; padding: 0.6rem; border-radius: 6px; font-weight: 500; }
	.btn-facebook:hover { background-color: #5580ce; color: white; }
	.btn-google { background-color: var(--google-color); color: white; font-size: 0.85rem; padding: 0.6rem; border-radius: 6px; font-weight: 500; }
	.btn-google:hover { background-color: #d13d22; color: white; }
	/* Checkbox customization */
	.form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); }
	.forgot-link { color: #000; font-size: 0.85rem; font-weight: 600; }
	.forgot-link:hover { color: var(--primary-color); }
	/* --- Right Side (Image) Styles --- */
	.bg-image-side { background-image: url('https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?q=80&w=2070&auto=format&fit=crop'); background-size: cover; background-position: center; position: relative; min-height: 100vh; }
	.bg-image-side::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(to right, rgba(20, 10, 35, 0.4), rgba(75, 73, 172, 0.6)); z-index: 1; }
	.copyright-text { position: absolute; bottom: 20px; width: 100%; text-align: center; color: rgba(255, 255, 255, 0.8); font-size: 0.8rem; z-index: 2; }

	.dev-sidebar{background:#fff;border-radius:12px;padding:20px 0;box-shadow:0 2px 10px rgba(0,0,0,.05)}
	.dev-sidebar .nav-pills{flex-direction:column}.dev-sidebar .nav-link{color:#495057;font-weight:500;margin-bottom:5px;cursor:pointer;border-radius:8px;padding:12px 16px}
	.dev-sidebar .nav-link.active{background:linear-gradient(135deg,#006600,#004d00)!important;color:#fff!important}.dev-sidebar .nav-link:hover:not(.active){background:#f0f2f5;color:#006600}
	.dev-sidebar .nav-link i{margin-right:10px;font-size:1.1rem}.dev-pane{display:none;animation:fadeIn .25s ease}.dev-pane.active{display:block}
	@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
	.dev-card{border:0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.05);height:100%}.dev-stat{padding:18px;border-radius:12px;background:#f8f9fa;height:100%}.dev-stat .value{font-size:1.55rem;font-weight:700;color:#006600}.dev-stat .label{font-size:.75rem;color:#6c757d}
	.dev-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#006600,#004d00);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
	.maintenance-banner{border-radius:12px;padding:18px;background:#fff3cd;border:1px solid #ffe69c}.maintenance-banner.off{background:#e8f5e9;border-color:#c8e6c9}
	.server-meter{height:9px;background:#e9ecef;border-radius:20px;overflow:hidden}.server-meter span{display:block;height:100%;background:#006600;border-radius:20px;transition:width .3s}
	.tool-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #edf0f2}.tool-row:last-child{border-bottom:0}.tool-row h6{margin:0;font-weight:600}.tool-row p{margin:3px 0 0;font-size:.78rem;color:#6c757d}
	.table-row-click{cursor:pointer}.table-row-click:hover{background:#f0f8f0!important}.code-block{background:#111827;color:#d1d5db;border-radius:8px;padding:15px;font-family:monospace;font-size:.78rem;max-height:350px;overflow:auto;white-space:pre-wrap}
	.auth-overlay{position:fixed;inset:0;background:rgba(15,23,42,.82);backdrop-filter:blur(7px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:430px;background:#fff;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.3);overflow:hidden}.auth-head{padding:30px 30px 20px;text-align:center;background:linear-gradient(135deg,#006600,#004d00);color:#fff}.auth-icon{width:68px;height:68px;border-radius:50%;margin:0 auto 14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:2rem}.auth-body{padding:28px}.auth-body .form-control{height:48px;border-radius:10px}.auth-status{min-height:20px}.toast-fixed-container{position:fixed;top:20px;right:20px;z-index:11000;max-width:420px;width:100%}.toast-item{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;gap:12px;align-items:flex-start}.toast-item .body{flex:1;font-size:.85rem}.maintenance-control{border:2px dashed #dee2e6;border-radius:12px;padding:22px}.danger-zone{border:1px solid #f1b0b7;background:#fff5f5;border-radius:12px;padding:18px}.badge-soft{background:#f0f2f5;color:#495057;border:1px solid #dee2e6}
	.dev-loading { display:flex;align-items:center;justify-content:center;min-height:180px; } .chart-wrap{position:relative;height:270px; } .small-muted { font-size:.78rem;color:#6c757d; }


		.nav-pills .nav-link.active { background:linear-gradient(135deg,#006600,#004d00) !important; color:white !important; border-radius:8px; }
		.nav-pills .nav-link { color:#495057; font-weight:500; margin-bottom:5px; cursor:pointer; border-radius:8px; padding:12px 16px; transition:all .3s ease; }
		.nav-pills .nav-link:hover:not(.active) { background:#f0f2f5; color:#006600; }
		.nav-pills .nav-link i { margin-right:10px; font-size:1.1rem; }
		.log-data-cell { max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
		.log-data-cell .expand-btn { cursor:pointer; color:#007bff; font-size:.7rem; }
		.log-data-cell .expand-btn:hover { text-decoration:underline; }
		.badge-event-info { background:#17a2b8; color:white; }
		.badge-event-success { background:#28a745; color:white; }
		.badge-event-warning { background:#ffc107; color:#212529; }
		.badge-event-error { background:#dc3545; color:white; }
		.towns-badge { display:inline-block; background:#e8f5e9; color:#2e7d32; padding:2px 10px; border-radius:15px; font-size:.75rem; margin:2px; }
		.county-stat { text-align:center; padding:10px; background:#f8f9fa; border-radius:10px; }
		.county-stat .number { font-size:1.8rem; font-weight:700; color:#006600; }
		.btn-kenya { background:linear-gradient(135deg,#006600,#004d00); color:white; border:none; padding:8px 20px; border-radius:50px; font-weight:600; transition:all .3s; }
		.btn-kenya:hover { transform:translateY(-2px); box-shadow:0 5px 15px rgba(0,102,0,.3); color:white; }
		.btn-kenya-danger { background:linear-gradient(135deg,#BB0000,#880000); color:white; }
		.btn-kenya-danger:hover { background:linear-gradient(135deg,#cc0000,#990000); color:white; }
		.town-input-container { background:#f8f9fa; border-radius:10px; padding:15px; border:2px dashed #dee2e6; }
		.tab-content-wrapper { min-height:500px; }
		.tab-pane { display:none; animation:fadeIn .3s ease; }
		.tab-pane.active { display:block; }
		@keyframes fadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
		.management-sidebar { background:white; border-radius:12px; padding:20px 0; box-shadow:0 2px 10px rgba(0,0,0,.05); }
		.management-sidebar .nav-pills { flex-direction:column; }
		.logs-sub-tabs { border-bottom:2px solid #e8eaed; margin-bottom:20px; display:flex; gap:0; }
		.logs-sub-tab { padding:10px 20px; cursor:pointer; font-weight:500; font-size:.85rem; color:#5f6368; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
		.logs-sub-tab:hover { color:#1a73e8; }
		.logs-sub-tab.active { color:#1a73e8; border-bottom-color:#1a73e8; }
		.logs-sub-tab i { margin-right:6px; }
		.logs-sub-content { display:none; animation:fadeIn .3s ease; }
		.logs-sub-content.active { display:block; }
		.pagination-container { display:flex; justify-content:space-between; align-items:center; padding:15px 0; flex-wrap:wrap; gap:10px; border-top:1px solid #e8eaed; margin-top:10px; }
		.pagination-container .pagination-info { font-size:.85rem; color:#6c757d; }
		.pagination-container .pagination-buttons { display:flex; gap:5px; flex-wrap:wrap; align-items:center; }
		.pagination-container .pagination-buttons .page-btn { padding:6px 14px; border:1px solid #dee2e6; background:white; cursor:pointer; border-radius:4px; transition:all .2s; font-size:.85rem; min-width:36px; text-align:center; }
		.pagination-container .pagination-buttons .page-btn:hover:not(.active):not(.disabled) { background:#f0f2f5; border-color:#006600; }
		.pagination-container .pagination-buttons .page-btn.active { background:#006600; color:white; border-color:#006600; }
		.pagination-container .pagination-buttons .page-btn.disabled { opacity:.5; cursor:not-allowed; pointer-events:none; }
		.pagination-container .pagination-buttons .page-btn .mdi { font-size:1.1rem; }
		.pagination-container .page-size-select { padding:5px 10px; border-radius:4px; border:1px solid #dee2e6; font-size:.85rem; background:white; }
		.search-container { display:flex; gap:10px; align-items:center; margin-bottom:15px; flex-wrap:wrap; }
		.search-container .search-input { flex:1; min-width:200px; padding:8px 15px; border:1px solid #dee2e6; border-radius:20px; font-size:.85rem; transition:all .3s; }
		.search-container .search-input:focus { outline:none; border-color:#006600; box-shadow:0 0 0 3px rgba(0,102,0,.1); }
		.search-container .search-btn { padding:8px 20px; background:#006600; color:white; border:none; border-radius:20px; font-weight:500; cursor:pointer; transition:all .3s; }
		.search-container .search-btn:hover { background:#004d00; }
		.search-container .search-btn .mdi { margin-right:5px; }
		.search-container .clear-search-btn { padding:8px 16px; background:#f8f9fa; color:#6c757d; border:1px solid #dee2e6; border-radius:20px; cursor:pointer; transition:all .3s; display:none; }
		.search-container .clear-search-btn:hover { background:#e9ecef; }
		.search-container .search-results-count { font-size:.85rem; color:#6c757d; padding:5px 10px; }
		@keyframes slideIn { from { transform:translateX(100px); opacity:0; } to { transform:translateX(0); opacity:1; } }

		/* Pause Accordion */
		.pause-accordion .accordion-header { background:#f8f9fa; padding:12px 16px; cursor:pointer; border-radius:8px; transition:all .3s; display:flex; justify-content:space-between; align-items:center; }
		.pause-accordion .accordion-header:hover { background:#e9ecef; }
		.pause-accordion .accordion-header .chevron { transition:transform .3s; }
		.pause-accordion .accordion-header.active .chevron { transform:rotate(180deg); }
		.pause-accordion .accordion-body { display:none; padding:20px; border-top:1px solid #e8eaed; margin-top:5px; }
		.pause-accordion .accordion-body.open { display:block; }

		/* Finance card styles */
		.finance-card { cursor:pointer; transition:all .3s ease; border-radius:12px; }
		.finance-card:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,.1); }
		.finance-card .finance-icon { width:50px; height:50px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; background:linear-gradient(135deg,#006600,#004d00); color:white; }
		.finance-card .finance-amount { font-size:1.8rem; font-weight:700; color:#006600; }

		/* Finance modal styles */
		.finance-stat-box { text-align:center; padding:15px; background:#f8f9fa; border-radius:10px; }
		.finance-stat-box .number { font-size:1.8rem; font-weight:700; }
		.finance-stat-box .label { font-size:.75rem; color:#6c757d; }
		.finance-table th { background:#f8f9fa; }
		.chart-container { position:relative; height:250px; width:100%; }
		.finance-tabs .nav-link { color:#495057; border-radius:8px; padding:8px 16px; cursor:pointer; }
		.finance-tabs .nav-link.active { background:#006600; color:white; }
		.finance-tabs .nav-link:hover:not(.active) { background:#f0f2f5; }
		.tab-pane.fade { transition:opacity .15s linear; }
		.tab-pane.fade.show { opacity:1; }

		/* Toast styles */
		.toast-fixed { position:fixed; top:20px; right:20px; z-index:9999; max-width:400px; width:100%; }
		.toast-item { background:white; border-radius:8px; padding:12px 16px; margin-bottom:10px; box-shadow:0 4px 12px rgba(0,0,0,0.15); display:flex; align-items:flex-start; gap:12px; animation:slideIn 0.3s ease; }
		.toast-item .toast-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
		.toast-item .toast-body { flex:1; font-size:0.85rem; }
		.toast-item .toast-close { background:none; border:none; font-size:1.2rem; cursor:pointer; opacity:0.5; padding:0 4px; flex-shrink:0; }
		.toast-item .toast-close:hover { opacity:0.8; }
		.toast-item.toast-success { border-left:4px solid #28a745; }
		.toast-item.toast-error { border-left:4px solid #dc3545; }
		.toast-item.toast-warning { border-left:4px solid #ffc107; }
		.toast-item.toast-info { border-left:4px solid #17a2b8; }
		.toast-item.toast-fixed-close { border-left:4px solid #006600; background:#f8fff8; }

		/* Finance sub-tabs */
		.finance-sub-tabs { display:flex; gap:0; border-bottom:2px solid #e8eaed; margin-bottom:20px; }
		.finance-sub-tab { padding:10px 20px; cursor:pointer; font-weight:500; font-size:.85rem; color:#5f6368; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
		.finance-sub-tab:hover { color:#006600; }
		.finance-sub-tab.active { color:#006600; border-bottom-color:#006600; }
		.finance-sub-tab i { margin-right:6px; }
		.finance-sub-content { display:none; animation:fadeIn .3s ease; }
		.finance-sub-content.active { display:block; }

		/* Invoice row clickable */
		.invoice-row { cursor:pointer; transition:background .2s; }
		.invoice-row:hover { background:#f0f8f0 !important; }

		/* Finance tab pane fixes */
		.finance-tabs .nav-link[data-bs-toggle="tab"] { cursor:pointer; }
		#financeModal .tab-pane { display:none; opacity:0; transition:opacity .2s ease; }
		#financeModal .tab-pane.show { display:block; opacity:1; }
		#financeModal .tab-pane.fade { display:none; }
		#financeModal .tab-pane.fade.show { display:block; }

		/* Toast container for fixed toast */
		.toast-fixed-container { position:fixed; top:20px; right:20px; z-index:99999; max-width:420px; width:100%; pointer-events:none; }
		.toast-fixed-container .toast-item { pointer-events:auto; }

		/* School finance row */
		.school-finance-row { cursor:pointer; transition:background .2s; }
		.school-finance-row:hover { background:#f0f8f0 !important; }

		/* County row clickable */
		.county-row { cursor:pointer; transition:background .2s; }
		.county-row:hover { background:#f0f8f0 !important; }

		/* Paused school row */
		.paused-school-row { cursor:pointer; transition:background .2s; }
		.paused-school-row:hover { background:#fff3cd !important; }

		/* Pause status badges */
		.pause-status-pending { background:#ffc107; color:#212529; }
		.pause-status-approved { background:#dc3545; color:white; }
		.pause-status-lifted { background:#28a745; color:white; }
		.pause-status-rejected { background:#6c757d; color:white; }

		/* Governor popover */
		.gov-popover-trigger { cursor:pointer; color:#006600; text-decoration:underline dotted; transition:color .2s; }
		.gov-popover-trigger:hover { color:#004d00; }
		.popover-gov { max-width:350px; }
		.popover-gov .popover-body { padding:15px; }
		.popover-gov .gov-avatar { width:60px; height:60px; border-radius:50%; object-fit:cover; margin-right:12px; }
		.popover-gov .gov-name { font-weight:700; font-size:1rem; margin-bottom:2px; }
		.popover-gov .gov-title { font-size:.8rem; color:#6c757d; }
		.popover-gov .gov-description { font-size:.8rem; margin-top:8px; line-height:1.5; max-height:80px; overflow-y:auto; }
		.popover-gov .gov-more-link { font-size:.8rem; margin-top:8px; display:inline-block; }

		/* Log row clickable */
		.log-row { cursor:pointer; transition:background .2s; }
		.log-row:hover { background:#f0f8f0 !important; }

		/* Log pagination controls */
		.log-pagination-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 0; border-top:1px solid #e8eaed; margin-top:10px; }
		.log-pagination-controls .log-page-info { font-size:.85rem; color:#6c757d; }
		.log-pagination-controls .log-nav-buttons { display:flex; gap:8px; align-items:center; }
		.log-pagination-controls .log-nav-buttons .btn { padding:4px 12px; font-size:.8rem; }
		.log-pagination-controls .log-nav-buttons .btn:disabled { opacity:0.5; cursor:not-allowed; }
		.log-pagination-controls .log-page-size-select { padding:4px 8px; border-radius:4px; border:1px solid #dee2e6; font-size:.8rem; background:white; }

		/* Top pagination controls */
		.log-top-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
		.log-top-controls .log-page-size-wrapper { display:flex; align-items:center; gap:8px; }
		.log-top-controls .log-page-size-wrapper label { margin:0; font-size:.85rem; color:#6c757d; }
		.log-top-controls .log-page-size-wrapper select { padding:4px 8px; border-radius:4px; border:1px solid #dee2e6; font-size:.8rem; background:white; }
		.log-top-controls .log-entry-info { font-size:.85rem; color:#6c757d; }

		/* Backup sub-tabs styles */
		.backup-sub-tabs { display:flex; gap:0; border-bottom:2px solid #e8eaed; margin-bottom:20px; }
		.backup-sub-tab { padding:10px 20px; cursor:pointer; font-weight:500; font-size:.85rem; color:#5f6368; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
		.backup-sub-tab:hover { color:#006600; }
		.backup-sub-tab.active { color:#006600; border-bottom-color:#006600; }
		.backup-sub-tab i { margin-right:6px; }
		.backup-sub-content { display:none; animation:fadeIn .3s ease; }
		.backup-sub-content.active { display:block; }

		/* Backup storage styles */
		.storage-config-card { background:#f8f9fa; border-radius:12px; padding:16px; border-left:4px solid #006600; transition:all .2s; }
		.storage-config-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.08); }
		.storage-config-card .storage-label { font-weight:600; color:#006600; }
		.storage-config-card .storage-detail { font-size:.85rem; color:#495057; }
		.storage-stat { text-align:center; padding:12px; background:white; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,0.05); }
		.storage-stat .number { font-size:1.6rem; font-weight:700; color:#006600; }
		.storage-stat .label { font-size:.75rem; color:#6c757d; }
		.storage-modal .form-label { font-weight:500; }
		.storage-type-badge { font-size:.7rem; padding:3px 10px; border-radius:12px; }
		.config-data-preview { max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.75rem; color:#6c757d; }
		.backup-history-row { cursor:default; }
		.backup-history-row .badge { font-size:.7rem; }
		.storage-token-code { font-size:.7rem; color:#6c757d; background:#f8f9fa; padding:2px 6px; border-radius:3px; }

		/* Backup Modal Styles */
		.backup-modal .accordion-button { background:#f8f9fa; font-weight:600; }
		.backup-modal .accordion-button:not(.collapsed) { background:#e8f5e9; color:#006600; }
		.backup-modal .accordion-body { max-height:300px; overflow-y:auto; }
		.backup-modal .db-item, .backup-modal .table-item { padding:4px 8px; border-radius:4px; transition:background .2s; cursor:pointer; }
		.backup-modal .db-item:hover, .backup-modal .table-item:hover { background:#f0f8f0; }
		.backup-modal .db-item .db-name { font-weight:500; }
		.backup-modal .table-item { padding-left:30px; }
		.backup-modal .table-item .table-name { font-size:.9rem; }
		.backup-modal .table-item .table-count { font-size:.75rem; color:#6c757d; }
		.backup-modal .select-all-label { font-size:.85rem; font-weight:500; color:#495057; cursor:pointer; }
		.backup-modal .select-all-label:hover { color:#006600; }
		.backup-modal .db-children { margin-left:20px; border-left:2px solid #e8eaed; padding-left:12px; }
		.backup-modal .db-children .table-item { padding-left:0; }
		.backup-modal .backup-progress { position:relative; }

		/* FAB Styles */
		.fab-container { position:fixed; bottom:30px; left:30px; z-index:99999; display:none; cursor:pointer; transition:all .3s ease; }
		.fab-container .fab-circle { width:70px; height:70px; border-radius:50%; background:linear-gradient(135deg,#006600,#004d00); color:white; display:flex; align-items:center; justify-content:center; font-size:1.8rem; box-shadow:0 4px 20px rgba(0,102,0,.4); position:relative; transition:all .3s ease; }
		.fab-container .fab-circle:hover { transform:scale(1.05); }
		.fab-container .fab-circle .fab-progress-ring { position:absolute; top:-3px; left:-3px; width:76px; height:76px; border-radius:50%; }
		.fab-container .fab-circle .fab-progress-ring svg { transform:rotate(-90deg); }
		.fab-container .fab-circle .fab-progress-ring circle { fill:none; stroke:#ffffff; stroke-width:3; stroke-dasharray:226.19; stroke-dashoffset:226.19; transition:stroke-dashoffset .5s ease; }
		.fab-container .fab-circle.success { background:linear-gradient(135deg,#28a745,#1e7e34); }
		.fab-container .fab-circle.error { background:linear-gradient(135deg,#dc3545,#bd2130); }
		.fab-container .fab-label { position:absolute; bottom:-25px; left:50%; transform:translateX(-50%); font-size:.65rem; color:#006600; background:white; padding:2px 10px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.1); white-space:nowrap; font-weight:600; }
		.fab-container .fab-close { position:absolute; top:-8px; right:-8px; width:24px; height:24px; border-radius:50%; background:#dc3545; color:white; border:none; font-size:.7rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.2); transition:all .2s; }
		.fab-container .fab-close:hover { transform:scale(1.1); }

		/* Backup Modal Password input */
		.password-verify-container { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
		.password-verify-container .form-control { flex:1; min-width:150px; }
		.password-verify-container .btn { white-space:nowrap; }
		.db-list-container { max-height:400px; overflow-y:auto; }
		.db-item .collapse-icon { cursor:pointer; transition:transform .2s; display:inline-block; }
		.db-item .collapse-icon.open { transform:rotate(90deg); }
		.db-item .table-list { display:none; padding-left:20px; border-left:2px solid #e8eaed; margin-left:20px; }
		.db-item .table-list.open { display:block; }
		.backup-modal .tab-pane { padding-top:15px; }

		/* Backup storage select */
		.storage-select-container { margin-top:15px; padding:12px; background:#f8f9fa; border-radius:8px; border:1px solid #e8eaed; }
		.storage-select-container select { width:100%; padding:8px 12px; border-radius:6px; border:1px solid #dee2e6; }

		/* ── Permissions Tab Styles ───────────────────────────────────────── */
		.school-users-row { cursor:pointer; }
		.school-users-row:hover { background:#f0f8f0 !important; }
		.teachers-row td { padding:0 !important; }
		.teachers-content { max-height:500px; overflow-y:auto; }
		.role-checkboxes .form-check { margin-right:15px; }
		.role-edit-row td { padding:0 !important; }
		.user-role-badge { display:inline-block; padding:2px 10px; border-radius:12px; font-size:.75rem; margin:2px; }
		.user-role-badge.primary { background:#007bff; color:white; }
		.user-role-badge.success { background:#28a745; color:white; }
		.user-role-badge.warning { background:#ffc107; color:#212529; }
		.user-role-badge.info { background:#17a2b8; color:white; }
		.user-role-badge.danger { background:#dc3545; color:white; }
		.user-role-badge.secondary { background:#6c757d; color:white; }
		.permission-school-row { cursor:pointer; transition:background .2s; }
		.permission-school-row:hover { background:#f0f8f0 !important; }
		.permission-role-edit-row td { padding:0 !important; }
		.permission-role-editor { background:#f8f9fa; border:1px solid #e9ecef; border-radius:8px; }
		.permission-role-checkboxes .form-check { margin-right:8px; }
		.permission-role-block { border:1px solid #e9ecef; border-radius:8px; padding:10px; background:#fff; }
		.permission-matrix { font-size:.78rem; }
		.permission-matrix th, .permission-matrix td { vertical-align:middle; }
		.permission-preview-cell { min-width:360px; }
