.table-responsive{overflow-x:auto}.animated-table{width:100%;border-collapse:collapse;text-align:left}.animated-table th{background:var(--bg-darker);padding:16px;font-weight:600;color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--surface-border)}.animated-table td{padding:16px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s ease;vertical-align:middle}.animated-table tbody tr{animation:fadeInRow .5s ease forwards;opacity:0;transform:translateY(10px)}.animated-table tbody tr:hover td{background:#5865f20d}@keyframes fadeInRow{to{opacity:1;transform:translateY(0)}}:root{--bg-color: #0d0f14;--bg-darker: #090a0d;--text-color: #e2e8f0;--text-muted: #94a3b8;--primary-color: #5865F2;--primary-dark: #4752c4;--accent-color: #00f0ff;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--surface-bg: rgba(255, 255, 255, .03);--surface-border: rgba(255, 255, 255, .08);--glass-blur: blur(12px);--sidebar-bg: #12141c;--sidebar-text: #94a3b8;--radius-md: 12px;--radius-lg: 16px;--transition-speed: .3s}[data-theme=light]{--bg-color: #f8fafc;--bg-darker: #f1f5f9;--text-color: #0f172a;--text-muted: #475569;--primary-color: #5865F2;--primary-dark: #4752c4;--accent-color: #0284c7;--surface-bg: rgba(255, 255, 255, .8);--surface-border: rgba(0, 0, 0, .08);--sidebar-bg: #ffffff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;overflow-x:hidden}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:none;color:var(--accent-color)}button{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:10px 20px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;font-family:Outfit,sans-serif;transition:all .2s ease;box-shadow:0 4px 12px #5865f233}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #5865f266}button:disabled{background:var(--surface-bg);border-color:var(--surface-border);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}input[type=text],input[type=password],input[type=email],textarea,select{background-color:#0003;color:var(--text-color);border:1px solid var(--surface-border);padding:12px 16px;border-radius:var(--radius-md);font-size:1rem;font-family:Outfit,sans-serif;transition:all .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5865f233;background-color:#0000004d}.blur-card,.card{background:var(--surface-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.dashboard-layout{display:flex;min-height:100vh}.main-content{flex-grow:1;padding:20px;margin-left:0;transition:margin-left .3s ease-in-out}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.mode-toggle{background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--text-color)}.dashboard-layout.sidebar-open .sidebar{transform:translate(0)}.dashboard-layout.sidebar-open:after{content:"";position:fixed;inset:0;background:#0006;z-index:1040;transition:opacity .3s ease-in-out}@media(min-width:993px){.dashboard-layout.sidebar-open:after{content:none}.dashboard-layout.sidebar-open .sidebar{transform:translate(0);box-shadow:2px 0 5px #0003;z-index:1000}.dashboard-layout.sidebar-open .main-content{margin-left:250px}.dashboard-layout.sidebar-closed .sidebar{transform:translate(-100%)}.dashboard-layout.sidebar-closed .main-content{margin-left:0}}@media(max-width:992px){.dashboard-layout.sidebar-open .sidebar{transform:translate(0);box-shadow:4px 0 10px #0000004d}.dashboard-layout.sidebar-closed .sidebar{transform:translate(-100%)}.dashboard-layout.sidebar-closed:after{opacity:0;pointer-events:none}.main-content{margin-left:0!important}}@media(max-width:768px){.main-content,.card{padding:15px}.page-header{margin-bottom:20px}.navbar{padding:10px 15px;margin-bottom:15px}.permit-grid{grid-template-columns:1fr;gap:10px}.search-bar{display:flex;flex-direction:column;gap:10px}.search-bar input,.search-bar button{width:100%}}.sidebar{width:250px;background-color:var(--sidebar-bg);color:var(--sidebar-text);padding:20px 0;position:fixed;height:100vh;display:flex;flex-direction:column;box-shadow:2px 0 5px #0003;transform:translate(-100%);transition:transform .3s ease-in-out}.sidebar-header{display:flex;align-items:center;padding:0 20px 20px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.sidebar-avatar{width:50px;height:50px;border-radius:50%;margin-right:15px;object-fit:cover}.sidebar-header .user-info{display:flex;flex-direction:column}.user-username{font-weight:500;color:var(--text-color)}.user-role{font-size:.85rem;color:var(--primary-color)}.sidebar-toggle-btn{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;margin-right:15px;padding:5px;line-height:1;transition:color .2s ease}.sidebar-toggle-btn:hover{background:none;color:var(--primary-color)}.sidebar-nav ul{list-style:none;padding:0}.sidebar-nav li{margin-bottom:5px}.sidebar-nav .nav-item{display:flex;align-items:center;padding:12px 20px;color:var(--sidebar-text);text-decoration:none;transition:background-color .2s ease,color .2s ease}.sidebar-nav .nav-item i{margin-right:10px;font-size:1.1rem}.sidebar-nav .nav-item:hover,.sidebar-nav .nav-item.active{background-color:var(--primary-dark);color:#fff;border-radius:0 5px 5px 0}.sidebar-footer{margin-top:auto;padding:20px;border-top:1px solid var(--border-color)}.navbar{background-color:var(--sidebar-bg);padding:15px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 5px #0003;position:sticky;top:0;z-index:1000;margin-bottom:20px;border-radius:8px}.navbar-left .page-title{font-size:1.5rem;font-weight:700;color:var(--text-color)}.navbar-right{display:flex;align-items:center;gap:15px}.navbar-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.mode-toggle{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--text-color)}.card{background-color:var(--secondary-bg);padding:20px;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-bottom:20px;transition:background-color .3s ease}.card-header{font-size:1.3rem;font-weight:500;margin-bottom:15px;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:10px}.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.permit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.permit-item{display:flex;align-items:center;gap:10px;background-color:var(--bg-darker);padding:15px;border-radius:5px}.permit-item label{font-weight:500}.permit-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-color)}.success{color:#4caf50;font-weight:700;background-color:#4caf501a;padding:10px;border-radius:5px;margin-bottom:15px}.info-list{list-style:none;padding:0}.info-list li{padding:10px 0;border-bottom:1px solid var(--border-color);font-size:1.1rem}.info-list li:last-child{border-bottom:none}.info-list li strong{display:inline-block;width:150px;color:var(--sidebar-text)}.stat-card{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-top:10px}.error-card{background-color:#dc35451a;border:1px solid #dc3545}.error-card .card-header{color:#dc3545;border-bottom-color:#dc35454d}.stat-card small{font-size:.8em;color:var(--sidebar-text);display:block;margin-top:-5px}.card ul li{padding:5px 0;border-bottom:1px solid var(--border-color)}.card ul li:last-child{border-bottom:none}.chart-card{position:relative;padding-bottom:20px}
