*{box-sizing:border-box}html,body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#2d3748;background-color:#f8fafc}body{padding:60px 0 0;min-height:calc(100vh - 60px);overflow-x:hidden}app-dashboard,app-users,app-groups,app-third-parties,app-products,app-settings,app-field-visibility,app-config,app-login,app-unauthorized,app-not-found{display:block;width:100%}@media (max-width: 768px){body{padding-top:56px;min-height:calc(100vh - 56px)}}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.25}p{margin:0 0 1rem}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s ease;line-height:1.5}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn.btn-secondary{background:#e2e8f0;color:#4a5568}.btn.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn.btn-outline{background:transparent;color:#4a5568;border:1px solid #e2e8f0}.btn.btn-outline:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.btn.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn.btn-lg{padding:1rem 2rem;font-size:1.125rem}.form-control{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2d3748}.form-group .error-message{color:#e53e3e;font-size:.875rem;margin-top:.25rem}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.card-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.card-header h3{margin:0;color:#2d3748}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.d-flex{display:flex}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-none{display:none}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.w-100{width:100%}.h-100{height:100%}@media (max-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}@media (max-width: 480px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;border-radius:.25rem}.badge.badge-primary{background:#667eea;color:#fff}.badge.badge-success{background:#c6f6d5;color:#2f855a}.badge.badge-warning{background:#fef5e7;color:#d69e2e}.badge.badge-danger{background:#fed7d7;color:#c53030}.badge.badge-info{background:#bee3f8;color:#2b6cb0}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
