:root{--bg: #dfe5ef;--panel: rgba(255,255,255,.58);--text: #223a67;--muted: #7f8dac;--line: #d6dfed;--nav: #2f3f8e;--nav-2: #3b489d;--primary: #6793de;--teal: #62b7a5;--gold: #e7b13d;--salmon: #e58274;--danger: #e27b73;--success: #55b89a;--shadow: 0 16px 40px rgba(36, 58, 108, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Cairo,sans-serif;background:linear-gradient(180deg,#e6edf6,#dde5f0);color:var(--text);direction:rtl;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.loading-screen,.login-screen{min-height:100vh;display:grid;place-items:center}.loading-screen{color:var(--text);font-size:1.15rem}.login-screen{background:radial-gradient(circle at top right,#4d68d3 0,#26357d 45%,#182451);padding:24px}.login-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:28px;display:grid;gap:14px;box-shadow:0 30px 80px #00000040}.login-card h1{margin:0;font-size:2rem}.login-card p{margin:0;color:var(--muted)}.login-card label{display:grid;gap:6px}.login-card input{min-height:50px;border-radius:14px;border:1px solid var(--line);padding:0 14px}.login-error{background:#fde7e5;color:#b14c44;border-radius:14px;padding:10px 12px}.login-hint{font-size:.9rem;color:var(--muted)}.eyebrow.dark{color:#60739a}.shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"content sidebar";gap:18px;padding:14px;align-items:start;direction:ltr}.content-area,.sidebar{direction:rtl}.content-area{grid-area:content;display:grid;gap:18px;min-width:0}.sidebar{grid-area:sidebar;background:linear-gradient(180deg,var(--nav-2) 0%,var(--nav) 100%);border-radius:28px;padding:14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:14px;min-height:calc(100vh - 28px);box-shadow:0 18px 42px #20336838;z-index:20}.sidebar__head{display:flex;align-items:center;gap:10px}.brand{flex:1;display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:18px;background:linear-gradient(90deg,#4ea6e9,#7b67f2);color:#fff;font-weight:800}.nav-list{display:grid;gap:10px}.nav-item{min-height:48px;padding:0 16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:space-between;transition:.18s}.nav-item:hover{background:#ffffff1c}.nav-item.active{background:linear-gradient(90deg,#4ea6e9,#50a2e2)}.sidebar-backdrop{display:none}.icon-btn{width:42px;height:42px;border-radius:14px;border:0;cursor:pointer;background:#ffffff1f;color:#fff;display:inline-grid;place-items:center}.mobile-only{display:none}.top-banner{background:var(--banner, var(--nav));border-radius:30px;min-height:126px;padding:22px 26px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:hidden;color:#fff;box-shadow:0 14px 34px #2d437a24}.top-banner:before,.top-banner:after{content:"";position:absolute;border-radius:50%;background:#ffffff14}.top-banner:before{width:110px;height:110px;inset:auto auto -42px -22px}.top-banner:after{width:78px;height:78px;inset:10px 18px auto auto}.eyebrow{letter-spacing:1.6px;font-size:11px;opacity:.92}.top-banner__text{position:relative;z-index:1;max-width:72%}.top-banner h1{margin:8px 0 4px;font-size:clamp(2rem,3vw,3.4rem);line-height:1.05}.top-banner p{margin:0;opacity:.95}.top-banner__actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.pill-btn,.ghost-btn,.primary-btn{border:0;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:700}.pill-btn,.ghost-btn{background:#fff;color:var(--text);box-shadow:0 4px 12px #102a5714}.primary-btn{background:linear-gradient(90deg,#6f6cf7,#4d8ff0);color:#fff;box-shadow:0 8px 20px #5b6ff547}.page-grid{display:grid;gap:16px}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.58);box-shadow:var(--shadow);border-radius:24px;padding:16px;min-width:0}.panel--thin{padding:12px}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel__header h3{margin:0;font-size:1.35rem}.department-grid,.stats-grid,.grid-2,.summary-grid,.filters-grid,.timeline-cards{display:grid;gap:14px}.department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.department-card{border:0;text-align:right;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--card),white 4%),var(--card));color:#fff;padding:18px 22px;min-height:108px;border-radius:22px;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:14px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff26,0 12px 24px #2d417314;transition:transform .16s ease,box-shadow .16s ease}.department-card:hover{transform:translateY(-2px)}.department-card__icon{width:52px;height:52px;border-radius:16px;background:#ffffff29;display:grid;place-items:center;box-shadow:inset 0 1px #ffffff2e}.department-card__body{display:grid;gap:6px}.department-card strong{font-size:1.8rem;line-height:1}.stats-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{min-height:90px;border-radius:22px;padding:14px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--card),white 8%),var(--card));color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;box-shadow:inset 0 1px #ffffff24}.stat-card__label{font-size:.92rem;opacity:.96}.stat-card__value{font-size:clamp(1.45rem,2vw,2.25rem);font-weight:900;line-height:1.15}.stat-card__hint{font-size:.88rem;opacity:.95}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-focus-grid{align-items:start}.chart-shell{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.chart-shell.compact{min-height:300px}.chart-shell>*{min-width:0}.legend-row{display:flex;gap:12px 18px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:.88rem;padding-top:8px;min-height:34px}.legend-row span{display:inline-flex;gap:7px;align-items:center}.legend-row i{width:10px;height:10px;border-radius:50%;display:inline-block}.timeline-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.timeline-card__summary{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.88rem}.timeline-card{border:1px solid #d7e3f2;background:#ffffff9e;border-radius:18px;padding:14px;display:grid;gap:12px;cursor:pointer;text-align:right;transition:transform .15s ease,box-shadow .15s ease}.timeline-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #354c8414}.timeline-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.timeline-card__head strong{display:block;font-size:1rem;margin-bottom:3px}.timeline-card__head small{color:var(--muted)}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}.badge.medium{background:#e7b13d2e;color:#9a7000}.badge.success{background:#55b89a29;color:#268568}.badge.danger{background:#e27b7329;color:#b34f48}.timeline-row{display:grid;grid-template-columns:44px 1fr 46px;align-items:center;gap:10px;color:var(--text);font-size:.92rem}.track{height:10px;background:#e9eef8;border-radius:999px;overflow:hidden;position:relative}.fill{height:100%;border-radius:999px}.fill.plan{background:linear-gradient(90deg,#6f8fe4,#5e88e0)}.fill.actual{background:linear-gradient(90deg,#61b9a5,#4ead9f)}.tiny-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#6793de1f;color:#4a6fb3;font-size:.78rem;font-weight:700}.tiny-chip.success{background:#55b89a26;color:#21806a}.summary-grid{grid-template-columns:140px 1fr;align-items:center}.summary-metrics{display:grid;gap:12px}.summary-metrics div{min-height:46px;border-radius:14px;background:#fff9;border:1px solid #d8e2f0;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.summary-metrics span{color:var(--muted)}.donut-wrap{position:relative;width:110px;height:110px;display:grid;place-items:center}.donut-text{position:absolute;font-size:1.4rem;font-weight:900}.alert-list{display:grid;gap:10px;max-height:236px;overflow:auto;padding-inline-end:4px}.alert-item{min-height:44px;padding:0 12px;background:#ffffff94;border:1px solid #d6dfed;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-item__main{display:flex;align-items:center;gap:10px}.table-wrap{overflow:auto;border-radius:18px}table{width:100%;border-collapse:separate;border-spacing:0 8px}th{color:var(--muted);font-weight:800;text-align:right;font-size:.88rem;padding:0 12px 6px;white-space:nowrap}td{background:#fff9;border-top:1px solid #d7e2f0;border-bottom:1px solid #d7e2f0;padding:11px 12px;white-space:nowrap}tr td:first-child{border-inline-end:1px solid #d7e2f0;border-start-start-radius:14px;border-end-start-radius:14px}tr td:last-child{border-inline-start:1px solid #d7e2f0;border-start-end-radius:14px;border-end-end-radius:14px}.empty-cell{text-align:center;color:var(--muted)}.row-actions{display:flex;gap:8px}.filters-grid{grid-template-columns:1fr 1fr auto;align-items:end}.filters-grid label{display:grid;gap:8px}.filters-grid span{color:var(--muted);font-size:.92rem}select,input{min-height:48px;border-radius:16px;border:1px solid #d7e2f0;background:#ffffffbf;color:var(--text);padding:0 14px}.ops-board{display:grid;gap:14px}.ops-board__head{display:grid;grid-template-columns:180px repeat(7,minmax(0,1fr)) 140px;gap:10px;color:var(--muted);font-weight:700;text-align:center}.ops-stage-row{display:grid;grid-template-columns:180px minmax(0,1fr) 140px;gap:16px;align-items:center;padding:10px 0;border-bottom:1px dashed #d9e3f2}.ops-stage-row:last-child{border-bottom:0}.ops-stage-row__meta{display:grid;gap:4px}.ops-stage-row__meta small{color:var(--muted)}.ops-stage-row__tracks{display:grid;gap:10px}.ops-stage-row__track{height:12px;background:#ecf1fa;border-radius:999px;position:relative}.ops-stage-row__track.muted{background:#eef4f9}.ops-stage-row__bar{position:absolute;top:0;bottom:0;border-radius:999px}.ops-stage-row__bar.plan{background:linear-gradient(90deg,#6b8fe3,#5e84e0)}.ops-stage-row__bar.actual{background:linear-gradient(90deg,#5fb8a5,#4fb49f)}.ops-stage-row__stats{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.modal-backdrop{position:fixed;inset:0;background:#0e172e59;display:grid;place-items:center;z-index:90;padding:24px}.modal-card{width:min(720px,100%);background:#fff;border-radius:24px;padding:18px;box-shadow:0 24px 60px #0f214840}.modal-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-form label{display:grid;gap:8px}.modal-form .full-row{grid-column:1 / -1}.mini-btn{border:0;min-height:34px;border-radius:999px;padding:0 12px;font-weight:700;cursor:pointer}.mini-btn.warn{background:#6793de29;color:var(--primary)}.mini-btn.danger{background:#e27b732e;color:var(--danger)}.ops-insight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ops-insight__item{min-height:88px;border-radius:18px;background:#ffffffa3;border:1px solid #d8e2f0;padding:16px;display:grid;gap:8px}.ops-insight__item span{color:var(--muted)}.ops-insight__item b{font-size:1.8rem}@media (max-width: 1400px){.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-cards,.grid-2,.summary-grid,.filters-grid{grid-template-columns:1fr}}@media (max-width: 1180px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"content";padding:12px}.sidebar{position:fixed;top:12px;bottom:12px;right:12px;width:min(320px,calc(100vw - 24px));min-height:auto;transform:translate(calc(100% + 18px));transition:transform .2s ease;z-index:100}.shell--mobile-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#11193159;opacity:0;pointer-events:none;transition:opacity .2s ease}.shell--mobile-open .sidebar-backdrop{opacity:1;pointer-events:auto;z-index:90}.mobile-only{display:inline-grid}.department-grid,.stats-grid.four,.stats-grid.five{grid-template-columns:1fr}.department-card{grid-template-columns:52px 1fr 24px}.ops-insight{grid-template-columns:1fr}.top-banner{padding-inline:18px;flex-direction:column-reverse;gap:16px}.top-banner__text{max-width:100%}.modal-form{grid-template-columns:1fr}}.enterprise-page-grid{gap:18px}.enterprise-stats-grid .stat-card{min-height:108px;border:1px solid rgba(255,255,255,.22);box-shadow:0 20px 34px #2f3f721c,inset 0 1px #ffffff2e}.enterprise-stats-grid.compact-stats .stat-card{min-height:98px}.section-compact .panel__header{margin-bottom:12px}.enterprise-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px;align-items:stretch}.enterprise-dashboard-grid.bottom-align{align-items:start}.section-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f8fbff;color:var(--text);border:1px solid #d7e5f5;font-size:.88rem;font-weight:800}.section-chip.success{background:#ecfdf5;color:#0f8f69;border-color:#bcebd9}.section-chip.warn{background:#fff6e8;color:#bb6a17;border-color:#f5d1a7}.section-chip.info{background:#eff6ff;color:#3767d4;border-color:#bfd3fb}.enterprise-chart-shell{background:linear-gradient(180deg,#ffffffe0,#f6f9fff5);border:1px solid #dbe6f3;border-radius:24px;padding:12px 10px 8px}.enterprise-legend-row{padding-inline:12px}.dashboard-donut-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:center}.dashboard-donut-metrics{display:grid;gap:12px}.dashboard-kpi-pill{min-height:68px;border-radius:18px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #dbe6f3;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-kpi-pill span{color:var(--muted);font-size:.92rem}.dashboard-kpi-pill strong{font-size:1.12rem}.dashboard-donut-visual{display:grid;justify-items:center;gap:10px}.donut-badges-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.mini-chip{display:inline-flex;padding:8px 12px;border-radius:999px;font-weight:800;font-size:.84rem;border:1px solid transparent}.mini-chip.success{background:#ecfdf5;color:#0f8f69;border-color:#bae6d4}.mini-chip.warn{background:#fff6e8;color:#bb6a17;border-color:#f4d4ab}.bars-stack{display:grid;gap:12px}.project-bar-row{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(260px,1.6fr) 130px;gap:14px;align-items:center;border-radius:20px;border:1px solid #dbe6f3;background:linear-gradient(180deg,#fffffff2,#f7fafffa);padding:14px 16px}.project-bar-title{font-weight:900;font-size:1rem}.project-bar-sub{color:var(--muted);font-size:.84rem;margin-top:5px}.project-bar-track-wrap{display:grid;gap:8px}.project-bar-track{height:16px;border-radius:999px;background:#e8eef8;overflow:hidden}.project-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4f7cff,#6ea8ff)}.project-bar-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.86rem}.project-bar-value{font-weight:900;text-align:left}.payment-log-grid{display:grid;gap:10px}.payment-log-card{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(120px,.9fr) 120px 110px;gap:12px;align-items:center;padding:14px 16px;border-radius:20px;border:1px solid #dbe6f3;background:linear-gradient(180deg,#fffffff2,#f7fafffa)}.payment-log-head{font-weight:900;background:#f4f8ff}.payment-log-card span{display:grid;gap:4px;font-size:.9rem}.payment-log-card small{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;font-weight:800;font-size:.82rem;border:1px solid transparent}.status-pill.success{background:#ecfdf5;color:#0f8f69;border-color:#c2ead8}.status-pill.warn{background:#fff6e8;color:#bb6a17;border-color:#f4d4ab}.status-pill.info{background:#eff6ff;color:#3767d4;border-color:#c7dafc}.status-pill.danger{background:#fdeceb;color:#c34e44;border-color:#f2c3be}.status-pill.neutral{background:#f4f7fb;color:#6d7d97;border-color:#dde6f1}.project-enterprise-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;align-items:start}.project-enterprise-main,.project-enterprise-side{display:grid;gap:16px}.project-timeline-wrap{border-radius:24px;background:linear-gradient(180deg,#f8fafff2,#f2f7fffa);border:1px solid #dbe6f3;padding:18px;overflow:hidden}.project-timeline-head{position:relative;padding-top:8px}.timeline-line{position:absolute;top:25px;right:28px;height:6px;border-radius:999px;background:linear-gradient(90deg,#69b8ff,#4f7cff);z-index:0}.timeline-nodes-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;position:relative;z-index:1}.timeline-node-btn{min-width:88px;background:transparent;border:0;cursor:pointer;display:grid;gap:6px;justify-items:center;color:var(--text)}.timeline-node-circle{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#b9c8dd;color:#fff;font-weight:900;box-shadow:0 0 0 5px #e9eff8}.timeline-node-btn.done .timeline-node-circle{background:#18b79b;box-shadow:0 0 0 5px #dff6ef}.timeline-node-btn.active .timeline-node-circle{background:#4f7cff;box-shadow:0 0 0 6px #4f7cff29}.timeline-node-btn.delay .timeline-node-circle{background:#f39b3d;box-shadow:0 0 0 5px #feecd7}.timeline-node-btn.is-selected .timeline-node-circle{transform:scale(1.05)}.timeline-node-label{font-size:.74rem;font-weight:800;text-align:center;line-height:1.35}.timeline-cards-strip{display:flex;gap:12px;overflow-x:auto;padding-top:14px;padding-bottom:4px}.timeline-stage-card{min-width:190px;max-width:190px;border-radius:22px;border:1px solid #dbe6f3;background:#fff;padding:14px;display:grid;gap:12px;text-align:right;cursor:pointer;box-shadow:0 10px 20px #26396b0d}.timeline-stage-card.done{background:linear-gradient(180deg,#effcf7,#fbfefc)}.timeline-stage-card.active{background:linear-gradient(180deg,#eff5ff,#fbfdff)}.timeline-stage-card.delay{background:linear-gradient(180deg,#fff7ec,#fffdf9)}.timeline-stage-card.is-selected{border-color:#7ba2ff;box-shadow:0 0 0 3px #4f7cff1f}.timeline-stage-card__top{display:flex;align-items:start;justify-content:space-between;gap:10px}.timeline-stage-card__top strong{line-height:1.45;font-size:.92rem}.timeline-stage-card__percent{font-size:1.5rem;font-weight:900;color:var(--text)}.timeline-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timeline-mini-grid div{border-radius:14px;border:1px solid #e4ebf5;background:#f9fbff;padding:8px 9px;display:grid;gap:3px}.timeline-mini-grid span{color:var(--muted);font-size:.74rem}.timeline-mini-grid b{font-size:.8rem}.stage-summary-card{min-height:110px;border-radius:22px;background:linear-gradient(180deg,#fffffff2,#f7fafffa);border:1px solid #dbe6f3;padding:16px;display:grid;gap:6px}.stage-summary-card.emphasis{background:linear-gradient(180deg,#253983,#4966cb);color:#fff;border-color:#ffffff24}.stage-summary-card span{color:inherit;opacity:.82;font-size:.9rem}.stage-summary-card strong{font-size:1.22rem;line-height:1.25}.stage-summary-card small{color:inherit;opacity:.76}.heatmap-enterprise-row{display:grid;grid-template-columns:120px 1fr 84px;gap:12px;align-items:center}.heatmap-enterprise-row span{font-size:.9rem;font-weight:700}.heatmap-enterprise-track{height:12px;border-radius:999px;background:#e9eef7;overflow:hidden}.heatmap-enterprise-fill.done{background:linear-gradient(90deg,#17b798,#4dd8bb)}.heatmap-enterprise-fill.active{background:linear-gradient(90deg,#4f7cff,#70abff)}.heatmap-enterprise-fill.delay{background:linear-gradient(90deg,#f39b3d,#f4b15f)}.heatmap-enterprise-fill.pending{background:linear-gradient(90deg,#b8c7da,#d4ddea)}.report-panel-grid{display:grid;gap:10px}.report-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid #dbe6f3;background:linear-gradient(180deg,#fffffff2,#f7fafffa)}.report-item span{color:var(--muted);font-size:.9rem}.report-item strong{text-align:left}@media (max-width: 1180px){.enterprise-dashboard-grid,.project-enterprise-layout,.dashboard-donut-layout{grid-template-columns:1fr}.stage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.project-bar-row,.payment-log-card,.heatmap-enterprise-row{grid-template-columns:1fr}.project-bar-value{text-align:right}.stage-summary-grid{grid-template-columns:1fr}.timeline-stage-card{min-width:168px;max-width:168px}}.donut-center-label{fill:#7e8da8;font-size:13px;font-weight:800}.donut-center-value{fill:#223a67;font-size:22px;font-weight:900}.dashboard-clean-grid{gap:18px}.dashboard-clean-stats .stat-card{min-height:130px}.dashboard-clean-menu .department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-clean-menu .department-card{min-height:120px}.chart-shell{padding-block-end:6px}.chart-shell .recharts-wrapper{direction:ltr}.legend-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;margin-top:12px;padding-top:8px}.legend-row span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.legend-row i{width:14px;height:14px;border-radius:999px;display:inline-block}.filters-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.filters-grid label{display:grid;gap:8px;min-width:0}.filters-grid select,.filters-grid input{width:100%;min-height:52px;border-radius:16px;border:1px solid var(--line);background:#ffffffdb;color:var(--text);padding:0 14px}.project-enterprise-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.95fr);gap:16px;align-items:start}.project-enterprise-main,.project-enterprise-side{display:grid;gap:16px;min-width:0}.stage-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stage-summary-card{background:var(--panel);border:1px solid rgba(255,255,255,.58);box-shadow:var(--shadow);border-radius:22px;padding:16px;display:grid;gap:6px}.stage-summary-card.emphasis{background:linear-gradient(180deg,#4f7cff29,#18b79b1f)}.heatmap-enterprise-list{display:grid;gap:12px}.heatmap-enterprise-row{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr) auto;align-items:center;gap:12px}.heatmap-enterprise-track{background:#e4ebf5;border-radius:999px;height:12px;overflow:hidden}.heatmap-enterprise-fill{height:100%;border-radius:999px}.heatmap-enterprise-fill.done{background:var(--success)}.heatmap-enterprise-fill.active{background:var(--primary)}.heatmap-enterprise-fill.delay{background:var(--danger)}.heatmap-enterprise-fill.pending{background:#c3cfdf}.report-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-item{background:#ffffffb8;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:4px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:6px 10px;border-radius:999px;font-size:.9rem}.status-pill.success{background:#dff5eb;color:#198754}.status-pill.warn{background:#fff0d9;color:#b67311}.status-pill.danger{background:#fde5e2;color:#c24f43}.status-pill.info{background:#e7f0ff;color:#3c69d6}.status-pill.neutral{background:#eef3f9;color:#657895}@media (max-width: 1200px){.dashboard-clean-menu .department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-enterprise-layout{grid-template-columns:1fr}.stage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.dashboard-clean-menu .department-grid,.filters-grid,.stage-summary-grid,.report-panel-grid,.heatmap-enterprise-row{grid-template-columns:1fr}}.enterprise-timeline-board{display:grid;gap:18px}.enterprise-timeline-rail{position:relative;height:10px;border-radius:999px;background:#e7edf8;overflow:hidden;margin:8px 6px 0}.enterprise-timeline-rail__plan,.enterprise-timeline-rail__actual{position:absolute;inset-block:0;inset-inline-start:0;border-radius:999px}.enterprise-timeline-rail__plan{width:100%;background:linear-gradient(90deg,#dee8fa,#eaf2fc)}.enterprise-timeline-rail__actual{background:linear-gradient(90deg,#4f7cff,#18b79b)}.enterprise-timeline-nodes{display:grid;grid-template-columns:repeat(12,minmax(88px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.enterprise-timeline-node{border:0;background:transparent;display:grid;gap:6px;justify-items:center;text-align:center;min-width:88px}.enterprise-timeline-node__circle{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;background:#9dafcf;box-shadow:0 10px 24px #44609829}.enterprise-timeline-node.done .enterprise-timeline-node__circle{background:linear-gradient(180deg,#1fbe9f,#16a784)}.enterprise-timeline-node.active .enterprise-timeline-node__circle{background:linear-gradient(180deg,#4f7cff,#3a66ea)}.enterprise-timeline-node.delay .enterprise-timeline-node__circle{background:linear-gradient(180deg,#ea877a,#dc6b5d)}.enterprise-timeline-node.pending .enterprise-timeline-node__circle{background:linear-gradient(180deg,#9eb2d5,#879bc0)}.enterprise-timeline-node__title{font-size:.87rem;color:var(--text);line-height:1.35;min-height:36px}.enterprise-timeline-node.is-selected .enterprise-timeline-node__circle{outline:4px solid rgba(79,124,255,.14)}.enterprise-stage-cards{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}.enterprise-stage-card{border:1px solid #d7e3f2;background:linear-gradient(180deg,#ffffffeb,#f7faffe0);border-radius:22px;padding:16px;min-height:172px;display:grid;gap:12px;text-align:right}.enterprise-stage-card.is-selected{border-color:#8fb3ff;box-shadow:0 16px 32px #496dbf1f}.enterprise-stage-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.enterprise-stage-card__head strong{display:block;font-size:1rem;margin-bottom:4px}.enterprise-stage-card__head small{color:var(--muted)}.enterprise-stage-card__number{min-width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:#3658a8;font-weight:900}.enterprise-stage-card__meter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.enterprise-stage-card__track{height:12px;background:#e8eef8;border-radius:999px;overflow:hidden}.enterprise-stage-card__fill{height:100%;border-radius:999px}.enterprise-stage-card__fill.done{background:linear-gradient(90deg,#1fbe9f,#16a784)}.enterprise-stage-card__fill.active{background:linear-gradient(90deg,#4f7cff,#3a66ea)}.enterprise-stage-card__fill.delay{background:linear-gradient(90deg,#ea877a,#dc6b5d)}.enterprise-stage-card__fill.pending{background:linear-gradient(90deg,#b7c5df,#9db0d0)}.enterprise-stage-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.enterprise-stage-card__grid div{min-height:52px;border-radius:14px;background:#f5f8fdeb;border:1px solid #dde6f3;padding:8px 10px;display:grid;gap:4px}.enterprise-stage-card__grid span{color:var(--muted);font-size:.82rem}.enterprise-stage-card__grid b{font-size:.96rem}.enterprise-summary-grid{margin-top:-2px}.finance-layout-v4{align-items:start}.invoice-preview-card{border-radius:22px;border:1px solid #d9e4f3;background:linear-gradient(180deg,#fff,#f8fbff);padding:18px;display:grid;gap:14px}.invoice-preview-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-preview-card__head h4{margin:0;font-size:1.25rem}.invoice-preview-card__head span{color:var(--muted)}.invoice-preview-card__badge{min-width:64px;height:40px;border-radius:14px;background:linear-gradient(90deg,#4f7cff,#18b79b);color:#fff;display:grid;place-items:center;font-weight:900}.invoice-preview-list{display:grid;gap:10px}.invoice-preview-row{min-height:52px;border-radius:14px;background:#f6f9fdf0;border:1px solid #dde7f3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px}.invoice-preview-row span{color:var(--muted)}.invoice-preview-foot{color:var(--muted);font-size:.9rem}.reports-export-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reports-export-card__item{border-radius:18px;padding:18px;border:1px solid #d8e2f0;background:#f8fbffe6;display:grid;gap:10px}.reports-export-card__item strong{font-size:1.1rem}.reports-export-card__item span{color:var(--muted);line-height:1.6}.chart-shell{height:330px}.chart-shell.compact{height:290px}@media (max-width: 1200px){.enterprise-stage-cards{grid-template-columns:repeat(6,minmax(240px,1fr))}.reports-export-card{grid-template-columns:1fr}}@media (max-width: 900px){.enterprise-timeline-nodes{grid-template-columns:repeat(12,minmax(110px,1fr))}.grid-2,.finance-layout-v4{grid-template-columns:1fr}}.modal-card--wide{width:min(860px,100%)}.modal-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:16px}.header-actions-inline{display:flex;gap:10px;flex-wrap:wrap}.gantt-grid-v5,.project-crud-grid-v5{align-items:start}.gantt-enterprise{display:grid;gap:12px;border-radius:22px;border:1px solid #d9e4f2;background:linear-gradient(180deg,#ffffffeb,#f7faffd9);padding:16px;overflow:auto}.gantt-enterprise__axis{min-width:900px;display:grid;grid-template-columns:220px repeat(12,minmax(70px,1fr));gap:10px;color:var(--muted);font-size:.82rem;padding-inline:4px}.gantt-enterprise__axis span:first-child{visibility:hidden}.gantt-enterprise__rows{min-width:900px;display:grid;gap:12px}.gantt-enterprise__row{border:1px solid #dde6f3;background:#fffc;border-radius:18px;padding:14px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;cursor:pointer}.gantt-enterprise__row.is-selected{border-color:#7da0e6;box-shadow:0 10px 24px #4560a81f}.gantt-enterprise__meta{display:grid;gap:6px;text-align:right}.gantt-enterprise__meta strong{font-size:1rem}.gantt-enterprise__meta small{color:var(--muted)}.gantt-enterprise__tracks{display:grid;gap:8px}.gantt-enterprise__track{height:16px;border-radius:999px;background:repeating-linear-gradient(90deg,#edf2fa 0 7.2%,#f7faff 7.2% 8.33%);position:relative;overflow:hidden}.gantt-enterprise__track.muted{background:repeating-linear-gradient(90deg,#f4f7fc 0 7.2%,#fbfdff 7.2% 8.33%)}.gantt-enterprise__bar{position:absolute;top:2px;bottom:2px;border-radius:999px}.gantt-enterprise__bar.plan{background:linear-gradient(90deg,#7e9dff,#4f7cff)}.gantt-enterprise__bar.actual{background:linear-gradient(90deg,#4dc0ad,#18b79b)}.gantt-enterprise__bar.delay{background:linear-gradient(90deg,#eb8b7d,#dc6b5d)}.preset-row-v5{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.preset-chip{min-height:40px;border-radius:999px;border:1px solid #d6dfed;background:#fff;color:var(--text);padding:0 16px;cursor:pointer;font-weight:700}.preset-chip.active{background:linear-gradient(90deg,#4f7cff,#18b79b);color:#fff;border-color:transparent}.reports-export-card--v5{margin-top:6px}.invoice-preview-card--v5{gap:16px}.invoice-company-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.invoice-company-head h4{margin:0;font-size:1.35rem}.invoice-company-head span{color:var(--muted)}.invoice-template-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invoice-template-blocks div{border-radius:14px;background:#f6f9fdf0;border:1px solid #dde7f3;padding:12px;display:grid;gap:4px}.invoice-template-blocks span{color:var(--muted);font-size:.84rem}@media (max-width: 900px){.gantt-enterprise__row,.invoice-template-blocks{grid-template-columns:1fr}}.approval-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.approval-summary__item{border:1px solid #d6deeb;border-radius:18px;padding:14px 16px;background:#f9fbff;display:flex;justify-content:space-between;align-items:center}.approval-summary__item span{color:#6f7f9a;font-size:13px}.approval-summary__item strong{color:#1e3a6d}@media (max-width: 900px){.approval-summary{grid-template-columns:1fr}}.approval-tree-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.approval-tree-card{border:1px solid #d9e4f4;border-radius:18px;padding:14px;background:#f9fbff;display:flex;flex-direction:column;gap:8px}.approval-tree-card.pending{background:#fffaf1;border-color:#efd7a0}.approval-tree-card.approved{background:#f1fbf8;border-color:#bfe7d9}.approval-tree-card.rejected{background:#fff3f1;border-color:#edc2bb}.approval-tree-card.queued,.approval-tree-card.on_hold{background:#f4f7fc;border-color:#d7dfed}.approval-tree-card__meta{display:flex;align-items:center;justify-content:space-between;color:#7283a4;font-size:12px}.projects-dense-grid .panel{height:auto}.projects-dense-grid .grid-2{align-items:start}.projects-dense-grid .gantt-grid-v5{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.projects-dense-grid .project-crud-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1180px){.projects-dense-grid .gantt-grid-v5,.projects-dense-grid .project-crud-grid-v5{grid-template-columns:1fr}}.compact-page-grid{gap:14px}.dense-two-up,.project-crud-grid-v5{align-items:start}.projects-v10-grid .panel{margin-bottom:0}.timeline-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.timeline-chip-card{border:1px solid #d6e0ef;background:#fff;border-radius:18px;padding:12px;text-align:right;box-shadow:0 8px 22px #4b659214}.timeline-chip-card.active{border-color:#5b86f6;box-shadow:0 12px 28px #5b86f633}.timeline-chip-card strong{display:block;color:#24457b;margin-bottom:4px}.timeline-chip-card span{display:block;font-weight:700;color:#314c7a;font-size:13px}.timeline-chip-card small{color:#7d8fb2}.gantt-micro-grid{display:grid;gap:8px}.gantt-micro-row{display:grid;grid-template-columns:180px 1fr 56px;gap:12px;align-items:center}.gantt-micro-track{position:relative;height:16px;background:#eef3fa;border-radius:999px;overflow:hidden}.gantt-micro-bar{position:absolute;inset-block:0;inset-inline-start:0;border-radius:999px}.gantt-micro-bar.plan{background:#4f7cff8c}.gantt-micro-bar.actual{background:#18b79b;opacity:.88}.compact-summary .stage-summary-card{min-height:unset}.finance-clean-grid .chart-shell,.projects-v10-grid .chart-shell{min-height:320px}.header-actions-inline{display:flex;gap:8px;flex-wrap:wrap}.section-chip.danger{background:#ffe7e3;color:#b75244}@media (max-width: 900px){.gantt-micro-row{grid-template-columns:1fr}}.two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.person-card{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #d7e1f0;border-radius:18px;background:#f9fbff;box-shadow:0 10px 24px #4b659214}.person-card img{width:64px;height:64px;border-radius:18px;object-fit:cover;background:#dce9f5}.person-card strong{display:block;color:#23406e}.person-card span,.person-card small{display:block;color:#7283a4}.decision-badge{margin-inline-start:auto;padding:10px 12px;border-radius:999px;background:#edf4ff;color:#2950a5;font-weight:700;white-space:nowrap}@media (max-width: 900px){.two-col-grid{grid-template-columns:1fr}}.two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.person-card{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #dbe6f3;border-radius:20px;background:linear-gradient(180deg,#fffffff0,#f7fafffa)}.person-card img{width:64px;height:64px;border-radius:18px;object-fit:cover;background:#eef4ff}.person-card strong{display:block;font-size:1rem}.person-card span,.person-card small{display:block;color:var(--muted)}.decision-badge{padding:8px 10px;border-radius:999px;background:#eff6ff;color:#3767d4;font-weight:800}.projects-v13-grid .panel{overflow:hidden}.reports-clean-grid .table-wrap{max-height:none}@media (max-width: 1180px){.two-col-grid,.org-grid{grid-template-columns:1fr}}.notif-panel{position:fixed;top:72px;left:20px;width:360px;max-height:70vh;overflow:auto;background:#fff;border:1px solid #d7e1f2;border-radius:20px;box-shadow:0 20px 50px #1e3a6d2e;z-index:60;padding:14px}.notif-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.notif-panel__search{width:100%;padding:10px 12px;border:1px solid #d7e1f2;border-radius:12px;margin-bottom:10px}.notif-panel__list{display:grid;gap:8px}.notif-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#f6f8fd;border:1px solid #e0e7f4}.notif-item strong{display:block;font-size:13px}.notif-item small{display:block;color:#7184a7}.notif-item--red{border-right:4px solid #df7a67}.notif-item--orange{border-right:4px solid #f29b4b}.notif-item--yellow{border-right:4px solid #d7aa30}.notif-item--green{border-right:4px solid #49bfa6}.empty-hint{padding:16px;text-align:center;color:#7184a7}@media (max-width: 900px){.notif-panel{left:10px;right:10px;width:auto;top:66px}}.stat-inline{display:grid;gap:6px;align-content:end;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#ffffffc7;min-height:52px}.stat-inline span{color:var(--muted);font-size:.88rem}.stat-inline strong{color:var(--text);font-weight:800}.donut-layout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;align-items:center}.donut-layout__chart{min-height:220px}.donut-layout__legend{display:grid;gap:12px;align-self:start}.legend-list{display:grid;gap:8px;max-height:220px;overflow:auto;padding-inline-end:4px}.legend-list__row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff94;border:1px solid #d7e2f0;border-radius:14px;padding:8px 12px}.legend-list__name{display:inline-flex;gap:8px;align-items:center;color:var(--text)}.legend-list__name i{width:12px;height:12px;border-radius:50%;display:inline-block}.donut-total{display:grid;gap:2px;color:var(--text)}.donut-total strong{font-size:1rem}.donut-total span{font-size:1.4rem;font-weight:800}.section-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid #d7e2f0;color:var(--text);background:#ffffff9e;font-size:.84rem;font-weight:700;white-space:nowrap}@media (max-width: 1180px){.donut-layout{grid-template-columns:1fr}}.project-workspace-v35 .panel,.finance-workspace-v35 .panel{padding:14px}.enterprise-summary-grid.compact-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.loading-screen{display:flex;justify-content:center;align-items:center;height:60vh;font-size:18px;gap:10px;color:#243b67}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f8fafcd9;backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:9999}.loader-card{background:#fff;padding:30px 40px;border-radius:16px;box-shadow:0 20px 50px #0000001a;text-align:center;min-width:220px;animation:fadeIn .3s ease}.loader-spinner{width:45px;height:45px;border:4px solid #e5e7eb;border-top:4px solid #4f46e5;border-radius:50%;animation:spin .9s linear infinite;margin:0 auto 12px}.loader-text{font-size:16px;color:#374151;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
