@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-app:#07090e;--bg-surface:#0f162aa6;--bg-surface-solid:#0f172a;--bg-surface-hover:#1e293bb3;--border-color:#ffffff14;--border-color-hover:#ffffff29;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-glow:#6366f126;--color-success:#10b981;--color-success-hover:#059669;--color-success-glow:#10b9811a;--color-warning:#f59e0b;--color-danger:#ef4444;--color-danger-hover:#dc2626;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #00000026;--shadow-glass:0 8px 32px 0 #0000005e;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-theme:.3s cubic-bezier(.4, 0, .2, 1);background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}html.light{--bg-app:#f0f4f8;--bg-surface:#ffffffbf;--bg-surface-solid:#fff;--bg-surface-hover:#e2e8f0cc;--border-color:#00000014;--border-color-hover:#00000029;--color-primary:#4f46e5;--color-primary-hover:#3730a3;--color-primary-glow:#4f46e526;--color-success:#059669;--color-success-hover:#047857;--color-success-glow:#0596691a;--color-warning:#d97706;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #0000001f, 0 4px 6px -2px #0000000f;--shadow-glass:0 8px 32px 0 #0000001f;background-color:var(--bg-app);color:var(--text-primary)}*,:before,:after{transition:background-color var(--transition-theme), border-color var(--transition-theme), color var(--transition-theme), box-shadow var(--transition-theme)}html.light input,html.light select,html.light textarea{background:#ffffffe6}html.light input:focus,html.light select:focus{background:#fff}html.light .glass-panel{background:#ffffffbf;box-shadow:0 4px 24px #00000014,0 1px 2px #0000000a}html.light .glass-card{background:#f1f5f999}html.light .glass-card:hover{background:#e2e8f0b3}html.light .suggestions-list{background:#fff;box-shadow:0 8px 24px #0000001f}html.light .suggestion-item{color:var(--text-secondary);border-bottom-color:#0000000a}html.light .suggestion-item:hover{color:var(--text-primary);background:#4f46e514}html.light .google-power-badge{background:#f8fafc99;border-top-color:#0000000f}html.light ::-webkit-scrollbar-track{background:#f1f5f9}html.light ::-webkit-scrollbar-thumb{background:#cbd5e1}html.light .btn-secondary{color:var(--text-primary);border-color:var(--border-color);background:#e2e8f0b3}html.light .btn-secondary:hover:not(:disabled){border-color:var(--border-color-hover);background:#cbd5e1e6}html.light .btn:disabled{color:var(--text-muted);opacity:.6;background:#94a3b833;border-color:#94a3b833}*,:before,:after{box-sizing:inherit}body{flex-direction:column;min-height:100vh;margin:0;padding:0;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-glass);transition:border-color var(--transition-normal), transform var(--transition-normal)}.glass-panel:hover{border-color:var(--border-color-hover)}.glass-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#1e293b66;padding:1.5rem}.glass-card:hover{border-color:var(--border-color-hover);background:#1e293b80;transform:translateY(-2px)}.text-gradient{background:linear-gradient(135deg,#a5b4fc 0%,#6366f1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-success{background:linear-gradient(135deg,#34d399 0%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex;position:relative}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);background:#0f172a99;outline:none;padding:.85rem 1rem;font-size:.95rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background:#0f172acc}input::placeholder{color:var(--text-muted)}input:disabled,select:disabled{opacity:.6;cursor:not-allowed}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px #6366f166}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 4px 14px #10b98166}.btn-success:hover:not(:disabled){background:var(--color-success-hover);transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#1e293b99}.btn-secondary:hover:not(:disabled){border-color:var(--border-color-hover);background:#1e293be6;transform:translateY(-1px)}.btn-danger{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);color:#fff;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-icon-only{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.5rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.gm-style .gm-style-iw-c{border:1px solid var(--border-color);background-color:var(--bg-surface-solid)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-glass)!important;font-family:var(--font-sans)!important}.gm-style .gm-style-iw-d{color:var(--text-primary)!important;overflow:auto!important}.gm-style .gm-style-iw-tc:after{background-color:var(--bg-surface-solid)!important}.google-power-badge{background:#0f172a66;border-top:1px solid #ffffff0a;justify-content:flex-end;align-items:center;gap:.3rem;padding:.5rem 1rem;display:flex}.suggestions-list{z-index:1000;border:1px solid var(--border-color-hover);border-radius:var(--radius-md);max-height:200px;box-shadow:var(--shadow-glass);background:#0f172a;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-item{cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;border-bottom:1px solid #ffffff0a;padding:.75rem 1rem;font-size:.88rem}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{color:var(--text-primary);background:#6366f126}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.mb-1{margin-bottom:.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.app-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.logo-container{align-items:center;gap:.75rem;min-width:0;display:flex}.logo-text{min-width:0}.logo-text h1{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:800;display:flex}.logo-text p{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}.app-main-grid{flex:1;grid-template-columns:minmax(0,450px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.app-main-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.app-header{margin-bottom:1rem}.logo-text h1{font-size:1.2rem}.logo-text p{display:none}.map-container{height:280px!important}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.hover-lift{transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s!important}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important;border-color:#6366f14d!important}.no-scrollbar::-webkit-scrollbar{display:none}.receipt-actions{gap:.75rem;margin-top:.5rem;display:flex}@media (width<=480px){.receipt-actions{gap:.4rem}.receipt-actions .btn{gap:.25rem!important;padding:.6rem .4rem!important;font-size:.78rem!important}}
