*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0}.login-page{align-items:center;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:2.5rem;text-align:center;width:100%}.login-logo{margin-bottom:1.5rem}.login-card h1{color:#1a1a2e;font-size:1.4rem;margin:0 0 .25rem}.login-subtitle{color:#666;font-size:.9rem;margin:0 0 2rem}.form-group{margin-bottom:1.25rem;text-align:left}.form-group label{color:#333;display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#4361ee;outline:none}.login-error{background:#fff0f0;border-radius:8px;color:#d32f2f;font-size:.85rem;margin-bottom:1rem;padding:.6rem 1rem}.login-btn{font-size:1rem;padding:.85rem;width:100%}.app-layout{background:#f0f2f5;display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;flex-shrink:0;padding:1.25rem 0;width:240px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:.75rem;margin-bottom:.5rem;padding:0 1.25rem 1.5rem}.sidebar-title{font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:.5rem .75rem}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffa6;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .15s;width:100%}.sidebar-item:hover{background:#ffffff14;color:#fff}.sidebar-item.active{background:#4361ee4d;color:#fff;font-weight:600}.sidebar-footer{align-items:center;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem 1.25rem 0}.sidebar-user{gap:.6rem}.sidebar-user,.user-avatar{align-items:center;display:flex;font-size:.85rem}.user-avatar{background:#4361ee;border-radius:50%;font-weight:700;height:32px;justify-content:center;width:32px}.sidebar-logout{background:#0000;border:none;border-radius:6px;color:#ffffff80;cursor:pointer;display:flex;padding:.4rem;transition:all .15s}.sidebar-logout:hover{background:#f4433633;color:#f44336}.main-content{display:flex;flex:1 1;justify-content:center;max-height:100vh;overflow-y:auto;padding:2rem 2.5rem}.page-title{color:#1a1a2e;font-size:1.5rem;margin:0 0 .25rem}.page-subtitle{color:#666;font-size:.95rem;margin:0 0 2rem}.analyzer-page{max-width:720px;width:100%}.upload-zone{align-items:center;background:#fff;border:2px dashed #c0c8d8;border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:250px;padding:2rem;text-align:center;transition:background .2s,border-color .2s}.upload-zone:hover{background:#f5f8ff;border-color:#4361ee}.upload-zone.has-image{cursor:default;padding:1rem}.upload-placeholder{align-items:center;color:#555;display:flex;flex-direction:column;gap:.5rem}.upload-icon{align-items:center;border:2px solid #4361ee;border-radius:50%;color:#4361ee;display:flex;font-size:2.5rem;height:64px;justify-content:center;margin-bottom:.5rem;width:64px}.upload-hint{color:#999;font-size:.8rem}.image-preview{border-radius:8px;max-height:400px;max-width:100%;object-fit:contain}.actions{display:flex;gap:1rem;margin:1.5rem 0}.btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 2rem;transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#4361ee;color:#fff}.btn-secondary{background:#fff;border:1px solid #ddd;color:#333}.loading{color:#555;padding:1.5rem;text-align:center}.spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4361ee;height:36px;margin:0 auto 1rem;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.error-box{background:#fff0f0;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;margin-top:1rem;padding:1rem 1.5rem}.result-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-top:1.5rem;padding:1.5rem 2rem}.result-box h2{color:#4361ee;font-size:1.05rem;margin:0 0 1rem}.description-text{color:#333;line-height:1.7;margin:0;white-space:pre-wrap}.token-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-top:1rem;padding:1.25rem 2rem}.token-box h3{color:#999;font-size:.85rem;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.token-grid{display:flex;gap:2.5rem;justify-content:center}.token-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.token-item.total .token-value{color:#4361ee}.token-value{color:#1a1a2e;font-size:1.5rem;font-weight:700}.token-label{color:#999;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.token-model{color:#aaa;font-size:.75rem;margin:1rem 0 0;text-align:center}.config-page{max-width:800px;width:100%}.config-page h2.config-page-title{color:#1a1a2e;font-size:1.5rem;margin:0 0 .25rem}.config-page-subtitle{color:#666;font-size:.95rem;margin:0 0 2rem}.providers-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));margin-bottom:1.5rem}.config-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:1.75rem;transition:border-color .2s,box-shadow .2s}.config-card.active-provider{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee1a}.config-card.disabled-provider{opacity:.55}.config-card.disabled-provider:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000f}.provider-coming{align-items:center;background:#f0f0f0;border-radius:20px;color:#999;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;margin-top:.75rem;padding:.3rem .75rem}.provider-fields-disabled{margin-top:1rem}.provider-fields-disabled .config-field{margin-bottom:1rem}.provider-fields-disabled .input-wrapper input{background:#f5f5f5;color:#bbb;cursor:not-allowed}.config-header{gap:1rem;margin-bottom:1.25rem}.config-header,.config-icon{align-items:center;display:flex}.config-icon{background:#4361ee;border-radius:12px;flex-shrink:0;height:52px;justify-content:center;width:52px}.config-header h2{color:#1a1a2e;font-size:1.25rem;margin:0}.config-subtitle{color:#888;font-size:.85rem;margin:.15rem 0 0}.config-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:1.5rem;padding:.35rem .9rem}.config-badge.configured{background:#e8f5e9;color:#2e7d32}.config-badge.not-configured{background:#fff3e0;color:#e65100}.config-field{margin-bottom:1.5rem}.config-field label{align-items:center;color:#555;display:flex;font-size:.8rem;font-weight:700;gap:.5rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:.95rem;padding:.8rem 3rem .8rem 1rem;transition:border-color .2s;width:100%}.input-wrapper input:focus{border-color:#4361ee;outline:none}.toggle-visibility{background:#0000;border:none;color:#aaa;cursor:pointer;display:flex;padding:.25rem;position:absolute;right:.75rem;transition:color .15s}.toggle-visibility:hover{color:#555}.config-message{border-radius:8px;font-size:.85rem;margin-bottom:1rem;padding:.6rem 1rem}.config-message.success{background:#e8f5e9;color:#2e7d32}.config-message.error{background:#fff0f0;color:#c62828}.config-save-btn{align-items:center;display:flex;gap:.5rem;padding:.8rem 2rem}.config-docs-link{align-items:center;color:#4361ee;display:inline-flex;font-size:.85rem;gap:.4rem;margin-top:1rem;text-decoration:none;transition:color .15s}.config-docs-link:hover{color:#2d46c9;text-decoration:underline}.app-name-card{margin-bottom:1.5rem}.app-name-form{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.app-name-form .input-wrapper{flex:1 1;min-width:200px}.app-name-form .config-save-btn{margin-top:0}.app-name-form .config-message{margin-bottom:0;width:100%}
/*# sourceMappingURL=main.1f36292f.css.map*/