.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h1{color:#333;font-size:1.8rem;margin-bottom:.5rem;text-align:center}.subtitle{color:#666;text-align:center;margin-bottom:1.5rem;font-size:.95rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s;font-family:inherit}.submit-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.toggle-auth{text-align:center;margin-top:1.5rem;color:#666;font-size:.95rem}.toggle-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;padding:0;text-decoration:underline;margin-left:.25rem}.toggle-button:hover{color:#764ba2}@media (max-width: 600px){.login-card{padding:1.5rem}.login-card h1{font-size:1.5rem}}.brand-extractor{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.brand-extractor h2{color:#333;margin-bottom:.5rem;font-size:1.5rem}.extractor-form{margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;color:#333;font-weight:500;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #c33}.result-card{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:1.5rem}.result-card h3{color:#333;margin-bottom:1rem}.url{color:#667eea;font-size:.9rem;margin-bottom:1.5rem;word-break:break-all}.branding-details{display:grid;gap:1.5rem}.detail-section{border-top:1px solid #e0e0e0;padding-top:1rem}.detail-section:first-child{border-top:none;padding-top:0}.detail-section h4{color:#333;margin-bottom:.75rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.colors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.color-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.color-box{width:80px;height:80px;border-radius:8px;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a}.color-label{font-size:.75rem;color:#666;text-align:center;word-break:break-word}.detail-section ul{list-style:none;padding:0}.detail-section li{padding:.5rem 0;color:#666;border-bottom:1px solid #f0f0f0}.detail-section li:last-child{border-bottom:none}.detail-section li strong{color:#333;display:inline-block;min-width:100px}.detail-section p{color:#666;line-height:1.6}@media (max-width: 768px){.brand-extractor{padding:1.5rem}.colors-grid{grid-template-columns:repeat(2,1fr)}}.graphic-generator{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.graphic-generator h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.generator-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem}.brand-info{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:1.5rem}.brand-info h3{color:#333;font-size:1rem;margin-bottom:.75rem}.brand-url{color:#667eea;font-size:.85rem;margin-bottom:1rem;word-break:break-all}.brand-preview{display:flex;flex-direction:column;gap:.75rem}.preview-item{font-size:.9rem;color:#666}.preview-item strong{color:#333;display:block;margin-bottom:.25rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.color-preview{display:flex;gap:.5rem;flex-wrap:wrap}.color-dot{width:30px;height:30px;border-radius:50%;border:2px solid #ddd;cursor:pointer}.generator-form{flex:1}.form-group{margin-bottom:1.25rem}.form-group label{display:block;color:#333;font-weight:500;margin-bottom:.5rem;font-size:.95rem}.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;resize:vertical}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;border-left:4px solid #c33;font-size:.9rem}.submit-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.submit-button:disabled{opacity:.7;cursor:not-allowed}.image-section{display:flex;flex-direction:column;gap:1rem}.image-section h3{color:#333;font-size:1rem}.image-container{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:1rem;display:flex;align-items:center;justify-content:center;min-height:400px}.generated-image{max-width:100%;max-height:500px;border-radius:4px;box-shadow:0 4px 12px #00000026}.download-button{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;text-align:center;font-weight:600;transition:all .3s}.download-button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}@media (max-width: 1024px){.generator-container{grid-template-columns:1fr}.image-container{min-height:300px}.generated-image{max-height:350px}}.brand-gallery{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.brand-gallery h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.brands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.brand-card{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:1.5rem;transition:all .3s;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.brand-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.brand-header{border-bottom:1px solid #e0e0e0;padding-bottom:1rem}.brand-header h3{color:#333;margin:0;font-size:1rem;word-break:break-word;margin-bottom:.5rem}.created-date{color:#999;font-size:.8rem;margin:0}.brand-details{display:flex;flex-direction:column;gap:.75rem;flex:1}.detail-item{font-size:.9rem}.detail-item strong{color:#333;display:block;margin-bottom:.25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.detail-item p{color:#666;margin:0;font-size:.85rem;line-height:1.4}.colors-preview{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:25px;height:25px;border-radius:4px;border:1px solid #ddd}.generate-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:.5rem}.generate-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}@media (max-width: 768px){.brands-grid{grid-template-columns:1fr}.brand-gallery{padding:1.5rem}}.graphic-gallery{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.graphic-gallery h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.loading,.error{text-align:center;padding:3rem;color:#666}.error{color:#c33;background:#fee;border-left:4px solid #c33}.empty-state{text-align:center;padding:3rem}.empty-state .emoji{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:#333;margin-bottom:.5rem}.empty-state p{color:#666}.graphics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.graphic-card{background:#f9f9f9;border:1px solid #eee;border-radius:8px;overflow:hidden;transition:all .3s;display:flex;flex-direction:column;height:100%}.graphic-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.image-wrapper{width:100%;aspect-ratio:1;background:#f0f0f0;display:flex;align-items:center;justify-content:center;overflow:hidden}.graphic-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.graphic-card:hover .graphic-image{transform:scale(1.05)}.graphic-info{padding:1rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.prompt{color:#333;font-size:.9rem;line-height:1.4;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.metadata{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.model-badge{background:#e8eaf6;color:#3f51b5;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.date{color:#999;font-size:.8rem;margin-left:auto}.download-button{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:4px;text-decoration:none;text-align:center;font-weight:600;font-size:.85rem;transition:all .3s;align-self:flex-start}.download-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}@media (max-width: 768px){.graphic-gallery{padding:1.5rem}.graphics-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.graphic-info{padding:.75rem}.prompt{font-size:.8rem;-webkit-line-clamp:2}}.admin-panel{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.admin-panel h2{color:#333;margin-bottom:.5rem}.subtitle{color:#666;margin-bottom:1.5rem;font-size:.95rem}.add-form{margin-bottom:1.5rem}.input-row{display:flex;gap:.75rem}.input-row input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.input-row input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-row button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .3s}.input-row button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.input-row button:disabled{opacity:.7;cursor:not-allowed}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.95rem}.alert.error{background:#fee;color:#c33;border-left:4px solid #c33}.alert.success{background:#efe;color:#363;border-left:4px solid #363}.emails-list h3{color:#333;margin-bottom:1rem;font-size:1rem}.loading{color:#666;text-align:center;padding:1rem}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.75rem;background:#f5f5f5;color:#333;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}td{padding:.75rem;border-bottom:1px solid #f0f0f0;color:#555;font-size:.95rem}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.admin-badge{background:#e8eaf6;color:#3f51b5;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:.5rem;text-transform:uppercase}.remove-btn{background:none;border:1px solid #e33;color:#e33;padding:.3rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#e33;color:#fff}@media (max-width: 600px){.input-row{flex-direction:column}.input-row button{width:100%}table{font-size:.85rem}th,td{padding:.5rem}}.dashboard{display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.header-content{max-width:1200px;margin:0 auto;width:100%;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:1.8rem}.header-actions{display:flex;align-items:center;gap:1rem}.user-email{font-size:.95rem;opacity:.9}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s}.logout-button:hover{background:#ffffff4d;border-color:#fff}.dashboard-nav{background:#fff;border-bottom:1px solid #ddd;padding:0 1.5rem;display:flex;gap:.5rem;overflow-x:auto;box-shadow:0 2px 4px #0000000d}.nav-button{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;color:#666;font-weight:500;border-bottom:3px solid transparent;transition:all .3s;white-space:nowrap}.nav-button:hover:not(:disabled){color:#333}.nav-button.active{color:#667eea;border-bottom-color:#667eea}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button.admin-tab{margin-left:auto;color:#764ba2}.nav-button.admin-tab.active{color:#764ba2;border-bottom-color:#764ba2}.header-actions .admin-badge{background:#e8eaf6;color:#3f51b5;padding:.2rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.dashboard-content{flex:1;max-width:1200px;margin:2rem auto;width:100%;padding:0 1.5rem}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.dashboard-header h1{font-size:1.3rem}.header-actions{flex-direction:column;gap:.5rem;width:100%}.logout-button{width:100%}.dashboard-nav{padding:0;flex-wrap:wrap}.nav-button{flex:1;min-width:120px;padding:.75rem;font-size:.85rem}}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;gap:1rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
