:root{--teal:#006c77;--dark:#003e55;--line:#4f8b97;--soft:#eef6f7;--ink:#062e44}*{box-sizing:border-box}html,body{margin:0;background:#edf1f3;color:var(--ink);font-family:Tahoma,Arial,sans-serif}.toolbar{position:sticky;top:0;z-index:50;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px;background:#fff;border-bottom:1px solid #d8e0e4;box-shadow:0 2px 8px #0001}.toolbar button,.modal-actions button{border:1px solid #9eb5bd;background:#fff;color:#07384c;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}.toolbar button.primary,.modal-actions button.primary{background:#007680;color:#fff;border-color:#007680}.toolbar button:disabled{opacity:.5;cursor:not-allowed}#stateText{font-size:13px;color:#50646d}#pageViewport{overflow:hidden;padding:18px 0 28px;display:flex;justify-content:center}#pageScaler{width:210mm;transform-origin:top center}.a4{position:relative;width:210mm;height:297mm;background:#fff;overflow:hidden;box-shadow:0 8px 30px #0002;padding:25mm 9.5mm 10mm;direction:rtl}.decor{position:absolute;z-index:0;pointer-events:none}.top-left{top:0;left:0;width:74mm;height:auto}.bottom-left{left:0;bottom:0;width:72mm}.bottom-right{right:0;bottom:0;width:62mm}.ministry-logo{position:absolute;top:4.5mm;right:7mm;width:60mm;height:auto;object-fit:contain}.a4 h1{position:relative;z-index:1;margin:0 0 7mm;text-align:center;font-size:10.5mm;line-height:1;font-weight:800;color:#003c52;letter-spacing:-.5mm}.top-table{position:relative;z-index:1;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1.2px solid #367b88;border-radius:1.5mm;overflow:hidden;margin:0 0 3.5mm;direction:rtl}.top-table th,.top-table td{height:10mm;border-bottom:1px solid #5f93a0;vertical-align:middle}.top-table tr:last-child th,.top-table tr:last-child td{border-bottom:0}.top-table .label{width:39mm;text-align:center;background:linear-gradient(180deg,#007985,#006876);color:#fff;font-size:4.3mm;font-weight:700;border-left:1px solid #5f93a0}.top-table .value{padding:0 4mm;background:#fff}.top-table .value.ltr input{direction:ltr;text-align:right}.works{position:relative;z-index:1;text-align:center;margin:2.5mm 0 2.6mm}.works h2{margin:0;color:#00717d;font-size:5.1mm;line-height:1.15}.work-input{font-size:4.4mm;text-align:center}.points-table{position:relative;z-index:1;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid #4f8b97;border-radius:1.5mm;overflow:hidden;color:#0a374c}.points-table th,.points-table td{border-right:1px solid #75a0a9;border-bottom:1px solid #75a0a9;text-align:center;vertical-align:middle;padding:0}.points-table th:last-child,.points-table td:last-child{border-right:0}.points-table tbody tr:last-child td{border-bottom:0}.points-table thead tr:first-child{height:12mm;background:linear-gradient(#eef7f7,#e4f0f1);font-size:3.8mm}.points-table tbody tr{height:8.2mm}.points-table col.c-cabinet{width:18%}.points-table col.c-switch{width:18%}.points-table col.c-port{width:18%}.points-table col.c-patch{width:18%}.points-table col.c-point{width:16%}.points-table col.c-name{width:12%}.approval{position:relative;z-index:1;margin-top:3.5mm;border:1px solid #4f8b97;border-radius:1.5mm;overflow:hidden}.approval-title{height:8.4mm;background:linear-gradient(90deg,#007e82,#008e85);color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;font-size:4.7mm;font-weight:800}.approval-head{display:grid;grid-template-columns:1fr 1fr;height:12.2mm;border-bottom:1px solid #75a0a9;text-align:center;font-weight:700;font-size:4mm}.approval-head>div{display:flex;align-items:center;justify-content:center}.approval-head>div:first-child{border-left:1px solid #75a0a9}.approval-row{display:grid;grid-template-columns:30mm 43mm 31mm 1fr 23mm;min-height:13.6mm;border-bottom:1px solid #75a0a9;direction:ltr}.approval-row:last-child{border-bottom:0;min-height:18mm}.approval-row>div{border-right:1px solid #75a0a9;display:flex;align-items:center;padding:0 2mm}.approval-row>div:last-child{border-right:0}.approval-row .eng{font-weight:700;font-size:3.7mm;direction:ltr}.approval-row .arlabel{justify-content:center;font-size:3.6mm;font-weight:700;direction:rtl}.approval-row .entry{direction:rtl}.approval-row .entry.contractor{grid-column:auto}.signature-cell{justify-content:center;cursor:pointer;position:relative;min-height:17mm}.signature-cell img{max-width:95%;max-height:15mm;display:none}.signature-cell.has-signature img{display:block}.signature-cell.has-signature #signatureHint,.signature-cell.has-signature #contractorSignatureHint{display:none}#signatureHint,#contractorSignatureHint{font-size:3.3mm;color:#55757d}.classification{position:absolute;bottom:13.3mm;left:0;right:0;text-align:center;font-size:3.5mm;font-weight:700;color:#133f60;z-index:2;direction:ltr}input{width:100%;border:0;outline:0;background:transparent;color:#072f44;font:inherit;font-weight:700;min-height:8mm;text-align:right;padding:0}.points-table input{text-align:center;font-size:3.55mm;direction:ltr}.approval input{font-size:3.7mm}.a4.approved input{pointer-events:none}.a4.approved .signature-cell{pointer-events:none}.modal{position:fixed;inset:0;background:#001d2aaa;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal[hidden]{display:none}.modal-card{width:min(720px,100%);background:#fff;border-radius:14px;padding:16px}.modal-card h3{margin:0 0 12px}.canvas-wrap{height:min(45vh,360px);border:2px solid #9ab2ba;border-radius:10px;overflow:hidden;touch-action:none;background:#fff}.canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none}.modal-actions{display:flex;gap:9px;justify-content:flex-start;margin-top:12px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#103e4d;color:#fff;padding:11px 16px;border-radius:9px;z-index:120;box-shadow:0 6px 20px #0003;max-width:90vw}@media(max-width:700px){.toolbar{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.toolbar button{white-space:nowrap;padding:10px 12px}#pageViewport{padding-top:10px}}@page{size:A4 portrait;margin:0}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important;width:210mm!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  body{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .no-print{display:none!important}
  #pageViewport,#pageScaler{display:block!important;width:210mm!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;transform:none!important}
  .a4{box-shadow:none!important;margin:0!important;width:210mm!important;height:285mm!important;min-height:285mm!important;max-height:285mm!important;overflow:hidden!important;padding:19mm 9.5mm 7mm!important;page-break-before:avoid!important;page-break-after:avoid!important;break-before:avoid-page!important;break-after:avoid-page!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .a4 h1{font-size:9.2mm!important;margin:0 0 3mm!important;line-height:1!important}
  .ministry-logo{top:3.5mm!important}.top-left{width:70mm!important}.bottom-left{width:68mm!important}.bottom-right{width:59mm!important}
  .top-table{margin-bottom:1.6mm!important;border-collapse:separate!important;border-spacing:0!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .top-table th,.top-table td{height:6.8mm!important;min-height:6.8mm!important;border-bottom:1px solid #5f93a0!important}
  .top-table tr:last-child th,.top-table tr:last-child td{border-bottom:0!important}.top-table .label{font-size:3.65mm!important}
  .works{margin:1mm 0 1.2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.works h2{font-size:4.35mm!important}.work-input{font-size:3.75mm!important;min-height:5mm!important}
  .points-table{border-collapse:separate!important;border-spacing:0!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .points-table thead{display:table-header-group!important}.points-table thead tr:first-child{height:9mm!important;font-size:3.2mm!important}
  .points-table tbody tr{height:6.2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .points-table th,.points-table td{border-right:1px solid #75a0a9!important;border-bottom:1px solid #75a0a9!important}.points-table input{font-size:3mm!important;min-height:4.8mm!important}
  .approval{margin-top:1.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.approval-title{height:6.4mm!important;font-size:3.9mm!important}.approval-head{height:8.6mm!important;font-size:3.3mm!important}
  .approval-row{min-height:9.2mm!important}.approval-row:last-child{min-height:12.5mm!important}.approval-row .eng{font-size:3mm!important}.approval-row .arlabel{font-size:3mm!important}.approval input{font-size:3.05mm!important;min-height:5.2mm!important}
  .signature-cell{min-height:11.8mm!important}.signature-cell img{max-height:10.5mm!important}.classification{bottom:7.2mm!important;font-size:3mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  input{border:0!important;outline:0!important;background:transparent!important}.signature-cell{cursor:default!important}
}
#stateText[data-kind="saving"]{color:#7a5c00}#stateText[data-kind="saved"]{color:#3d6b56}#stateText[data-kind="error"]{color:#a32121}#stateText[data-kind="approved"]{color:#006c77;font-weight:800}
