*{margin:0;padding:0;box-sizing:border-box}body{font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f6f8;color:#374151;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:24px}.card{background:#fff;border-radius:10px;padding:24px;margin-bottom:24px;border:1px solid #e5e7eb}.btn,.card{box-shadow:0 1px 2px rgba(0,0,0,.04)}.btn{padding:10px 24px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-transform:none;letter-spacing:0}.btn:hover{box-shadow:0 2px 4px rgba(0,0,0,.06)}.btn:active{box-shadow:0 1px 2px rgba(0,0,0,.04)}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-success{background:#16a34a;color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-outlined{background:transparent;border:1px solid #d1d5db;color:#2563eb}.btn-outlined:hover{background:#f9fafb;border-color:#2563eb}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04);border:1px solid #e5e7eb}.table td,.table th{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.table th{font-weight:500;font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.table tbody tr:hover,.table th{background:#f9fafb}.table tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#6b7280}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s ease;background:#fff;color:#374151}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.alert{padding:14px 16px;border-radius:6px;margin-bottom:24px;font-size:14px;border-left:3px solid}.alert-success{background:#f0fdf4;color:#166534;border-left-color:#22c55e}.alert-error{background:#fef2f2;color:#b91c1c;border-left-color:#ef4444}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;padding:28px;border-radius:10px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.08);border:1px solid #e5e7eb}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px}.search-bar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.search-bar input{flex:1 1;min-width:200px}.actions{display:flex;gap:8px}@keyframes spin{to{transform:rotate(1turn)}}.drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:999;display:none}.drawer-overlay.open{display:block}@media (max-width:768px){.drawer-overlay{display:block;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-overlay.open{opacity:1;pointer-events:all}}