:root{--navy:#082b4a;--navy2:#0d3a61;--accent:#c6922c;--bg:#f4f7fb;--text:#243142;--muted:#6b7785;--border:#dde4ec;--danger:#b42318;--success:#18794e}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--navy);color:#fff;position:fixed;inset:0 auto 0 0;overflow-y:auto;transition:.2s;z-index:30}.sidebar .brand{padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.brand h2{font-size:16px;margin:0 0 5px;line-height:1.35}.brand small{opacity:.72}.nav{padding:12px}.nav a{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:8px;color:#dce8f4;font-size:14px;margin:2px 0}.nav a:hover,.nav a.active{background:rgba(255,255,255,.12);color:#fff}.main{margin-left:260px;width:calc(100% - 260px)}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.menu-btn{display:none;border:0;background:#eef3f8;border-radius:8px;padding:9px 11px}.content{padding:24px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-head h1{font-size:24px;margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(10,35,60,.04)}.metric .label{font-size:13px;color:var(--muted)}.metric .value{font-size:28px;font-weight:700;margin-top:8px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table th{background:#f8fafc;color:#4e5d6c}.btn{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:600}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{background:#edf2f7;color:var(--text)}.btn-danger{background:#fee4e2;color:var(--danger)}.btn-success{background:#e7f6ee;color:var(--success)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.field textarea{min-height:100px}.field.full{grid-column:1/-1}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px}.alert-success{background:#eaf7ef;color:#166534}.alert-error{background:#fff0f0;color:#a61b1b}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;background:#eef2f7}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{background:#fff;border-radius:12px;max-width:760px;width:100%;max-height:90vh;overflow:auto;padding:20px}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.settings-tabs a{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.settings-tabs a.active{background:var(--navy);color:#fff}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#061f35,#0d3a61)}.login-card{width:min(430px,92vw);background:#fff;padding:30px;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.login-card h1{font-size:22px;margin:0 0 6px}.login-card p{color:var(--muted);margin-top:0}.login-logo{width:70px;height:70px;object-fit:contain;margin-bottom:15px}.ltr{direction:ltr}.rtl{direction:rtl}.rtl .sidebar{right:0;left:auto}.rtl .main{margin-right:260px;margin-left:0}.rtl .table th,.rtl .table td{text-align:right}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.rtl .sidebar{transform:translateX(100%)}.rtl .sidebar.open{transform:translateX(0)}.main,.rtl .main{margin:0;width:100%}.menu-btn{display:inline-flex}.content{padding:16px}.form-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.topbar{padding:0 14px}.topbar .searchbox{display:none}}
/* Phase 2: Customers & Quotations */
.muted{color:var(--muted)}.small{font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn-sm{padding:6px 9px;font-size:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.page-subhead{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px}.page-subhead h2{font-size:18px;margin:0}.section-title{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.editor-label{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}.filter-card{padding:12px;margin-bottom:14px}.filter-row{display:flex;gap:9px;flex-wrap:wrap}.filter-row input,.filter-row select{min-width:180px;flex:1;padding:9px 10px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.empty{text-align:center!important;color:var(--muted);padding:28px!important}.pagination{display:flex;gap:5px;margin-top:14px;flex-wrap:wrap}.pagination a{background:#fff;border:1px solid var(--border);padding:7px 10px;border-radius:7px}.pagination a.active{background:var(--navy);color:#fff}.badge-success{background:#e7f6ee;color:#18794e}.badge-danger{background:#fee4e2;color:#b42318}.badge-warning{background:#fff4d6;color:#8a5b00}.badge-neutral{background:#eef2f7;color:#52606d}.form-actions{display:flex;gap:8px;margin-top:20px}.field-help{font-size:12px;margin-top:5px;color:var(--navy)}.flat{border-radius:8px;box-shadow:none}.detail-list{display:grid;gap:9px}.detail-list.two{grid-template-columns:repeat(2,1fr)}.detail-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--border);padding-bottom:7px}.detail-list b{font-size:12px;color:var(--muted)}.detail-list span{text-align:right}.status-strip{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 15px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.document-section{margin-top:14px}.rich-display{line-height:1.65}.rich-display p{margin:.5em 0}.rich-display li{margin:.2em 0}.bilingual-editors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rich-editor{border:1px solid #cfd8e3;border-radius:8px;overflow:hidden;background:#fff}.rich-toolbar{display:flex;flex-wrap:wrap;gap:3px;background:#f5f7fa;border-bottom:1px solid #d8e0e9;padding:5px}.rich-toolbar button{border:1px solid #d3dce6;background:#fff;border-radius:5px;padding:5px 8px;cursor:pointer;min-width:30px}.rich-content{min-height:155px;padding:10px 12px;outline:0;line-height:1.55}.quote-form{display:grid;gap:14px;padding-bottom:74px}.customer-picker{position:relative}.search-results{display:none;position:absolute;z-index:50;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);box-shadow:0 12px 30px rgba(20,40,60,.16);border-radius:8px;overflow:hidden;max-height:320px;overflow-y:auto}.search-results.show{display:block}.search-item{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--border);padding:10px 12px;cursor:pointer}.search-item:hover{background:#f3f7fb}.search-item small{display:block;color:var(--muted);margin-top:3px}.search-empty{padding:14px;color:var(--muted)}.quote-items input{width:100%;min-width:80px;border:1px solid #d6dee8;border-radius:6px;padding:7px}.quote-items td:nth-child(3) input{min-width:260px}.totals-box{border:1px solid var(--border);border-radius:10px;overflow:hidden}.totals-box>div,.totals-view>div{display:flex;justify-content:space-between;gap:18px;padding:9px 12px;border-bottom:1px solid var(--border)}.totals-box>div:last-child,.totals-view>div:last-child{border-bottom:0}.totals-box .grand,.totals-view .grand{background:#edf3f8;font-size:16px;color:var(--navy)}.totals-view{width:min(520px,100%);margin:12px 0 0 auto;border:1px solid var(--border);border-radius:8px;overflow:hidden}.sticky-actions{position:fixed;bottom:0;left:260px;right:0;z-index:18;background:#fff;border-top:1px solid var(--border);padding:10px 24px;display:flex;gap:8px;box-shadow:0 -4px 15px rgba(20,40,60,.05)}.rtl .sticky-actions{left:0;right:260px}.inline-form{display:inline-flex}
@media(max-width:1050px){.grid-3{grid-template-columns:1fr 1fr}.bilingual-editors{grid-template-columns:1fr}}
@media(max-width:800px){.grid-2,.grid-3{grid-template-columns:1fr}.filter-row{flex-direction:column}.filter-row input,.filter-row select{width:100%;min-width:0}.detail-list.two{grid-template-columns:1fr}.sticky-actions,.rtl .sticky-actions{left:0;right:0;padding:10px 16px}.quote-items{min-width:1050px}.page-head{align-items:flex-start;gap:10px;flex-direction:column}.topbar-right>a:not(.btn){display:none}}
/* Phase 3: Invoice / Finance */
.invoice-items input{width:100%;min-width:90px;border:1px solid #d6dee8;border-radius:6px;padding:7px}.invoice-items td:nth-child(2) input{min-width:300px}@media(max-width:800px){.invoice-items{min-width:900px}}@media print{.sidebar,.topbar,.page-head .actions,.filter-card,.btn{display:none!important}.main,.rtl .main{margin:0!important;width:100%!important}.content{padding:0!important}.card,.table-wrap{box-shadow:none!important;border-color:#bbb!important}}
/* Phase 5: production navigation, search, notifications and QA polish */
body{overflow-x:hidden}.sidebar-overlay{display:none}.topbar{box-shadow:0 1px 0 rgba(8,43,74,.03)}.page-title-top{white-space:nowrap}.global-search{position:relative;width:min(360px,30vw)}.global-search>input{width:100%;padding:9px 12px 9px 34px;border:1px solid #d5dde7;border-radius:9px;background:#f8fafc;outline:none;transition:.15s}.global-search>input:focus{background:#fff;border-color:#8ca7be;box-shadow:0 0 0 3px rgba(13,58,97,.08)}.search-icon{position:absolute;left:11px;top:8px;color:#718096;z-index:2}.global-search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;width:520px;max-width:min(92vw,520px);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 45px rgba(13,42,68,.18);overflow:hidden;z-index:80}.global-search-results.open{display:block}.global-result-item{display:flex;gap:10px;padding:11px 12px;border-bottom:1px solid #edf1f5}.global-result-item:hover{background:#f7fafc}.result-type{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;background:#eaf0f6;color:var(--navy);border-radius:999px;font-size:10px;font-weight:800;padding:4px 7px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.result-copy{min-width:0;display:block}.result-copy b,.result-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-copy b{font-size:13px}.result-copy small{color:var(--muted);margin-top:3px}.global-search-all{display:block;text-align:center;padding:10px;font-size:12px;font-weight:700;color:var(--navy);background:#f8fafc}.dropdown-empty{padding:18px;text-align:center;color:var(--muted);font-size:13px}.notification-menu{position:relative}.icon-btn{position:relative;width:38px;height:38px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;font-size:19px;color:var(--navy)}.notification-count{position:absolute;top:-6px;right:-6px;background:#b42318;color:#fff;border:2px solid #fff;border-radius:999px;min-width:20px;height:20px;padding:0 4px;font:700 10px/16px Arial;text-align:center}.notification-count.hidden{display:none}.notification-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(390px,92vw);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 45px rgba(13,42,68,.18);overflow:hidden;z-index:80}.notification-dropdown.open{display:block}.dropdown-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.link-button{border:0;background:transparent;color:var(--navy);font-weight:700;font-size:11px;cursor:pointer}.notification-mini{display:block;padding:11px 14px;border-bottom:1px solid #edf1f5}.notification-mini:hover{background:#f8fafc}.notification-mini.unread{background:#f2f7fb}.notification-mini b,.notification-mini span,.notification-mini small{display:block}.notification-mini b{font-size:13px}.notification-mini span{font-size:12px;color:#4d5b6a;margin-top:3px}.notification-mini small{font-size:10px;color:#8290a0;margin-top:5px}.dropdown-footer{display:block;text-align:center;padding:10px;font-size:12px;font-weight:700;color:var(--navy);background:#f8fafc}.user-chip{display:flex;align-items:center;gap:7px}.user-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px;font-weight:800}.notification-list{display:grid;gap:10px}.notification-row{display:flex;align-items:flex-start;gap:12px}.notification-row.unread{border-left:4px solid var(--navy);background:#fbfdff}.notification-dot{width:9px;height:9px;border-radius:50%;background:#cbd5df;margin-top:6px;flex:none}.notification-row.unread .notification-dot{background:var(--navy)}.notification-main{flex:1;min-width:0}.notification-title{font-weight:800;margin-bottom:3px}.search-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.search-result-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.search-result-card h3{font-size:15px;margin:0}.empty-state{text-align:center;color:var(--muted);padding:34px}.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.health-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:#fff}.health-copy b,.health-copy small{display:block}.health-copy small{color:var(--muted);margin-top:3px}.health-ok{color:var(--success);font-weight:800}.health-warn{color:#9a6700;font-weight:800}.health-fail{color:var(--danger);font-weight:800}.permission-module{font-weight:800;color:var(--navy);background:#f8fafc!important}.permission-actions{display:flex;gap:10px;flex-wrap:wrap}.table .checkbox-cell{text-align:center}.system-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.system-kpi .card{padding:14px}.system-kpi b{font-size:20px;display:block;margin-top:5px}.card:hover{border-color:#d2dce6}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#8ca7be;box-shadow:0 0 0 3px rgba(13,58,97,.07)}
.rtl .search-icon{left:auto;right:11px}.rtl .global-search>input{padding-left:12px;padding-right:34px}.rtl .notification-dropdown{right:auto;left:0}.rtl .notification-row.unread{border-left:1px solid var(--border);border-right:4px solid var(--navy)}
@media(max-width:1150px){.user-name,.logout-btn{display:none}.global-search{width:280px}.system-kpi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar-overlay{position:fixed;inset:0;background:rgba(1,20,35,.42);z-index:25}.sidebar-open .sidebar-overlay{display:block}.topbar-right{gap:7px}.global-search{width:min(44vw,260px)}.global-search-results{left:auto;right:0}.lang-btn{padding:8px 9px}.user-chip{display:none}.search-result-grid,.health-grid{grid-template-columns:1fr}.notification-dropdown{position:fixed;top:62px;right:8px;left:8px;width:auto}.rtl .notification-dropdown{right:8px;left:8px}.system-kpi{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.page-title-top{display:none}.global-search{width:48vw}.lang-btn{display:none}.system-kpi{grid-template-columns:1fr}.topbar{height:60px}.content{padding:13px}.card{padding:14px}}

/* Phase 6 production maintenance */
.code-block{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#e2e8f0;padding:12px 14px;border-radius:10px;overflow:auto;font-size:12px;direction:ltr;text-align:left}.action-row{display:flex;gap:8px;flex-wrap:wrap}

/* Phase 7 — fast quotation workspace */
.quote-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px}.quote-main-column{display:grid;gap:14px;min-width:0}.quote-live-summary{min-width:0}.sticky-summary-card{position:sticky;top:84px}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--border);font-size:13px}.summary-line span{color:var(--muted)}.summary-line b{text-align:right;max-width:60%;overflow-wrap:anywhere}.summary-total{margin:14px -18px -2px;padding:14px 18px;background:#edf3f8;display:flex;justify-content:space-between;align-items:center;color:var(--navy)}.summary-total strong{font-size:21px}.summary-total small{font-size:11px;font-weight:700}.summary-actions{display:grid;gap:7px;margin-top:14px}.summary-actions .btn{justify-content:center}.autosave-indicator,.sticky-save-state{font-size:12px;color:var(--muted)}.autosave-indicator{margin-top:12px;padding:8px 10px;border-radius:7px;background:#f5f7fa}.autosave-indicator[data-state="saved"],.sticky-save-state[data-state="saved"]{color:var(--success)}.autosave-indicator[data-state="saving"],.sticky-save-state[data-state="saving"]{color:#8a5b00}.autosave-indicator[data-state="dirty"],.sticky-save-state[data-state="dirty"]{color:#8a5b00}.autosave-indicator[data-state="error"],.sticky-save-state[data-state="error"]{color:var(--danger)}.mode-switch{display:inline-flex;background:#eef2f7;border-radius:9px;padding:3px}.mode-switch .btn{padding:7px 11px;background:transparent}.mode-switch .btn.active{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(20,40,60,.12)}.quote-quick-mode [data-advanced-section]{display:none!important}.quote-recovery{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quote-recovery[hidden]{display:none!important}.warning-text{color:#9a6700}.current-revision-row{background:#f1f7fb}.quotation-action-card{margin-top:18px}.quick-core-card{border-top:3px solid var(--navy)}
@media(max-width:1100px){.quote-workspace{grid-template-columns:1fr}.quote-live-summary{order:-1}.sticky-summary-card{position:static}.summary-actions{grid-template-columns:1fr 1fr}.quote-live-summary .summary-line{display:none}.quote-live-summary .section-title{margin-bottom:4px}}
@media(max-width:700px){.quote-page-head .actions{width:100%;justify-content:space-between}.mode-switch{width:100%}.mode-switch .btn{flex:1;justify-content:center}.summary-actions{grid-template-columns:1fr}.sticky-save-state{display:none}}

/* Quotation cost-row control: one compact + button adds one row at a time. */
.quote-row-add{display:flex;align-items:center;gap:9px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:700}
.quote-add-row-btn{width:38px;height:38px;border:1px solid var(--navy);border-radius:50%;background:var(--navy);color:#fff;font-size:25px;line-height:34px;font-weight:400;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 3px 8px rgba(20,40,60,.12)}
.quote-add-row-btn:hover,.quote-add-row-btn:focus{filter:brightness(.93);outline:2px solid rgba(6,43,77,.14);outline-offset:2px}
.quote-add-row-btn:active{transform:translateY(1px)}
