*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
        body{font-family:'Plus Jakarta Sans',sans-serif;background:#0f172a;color:#0f172a;font-size:13px;}
        .app{display:flex;height:100vh;overflow:hidden;}

        /* ─── Left: Form ─── */
        .form-panel{width:460px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;}
        .form-header{background:linear-gradient(135deg,#0f766e,#0a5650);color:#fff;padding:0;display:flex;flex-direction:column;}
        .form-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid rgba(255,255,255,0.1);}
        .form-nav a{color:rgba(255,255,255,0.7);font-size:11px;text-decoration:none;font-weight:500;display:flex;align-items:center;gap:4px;}
        .form-nav a:hover{color:#fff;}
        .form-nav .logo{display:flex;align-items:center;gap:8px;}
        .form-nav .logo img{width:22px;height:22px;border-radius:5px;}
        .form-nav .logo span{font-weight:800;font-size:13px;}
        .form-title-bar{padding:14px 20px 16px;display:flex;align-items:flex-end;justify-content:space-between;}
        .form-title-bar h1{font-size:18px;font-weight:800;letter-spacing:-0.02em;}
        .form-title-bar .badge{font-size:9px;font-weight:700;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2);padding:3px 10px;border-radius:100px;letter-spacing:1px;text-transform:uppercase;}

        .form-body{flex:1;overflow-y:auto;padding:14px 16px 16px;background:#f1f5f9;}
        .section{padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;}
        .section-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#0f766e;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
        .section-title::before{content:'';width:3px;height:12px;background:#0f766e;border-radius:2px;}
        .row{display:flex;gap:10px;margin-bottom:8px;}
        .field{flex:1;display:flex;flex-direction:column;margin-bottom:6px;}
        .field label{font-size:9px;font-weight:600;color:#94a3b8;margin-bottom:3px;text-transform:uppercase;letter-spacing:0.5px;}
        .field input,.field select,.field textarea{border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:12px;font-family:inherit;outline:none;transition:border 0.2s;background:#fff;}
        .field input:focus,.field select:focus,.field textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,0.06);}
        .field textarea{resize:none;height:50px;}

        /* Items table */
        .items-table{width:100%;border-collapse:collapse;margin-top:4px;}
        .items-table th{text-align:left;font-size:9px;font-weight:600;color:#94a3b8;padding:5px 4px;border-bottom:2px solid #e2e8f0;text-transform:uppercase;letter-spacing:0.5px;}
        .items-table td{padding:3px 3px;}
        .items-table input{width:100%;border:1px solid #e2e8f0;border-radius:6px;padding:6px 7px;font-size:11px;font-family:inherit;outline:none;}
        .items-table input:focus{border-color:#0f766e;}
        .items-table .num{text-align:right;}
        .items-table .del{width:24px;text-align:center;cursor:pointer;color:#e2e8f0;font-size:14px;vertical-align:middle;}
        .items-table .del:hover{color:#ef4444;}
        .items-table .amt-cell{font-size:11px;font-weight:600;font-family:'JetBrains Mono',monospace;color:#0f172a;padding:6px 4px;}
        .add-item{background:none;border:1px dashed #cbd5e1;border-radius:8px;padding:7px;width:100%;cursor:pointer;color:#94a3b8;font-size:11px;font-weight:600;margin-top:6px;transition:all 0.2s;}
        .add-item:hover{border-color:#0f766e;color:#0f766e;background:#f0fdfa;}

        /* Live Summary */
        .live-summary{background:linear-gradient(135deg,#f0fdfa,#ecfdf5);border:1px solid #ccfbf1;border-radius:10px;padding:12px 14px;margin-top:10px;}
        .live-summary .row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;color:#475569;}
        .live-summary .row:last-child{margin-bottom:0;padding-top:6px;border-top:1.5px solid #99f6e4;font-size:13px;font-weight:800;color:#0f766e;}
        .live-summary .val{font-family:'JetBrains Mono',monospace;font-weight:600;}

        /* Actions */
        .form-actions{padding:14px 20px;border-top:1px solid #e2e8f0;display:flex;gap:10px;background:#fff;align-items:center;}
        .btn{padding:11px 20px;border-radius:10px;font-weight:700;font-size:12px;cursor:pointer;border:none;transition:all 0.2s;display:flex;align-items:center;gap:6px;justify-content:center;}
        .btn-primary{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;flex:1;box-shadow:0 2px 8px rgba(15,118,110,0.2);}
        .btn-primary:hover{box-shadow:0 4px 16px rgba(15,118,110,0.3);transform:translateY(-1px);}
        .btn-outline{background:#fff;color:#475569;border:1.5px solid #e2e8f0;}
        .btn-outline:hover{border-color:#0f766e;color:#0f766e;}
        .shortcut-hint{font-size:9px;color:#94a3b8;margin-left:auto;font-weight:500;}

        /* ─── Right: Preview ─── */
        .preview-panel{flex:1;background:#1e293b;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;padding:28px;position:relative;}
        .preview-panel::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
        .preview-scaler{transform:scale(0.85);transform-origin:top center;position:relative;z-index:1;}
        .invoice-page{width:210mm;background:#fff;box-shadow:0 12px 48px rgba(0,0,0,0.25);padding:6px;font-family:Arial,sans-serif;font-size:13px;line-height:1.4;color:#000;flex-shrink:0;border-radius:3px;}
        .invoice-page *{color:#000;}
        .inv-border{border:1px solid #000;display:flex;flex-direction:column;}
        .inv-header{border-bottom:1px solid #000;text-align:center;padding:12px 14px;}
        .inv-header .name{font-weight:800;font-size:22px;letter-spacing:1px;}
        .inv-header .meta{font-size:11px;margin-top:3px;color:#333;}
        .inv-title{border-bottom:1px solid #000;text-align:center;padding:5px;font-weight:700;font-size:14px;background:#eef2f7;letter-spacing:0.5px;}
        .inv-parties{display:flex;border-bottom:1px solid #000;}
        .inv-parties>div{padding:8px 12px;}
        .inv-parties .left{width:60%;border-right:1px solid #000;}
        .inv-parties .right{width:40%;}
        .inv-parties .label{font-weight:700;font-size:12px;color:#555;}
        .inv-parties .value{font-weight:700;font-size:14px;margin-top:2px;}
        .inv-parties .small{font-size:11px;margin-top:2px;color:#444;}
        .inv-parties .right-row{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;}
        .inv-parties .right-row strong{font-weight:700;}

        .inv-items-header,.inv-items-row,.inv-items-total{display:flex;border-bottom:1px solid #000;font-size:11px;}
        .inv-items-header{background:#eef2f7;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:0.5px;}
        .inv-items-header>div,.inv-items-row>div,.inv-items-total>div{padding:5px 6px;border-right:1px solid #000;}
        .inv-items-header>div:last-child,.inv-items-row>div:last-child,.inv-items-total>div:last-child{border-right:none;}
        .inv-items-total{background:#eef2f7;font-weight:700;font-size:12px;}
        .inv-empty-row>div{min-height:20px;}
        .inv-col-sn{width:5%;text-align:center;}
        .inv-col-name{width:37%;}
        .inv-col-hsn{width:12%;text-align:center;}
        .inv-col-qty{width:10%;text-align:center;font-weight:700;}
        .inv-col-rate{width:16%;text-align:right;}
        .inv-col-amt{width:20%;text-align:right;}

        .inv-tax-row{display:flex;border-bottom:1px solid #000;font-size:11px;}
        .inv-tax-label{width:80%;padding:4px 12px;text-align:right;font-style:italic;color:#555;}
        .inv-tax-val{width:20%;padding:4px 8px;text-align:right;font-weight:600;}

        .inv-grand{display:flex;border-bottom:1px solid #000;}
        .inv-grand .left{width:80%;padding:6px 12px;font-weight:600;font-size:12px;}
        .inv-grand .right{width:20%;padding:6px 8px;text-align:right;font-weight:800;font-size:14px;}

        .inv-words{border-bottom:1px solid #000;padding:6px 12px;}
        .inv-words .label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:0.5px;}
        .inv-words .text{font-weight:700;font-size:12px;font-style:italic;}

        .inv-terms{border-bottom:1px solid #000;padding:6px 12px;}
        .inv-terms .title{font-weight:700;font-size:11px;background:#eef2f7;margin:-6px -12px 4px;padding:4px 12px;text-transform:uppercase;letter-spacing:0.5px;}
        .inv-terms .body{font-size:11px;color:#444;}

        .inv-footer{display:flex;min-height:70px;}
        .inv-footer .left{width:55%;border-right:1px solid #000;padding:8px 12px;}
        .inv-footer .right{width:45%;padding:8px 12px;display:flex;flex-direction:column;justify-content:space-between;}
        .inv-footer .bank-title{font-weight:700;font-size:11px;background:#eef2f7;margin:-8px -12px 6px;padding:4px 12px;text-transform:uppercase;letter-spacing:0.5px;}
        .inv-footer .bank-row{font-size:11px;margin-bottom:2px;color:#444;}
        .inv-footer .bank-row strong{font-weight:700;color:#000;}
        .inv-footer .for-company{text-align:right;font-weight:700;font-size:11px;}
        .inv-footer .signatory{text-align:right;font-size:10px;font-weight:600;border-top:1px solid #ccc;padding-top:4px;color:#555;}

        .branding{text-align:center;padding:12px;font-size:10px;color:rgba(255,255,255,0.3);margin-top:12px;}
        .branding a{color:rgba(255,255,255,0.5);font-weight:700;text-decoration:none;}
        .branding a:hover{color:rgba(255,255,255,0.8);}

        @media print{
            @page{size:A4;margin:8mm;}
            body{background:#fff !important;}
            .form-panel,.form-actions,.branding{display:none !important;}
            .preview-panel{background:#fff !important;padding:0 !important;}
            .preview-panel::before{display:none !important;}
            .preview-scaler{transform:none !important;}
            .app{display:block !important;}
            .invoice-page{box-shadow:none !important;margin:0 !important;width:210mm !important;padding:6px !important;border-radius:0 !important;}
        }
        /* Wrapper for items table to allow horizontal scroll on small screens */
        .items-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

        @media(max-width:1024px){
            .app{flex-direction:column;height:auto;min-height:100vh;}
            .form-panel{width:100%;max-width:100%;}
            .preview-panel{padding:20px;min-height:auto;}
            .invoice-page{width:100%;max-width:210mm;}
            .preview-scaler{transform:none;width:100%;}
        }

        @media(max-width:900px){
            .app{flex-direction:column;height:auto;}
            .form-panel{width:100%;}
            .preview-panel{padding:16px;min-height:auto;}
            .invoice-page{width:100%;}
            .preview-scaler{transform:none;}
        }

        @media(max-width:768px){
            body{font-size:13px;}
            .form-nav{padding:10px 14px;}
            .form-title-bar{padding:12px 14px 14px;flex-wrap:wrap;gap:8px;}
            .form-title-bar h1{font-size:clamp(16px,4vw,18px);}
            .form-body{padding:12px 12px 14px;}
            .section{padding:12px 12px;}

            /* Form fields stack full width with comfortable spacing */
            .row{flex-direction:column;gap:10px;margin-bottom:0;}
            .field{margin-bottom:10px;}
            .field input,.field select,.field textarea{padding:10px 12px;font-size:14px;}

            /* Items table becomes horizontally scrollable */
            .items-table{min-width:520px;}
            .items-table th,.items-table td{white-space:nowrap;}
            .items-table input{font-size:12px;padding:7px 8px;}

            .add-item{padding:10px;font-size:12px;min-height:44px;}

            /* Actions: wrap, full width, comfortable touch targets */
            .form-actions{flex-wrap:wrap;padding:12px 14px;gap:8px;}
            .btn{min-height:44px;font-size:13px;flex:1 1 auto;}
            .shortcut-hint{margin-left:0;flex-basis:100%;text-align:center;}

            /* Live summary */
            .live-summary{padding:10px 12px;}
            .live-summary .row{font-size:12px;}
            .live-summary .row:last-child{font-size:14px;}

            .preview-panel{padding:12px;}
            .invoice-page{padding:4px;font-size:12px;}
            .branding{font-size:9px;padding:10px;}
        }

        @media(max-width:480px){
            .form-nav a{font-size:10px;}
            .form-nav .logo span{font-size:12px;}
            .form-title-bar h1{font-size:clamp(15px,5vw,16px);}
            .form-title-bar .badge{font-size:8px;padding:3px 8px;}
            .section-title{font-size:8.5px;}

            .field label{font-size:8.5px;}
            .field input,.field select,.field textarea{font-size:13px;padding:9px 10px;}

            .items-table{min-width:480px;}
            .items-table th{font-size:8px;padding:4px 3px;}
            .items-table input{font-size:11px;padding:6px 6px;}

            .form-actions{flex-direction:column;align-items:stretch;}
            .btn{width:100%;}

            .inv-header .name{font-size:18px;}
            .inv-parties .value{font-size:12px;}
            .inv-grand .right{font-size:12px;}
        }