:root{--primary-dark:#0277bd;--primary-main:#0288d1;--primary-light:#0396d6;--primary-lighter:#b3e5fc;--primary-lightest:#e1f5fe;--secondary-white:#fff;--secondary-light-gray:#f5f5f5;--secondary-medium-gray:#eee;--secondary-dark-gray:#757575;--secondary-text:#424242;--accent-success:#2e7d32;--accent-warning:#f57c00;--accent-error:#d32f2f;--accent-info:#00bcd4;--dark-navy:#01579b;--light-blue:#e3f2fd;--ultra-light:#f8fbfd;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 8px 24px #0003;--shadow-primary-sm:0 2px 8px #0288d11a;--shadow-primary-md:0 4px 12px #0288d133;--shadow-primary-lg:0 8px 24px #0288d14d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--spacing-4xl:40px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:0.2s ease-in-out;--transition-base:0.3s ease-in-out;--transition-slow:0.5s ease-in-out;--font-xs:12px;--font-sm:14px;--font-base:16px;--font-lg:18px;--font-xl:20px;--font-2xl:24px;--font-3xl:28px;--font-4xl:32px}@media (prefers-color-scheme:dark){:root{--secondary-white:#121212;--secondary-light-gray:#1e1e1e;--secondary-medium-gray:#2a2a2a;--secondary-dark-gray:#bdbdbd;--secondary-text:#e0e0e0}}*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100%;width:100%}body{color:var(--secondary-text);font-size:var(--font-base);line-height:1.6}.loading,body{background:var(--secondary-white)}.loading{align-items:center;color:var(--primary-main);display:flex;font-size:var(--font-lg);height:100vh;justify-content:center}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-content{background:#e1f5fe;flex:1 1}.auth-layout{min-height:100vh}.auth-content{align-items:center;display:flex;flex:1 1;justify-content:center;width:100%}.app-content .login-container{background:none!important;padding:0!important}.app-footer{background:linear-gradient(135deg,#0288d1,#0277bd);color:#fff!important;font-size:12px;padding:14px 0;text-align:center;width:100%}.app-footer p{color:#fff!important;margin:0}.auth-footer{background:#0000;color:#fff;font-weight:700}.container{max-width:1200px;width:100%}.container,.page{padding:var(--spacing-xl)}.page{animation:pageLoad .3s ease-in-out}@keyframes pageLoad{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--secondary-white);border:1px solid var(--primary-lighter);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-primary-md)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-md)}.form-group input,.form-group select,.form-group textarea{background:var(--ultra-light);border:2px solid var(--primary-lighter);border-radius:var(--radius-sm);color:var(--secondary-text);font-family:inherit;font-size:var(--font-base);padding:var(--spacing-lg) var(--spacing-md);transition:all var(--transition-fast);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--secondary-white);border-color:var(--primary-main);box-shadow:0 0 0 3px #0288d126;outline:none}.form-group textarea{font-family:inherit;min-height:120px;resize:vertical}.form-group small{display:block;margin-top:var(--spacing-sm)}.btn{border-radius:var(--radius-sm);display:inline-block;font-size:var(--font-sm);letter-spacing:.5px;padding:var(--spacing-lg) var(--spacing-xl);text-align:center;text-decoration:none;transition:all var(--transition-base)}.btn-primary{background:var(--primary-main);border:2px solid var(--primary-main);color:var(--secondary-white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:var(--shadow-primary-md);transform:translateY(-2px)}.btn-secondary{background:var(--dark-navy);border:2px solid var(--dark-navy);color:var(--secondary-white)}.btn-secondary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:var(--shadow-primary-md)}.btn-danger{border:2px solid var(--accent-error)}.btn-danger:hover:not(:disabled){background:#c62828;border-color:#c62828;box-shadow:0 4px 12px #d32f2f4d}.btn-warning{border:2px solid var(--accent-warning)}.btn-warning:hover:not(:disabled){background:#e65100;border-color:#e65100;box-shadow:0 4px 12px #f57c004d}.btn-success{background:var(--accent-success);border:2px solid var(--accent-success);color:var(--secondary-white)}.btn-success:hover:not(:disabled){background:#1b5e20;border-color:#1b5e20;box-shadow:0 4px 12px #2e7d324d}.btn-info{border:2px solid var(--accent-info)}.btn-info:hover:not(:disabled){background:#0097a7;border-color:#0097a7;box-shadow:0 4px 12px #00bcd44d}.btn-outline{background:#0000;border:2px solid var(--primary-main);color:var(--primary-main)}.btn-outline:hover:not(:disabled){background:var(--primary-lightest);border-color:var(--primary-dark);color:var(--primary-dark)}.btn-block{display:block;text-align:center;width:100%}.btn-small{font-size:var(--font-xs);padding:var(--spacing-md) var(--spacing-lg)}.btn-large{font-size:var(--font-lg);min-height:48px;min-width:120px;padding:var(--spacing-xl) var(--spacing-2xl)}.alert{align-items:center;animation:slideDown .3s ease-in-out;border-radius:var(--radius-sm);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.alert-success{color:#1b5e20}.alert-error{border-left-color:var(--accent-error);color:#b71c1c}.alert-warning{border-left-color:var(--accent-warning)}.alert-info{background:#e0f2f1;border-left-color:var(--accent-info);color:#00695c}.table{background:var(--secondary-white);border:1px solid var(--primary-lighter);border-collapse:collapse;border-radius:var(--radius-md);margin-top:var(--spacing-xl);overflow:hidden;width:100%}.table thead{background:var(--light-blue)}.table th{border-bottom:2px solid var(--primary-lighter);color:var(--dark-navy);font-weight:600;text-align:left}.table td,.table th{font-size:var(--font-sm);padding:var(--spacing-lg) var(--spacing-md)}.table td{border-bottom:1px solid var(--primary-lighter);color:var(--secondary-text)}.table tbody tr:hover{background:var(--ultra-light)}.table tbody tr:last-child td{border-bottom:none}h1,h2,h3,h4,h5,h6{color:var(--dark-navy);font-weight:600;line-height:1.3;margin-bottom:var(--spacing-lg)}h1{font-size:var(--font-4xl);margin-bottom:var(--spacing-xl)}h2{font-size:var(--font-3xl);margin-bottom:var(--spacing-lg)}h3{font-size:var(--font-2xl)}h3,h4{margin-bottom:var(--spacing-md)}h4{font-size:var(--font-lg)}h5{font-size:var(--font-base)}h5,h6{margin-bottom:var(--spacing-sm)}h6{font-size:var(--font-sm)}p{color:var(--secondary-text);line-height:1.6;margin-bottom:var(--spacing-lg)}a{color:var(--primary-main);font-weight:500;text-decoration:none;transition:all var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-muted{color:var(--secondary-dark-gray)}.text-primary{color:var(--primary-main)}.text-secondary{color:var(--dark-navy)}.text-error{color:var(--accent-error)}.text-success{color:var(--accent-success)}.text-warning{color:var(--accent-warning)}.mt{margin-top:var(--spacing-lg)}.mb{margin-bottom:var(--spacing-lg)}.ml{margin-left:var(--spacing-lg)}.mr{margin-right:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.mt-lg{margin-top:var(--spacing-2xl)}.mb-lg{margin-bottom:var(--spacing-2xl)}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.flex-column{flex-direction:column}.gap{gap:var(--spacing-lg)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-2xl)}@media (max-width:479px){:root{--font-xs:11px;--font-sm:13px;--font-base:14px;--font-lg:16px;--font-xl:18px;--font-2xl:20px;--font-3xl:24px}.container{max-width:100%}.card,.container,.page{padding:var(--spacing-lg) var(--spacing-md)}.card{margin-bottom:var(--spacing-lg)}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}.btn{font-size:var(--font-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md);width:100%}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:var(--spacing-md) var(--spacing-sm)}.table{font-size:var(--font-xs)}.table td,.table th{padding:var(--spacing-md) var(--spacing-sm)}.alert{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}}@media (min-width:480px) and (max-width:768px){:root{--font-xs:12px;--font-sm:13px;--font-base:15px;--font-lg:17px}.container{padding:var(--spacing-lg)}.page{padding:var(--spacing-xl) var(--spacing-lg)}.btn{width:auto}.btn-block{width:100%}}@media (min-width:769px) and (max-width:1024px){.container{padding:var(--spacing-xl)}}@media (min-width:1025px) and (max-width:1280px){.container{max-width:1000px}}@media (min-width:1281px){.container{max-width:1200px}}@media (max-height:600px) and (orientation:landscape){.card,.page{padding:var(--spacing-lg) var(--spacing-md)}.card,h1{margin-bottom:var(--spacing-md)}h1{font-size:20px}h2{font-size:18px}.btn{padding:var(--spacing-md) var(--spacing-lg)}}@media (hover:none) and (pointer:coarse){.btn,a,button,input[type=button],input[type=checkbox],input[type=radio],input[type=submit]{min-height:44px;min-width:44px}.form-group input,.form-group select,.form-group textarea{min-height:44px}}@media print{.alert,.app-footer,.btn,.navbar,button{display:none!important}.container,.page{padding:0}.card{border:1px solid #ccc;box-shadow:none;page-break-inside:avoid}body{background:var(--secondary-white)}.auth-content,.auth-layout{min-height:100vh}.auth-content{display:flex;flex:1 1;width:100%}.auth-footer{background:#0288d1;color:#000;font-weight:800;margin-top:0}.modal-content .input-with-icon{position:relative}.modal-content .input-with-icon input{padding-right:40px!important}.modal-content .password-toggle{cursor:pointer;font-size:16px;position:absolute;right:10px;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}}@media (max-width:479px){:root{--spacing-xs:3px;--spacing-sm:6px;--spacing-md:10px;--spacing-lg:12px;--spacing-xl:16px;--spacing-2xl:20px;--spacing-3xl:24px;--spacing-4xl:32px}.container{max-width:100%}.card,.container,.page{padding:var(--spacing-lg) var(--spacing-md)}.card{border-radius:var(--radius-md)}.card,h1{margin-bottom:var(--spacing-lg)}h1{font-size:24px!important}h2{font-size:20px!important;margin-bottom:var(--spacing-md)}h3{font-size:18px!important}h3,h4,h5,h6{margin-bottom:var(--spacing-sm)}h4,h5,h6{font-size:16px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{font-size:var(--font-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius-sm);font-size:16px;padding:12px var(--spacing-md)}.btn{font-size:var(--font-sm);letter-spacing:.3px;margin-bottom:var(--spacing-md);min-height:44px;padding:var(--spacing-lg) var(--spacing-md)}.btn,.btn-block{width:100%}.btn-small{font-size:12px;padding:10px 12px}.btn-large{font-size:14px;padding:12px 16px}.table{font-size:12px}.table td,.table th{border-bottom:1px solid var(--primary-lighter);padding:var(--spacing-md)}.table th{font-size:11px}.grid,.menu-grid,.stats-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.menu-card,.stat-card{padding:var(--spacing-lg)}.stat-number{font-size:28px}.menu-icon{font-size:36px;height:56px;width:56px}.info-box{padding:var(--spacing-lg) var(--spacing-md)}.info-box h3{font-size:16px}.info-box li{font-size:14px;padding:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.alert{flex-direction:column;font-size:13px;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md)}.badge{font-size:10px;padding:3px 6px}.admin-card,.form-container,.user-card{padding:var(--spacing-lg) var(--spacing-md)}.edit-actions,.user-actions{flex-direction:column;gap:var(--spacing-md)}.edit-actions button,.user-actions button{font-size:12px;padding:10px;width:100%}.admin-tabs{flex-wrap:wrap;gap:var(--spacing-sm)}.tab-button{flex:1 1;font-size:12px;min-width:140px;padding:10px 12px}.search-box input,.search-input{font-size:16px!important;padding:12px var(--spacing-md)}.pagination{flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.pagination-info{font-size:12px;text-align:center;width:100%}.pagination button{flex:0 1 auto;font-size:12px;padding:10px 12px}.btn-show-password,a{align-items:center;display:inline-flex;min-height:44px}.mt{margin-top:var(--spacing-md)}.mb{margin-bottom:var(--spacing-md)}.ml{margin-left:var(--spacing-md)}.mr{margin-right:var(--spacing-md)}.mt-sm{margin-top:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.mt-lg{margin-top:var(--spacing-xl)}.mb-lg{margin-bottom:var(--spacing-xl)}.flex-between{align-items:flex-start;flex-direction:column}.gap{gap:var(--spacing-md)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}}@media (min-width:480px) and (max-width:768px){.container{max-width:100%;padding:var(--spacing-lg)}.page{padding:var(--spacing-xl) var(--spacing-lg)}.card{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}h1{font-size:28px!important}h2{font-size:24px!important}h3{font-size:20px!important}.btn{font-size:var(--font-sm);padding:var(--spacing-lg);width:auto}.btn-block{width:100%}.table{font-size:13px}.table td,.table th{padding:var(--spacing-lg) var(--spacing-md)}.menu-grid,.stats-grid{gap:var(--spacing-lg)}.grid,.menu-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.menu-icon{font-size:40px}.form-group input,.form-group select,.form-group textarea{font-size:15px;padding:12px var(--spacing-md)}}@media (min-width:769px) and (max-width:1024px){.container{max-width:100%}.container,.page{padding:var(--spacing-xl)}.menu-grid,.stats-grid{gap:var(--spacing-xl);grid-template-columns:repeat(3,1fr)}h1{font-size:32px}h2{font-size:28px}}@media (min-width:1025px) and (max-width:1280px){.container{max-width:1000px;padding:var(--spacing-xl)}.menu-grid,.stats-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1281px){.container{max-width:1200px;padding:var(--spacing-xl)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}h1{font-size:36px}h2{font-size:32px}}@media (max-height:600px) and (orientation:landscape){.card,.login-card,.page{padding:var(--spacing-lg) var(--spacing-md)}h1{font-size:20px!important}h2{font-size:18px!important}h3{font-size:16px!important}.menu-grid,.stats-grid{gap:var(--spacing-md)}.menu-card,.stat-card{padding:var(--spacing-lg)}.stat-number{font-size:22px}.btn{font-size:12px;padding:var(--spacing-md) var(--spacing-lg)}.navbar-container{height:60px}.app-footer{font-size:10px;padding:var(--spacing-lg)}}@media (hover:none) and (pointer:coarse){.btn,a,button,input[type=button],input[type=checkbox],input[type=radio],input[type=submit]{min-height:44px;min-width:44px}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px}.btn:active,a:active,button:active{opacity:.8}.menu-card:active{box-shadow:var(--shadow-primary-lg)}}@media print{.alert,.app-footer,.btn,.navbar,button{display:none!important}.container,.page{padding:0}.card{border:1px solid #ccc;box-shadow:none;page-break-inside:avoid}body{background:#fff}h1,h2,h3{page-break-after:avoid}p{orphans:3;widows:3}table{page-break-inside:avoid}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--ultra-light)}::-webkit-scrollbar-thumb{background:var(--primary-lighter);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-main)}html{scroll-behavior:smooth}*{transition:background-color .3s ease,border-color .3s ease}.login-container{align-items:center;background:linear-gradient(135deg,#0288d1,#0277bd);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card,.login-container{box-sizing:border-box;width:100%}.login-card{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 4px 20px #0288d133;max-width:450px;padding:36px 40px}.login-card h1{color:#01579b;font-size:28px;margin:0 0 10px;text-align:center}.login-card h2{color:#0288d1;font-size:22px;font-weight:500;margin:0 0 26px;text-align:center}.login-card .form-group{margin-bottom:18px}.login-card .form-group label{color:#01579b;display:block;font-weight:600;margin-bottom:8px}.input-with-icon{align-items:center;display:flex;position:relative;width:100%}.input-with-icon input{border:1px solid #b3e5fc;border-radius:4px;box-sizing:border-box;font-size:14px;padding:12px 42px!important;text-transform:none!important;width:100%}.input-icon{left:12px;opacity:.75;pointer-events:none}.input-icon,.password-toggle{font-size:16px;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.password-toggle{cursor:pointer;right:12px;-webkit-user-select:none;user-select:none}.login-card .form-group input:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.login-card .checkbox{margin:18px 0 20px}.login-card .checkbox label{align-items:center;color:#01579b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;margin:0}.login-card .checkbox input[type=checkbox]{accent-color:#0288d1;height:18px;margin:0;min-width:18px;width:18px}.login-card button[type=submit]{align-items:center;background:#0288d1;border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;padding:12px;width:100%}.login-card button[type=submit]:hover:not(:disabled){background:#0277bd;box-shadow:0 4px 12px #0288d14d}.login-card button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.login-footer{color:#666;font-size:14px;margin:20px 0 0;text-align:center}.login-footer a{color:#0288d1;font-weight:600;text-decoration:none}.login-copyright{color:#777!important;font-size:10px!important;font-weight:400!important;line-height:1.3!important;margin:8px 0 0!important;text-align:center!important}@media (max-width:480px){.login-container{padding:14px}.login-card{padding:26px 22px}.login-card h1{font-size:24px}.login-card h2{font-size:20px;margin-bottom:22px}.input-with-icon input{font-size:16px}}.change-password-page{align-items:center;background:linear-gradient(135deg,#0288d1,#0277bd);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px;width:100%}.change-password-card{background:#fff;border-radius:12px;border-top:4px solid #0288d1;box-shadow:0 4px 20px #0288d133;box-sizing:border-box;max-width:450px;padding:36px 40px;width:100%}.change-password-icon{font-size:42px;margin-bottom:16px;text-align:center}.change-password-card h1{color:#01579b;font-size:26px;margin:0 0 10px;text-align:center}.change-password-card .subtitle{color:#555;font-size:14px;margin-bottom:24px;text-align:center}.change-password-card .form-group{margin-bottom:18px}.change-password-card label{color:#01579b;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.password-field{align-items:center;display:flex;position:relative}.password-field input{border:1px solid #b3e5fc;border-radius:4px;box-sizing:border-box;font-size:14px;height:44px;padding:0 42px 0 12px;width:100%}.password-field input:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.show-password-btn{background:#0000!important;border:none!important;cursor:pointer;font-size:16px;height:32px!important;margin:0!important;max-width:32px!important;min-width:32px!important;padding:0!important;position:absolute!important;right:10px;top:50%;transform:translateY(-50%);width:32px!important}.password-hint{color:#777;display:block;font-size:12px;font-style:italic;margin-top:6px}.password-strength{font-size:13px;margin-top:8px}.password-strength.weak{color:#c62828}.password-strength.medium{color:#ef6c00}.password-strength.strong{color:#2e7d32}.match-ok{color:#2e7d32}.match-error,.match-ok{display:block;font-size:13px;margin-top:6px}.match-error{color:#c62828}.change-password-submit{background:#0288d1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;height:46px;margin-top:10px;width:100%}.change-password-submit:hover{background:#0277bd}.change-password-submit:disabled{cursor:not-allowed;opacity:.6}.password-warning{background:#e1f5fe;border-left:4px solid #0288d1;border-radius:6px;color:#01579b;font-size:13px;margin-top:20px;padding:14px}@media (max-width:480px){.change-password-card{padding:26px 22px}.change-password-card h1{font-size:22px}}.auth-page{width:100%}.auth-links{margin-top:20px;text-align:center}.auth-links p{color:#666;font-size:14px}.auth-links a{color:#0288d1;font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-box .btn,.auth-box .btn-primary,.auth-box button[type=submit]{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.auth-box button[type=submit]{font-weight:700}.auth-page{background:linear-gradient(135deg,#e1f5fe,#b3e5fc)}.auth-container{max-width:450px;padding:20px;width:100%}.auth-box{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 4px 20px #0288d133;padding:40px}.auth-box h1{color:#01579b;font-size:28px;margin-bottom:10px}.subtitle{font-size:14px}.btn,.form-group input{padding:12px}.btn{font-size:16px;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #0288d14d}.alert{font-size:14px}.auth-page{align-items:center;background:linear-gradient(135deg,#0288d1,#0277bd);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0288d133;max-width:400px;padding:40px;width:100%}.auth-card h1{color:#01579b;font-size:28px;margin-bottom:20px;text-align:center}.auth-card h2{color:#0288d1;font-size:20px;margin-bottom:30px;text-align:center}.auth-card form{margin-bottom:20px}.auth-link{color:#666;font-size:14px;text-align:center}.auth-link a{color:#0288d1;font-weight:500;text-decoration:none}.auth-link a:hover{text-decoration:underline}.logo-container{margin-bottom:20px;text-align:center}.logo-container img{height:80px;width:80px}.dashboard-header{margin-bottom:var(--spacing-3xl);text-align:center}.dashboard-header h1{color:var(--dark-navy);font-size:var(--font-4xl);font-weight:700;margin:0 0 var(--spacing-md) 0}.subtitle-text{color:var(--primary-main);font-size:var(--font-lg);font-weight:500}.stats-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-4xl)}.stat-card{background:linear-gradient(135deg,var(--light-blue) 0,var(--primary-lighter) 100%);border-left:5px solid var(--primary-main);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);padding:var(--spacing-2xl);text-align:center;transition:all var(--transition-base)}.stat-card:hover{border-left-color:var(--primary-dark);box-shadow:var(--shadow-primary-md);transform:translateY(-6px)}.stat-card h3{color:var(--dark-navy);font-size:var(--font-sm);letter-spacing:1px;margin-bottom:var(--spacing-lg);margin-top:0;text-transform:uppercase}.stat-number{color:var(--primary-dark);font-family:Courier New,monospace;font-size:42px;font-weight:700;margin:var(--spacing-lg) 0}.stat-label{color:var(--primary-main);font-size:var(--font-xs);letter-spacing:.5px;margin:0;text-transform:uppercase}.stat-card.alert-warning{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left-color:var(--accent-warning)}.stat-card.alert-warning h3{color:#e65100}.stat-card.alert-warning .stat-number{color:var(--accent-warning)}.stat-card.alert-warning .stat-label{color:#e65100}.stat-card.alert-error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left-color:var(--accent-error)}.stat-card.alert-error .stat-number,.stat-card.alert-error h3{color:var(--accent-error)}.stat-card.alert-success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left-color:var(--accent-success)}.stat-card.alert-success h3{color:#1b5e20}.stat-card.alert-success .stat-number{color:var(--accent-success)}.section-title{color:var(--dark-navy);font-size:var(--font-3xl);font-weight:700;margin:var(--spacing-4xl) 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-lg);position:relative}.section-title:after{background:linear-gradient(90deg,var(--primary-main) 0,var(--primary-lighter) 100%);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.menu-grid{grid-gap:var(--spacing-xl);gap:var(--spacing-xl);margin-bottom:var(--spacing-4xl)}.menu-card{align-items:center;background:var(--secondary-white);border-radius:var(--radius-md);border-top:4px solid var(--primary-main);box-shadow:var(--shadow-primary-sm);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);transition:all var(--transition-base)}.menu-card:hover{border-top-color:var(--primary-dark);box-shadow:var(--shadow-primary-md);transform:translateY(-8px)}.menu-card.admin-card{background:linear-gradient(135deg,#0288d10d,#0288d105)}.menu-card.highlight-card{background:linear-gradient(135deg,var(--light-blue) 0,var(--primary-lighter) 100%);border-top:4px solid var(--accent-warning);box-shadow:var(--shadow-primary-md)}.menu-card.highlight-card:hover{box-shadow:0 8px 25px #f57c004d}.menu-card.highlight-card h3{font-weight:700}.menu-card.highlight-card p{color:var(--accent-warning);font-weight:600}.menu-icon{align-items:center;background:var(--light-blue);border-radius:50%;display:flex;height:70px;justify-content:center;margin-bottom:var(--spacing-lg);transition:all var(--transition-base);width:70px}.menu-card:hover .menu-icon{background:var(--primary-lightest);transform:scale(1.1)}.menu-card h3{color:var(--dark-navy);font-size:var(--font-lg);font-weight:700;margin:0 0 var(--spacing-md) 0}.menu-card p{color:var(--primary-main);font-size:var(--font-sm);font-weight:500}.info-box{margin-top:var(--spacing-3xl);padding:var(--spacing-2xl)}.info-box ul{list-style:none;margin:0;padding:0}.info-box li{color:var(--primary-dark);padding:var(--spacing-md) 0;padding-left:var(--spacing-2xl);position:relative}.info-box li:before{color:var(--primary-main);content:"✓";font-size:18px;font-weight:700;left:0;position:absolute}@media (max-width:1024px){.stats-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-grid{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:32px}}@media (max-width:768px){.dashboard-header h1{font-size:28px}.stats-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.stat-card{padding:var(--spacing-xl)}.stat-number{font-size:28px}.menu-grid{grid-template-columns:1fr}.menu-card{padding:var(--spacing-xl)}.menu-icon{font-size:32px;height:60px;width:60px}.section-title{font-size:22px;margin:var(--spacing-2xl) 0 var(--spacing-lg) 0}.info-box{padding:var(--spacing-xl)}}@media (max-width:480px){.dashboard-header{margin-bottom:var(--spacing-2xl);text-align:center}.dashboard-header h1{font-size:24px;margin-bottom:var(--spacing-sm)}.subtitle-text{font-size:var(--font-base)}.stats-grid{gap:var(--spacing-md)}.stat-card{padding:var(--spacing-lg)}.stat-card h3{font-size:11px;margin-bottom:var(--spacing-md)}.stat-number{font-size:24px;margin:var(--spacing-md) 0}.stat-label{font-size:10px}.menu-grid{gap:var(--spacing-md)}.menu-card{padding:var(--spacing-lg) var(--spacing-md)}.menu-icon{font-size:28px;height:50px;margin-bottom:var(--spacing-md);width:50px}.menu-card h3{font-size:var(--font-base);margin-bottom:var(--spacing-sm)}.menu-card p{font-size:11px}.section-title{font-size:20px;margin:var(--spacing-xl) 0 var(--spacing-lg) 0}.info-box{padding:var(--spacing-lg) var(--spacing-md)}.info-box h3{font-size:var(--font-base)}.info-box li{font-size:var(--font-sm);padding:var(--spacing-md) 0;padding-left:var(--spacing-lg)}}@media (max-height:600px) and (orientation:landscape){.dashboard-header{margin-bottom:var(--spacing-xl)}.menu-grid,.stats-grid{gap:var(--spacing-md)}.menu-card,.stat-card{padding:var(--spacing-lg)}.stat-number{font-size:24px}.menu-icon{font-size:28px;height:50px;margin-bottom:var(--spacing-sm);width:50px}}.dashboard-header{margin-bottom:30px}.dashboard-header h1{color:#01579b;font-size:32px;margin:0 0 10px}.subtitle-text{color:#0288d1;font-size:16px;margin:0}.apartment-card{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-left:4px solid #0288d1;border-radius:8px;margin-bottom:30px;padding:25px}.apartment-card h3{color:#01579b;margin-bottom:20px;margin-top:0}.apartment-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-row{background:#fff;border-radius:6px;display:flex;flex-direction:column;gap:5px;padding:15px}.detail-row .label{color:#01579b;font-size:12px;font-weight:600;text-transform:uppercase}.detail-row .value{color:#333;font-size:14px}.detail-row .code{background:#f0f0f0;border-radius:3px;font-family:monospace;font-weight:500;padding:4px 8px}.section-title{color:#01579b;font-size:24px;margin:40px 0 20px}.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-card{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 2px 8px #0288d11a;padding:25px;text-align:center;text-decoration:none;transition:all .3s}.menu-card:hover{border-top-color:#0277bd;box-shadow:0 6px 20px #0288d133;transform:translateY(-5px)}.menu-card.highlight-card{background:linear-gradient(135deg,#e3f2fd,#b3e5fc);border-top:4px solid #ff6f00;box-shadow:0 4px 15px #ff6f0033}.menu-card.highlight-card:hover{border-top-color:#e65100;box-shadow:0 8px 25px #ff6f004d}.menu-card.highlight-card h3{color:#e65100;font-weight:600}.menu-icon{font-size:48px;margin-bottom:15px}.menu-card h3{color:#01579b;font-size:18px;margin:0 0 8px}.menu-card p{color:#0288d1;display:none;font-size:13px;margin:0}@media (max-width:1024px){.dashboard-header h1{font-size:28px}.apartment-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.menu-card{padding:20px}.menu-icon{font-size:40px}}@media (max-width:768px){.dashboard-header{margin-bottom:20px}.dashboard-header h1{font-size:24px;margin-bottom:8px}.subtitle-text{font-size:14px}.apartment-card{margin-bottom:20px;padding:18px}.apartment-card h3{font-size:18px;margin-bottom:15px}.apartment-details{gap:12px;grid-template-columns:1fr}.detail-row{gap:4px;padding:12px}.detail-row .label{font-size:11px}.detail-row .value{font-size:13px}.section-title{font-size:20px;margin:30px 0 15px}.menu-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.menu-card{border-radius:6px;padding:18px 12px}.menu-card:hover{transform:translateY(-3px)}.menu-icon{font-size:36px;margin-bottom:10px}.menu-card h3{font-size:15px;margin-bottom:6px}.menu-card p{font-size:12px}}@media (max-width:430px){.dashboard-header{margin-bottom:15px}.dashboard-header h1{font-size:20px;margin-bottom:6px}.subtitle-text{font-size:12px}.apartment-card{border-radius:6px;margin-bottom:15px;padding:15px}.apartment-card h3{font-size:16px;margin-bottom:12px}.apartment-details{gap:10px;grid-template-columns:1fr}.detail-row{gap:3px;padding:10px}.detail-row .label{font-size:10px}.detail-row .value{font-size:12px;word-break:break-word}.section-title{font-size:18px;margin:25px 0 12px}.menu-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.menu-card{border-radius:6px;padding:15px 10px}.menu-card:hover{transform:translateY(-2px)}.menu-icon{font-size:32px;margin-bottom:8px}.menu-card h3{font-size:13px;margin-bottom:4px}.menu-card p{font-size:11px;line-height:1.3}}@media (orientation:portrait) and (max-width:768px){.apartment-details{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}@media (orientation:landscape) and (max-height:500px){.apartment-card,.dashboard-header{margin-bottom:15px}.apartment-card{padding:15px}.menu-icon{font-size:32px}.menu-card h3{font-size:14px}}.search-box{margin-bottom:20px}.search-box input{background:#f8fbfd;border:2px solid #b3e5fc;border-radius:6px;font-size:14px;padding:12px;transition:all .3s;width:100%}.search-box input:focus{background:#fff;border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.code{color:#01579b;font-weight:600}.wifi-ssid{background:#e1f5fe;border-radius:3px;color:#0277bd;font-family:monospace;font-size:12px;padding:4px 8px}.notes{color:#666;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{margin-top:20px}.pagination button{font-weight:500;transition:all .3s}.pagination button:hover:not(:disabled){box-shadow:0 4px 12px #0288d14d}.pagination button:disabled{background:#b3e5fc;color:#01579b}.page-info{color:#0288d1}.twofa-container{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 2px 8px #0288d11a;margin:40px auto;max-width:500px;padding:30px}.twofa-step h2{color:#01579b}.twofa-step h2,.twofa-step p{margin-bottom:20px;text-align:center}.twofa-step p{color:#666;line-height:1.6}.qr-container{background:#f8fbfd;border:2px solid #b3e5fc;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.qr-code{background:#fff;border:2px solid #0288d1;border-radius:4px;height:250px;padding:10px;width:250px}.secret-box{background:#e1f5fe;border-left:4px solid #0288d1;border-radius:4px;margin-bottom:20px;padding:15px}.secret-box label{color:#01579b;display:block;font-weight:500;margin-bottom:8px}.secret-box code{background:#fff;border:1px solid #0288d1;border-radius:4px;color:#0277bd;display:block;font-family:monospace;font-size:14px;margin-bottom:8px;padding:10px;word-break:break-all}.secret-box small{color:#0277bd;display:block;font-size:12px}.twofa-step.success h2{color:#2e7d32}.success-tips{background:#c8e6c9;border-left:4px solid #2e7d32;border-radius:4px;margin-top:20px;padding:20px}.success-tips h3{color:#1b5e20;font-size:16px;margin-bottom:10px}.success-tips ul{list-style:none;padding:0}.success-tips li{color:#1b5e20;padding:8px 0 8px 20px;position:relative}.success-tips li:before{content:"✓ ";font-weight:700;left:0;position:absolute}.admin-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--primary-lighter);display:flex;gap:var(--spacing-md);margin:var(--spacing-xl) 0;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:var(--primary-main);cursor:pointer;font-size:var(--font-sm);font-weight:600;letter-spacing:.5px;padding:var(--spacing-lg) var(--spacing-xl);text-transform:uppercase;transition:all var(--transition-base);white-space:nowrap}.tab-button.active{background:#0288d10d;border-bottom-color:var(--primary-dark);color:var(--primary-dark)}.tab-button:hover{background:#0288d114;color:var(--primary-dark)}.admin-section{background:var(--secondary-white);border-radius:var(--radius-md);border-top:4px solid var(--primary-main);box-shadow:var(--shadow-primary-sm);padding:var(--spacing-xl)}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl)}.admin-header h2{color:var(--dark-navy);font-size:var(--font-2xl);margin:0}.users-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{background:linear-gradient(135deg,var(--light-blue) 0,var(--primary-lighter) 100%);border-left:4px solid var(--primary-main);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);padding:var(--spacing-xl);transition:all var(--transition-base)}.user-card:hover{border-left-color:var(--primary-dark);box-shadow:var(--shadow-primary-md);transform:translateY(-4px)}.user-info h4{color:var(--dark-navy);font-size:var(--font-lg);font-weight:700;margin:0 0 var(--spacing-md) 0}.user-meta{color:var(--secondary-dark-gray);flex-wrap:wrap;font-size:var(--font-xs);gap:var(--spacing-lg)}.user-actions,.user-meta{display:flex;margin-top:var(--spacing-lg)}.user-actions{border-top:1px solid #0288d133;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg)}.role-select{background:var(--secondary-white);border:2px solid var(--primary-main);border-radius:var(--radius-sm);color:var(--dark-navy);cursor:pointer;font-size:var(--font-sm);font-weight:600;padding:var(--spacing-md);transition:all var(--transition-base)}.role-select:focus{border-color:var(--primary-dark);box-shadow:0 0 0 3px #0288d126;outline:none}.form-container{background:var(--secondary-white);border:2px solid var(--primary-lighter);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.form-container h3{color:var(--dark-navy);font-size:var(--font-lg);margin-top:0}.form-container form{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-container .form-group{margin-bottom:0}.form-container button{grid-column:1/-1}.pagination{border-top:2px solid var(--primary-lighter);flex-wrap:wrap;gap:var(--spacing-lg);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl)}.pagination-info{color:var(--dark-navy);font-size:var(--font-sm);font-weight:600;min-width:150px;text-align:center}.user-edit-form{background:var(--secondary-white);border:2px solid var(--primary-main);border-radius:var(--radius-sm);box-shadow:var(--shadow-primary-sm);padding:var(--spacing-lg)}.user-edit-form h4{color:var(--dark-navy);font-size:var(--font-sm);font-weight:600;margin:0 0 var(--spacing-md) 0}.form-group-small{margin-bottom:var(--spacing-md)}.form-group-small label{color:var(--dark-navy);display:block;font-size:var(--font-xs);font-weight:600;margin-bottom:var(--spacing-sm)}.form-group-small input{background:var(--ultra-light);border:1px solid var(--primary-lighter);border-radius:var(--radius-sm);box-sizing:border-box;font-size:var(--font-xs);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.form-group-small input:focus{background:var(--secondary-white);border-color:var(--primary-main);outline:none}.edit-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg)}.btn-small{flex:1 1;font-size:var(--font-xs)!important;padding:var(--spacing-md) var(--spacing-lg)!important}.btn-edit{background:var(--primary-main);border:none;border-radius:var(--radius-sm);color:var(--secondary-white);cursor:pointer;font-size:var(--font-xs);font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.btn-edit:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary-md)}.btn-warning{background:var(--accent-warning);border:none;border-radius:var(--radius-sm);color:var(--secondary-white);cursor:pointer;font-size:var(--font-xs);font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.btn-warning:hover{background:#e65100;box-shadow:0 4px 12px #f57c004d}.btn-info{background:var(--accent-info);border:none;border-radius:var(--radius-sm);color:var(--secondary-white);cursor:pointer;font-size:var(--font-xs);font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.btn-info:hover{background:#0097a7;box-shadow:0 4px 12px #00bcd44d}.search-box-users{align-items:center;background:var(--secondary-white);border:2px solid var(--primary-lighter);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.search-input{background:var(--ultra-light);border:2px solid var(--primary-main);border-radius:var(--radius-sm);box-sizing:border-box;font-size:var(--font-base);min-width:150px;padding:var(--spacing-lg) var(--spacing-md)}.search-input:focus{background:var(--secondary-white);border-color:var(--primary-dark);box-shadow:0 0 0 3px #0288d126}.search-results{color:var(--primary-main);font-size:var(--font-sm);font-weight:600;white-space:nowrap}@media (max-width:1024px){.users-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.form-container form{grid-template-columns:1fr}.form-container button{grid-column:1}}@media (max-width:768px){.admin-section{padding:var(--spacing-lg)}.admin-header{align-items:flex-start;flex-direction:column}.admin-tabs{gap:var(--spacing-sm)}.tab-button{font-size:11px;padding:var(--spacing-lg) var(--spacing-md)}.users-grid{grid-template-columns:1fr}.user-card{padding:var(--spacing-lg)}.search-box-users{flex-direction:column;gap:var(--spacing-md)}.search-input{width:100%}.pagination{gap:var(--spacing-md)}}@media (max-width:480px){.admin-section{border-top:3px solid var(--primary-main);padding:var(--spacing-lg) var(--spacing-md)}.admin-header h2{font-size:20px}.admin-tabs{gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.tab-button{font-size:11px;padding:10px var(--spacing-md)}.user-card{padding:var(--spacing-lg) var(--spacing-md)}.user-info h4{font-size:16px}.user-meta{font-size:11px;gap:var(--spacing-md)}.edit-actions,.user-actions{gap:var(--spacing-sm)}.edit-actions button,.user-actions button{font-size:12px;padding:10px;width:100%}.search-box-users{padding:var(--spacing-lg) var(--spacing-md)}.search-input{font-size:16px}.form-container{padding:var(--spacing-lg) var(--spacing-md)}.pagination{flex-direction:column;gap:var(--spacing-md)}.pagination-info{font-size:12px;width:100%}}.wifi-page{margin:0 auto;max-width:1280px;padding:20px 24px 40px}.wifi-header{margin-bottom:22px;text-align:center}.wifi-header h2{color:#005ca8;font-size:28px;margin-bottom:8px}.wifi-header .subtitle{color:#006fd0;font-size:14px}.wifi-toolbar{align-items:center;display:flex;gap:10px;margin-bottom:18px}.wifi-search-input{border:1px solid #79c7ff;border-radius:7px;flex:1 1;font-size:14px;height:42px;padding:0 14px}.wifi-clear-btn{background:#e74c3c;border:none;border-radius:7px;color:#fff;cursor:pointer;font-weight:700;height:42px;min-width:42px}.wifi-toolbar .btn{height:42px;padding:0 16px;white-space:nowrap}.wifi-table-wrapper{background:#fff;border-radius:8px;overflow-x:auto;width:100%}.wifi-table{border-collapse:collapse;font-size:13px;table-layout:fixed;width:100%}.wifi-table th{background:#068aca;color:#fff;font-size:13px;font-weight:700;padding:12px 10px;text-align:left}.wifi-table td{border-bottom:1px solid #d9edf7;overflow:hidden;padding:10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.wifi-table tr:nth-child(2n){background:#f5fbff}.wifi-table tr:hover{background:#eef8ff}.wifi-table td:first-child,.wifi-table th:first-child{font-weight:700;width:90px}.wifi-table td:nth-child(2),.wifi-table th:nth-child(2){width:230px}.wifi-table td:nth-child(3),.wifi-table th:nth-child(3){text-align:center;width:130px}.wifi-table td:nth-child(4),.wifi-table th:nth-child(4){text-align:center;width:95px}.wifi-table td:nth-child(5),.wifi-table th:nth-child(5){text-align:center;width:120px}.wifi-table td:nth-child(6),.wifi-table th:nth-child(6){text-align:center;width:125px}.wifi-table td:nth-child(7),.wifi-table th:nth-child(7){text-align:center;width:150px}.voucher-badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:700;max-width:120px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;white-space:nowrap}.voucher-badge.assigned{background:#d8f5df;color:#007a2f}.voucher-badge.pending{background:#fff2cc;color:#8a6200}.voucher-badge.expired,.voucher-badge.revoked{background:#ffe1df;color:#b52418}.voucher-badge.unassigned{background:#eee;color:#666}.actions-cell{display:flex;gap:6px;white-space:nowrap}.actions-cell,.wifi-action-btn{align-items:center;justify-content:center}.wifi-action-btn{border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;height:30px;width:34px}.wifi-action-btn.edit{background:#058fd3;color:#fff}.wifi-action-btn.cancel{background:#686f77;color:#fff}.wifi-action-btn.save{background:#078fc7;color:#fff}.wifi-action-btn:disabled{cursor:not-allowed;opacity:.45}.wifi-pagination{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:18px}@media (max-width:900px){.wifi-page{padding:16px}.wifi-toolbar{align-items:stretch;flex-direction:column}.wifi-table{min-width:900px}}.pdf-viewer-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.pdf-viewer-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-height:800px;max-width:1000px;overflow:hidden;width:90%}.pdf-viewer-header{align-items:center;background:linear-gradient(135deg,#0288d1,#0277bd);border-bottom:2px solid #0277bd;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.pdf-viewer-header h2{font-size:18px;font-weight:600;margin:0}.pdf-viewer-controls{display:flex;gap:10px}.pdf-btn{background:#fff3;border:1px solid #fff6;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 15px;transition:all .3s}.pdf-btn:hover{background:#ffffff4d;border-color:#fff9}.pdf-viewer-content{background:#f5f5f5;flex:1 1;overflow:auto;padding:10px}.pdf-viewer-content embed{background:#fff;border:1px solid #ddd;border-radius:4px}.pdf-viewer-footer{align-items:center;background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:space-between;padding:12px 20px}.pdf-nav-btn{background:#0288d1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .3s}.pdf-nav-btn:hover{background:#0277bd;transform:translateY(-1px)}.pdf-page-info{color:#666;font-size:13px;font-weight:500}@media (max-width:768px){.pdf-viewer-modal{max-height:85vh;width:95%}.pdf-viewer-header h2{font-size:16px}.pdf-btn,.pdf-nav-btn{font-size:11px;padding:6px 10px}.pdf-viewer-footer{flex-direction:column}}.subtitle{color:#0288d1}.form-container,.subtitle{margin-bottom:30px}.announcements-list{display:flex;flex-direction:column;gap:20px}.announcement-item{background:#fff;border-left:4px solid #0288d1;border-radius:8px;box-shadow:0 2px 8px #0288d11a;padding:20px;transition:all .3s}.announcement-item:hover{box-shadow:0 4px 16px #0288d126}.announcement-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:15px}.announcement-header h3{color:#01579b;font-size:18px;margin:0}.content{color:#555;line-height:1.6;margin:15px 0}.author{color:#999;display:block;font-size:12px;font-style:italic;margin-top:8px}.announcement-photos{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.announcement-photo{border-radius:6px;box-shadow:0 2px 8px #0000001a;cursor:zoom-in;height:150px;object-fit:cover;transition:transform .2s,box-shadow .2s;width:220px}.announcement-photo:hover{box-shadow:0 4px 16px #0000002e;transform:scale(1.03)}@media (max-width:600px){.announcement-header{align-items:flex-start;flex-direction:column}.announcement-photo{height:auto;max-height:260px;width:100%}}.announcement-pdf{margin-top:10px}.announcement-pdf .btn{align-items:center;display:inline-flex;gap:6px}.photo-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.photo-modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;left:50%;max-height:90vh;max-width:90vw;overflow:auto;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}.photo-modal-image{display:block;height:auto;width:100%}.photo-modal-close{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px;z-index:1002}.photo-modal-close:hover{background:#000000e6}@media (max-width:768px){.photo-modal-content{max-height:95vh;max-width:95vw}.photo-modal-close{font-size:20px;height:36px;width:36px}}.filters{align-items:center;background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-left:4px solid #0288d1;border-radius:6px;display:flex;gap:15px;margin-bottom:20px;padding:15px}.filters label{color:#01579b;font-weight:500}.filters select{border:1px solid #0288d1;border-radius:4px;font-size:14px;padding:8px 12px}.reports-list{display:flex;flex-direction:column;gap:20px}.report-item{background:#fff;border-left:4px solid #0288d1;border-radius:8px;box-shadow:0 2px 8px #0288d11a;padding:20px}.report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.report-header h3{color:#01579b;margin:0}.responses{background:#f8fbfd;border-left:3px solid #0277bd;border-radius:6px;margin-top:15px;padding:15px}.responses h4{color:#0277bd;margin-top:0}.response-item{background:#fff;border-radius:4px;margin-bottom:10px;padding:10px}.response-item p{color:#555;margin:0 0 8px}.status{background:#e1f5fe;border-radius:3px;color:#0277bd;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.report-photos{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.report-photo{border-radius:6px;box-shadow:0 2px 8px #0000001a;max-height:200px;max-width:300px;object-fit:cover}.announcements-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.event-card{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-radius:8px;border-top:4px solid #0288d1;padding:20px;transition:all .3s}.event-card:hover{box-shadow:0 6px 20px #0288d133;transform:translateY(-5px)}.event-card h3{color:#01579b;margin-top:0}.event-card p{color:#555;line-height:1.5;min-height:60px}.event-card .author{color:#0277bd;display:block;font-size:12px;margin-bottom:5px}.event-card .date{color:#999;display:block;font-size:11px;font-style:italic}.event-photos{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.event-photo{border-radius:6px;box-shadow:0 2px 8px #0000001a;cursor:zoom-in;max-height:180px;max-width:250px;object-fit:cover;transition:transform .2s,box-shadow .2s}.event-photo:hover{box-shadow:0 4px 16px #0000002e;transform:scale(1.03)}@media (max-width:600px){.event-photo{height:auto;max-height:260px;width:100%}.image-modal{padding:12px}.image-modal-close{right:12px;top:12px}}.categories-tabs{border-bottom:2px solid #e1f5fe;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#0288d1;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .3s}.tab.active{border-bottom-color:#0288d1}.tab.active,.tab:hover{color:#01579b}.form-container{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 2px 8px #0288d11a;margin:18px 0 30px;padding:25px}.announcements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-top:25px}.shop-card{background:#fff;border-radius:8px;border-top:4px solid;box-shadow:0 2px 8px #0288d11a;padding:20px;transition:all .3s}.shop-card:hover{box-shadow:0 4px 16px #0288d126;transform:translateY(-3px)}.shop-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.shop-card h3{color:#01579b;margin-bottom:10px;margin-top:0}.shop-card p{color:#555;line-height:1.5;margin-bottom:15px}.shop-card .author{color:#999;display:block;font-size:12px;font-style:italic;margin-top:8px}.date{color:#0288d1;font-size:12px;white-space:nowrap}.shop-photos{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.shop-photo{border-radius:6px;box-shadow:0 2px 8px #0000001a;cursor:zoom-in;height:150px;object-fit:cover;transition:transform .2s,box-shadow .2s;width:220px}.shop-photo:hover{box-shadow:0 4px 16px #0000002e;transform:scale(1.03)}.shop-pdf{margin-top:12px}.announcement-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn-warning{background:orange!important;color:#fff!important}.btn-warning:hover{background:#ff8c00!important}.btn-danger{background:#e74c3c!important;color:#fff!important}.btn-danger:hover{background:#c0392b!important}.btn-small{font-size:12px!important;padding:6px 12px!important}.edit-form{background:#f5f5f5;border-left:4px solid orange;border-radius:6px;padding:15px}.edit-form h3{color:#333;margin-top:0}.edit-form .form-group{margin-bottom:12px}.edit-form label{color:#555;display:block;font-weight:500;margin-bottom:4px}.edit-form input,.edit-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;padding:8px;width:100%}.edit-actions{display:flex;gap:8px;margin-top:12px}.image-modal{align-items:center;background:#000000db;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.image-modal img{background:#fff;border-radius:8px;box-shadow:0 10px 40px #00000073;max-height:90vh;max-width:94vw;object-fit:contain}.image-modal-close{background:#fff;border:none;border-radius:50%;color:#111;cursor:pointer;font-size:20px;height:38px;position:fixed;right:22px;top:18px;width:38px;z-index:10000}@media (max-width:600px){.categories-tabs{gap:6px}.tab{font-size:13px;padding:10px 12px}.announcements-grid{grid-template-columns:1fr}.shop-card-header{flex-direction:column}.shop-photo{height:auto;max-height:260px;width:100%}}.plates-header{margin-bottom:var(--spacing-3xl);text-align:center}.plates-header h1{color:var(--primary-dark);font-size:var(--font-4xl);font-weight:700;margin:0 0 var(--spacing-md) 0}.plates-header .subtitle{color:var(--primary-main);font-size:var(--font-lg);font-weight:500}.add-plate-card{background:linear-gradient(135deg,var(--light-blue) 0,var(--primary-lighter) 100%);border-left:5px solid var(--primary-main);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-md);margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl)}.add-plate-card h2{color:var(--dark-navy);font-size:var(--font-2xl);margin-bottom:var(--spacing-xl);margin-top:0}.add-plate-form{gap:var(--spacing-lg)}.add-plate-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--spacing-md)}.form-group label{color:var(--dark-navy);font-size:var(--font-sm)}.form-group input{background:var(--secondary-white);border:2px solid var(--primary-main);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:600;letter-spacing:1px;padding:var(--spacing-lg) var(--spacing-md);text-transform:uppercase;transition:all var(--transition-base)}.form-group input:focus{border-color:var(--primary-dark);box-shadow:0 0 0 3px #0288d126}.form-group small{color:var(--secondary-dark-gray);font-size:var(--font-xs)}.plates-list-card{background:var(--secondary-white);border-left:5px solid var(--primary-main);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl)}.plates-list-card h2{color:var(--dark-navy);font-size:var(--font-2xl);margin-bottom:var(--spacing-xl);margin-top:0}.plates-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.plate-card{background:linear-gradient(135deg,var(--ultra-light) 0,var(--light-blue) 100%);border:2px solid var(--primary-lighter);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl);transition:all var(--transition-base)}.plate-card:hover{border-color:var(--primary-main);box-shadow:var(--shadow-primary-md);transform:translateY(-6px)}.plate-display{text-align:center}.plate-number{background:var(--secondary-white);border:3px solid var(--primary-main);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0288d133;color:var(--dark-navy);font-family:Arial Black,Courier New,monospace;font-size:26px;font-weight:700;letter-spacing:2px;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);word-spacing:var(--spacing-lg)}.plate-meta{color:var(--secondary-dark-gray);flex-direction:column;font-size:var(--font-xs)}.plate-meta,.plate-meta span{display:flex;gap:var(--spacing-md)}.plate-meta span{align-items:center;font-weight:500}.btn-danger{background:var(--accent-error);border-radius:var(--radius-sm);color:var(--secondary-white);font-weight:600;padding:var(--spacing-lg) var(--spacing-xl);transition:all var(--transition-base);width:100%}.btn-danger:hover{background:#c62828;box-shadow:0 4px 12px #d32f2f4d;transform:translateY(-2px)}.empty-state{color:var(--secondary-dark-gray);padding:60px var(--spacing-xl)}.empty-icon{font-size:64px;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state p{font-size:var(--font-lg);margin:var(--spacing-md) 0}.info-box{background:var(--light-blue);border-left:4px solid var(--primary-main);border-radius:var(--radius-md);box-shadow:var(--shadow-primary-sm);padding:var(--spacing-xl)}.info-box h3{color:var(--dark-navy);font-size:var(--font-lg);margin-bottom:var(--spacing-lg);margin-top:0}.info-box ul{color:var(--primary-dark);margin:var(--spacing-lg) 0 0 0;padding-left:var(--spacing-xl)}.info-box li{font-weight:500;line-height:1.6;margin-bottom:var(--spacing-lg)}.alert{animation:slideDown .3s ease-out;border-left:4px solid;border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{border-left-color:#c62828}.alert-success{border-left-color:var(--accent-success);color:var(--accent-success)}.alert-warning{background:#fff3e0;border-left-color:#e65100;color:#e65100}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--primary-lighter);border:4px solid var(--primary-lighter);border-radius:50%;border-top-color:var(--primary-main);height:40px;margin:var(--spacing-2xl) auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.plates-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.add-plate-card{padding:var(--spacing-xl)}.add-plate-card h2{font-size:20px;margin-bottom:var(--spacing-lg)}.plates-list-card{padding:var(--spacing-xl)}.plates-list-card h2{font-size:20px}.plates-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.plate-card{padding:var(--spacing-lg)}.plate-number{font-size:22px;padding:var(--spacing-lg) var(--spacing-md)}.info-box{padding:var(--spacing-lg)}.info-box ul{padding-left:var(--spacing-lg)}.info-box li{margin-bottom:var(--spacing-md)}}@media (max-width:480px){.plates-header{margin-bottom:var(--spacing-xl)}.plates-header h1{font-size:24px}.plates-header .subtitle{font-size:var(--font-base)}.add-plate-card{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-md)}.add-plate-card h2{font-size:18px}.add-plate-form{gap:var(--spacing-md)}.form-group input{font-size:16px;padding:12px var(--spacing-md)}.plates-list-card{padding:var(--spacing-lg) var(--spacing-md)}.plates-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.plate-card{padding:var(--spacing-lg) var(--spacing-md)}.plate-number{border:2px solid var(--primary-main);font-size:20px;letter-spacing:1px;padding:var(--spacing-md);word-spacing:var(--spacing-md)}.plate-meta{font-size:11px;gap:var(--spacing-md)}.btn-danger{font-size:14px;padding:12px var(--spacing-lg)}.empty-state{padding:40px var(--spacing-md)}.empty-icon{font-size:48px}.alert,.info-box{padding:var(--spacing-lg) var(--spacing-md)}.alert{font-size:var(--font-sm)}}.admin-plates-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.admin-plates-container h1{border-bottom:3px solid #0288d1;color:#333;margin-bottom:30px;padding-bottom:10px}.alert{font-weight:500;margin-bottom:20px;padding:15px 20px}.alert-success{background-color:#c8e6c9;border-left:4px solid #2e7d32}.alert-error{background-color:#ffcdd2;border-left:4px solid #c62828}.plates-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.search-filters{display:flex;flex:1 1;flex-wrap:wrap;gap:10px;min-width:300px}.search-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:200px;padding:10px 15px;transition:border-color .3s}.search-input:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.btn{align-items:center;display:inline-flex;font-weight:500;gap:5px;padding:10px 20px;transition:all .3s ease}.btn:disabled{opacity:.5}.btn-primary{background-color:#0288d1}.btn-primary:hover:not(:disabled){background-color:#0277bd}.btn-success{background-color:#43a047}.btn-success:hover:not(:disabled){background-color:#388e3c}.btn-danger{background-color:#e53935}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.btn-secondary{background-color:#757575;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#616161}.btn-sm{font-size:12px;padding:6px 12px}.modal-overlay{animation:fadeIn .3s ease;background-color:#00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background-color:#fff;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{border-bottom:2px solid #0288d1;color:#333;padding-bottom:10px}.form-group,.modal-content h2{margin-bottom:20px}.form-group label{color:#333;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.form-actions{justify-content:flex-end;margin-top:30px}.plates-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.loading,.no-data{color:#666;font-size:16px;padding:40px 20px;text-align:center}.plates-table{border-collapse:collapse;width:100%}.plates-table thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.plates-table th{color:#333;font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px 20px;text-align:left;text-transform:uppercase}.plates-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.plates-table tbody tr:hover{background-color:#f9f9f9}.plates-table td{color:#555;font-size:14px;padding:15px 20px}.plate-number{color:#0288d1;font-family:Courier New,monospace;font-size:15px;font-weight:600}.actions{align-items:center;display:flex;gap:10px}.pagination{background-color:#f9f9f9;border-top:1px solid #eee;gap:15px;padding:20px}.page-info{color:#666;font-size:14px;font-weight:500}.summary{background-color:#f9f9f9;border-top:1px solid #eee;padding:15px 20px;text-align:right}.summary p{color:#666;font-size:14px;margin:0}.summary strong{color:#0288d1;font-size:16px}@media (max-width:768px){.admin-plates-container{padding:15px}.plates-header{align-items:stretch}.plates-header,.search-filters{flex-direction:column}.search-input{width:100%}.btn-primary{justify-content:center;width:100%}.plates-table{font-size:12px}.plates-table td,.plates-table th{padding:10px 12px}.modal-content{padding:20px;width:95%}.actions{flex-direction:column}.actions .btn{width:100%}}.apartment-card{background:linear-gradient(135deg,#e3f2fd,#b3e5fc);border-left:6px solid #0288d1;border-radius:12px;box-shadow:0 4px 12px #0288d126;padding:30px}.apartment-header{align-items:center;border-bottom:2px solid #0288d133;display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.apartment-code h2{color:#01579b;font-size:36px;font-weight:700;margin:0}.apartment-code p{margin:5px 0 0}.apartment-info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.info-section{background:#fff;border:1px solid #0288d133;border-radius:8px;padding:18px}.info-section h3{letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.info-section h3,.info-section label{color:#01579b;font-size:14px;font-weight:600}.info-section label{display:block;margin-bottom:8px}.info-value{color:#0277bd;font-size:16px;font-weight:500;margin:0;word-break:break-word}.info-input{border:2px solid #b3e5fc;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.info-input:focus{background:#f1f8ff;border-color:#0288d1;outline:none}.voucher-box{background:#fff3e0;border:2px dashed #ff9800;border-radius:6px;padding:15px;text-align:center}.voucher-code{color:#e65100;font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:1px;margin:0;word-break:break-all}.apartment-actions{display:flex;gap:10px;margin-top:20px}.apartment-actions .btn{flex:1 1;max-width:200px}@media (max-width:768px){.apartment-card{padding:20px}.apartment-header{align-items:flex-start;flex-direction:column}.apartment-code h2{font-size:28px}.apartment-info-grid{grid-template-columns:1fr}}.tenants-container{margin:0 auto;max-width:1200px;padding:20px}.tenants-container h1{color:#333;margin-bottom:30px}.tenants-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.filter-buttons{display:flex;gap:10px}.filter-btn{background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.filter-btn:hover{border-color:#0288d1;color:#0288d1}.filter-btn.active{background:#0288d1;border-color:#0288d1;color:#fff}.btn-primary{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background .3s ease}.btn-primary:hover{background:#0277bd}.tenant-form{background:#f5f5f5;border-left:4px solid #0288d1;border-radius:8px;margin-bottom:30px;padding:20px}.tenant-form h2{color:#333;margin-bottom:20px;margin-top:0}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:15px}.form-row input,.form-row select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px}.form-row input:focus,.form-row select:focus{border-color:#0288d1;box-shadow:0 0 5px #0288d14d;outline:none}.form-row>div{display:flex;flex-direction:column}.form-row label{color:#555;font-size:13px;font-weight:700;margin-bottom:5px}.form-section-title{color:#333;font-size:14px;font-weight:700;letter-spacing:.5px;margin:20px 0 10px;text-transform:uppercase}.form-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:20px}.btn-secondary{background:#ccc;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background .3s ease}.btn-secondary:hover{background:#bbb}.tenants-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.tenant-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .3s ease}.tenant-card:hover{box-shadow:0 4px 8px #00000026}.tenant-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.tenant-header h3{color:#333;font-size:18px;margin:0}.tenant-meta{color:#666;font-size:13px;margin:5px 0 0}.status-badge{border-radius:20px;font-size:12px;font-weight:700;padding:6px 12px}.status-active{background:#c8e6c9;color:#2e7d32}.status-expired{background:#ffcdd2;color:#c62828}.status-future{background:#fff9c4;color:#f57f17}.tenant-dates{background:#f9f9f9;border-radius:4px;font-size:14px;margin-bottom:15px;padding:10px}.tenant-dates p{color:#555;margin:0}.tenant-vehicles{background:#fafafa;border-left:3px solid #ff9800;border-radius:4px;margin-bottom:15px;padding:15px}.tenant-vehicles h4{color:#333;font-size:14px;margin:0 0 10px}.vehicles-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.vehicle-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:10px}.vehicle-item strong{color:#333;font-size:14px}.vehicle-validity{color:#888;font-size:12px;margin:3px 0 0}.no-vehicles{color:#999;font-size:13px;font-style:italic;margin:0}.vehicle-form{grid-gap:10px;border-top:1px solid #e0e0e0;display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr auto;margin-top:10px;padding-top:10px}.vehicle-form input{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px}.vehicle-form input:focus{border-color:#0288d1;outline:none}.btn-success{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 12px}.btn-success:hover{background:#45a049}.btn-danger{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px;transition:background .3s ease}.btn-danger:hover{background:#da190b}.btn-small{font-size:12px;padding:6px 12px}.tenant-actions{border-top:1px solid #f0f0f0;display:flex;gap:10px;margin-top:15px;padding-top:15px}.empty-state{color:#999;font-size:16px}.empty-state,.tenants-loading{padding:40px;text-align:center}.tenants-loading{color:#666}@media (max-width:768px){.form-row,.vehicle-form{grid-template-columns:1fr}.tenant-header{flex-direction:column;gap:10px}.filter-buttons{flex-wrap:wrap}.tenants-controls{align-items:stretch;flex-direction:column}.vehicle-item{align-items:flex-start;flex-direction:column}}.admin-tenants-container{margin:0 auto;max-width:1400px;padding:20px}.admin-tenants-container h1{color:#333;margin-bottom:30px}.admin-tenants-controls{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:30px}.admin-tenants-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;overflow:hidden}.admin-tenants-table table{border-collapse:collapse;width:100%}.admin-tenants-table thead{background:#0288d1;color:#fff}.admin-tenants-table th{border-bottom:2px solid #0277bd;font-size:13px;font-weight:700;padding:15px;text-align:left;text-transform:uppercase}.admin-tenants-table td{border-bottom:1px solid #e0e0e0;font-size:13px;padding:12px 15px}.admin-tenants-table tbody tr:hover{background:#f5f5f5}.admin-tenants-table tbody tr.status-expired{background:#ffe0e0}.admin-tenants-table tbody tr.status-expired:hover{background:#ffc0c0}.empty-cell{color:#999;font-size:14px;padding:40px;text-align:center}.pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:30px}.pagination button{background:#0288d1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .3s ease}.pagination button:hover:not(:disabled){background:#0277bd}.pagination button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.pagination span{color:#333;font-weight:700}.btn-disabled{background:#e0e0e0;border-radius:4px;color:#999;cursor:not-allowed;display:inline-block;font-size:12px;padding:6px 12px}.admin-tenants-loading{color:#666;font-size:16px;padding:40px;text-align:center}.error-message{background:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;margin-bottom:20px;padding:15px}@media (max-width:768px){.admin-tenants-table{overflow-x:auto}.admin-tenants-table table{min-width:100%}.admin-tenants-table td,.admin-tenants-table th{font-size:12px;padding:8px 10px}}.page{padding:30px}.container{margin:0 auto;max-width:900px}.subtitle{color:#666;margin-bottom:20px}.wifi-card{background:#fff;border-left:5px solid #4caf50;border-radius:12px;box-shadow:0 4px 14px #00000014;padding:25px}.wifi-card h3{margin-bottom:15px}.wifi-row{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:10px 0}.wifi-row:last-child{border-bottom:none}.wifi-label{color:#555;font-weight:600}.wifi-value{color:#222;font-weight:500}.wifi-voucher{background:#e8f5e9;border-radius:8px;color:#2e7d32;font-size:18px;font-weight:700;padding:8px 14px}.wifi-empty{color:#999;font-style:italic}.spinner{padding:40px;text-align:center}.wifi-renewal-notice{background:#fff7d6;border-left:5px solid #f0b429;border-radius:8px;color:#5c4300;margin-bottom:16px;padding:14px 16px}.wifi-renewal-notice strong{display:block;margin-bottom:6px}.wifi-renewal-notice p{margin:0 0 10px}.wifi-renewal-notice button{background:#08c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 14px}.wifi-alert-box{align-items:flex-start;background:#fff3cd;border-left:5px solid #ffc107;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:15px 18px}.wifi-alert-icon{font-size:20px}.wifi-alert-content{color:#856404;font-size:14px}.wifi-alert-content strong{display:block;margin-bottom:6px}.wifi-alert-content ul{margin:5px 0 0;padding-left:18px}.wifi-device-tips{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.wifi-device-tip{background:#ffffff8c;border:1px solid #ffc10759;border-radius:8px;display:flex;gap:10px;padding:10px}.wifi-device-icon{font-size:22px}.wifi-device-tip p{font-size:13px;margin:4px 0 0}@media (max-width:600px){.wifi-device-tips{grid-template-columns:1fr}}.wifi-voucher-info{background:#e3f2fd;border-left:4px solid #0288d1;border-radius:6px;color:#01579b;font-size:13px;margin-top:10px;padding:10px 12px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;border-top:4px solid #0288d1;box-shadow:0 10px 40px #0000004d;max-width:450px;padding:30px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{color:#01579b;font-size:22px;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:24px;transition:color .3s}.modal-close:hover{color:#666}.modal-email{color:#666;font-size:14px;margin-bottom:20px}.modal-email strong{color:#01579b}.form-group{margin-bottom:15px}.form-group label{color:#01579b;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input{border:1px solid #b3e5fc;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.form-group input:disabled{background:#f5f5f5;color:#999}.alert{border-radius:4px;font-size:13px;margin-bottom:15px;padding:12px}.alert-error{background:#ffebee;border-left:3px solid #c62828;color:#c62828}.alert-success{background:#e8f5e9;border-left:3px solid #2e7d32;color:#2e7d32}.modal-actions{display:flex;gap:10px;margin-top:25px}.btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s}.btn-primary{background:#0288d1;color:#fff}.btn-primary:hover:not(:disabled){background:#0277bd;box-shadow:0 2px 8px #0288d14d}.btn-secondary{background:#e1f5fe;border:1px solid #b3e5fc;color:#0288d1}.btn-secondary:hover:not(:disabled){background:#b3e5fc;color:#01579b}.btn:disabled{cursor:not-allowed;opacity:.6}.navbar{background:linear-gradient(135deg,#0288d1,#0277bd);box-shadow:0 2px 8px #01579b2e;position:sticky;top:0;z-index:900}.navbar-container{align-items:center;box-sizing:border-box;display:flex;gap:18px;height:70px;margin:0 auto;max-width:1200px;padding:0 var(--spacing-xl);width:100%}.navbar-brand{align-items:center;display:flex;font-size:var(--font-xl);font-weight:700;gap:var(--spacing-md);white-space:nowrap}.navbar-brand,.navbar-brand:hover{color:#fff;text-decoration:none}.navbar-brand img{border-radius:50%;height:48px;object-fit:cover;width:48px}.navbar-menu{align-items:center;display:flex;flex:1 1;gap:var(--spacing-2xl);list-style:none;margin:0;padding:0}.navbar-menu a{border-bottom:2px solid #0000;color:#fff;font-size:var(--font-sm);font-weight:600;letter-spacing:.5px;padding:var(--spacing-md) 0;text-decoration:none;text-transform:uppercase;white-space:nowrap}.navbar-menu a:hover{border-bottom-color:var(--primary-lighter);color:var(--primary-lighter);text-decoration:none}.navbar-right{align-items:center;display:flex;gap:10px;justify-content:flex-end;white-space:nowrap}.navbar-user{font-size:15px;font-weight:800;letter-spacing:.4px;line-height:1;text-transform:uppercase}.navbar-icon-btn,.navbar-logout,.navbar-user{align-items:center;color:#fff;display:flex;justify-content:center;min-height:42px}.navbar-icon-btn,.navbar-logout{background:#ffffff2e;border:1px solid #ffffff6b;border-radius:10px;cursor:pointer;height:42px;margin:0;transition:all .2s ease}.navbar-icon-btn{font-size:20px;min-width:42px;padding:0;position:relative;width:42px}.navbar-logout{font-size:13px;font-weight:800;padding:0 16px;text-transform:uppercase}.navbar-icon-btn:hover,.navbar-logout:hover{background:#ffffff4d;transform:translateY(-1px)}.notification-btn{position:relative}.notification-badge{align-items:center;background:#e53935;border:2px solid #fff;border-radius:999px;box-shadow:0 2px 8px #00000040;color:#fff;display:flex;font-size:11px;font-weight:900;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-7px;top:-7px}@media (max-width:768px){.navbar-container{flex-wrap:wrap;gap:10px;height:auto;padding:10px 12px}.navbar-brand{flex:1 1;font-size:16px;min-width:0}.navbar-brand span{overflow:hidden;text-overflow:ellipsis}.navbar-brand img{height:40px;width:40px}.navbar-menu{gap:10px;order:3;overflow-x:auto;padding-bottom:4px;width:100%}.navbar-menu a{font-size:12px;padding:6px 0}.navbar-right{gap:8px;justify-content:flex-end}.navbar-user{display:none}.navbar-icon-btn,.navbar-logout{border-radius:9px;height:38px;min-height:38px}.navbar-icon-btn{font-size:18px;min-width:38px;width:38px}.navbar-logout{font-size:12px;padding:0 10px}}@media (max-width:420px){.navbar-brand span{max-width:150px}.navbar-logout{padding:0 8px}}
/*# sourceMappingURL=main.122b1ac8.css.map*/