@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#4f46e5,#7c3aed,#db2777);background-size:200% 200%;animation:gradientBG 15s ease infinite;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:20px}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);padding:48px 40px;border-radius:24px;box-shadow:0 20px 40px #0000001a,0 1px 3px #0000000d;width:100%;max-width:420px;text-align:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.login-card:hover{transform:translateY(-5px)}.login-title{font-size:28px;font-weight:700;color:#111827;margin-bottom:12px;letter-spacing:-.5px}.login-subtitle{font-size:15px;color:#4b5563;margin-bottom:36px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{width:100%;position:relative}.login-input{width:100%;padding:16px 20px;border:2px solid #e5e7eb;border-radius:12px;font-size:15px;background-color:#fff;color:#111827;transition:all .2s ease-in-out;box-sizing:border-box;font-family:inherit}.login-input::placeholder{color:#9ca3af}.login-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}.login-button{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px;box-shadow:0 4px 12px #4f46e54d}.login-button:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-2px);box-shadow:0 6px 16px #4f46e566}.login-button:active{transform:translateY(0);box-shadow:0 2px 8px #4f46e54d}.login-error{color:#dc2626;font-size:14px;background-color:#fef2f2;padding:12px;border-radius:8px;text-align:center;border:1px solid #fecaca;font-weight:500;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Arial,sans-serif;background:#f8fafc;background-image:radial-gradient(at 40% 20%,hsla(228,100%,74%,.15) 0px,transparent 50%),radial-gradient(at 80% 0%,hsla(189,100%,56%,.15) 0px,transparent 50%),radial-gradient(at 0% 50%,hsla(355,100%,93%,.15) 0px,transparent 50%);background-attachment:fixed;color:#0f172a;line-height:1.6;padding:24px;min-height:100vh}.container{max-width:1200px;margin:0 auto;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:24px;box-shadow:0 10px 40px -10px #00000014;overflow:hidden}.app-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:48px;text-align:center;position:relative}.app-header h1{font-size:36px;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.subtitle{font-size:16px;font-weight:400;opacity:.9;letter-spacing:.01em}.logout-button{position:absolute;top:35px;right:35px;padding:10px 20px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.logout-button:hover{background:#ffffff40;transform:translateY(-2px)}.invoice-form{padding:48px}.form-section{margin-bottom:48px;padding-bottom:40px;border-bottom:1px solid rgba(226,232,240,.8)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:28px;letter-spacing:-.01em}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.section-header h2{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:600;color:#475569;margin-bottom:8px}.label-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.label-with-action label{margin-bottom:0}.btn-clear-date{background:transparent;color:#ef4444;border:none;font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.btn-clear-date:hover{background:#fef2f2}.checkbox-label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:#334155;cursor:pointer;margin-top:10px}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#6366f1;cursor:pointer;border-radius:6px}.form-group input,.form-group textarea,.form-group select{font-family:inherit;font-size:15px;padding:14px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;box-shadow:0 1px 2px #0000000d}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group textarea{resize:vertical;min-height:100px}.gst-type-options{display:flex;gap:24px;margin-top:12px}.gst-option{display:flex;align-items:center;cursor:pointer;font-size:15px;color:#334155;font-weight:500}.gst-option input[type=radio]{margin-right:12px;accent-color:#6366f1;width:20px;height:20px}.items-container{display:flex;flex-direction:column;gap:20px}.item-row{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #00000005;transition:all .3s ease}.item-row:hover{border-color:#cbd5e1;box-shadow:0 10px 15px -3px #0000000d}.item-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.item-row-title{font-size:16px;font-weight:600;color:#0f172a}.btn-remove{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-remove:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.item-fields{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:16px}.item-fields .form-group{margin-bottom:0}.item-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;padding-top:16px;border-top:1px dashed #cbd5e1}.item-totals .form-group input{background:#f8fafc;font-weight:600;color:#0f172a}.btn-add{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:12px;padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add:hover{background:#dcfce7;border-color:#86efac;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:12px;padding:16px 36px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.btn-secondary{background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:12px;padding:16px 36px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:48px}.totals-section{background:#fff;border-radius:16px;padding:32px;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005}.totals-grid{display:flex;flex-direction:column;gap:16px}.total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.total-row:last-child{border-bottom:none}.total-row span:first-child{font-size:15px;color:#64748b;font-weight:500}.total-value{font-size:16px;font-weight:600;color:#0f172a}.total-final{padding-top:20px;margin-top:12px;border-top:2px solid #e2e8f0}.total-final span:first-child{font-size:18px;font-weight:700;color:#0f172a}.total-final .total-value{font-size:24px;color:#4f46e5}.btn-success{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none;border-radius:12px;padding:16px 36px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #22c55e4d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e66}.company-selector{background:#fff;border-radius:16px;padding:28px;margin-bottom:40px;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005}.company-selector .section-header{margin-bottom:20px}.company-selector .section-header h2{font-size:20px;margin-bottom:0}.info-text{font-size:14px;color:#64748b;margin-top:12px}.loading-text{font-size:14px;color:#6366f1;margin-left:12px;font-weight:500}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px;color:#dc2626;font-size:15px;margin-bottom:20px;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:24px;padding:0;max-width:768px;width:90%;max-height:85vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-large{max-width:1024px}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.modal-header h2{font-size:24px;font-weight:700;color:#0f172a;margin:0}.btn-close{background:#fff;border:1px solid #e2e8f0;border-radius:50%;width:36px;height:36px;font-size:18px;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:32px;overflow-y:auto;max-height:calc(85vh - 85px)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.list-header h3{font-size:20px;font-weight:700;color:#0f172a;margin:0}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.company-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 4px 6px -1px #00000005}.company-card:hover{border-color:#6366f1;box-shadow:0 10px 15px -3px #6366f11a;transform:translateY(-2px)}.company-card h4{font-size:18px;font-weight:600;color:#0f172a;margin-bottom:8px}.company-card p{font-size:14px;color:#475569;margin-bottom:20px}.card-actions{display:flex;gap:12px}.btn-edit,.btn-delete{flex:1;padding:10px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit{background:#eff6ff;color:#2563eb}.btn-edit:hover{background:#dbeafe}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#fee2e2}.quotations-table{width:100%;border-collapse:collapse;font-size:14px}.quotations-table thead{background:#f8fafc}.quotations-table th{padding:16px;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.quotations-table td{padding:16px;border-bottom:1px solid #f1f5f9;color:#334155}.quotations-table tbody tr:hover{background:#f8fafc}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-quotation{background:#eff6ff;color:#2563eb}.status-invoice{background:#f0fdf4;color:#16a34a}.btn-action{background:#f1f5f9;border:none;color:#475569;width:32px;height:32px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-action:hover{background:#e2e8f0;color:#0f172a}.quick-add-form{background:#fff;border:2px solid #e0e7ff;border-radius:16px;padding:32px;margin-bottom:32px;box-shadow:0 10px 25px -5px #6366f11a}.quick-add-header h3{font-size:20px;color:#4f46e5}@media (max-width: 768px){body{padding:0}.container{border-radius:0;border:none;box-shadow:none}.app-header{padding:32px 20px}.app-header h1{font-size:28px}.logout-button{position:static;display:inline-block;margin-top:16px}.invoice-form{padding:20px}.form-grid{grid-template-columns:1fr}.item-fields{grid-template-columns:1fr;grid-template-areas:none}.item-totals{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary,.btn-success{width:100%}.gst-type-options{flex-direction:column}}.invoice-template{background:#fff;width:210mm;min-height:auto;margin:0 auto;padding:0}.invoice-page{width:100%;padding:10mm;font-family:Arial,sans-serif;font-size:10pt;color:#000;background:#fff}.invoice-header{margin-bottom:8px}.company-logo-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.company-logo{display:flex;align-items:center;gap:8px}.logo-circle{width:60px;height:60px;border-radius:50%;background:#03c;display:flex;align-items:center;justify-content:center;border:3px solid #0033cc}.logo-text{color:#fff;font-size:20px;font-weight:700}.company-name-logo{font-size:28px;font-weight:700;color:#03c;letter-spacing:2px}.company-tagline{font-size:11px;font-weight:700;text-align:right;color:#000}.invoice-title-bar{border:1px solid #000000;border-bottom:none;text-align:center;padding:4px 0}.invoice-title{font-size:12px;font-weight:700;margin:0}.invoice-main-table{width:100%;border-collapse:collapse;border:1px solid #000000;margin-bottom:0}tr{page-break-inside:avoid;break-inside:avoid}.seller-column{width:50%;border-right:1px solid #000000;padding:8px;vertical-align:top;font-size:9pt}.metadata-column{width:50%;padding:0;vertical-align:top}.seller-info{line-height:1.4}.seller-name{font-weight:700;font-size:10pt;margin-bottom:2px}.seller-address,.seller-contact,.seller-gst{margin-bottom:2px}.seller-email{margin-bottom:8px}.bill-to-label{font-weight:700;margin-top:8px;margin-bottom:4px}.buyer-name{font-weight:700;margin-bottom:2px}.buyer-address,.buyer-gst{margin-bottom:2px}.metadata-table{width:100%;border-collapse:collapse;font-size:8.5pt}.metadata-table td{border:1px solid #000000;padding:4px 6px;vertical-align:top}.meta-label,.meta-value{font-size:8pt;width:25%}.items-table{width:100%;border-collapse:collapse;border:1px solid #000000;border-top:none;margin-bottom:0}.items-table th{border:1px solid #000000;padding:6px 4px;font-size:9pt;font-weight:700;text-align:center;background:#fff}.items-table td{border:1px solid #000000;padding:6px 4px;font-size:9pt}.col-srno{width:5%;text-align:center}.col-description{width:30%;text-align:left}.col-hsn{width:10%;text-align:center}.col-unit{width:8%;text-align:center}.col-amount{width:15%;text-align:right}.col-gst-percent{width:8%;text-align:center}.col-gst-amt,.col-total{width:12%;text-align:right}.items-table tbody td{vertical-align:top}.items-table tbody .col-srno{text-align:center}.items-table tbody .col-description{text-align:left;font-size:8.5pt;line-height:1.3}.items-table tbody .col-hsn,.items-table tbody .col-unit{text-align:center}.items-table tbody .col-amount{text-align:right}.items-table tbody .col-gst-percent{text-align:center}.items-table tbody .col-gst-amt,.items-table tbody .col-total{text-align:right}.subtotal-row td{border-top:1px solid #000000;font-weight:700;padding:6px 4px}.subtotal-value{text-align:right}.summary-table{width:100%;border-collapse:collapse;border:1px solid #000000;border-top:none}.summary-table td{border:1px solid #000000;padding:6px 8px;font-size:9pt}.words-section{width:50%;vertical-align:top;padding:10px}.words-label{font-weight:700;margin-bottom:4px;font-size:9pt}.words-value{font-weight:700;margin-bottom:8px;font-size:9pt}.reverse-charge{font-size:8.5pt;margin-top:8px}.summary-label{width:25%;text-align:left;font-size:9pt}.summary-value{width:25%;text-align:right;font-size:9pt}.summary-final{font-weight:700}.invoice-footer{border:1px solid #000000;border-top:none;display:flex;min-height:100px}.footer-left{width:50%;border-right:1px solid #000000;padding:10px}.footer-right{width:50%;padding:10px;display:flex;flex-direction:column;align-items:flex-end}.for-company{font-size:9pt;margin-bottom:40px}.signature-space{min-height:40px}.auth-signatory{font-size:9pt;margin-bottom:8px}.declaration-text{font-size:8pt;line-height:1.3}.stamp-area{text-align:center}.stamp-placeholder{font-size:9pt;font-style:italic;color:#666}.registered-office{border:1px solid #000000;border-top:none;padding:6px 8px;font-size:8pt;text-align:center}@media print{body{background:#fff;padding:0}.container,.invoice-form,.app-header,.form-actions{display:none!important}.invoice-template{display:block!important;width:210mm;min-height:auto;margin:0;padding:0}}button{display:inline-flex;align-items:center;justify-content:center;gap:6px}button svg{flex-shrink:0;vertical-align:middle}.btn-primary svg,.btn-secondary svg,.btn-success svg,.btn-add svg,.btn-edit svg,.btn-delete svg,.btn-action svg{transition:transform .2s ease}.btn-primary:hover svg,.btn-success:hover svg,.btn-add:hover svg{transform:scale(1.1)}.btn-edit:hover svg{transform:rotate(-5deg) scale(1.1)}.btn-delete:hover svg,.btn-action.btn-delete:hover svg{transform:scale(1.15)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}button svg{color:inherit}.quick-add-header h3,.section-header h2{display:inline-flex;align-items:center;gap:8px}
