:root{--primary-color:#0d6efd;--secondary-color:#6c757d;--success-color:#198754;--danger-color:#dc3545;--warning-color:#ffc107;--info-color:#0dcaf0;--light-color:#f8f9fa;--dark-color:#212529}body{background-color:#f5f5f5;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.navbar-brand{font-weight:600}.navbar-nav .nav-link{font-weight:500;transition:color .3s ease}.navbar-nav .nav-link:hover{color:rgba(255,255,255,.8)!important}.card{border:none;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:transform .2s ease , box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.15)}.btn{border-radius:6px;font-weight:500;transition:all .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#0d6efd,#0056b3);border:none}.btn-success{background:linear-gradient(135deg,#198754,#146c43);border:none}.btn-danger{background:linear-gradient(135deg,#dc3545,#b02a37);border:none}.form-control{border-radius:6px;border:1px solid #dee2e6;transition:border-color .2s ease , box-shadow .2s ease}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}#password-strength{transition:width .3s ease}.strength-weak{background-color:var(--danger-color);width:33%}.strength-medium{background-color:var(--warning-color);width:66%}.strength-strong{background-color:var(--success-color);width:100%}.table{background-color:#fff;border-radius:8px;overflow:hidden}.table th{background-color:var(--light-color);border-bottom:2px solid #dee2e6;font-weight:600;color:var(--dark-color)}.table-hover tbody tr:hover{background-color:rgba(13,110,253,.05)}.alert{border:none;border-radius:8px;font-weight:500}.alert-dismissible .btn-close{font-size:.875rem}.badge{font-weight:500;border-radius:4px}.spinner-border{width:1rem;height:1rem}.password-toggle{cursor:pointer;color:var(--secondary-color);transition:color .2s ease}.password-toggle:hover{color:var(--primary-color)}.copy-btn{cursor:pointer;color:var(--secondary-color);transition:color .2s ease}.copy-btn:hover{color:var(--primary-color)}.copy-btn.copied{color:var(--success-color)}.role-badge{font-size:.75rem;padding:.25rem .5rem}.role-owner{background-color:#dc3545;color:#fff}.role-admin{background-color:#fd7e14;color:#fff}.role-member{background-color:#0d6efd;color:#fff}.role-readonly{background-color:#6c757d;color:#fff}.password-item{border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin-bottom:1rem;background-color:#fff;transition:all .2s ease}.password-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(13,110,253,.15)}.password-item h5{margin-bottom:.5rem;color:var(--dark-color)}.password-item .username{color:var(--secondary-color);font-size:.875rem;margin-bottom:.25rem}.password-item .url{color:var(--primary-color);font-size:.875rem;text-decoration:none}.password-item .url:hover{text-decoration:underline}.search-box{position:relative}.search-box .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--secondary-color)}.search-box input{padding-left:35px}.modal-content{border:none;border-radius:10px}.modal-header{border-bottom:1px solid #dee2e6;background-color:var(--light-color)}.modal-footer{border-top:1px solid #dee2e6;background-color:var(--light-color)}footer{margin-top:auto}footer p{margin:0}footer a{color:var(--secondary-color);text-decoration:none}footer a:hover{color:var(--primary-color)}@media (max-width:768px){.container{padding-left:15px;padding-right:15px}.card{margin-bottom:1rem}.btn{font-size:.875rem}.table-responsive{font-size:.875rem}}@media (prefers-color-scheme:dark){:root{--light-color:#343a40;--dark-color:#f8f9fa}body{background-color:#121212;color:var(--dark-color)}.card{background-color:#1e1e1e;color:var(--dark-color)}.table{background-color:#1e1e1e;color:var(--dark-color)}.form-control{background-color:#343a40;border-color:#495057;color:var(--dark-color)}.form-control:focus{background-color:#343a40;border-color:var(--primary-color);color:var(--dark-color)}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn {
    from { transform: translateX(-20px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media print{.navbar,.btn,footer{display:none!important}.card{box-shadow:none;border:1px solid #dee2e6}}