.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:40px;border-radius:10px;box-shadow:0 15px 35px #0003;width:100%;max-width:400px}.login-box h1{text-align:center;color:#333;margin-bottom:30px;font-size:1.8rem}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.login-box button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-box button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-box button:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#ffe6e6;color:#c00;padding:10px;border-radius:5px;margin-bottom:15px;text-align:center;font-size:.9rem}.dashboard h1{color:#333;margin-bottom:30px}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.dashboard-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 10px #0000001a;transition:transform .3s,box-shadow .3s}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #00000026}.dashboard-card h3{color:#667eea;margin:0 0 10px}.dashboard-card p{color:#666;margin:0}.crud-container{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:25px}.crud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.crud-header h1{margin:0;color:#333;font-size:1.5rem}.crud-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.search-box{flex:1;min-width:200px;max-width:400px}.search-input{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:5px;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#999}.pagination-controls{display:flex;align-items:center;gap:15px}.records-info{color:#666;font-size:.9rem}.page-size-select{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:.9rem;cursor:pointer;background:#fff}.page-size-select:focus{outline:none;border-color:#667eea}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-edit{background:#4dabf7;color:#fff;margin-right:5px}.btn-edit:hover{background:#339af0}.btn-delete{background:#ff6b6b;color:#fff}.btn-delete:hover{background:#fa5252}.btn-page{background:#f8f9fa;color:#333;border:1px solid #ddd}.btn-page:hover:not(:disabled){background:#e9ecef}.btn-page:disabled{opacity:.5;cursor:not-allowed}.table-container{overflow-x:auto}.crud-table{width:100%;border-collapse:collapse}.crud-table th,.crud-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.crud-table th{background:#f8f9fa;color:#333;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color .2s}.sortable-header:hover{background:#e9ecef}.sort-icon{color:#999;font-size:.9rem;margin-left:5px}.sortable-header:hover .sort-icon{color:#667eea}.crud-table tr:hover{background:#f8f9fa}.actions-cell{white-space:nowrap}.no-data{text-align:center;color:#999;padding:40px!important}.pagination-nav{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.page-info{color:#666;font-size:.9rem;padding:0 10px}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-modal-content{background:#fff;padding:30px;border-radius:10px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.form-modal-content h2{margin:0 0 25px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input[type=checkbox]{width:auto;margin-right:10px}.checkbox-label{display:flex!important;align-items:center;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row .form-group{margin-bottom:0}@media (max-width: 768px){.crud-controls{flex-direction:column;align-items:stretch}.search-box{max-width:none}.pagination-controls{justify-content:space-between}.pagination-nav{flex-wrap:wrap}}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{margin:0;font-size:1.3rem;color:#667eea}.sidebar-nav{flex:1;padding:20px 0;display:flex;flex-direction:column}.nav-link{display:block;padding:12px 20px;color:#a0a0a0;text-decoration:none;transition:all .3s;border-left:3px solid transparent}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:#667eea33;color:#667eea;border-left-color:#667eea}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;padding:10px;background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;border-radius:5px;cursor:pointer;transition:all .3s}.logout-btn:hover{background:#ff6b6b;color:#fff}.main-content{flex:1;margin-left:250px;padding:30px;background:#f5f6fa;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f6fa}#root{min-height:100vh}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}
