.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.login-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:8px}.login-header p{color:#7f8c8d;font-size:1rem;margin-bottom:32px}.login-form{text-align:left}.form-group{margin-bottom:24px}.form-group label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.form-group input{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group input:disabled{background:#f1f2f6;cursor:not-allowed}.google-login-button{align-items:center;background:#fff;border:2px solid #e1e8ed;border-radius:8px;color:#2c3e50;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:12px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .3s ease;width:100%}.google-login-button:hover:not(:disabled){background:#f8f9fa;border-color:#4285f4;box-shadow:0 8px 25px #4285f433;transform:translateY(-2px)}.google-login-button:disabled{background:#f1f2f6;border-color:#e1e8ed;box-shadow:none;cursor:not-allowed;transform:none}.google-login-button:before{content:"🔍";font-size:1.2rem}.login-footer{border-top:1px solid #e1e8ed;margin-top:32px;padding-top:24px}.login-footer p{color:#7f8c8d;font-size:.9rem;margin-bottom:16px}.demo-accounts{display:flex;flex-direction:column;gap:8px}.demo-account{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;color:#2c3e50;font-size:.85rem;padding:12px}.demo-account strong{color:#3498db}.error-message{text-align:left}@media (max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.login-header h1{font-size:2rem}.demo-accounts{gap:6px}.demo-account{font-size:.8rem;padding:8px}}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden;position:relative}.table-locked{opacity:.6;pointer-events:none}.table-locked .cell-content{cursor:not-allowed!important}.table-wrapper{max-height:70vh;overflow-x:auto;overflow-y:auto}.product-table{border-collapse:collapse;font-size:.9rem;min-width:1200px;width:100%}.table-header{background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.table-header th{border-right:1px solid #ffffff1a;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.table-header th:last-child{border-right:none}.sortable{cursor:pointer;position:relative;transition:all .3s ease;-webkit-user-select:none;user-select:none}.sortable:hover{background:#ffffff1a}.sortable:after{color:#ffffffb3;content:"↕";font-size:.8rem;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.table-body{background:#fff}.table-row{border-bottom:1px solid #ecf0f1;transition:all .2s ease}.table-row:hover{background:#f8f9fa}.table-row:nth-child(2n){background:#fafbfc}.table-row:nth-child(2n):hover{background:#f1f3f4}.table-cell{border-right:1px solid #ecf0f1;padding:12px;position:relative;transition:all .2s ease;vertical-align:middle}.table-cell.editing{background:#f0f8ff;border-left:3px solid #3498db}.table-cell:last-child{border-right:none}.cell-content{border-radius:4px;cursor:pointer;display:block;min-height:20px;padding:4px 8px;transition:all .2s ease}.cell-content:hover{background:#e3f2fd;color:#1976d2}.cell-content:not(:hover){background:#0000}.low-stock{background:#ffebee!important;color:#c62828!important;font-weight:600}.low-stock:hover{background:#ffcdd2!important;color:#b71c1c!important}.edit-input{animation:editPulse .3s ease-in-out;background:#f8f9ff;border:2px solid #3498db;border-radius:4px;box-shadow:0 0 0 2px #3498db33;font-size:.9rem;outline:none;padding:4px 8px;width:100%}.edit-input:focus{background:#fff;border-color:#2980b9;box-shadow:0 0 0 3px #3498db4d}@keyframes editPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.id-cell{color:#7f8c8d;font-weight:600;text-align:center;width:60px}.name-cell{color:#2c3e50;font-weight:600;min-width:200px}.description-cell{color:#7f8c8d;font-style:italic;min-width:250px}.part-number-cell{color:#34495e;font-family:Courier New,monospace;font-weight:600;min-width:120px}.price-cell{color:#27ae60;font-weight:600;min-width:100px;text-align:right}.unit-cell{color:#7f8c8d;font-size:.8rem;text-align:center;text-transform:uppercase;width:80px}.category-cell{color:#2c3e50;min-width:120px}.brand-cell{color:#7f8c8d;font-weight:500;min-width:120px}.stock-cell{font-weight:600;text-align:center;width:80px}.loading-overlay{background:#ffffffe6;z-index:20}.loading-overlay,.updating-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.updating-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffffff2;border-radius:12px;display:flex;flex-direction:column;justify-content:center;z-index:30}.error-message{background:#ffebee;border-radius:12px;color:#e74c3c;margin:20px;padding:40px;text-align:center}@media (max-width:1200px){.table-wrapper{max-height:60vh}.product-table{font-size:.85rem}.table-cell,.table-header th{padding:10px 8px}}@media (max-width:768px){.table-wrapper{max-height:50vh}.product-table{font-size:.8rem;min-width:1000px}.table-cell,.table-header th{padding:8px 6px}.name-cell{min-width:150px}.description-cell{min-width:200px}}@media (max-width:480px){.table-wrapper{max-height:40vh}.product-table{font-size:.75rem;min-width:800px}.table-cell,.table-header th{padding:6px 4px}}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:24px 24px 16px}.modal-header h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#95a5a6;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.modal-close:hover{background:#f8f9fa;color:#7f8c8d}.modal-close:focus{outline:2px solid #3498db;outline-offset:2px}.modal-body{padding:24px}.modal-body p{color:#7f8c8d;font-size:1rem;line-height:1.6;margin:0}.modal-footer{border-top:1px solid #ecf0f1;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.modal-button{border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;min-width:80px;padding:10px 20px;transition:all .3s ease}.cancel-button{background:#ecf0f1;border:1px solid #bdc3c7;color:#7f8c8d}.cancel-button:hover{background:#d5dbdb;box-shadow:0 2px 8px #0000001a;color:#5d6d7e;transform:translateY(-1px)}.confirm-button{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;color:#fff}.confirm-button:hover{background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-1px)}.confirm-button:focus{outline:2px solid #3498db;outline-offset:2px}@media (max-width:768px){.modal-overlay{padding:16px}.modal-content{max-width:100%}.modal-header{padding:20px 20px 16px}.modal-header h3{font-size:1.2rem}.modal-body{padding:20px}.modal-footer{flex-direction:column;padding:16px 20px 20px}.modal-button{padding:12px 20px;width:100%}}@media (max-width:480px){.modal-overlay{padding:12px}.modal-header{padding:16px 16px 12px}.modal-header h3{font-size:1.1rem}.modal-body{padding:16px}.modal-body p{font-size:.9rem}.modal-footer{padding:12px 16px 16px}.modal-button{font-size:.85rem;padding:10px 16px}}.notification{border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;min-width:300px;opacity:0;overflow:hidden;position:fixed;right:20px;top:20px;transform:translateX(100%);transition:all .3s ease-in-out;z-index:1000}.notification-visible{opacity:1;transform:translateX(0)}.notification-content{align-items:center;display:flex;gap:12px;padding:16px}.notification-icon{flex-shrink:0;font-size:20px}.notification-message{flex:1 1;font-size:14px;font-weight:500;line-height:1.4}.notification-close{align-items:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:24px;justify-content:center;padding:0;transition:background-color .2s ease;width:24px}.notification-close:hover{background-color:#0000001a}.notification-success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.notification-error{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.notification-warning{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.notification-info{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}@media (max-width:480px){.notification{left:10px;max-width:none;min-width:auto;right:10px;top:10px}.notification-content{gap:8px;padding:12px}.notification-message{font-size:13px}.notification-icon{font-size:18px}.notification-close{font-size:18px;height:20px;width:20px}}.search-bar-container{align-items:center;background:#fff;border:1px solid #ecf0f1;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;gap:16px;margin-bottom:24px;padding:20px}.search-input-container{flex:1 1;max-width:400px;position:relative}.search-input{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;outline:none;padding:12px 16px 12px 44px;transition:all .3s ease;width:100%}.search-input:focus{background:#fff;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.search-input::placeholder{color:#95a5a6;font-style:italic}.search-icon{color:#7f8c8d;font-size:1.1rem;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.action-buttons{align-items:center;animation:slideIn .3s ease-out;display:flex;gap:12px}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.update-button{background:linear-gradient(135deg,#27ae60,#229954);border-radius:6px;color:#fff;font-size:.9rem;font-weight:600;min-width:100px;padding:10px 20px;transition:all .3s ease}.update-button:hover:not(:disabled){background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.update-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.undo-button{background:linear-gradient(135deg,#e67e22,#d35400);border-radius:6px;color:#fff;font-size:.9rem;font-weight:600;min-width:80px;padding:10px 20px;transition:all .3s ease}.undo-button:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);box-shadow:0 4px 12px #e67e224d;transform:translateY(-2px)}.undo-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.update-button:disabled{color:#0000;position:relative}.update-button:disabled:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}@media (max-width:768px){.search-bar-container{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.search-input-container{max-width:none}.action-buttons{flex-wrap:wrap;justify-content:center}.undo-button,.update-button{flex:1 1;min-width:120px}}@media (max-width:480px){.search-bar-container{padding:12px}.search-input{font-size:.9rem;padding:10px 14px 10px 40px}.search-icon{font-size:1rem;left:12px}.action-buttons{gap:8px}.undo-button,.update-button{font-size:.85rem;min-width:100px;padding:8px 16px}}.admin-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #fff3;box-shadow:0 2px 20px #0000001a;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-left{gap:16px}.header-left,.header-right{align-items:center;display:flex}.admin-header h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.user-greeting{color:#7f8c8d;font-size:1rem;font-weight:500}.logout-button{border:none;cursor:pointer}.back-btn{background:linear-gradient(135deg,#95a5a6,#7f8c8d);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.back-btn:hover{background:linear-gradient(135deg,#7f8c8d,#6c7b7d);box-shadow:0 4px 12px #7f8c8d4d;transform:translateY(-1px)}@media (max-width:768px){.header-content{flex-direction:column;gap:16px;text-align:center}.header-left{flex-direction:column;gap:12px}.admin-header h1{font-size:1.5rem}.user-info{flex-direction:column;gap:12px}}@media (max-width:480px){.header-content{padding:0 16px}.admin-header h1{font-size:1.3rem}.user-greeting{font-size:.9rem}.back-btn,.logout-button{font-size:.8rem;padding:6px 12px}}.placeholder-content{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;min-height:60vh;padding:48px 24px;text-align:center}.placeholder-icon{font-size:6rem;margin-bottom:24px;opacity:.7}.placeholder-content h2{color:#2c3e50;font-size:2.5rem;font-weight:600;margin-bottom:16px}.placeholder-content>p{color:#7f8c8d;font-size:1.2rem;line-height:1.6;margin-bottom:32px}.placeholder-info{background:#f8f9fa;border-left:4px solid #3498db;border-radius:12px;padding:24px}.placeholder-info p{color:#5a6c7d;font-size:1rem;line-height:1.5;margin-bottom:12px}.placeholder-info p:last-child{font-weight:500;margin-bottom:0}@media (max-width:768px){.placeholder-content{min-height:50vh;padding:32px 20px}.placeholder-icon{font-size:4rem}.placeholder-content h2{font-size:2rem}.placeholder-content>p{font-size:1.1rem}}@media (max-width:480px){.placeholder-content{padding:24px 16px}.placeholder-icon{font-size:3rem}.placeholder-content h2{font-size:1.8rem}.placeholder-content>p{font-size:1rem}.placeholder-info{padding:20px}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.dashboard-content h2{color:#fff;font-size:2rem;font-weight:600;margin-bottom:24px;text-align:center}.feature-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.feature-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 8px 32px #0000001a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.feature-card:hover{box-shadow:0 16px 48px #00000026;transform:translateY(-4px)}.feature-card:before{background:linear-gradient(135deg,#3498db,#2980b9);content:"";height:4px;left:0;position:absolute;right:0;top:0}.feature-card .card-icon{display:block;font-size:3rem;margin-bottom:16px}.feature-card h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:12px}.feature-card p{color:#7f8c8d;font-size:1rem;line-height:1.5;margin-bottom:20px}.card-status{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.card-status.active{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.card-status.coming-soon{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.breadcrumb{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;gap:8px;margin-bottom:24px;padding:12px 20px}.breadcrumb-item{border-radius:4px;color:#fffc;cursor:pointer;font-size:.9rem;font-weight:500;padding:4px 8px;transition:all .3s ease}.breadcrumb-item:hover{background:#ffffff1a;color:#fff}.breadcrumb-item.active{color:#fff;cursor:default;font-weight:600}.breadcrumb-item.active:hover{background:none}.breadcrumb-separator{color:#fff9;font-size:1.2rem;font-weight:300}@media (max-width:768px){.dashboard-main{padding:20px 16px}.dashboard-content h2{font-size:1.5rem}.breadcrumb{margin-bottom:20px;padding:10px 16px}.breadcrumb-item{font-size:.8rem}.feature-cards{gap:16px;grid-template-columns:1fr}.feature-card{padding:20px}}@media (max-width:480px){.dashboard-main{padding:16px 12px}.dashboard-content h2{font-size:1.3rem}.breadcrumb{margin-bottom:16px;padding:8px 12px}.breadcrumb-item{font-size:.75rem}.feature-card{padding:16px}.feature-card .card-icon{font-size:2.5rem}.feature-card h3{font-size:1.3rem}}.user-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.dashboard-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #fff3;box-shadow:0 2px 20px #0000001a;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.dashboard-header h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.user-info{align-items:center;display:flex;gap:16px}.user-info span{color:#7f8c8d;font-weight:500}.logout-button{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.logout-button:hover{background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-1px)}.dashboard-main{margin:0 auto;max-width:1200px;padding:32px 20px}.dashboard-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}.profile-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;transition:all .3s ease}.profile-card:hover{box-shadow:0 16px 48px #00000026;transform:translateY(-4px)}.profile-card .card-header{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;margin:0;padding:24px}.profile-card .card-header h2{color:#fff;font-size:1.8rem;margin-bottom:8px}.profile-card .card-content{padding:24px}.profile-info{grid-gap:16px;display:grid;gap:16px}.profile-field{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:12px 0}.profile-field:last-child{border-bottom:none}.profile-field label{color:#2c3e50;font-size:.9rem;font-weight:600}.profile-field span{color:#7f8c8d;font-size:.9rem}.role-badge{background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.user-role{background:linear-gradient(135deg,#3498db,#2980b9)}.main-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;transition:all .3s ease}.main-card:hover{box-shadow:0 16px 48px #00000026;transform:translateY(-4px)}.main-card .card-header{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;margin:0;padding:24px}.main-card .card-header h2{color:#fff;font-size:1.8rem;margin-bottom:8px}.main-card .card-header p{color:#ffffffe6;font-size:1rem}.main-card .card-content{padding:24px}.welcome-content{padding:20px 0;text-align:center}.welcome-content p{color:#7f8c8d;font-size:1rem;line-height:1.6;margin-bottom:16px}.welcome-content p:last-child{color:#95a5a6;font-style:italic;margin-bottom:0}.secondary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.secondary-cards .card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:20px;transition:all .3s ease}.secondary-cards .card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.secondary-cards .card h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:12px}.secondary-cards .card p{color:#7f8c8d;font-size:.9rem;line-height:1.5;margin-bottom:16px}.card-button{background:linear-gradient(135deg,#95a5a6,#7f8c8d);border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .3s ease;width:100%}.card-button:hover{background:linear-gradient(135deg,#7f8c8d,#6c7b7d);box-shadow:0 4px 12px #7f8c8d4d;transform:translateY(-1px)}@media (max-width:768px){.header-content{flex-direction:column;gap:16px;text-align:center}.dashboard-header h1{font-size:1.5rem}.dashboard-main{padding:20px 16px}.dashboard-cards{gap:16px}.main-card .card-content,.main-card .card-header,.profile-card .card-content,.profile-card .card-header{padding:20px}.secondary-cards{gap:16px;grid-template-columns:1fr}.profile-field{align-items:flex-start;flex-direction:column;gap:4px}}@media (max-width:480px){.dashboard-main{padding:16px 12px}.main-card .card-content,.main-card .card-header,.profile-card .card-content,.profile-card .card-header,.secondary-cards .card{padding:16px}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}button{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:500;transition:all .3s ease}button:disabled{cursor:not-allowed;opacity:.6}button:not(:disabled):hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:20px;padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-2px)}.card-header{margin-bottom:16px}.card-header h2{color:#2c3e50;font-size:1.5rem;margin-bottom:8px}.card-header h3{color:#34495e;font-size:1.2rem;margin-bottom:8px}.card-header p{color:#7f8c8d;font-size:.9rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-overlay{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-overlay p{color:#7f8c8d;font-size:1rem}.error-message{background:#fee;border-left:4px solid #c33;color:#c33}.error-message,.success-message{border-radius:8px;font-size:.9rem;margin:16px 0;padding:12px 16px}.success-message{background:#efe;border-left:4px solid #3c3;color:#3c3}@media (max-width:768px){.card{margin-bottom:16px;padding:16px}.card-header h2{font-size:1.3rem}.card-header h3{font-size:1.1rem}}@media (max-width:480px){.card{margin-bottom:12px;padding:12px}.card-header h2{font-size:1.2rem}.card-header h3{font-size:1rem}}
/*# sourceMappingURL=main.74aae128.css.map*/