
/* IMARIA v17.1 — Finance & Accounting Workspace */
.finance-workspace{display:flex;flex-direction:column;gap:14px}.finance-quick-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.finance-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.finance-module{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:16px;min-width:0;box-shadow:0 2px 10px rgba(11,45,79,.04)}.finance-module-title{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:#0b2d4f;margin-bottom:12px}.finance-cash .finance-module-title{color:#1f7a39}.finance-ops .finance-module-title{color:#6d42a8}.finance-management .finance-module-title{color:#a46f00}.finance-controls .finance-module-title{color:#b43a31}.finance-docs .finance-module-title{color:#155da0}.finance-list{display:flex;flex-direction:column}.finance-list button{border:0;border-bottom:1px solid #edf0f3;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;text-align:left;color:inherit;cursor:pointer}.finance-list button:last-child{border-bottom:0}.finance-list button b{font-size:12px;background:#f3f6f9;padding:3px 7px;border-radius:999px;white-space:nowrap}.finance-stats{display:flex;flex-direction:column}.finance-stats>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f3}.finance-stats span{font-size:13px}.finance-stats b{font-size:13px;text-align:right}.finance-variance{background:#fff1ef;margin:0 -8px;padding:8px!important;border-radius:8px;color:#b42318}.finance-link{border:0;background:transparent;color:#145cb3;padding:12px 0 0;font-weight:600;cursor:pointer}.finance-ai{grid-column:span 2;padding:0;overflow:hidden}.finance-ai-head{background:#0b2d4f;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.finance-ai-head span{font-size:11px;opacity:.75}.finance-ai-prompts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.finance-ai-prompts button{border:1px solid #cddaf0;background:#fff;color:#174a8b;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.finance-context-note{background:#fbf7ed;border:1px solid #efe2bd;border-radius:10px;padding:10px 14px;color:#6e5a28;font-size:12px}.finance-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px}
@media(max-width:1150px){.finance-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-ai{grid-column:span 2}}
@media(max-width:700px){.finance-module-grid{grid-template-columns:1fr}.finance-ai{grid-column:span 1}.finance-ai-prompts{grid-template-columns:1fr}.finance-quick-actions{justify-content:stretch}.finance-quick-actions .btn{flex:1}.finance-ai-head{align-items:flex-start;flex-direction:column}}

/* v17.1.1 Finance cash control forms */
.finance-variance-alert{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px}.finance-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.finance-record-grid>div{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;display:flex;flex-direction:column;gap:4px}.finance-record-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.finance-record-grid b{font-size:14px;color:#0b2d4f}.finance-note{padding:13px 14px;border:1px solid #e5e7eb;border-radius:12px;margin:12px 0}.finance-note p{margin:6px 0 0;white-space:pre-wrap}.finance-history{margin-top:18px;border-top:1px solid #e5e7eb;padding-top:14px}.finance-history h3{margin:0 0 10px;font-size:14px}.finance-history-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f0f2f4}.finance-history-row div{display:flex;flex-direction:column;gap:3px}.finance-history-row strong{text-transform:capitalize;font-size:13px}.finance-history-row span,.finance-history-row small{font-size:12px;color:#6b7280}.finance-click-row{width:100%;text-align:left;background:#fff;border-left:0;border-right:0;border-top:0;cursor:pointer}.finance-click-row:hover{background:#f8fafc}.btn.danger{background:#fff;border:1px solid #fecaca;color:#b91c1c}.btn.danger:hover{background:#fef2f2}@media(max-width:700px){.finance-record-grid{grid-template-columns:1fr}.finance-history-row{flex-direction:column;gap:4px}}

/* v17.2.2 Finance Management Intelligence & UX Fix */
.finance-budget-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 8px;padding:10px;border:1px solid #ead9a5;background:#fffaf0;border-radius:12px;cursor:pointer}.finance-budget-summary:hover{background:#fff7df}.finance-budget-summary>div{display:flex;flex-direction:column;gap:2px}.finance-budget-summary span{font-size:11px;color:#7a6841}.finance-budget-summary b{font-size:13px;color:#0b2d4f}.finance-breakdown-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:12px 0;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb}.finance-breakdown-total span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.finance-breakdown-total strong{font-size:18px;color:#0b2d4f}.finance-breakdown-list{display:flex;flex-direction:column}.finance-breakdown-row{width:100%;border:0;border-bottom:1px solid #edf0f3;background:#fff;padding:13px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}.finance-breakdown-row:hover{background:#f8fafc}.finance-breakdown-row>div{display:flex;flex-direction:column;gap:3px}.finance-breakdown-row span{font-size:12px;color:#6b7280}.finance-breakdown-value{text-align:right;align-items:flex-end}.finance-breakdown-value strong{color:#0b2d4f}.finance-breakdown-value span{font-size:11px}@media(max-width:700px){.finance-budget-summary{grid-template-columns:1fr 1fr}.finance-breakdown-row{align-items:flex-start}.finance-breakdown-value{min-width:105px}}

/* v17.2.3 Cash Flow Analysis */
.finance-cashflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}.finance-cashflow-summary>div{border:1px solid var(--line,#d9dee7);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:5px}.finance-cashflow-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085)}.finance-cashflow-summary strong{font-size:22px}.finance-cashflow-summary small{color:var(--muted,#667085)}.finance-cashflow-negative strong{color:#991b1b}.finance-cashflow-positive strong{color:#166534}.finance-cashflow-section h3{margin:0 0 10px}@media(max-width:720px){.finance-cashflow-summary{grid-template-columns:1fr}}

/* v17.2.4 Finance Controls exception reports */
.finance-control-summary{display:flex;align-items:baseline;gap:10px;padding:14px 16px;margin:16px 0;border:1px solid var(--border,#d8dce2);border-radius:12px;background:#faf9f5}.finance-control-summary strong{font-size:26px}.finance-control-summary span{color:var(--muted,#667085)}.finance-control-list{display:grid;gap:10px}.finance-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;width:100%;padding:14px 16px;border:1px solid var(--border,#d8dce2);border-radius:12px;background:#fff;text-align:left}.finance-control-row.clickable{cursor:pointer}.finance-control-row.clickable:hover{background:#fafafa}.finance-control-status{font-size:12px;font-weight:800;letter-spacing:.04em}.finance-control-status.danger,.danger-text{color:#9b1c31}.finance-control-status.warning{color:#8a5b00}@media(max-width:720px){.finance-control-row{grid-template-columns:1fr}.finance-control-row .btn{width:100%}}
/* v17.2.5 Finance Document Control */
.finance-doc-toolbar{display:flex;justify-content:flex-end;margin:14px 0 18px}.finance-doc-section{margin-top:20px}.finance-doc-section h3{margin:0 0 10px;color:#17395f}.finance-doc-list{display:grid;gap:10px}.finance-doc-row{display:flex;align-items:center;gap:12px;border:1px solid #e6e9ee;border-radius:10px;padding:10px 12px;background:#fff}.finance-doc-main{border:0;background:transparent;display:flex;align-items:center;gap:12px;flex:1;text-align:left;cursor:pointer;padding:0}.finance-doc-main>div:last-child{display:grid;gap:2px}.finance-doc-main strong{color:#183b62}.finance-doc-main span,.finance-doc-main small{color:#667085}.finance-doc-icon{width:38px;height:38px;border-radius:8px;background:#f7f3e8;color:#9b7b24;display:grid;place-items:center;font-size:20px}@media(max-width:700px){.finance-doc-row{align-items:flex-start}.finance-doc-toolbar{justify-content:stretch}.finance-doc-toolbar .btn{width:100%}}
/* v17.3 Accounts Payable */
.finance-stat-action{width:100%;border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;font:inherit;color:inherit;text-align:left;cursor:pointer}.finance-stat-action:hover span{color:#153E75;text-decoration:underline}.finance-ap-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.finance-ap-summary>div{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.finance-ap-summary span{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.finance-ap-summary b{font-size:18px;color:#0B2D4F}@media(max-width:760px){.finance-ap-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v17.4 Accounts Receivable UX */
.finance-ops .finance-stat-action{padding:10px 0;border-bottom:1px solid #edf0f3}.finance-ops .finance-stat-action:last-of-type{border-bottom:0}.finance-inline-action{margin-top:7px;border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;color:#153E75;font-weight:600}.finance-inline-action:hover{background:#f8fafc}

/* v17.6.1 Budget detail presentation fix */
.budget-detail-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:18px 0!important}
.budget-detail-kpis>div,.budget-detail-meta>div{display:flex!important;flex-direction:column!important;gap:5px!important;padding:14px 16px!important;border:1px solid #e3e6ea!important;border-radius:12px!important;background:#fff!important}
.budget-detail-kpis span,.budget-detail-meta span{font-size:12px!important;letter-spacing:.04em!important;color:#667085!important}
.budget-detail-kpis b,.budget-detail-meta strong{font-size:16px!important;line-height:1.35!important;color:#172b4d!important}
.budget-detail-meta{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin:0 0 18px!important}
@media(max-width:700px){.budget-detail-kpis{grid-template-columns:1fr 1fr!important}.budget-detail-meta{grid-template-columns:1fr!important}}

/* v17.7 role-aware navigation upgrade */
#nav{padding:0 10px 12px;overflow-y:auto;scrollbar-width:thin}
#nav .role-nav-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:#9fb0c3;padding:16px 10px 7px;margin-top:2px}
#nav button{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:7px 10px;margin:1px 0;border-radius:7px;font-size:12.5px;text-align:left}
#nav button .role-nav-icon{width:17px;min-width:17px;text-align:center;font-size:14px;color:#b9c8d8}
#nav button.active,#nav button.active-department{background:#153e75;color:#fff;box-shadow:inset 2px 0 #d4af37}
#nav button.active .role-nav-icon,#nav button.active-department .role-nav-icon{color:#f9e6c4}
#nav .department-tools-label{color:#d4af37;border-top:1px solid rgba(212,175,55,.22);margin-top:10px;padding-top:14px}
.sidebar-dept-switch{padding:2px 7px 8px}.sidebar-dept-switch label{display:block;font-size:9px;letter-spacing:.1em;color:#8fa2b6;margin:0 3px 5px}.sidebar-dept-switch select{width:100%;background:#102f50;color:#fff;border:1px solid rgba(212,175,55,.35);border-radius:7px;padding:7px 8px;font-size:11px}
.budget-section{margin-top:20px}.budget-section>h3{font-size:13px;color:#0b2d4f;margin:0 0 8px;border-bottom:1px solid #e5e7eb;padding-bottom:7px}.budget-empty-row{padding:10px 4px}

/* v17.7.1 inline department submenu + SVG navigation icons */
#nav .role-nav-icon{display:flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;font-size:0}
#nav .role-nav-svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#nav .department-nav-group{width:100%}
#nav .department-nav-button{position:relative}
#nav .department-nav-name{flex:1;min-width:0}
#nav .department-nav-chevron{margin-left:auto;font-size:17px;line-height:1;color:#9fb0c3;transition:transform .18s ease}
#nav .department-nav-button.active-department .department-nav-chevron{color:#f9e6c4}
#nav .department-inline-submenu{margin:2px 0 6px 15px;padding:2px 0 3px 10px;border-left:1px solid rgba(212,175,55,.38)}
#nav .department-inline-submenu button.subnav-button{min-height:31px;padding:5px 8px;margin:1px 0;border-radius:6px;font-size:11.5px;color:#dce5ee;background:transparent;box-shadow:none}
#nav .department-inline-submenu button.subnav-button:hover{background:rgba(255,255,255,.07);color:#fff}
#nav .department-inline-submenu button.subnav-button .role-nav-icon{width:16px;min-width:16px;height:16px;color:#aebfd0}
#nav .department-inline-submenu button.subnav-button .role-nav-svg{width:15px;height:15px}
#nav .department-inline-submenu button.subnav-button:hover .role-nav-icon{color:#d4af37}

/* v17.10 Construction Overview intelligence dashboard */
.construction-dashboard{display:grid;gap:16px}.construction-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.construction-head h2{margin:3px 0 5px;color:#0b2d4f}.construction-head p{margin:0;color:#64748b}.c-filter-note{border:1px solid #dbe2ea;border-radius:9px;padding:9px 12px;background:#fff;color:#153e75;font-weight:700;font-size:12px}.c-top-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.c-chart{padding:15px;min-width:0}.c-chart h3,.c-milestones h3,.c-risks h3,.c-lower-grid h3,.c-performance h3{margin:0 0 12px;color:#17395f;font-size:13px;text-transform:uppercase;letter-spacing:.035em}.construction-svg{width:100%;height:150px}.c-grid line{stroke:#e7edf3;stroke-width:1}.c-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.c-line.previous{stroke:#94a3b8}.c-line.current{stroke:#2563eb}.c-dot{fill:#2563eb}.c-axis{display:flex;justify-content:space-between;font-size:10px;color:#64748b}.c-chart-legend{display:flex;gap:12px;font-size:10px;color:#64748b;margin-bottom:2px}.c-chart-legend i{display:inline-block;width:14px;height:3px;margin-right:4px;vertical-align:middle}.c-chart-legend .prev{background:#94a3b8}.c-chart-legend .curr{background:#2563eb}.c-bars{height:175px;display:flex;align-items:flex-end;justify-content:space-around;gap:7px;padding-top:18px}.c-bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.c-bar-wrap i{display:block;width:min(34px,70%);background:#2563eb;border-radius:5px 5px 2px 2px}.c-bar-wrap b{font-size:9px;color:#17395f}.c-bar-wrap span{font-size:10px;color:#64748b}.c-donut{width:132px;height:132px;border-radius:50%;margin:8px auto 12px;display:grid;place-items:center}.c-donut>div{width:74px;height:74px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.c-donut b{font-size:11px;color:#0b2d4f}.c-donut span{font-size:8px;color:#64748b}.c-legend{display:grid;gap:5px}.c-legend>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:6px;font-size:9px;color:#475569}.c-legend i{width:7px;height:7px;border-radius:50%}.c-legend b{font-size:9px}.c-middle-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}.c-milestones,.c-risks{padding:16px}.c-ms-row{display:grid;grid-template-columns:180px 1fr 70px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:11px}.c-ms-row>div{height:13px;background:#e9eef5;border-radius:8px;overflow:hidden}.c-ms-row i{display:block;height:100%;background:#2563eb;border-radius:8px}.c-ms-row i.done{background:#16a34a}.c-ms-row b{font-size:10px;color:#475569}.c-risk{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #eef2f6}.c-risk strong{font-size:11px;color:#334155}.c-risk small{font-size:9px;color:#64748b}.c-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.c-lower-grid>.card,.c-performance{padding:16px}.c-upcoming{display:grid;gap:4px}.c-upcoming>div{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef2f6}.c-upcoming span,.c-kpis span,.c-performance-grid span{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.c-upcoming strong{font-size:11px;color:#17395f}.c-upcoming b{font-size:11px;color:#2563eb}.c-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.c-kpis>div{padding:10px;border-right:1px solid #e5e7eb}.c-kpis>div:last-child{border-right:0}.c-kpis b{display:block;margin-top:6px;font-size:20px;color:#0b2d4f}.c-performance-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.c-performance-grid>div{padding:10px 14px;border-right:1px solid #e5e7eb}.c-performance-grid>div:last-child{border-right:0}.c-performance-grid b{display:block;font-size:19px;color:#0b2d4f;margin:7px 0 2px}.c-performance-grid small{font-size:9px;color:#64748b}.c-data-note{margin:12px 0 0;font-size:9px;color:#94a3b8}.construction-dashboard+.workspace-tools-grid{display:none}@media(max-width:1200px){.c-top-grid{grid-template-columns:repeat(2,1fr)}.c-performance-grid{grid-template-columns:repeat(3,1fr)}.c-performance-grid>div{border-bottom:1px solid #e5e7eb}}@media(max-width:760px){.c-top-grid,.c-middle-grid,.c-lower-grid{grid-template-columns:1fr}.c-performance-grid{grid-template-columns:1fr 1fr}.c-ms-row{grid-template-columns:1fr}.construction-head{flex-direction:column}.c-upcoming>div{grid-template-columns:1fr auto}.c-upcoming>div span{grid-column:1/-1}}

/* v17.10.2 Construction Overview reporting controls */
.construction-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.construction-filter-select{display:flex;align-items:center;gap:8px;min-width:190px;padding:0 10px;border:1px solid #dbe2ea;border-radius:9px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.construction-filter-select.date{min-width:235px}
.construction-filter-select select{width:100%;height:40px;border:0;background:transparent;color:#334155;font-weight:600;font-size:12px;outline:none;cursor:pointer}
.c-filter-icon{color:#153e75;font-size:14px;line-height:1}
@media(max-width:760px){.construction-filter-controls{width:100%;justify-content:stretch}.construction-filter-select,.construction-filter-select.date{min-width:0;flex:1 1 100%}}
