:root{--primary-color:#4a90e2;--secondary-color:#f5f7fa;--text-color:#333;--error-color:#e74c3c;--success-color:#2ecc71;--border-color:#ddd}*{box-sizing:border-box;padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--text-color);line-height:1.6;background-color:#f9f9f9}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background-color:white;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1rem 0}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav-menu{display:flex;list-style:none}.nav-item{margin-left:1.5rem}.nav-link{text-decoration:none;color:var(--text-color);transition:color .3s ease}.nav-link.active,.nav-link:hover{color:var(--primary-color)}.main{padding:2rem 0}.panel{background:white;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem;margin-bottom:1.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.panel-title{font-size:1.25rem;font-weight:500}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.btn-primary{background-color:var(--primary-color);color:white}.btn-primary:hover{background-color:#3b7dd8}.btn-secondary{background-color:var(--secondary-color);color:var(--text-color)}.btn-secondary:hover{background-color:#e6e9ed}.btn-danger{background-color:var(--error-color);color:white}.btn-danger:hover{background-color:#d44637}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.table thead th{font-weight:500;background-color:var(--secondary-color)}.table tbody tr:hover{background-color:rgba(0,0,0,.02)}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-control{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:var(--primary-color)}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.alert-success{background-color:rgba(46,204,113,.1);border:1px solid var(--success-color);color:var(--success-color)}.alert-error{background-color:rgba(231,76,60,.1);border:1px solid var(--error-color);color:var(--error-color)}.badge{display:inline-block;padding:.25rem .5rem;border-radius:50px;font-size:.75rem;font-weight:500}.badge-primary{background-color:var(--primary-color);color:white}.badge-secondary{background-color:var(--secondary-color);color:var(--text-color)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.card{background:white;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem}.card-title{font-size:1.25rem;margin-bottom:1rem}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.pagination{display:flex;list-style:none;justify-content:center;margin-top:1.5rem}.pagination-item{margin:0 .25rem}.pagination-link{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:4px;text-decoration:none;color:var(--text-color);transition:background-color .3s ease}.pagination-link.active,.pagination-link:hover{background-color:var(--primary-color);color:white}.loading{display:flex;justify-content:center;align-items:center;height:200px}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--primary-color);width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}