.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:400px;width:95%;margin:10px;text-align:center}.login-title{font-size:24px;font-weight:600;color:#1d1d1f;margin-bottom:8px}.login-subtitle{font-size:16px;color:#86868b;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{width:100%}.login-input{width:100%;padding:16px;border:1px solid #d2d2d7;border-radius:8px;font-size:16px;background-color:transparent;transition:border-color .2s;box-sizing:border-box}.login-input:focus{outline:none;border-color:#0071e3}.login-button{background-color:#0071e3;color:#fff;border:none;border-radius:8px;padding:16px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px}.login-button:hover{background-color:#0077ed}.login-error{color:#ff3b30;font-size:14px;background-color:#fff2f2;padding:10px;border-radius:6px;text-align:center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);color:#1d1d1f;line-height:1.6;padding:20px;min-height:100vh}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;text-align:center}.app-header h1{font-size:32px;font-weight:600;margin-bottom:8px;letter-spacing:-.5px}.subtitle{font-size:16px;font-weight:400;opacity:.9}.logout-button{position:absolute;top:35px;right:35px;padding:8px 16px;background:#ff3b301a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.logout-button:hover{background:#ff3b3033}@media (max-width: 768px){.logout-button{position:relative;top:auto;right:auto;margin-top:16px;display:inline-block;width:auto}.form-grid{grid-template-columns:1fr}.item-fields{grid-template-columns:1fr;gap:16px}.item-row{padding:16px}.item-totals{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column;gap:12px;margin-top:24px}.btn-primary,.btn-secondary,.btn-success{width:100%;padding:14px}.app-header{padding:20px}.app-header h1{font-size:24px}.invoice-form{padding:16px}.container{border-radius:0;box-shadow:none}body{padding:0}.totals-section{padding:16px}}.invoice-form{padding:40px}.form-section{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid #e5e5e7}.form-section:last-of-type{border-bottom:none}.form-section h2{font-size:22px;font-weight:600;color:#1d1d1f;margin-bottom:24px;letter-spacing:-.3px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:500;color:#6e6e73;margin-bottom:8px;letter-spacing:.2px}.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:#ff3b30;border:none;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px;transition:all .2s ease}.btn-clear-date:hover{background:#ff3b301a}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:#1d1d1f;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:10px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.form-group input,.form-group textarea,.form-group select{font-family:inherit;font-size:15px;padding:12px 16px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:#1d1d1f;transition:all .2s ease;outline:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a1a1a6}.form-group textarea{resize:vertical;min-height:80px}.gst-type-options{display:flex;gap:20px;margin-top:10px}.gst-option{display:flex;align-items:center;cursor:pointer;font-size:15px;color:#1d1d1f}.gst-option input[type=radio]{accent-color:#667eea;width:18px;height:18px;margin:0 10px 0 0}.items-container{display:flex;flex-direction:column;gap:16px}.item-row{background:#f5f5f7;border:1px solid #e5e5e7;border-radius:12px;padding:20px;position:relative}.item-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.item-row-title{font-size:15px;font-weight:600;color:#1d1d1f}.btn-remove{background:#ff3b30;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-remove:hover{background:#ff2d20;transform:translateY(-1px);box-shadow:0 2px 8px #ff3b304d}.item-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.item-fields .form-group{margin-bottom:0}.item-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #d2d2d7}.item-totals .form-group input{background:#fff;font-weight:500}.btn-add{background:#34c759;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add:hover{background:#30b350;transform:translateY(-1px);box-shadow:0 4px 12px #34c7594d}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.btn-secondary{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f5f5f7;border-color:#a1a1a6}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:40px}.totals-section{background:#f5f5f7;border-radius:12px;padding:32px;border:none}.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 #e5e5e7}.total-row:last-child{border-bottom:none}.total-row span:first-child{font-size:15px;color:#6e6e73;font-weight:500}.total-value{font-size:16px;font-weight:600;color:#1d1d1f}.total-final{padding-top:16px;margin-top:8px;border-top:2px solid #667eea}.total-final span:first-child{font-size:17px;font-weight:600;color:#1d1d1f}.total-final .total-value{font-size:20px;color:#667eea}@media (max-width: 768px){.form-grid,.item-fields,.item-totals{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.btn-success{background:#34c759;color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #34c7594d}.btn-success:hover{background:#30b350;transform:translateY(-2px);box-shadow:0 6px 24px #34c75966}.company-selector{background:#f5f5f7;border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid #e5e5e7}.company-selector .section-header{margin-bottom:16px}.company-selector .section-header h2{font-size:18px;margin-bottom:0}.company-selector select{width:100%}.info-text{font-size:14px;color:#6e6e73;margin-top:12px;font-style:italic}.loading-text{font-size:13px;color:#667eea;margin-left:8px}.error-message{background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;padding:12px 16px;color:#c62828;font-size:14px;margin-bottom:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;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:16px;padding:0;max-width:700px;width:90%;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-large{max-width:1000px}@keyframes slideUp{0%{transform:translateY(20px);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 #e5e5e7}.modal-header h2{font-size:22px;font-weight:600;color:#1d1d1f;margin:0}.btn-close{background:#f5f5f7;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;color:#6e6e73;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#e5e5e7;color:#1d1d1f}.modal-body{padding:32px;overflow-y:auto;max-height:calc(85vh - 80px)}.company-list{margin-bottom:32px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-header h3{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.company-card{background:#f5f5f7;border:1px solid #e5e5e7;border-radius:12px;padding:20px;transition:all .2s ease}.company-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.company-card h4{font-size:16px;font-weight:600;color:#1d1d1f;margin-bottom:8px}.company-card p{font-size:13px;color:#6e6e73;margin-bottom:16px}.card-actions{display:flex;gap:8px}.btn-edit,.btn-delete{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit{background:#667eea;color:#000}.btn-edit:hover{background:#5568d3}.btn-delete{background:#ff3b30;color:#000}.btn-delete:hover{background:#ff2d20}.company-form{background:#fff;border:1px solid #e5e5e7;border-radius:12px;padding:24px}.company-form h3{font-size:18px;font-weight:600;color:#1d1d1f;margin-bottom:20px}.empty-state{text-align:center;padding:40px 20px;color:#6e6e73;font-size:15px}.quotations-table-container{overflow-x:auto}.quotations-table{width:100%;border-collapse:collapse;font-size:14px}.quotations-table thead{background:#f5f5f7}.quotations-table th{padding:12px 16px;text-align:left;font-weight:600;color:#1d1d1f;border-bottom:2px solid #e5e5e7}.quotations-table td{padding:16px;border-bottom:1px solid #e5e5e7;color:#1d1d1f}.quotations-table tbody tr:hover{background:#f5f5f7}.quotation-no{font-weight:600;color:#667eea}.amount{font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-quotation{background:#e3f2fd;color:#1976d2}.status-invoice{background:#e8f5e9;color:#388e3c}.actions-cell{display:flex;gap:8px}.btn-action{background:transparent;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.btn-action:hover{background:#e5e5e7;transform:scale(1.1)}.loading-state{text-align:center;padding:60px 20px;color:#6e6e73;font-size:16px}.quick-add-form{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border:2px solid #667eea;border-radius:12px;padding:24px;margin-bottom:24px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quick-add-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.quick-add-header h3{font-size:18px;font-weight:600;color:#667eea;margin:0}.btn-close-small{background:transparent;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;color:#6e6e73;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close-small:hover{background:#667eea1a;color:#667eea}.btn-close-small:disabled{opacity:.5;cursor:not-allowed}.quick-add-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.quick-add-fields .form-group{margin-bottom:0}.quick-add-fields .form-group.full-width{grid-column:1 / -1}.field-hint{display:block;font-size:12px;color:#6e6e73;margin-top:6px;font-style:italic}.quick-add-actions{display:flex;gap:12px;justify-content:flex-end}.quick-add-actions .btn-primary,.quick-add-actions .btn-secondary{padding:10px 20px;font-size:14px}.quick-add-actions .btn-primary:disabled,.quick-add-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.quick-add-fields{grid-template-columns:1fr}.quick-add-actions{flex-direction:column}.quick-add-actions .btn-primary,.quick-add-actions .btn-secondary{width:100%}}@media (max-width: 768px){body{padding:0;background:#fff}.container{border-radius:0;box-shadow:none;margin:0;width:100%;max-width:100%;border:none}.app-header{padding:16px;text-align:left}.app-header h1{font-size:20px;margin-bottom:4px}.subtitle{font-size:13px}.logout-button{position:relative;top:auto;right:auto;margin-top:10px;display:inline-block;width:auto;padding:6px 12px;font-size:13px;background:#fff3;color:#fff}.invoice-form{padding:12px}.form-section{padding-bottom:24px;margin-bottom:24px}.form-section h2{font-size:18px;margin-bottom:16px}.form-grid{grid-template-columns:1fr;gap:16px}.item-row{padding:16px;margin-bottom:16px;border-radius:8px}.item-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-template-areas:"desc desc" "hsn unit" "rate amount" "gst gstamt"}.item-fields .form-group{margin-bottom:0}.item-fields .form-group:nth-child(1){grid-area:desc}.item-fields .form-group:nth-child(2){grid-area:hsn}.item-fields .form-group:nth-child(3){grid-area:unit}.item-fields .form-group:nth-child(4){grid-area:rate}.item-fields .form-group:nth-child(5){grid-area:amount}.item-totals{grid-template-columns:1fr;gap:10px}.form-actions{flex-direction:column;gap:12px;margin-top:20px}.btn-primary,.btn-secondary,.btn-success{width:100%;padding:14px;font-size:16px}.totals-section{padding:16px;margin-top:24px}.company-selector{padding:16px;margin-bottom:24px}.form-group input,.form-group textarea,.form-group select{width:100%;max-width:100%}.gst-type-options{flex-direction:column;gap:12px;align-items:stretch}.gst-option{background:#f5f5f7;padding:12px 16px;border-radius:10px;border:1px solid #e5e5e7;transition:all .2s ease}.gst-option:active{background:#e5e5e7;transform:scale(.98)}}.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}
