:root{--petrol: #0f3d3e;--petrol-600: #12514f;--petrol-050: #e9f0ef;--ink: #15211f;--slate: #5c6b68;--stone: #e7e1d5;--paper: #f6f4ef;--card: #ffffff;--brass: #b08d57;--brass-050: #f3ecdf;--ok: #2e7d5b;--warn: #c6893f;--danger: #b3402f;--line: #e3ddd0;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(21, 33, 31, .04), 0 8px 24px rgba(21, 33, 31, .06);--shadow-sm: 0 1px 2px rgba(21, 33, 31, .06);--font-ui: "Cairo", system-ui, sans-serif;--font-num: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:plaintext;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--petrol);color:#dfeae8;padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.brand{position:sticky;top:-22px;background:var(--petrol);z-index:1;margin-top:-22px;display:flex;align-items:center;gap:10px;padding:6px 8px 20px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(150deg,var(--brass),#d8b98a);display:grid;place-items:center;color:var(--petrol);font-weight:700}.brand-name{font-weight:700;font-size:15px;color:#fff;line-height:1.2}.brand-sub{font-size:11px;color:#9fbab6}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);color:#bcd2cf;font-weight:500;font-size:14px;border-inline-start:3px solid transparent;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#b08d5729;color:#fff;border-inline-start-color:var(--brass)}.nav-ico{width:18px;height:18px;opacity:.9;flex:none}.nav-label-en{font-size:11px;color:#86a5a1;margin-inline-start:auto}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:62px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 26px;position:sticky;top:0;z-index:5}.topbar h1{font-size:17px;font-weight:700}.topbar .spacer{flex:1}.lang-toggle{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--slate)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--petrol-050);color:var(--petrol);display:grid;place-items:center;font-weight:700}.content{padding:26px}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.kpi{position:relative;overflow:hidden;padding:18px}.kpi:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:linear-gradient(90deg,var(--brass),transparent 70%)}.kpi-label{font-size:12.5px;color:var(--slate);font-weight:600}.kpi-label-en{font-size:10.5px;color:#9aa6a3}.kpi-value{font-size:24px;font-weight:600;margin-top:8px;color:var(--ink)}.kpi-value small{font-size:13px;color:var(--slate);font-weight:500}.hero{background:linear-gradient(180deg,rgba(15,61,62,.02),transparent),repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(15,61,62,.045) 28px),repeating-linear-gradient(90deg,transparent,transparent 27px,rgba(15,61,62,.045) 28px),var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px}.hero h2{font-size:20px;font-weight:700}.hero p{color:var(--slate);margin-top:3px;font-size:13px}.section-head{display:flex;align-items:center;margin:26px 0 12px;gap:12px}.section-head h3{font-size:15px;font-weight:700}.section-head .en{font-size:11px;color:var(--slate);font-weight:500}.section-head .spacer{flex:1}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:start;padding:11px 14px;color:var(--slate);font-weight:600;font-size:12px;border-bottom:1px solid var(--line);background:#faf8f4;white-space:nowrap}table.data td{padding:12px 14px;border-bottom:1px solid var(--line)}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:#faf9f5}.cell-strong{font-weight:600}.cell-sub{font-size:11.5px;color:var(--slate)}.t-end{text-align:end}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-draft{background:#eef0ef;color:#6a7573}.badge-active{background:var(--petrol-050);color:var(--petrol)}.badge-certified{background:var(--brass-050);color:#8a6a37}.badge-invoiced,.badge-issued,.badge-paid,.badge-completed{background:#e7f1ec;color:var(--ok)}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;border:1px solid transparent}.btn-primary{background:var(--petrol);color:#fff}.btn-primary:hover{background:var(--petrol-600)}.btn-ghost{background:var(--card);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--brass);color:var(--petrol)}.btn-brass{background:var(--brass);color:#fff}.btn-brass:hover{filter:brightness(.96)}.btn-sm{padding:6px 11px;font-size:12px}.progress{height:7px;background:var(--stone);border-radius:4px;overflow:hidden;min-width:90px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--petrol),var(--petrol-600))}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.meta-item .k{font-size:11.5px;color:var(--slate);font-weight:600}.meta-item .v{font-size:15px;font-weight:600;margin-top:3px}.empty{text-align:center;padding:46px 20px;color:var(--slate)}.empty h4{color:var(--ink);font-weight:700;margin-bottom:5px}.skeleton{background:linear-gradient(90deg,#efece5 25%,#f6f4ef 37%,#efece5 63%)}.loading{padding:40px;text-align:center;color:var(--slate)}.row{display:flex;align-items:center;gap:10px}.mb-0{margin-bottom:0}.link{color:var(--petrol);font-weight:600}.link:hover{color:var(--brass);text-decoration:underline}@media (max-width: 900px){.kpi-grid,.meta-grid{grid-template-columns:repeat(2,1fr)}.sidebar{position:fixed;inset-inline-end:0;transform:translate(100%);z-index:20}}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.col-span{grid-column:1 / -1}.field label{font-size:12.5px;font-weight:600;color:var(--slate)}.field label .en{color:#9aa6a3;font-weight:500}.input,.select,.textarea{font-family:inherit;font-size:14px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;width:100%;transition:border-color .15s,box-shadow .15s}.input.num,.select.num{font-family:var(--font-num)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px #0f3d3e14}.textarea{resize:vertical;min-height:72px}.form-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:20px}.form-error{color:var(--danger);font-size:12px}.lines-editor{display:flex;flex-direction:column;gap:8px}.line-row{display:grid;gap:8px;align-items:center}.line-row .input{padding:7px 10px;font-size:13px}.line-head{font-size:11.5px;color:var(--slate);font-weight:600}.btn-remove{background:transparent;border:1px solid var(--line);color:var(--danger);border-radius:var(--radius-sm);width:32px;height:32px;font-size:16px;line-height:1}.btn-remove:hover{border-color:var(--danger)}.btn-add-line{align-self:flex-start}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#15211f6b;display:grid;place-items:center;z-index:40;padding:20px}.modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.modal-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center}.modal-head h3{font-size:16px;font-weight:700}.modal-head .x{margin-inline-start:auto;background:none;border:none;font-size:20px;color:var(--slate)}.modal-body{padding:20px;overflow-y:auto}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:10px}.report-bars{display:flex;flex-direction:column;gap:12px}.report-bar-row{display:grid;grid-template-columns:130px 1fr 70px;gap:12px;align-items:center}.report-bar{height:10px;background:var(--stone);border-radius:5px;overflow:hidden}.report-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--petrol),var(--brass))}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 20% 10%,rgba(176,141,87,.14),transparent 60%),linear-gradient(160deg,#124748,#0a2a2b)}.auth-card{position:relative;width:100%;max-width:420px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 28px 28px}.auth-lang{position:absolute;inset-inline-end:18px;top:18px}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.auth-brand-name{font-weight:700;font-size:15px}.auth-brand-sub{font-size:11px;color:var(--slate)}.auth-title{font-size:21px;font-weight:700}.auth-sub{color:var(--slate);font-size:13px;margin-top:4px}.auth-submit{width:100%;justify-content:center;margin-top:20px;padding:11px}.topbar-company{font-size:13px;font-weight:600;color:var(--slate)}.nav-section{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7d9c98;padding:18px 12px 6px;margin-top:6px;border-top:1px solid rgba(255,255,255,.07)}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filter-bar .field{min-width:150px}.stmt-head{padding:13px 16px;font-weight:700;font-size:13.5px;background:var(--petrol);color:#fff;border-radius:var(--radius) var(--radius) 0 0}.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;align-items:start}table.data tfoot .total-row td{border-top:2px solid var(--petrol);background:#faf8f4}table.data .subtotal-row td{border-top:1px solid var(--line);background:#fbfaf7;font-weight:600}table.data .group-row td{background:#faf8f4}table.data .detail-row>td{background:#faf9f5;padding:0 14px 12px}table.data.nested{margin-top:4px}table.data.nested th{background:transparent;font-size:11px}table.data.nested td{border-bottom:1px dashed var(--line)}.net-result{display:flex;align-items:center;gap:14px}.net-label{font-weight:700;font-size:15px}.net-value{margin-inline-start:auto;font-size:22px;font-weight:600}.net-positive{color:var(--ok)}.net-negative{color:var(--danger)}@media (max-width: 900px){.bs-grid{grid-template-columns:1fr}}.alloc-summary{display:flex;gap:22px;justify-content:flex-end;align-items:center;margin-top:16px;padding:12px 14px;background:#faf8f4;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13.5px}.alloc-summary strong{font-size:15px}.perm-matrix{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:16px 0}.perm-group{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.perm-group-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#faf8f4;font-weight:700;font-size:12.5px}.perm-group-actions{display:flex;gap:8px}.link-sm{background:none;border:0;color:var(--petrol);font-size:11px;cursor:pointer;padding:0}.link-sm:hover{text-decoration:underline}.perm-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:13px;cursor:pointer}.perm-item:hover{background:#faf9f6}.perm-item input{width:15px;height:15px;accent-color:var(--petrol)}.role-picker{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px}.info-banner{margin:16px 0;padding:12px 14px;background:#eef4f3;border:1px solid #cfe0dd;border-radius:var(--radius-sm);font-size:13px;color:var(--petrol)}.chip{display:inline-block;padding:2px 9px;margin-inline-end:5px;background:#eef2f1;border-radius:999px;font-size:11.5px}.field-label{font-size:12px;font-weight:600;color:var(--slate);display:block}.zatca-qr{display:flex;justify-content:center;padding:8px}.zatca-qr img{width:180px;height:180px;border:1px solid var(--line);border-radius:var(--radius-sm)}.checkbox-row{display:flex;align-items:center;gap:9px;font-size:13.5px;cursor:pointer}.checkbox-row input{width:16px;height:16px;accent-color:var(--petrol)}.cred-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:600}textarea.input.mono,.input.mono{font-family:IBM Plex Mono,monospace;font-size:12px}.warn-banner{margin-top:12px;padding:11px 14px;background:#fdf1e7;border:1px solid #f0c9a0;border-radius:var(--radius-sm);font-size:12.5px;color:#9a5a1e}.saved-flash{color:var(--ok);font-size:13px;margin-inline-start:12px;align-self:center}.add-user-panel{margin-top:14px;padding:14px;background:#faf8f4;border:1px solid var(--line);border-radius:var(--radius-sm)}.company-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}tr.clickable{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}tr.clickable td:first-child{border-inline-start:3px solid transparent;transition:border-color .12s ease}tr.clickable:hover{background:#f2f7f6}tr.clickable:hover td:first-child{border-inline-start-color:var(--brass)}tr.clickable:hover .link{text-decoration:underline}tr.clickable td:last-child{position:relative}tr.clickable td:last-child:after{content:"‹";position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);color:var(--brass);opacity:0;transition:opacity .12s ease,transform .12s ease;font-size:18px}tr.clickable:hover td:last-child:after{opacity:1;transform:translateY(-50%) translate(-3px)}.statement-modal{max-width:860px;width:96%}.statement-table .opening-row td{background:#faf8f4}.statement-closing{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:14px;padding:14px 16px;background:#faf8f4;border:1px solid var(--line);border-radius:var(--radius-sm)}.statement-closing strong{font-size:20px}.hint-pill{font-size:11.5px;color:var(--petrol);background:#eef4f3;border:1px solid #cfe0dd;border-radius:999px;padding:4px 12px}.print-only{display:none}@media print{body.printing-statement *{visibility:hidden!important}body.printing-statement #print-statement,body.printing-statement #print-statement *{visibility:visible!important}body.printing-statement #print-statement{position:absolute;inset-inline-start:0;top:0;width:100%;padding:0;margin:0;background:#fff}body.printing-statement .modal-overlay,body.printing-statement .modal,body.printing-statement .statement-modal,body.printing-statement .modal-body{position:static!important;inset:auto!important;max-width:100%!important;width:100%!important;height:auto!important;overflow:visible!important;box-shadow:none!important;background:#fff!important;padding:0!important;margin:0!important;border:0!important}body.printing-statement .no-print,body.printing-statement .modal-head{display:none!important}body.printing-statement .print-only{display:block!important}.print-header{text-align:center;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid #0f3d3e}.print-company{font-size:20px;font-weight:700;color:#0f3d3e}.print-title{font-size:13px;color:#555;margin-top:2px;letter-spacing:.04em;text-transform:uppercase}.print-meta{display:flex;justify-content:space-between;font-size:12px;margin-bottom:14px;color:#333}body.printing-statement #print-statement table{width:100%;border-collapse:collapse}body.printing-statement #print-statement thead{display:table-header-group}body.printing-statement #print-statement tr{page-break-inside:avoid}body.printing-statement #print-statement th,body.printing-statement #print-statement td{border-bottom:1px solid #ddd;padding:6px 8px}@page{margin:16mm}}.badge-on_hold{background:#fdf1e7;color:#9a5a1e}.badge-closed{background:#eceff1;color:#55606a}.badge-active{background:#e6f4ea;color:#1e7a3d}.badge-completed{background:#e8f0fe;color:#1a4fa0}.status-control{display:inline-flex;align-items:center;gap:8px}.status-select{padding:5px 10px;font-size:12.5px;min-width:130px}
