*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f0fdf4;min-height:100vh}#app{min-height:100vh}.navbar{background:#fff;box-shadow:0 2px 8px #0000001a;padding:1rem 2rem;display:flex;align-items:center;gap:2rem}.nav-brand h1{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:24px;font-weight:700}.nav-links{display:flex;gap:.5rem;flex:1}.nav-link{padding:.5rem 1rem;text-decoration:none;color:#4b5563;border-radius:6px;font-weight:500;transition:all .2s}.nav-link:hover{background:#f3f4f6;color:#10b981}.nav-link.router-link-active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.nav-user{display:flex;align-items:center;gap:1rem}.user-info{color:#4b5563;font-weight:500;font-size:14px}main{padding:2rem}main.with-nav{padding:2rem}.card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card-header h2{color:#1f2937;font-size:24px}.btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#6b7280}.btn-secondary:hover{background:#4b5563;box-shadow:0 4px 12px #6b728066}.btn-danger{background:#ef4444}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466}.btn-small{padding:.4rem .8rem;font-size:13px}.btn-logout{background:#ef4444;padding:.5rem 1rem}.btn-logout:hover{background:#dc2626;transform:none}table{width:100%;border-collapse:collapse}thead{background:#f9fafb}th{text-align:left;padding:.75rem;color:#6b7280;font-weight:600;font-size:14px;border-bottom:2px solid #e5e7eb}td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#374151}tr:hover{background:#f9fafb}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:12px;font-weight:600}.badge-green{background:#d1fae5;color:#065f46}.badge-red{background:#fee2e2;color:#991b1b}.badge-yellow{background:#fef3c7;color:#92400e}.badge-blue{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f4f6;color:#4b5563}.loading{text-align:center;padding:2rem;color:#6b7280}.empty-state{text-align:center;padding:3rem;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{margin-bottom:1.5rem}.modal-header h3{color:#1f2937;font-size:20px}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.alert{padding:.75rem;border-radius:6px;margin-bottom:1rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
