/* Contractors Statements Desktop — interface revision 02 */
:root{
 --night:#142437; --night-deep:#101d2b; --night-mid:#1d3248;
 --accent:#0c9989; --accent-strong:#087d71; --accent-soft:#e8f6f2;
 --ink:#182c40;--ink-light:#405369;--muted:#8693a3;
 --canvas:#f4f6f9;--paper:#fff;--line:#e7edf2;--line-deep:#dfe6ec;
 --shadow:0 6px 22px rgba(32,56,77,.035);--shadow-hover:0 9px 23px rgba(27,54,68,.09);
 font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);font-synthesis:none;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--canvas);font-size:13px;direction:rtl;overflow:hidden;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,tr:focus-visible{outline:3px solid rgba(3,172,154,.32);outline-offset:2px}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.app-shell{display:flex;min-height:520px;height:100vh;overflow:hidden}
.sidebar{width:264px;flex:none;background:var(--night);color:#f1f6f9;display:flex;flex-direction:column;z-index:2;box-shadow:-1px 0 10px #13293c12;overflow:hidden}
.brand-area{padding:29px 22px 29px;min-height:105px;display:flex;gap:13px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{width:46px;height:46px;flex:none;border:1px solid rgba(71,232,203,.23);background:linear-gradient(145deg,#22ae9d,#0d7169);border-radius:13px;display:grid;place-items:center;box-shadow:0 8px 18px #09162439}
.brand-mark span{font-weight:900;font-size:24px;line-height:1}
.brand-copy{display:flex;flex-direction:column;gap:6px;min-width:0;white-space:nowrap}.brand-copy b{font-size:14px;font-weight:800;letter-spacing:-.2px}.brand-copy small{font-size:10.5px;color:#9eb0c1}
.side-body{padding:31px 14px 0}.nav-caption{color:#718ba0;font-size:10.5px;padding:0 17px 12px;font-weight:750}
.navigation{display:grid;gap:6px}.nav-item{height:50px;display:flex;align-items:center;gap:13px;padding:0 15px;background:transparent;border:1px solid transparent;border-radius:10px;width:100%;color:#a7bac9;font-weight:640;text-align:right;position:relative;transition:background .18s,border-color .18s,color .18s}
.nav-item:hover{color:white;background:rgba(255,255,255,.06)}.nav-item.active{background:#203a51;border:1px solid #305168;color:#fff;box-shadow:inset -3px 0 #20bea9}
.nav-icon{width:22px;height:24px;display:grid;place-items:center;opacity:.95}.nav-icon svg{width:20px;height:20px}
.nav-label{flex:1}.nav-count{border-radius:6px;background:rgba(255,255,255,.075);padding:3px 7px;font-size:11px;color:#9db6c6;font-family:"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}.nav-item.active .nav-count{background:#2a5364;color:#d4f8ef}
.side-bottom{margin:auto 14px 16px;background:#1c3045;border:1px solid #2b4155;border-radius:13px;padding:17px 16px 15px;overflow:hidden}
.side-bottom-caption{font-size:10.5px;color:#93abc0;display:block;margin-bottom:9px}.side-bottom strong{font-size:14px;color:#fff;font-weight:750;line-height:1.7;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-bottom-foot{margin-top:14px;padding-top:13px;border-top:1px solid #33495e;display:flex;align-items:center;gap:7px;color:#98adbf;font-size:10.5px}.side-foot-dot{display:block;width:6px;height:6px;border-radius:50%;background:#42c8a7}
.side-version{padding:0 25px 23px;color:#526e82;font-family:Segoe UI,Tahoma,sans-serif;font-weight:750;font-size:9px;letter-spacing:1.6px;text-align:center;direction:ltr}.side-version span{color:#7d929e}
.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:91px;flex:none;background:#fff;border-bottom:1px solid var(--line);padding:18px 35px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.topbar-identity{display:flex;flex-direction:column;gap:7px;min-width:0}.breadcrumb{font-size:10.5px;color:#8595a4;font-weight:630}.breadcrumb-sep{margin:0 8px;color:#bcc8d0}.top-page-title{font-size:19px;font-weight:800;color:#1d3549;letter-spacing:-.25px}
.topbar-end{display:flex;gap:16px;align-items:center}.today{color:#677c8e;font-size:11.5px;white-space:nowrap;padding-left:17px;border-left:1px solid var(--line)}
.save-indicator{display:inline-flex;align-items:center;gap:8px;color:#29836e;background:#eaf8f2;border:1px solid #d5efe1;border-radius:100px;font-size:11.5px;font-weight:700;padding:9px 12px;white-space:nowrap}.save-dot{width:7px;height:7px;border-radius:50%;background:#19ab85;box-shadow:0 0 0 3px #16af8712}.save-indicator.saving{color:#926b32;background:#fff9e9;border-color:#f8e8c5}.save-indicator.saving .save-dot{background:#e7ac49}.save-indicator.error{color:#ba4650;background:#fff3f4;border-color:#ffdddd}.save-indicator.error .save-dot{background:#d94d5a}
.page-content{flex:1;min-height:0;overflow:auto;padding:31px 35px 55px;scrollbar-width:thin;scrollbar-color:#cbd6df #f4f6f9}
.page-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.page-intro h1{font-size:23px;line-height:1.4;font-weight:820;letter-spacing:-.5px;color:#1b3046;margin:0 0 6px}.page-intro p{font-size:12px;color:#8392a3;line-height:1.9;margin:0}
.eyebrow{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.35px;margin-bottom:7px;display:flex;align-items:center;gap:7px}.eyebrow:before{content:"";height:7px;width:7px;background:#18ae9b;border-radius:2px;display:inline-block}
.actions{display:flex;gap:10px;align-items:center;flex:none}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border-radius:9px;border:1px solid transparent;font-weight:730;transition:transform .1s,background .16s,box-shadow .16s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent-strong);color:white;box-shadow:0 5px 14px rgba(0,144,124,.15)}.btn.primary:hover{background:#086e66;box-shadow:0 6px 17px #0c897c2c}.btn.light{background:#fff;border-color:#dce5ea;color:#436075}.btn.light:hover{background:#f7fafb}.btn.danger{background:#fff3f4;border-color:#f5d9dc;color:#b7424d}.btn.danger:hover{background:#ffe9eb}.btn svg{width:17px;height:17px}.btn-icon{font-size:20px;font-weight:500;line-height:1}.btn:disabled{opacity:.6;cursor:not-allowed}
/* Dashboard */
.hero{position:relative;overflow:hidden;min-height:216px;background:linear-gradient(115deg,#213e51 0%,#173044 51%,#142b3d 100%);border-radius:17px;color:#fff;box-shadow:0 13px 25px #1b36411a;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;padding:27px 32px 26px;margin-bottom:17px}
.hero:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #ffffff0c;border-radius:50%;left:-150px;top:-200px;box-shadow:0 0 0 63px #ffffff07,0 0 0 140px #ffffff04;pointer-events:none}
.hero-right,.hero-left{z-index:1;position:relative;min-width:0}.hero-kicker{display:flex;align-items:center;gap:9px;color:#a7c4ce;font-weight:700;font-size:11px;margin-bottom:16px}.hero-kicker .hero-kicker-line{width:18px;height:2px;background:#39c6af;border-radius:2px}
.hero-title{color:white;font-weight:790;font-size:13px;letter-spacing:.05px;margin-bottom:5px}.hero-total{font-size:38px;font-weight:800;letter-spacing:-1.1px;line-height:1.5;direction:ltr;text-align:right;display:block;white-space:nowrap;font-variant-numeric:tabular-nums}.hero-currency{font-size:12px;color:#a7c3ce;margin-top:-1px}
.hero-meta{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px;color:#b9ced8;font-size:11px}.hero-meta strong{color:#fff;font-size:12px}.hero-meta .hero-divider{width:1px;height:15px;background:#517082}.hero-edit{border:1px solid #58788a;min-height:29px;border-radius:7px;background:#ffffff12;color:#e9faf7;padding:5px 12px;font-size:11px;font-weight:650}.hero-edit:hover{background:#ffffff25}.hero-edit svg{height:13px;width:13px;vertical-align:middle;margin-left:4px}
.hero-left{border-right:1px solid #ffffff25;padding-right:31px;display:flex;align-items:center;justify-content:center;gap:16px}
.settlement-ring{width:116px;height:116px;position:relative;display:grid;place-items:center;flex:none;border-radius:50%;background:conic-gradient(#3fceb1 var(--ring,0%),#4a6978 0);direction:ltr}
.settlement-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#1c3548}.ring-text{z-index:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#fff;line-height:1}.ring-text strong{font-size:24px;letter-spacing:-.5px;font-family:"Segoe UI",Arial,sans-serif}.ring-text small{font-size:10px;color:#b2c9d3;font-family:Tahoma,sans-serif}.settlement-caption{display:flex;flex-direction:column;gap:8px;max-width:120px}.settlement-caption strong{font-size:13px;line-height:1.7}.settlement-caption span{font-size:10.5px;color:#a3c1ce;line-height:1.7}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:30px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px 19px 18px;min-width:0;box-shadow:var(--shadow);transition:box-shadow .17s,transform .17s}.kpi:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.kpi-label{font-size:12px;color:#667c8e;font-weight:735}.kpi-symbol{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#277b9a;background:#eff7fb}.kpi-symbol svg{width:18px;height:18px}.kpi:nth-child(2) .kpi-symbol{background:#fff6e9;color:#bb8748}.kpi:nth-child(3) .kpi-symbol{background:#eaf6f3;color:#138b7b}.kpi:nth-child(4) .kpi-symbol{background:#f2f4ff;color:#6577b6}
.kpi-value{color:#1b3045;font-size:25px;font-weight:810;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:-.7px;white-space:nowrap;direction:ltr;text-align:right}.kpi:nth-child(4) .kpi-value{color:#0d897c}.kpi-unit{color:#99a5b0;font-size:10.5px;margin-top:8px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px}.section-head h2{font-size:16px;font-weight:810;margin:0;color:#22374d}.section-head small{font-size:11px;color:#8b9bab}.section-head .section-count{color:#607485;background:#e9eef4;border-radius:7px;font-weight:780;padding:6px 10px}
/* Tables */
.table-card{border:1px solid #e1e8ef;background:white;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.table-toolbar{padding:20px 22px;display:flex;gap:18px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.table-title{font-weight:790;font-size:15px;color:#243b50;line-height:1.5}.table-hint{font-size:11.5px;color:#8f9ba8;margin-top:5px}.table-context{display:inline-flex;gap:7px;align-items:center;font-weight:720;color:#327a75;font-size:11px;padding:7px 11px;border-radius:7px;background:#ebf7f4;margin-left:10px}
.search-box{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;background:#f8fafc;border:1px solid #dae5ed;border-radius:9px;min-width:290px;max-width:390px;transition:.15s}.search-box:focus-within{background:#fff;border-color:#36ae9e;box-shadow:0 0 0 3px #1db59d14}.search-box svg{width:17px;height:17px;color:#8da1ae}.search-box input{width:100%;border:0;outline:0;background:transparent;min-width:0;color:#243e51}.search-box input::placeholder{color:#9eabb7}
.table-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#b7c9d3 #eef3f5;max-width:100%}table.records{border-collapse:separate;border-spacing:0;width:100%;text-align:right;font-size:12.2px;line-height:1.6}table.records.summary{min-width:1060px}table.records.wide{min-width:1820px}table.records.ledger{min-width:1470px}
table.records th{position:sticky;top:0;z-index:3;background:#f7f9fb;color:#738698;font-size:11px;font-weight:780;text-align:right;border-bottom:1px solid #e3eaf0;padding:16px 15px;white-space:nowrap}
table.records td{padding:14px 15px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #edf0f3;color:#364f60;vertical-align:middle;background:#fff}table.records tbody tr:nth-child(even) td{background:#fcfdfe}
table.records tbody tr[data-edit]:hover td{background:#edf8f5;cursor:pointer}table.records tbody tr[data-edit]{transition:background .12s}table.records tbody tr:last-child td{border-bottom:0}
table.records tr[data-edit]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
table.records .num{font-family:"Segoe UI",Tahoma,sans-serif;direction:ltr;text-align:left;font-size:12px;font-weight:720;font-variant-numeric:tabular-nums;color:#344b60}table.records .num.negative{color:#ba4d4f}
table.records td.text-strong{font-weight:800;color:#213b51}table.records td.muted{color:#9ba8b5}.num.emphasize{color:#087f71!important}
/* Sticky first two textual columns for each table */
table.records.summary :is(th,td):first-child,table.records.wide :is(th,td):nth-child(1),table.records.ledger :is(th,td):nth-child(1){position:sticky;right:0;z-index:2;min-width:70px}
table.records.summary :is(th,td):first-child{min-width:188px;max-width:188px}
table.records.wide :is(th,td):nth-child(1),table.records.ledger :is(th,td):nth-child(1){min-width:54px;max-width:54px}
table.records.wide :is(th,td):nth-child(2),table.records.ledger :is(th,td):nth-child(2){position:sticky;right:54px;z-index:2;min-width:116px;max-width:116px;box-shadow:-4px 0 6px #122e4010}
table.records.wide :is(th):nth-child(1),table.records.wide :is(th):nth-child(2),table.records.ledger :is(th):nth-child(1),table.records.ledger :is(th):nth-child(2),table.records.summary :is(th):first-child{z-index:4}
table.records.summary thead th:first-child,table.records.wide thead th:nth-child(-n+2),table.records.ledger thead th:nth-child(-n+2){background:#f7f9fb}
.table-footer{border-top:1px solid var(--line);padding:14px 20px;display:flex;justify-content:space-between;gap:12px;color:#8293a3;font-size:11px;background:#fff}
.percent{display:flex;direction:ltr;gap:10px;align-items:center;min-width:122px}.percent small{color:#31536b;font-weight:770;font-size:11px;min-width:47px}.progress-track{height:6px;background:#e5efee;width:72px;overflow:hidden;border-radius:8px}.progress-fill{background:linear-gradient(90deg,#21c2a8,#0e9484);height:100%;border-radius:8px;display:block;transition:width .15s}.state-tag{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 10px;border-radius:7px;background:#eaf3fa;color:#37738e;font-weight:750;font-size:10.5px}.state-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;margin-left:6px}.state-tag.closing{color:#168c6d;background:#e9f8f2}.state-tag.closed{color:#687989;background:#eef2f5}.state-tag.over{color:#b9474e;background:#fff1f1}
.kind-tag{display:inline-flex;padding:5px 9px;gap:6px;align-items:center;font-size:10.5px;border-radius:7px;background:#e7f7f1;color:#138b78;font-weight:770}.kind-tag.material{background:#fff4e5;color:#ad7b37}
.empty-state{padding:45px!important;text-align:center;color:#92a2ae!important;line-height:1.9}
.loading-state{background:white;border-radius:13px;border:1px solid var(--line);padding:85px 30px;text-align:center;font-size:14px;color:#7d91a1}
/* Dialogs */
.modal-cover{position:fixed;z-index:50;inset:0;background:#071828ae;display:grid;place-items:center;padding:22px;overflow:auto;backdrop-filter:blur(3px)}
.modal-box{width:min(740px,100%);background:#fff;border-radius:17px;box-shadow:0 30px 80px #0718275c;display:flex;flex-direction:column;max-height:min(94vh,950px);overflow:hidden;animation:modalIn .15s ease-out}
@keyframes modalIn{from{transform:translateY(11px) scale(.99);opacity:.7}to{transform:translateY(0) scale(1);opacity:1}}
.modal-head{padding:25px 27px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-weight:850;font-size:21px;color:#193148}.modal-head .sub{font-size:12px;color:#8a99a8;line-height:1.8;margin-top:8px}
.modal-head .modal-eyebrow{font-size:10px;color:#0c9789;font-weight:850;margin-bottom:8px}.icon-close{width:35px;height:35px;background:#f4f7fa;border:1px solid #e1e8ee;border-radius:9px;color:#617789;display:grid;place-items:center;font-size:24px;line-height:0}.icon-close:hover{background:#eaf0f3}
.modal-form{display:flex;min-height:0;overflow:hidden;flex-direction:column}.modal-fields{padding:27px;display:grid;grid-template-columns:1fr 1fr;gap:19px 20px;overflow:auto;scrollbar-width:thin}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#40586b;font-weight:760}.field input,.field textarea,.field select{width:100%;max-width:100%;background:#fff;color:#22394e;min-height:44px;border:1px solid #dbe4e9;border-radius:9px;padding:10px 12px;outline:0;transition:border-color .16s,box-shadow .16s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#b7c9d4}.field input:focus,.field select:focus,.field textarea:focus{border-color:#18a997;box-shadow:0 0 0 3px #20aa9518}
.field textarea{min-height:88px;resize:vertical}.field .field-help{color:#879ba9;font-size:10.5px;line-height:1.8}.field input[type=number],.field input[type=date]{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.form-note{grid-column:1/-1;padding:13px 15px;border:1px solid #e2edf1;background:#f7fafc;color:#708898;border-radius:9px;font-size:11.5px;line-height:1.9}
.modal-actions{border-top:1px solid var(--line);padding:17px 27px;display:flex;gap:10px;flex:none;align-items:center;background:#fafcfd}.modal-actions .push-left{margin-right:auto}
#toast-area{position:fixed;z-index:80;bottom:23px;left:24px;display:grid;gap:9px;pointer-events:none}.toast{background:#1b3348;color:#fff;min-width:240px;max-width:390px;border-radius:10px;padding:14px 18px;box-shadow:0 12px 32px #112b3a35;font-size:12.5px;line-height:1.6;border-right:3px solid #38c6ae}.toast.bad{border-right-color:#fd7880;background:#923e47}
@media(max-width:1380px){.sidebar{width:238px}.brand-area{padding-inline:17px}.brand-copy b{font-size:13px}.page-content{padding:27px 27px 45px}.topbar{padding-inline:27px}.hero{grid-template-columns:minmax(0,1fr) 250px}.kpi-value{font-size:22px}}
@media(max-width:1170px){.hero{grid-template-columns:1fr 230px;gap:20px}.hero-left{padding-right:22px;gap:12px}.settlement-ring{width:94px;height:94px}.settlement-ring:before{inset:8px}.ring-text strong{font-size:21px}.kpi{padding:17px 15px}.kpi-value{font-size:20px}.sidebar{width:221px}}
@media(max-width:1020px){.sidebar{width:72px}.brand-area{padding:23px 12px;justify-content:center;min-height:91px}.brand-mark{width:43px;height:43px}.brand-copy,.nav-caption,.nav-label,.nav-count,.side-bottom,.side-version{display:none}.side-body{padding:26px 9px}.nav-item{justify-content:center;padding:0;height:52px}.nav-item.active{box-shadow:inset -3px 0 #20bea9}.hero{padding:22px 24px}}
@media(max-width:830px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-left{border-right:0;border-top:1px solid #ffffff23;padding:16px 0 0;justify-content:flex-start}.hero-meta{margin-top:14px}.topbar{min-height:76px}.today{display:none}.page-intro{flex-wrap:wrap}}
@media(max-width:540px){.sidebar{width:58px}.side-body{padding:20px 5px}.brand-mark{width:38px;height:38px}.topbar{padding:12px 16px}.page-content{padding:17px 13px 35px}.page-intro h1{font-size:19px}.hero-total{font-size:30px}.hero{padding:20px}.kpi-grid{gap:10px}.kpi{padding:14px}.kpi-value{font-size:19px}.table-toolbar{flex-direction:column;align-items:stretch;padding:15px}.search-box{min-width:0;max-width:none}.modal-cover{padding:10px}.modal-fields{grid-template-columns:1fr;padding:17px}.field.full{grid-column:1}.modal-head{padding:20px 18px}.modal-actions{padding:13px 17px;flex-wrap:wrap}.modal-head h2{font-size:17px}}

/* UI Pro 3 — precise dates, payable percentages and executive workspace */
:root{--night:#101f31;--night-deep:#0d1928;--night-mid:#192d42;--accent:#0b9387;--accent-strong:#087b70;--canvas:#f3f6f9;--paper:#fff;--line:#e4eaf0;--ink:#172b40;--shadow:0 4px 21px #18283d0a}
.sidebar{width:268px;background:linear-gradient(180deg,#14263a 0%,#101f31 58%,#0c1b2d 100%)}
.brand-area{padding-top:24px;padding-bottom:24px;min-height:92px}
.brand-mark{position:relative;width:48px;height:48px;background:#106d69;border-radius:14px;box-shadow:inset 0 1px #77ffe333,0 7px 20px #001b2422}
.brand-mark small{position:absolute;right:-5px;bottom:-5px;background:#d7f9ec;border-radius:5px;border:2px solid #14263a;color:#176859;font-size:9px;font-weight:900;padding:2px 3px}
.brand-copy b{font-size:14.5px}.brand-copy small{font-size:10.5px}
.nav-item{border-radius:9px;height:52px}.nav-item.active{background:linear-gradient(90deg,#1f4856,#1d374b);border-color:#2d5365}
.side-bottom{background:linear-gradient(150deg,#223c51,#182d42);border-color:#30465c}
.main-area{background:radial-gradient(circle at 20% 0%,#faffff 0,transparent 25%),#f3f6f9}
.topbar{min-height:84px;padding:16px 35px;box-shadow:0 2px 12px #1f355009;z-index:1}
.top-page-title{font-size:20px;letter-spacing:-.4px}.breadcrumb{font-weight:720}
.top-quick-add{display:inline-flex;align-items:center;gap:8px;background:#eff8f6;border:1px solid #cde7e2;border-radius:9px;color:#087969;font-weight:800;min-height:40px;padding:0 14px;white-space:nowrap;transition:all .15s}
.top-quick-add:hover{background:#e0f4ef;border-color:#9bd9cb}.top-quick-add span{font-size:22px;font-weight:500;line-height:0}
.page-content{padding:33px 36px 62px}
.page-intro{margin-bottom:25px}.page-intro h1{font-size:24px;font-weight:850}.page-intro p{font-size:12.5px;color:#6f8497}
.eyebrow{letter-spacing:0;font-size:10.5px}.eyebrow:before{border-radius:50%;height:7px;width:7px}
.hero{min-height:222px;border-radius:16px;background:linear-gradient(122deg,#193f50 0%,#153344 48%,#10283c 100%);box-shadow:0 16px 35px #12343c21}
.hero:after{content:"";position:absolute;left:-60px;bottom:-118px;width:360px;height:360px;border-radius:50%;border:62px solid #ffffff04;pointer-events:none}
.hero-total{letter-spacing:-1px}
.kpi-grid{gap:16px;margin-bottom:18px}.kpi{border-radius:13px;box-shadow:0 3px 15px #172b3c0a;border-top:3px solid transparent}
.kpi:nth-child(1){border-top-color:#4e9ab4}.kpi:nth-child(2){border-top-color:#d3a968}.kpi:nth-child(3){border-top-color:#42b9a2}.kpi:nth-child(4){border-top-color:#707dad}
.kpi:hover{box-shadow:0 8px 20px #172b3c16}
.finance-strip{border:1px solid #dfe7ee;background:#fff;border-radius:12px;display:grid;grid-template-columns:1fr 1fr 1.2fr 1.5fr;gap:0;margin-bottom:32px;overflow:hidden;box-shadow:0 3px 12px #1d394208}
.finance-stat{display:flex;align-items:center;gap:12px;min-width:0;padding:18px 20px;border-left:1px solid #ecf0f4}
.finance-stat strong{display:block;font-family:"Segoe UI",Tahoma,sans-serif;font-size:18px;font-weight:840;color:#23384f;white-space:nowrap;direction:ltr;text-align:right}
.finance-stat small{display:block;font-size:11px;color:#8696a5;margin-top:4px;white-space:nowrap}
.finance-stat em{font-size:11px;font-style:normal;font-weight:650;color:#9aa9b5}
.stat-dot{width:10px;height:10px;flex:none;border-radius:3px;background:#22a894;box-shadow:0 0 0 5px #e8f7f4}.stat-dot.amber{background:#d9a153;box-shadow:0 0 0 5px #fff7ea}.stat-dot.blue{background:#748cad;box-shadow:0 0 0 5px #f1f4fb}
.finance-note{background:#f7fafc;display:flex;align-items:center;gap:10px;line-height:1.9;font-size:11.5px;color:#71869a;padding:14px 16px}.finance-note span{color:#139b89}.finance-note svg{height:17px;width:17px}
.table-card{border-radius:14px;border-color:#e0e8ed;box-shadow:0 5px 24px #20394d08}
.table-toolbar{padding:22px 23px;background:#fff}.table-title{font-size:15.2px;font-weight:840}.table-hint{font-size:11.5px;margin-top:7px}
.table-scroll{max-height:min(61vh,800px)}table.records th{background:#f5f8fb;padding:14px 15px;font-size:11px;border-bottom:1px solid #dfe7ed;color:#65798b}table.records td{padding:15px 15px;line-height:1.55;font-size:12px;color:#385168}
table.records.summary{min-width:1280px}table.records.wide{min-width:2200px}table.records.ledger{min-width:1710px}
table.records.ledger :is(th,td):nth-child(2){position:sticky;right:54px;z-index:2;min-width:180px;max-width:180px;box-shadow:-4px 0 6px #122e4010}
table.records tbody tr:hover td{background:#f1fbf8!important}
table.records .num.amount-focus{color:#087d70;font-weight:840}
.inline-pay{padding:7px 11px;border:1px solid #b6dcd5;background:#ecf9f5;color:#0a806c;border-radius:7px;font-size:11px;font-weight:850;white-space:nowrap}
.inline-pay:hover{border-color:#06957e;background:#d9f6ec}
.date-chip{color:#48607b;font-family:"Segoe UI",Tahoma,sans-serif;direction:ltr;display:inline-block;background:#eff3f9;border:1px solid #e5ebf1;border-radius:6px;padding:4px 8px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.date-unset{color:#afbac5;font-size:11px}
.percentage-chip{background:#e8f7f2;color:#158470;font-family:"Segoe UI",Tahoma,sans-serif;font-size:11px;font-weight:820;padding:4px 8px;border-radius:7px;direction:ltr;display:inline-block}
.state-tag.scheduled{background:#fff4e4;color:#ae7629}
.movement-filterbar{padding:13px 21px;border-bottom:1px solid #e7edf2;background:#fcfdfd;display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap}
.filter-tabs{display:flex;gap:5px;align-items:center;background:#eef3f6;padding:4px;border-radius:10px}.filter-tab{border:0;background:transparent;border-radius:7px;min-height:34px;padding:6px 14px;color:#748797;font-size:12px;font-weight:750;white-space:nowrap}.filter-tab.active{background:#fff;color:#0a826f;box-shadow:0 1px 4px #162d3a14}.filter-tab small{font-family:"Segoe UI",Tahoma;font-size:10px;color:inherit;opacity:.65;margin-right:6px}
.filter-dates{display:flex;align-items:center;gap:12px}.filter-dates label{display:flex;align-items:center;gap:7px;color:#7b90a0;font-size:11px;font-weight:700}.filter-dates input{padding:6px 9px;color:#385169;border:1px solid #dce7ee;border-radius:8px;background:white;width:140px;min-height:35px;font:12px "Segoe UI",Tahoma}
.modal-cover{background:#081827b8}.modal-box{width:min(795px,100%);border-radius:15px;box-shadow:0 34px 95px #0b203463}.modal-head{padding:24px 29px 19px;background:linear-gradient(90deg,#fff,#fafdfd)}.modal-head h2{font-size:22px}.modal-head .sub{max-width:650px;color:#7e91a2;font-size:12px}
.modal-fields{padding:24px 29px;gap:16px 21px}.field input,.field textarea,.field select{min-height:45px;font-size:12.5px;padding:10px 12px}.field label{font-size:11.5px;font-weight:780}.field .field-help{font-size:10.5px;color:#7f92a2}
.form-divider{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:850;color:#284259;border-bottom:1px solid #e4ebf0;padding:7px 0 12px;margin-top:7px}.form-divider svg{height:17px;width:17px;color:#139c89}.form-divider span{margin-right:auto;font-size:10.5px;font-weight:600;color:#9aa9b6}
.payment-preview{grid-column:1/-1;border-radius:11px;background:linear-gradient(105deg,#f0f9f7,#f7fbfd);border:1px solid #d8ece7;overflow:hidden;min-width:0}
.payment-preview-head{padding:11px 15px;border-bottom:1px solid #deeee9;display:flex;align-items:center;flex-wrap:wrap;gap:11px}.payment-preview-head strong{color:#214b53;font-size:12px}.payment-preview-head span{color:#72958f;font-size:11px}
.payment-result{display:grid;grid-template-columns:1fr .85fr 1.25fr}.payment-result>div{padding:15px;border-left:1px solid #ddede8;min-width:0}.payment-result>div:last-child{border-left:0}
.payment-result small{display:block;color:#7e9297;font-size:10.5px;margin-bottom:8px}.payment-result strong{display:block;color:#1a4f48;font-size:19px;white-space:nowrap;font-family:"Segoe UI",Tahoma,sans-serif;font-weight:820}.payment-result strong em{font-style:normal;font-size:10px;color:#719c93}.payment-result .pending-color{font-family:Tahoma,sans-serif;font-size:11.5px;color:#a77127}.payment-result .confirmed-color{font-family:Tahoma,sans-serif;font-size:11.5px;color:#128674}
.modal-actions{background:#f9fbfc;padding:18px 29px}.btn.primary{background:#0b8779}.btn.primary:hover{background:#076c62}
@media(max-width:1380px){.sidebar{width:234px}.page-content{padding:25px 27px 45px}.topbar{padding-inline:27px}.finance-note{display:none}.finance-strip{grid-template-columns:repeat(3,1fr)}.finance-stat{padding:16px}}
@media(max-width:1020px){.sidebar{width:72px}.top-quick-add{font-size:11px}.finance-stat small{white-space:normal}}
@media(max-width:850px){.finance-strip{grid-template-columns:1fr 1fr}.finance-stat:nth-child(3){grid-column:1/-1}.filter-dates{flex-wrap:wrap}}
@media(max-width:540px){.top-quick-add{display:none}.finance-strip{grid-template-columns:1fr}.finance-stat:nth-child(3){grid-column:auto}.finance-stat{border-left:0;border-bottom:1px solid #e8edf1}.payment-result{grid-template-columns:1fr}.payment-result>div{border-left:0;border-bottom:1px solid #d8e9e4}.movement-filterbar{padding:10px}.filter-tabs{width:100%;justify-content:center}}
/* Keep full-height payment preview in the scrolling form instead of compressing grid rows. */
.modal-fields{grid-auto-rows:max-content;align-content:start}
/* Keep the dashboard's quick-percentage action visible without horizontal truncation. */
table.records.summary{min-width:1120px}
/* Multi-project workspace — v4. Clarity, hierarchy and independent project context. */
:root{--night:#122536;--night-deep:#0b1928;--night-mid:#203c51;--accent:#0d9887;--accent-strong:#078776;--canvas:#f5f7fa;--line:#e2e8ee;--ink:#1d3046;--shadow:0 5px 18px rgba(18,39,59,.035)}
body{font-size:13px}
.sidebar{background:linear-gradient(165deg,#142d40,#0e2031 78%);box-shadow:-1px 0 24px #16384d0a}
.brand-area{padding:29px 19px}.brand-mark{border-radius:14px;background:linear-gradient(135deg,#16b29f,#086b76)}
.side-body{padding-top:26px}.navigation{gap:7px}.nav-item{border-radius:11px}.nav-item.active{background:#25485b;border-color:#376578;box-shadow:inset -3px 0 #31cfb0}
.nav-item[data-page="projects"]{margin-bottom:9px}.nav-item[data-page="projects"]:after{content:"";position:absolute;bottom:-8px;right:12px;left:12px;height:1px;background:#ffffff16}
.nav-item[data-page="dashboard"]{margin-top:4px}
.topbar{min-height:96px;background:rgba(255,255,255,.98)}.topbar-end{gap:14px}.today{border-left:0;padding-left:0}
.project-switch{display:flex;align-items:center;gap:9px;border:1px solid #d9e5ea;background:#f8fbfc;border-radius:11px;padding:8px 11px 8px 8px;min-width:215px;max-width:275px;transition:border .2s,box-shadow .2s}
.project-switch:focus-within{border-color:#0f9c89;box-shadow:0 0 0 3px #1fc6a91b}.switch-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#079786;background:#e8f6f2}.switch-mark svg{width:18px;height:18px}
.switch-body{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.switch-body small{font-size:9px;font-weight:800;color:#8c9ba8}.switch-body select{appearance:none;background:transparent;border:0;color:#25455a;font-weight:800;font-size:12px;width:100%;outline:0;cursor:pointer;padding:0;text-overflow:ellipsis}.switch-arrow{font-size:17px;color:#608195;align-self:center}
.project-page-intro{margin-bottom:20px}.portfolio-summary{background:#193648;color:white;padding:25px 28px;border-radius:15px;box-shadow:0 8px 24px rgba(16,42,61,.11);margin-bottom:30px;position:relative;overflow:hidden}.portfolio-summary:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff15;border-radius:50%;left:-90px;top:-120px;box-shadow:0 0 0 45px #ffffff06;pointer-events:none}.portfolio-label{font-weight:800;font-size:13px;display:flex;align-items:center;gap:13px;margin-bottom:23px}.portfolio-label small{font-size:10px;color:#a8c0ce;font-weight:500}.portfolio-stats{display:grid;grid-template-columns:.5fr 1.2fr 1.2fr 1.2fr;gap:16px;position:relative;z-index:1}.portfolio-stats>div{display:flex;flex-direction:column;gap:11px;border-left:1px solid #496275;padding-left:17px;min-width:0}.portfolio-stats>div:last-child{border-left:0}.portfolio-stats span{font-size:11px;color:#adc4cf}.portfolio-stats strong{font-size:23px;white-space:nowrap;font-weight:850;font-variant-numeric:tabular-nums;direction:ltr;text-align:right}.portfolio-stats strong small{font-size:10px;font-weight:500;color:#aac7d2}
.portfolio-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.portfolio-caption h2{font-size:17px;margin:0;color:#24384e}.portfolio-caption>span{font-size:11px;color:#7a8e9e;background:#e7edf3;padding:6px 10px;border-radius:7px}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;align-items:stretch}
.project-card{background:#fff;border:1px solid #e0e8ee;border-radius:15px;padding:22px 23px 0;box-shadow:var(--shadow);min-width:0;overflow:hidden;transition:box-shadow .18s,border-color .18s,transform .18s}
.project-card:hover{box-shadow:0 12px 33px rgba(20,49,69,.09);transform:translateY(-2px)}.project-card.project-active{border-color:#9ddbd1;box-shadow:0 7px 25px rgba(9,142,119,.07)}.project-card-top{display:flex;align-items:center;justify-content:space-between}.project-number{font-size:17px;font-weight:800;color:#a8b6c3;letter-spacing:1px}.project-active-tag,.project-idle-tag{font-size:10px;color:#078c79;background:#e8f7f2;border:1px solid #d2ede5;border-radius:25px;font-weight:800;padding:5px 10px}.project-idle-tag{color:#7c8c9b;background:#f3f6f9;border-color:#e7edf2}
.project-card h3{font-size:19px;color:#1c3749;margin:15px 0 7px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-owner{font-size:11.5px;color:#8195a5;margin:0 0 23px}.project-card-finance{display:grid;grid-template-columns:1fr 1fr;border:1px solid #edf0f4;border-radius:11px;background:#fafcfd;padding:16px;gap:12px}.project-card-finance>div{display:flex;flex-direction:column;gap:10px;min-width:0}.project-card-finance span{font-size:10px;color:#7d8f9c}.project-card-finance strong{font-size:19px;color:#273e51;white-space:nowrap;font-weight:800;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.project-card-finance>div+div{border-right:1px solid #e6ebef;padding-right:15px}.project-card-finance>div+div strong{color:#138d7f}
.project-settlement{padding-top:21px}.project-settlement>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#6f8493;font-size:11px;margin-bottom:10px}.project-settlement strong{color:#168977;font-size:12px;font-variant-numeric:tabular-nums}.project-settlement .progress-track{height:7px;background:#eaf1f2;border-radius:99px;display:block;overflow:hidden}.project-settlement .progress-fill{background:linear-gradient(90deg,#22b59f,#07867b);height:100%;border-radius:99px;display:block}
.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding:23px 0 18px;gap:10px}.project-card-footer .btn{min-height:38px;font-size:11px;padding:8px 12px}.project-card-footer .btn svg{width:14px;height:14px}.project-metrics{display:flex;gap:8px;flex-wrap:wrap}.project-metrics span{color:#7890a1;background:#eef4f7;border-radius:6px;font-size:10px;padding:6px 9px;font-weight:650}
.project-manage{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #eef1f4;margin:0 -23px;padding:12px 23px;background:#fbfcfd}.project-manage button{color:#637f90;background:transparent;border:0;font-size:10.5px;font-weight:700;padding:4px 0}.project-manage button:hover{color:#078c7c}.project-manage .project-remove{color:#b36a6e}.project-manage .project-remove:hover{color:#b83c47}
.hero{background:linear-gradient(112deg,#224658,#163549 55%,#112b3e)}.hero-kicker{font-size:12px}.page-intro h1{font-size:24px}.table-card{box-shadow:0 5px 24px rgba(25,52,70,.025)}
@media(max-width:1460px){.today{display:none}.project-switch{min-width:184px}.topbar-end{gap:9px}}
@media(max-width:1110px){.topbar{padding-inline:17px}.portfolio-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.portfolio-stats>div:nth-child(2){border-left:0}}
@media(max-width:780px){.project-switch{min-width:140px;max-width:170px}.portfolio-stats{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.top-page-title{font-size:15px}}

/* UI Pro v5 — focused contract accounts and cleaner desktop workspace */
.table-toolbar{gap:24px}.table-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sort-box{display:flex;align-items:center;gap:9px;color:#6f8492;font-weight:750;font-size:11px;white-space:nowrap}.sort-box select{min-height:40px;background:#f8fafc;border:1px solid #dae5ec;border-radius:8px;padding:5px 12px;color:#29495a;outline:0;min-width:154px}.table-tools .search-box{min-width:270px}
table.records.wide.compact-contracts{min-width:1260px}table.records.compact-contracts th{white-space:nowrap}table.records.compact-contracts td{padding:16px 15px}table.records.compact-contracts :is(th,td):nth-child(1){position:sticky;right:0;min-width:50px;max-width:50px;z-index:4;background:#fff}table.records.compact-contracts thead th:first-child{background:#f5f8fb}table.records.compact-contracts :is(th,td):nth-child(2){position:sticky;right:50px;min-width:190px;max-width:230px;z-index:3;background:#fff;box-shadow:-6px 0 12px #112b3709}table.records.compact-contracts thead th:nth-child(2){background:#f5f8fb}table.records.compact-contracts .contract-name{color:#1d3548;font-weight:780;font-size:12.5px;max-width:250px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contract-sub{color:#9aa9b5;font-size:10px;display:block;margin-top:5px}.contract-row-actions{display:flex;align-items:center;gap:8px}.balance-highlight{font-weight:850!important;color:#0e8d7b!important}.inline-pay.soft{background:#f4f8fa;border-color:#d9e6eb;color:#45677b}.inline-pay.soft:hover{background:#eaf1f4}.project-metrics .project-pending{background:#fff4e8;color:#a86b25}
.dashboard-mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:10px}.dashboard-mini-head h2{font-size:16px;color:#20394d;margin:0 0 5px}.dashboard-mini-head p{font-size:11.5px;color:#8399a9;margin:0}.mini-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #dceae9;background:#fff;border-radius:8px;padding:9px 13px;font-size:11px;color:#148b7a;font-weight:800}.mini-link svg{width:14px;height:14px}.recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:27px}.recent-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3ebef;border-radius:12px;min-width:0;padding:15px;box-shadow:0 3px 12px #20394d05}.recent-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;background:#eaf7f3;color:#0d947e;border-radius:10px}.recent-icon.material{background:#fff5e8;color:#ac7a3e}.recent-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.recent-info strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#253d52}.recent-info small{color:#8c9dad;font-size:10.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recent-right{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex:none}.recent-right b{font-size:15px;color:#193748;font-variant-numeric:tabular-nums}.recent-right .state-tag{font-size:9px}.recent-empty{grid-column:1/-1;background:#fff;color:#7e93a2;padding:22px;border:1px dashed #d6e2e8;border-radius:12px}
.filter-dates select{border:1px solid #dce7ee;border-radius:8px;background:#fff;min-height:35px;font-size:11px;font-weight:700;color:#385169;width:210px;padding:5px 9px;max-width:33vw}
.preset-payout{display:flex;gap:8px;align-items:center;grid-column:1/-1;flex-wrap:wrap;margin-top:-7px}.preset-payout span{font-size:11px;color:#8497a5;font-weight:760;margin-left:7px}.preset-btn{background:#f1f8f7;color:#0d897a;border:1px solid #cae7e0;border-radius:8px;padding:7px 15px;font-size:11px;font-weight:850}.preset-btn:hover{background:#d9f5ed}.preview-over{color:#c04a4c!important}.preview-warning{background:#fff3f2;color:#b9454d;border-radius:7px;padding:11px 13px;font-size:11.5px;margin-top:9px;line-height:1.7}.preview-help{font-size:10.5px;color:#8a9baa;margin-top:7px}
.drawer-cover{position:fixed;inset:0;z-index:44;background:#0a1b2c8a;backdrop-filter:blur(2px);display:flex;justify-content:flex-start;animation:drawerShade .15s ease-out}.contract-drawer{height:100%;background:#f8fafc;width:min(650px,95vw);display:flex;flex-direction:column;box-shadow:-22px 0 60px #0a1a2a33;animation:drawerSlide .23s ease-out;overflow:hidden}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:28px 30px 23px;background:linear-gradient(130deg,#193f52,#102b3e);color:#fff}.drawer-head small{font-size:11px;font-weight:650;color:#a8d2d1}.drawer-head h2{font-size:24px;line-height:1.4;margin:8px 0 7px}.drawer-head p{font-size:12px;color:#bad0d9;line-height:1.8;margin:0}.drawer-head .icon-close{background:#ffffff1b;color:#fff;border-color:#ffffff32;flex:none}.drawer-scroll{overflow-y:auto;flex:1;min-height:0;padding:23px 28px 32px;scrollbar-width:thin}.drawer-sum{background:#fff;border-radius:13px;border:1px solid #e0e9ed;padding:20px 22px;box-shadow:0 4px 16px #20384e07}.drawer-sum-title{font-size:12px;color:#6c8394;display:flex;justify-content:space-between;align-items:center;gap:10px}.drawer-sum-title strong{color:#1d3649;font-size:23px;font-variant-numeric:tabular-nums}.drawer-sum-title strong small{font-size:11px;color:#8fa2af;font-weight:500}.drawer-progress{background:#e8efef;border-radius:99px;height:10px;margin:17px 0 12px;overflow:hidden}.drawer-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0d897a,#36c4ae)}.drawer-sum-foot{display:flex;justify-content:space-between;align-items:center;color:#7e91a2;font-size:11px}.drawer-finance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 26px}.drawer-finance>div{display:flex;flex-direction:column;gap:8px;padding:17px 19px;border:1px solid #e1e9ee;background:#fff;border-radius:11px}.drawer-finance span{font-size:11px;color:#7b90a1}.drawer-finance strong{font-size:19px;color:#203c50;font-variant-numeric:tabular-nums}.drawer-finance .drawer-remaining{color:#108d7c}.drawer-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:840;color:#1d3449;margin:24px 0 14px}.drawer-section-title b{background:#e7eff3;padding:2px 8px;border-radius:7px;color:#668092;font-size:11px}.drawer-section-title button{border:0;background:transparent;font-size:11px;color:#0b8c80;display:inline-flex;align-items:center;gap:6px;font-weight:750}.drawer-section-title button svg{width:15px;height:15px}.drawer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawer-field{background:#fff;border:1px solid #e7edf1;border-radius:9px;padding:13px 14px;min-width:0}.drawer-field span{display:block;color:#8c9cab;font-size:10px;margin-bottom:6px}.drawer-field strong{display:block;font-size:12px;color:#344d60;overflow-wrap:anywhere}.drawer-note{background:#eef5f7;color:#365266;border-radius:9px;padding:14px;margin-top:12px}.drawer-note strong{font-size:11px}.drawer-note p{margin:8px 0 0;font-size:11.5px;line-height:1.8;white-space:pre-wrap}.drawer-ledger{display:grid;gap:8px}.drawer-movement{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e1e9ef;border-radius:10px;padding:13px}.drawer-movement-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.drawer-movement-main strong{font-size:11.5px;color:#2b4357;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-movement-main small{font-size:10px;color:#8ca0af}.drawer-movement-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.drawer-movement-end strong{font-variant-numeric:tabular-nums;font-size:13px;color:#1d394b}.drawer-edit{color:#6c8799;border:1px solid #dfe8ed;background:#f9fbfc;border-radius:8px;width:30px;height:30px;display:grid;place-items:center}.drawer-edit svg{height:15px;width:15px}.drawer-empty{border:1px dashed #d9e4ea;border-radius:11px;padding:27px;text-align:center;font-size:12px;color:#8ca1ad}.drawer-footer{border-top:1px solid #dce6eb;background:#fff;display:flex;align-items:center;gap:10px;padding:17px 25px;flex-wrap:wrap}.drawer-footer .btn{font-size:12px}.drawer-cover .state-tag{font-size:10px}
@keyframes drawerSlide{from{transform:translateX(40px);opacity:.85}to{transform:translateX(0);opacity:1}}@keyframes drawerShade{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.recent-grid{grid-template-columns:1fr}.table-toolbar{flex-wrap:wrap}.table-tools{width:100%}.contract-drawer{width:min(590px,95vw)}}@media(max-width:640px){.drawer-head{padding:21px 18px}.drawer-scroll{padding:16px}.drawer-finance{gap:8px}.drawer-finance strong{font-size:15px}.drawer-fields{grid-template-columns:1fr}.drawer-footer{padding:12px}.drawer-footer .btn{flex:1}.recent-grid{grid-template-columns:1fr}.sort-box{flex:1}.table-tools .search-box{min-width:0;max-width:none;width:100%}.filter-dates select{width:175px}}
/* v5 table sizing pass: both actions must fit without cutting the leftmost column. */
table.records.wide.compact-contracts{min-width:1110px;table-layout:auto}
table.records.compact-contracts :is(th,td){padding:14px 9px}
table.records.compact-contracts :is(th,td):nth-child(2){min-width:158px;max-width:194px;right:45px}
table.records.compact-contracts :is(th,td):first-child{min-width:45px;max-width:45px}
table.records.compact-contracts .contract-name{max-width:176px}
table.records.compact-contracts .contract-row-actions{gap:5px}
table.records.compact-contracts .contract-row-actions button{font-size:10px;padding:6px 8px}
table.records.compact-contracts :is(th,td):last-child{min-width:145px;white-space:nowrap}
.drawer-cover{animation:none}

/* V6: financial reporting and priority */
.finance-alert{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#637a8b;text-align:right;padding:10px 12px;cursor:pointer;justify-content:center;white-space:normal}.finance-alert svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.finance-alert b{color:#456073;white-space:nowrap;font-size:13px}.finance-alert small{font-size:11px;color:#81939d}.finance-alert.has-overdue{background:#fff6ed;border-radius:8px;color:#b87020}.finance-alert.has-overdue b,.finance-alert.has-overdue small{color:#aa631b}.finance-alert:hover{background:#eaf4f6}.overdue-tab{color:#995920}.overdue-tab.active{background:#fef3e4!important;color:#af5c19!important;border-color:#edd4b8!important}.filtered-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f2f7f9;border-top:1px solid #dfebef;gap:1px}.filtered-summary>div{padding:14px 17px;background:#f6f9fa}.filtered-summary small{display:block;font-size:11px;color:#7590a1;margin-bottom:6px}.filtered-summary strong{color:#1e465c;font-size:16px;font-variant-numeric:tabular-nums}.movement-bottom-actions{display:flex;justify-content:flex-start;padding:15px 17px;border-top:1px solid #e0ebef}.drawer-footer{flex-wrap:wrap}.drawer-footer .btn{flex-grow:1;white-space:nowrap}.btn.light:hover{background:#e7f0f3}.finance-alert:focus-visible,.btn:focus-visible{outline:3px solid #4faeaa;outline-offset:2px}@media(max-width:950px){.filtered-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-alert{justify-content:flex-start}.finance-alert small{display:none}}
/* v7: Mobile-first companion and Wi-Fi pairing, without changing desktop layout. */
.phone-button{min-height:39px;border:1px solid #b5ddd7;background:#eaf8f5;color:#087d72;border-radius:10px;padding:8px 13px;font-size:11.5px;font-weight:800;white-space:nowrap}
.phone-button:hover{background:#d9f4ed}
.phone-button[hidden]{display:none!important}
.phone-modal{width:min(760px,100%)}
.phone-content{padding:24px 29px 21px;overflow:auto;display:grid;gap:17px}
.phone-connection-status{background:#f3f6fa;border:1px solid #e2e8ed;padding:11px 14px;border-radius:10px;color:#71889a;font-weight:800;display:flex;align-items:center;gap:9px}
.phone-connection-status.online{background:#eaf8f4;border-color:#cfece1;color:#077e70}.share-dot{height:8px;width:8px;background:#92a3b4;border-radius:100%}.online .share-dot{background:#16ad88}
.phone-intro{padding:22px;background:#f6f9fa;border:1px solid #e3eaf0;border-radius:14px}.phone-intro b{color:#183c50}.phone-intro p{line-height:2;color:#698093}
.phone-connect-grid{display:grid;grid-template-columns:225px 1fr;gap:25px;align-items:start}.qr-surface{border:1px solid #e0ebef;padding:12px;border-radius:13px;display:grid;place-items:center;background:white}.qr-surface svg{width:200px;height:200px;stroke:none;fill:none}
.phone-steps p{color:#718898;line-height:1.9;font-size:12px;margin:12px 0}.phone-steps b{font-size:13px}.phone-pin{letter-spacing:4px;display:inline-flex;justify-content:center;font-size:25px;font-weight:900;color:#104b52;padding:10px 20px;background:#eaf7f4;border:1px dashed #64bcb0;border-radius:10px;direction:ltr}.phone-url{color:#007c85;font-size:13px;white-space:normal;overflow-wrap:anywhere;border-radius:8px;background:#eff7fa;padding:9px;display:block;margin:5px 0}
.phone-warning{background:#fff8ed;color:#a37331;border:1px solid #f2e4cd;border-radius:10px;line-height:1.85;padding:12px 14px;font-size:11.5px}
.sync-banner{flex:none;background:#fff5e7;border-bottom:1px solid #ebd4af;color:#8b5d1e;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 20px;font-size:12px;font-weight:700}.sync-banner[hidden]{display:none}.sync-banner button{border:1px solid #d8ae72;background:#fff;border-radius:7px;padding:8px 12px;color:#86551a}
.mobile-card-list{display:none}
@media (max-width:720px){
 html,body{height:100%;height:100dvh;min-width:0}
 body{overflow:hidden;font-size:13px;-webkit-tap-highlight-color:transparent}
 .app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-bottom:70px}
 .sidebar{position:fixed;left:0;right:0;bottom:0;height:calc(69px + env(safe-area-inset-bottom));width:100%;z-index:20;padding-bottom:env(safe-area-inset-bottom);background:#14283c;box-shadow:0 -5px 20px #10273820;overflow:visible}
 .brand-area,.side-bottom,.side-version,.nav-caption{display:none!important}
 .side-body{padding:3px 8px;height:100%;display:flex;align-items:center}
 .navigation{display:grid;grid-template-columns:repeat(4,1fr);width:100%;height:100%;gap:3px}
 .nav-item{border:0!important;border-radius:10px!important;height:auto;width:100%;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;padding:4px 2px;font-size:9.5px!important;white-space:nowrap}
 .nav-item.active{box-shadow:none!important;background:#254657!important;color:#c6fcf1!important}
 .nav-icon,.nav-icon svg{height:20px;width:20px}.nav-label{display:block!important;font-size:10px;flex:0}.nav-count{display:none!important}
 .main-area{width:100%;min-width:0;height:100%;min-height:0}
 .topbar{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 15px;background:#fff;z-index:2}
 .topbar-identity{gap:3px}.breadcrumb{font-size:10px}.top-page-title{font-size:16px}
 .topbar-end{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
 .project-switch{flex:1;min-width:160px;max-width:none;padding:5px 8px;min-height:43px}.switch-body select{font-size:12px}.switch-mark{height:29px;width:29px}
 .phone-button{display:none!important}.today{display:none}.top-quick-add{display:flex!important;padding:9px 10px;min-height:41px;font-size:10px;white-space:nowrap}.top-quick-add span{font-size:13px}
 .save-indicator{font-size:10px;padding:5px 0;order:10;width:100%;margin-top:-3px;min-height:17px;justify-content:flex-start}
 .page-content{padding:16px 13px 30px!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .page-intro{display:flex;gap:11px;align-items:stretch}.page-intro h1{font-size:19px}.page-intro p{font-size:11px}.actions{width:100%}.actions .btn{width:100%;justify-content:center}
 .hero{padding:18px;border-radius:13px}.hero-total{font-size:28px}.hero-meta{flex-wrap:wrap}.hero-left{flex-wrap:wrap}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:12px!important;min-height:112px}.kpi-value{font-size:17px!important;white-space:normal;overflow-wrap:anywhere}.kpi-label{font-size:10px}
 .project-grid{grid-template-columns:minmax(0,1fr);gap:12px}.portfolio-summary{padding:16px;border-radius:12px}.portfolio-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.portfolio-stats strong{font-size:16px}.portfolio-stats>div{padding-left:9px}.portfolio-caption h2{font-size:16px}
 .project-card{padding:18px 16px 0}.project-card h3{font-size:17px}.project-card-finance strong{font-size:16px}
 .recent-grid{grid-template-columns:1fr}.recent-card{min-width:0}.table-toolbar{flex-direction:column;align-items:stretch;padding:14px}.table-tools{width:100%;min-width:0;flex-direction:column}.search-box{max-width:none;min-width:0;width:100%}.sort-box{width:100%}
 .table-card{border-radius:12px;overflow:hidden}.table-card .table-scroll:has(.records.wide.compact-contracts),.table-card .table-scroll:has(.records.ledger){display:none}
 .mobile-card-list{display:grid;gap:11px;padding:13px;background:#f6f8fa}.mobile-contract-card{background:#fff;border:1px solid #dfebee;border-radius:13px;padding:15px;box-shadow:0 2px 8px #173c5010;min-width:0}
 .mobile-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.mobile-card-top h3{margin:5px 0;font-size:15px;color:#183b4e;overflow-wrap:anywhere}.mobile-card-top p{font-size:11px;color:#7d919e;line-height:1.7;margin:4px 0 10px}.mobile-card-top small{font-size:10px;color:#97a9b6}.mobile-card-top .state-tag{flex:none;font-size:10px}
 .mobile-values{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 0;margin:4px 0;border-top:1px solid #eef2f4;border-bottom:1px solid #eef2f4}.mobile-values>div{min-width:0}.mobile-values span{display:block;color:#879aa8;font-size:10px;margin-bottom:5px}.mobile-values b{font-size:14px;white-space:nowrap;color:#244558;font-weight:850;direction:ltr;display:block;text-align:right;font-variant-numeric:tabular-nums}.mobile-values b.green-amount{color:#088978}
 .mobile-percent{color:#678b87;font-size:10.5px;font-weight:750}.mobile-card-actions{display:flex;gap:7px;padding-top:13px}.mobile-card-actions .btn{flex:1;font-size:11px;min-height:38px;justify-content:center}
 .mobile-payment-value{font-size:23px;color:#0e8a78;direction:ltr;text-align:right;font-weight:850;padding:11px 0}.mobile-payment-value small{font-size:11px}
 .mobile-empty{padding:24px;text-align:center;color:#8ca0ad;background:#fff;border-radius:12px}
 .movement-filterbar{padding:11px;display:grid;grid-template-columns:1fr;gap:10px}.filter-tabs{display:flex;overflow:auto;justify-content:flex-start;width:100%;min-width:0}.filter-tab{min-width:0;flex:1;font-size:10px;padding:7px 6px}.filter-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-dates label:first-child{grid-column:1/-1}.filter-dates label{display:flex;flex-direction:column;align-items:stretch;gap:5px}.filter-dates input,.filter-dates select{width:100%!important;max-width:none!important}
 .filtered-summary{grid-template-columns:1fr 1fr}.filtered-summary strong{font-size:13px}.filtered-summary>div{padding:11px}
 .modal-cover{padding:0!important;place-items:end center}.modal-box{border-radius:19px 19px 0 0;width:100vw;max-height:95dvh;min-height:0}.modal-head{padding:20px 16px 14px}.modal-fields{padding:15px!important;gap:13px;grid-template-columns:1fr!important;overflow:auto}.modal-actions{padding:14px 15px}.modal-actions .btn{flex:1;min-height:43px}.modal-form{overflow:hidden}.field input,.field select,.field textarea{font-size:16px}
 .drawer-cover{align-items:end;justify-content:center}.contract-drawer{height:94dvh!important;max-height:94dvh;width:100vw!important;border-radius:19px 19px 0 0}.drawer-head{padding:18px 16px}.drawer-finance{grid-template-columns:1fr 1fr}.drawer-footer{padding:11px}.drawer-footer .btn{min-height:43px}.drawer-scroll{overscroll-behavior:contain}
 .phone-connect-grid{grid-template-columns:1fr}.phone-content{padding:15px}.qr-surface{justify-self:center}.phone-pin{font-size:20px}
 .sync-banner{font-size:11px;padding:10px 12px}
}
@media(max-width:370px){.top-quick-add{font-size:0;min-width:43px;justify-content:center}.top-quick-add span{font-size:21px}.project-switch{min-width:130px}.mobile-card-top h3{font-size:13px}.kpi-value{font-size:15px!important}}
@media(max-width:720px){.contract-drawer{animation:none!important}.mobile-card-actions .btn{white-space:normal}.drawer-sum-title strong{font-size:19px}.drawer-head h2{font-size:20px}}

/* Cloud v8.3 - field payment safety and streamlined mobile entry */
.payment-safety{grid-column:1/-1;padding:13px 15px;border:1px solid #dfe8e9;border-radius:12px;background:#fff;color:#234052;line-height:1.7}
.safety-caption{font-size:11px;font-weight:850;color:#167d75;margin-bottom:9px}
.safety-ok{padding:10px 12px;border-radius:8px;background:#edf8f4;color:#13806f;font-size:12px;font-weight:700}
.safety-warnings{padding:11px 13px;border-radius:9px;background:#fff5e9;border:1px solid #f0d5ab;color:#9a5d19}
.safety-warnings b{font-size:12px}.safety-warnings p{font-size:11px;margin:8px 0 2px;line-height:1.8}
.safety-recent{border-top:1px solid #e9f0f2;margin-top:12px;padding-top:12px}
.safety-recent>b{display:block;font-size:11px;color:#5d7582;margin-bottom:7px}
.safety-recent>small{font-size:11px;color:#83949e}
.safety-recent-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-top:1px solid #f0f4f5;font-size:11px}
.safety-recent-row span{min-width:0;overflow-wrap:anywhere;color:#334e61}
.safety-recent-row small{display:block;color:#90a0ab;margin-top:3px}
.safety-recent-row strong{flex:none;white-space:nowrap;font-size:12px;color:#128477;direction:ltr}
.payment-confirmation{margin:0 20px 12px;padding:13px 15px;border-radius:10px;background:#fff7e7;border:1px solid #e8c88e;color:#7d5119}
.payment-confirmation[hidden]{display:none}.payment-confirmation b{font-size:12px}.payment-confirmation p{font-size:11px;line-height:1.75;margin:4px 0 0}
@media(max-width:720px){.payment-safety{padding:11px}.safety-recent-row{gap:9px}.payment-confirmation{margin:0 14px 8px}.modal-actions .btn.primary{font-size:13px}}
