.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:450px;animation:slideUp .4s ease-out}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:2.5rem;margin:0 0 10px;color:#667eea}.auth-header h2{font-size:1.5rem;margin:0 0 10px;color:#1f2937}.auth-header p{color:#6b7280;font-size:.95rem;margin:0}.auth-error{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border-left:4px solid #dc2626}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#374151;font-size:.9rem}.form-group input{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#9ca3af}.form-group small{color:#6b7280;font-size:.85rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;color:#6b7280;font-size:.9rem}.auth-footer p{margin:0}.link-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;font-family:inherit}.link-button:hover{color:#764ba2}@media(max-width:768px){.auth-card{padding:30px 24px}.auth-header h1{font-size:2rem}.auth-header h2{font-size:1.25rem}}.floor-plan-container{width:100%}.floor-plan-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:15px;padding:10px;background:#f9fafb;border-radius:8px}.floor-plan-controls button{padding:8px 16px;font-size:18px}.canvas-wrapper{overflow:auto;border:2px solid #e5e7eb;border-radius:8px;background:#fff;padding:20px;display:flex;justify-content:center;align-items:center;max-height:500px}.floor-plan-canvas{cursor:pointer;box-shadow:0 2px 4px #0000001a;touch-action:none;-webkit-user-select:none;user-select:none}.floor-plan-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:15px;padding:15px;background:#f9fafb;border-radius:8px}.info-item{padding:8px;background:#fff;border-radius:6px;font-size:14px}.info-item strong{color:#667eea}.selected-room-info{margin-top:15px;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;text-align:center}.selected-room-info h4{margin-bottom:5px;font-size:14px;opacity:.9}.rab-calculator{width:100%}.calculator-actions{margin-bottom:20px}.calculator-actions button{width:100%;font-size:18px}.rab-summary{margin-top:20px}.total-cost{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;text-align:center;margin-bottom:20px;box-shadow:0 4px 6px #667eea4d}.total-cost h3{font-size:1.2rem;margin-bottom:10px;opacity:.9}.cost-amount{font-size:2.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.cost-breakdown{margin-bottom:20px}.cost-breakdown h4{font-size:1.1rem;margin-bottom:15px;color:#374151}.breakdown-list{display:flex;flex-direction:column;gap:12px}.breakdown-item{position:relative;background:#f9fafb;border-radius:8px;overflow:hidden}.breakdown-bar{height:100%;position:absolute;top:0;left:0;opacity:.2;transition:width .5s ease}.breakdown-label{position:relative;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.breakdown-label span{font-weight:500}.breakdown-label strong{color:#667eea}.material-summary{background:#f9fafb;padding:20px;border-radius:8px}.material-summary h4{font-size:1.1rem;margin-bottom:15px;color:#374151}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.stat{text-align:center;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.stat-value{font-size:2rem;font-weight:700;color:#667eea;margin-bottom:5px}.stat-label{font-size:.9rem;color:#6b7280}.no-result{padding:40px 20px;text-align:center;color:#9ca3af;font-size:1.1rem}@media(max-width:768px){.cost-amount{font-size:1.8rem}.summary-stats{grid-template-columns:1fr}}.material-list{width:100%}.material-filters{display:flex;flex-direction:column;gap:20px;margin-bottom:25px;padding:20px;background:#f9fafb;border-radius:8px}.filter-group label,.sort-group label{display:block;font-weight:600;margin-bottom:10px;color:#374151}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:14px}.filter-btn:hover{border-color:#667eea;background:#f3f4f6}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.sort-group select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:200px}.sort-group select:focus{outline:none;border-color:#667eea}.material-table-wrapper{overflow-x:auto;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.material-table{width:100%;border-collapse:collapse;background:#fff}.material-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.material-table th{padding:15px;text-align:left;font-weight:600;font-size:14px}.material-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s ease}.material-table tbody tr:hover{background:#f9fafb}.material-table td{padding:15px;font-size:14px}.material-name{font-weight:600;color:#1f2937}.material-quantity{font-weight:600;color:#667eea;position:relative}.quantity-cell{display:flex;align-items:center;gap:8px;position:relative}.quantity-value{font-weight:600;color:#667eea}.info-icon{font-size:14px;color:#9ca3af;cursor:help;transition:all .2s}.info-icon:hover{color:#667eea;transform:scale(1.2)}.tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:15px;background:#fff;border:2px solid #667eea;border-radius:8px;padding:0;min-width:350px;box-shadow:0 8px 16px #667eea4d;z-index:1000;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.tooltip:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #667eea}.tooltip-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 15px;border-radius:6px 6px 0 0;font-size:14px}.tooltip-header strong{font-weight:600}.tooltip-body{padding:15px}.formula-line{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.formula-line:last-child{margin-bottom:0}.formula-line .label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.formula-line .value{font-size:13px;color:#1f2937;font-family:Courier New,monospace;background:#f9fafb;padding:6px 10px;border-radius:4px;border:1px solid #e5e7eb}.formula-line .value.highlight{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea;color:#667eea;font-weight:700}.tooltip-footer{background:#f9fafb;padding:10px 15px;border-radius:0 0 6px 6px;border-top:1px solid #e5e7eb}.tooltip-footer small{font-size:11px;color:#6b7280;font-style:italic}.material-price{color:#6b7280}.material-total{color:#10b981}.material-total strong{font-size:15px}.export-actions{display:flex;gap:10px;justify-content:flex-end}.export-actions button{padding:10px 20px}@media(max-width:768px){.material-filters{padding:15px}.filter-buttons{flex-direction:column}.filter-btn{width:100%}.material-table{font-size:12px}.material-table th,.material-table td{padding:10px 8px}.export-actions{flex-direction:column}.export-actions button{width:100%}.tooltip{position:fixed;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin-left:0!important;max-width:90vw;min-width:280px}.tooltip:before{display:none}}@media print{.material-filters,.export-actions{display:none}}.floor-plan-editor{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000001a}.floor-plan-editor h3{font-size:1.3rem;margin-bottom:20px;color:#1f2937;border-bottom:2px solid #667eea;padding-bottom:10px}.editor-section{margin-bottom:30px}.editor-section h4{font-size:1.1rem;margin-bottom:15px;color:#374151}.editor-section>button{width:100%}.add-room-form{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:20px}.form-actions{display:flex;gap:10px;margin-top:15px}.form-actions button{flex:1}.room-list{max-height:300px;overflow-y:auto;margin-top:15px}.room-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;margin-bottom:8px;transition:background .2s}.room-item:hover{background:#f3f4f6}.room-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-weight:700;font-size:14px}.room-info{flex:1;display:flex;flex-direction:column;gap:4px}.room-info strong{color:#1f2937;font-size:15px}.room-info small{color:#6b7280;font-size:13px}@media(max-width:768px){.input-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.room-editor{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000001a}.room-editor.empty{text-align:center;padding:40px 20px;color:#9ca3af}.room-editor h3{font-size:1.3rem;margin-bottom:20px;color:#1f2937;border-bottom:2px solid #667eea;padding-bottom:10px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px}.room-stats{background:#f9fafb;padding:15px;border-radius:8px;margin:20px 0}.stat-item{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.stat-item strong{color:#667eea;font-size:1.3rem}.editor-actions{display:flex;gap:10px;margin-top:20px}.editor-actions button{flex:1}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 12px #ef444466}@media(max-width:768px){.input-row{grid-template-columns:1fr}.editor-actions{flex-direction:column}}.material-manager{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.manager-header h3{font-size:1.5rem;color:#1f2937;margin:0}.material-form{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:20px}.material-form h4{font-size:1.1rem;margin-bottom:15px;color:#374151}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.materials-table-wrapper{overflow-x:auto;margin-top:20px}.materials-table{width:100%;border-collapse:collapse}.materials-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.materials-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:14px}.materials-table td{padding:12px 15px;border-bottom:1px solid #e5e7eb;font-size:14px}.materials-table tbody tr:hover{background:#f9fafb}.materials-table input,.materials-table select{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.materials-table input:focus,.materials-table select:focus{outline:none;border-color:#667eea}.category-badge{display:inline-block;padding:4px 12px;background:#f3f4f6;border-radius:12px;font-size:12px;font-weight:500}.price-cell{font-weight:600;color:#10b981}.action-buttons{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{transform:scale(1.1)}.btn-edit{background:#3b82f6}.btn-edit:hover{background:#2563eb}.btn-delete:hover{background:#dc2626}.btn-success{background:#10b981}.btn-success:hover{background:#059669}.empty-state,.loading-state{text-align:center;padding:40px 20px;color:#9ca3af;font-size:1.1rem}@media(max-width:768px){.manager-header{flex-direction:column;align-items:flex-start;gap:15px}.manager-header button{width:100%}.input-row{grid-template-columns:1fr}.materials-table{font-size:12px}.materials-table th,.materials-table td{padding:8px 10px}.action-buttons{flex-direction:column;gap:4px}}.badge-custom{display:inline-block;margin-left:8px;padding:3px 8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;box-shadow:0 2px 4px #10b98133}.badge-global{display:inline-block;margin-left:8px;padding:3px 8px;background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;box-shadow:0 2px 4px #6b728033}.project-manager{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.manager-header h3{font-size:1.5rem;color:#1f2937;margin:0 0 5px}.subtitle{color:#6b7280;font-size:.9rem;margin:0}.save-form{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:30px;border:2px dashed #667eea}.save-form h4{font-size:1.1rem;margin-bottom:15px;color:#374151}.save-form textarea{width:100%;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .3s}.save-form textarea:focus{outline:none;border-color:#667eea}.project-info{background:#fff;padding:15px;border-radius:8px;margin:15px 0}.project-info h5{font-size:.95rem;margin-bottom:10px;color:#374151}.project-info ul{list-style:none;padding:0;margin:0}.project-info li{padding:6px 0;font-size:.9rem;color:#6b7280}.projects-section{margin-top:30px}.projects-section h4{font-size:1.1rem;margin-bottom:20px;color:#374151}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.project-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s}.project-card:hover{border-color:#667eea;box-shadow:0 4px 6px #667eea33;transform:translateY(-2px)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.project-header h5{font-size:1.1rem;color:#1f2937;margin:0;flex:1}.project-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-load{background:#3b82f6}.btn-load:hover{background:#2563eb;transform:scale(1.1)}.btn-delete{background:#ef4444}.btn-delete:hover{background:#dc2626;transform:scale(1.1)}.project-description{color:#6b7280;font-size:.9rem;margin:10px 0;line-height:1.5}.owner-info{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:8px 12px;border-radius:6px;margin-top:8px;border-left:3px solid #f59e0b}.owner-info .label{color:#92400e;font-weight:700}.owner-details{color:#78350f;font-weight:600;font-size:.85rem}.project-details{margin:15px 0;padding:12px;background:#f9fafb;border-radius:8px}.detail-item{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem}.detail-item .label{color:#6b7280}.detail-item .cost{color:#10b981;font-weight:600}.project-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;text-align:center}.project-footer small{color:#9ca3af;font-size:.85rem}.empty-state,.loading-state{text-align:center;padding:60px 20px;color:#9ca3af}.empty-state p{font-size:1.1rem;margin:10px 0}.empty-state .hint{font-size:.95rem;color:#b8b8b8}@media(max-width:768px){.manager-header{flex-direction:column;align-items:flex-start;gap:15px}.manager-header button{width:100%}.projects-grid{grid-template-columns:1fr}.project-card{padding:16px}}.floor-plan-3d-container{width:100%;height:100%;display:flex;gap:20px}.controls-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:15px}.controls-info{background:#f9fafb;padding:12px 15px;border-radius:8px;border:2px solid #e5e7eb;font-size:13px}.controls-info p{margin:0;color:#374151;line-height:1.5}.controls-info strong{color:#667eea}.visibility-controls{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:15px;flex:1}.visibility-controls h4{font-size:1rem;margin:0 0 15px;color:#1f2937;padding-bottom:10px;border-bottom:2px solid #667eea}.toggle-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.toggle-item{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px;border-radius:6px;transition:background .2s}.toggle-item:hover{background:#f9fafb}.toggle-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.toggle-label{font-size:14px;color:#374151;font-weight:500;-webkit-user-select:none;user-select:none}.toggle-item input:checked+.toggle-label{color:#667eea;font-weight:600}.preset-buttons{display:flex;flex-direction:column;gap:8px}.btn-preset{padding:10px 15px;border:2px solid #e5e7eb;background:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;color:#374151}.btn-preset:hover{border-color:#667eea;background:#f9fafb;transform:translateY(-1px)}.btn-preset:active{transform:translateY(0)}.floor-plan-3d-canvas{flex:1;height:600px;border-radius:8px;overflow:hidden;border:2px solid #e5e7eb;touch-action:none;-webkit-user-select:none;user-select:none}@media(max-width:1024px){.floor-plan-3d-container{flex-direction:column}.controls-panel{width:100%}.visibility-controls{padding:12px}.toggle-group{flex-direction:row;flex-wrap:wrap}.toggle-item{flex:1;min-width:150px}}@media(max-width:768px){.floor-plan-3d-canvas{height:400px}.controls-info{font-size:11px;padding:8px 10px}.toggle-group{flex-direction:column}.toggle-label{font-size:13px}.btn-preset{font-size:12px;padding:8px 12px}}.user-management{width:100%;padding:20px 0}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.management-header h2{margin:0;font-size:1.8rem;color:#1f2937}.management-header .subtitle{color:#6b7280;margin:5px 0 0;font-size:.95rem}.btn-refresh{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.users-table tbody tr:hover{background:#f9fafb}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px;font-size:.95rem}.user-name{font-weight:600;color:#1f2937}.user-email{color:#6b7280}.date-cell{color:#6b7280;font-size:.85rem}.role-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.role-badge.superuser{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.role-badge.user{background:#e5e7eb;color:#374151}.actions-cell{display:flex;gap:8px}.btn-edit,.btn-delete{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover{background:#2563eb;transform:translateY(-1px)}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.edit-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-modal{background:#fff;border-radius:16px;padding:30px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.edit-modal h3{margin:0 0 20px;color:#1f2937;font-size:1.5rem}.edit-modal .form-group{margin-bottom:20px}.edit-modal label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:.9rem}.edit-modal input,.edit-modal select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit}.edit-modal input:focus,.edit-modal select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.edit-modal small{display:block;color:#6b7280;font-size:.85rem;margin-top:5px}.form-actions{display:flex;gap:10px;margin-top:25px}.btn-cancel,.btn-save{flex:1;padding:12px 20px;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-save:disabled{opacity:.6;cursor:not-allowed}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:#6b7280}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:30px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:all .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.stat-value{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1024px){.users-table{font-size:.85rem}.users-table th,.users-table td{padding:12px 8px}.actions-cell{flex-direction:column;gap:4px}.btn-edit,.btn-delete{width:100%}}@media(max-width:768px){.management-header{flex-direction:column;align-items:flex-start}.btn-refresh{width:100%}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.stats-summary{grid-template-columns:1fr}}.app{min-height:100vh}.app-header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:40px 20px;text-align:center;color:#fff;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.app-header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.app-header p{font-size:1.2rem;opacity:.9}.header-with-user .header-content{display:flex;justify-content:space-between;align-items:center;text-align:left;max-width:1200px;margin:0 auto}.user-menu{display:flex;align-items:center;gap:15px}.user-name{background:#fff3;padding:10px 20px;border-radius:25px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-logout{background:#ffffffe6;color:#667eea;border:none;padding:10px 20px;border-radius:25px;font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{font-size:1.2rem;font-weight:600}@media(max-width:768px){.header-with-user .header-content{flex-direction:column;gap:20px;text-align:center}.app-header h1{font-size:1.8rem}.user-menu{flex-direction:column;width:100%}.user-name,.btn-logout{width:100%;text-align:center}}.card h2{font-size:1.5rem;margin-bottom:20px;color:#1f2937;border-bottom:3px solid #667eea;padding-bottom:10px}.tabs{display:flex;gap:10px;margin:20px 0;background:#fff;padding:10px;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tab{flex:1;padding:15px 24px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6b7280}.tab:hover{border-color:#667eea;background:#f9fafb;transform:translateY(-2px)}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 6px #667eea4d}.tab.admin-tab{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:#f59e0b}.tab.admin-tab:hover{background:linear-gradient(135deg,#d97706,#b45309);border-color:#d97706}.tab.admin-tab.active{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d977064d}@media(max-width:768px){.app-header h1{font-size:1.8rem}.app-header p{font-size:1rem}.grid-2{grid-template-columns:1fr}.tabs{flex-direction:column}.tab{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.input-group{margin-bottom:16px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151}.input-group input,.input-group select{width:100%;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .3s ease}.input-group input:focus,.input-group select:focus{outline:none;border-color:#667eea}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
