@import"https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Orbit&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--primary: #3DD598;--primary-hover: #2fc085;--primary-foreground: #0a0a0f;--secondary: #116B65;--tertiary: #0E9199;--accent: #FFEB85;--background: #0a0a0f;--background-lighter: #12121a;--foreground: #f0f0f5;--foreground-muted: #8a8a9a;--muted: rgba(255, 255, 255, .05);--card-bg: rgba(255, 255, 255, .03);--card-border: rgba(255, 255, 255, .08);--card-border-hover: rgba(61, 213, 152, .4);--border: rgba(255, 255, 255, .06);--font-primary: "Figtree", sans-serif;--font-secondary: "Instrument Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-logo: "Orbit", sans-serif;--radius: 8px;--radius-lg: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--background);color:var(--foreground);line-height:1.6;min-height:100vh}#root{min-height:100vh;background-color:var(--background);background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:40px 40px;background-position:center center}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;background:#0a0a0fcc}.app-header h1{font-family:var(--font-logo);font-size:1.25rem;font-weight:400;color:var(--foreground);letter-spacing:.05em}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{color:var(--foreground-muted);font-size:.875rem}.btn-logout{background:transparent;color:var(--foreground-muted);border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.btn-logout:hover{border-color:var(--primary);color:var(--primary);background:#3dd5981a}main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.hero{text-align:center;padding:2rem 0 1rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.powered-badge{display:inline-flex;align-items:center;gap:.5rem;background:#3dd59826;border:1px solid rgba(61,213,152,.3);padding:.5rem 1rem;border-radius:9999px;font-size:.75rem;color:var(--primary);margin-bottom:1.5rem;font-weight:500}.powered-badge svg{width:16px;height:16px}.hero h1{font-family:var(--font-primary);font-size:2.5rem;font-weight:700;color:var(--foreground);margin-bottom:.5rem;letter-spacing:-.02em}.hero h1 span{color:var(--primary)}.hero p{color:var(--foreground-muted);font-size:1rem;max-width:500px;margin:0 auto}.invoice-page{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;animation:fadeIn .5s ease;animation-delay:.1s;animation-fill-mode:both}@media (max-width: 1024px){.invoice-page{grid-template-columns:1fr}}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.step-number{width:32px;height:32px;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.section-title{font-size:1.125rem;font-weight:600;color:var(--foreground)}.upload-section,.result-section{display:flex;flex-direction:column;gap:1rem}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden;box-shadow:0 4px 20px #0003}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--card-border);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;min-height:400px;background:#ffffff05}.dropzone:hover{border-color:#3dd59880;background:#3dd5980d}.dropzone.has-file{border-style:solid;border-color:var(--card-border);padding:0;background:#ffffff05}.dropzone-icon{position:relative;margin-bottom:1.25rem}.dropzone-icon-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:#3dd59833;border-radius:1rem;filter:blur(20px)}.dropzone-icon-inner{position:relative;border-radius:1rem;background:#3dd5981a;border:1px solid rgba(61,213,152,.2);padding:1.25rem;display:flex;align-items:center;justify-content:center}.dropzone-icon-inner svg{width:40px;height:40px;color:var(--primary)}.dropzone h3{font-size:1.125rem;font-weight:600;color:var(--foreground);margin-bottom:.25rem}.dropzone p{color:var(--foreground-muted);font-size:.875rem;font-family:var(--font-secondary)}.file-input{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.file-types{display:flex;gap:.75rem;margin-top:1rem}.file-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#ffffff0d;border:1px solid var(--border);border-radius:9999px;font-size:.75rem;color:var(--foreground-muted);font-weight:500}.file-badge svg{width:14px;height:14px}.preview-wrapper{position:relative;width:100%}.preview-image{width:100%;max-height:600px;object-fit:contain;display:block}.preview-footer{position:absolute;bottom:0;left:0;right:0;background:#0a0a0fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:.75rem;display:flex;align-items:center;justify-content:center}.btn-change-file{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--foreground-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s;font-family:var(--font-primary)}.btn-change-file:hover{color:var(--primary)}.btn-change-file svg{width:16px;height:16px}.btn-process{width:100%;background:var(--primary);color:var(--primary-foreground);border:none;padding:.875rem 2rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-primary);box-shadow:0 4px 14px #3dd5984d}.btn-process:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 20px #3dd59866;transform:translateY(-1px)}.btn-process:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#c4266b1a;border:1px solid rgba(196,38,107,.2);color:#c4266b;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-top:1rem}.result-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--foreground-muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);background:#ffffff05}.result-placeholder-icon{width:64px;height:64px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.result-placeholder-icon svg{width:32px;height:32px;opacity:.4}.result-placeholder h3{font-size:.875rem;font-weight:500;color:var(--foreground-muted);margin-bottom:.25rem}.result-placeholder p{font-size:.75rem;color:var(--foreground-muted);opacity:.6}.result-card-wrapper{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;box-shadow:0 4px 20px #0003}.result-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:#ffffff0d}.result-card-header span{font-size:.875rem;font-weight:600}.result-card-actions{display:flex;gap:.5rem}.btn-action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem;color:var(--foreground);cursor:pointer;transition:all .2s;font-family:var(--font-primary);font-weight:500}.btn-action:hover{background:#3dd5981a;border-color:var(--card-border-hover);color:var(--primary)}.btn-action svg{width:14px;height:14px}.result-card-body{padding:1rem;background:#0003}.result-fields-title{font-size:.875rem;font-weight:600;margin-bottom:.75rem}.result-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.5rem}@media (max-width: 600px){.result-fields-grid{grid-template-columns:1fr}}.result-field{display:flex;flex-direction:column;padding:.25rem 0}.result-field-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--foreground-muted);margin-bottom:.125rem}.result-field-value{font-size:.875rem;font-family:var(--font-mono);color:var(--foreground);word-break:break-all}.result-card-footer{padding:.75rem 1rem;border-top:1px solid var(--border)}.result-model-info{font-size:.75rem;color:var(--foreground-muted)}.result-model-info span{font-weight:600;color:var(--primary)}.result-field-highlight .result-field-value{font-weight:600;color:var(--primary);font-size:1rem}.result-items-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.result-items-list{display:flex;flex-direction:column;gap:.5rem}.result-item{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.result-item:last-child{border-bottom:none}.result-item-desc{color:var(--foreground)}.result-item-qty{color:var(--foreground-muted);font-family:var(--font-mono);font-size:.75rem}.result-item-total{font-family:var(--font-mono);font-weight:500;color:var(--foreground)}.btn-new-invoice{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #3dd5984d;font-family:var(--font-primary);margin:1rem auto;width:fit-content}.btn-new-invoice:hover{background:var(--primary-hover);box-shadow:0 6px 20px #3dd59866}.btn-new-invoice svg{width:20px;height:20px}.info-section{max-width:768px;margin:4rem auto 0;animation:fadeIn .5s ease;animation-delay:.2s;animation-fill-mode:both}.info-block{margin-bottom:2.5rem}.info-block h2{font-size:1.5rem;font-weight:700;color:var(--foreground);margin-bottom:1rem;letter-spacing:-.02em}.info-block p{color:#8fa3a3;font-size:1rem;margin:1rem 0 0;line-height:1.7}.info-block a{color:var(--primary);font-weight:500;text-decoration:underline;text-underline-offset:4px;transition:color .2s}.info-block a:hover{color:var(--primary-hover)}.info-block code{display:inline-block;padding:.125rem .375rem;background:#0000000d;border-radius:4px;font-size:.75rem;font-family:var(--font-mono)}.info-highlight{font-weight:600}.info-contact{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem}.info-contact-main{color:#8fa3a3;font-size:1rem;line-height:1.7}.info-contact-secondary{color:#8fa3a3;font-size:.875rem;line-height:1.7;margin-top:.5rem}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--background);background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:40px 40px;padding:1rem}.auth-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:400px;box-shadow:0 4px 30px #0000004d}.auth-card h2{text-align:center;margin-bottom:.5rem;color:var(--foreground);font-size:1.5rem;font-weight:700}.auth-card h2 span{color:var(--primary)}.auth-description{text-align:center;color:var(--foreground-muted);margin-bottom:1.5rem;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--foreground);font-size:.875rem}.form-group input{padding:.875rem 1rem;border:1px solid var(--card-border);border-radius:var(--radius);font-size:1rem;transition:border-color .2s ease;background:#ffffff0d;color:var(--foreground);font-family:var(--font-primary)}.form-group input::placeholder{color:var(--foreground-muted)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3dd5981a}.form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-error{background:#c4266b1a;border:1px solid rgba(196,38,107,.2);color:#c4266b;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;text-align:center}.btn-primary{background:var(--primary);color:var(--primary-foreground);border:none;padding:1rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-primary);box-shadow:0 4px 14px #3dd5984d}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 20px #3dd59866;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#ffffff0d;color:var(--foreground-muted);border:1px solid var(--border);padding:.75rem;border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-link{background:none;border:none;color:var(--primary);font-size:.875rem;cursor:pointer;padding:.5rem;font-family:var(--font-primary)}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.footer{text-align:center;padding:2rem;color:var(--foreground-muted);font-size:.875rem;margin-top:2rem}.footer a{color:var(--primary);text-decoration:none;font-weight:500}.footer a:hover{text-decoration:underline}
