:root{--green-dark:#1b5e20;--green:#2e7d32;--green-mid:#388e3c;--green-light:#a5d6a7;--green-bg:#f1f8f2;--white:#fff;--gray:#e0e0e0;--text:#1a1a1a;--text-muted:#666;--shadow-lg:0 4px 32px #00000021}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--green-bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif}.app-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 100%);color:#fff;height:64px;box-shadow:var(--shadow-lg);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo-icon{background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:900;display:flex}.brand-name{letter-spacing:.5px;font-size:1.1rem;font-weight:700}.brand-sub{opacity:.75;margin-top:1px;font-size:.72rem}.header-actions{gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .18s;display:inline-flex}.btn-pdf{color:var(--green-dark);background:#fff}.btn-pdf:hover{background:#e8f5e9;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-word{color:#fff;background:#ffffff26;border:1.5px solid #fff6}.btn-word:hover{background:#ffffff40;transform:translateY(-1px)}.app-body{flex:1;display:flex;overflow:hidden}.form-panel{background:var(--white);flex-direction:column;width:380px;min-width:320px;display:flex;overflow:hidden;box-shadow:2px 0 12px #0000000f}.form-selector{border-bottom:1px solid var(--gray);flex-shrink:0;padding:20px 20px 12px}.form-selector label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px;font-size:.75rem;font-weight:700;display:block}.form-select{border:1.5px solid var(--gray);width:100%;color:var(--text);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;cursor:pointer;border-radius:8px;padding:11px 14px;font-family:inherit;font-size:.92rem;transition:border-color .15s}.form-select:focus{border-color:var(--green-mid);outline:none}.form-body{flex:1;min-height:0;padding:16px 20px 28px;overflow-y:auto}.form-section{margin-bottom:20px}.form-section-title{text-transform:uppercase;letter-spacing:.9px;color:var(--green-dark);border-bottom:2px solid var(--green-light);margin-bottom:12px;padding-bottom:6px;font-size:.7rem;font-weight:800}.form-row{margin-bottom:12px}.form-row label{color:var(--text-muted);margin-bottom:4px;font-size:.78rem;font-weight:600;display:block}.form-row input,.form-row select{border:1.5px solid var(--gray);width:100%;color:var(--text);background:var(--white);border-radius:7px;padding:9px 11px;font-family:inherit;font-size:.88rem;transition:border-color .15s}.form-row input:focus,.form-row select:focus{border-color:var(--green-mid);background:#f9fffe;outline:none}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.payment-options{flex-direction:column;gap:7px;margin:4px 0 10px;display:flex}.payment-option{border:1.5px solid var(--gray);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;transition:all .15s;display:flex}.payment-option:hover{border-color:var(--green-mid);background:#f9fffe}.payment-option.selected{border-color:var(--green-mid);background:#e8f5e9}.payment-option input[type=radio]{accent-color:var(--green-mid);width:15px;height:15px}.payment-option span{font-size:.85rem;font-weight:500}.products-table-wrap{margin-top:6px;overflow-x:auto}.products-form-table{border-collapse:collapse;width:100%;font-size:.8rem}.products-form-table th{background:var(--green-bg);color:var(--green-dark);text-align:left;border:1px solid var(--gray);padding:6px 7px;font-size:.72rem;font-weight:700}.products-form-table td{border:1px solid var(--gray);padding:4px 3px}.products-form-table td input{background:0 0;border:none;width:100%;padding:5px 6px;font-family:inherit;font-size:.82rem}.products-form-table td input:focus{background:#f9fffe;outline:none}.btn-add-row{background:var(--green-bg);color:var(--green-dark);border:1.5px dashed var(--green-light);cursor:pointer;border-radius:6px;align-items:center;gap:5px;margin-top:7px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-add-row:hover{border-color:var(--green-mid);background:#e8f5e9}.btn-del-row{cursor:pointer;color:#e53935;background:0 0;border:none;padding:2px 5px;font-size:1rem;line-height:1}.btn-del-row:hover{color:#b71c1c}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state svg{opacity:.3;width:64px;height:64px;margin-bottom:12px;margin-left:auto;margin-right:auto;display:block}.empty-state p{font-size:1rem;line-height:1.5}.preview-panel{background:var(--green-bg);flex:1;padding:28px 24px;overflow-y:auto}.preview-empty{text-align:center;color:var(--text-muted);background:var(--white);max-width:820px;box-shadow:var(--shadow-lg);border-radius:6px;margin:0 auto;padding:80px 20px}.preview-empty svg{opacity:.3;width:64px;height:64px;margin-bottom:12px;margin-left:auto;margin-right:auto;display:block}.preview-empty p{font-size:1rem;line-height:1.5}.contract-paper{background:var(--white);max-width:820px;box-shadow:var(--shadow-lg);color:#000;border-radius:6px;margin:0 auto 24px;padding:32px 36px;font-family:Times New Roman,Times,serif;font-size:10pt}.contract-title{text-align:center;margin-bottom:4px;font-size:12pt;font-weight:700}.hotline{text-align:center;margin-bottom:2px;font-size:9.5pt}.schedule{text-align:center;margin-bottom:14px;font-size:9.5pt}.app-title{text-align:center;text-transform:uppercase;margin:12px 0 8px;font-size:11pt;font-weight:700}.section-title{margin:10px 0 4px;font-size:10.5pt;font-weight:700}.bil{border-collapse:collapse;width:100%}.bil td{vertical-align:top;width:50%;padding:3px 6px}.bil td:first-child{border-right:1px solid #bbb}.fill{color:#1b5e20;border-bottom:1.5px solid #1b5e20;font-weight:700;display:inline}.fill.empty{color:#999;border-color:#999;font-weight:400}.details-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:9.5pt}.details-table td{border:1px solid #bbb;padding:3px 8px}.details-table td:first-child{background:#f5f5f5;width:40%;font-weight:600}.sig-table{border-collapse:collapse;width:100%;margin-top:16px}.sig-table td{vertical-align:bottom;width:50%;padding:3px 6px;font-size:9.5pt}.sig-table td:first-child{border-right:1px solid #bbb}.sig-line{border-top:1px solid #000;margin-top:24px;padding-top:3px;font-size:9pt}.products-preview-table{border-collapse:collapse;width:100%;margin:6px 0;font-size:9.5pt}.products-preview-table th,.products-preview-table td{text-align:center;border:1px solid #bbb;padding:4px 6px}.products-preview-table th{background:#f0f0f0;font-size:9pt;font-weight:700}.products-preview-table td:nth-child(2){text-align:left}.payment-table-preview{border-collapse:collapse;width:100%;font-size:9.5pt}.payment-table-preview th,.payment-table-preview td{border:1px solid #bbb;padding:4px 7px}.payment-table-preview th{background:#f0f0f0;font-size:9pt}.selected-payment{font-weight:700;background:#e8f5e9!important}@media print{.no-print{display:none!important}.app-root{height:auto;overflow:visible}.app-body{display:block;overflow:visible}.preview-panel{background:#fff;padding:0;overflow:visible}.contract-paper{box-shadow:none;border-radius:0;max-width:100%;margin:0 0 20px}@page{size:A4;margin:1.5cm}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--green-light);border-radius:3px}
