.invoice-form{display:flex;flex-direction:column;gap:11px}.invoice-form h2{margin:0 0 2px;font-size:17px;color:#1d4fa3;font-weight:700}.invoice-form h3{margin:6px 0 -3px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:600}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12.5px;font-weight:600;color:#374151}.form-field input,.form-field select{width:100%;height:34px;padding:0 10px;border:1px solid #d9dde3;border-radius:7px;font-size:13px;color:#1f2937;background:#fff;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.form-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:26px}.form-field input:focus,.form-field select:focus{outline:none;border-color:#1d4fa3;box-shadow:0 0 0 3px #1d4fa326}.form-field input.input-invalid{border-color:#d64545}.form-field input.input-invalid:focus{box-shadow:0 0 0 3px #d6454526}.field-error{margin:0;font-size:11.5px;color:#d64545}.input-suffix-group{position:relative;width:100%}.input-suffix-group input{padding-right:26px}.input-suffix{position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:13px;font-weight:600;color:#8792a2;pointer-events:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.form-hint{margin:2px 0 0;font-size:11.5px;color:#8792a2;line-height:1.5}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.invoice-page{width:210mm;height:297mm;min-width:210mm;min-height:297mm;max-width:210mm;max-height:297mm;background:#fff;padding:12mm 13mm;box-sizing:border-box;font-family:Inter,Arial,sans-serif;color:#22262e;font-size:9.6pt;line-height:1.4;overflow:hidden;display:flex;flex-direction:column}.invoice-header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:34px;object-fit:contain}.brand-text h1{margin:0;font-size:22pt;font-weight:800;color:#1d4fa3;letter-spacing:.01em}.brand-text p{margin:1px 0 0;font-size:8pt;font-weight:600;letter-spacing:.06em;color:#5b6472}.invoice-badge{border:1.5px solid #a9c0e6;background:#eef3fb;color:#1d4fa3;font-weight:800;font-size:12pt;letter-spacing:.06em;padding:8px 22px;border-radius:4px}.header-divider{height:2px;background:#1f2937;margin:9px 0 12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.info-box{border:1px solid #dfe3ea;border-radius:6px;padding:10px 12px;background:#fbfcfe}.info-box h2{margin:0 0 8px;font-size:8.6pt;font-weight:800;color:#1d4fa3;letter-spacing:.05em;border-bottom:1px solid #dbe4f2;padding-bottom:6px}.info-box p{margin:3px 0;font-size:8.8pt;color:#33394a}.info-strong,.info-label{font-weight:700;color:#1a1f2b}.section-title{margin:0 0 8px;font-size:9.6pt;font-weight:800;letter-spacing:.03em;color:#171b24}.phase-table{width:100%;border-collapse:collapse;margin-bottom:12px;table-layout:fixed}.phase-table th,.phase-table td{border:1px solid #dfe3ea;padding:6px 8px;font-size:8.3pt;vertical-align:top}.phase-table thead th{background:#eef3fb;color:#1d4fa3;font-weight:800;font-size:7.6pt;letter-spacing:.03em;text-align:center}.col-sno{width:7%;text-align:center}.col-desc{width:46%}.col-hsn{width:14%;text-align:center}.col-milestone{width:15%;text-align:center}.col-amount{width:18%;text-align:right}.phase-table tbody td.col-sno,.phase-table tbody td.col-hsn,.phase-table tbody td.col-milestone{text-align:center;color:#33394a}.phase-table tbody td.col-amount{text-align:right;color:#1a1f2b;font-weight:600}.phase-title{font-weight:700;color:#171b24;margin-bottom:2px}.phase-detail{color:#6b7280;font-size:7.8pt;line-height:1.35}.click-editable{cursor:text;border-radius:3px;margin:-2px -3px;padding:2px 3px;outline:none;transition:box-shadow .12s ease,background-color .12s ease}.click-editable:hover{box-shadow:0 0 0 1px #a9c0e6;background-color:#f5f8fd}.click-editable:focus{box-shadow:0 0 0 2px #1d4fa3;background-color:#fff}.bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-bottom:12px}.inclusions-box{border:1px solid #dfe3ea;border-radius:6px;padding:10px 12px}.inclusions-box h2{margin:0 0 8px;font-size:8.6pt;font-weight:800;color:#1d4fa3;letter-spacing:.05em;border-bottom:1px solid #dbe4f2;padding-bottom:6px}.inclusions-box ul{margin:0;padding-left:14px;font-size:8.3pt;color:#33394a}.inclusions-box li{margin-bottom:4px}.totals-box{border:1px solid #dfe3ea;border-radius:6px;overflow:hidden;align-self:start;display:flex;flex-direction:column}.totals-row{display:flex;justify-content:space-between;padding:8px 12px;font-size:9pt;border-bottom:1px solid #dfe3ea}.totals-row:last-child{border-bottom:none}.totals-row--final{background:#1d3f8f;color:#fff;font-weight:800;font-size:10pt;padding:10px 12px}.terms-note{border:1px dashed #c7cdd6;border-radius:6px;background:#fafbfd;padding:9px 12px;font-size:7.9pt;color:#5b6472;line-height:1.5;margin-bottom:14px}.terms-note strong{color:#33394a}.signature-area{display:flex;justify-content:flex-end;margin-top:auto}.signature-box{border:1px solid #dfe3ea;border-radius:6px;padding:10px 18px;text-align:center;min-width:62mm;display:flex;align-items:center;justify-content:center}.signature-img{width:130px;height:auto;object-fit:contain}.invoice-footer{text-align:center;font-size:7pt;color:#9aa2af;margin-top:8px;padding-top:6px;border-top:1px solid #eef0f3}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:20px 28px 14px;background:#fff;border-bottom:1px solid #e3e7ee}.app-header h1{margin:0 0 4px;font-size:20px;color:#1d3f8f}.app-header p{margin:0;font-size:13px;color:#6b7280}.app-main{flex:1;display:flex;gap:24px;padding:24px 28px 40px;align-items:flex-start}.app-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a}.app-panel--form{width:340px;flex-shrink:0;padding:22px 22px 26px;position:sticky;top:24px}.app-panel--preview{flex:1;min-width:0;padding:20px;display:flex;justify-content:center}.preview-scroll{width:100%;overflow:auto;display:flex;justify-content:center;padding:4px}.preview-scroll>*{box-shadow:0 4px 18px #1018281f;border:1px solid #e6e9ef}.download-btn{width:100%;margin-top:18px;padding:12px 16px;border:none;border-radius:8px;background:#1d3f8f;color:#fff;font-size:14px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,transform .05s ease}.download-btn:hover:not(:disabled){background:#17316f}.download-btn:active:not(:disabled){transform:translateY(1px)}.download-btn:disabled{background:#93a5c9;cursor:not-allowed}@media (max-width: 900px){.app-main{flex-direction:column}.app-panel--form{width:100%;position:static}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#eef1f6;color:#1f2937;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:inherit}
