*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button,input,textarea,select{font-family:inherit}a{text-decoration:none;color:inherit}.loading-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #31708f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-layout{display:flex;min-height:100vh;background-color:#f5f5f5}.sidebar{width:250px;background:linear-gradient(180deg,#2c3e50,#34495e);color:#fff;transition:width .3s;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar.closed{width:70px}.sidebar-header{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{margin:0;font-size:20px;white-space:nowrap;overflow:hidden}.sidebar.closed .sidebar-header h2{display:none}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:5px;border-radius:4px;transition:background-color .2s}.sidebar-toggle:hover{background-color:#ffffff1a}.sidebar-nav{flex:1;padding:20px 0}.nav-item{display:flex;align-items:center;padding:15px 20px;color:#fffc;text-decoration:none;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#ffffff26;color:#fff;border-left-color:#3498db}.nav-icon{font-size:20px;margin-right:15px;min-width:24px;text-align:center}.sidebar.closed .nav-icon{margin-right:0}.nav-label{white-space:nowrap;overflow:hidden}.sidebar.closed .nav-label{display:none}.admin-main{flex:1;margin-left:250px;transition:margin-left .3s;display:flex;flex-direction:column}.sidebar.closed~.admin-main{margin-left:70px}.admin-header{background:#fff;padding:20px 30px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-left h1{margin:0;font-size:24px;color:#333}.header-right{display:flex;align-items:center;gap:20px}.user-info{display:flex;align-items:center;gap:10px}.user-name{color:#333;font-weight:500}.admin-badge{background-color:#3498db;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.logout-button{padding:8px 20px;background-color:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.logout-button:hover{background-color:#c0392b}.admin-content{flex:1;padding:30px;overflow-y:auto}@media(max-width:768px){.sidebar{width:70px}.sidebar.open{width:250px;z-index:1000}.admin-main{margin-left:70px}.admin-header{padding:15px 20px}.header-left h1{font-size:20px}.user-name{display:none}}.login-container{min-height:100vh;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:20px}.login-content{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}.login-logo{margin-bottom:30px}.login-logo img{width:100%;max-width:250px;height:auto}.login-header-text{text-align:center;margin-bottom:30px}.login-header-text h1{color:#464d70;margin:0 0 10px;font-size:28px;font-weight:700}.login-header-text p{color:#666;margin:0;font-size:16px}.login-form{width:100%;display:flex;flex-direction:column;gap:15px}.login-input{width:100%;padding:15px;border-radius:10px;border:none;background-color:#e6e6e6;color:#464d70;font-size:16px;box-sizing:border-box}.login-input::placeholder{color:#777}.password-container{position:relative;display:flex;align-items:center;background-color:#e6e6e6;border-radius:10px}.password-input{flex:1;padding-right:50px}.password-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:10px;font-size:20px}.save-credentials{display:flex;align-items:center;gap:10px;align-self:flex-end;margin-top:-10px}.save-credentials input[type=checkbox]{width:20px;height:20px;cursor:pointer}.save-credentials label{font-size:16px;color:#464d70;cursor:pointer}.btn{width:100%;padding:15px;border-radius:10px;border:none;font-size:16px;cursor:pointer;text-decoration:none;text-align:center;box-sizing:border-box;transition:opacity .3s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#31708f;color:#fff;font-weight:700}.btn-primary:hover:not(:disabled){opacity:.9}@media(min-width:768px){.login-content{max-width:450px}}.dashboard{width:100%;padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.stat-icon{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}.stat-content h3{margin:0 0 8px;color:#666;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-number{margin:0;color:#333;font-size:32px;font-weight:700}.charts-grid{display:flex;flex-direction:column;gap:20px;margin-top:30px}.charts-grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:1200px){.charts-grid-three{grid-template-columns:1fr}}.chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;min-height:300px;display:flex;flex-direction:column}.chart-card-wide{grid-column:1 / -1}.chart-card>div{flex:1;min-height:250px}.card-title{margin:0 0 15px;color:#333;font-size:16px;font-weight:700;text-align:center}.users-list{display:flex;flex-direction:column;gap:10px;flex:1}.user-item{display:flex;align-items:center;gap:10px;padding:10px;background-color:#f8f9fa;border-radius:8px;transition:background-color .2s}.user-item:hover{background-color:#e9ecef}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{margin:0 0 3px;color:#333;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{margin:0 0 3px;color:#666;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-date{margin:0;color:#999;font-size:11px}@media(max-width:768px){.charts-grid-three{grid-template-columns:1fr}.chart-card-wide{grid-column:1}.stats-grid{grid-template-columns:1fr}}.users-screen{width:100%}.screen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.search-box{flex:1;max-width:400px}.action-button.delete:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}.action-button.delete:disabled:hover{background-color:#95a5a6}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=file]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.walls-screen{width:100%}.screen-header{display:flex;justify-content:flex-end;margin-bottom:20px}.walls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.wall-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.wall-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.wall-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.wall-header h3{margin:0;color:#333;font-size:20px;flex:1}.wall-actions{display:flex;gap:8px}.action-button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.wall-body{color:#666;line-height:1.6;margin-bottom:15px;flex:1}.wall-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #eee;font-size:14px;color:#999}.wall-likes{display:flex;align-items:center;gap:5px}.wall-date{color:#999}.form-group input[type=text],.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box;font-family:inherit}.form-group textarea{resize:vertical;min-height:120px}.members-screen{width:100%}.screen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.search-box{flex:1;max-width:400px;min-width:200px}.search-box input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px}.filters-box{display:flex;align-items:center;gap:10px}.status-filter{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:16px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:180px}.status-filter:hover{border-color:#667eea}.status-filter:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.add-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:#f8f9fa}.data-table th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.data-table td{padding:15px;border-bottom:1px solid #dee2e6;color:#666}.data-table tbody tr:hover{background-color:#f8f9fa}.action-button{padding:6px 12px;margin-right:8px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.action-button.edit{background-color:#3498db;color:#fff}.action-button.edit:hover{background-color:#2980b9}.action-button.delete{background-color:#e74c3c;color:#fff}.action-button.delete:hover{background-color:#c0392b}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.modal-header h2{margin:0;color:#333}.close-button{background:none;border:none;font-size:32px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px}.close-button:hover{color:#333}.modal-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input[type=text],.form-group input[type=date],.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;border:1px solid #fcc;margin-bottom:20px;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #dee2e6}.modal-actions button{padding:10px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.modal-actions button[type=button]{background-color:#95a5a6;color:#fff}.modal-actions button[type=button]:hover{background-color:#7f8c8d}.modal-actions button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions button[type=submit]:hover{opacity:.9}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-approved{background-color:#d4edda;color:#155724}.status-pending{background-color:#fff3cd;color:#856404}.status-rejected{background-color:#f8d7da;color:#721c24}.pagination-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.pagination-info{color:#666;font-size:14px}.items-per-page{display:flex;align-items:center;gap:10px}.items-per-page label{color:#666;font-size:14px;font-weight:500}.items-per-page select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.items-per-page select:hover{border-color:#667eea}.items-per-page select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.pagination-button{padding:10px 20px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea;color:#667eea}.pagination-button:disabled{opacity:.5;cursor:not-allowed;background:#f8f9fa}.pagination-numbers{display:flex;align-items:center;gap:5px}.pagination-number{min-width:40px;height:40px;padding:0 12px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-number:hover:not(.active){background:#f8f9fa;border-color:#667eea;color:#667eea}.pagination-number.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:600}.pagination-ellipsis{padding:0 8px;color:#999;font-size:14px}@media(max-width:768px){.pagination-header{flex-direction:column;gap:15px;align-items:flex-start}.pagination{flex-wrap:wrap;gap:5px}.pagination-numbers{flex-wrap:wrap}.pagination-number{min-width:35px;height:35px;padding:0 8px;font-size:13px}.pagination-button{padding:8px 16px;font-size:13px}}
