/* Project delivery, version review and approval workspace */
.erp-delivery-workspace{margin:24px 0 6px;padding:0;border:1px solid #dfe7ef;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(35,51,84,.06);overflow:hidden}.erp-delivery-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;background:linear-gradient(120deg,#eefbf9 0%,#f6f8ff 55%,#fff8ed 100%);border-bottom:1px solid #e6edf3}.erp-delivery-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#0ab39c,#405189)}.erp-delivery-hero h3{margin:4px 0 7px;font-size:21px;letter-spacing:-.025em}.erp-delivery-hero p{margin:0;max-width:680px;color:#7c879b;font-size:12px}.erp-delivery-hero-metrics{display:flex;gap:10px}.erp-delivery-hero-metrics span{min-width:100px;padding:13px 16px;border:1px solid rgba(211,221,232,.9);border-radius:13px;background:rgba(255,255,255,.78);color:#7a8597;font-size:10px;text-align:center;box-shadow:0 7px 18px rgba(35,51,84,.04)}.erp-delivery-hero-metrics strong{display:block;color:#344054;font-size:20px}.erp-deliverable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.erp-deliverable-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;border:1px solid #e5eaf0;border-radius:16px;background:linear-gradient(135deg,#fff,#fbfcfe);transition:.2s}.erp-deliverable-card:hover{transform:translateY(-2px);border-color:#bce7e0;box-shadow:0 13px 30px rgba(32,61,84,.08)}.erp-deliverable-card.is-archived{opacity:.62}.erp-deliverable-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#e6f8f5;color:#08a68e;font-size:23px}.erp-deliverable-card-main{min-width:0}.erp-deliverable-card-main>div:first-child{display:flex;align-items:center;gap:8px}.erp-deliverable-card-main h4{margin:0 0 5px;font-size:14px}.erp-deliverable-card-main p{margin:0;color:#8791a4;font-size:10px;line-height:1.55}.erp-deliverable-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.erp-deliverable-meta span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:#f0f4f8;color:#718096;font-size:8px}.erp-deliverable-card-actions{display:flex;align-items:center;gap:6px}.erp-deliverable-card-actions form{margin:0}.erp-deliverable-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;min-height:150px;border:1px dashed #cbd6e2;border-radius:15px;background:#fbfcfe;color:#8a95a8}.erp-deliverable-empty>i{font-size:34px;color:#0ab39c}.erp-deliverable-empty h4{margin:0 0 4px;font-size:14px}.erp-deliverable-empty p{margin:0;font-size:10px}.erp-project-update-feed,.erp-change-request-list{display:grid;gap:11px}.erp-project-update-feed article,.erp-change-request-item{padding:15px;border:1px solid #e6ebf1;border-radius:13px;background:#fbfcfe}.erp-project-update-feed article>header,.erp-change-request-item>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.erp-project-update-feed h5,.erp-change-request-item strong{margin:0;font-size:12px}.erp-project-update-feed time,.erp-change-request-item>small{color:#8994a6;font-size:9px}.erp-project-update-feed p{margin:9px 0 0;color:#5d6778;font-size:10px;line-height:1.6}.erp-change-request-item>div:first-child{justify-content:flex-start}.erp-change-request-item>small{display:block;margin:5px 0 0}
.erp-review-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:15px;padding:25px 28px;border:1px solid #dfe6ee;border-radius:18px;background:linear-gradient(120deg,#fff 0%,#effaf8 70%,#eef2fb 100%);box-shadow:0 10px 28px rgba(35,51,84,.05);overflow:hidden}.erp-review-head:after{content:"";position:absolute;width:180px;height:180px;right:-75px;top:-105px;border:1px solid rgba(64,81,137,.1);border-radius:50%}.erp-review-head-copy>a{display:inline-flex;align-items:center;gap:5px;margin-bottom:10px;color:#7b8799;font-size:10px;text-decoration:none}.erp-review-head-copy>div{display:flex;align-items:center;gap:7px}.erp-review-head h2{margin:8px 0 4px;font-size:25px;letter-spacing:-.035em}.erp-review-head p{margin:0;color:#7d8798;font-size:11px}.erp-review-type{display:inline-flex;align-items:center;gap:6px;color:#0a9e89;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.erp-review-head-actions{position:relative;z-index:1;display:flex;align-items:center;gap:8px}.erp-version-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:8px;border:1px solid #e2e8ef;border-radius:14px;background:#fff}.erp-version-strip>div{display:flex;align-items:stretch;gap:5px;overflow-x:auto}.erp-version-strip>div>span{display:grid;place-items:center;padding:0 12px;color:#929cad;font-size:9px;font-weight:700;letter-spacing:.1em}.erp-version-strip a{min-width:88px;padding:9px 13px;border:1px solid transparent;border-radius:9px;color:#707b8e;text-decoration:none}.erp-version-strip a strong,.erp-version-strip a small{display:block}.erp-version-strip a strong{font-size:11px}.erp-version-strip a small{font-size:8px;color:#9aa4b4}.erp-version-strip a.active{border-color:#b9e9e2;background:#e9f9f6;color:#087d6d}.erp-version-strip a.current:after{content:"Curenta";display:inline-block;margin-top:5px;padding:2px 5px;border-radius:4px;background:#0ab39c;color:#fff;font-size:7px}.erp-version-strip form{display:flex;align-items:center;gap:6px;min-width:270px}.erp-review-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.erp-review-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.erp-review-stage{overflow:hidden;border:1px solid #dfe6ed;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(35,51,84,.05)}.erp-review-stage>header,.erp-review-stage>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.erp-review-stage>header{border-bottom:1px solid #e7ecf1;background:#fbfcfe}.erp-review-stage>header span{color:#0aa28c;font-size:8px;font-weight:700;letter-spacing:.1em}.erp-review-stage>header h3{margin:3px 0 0;font-size:15px}.erp-review-stage>header small{color:#8d97a8;font-size:9px}.erp-review-stage>footer{align-items:flex-start;border-top:1px solid #e7ecf1}.erp-review-stage>footer strong{font-size:10px}.erp-review-stage>footer p{margin:3px 0 0;color:#838da0;font-size:9px}.erp-review-canvas{position:relative;min-height:420px;display:grid;place-items:center;padding:18px;background:linear-gradient(135deg,#17263a,#263b58)}.erp-review-image{position:relative;max-width:100%;max-height:74vh}.erp-review-image img{display:block;max-width:100%;max-height:74vh;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.erp-review-video{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#0b1220}.erp-review-video iframe,.erp-review-document{width:100%;height:100%;border:0}.erp-review-document{min-height:680px;background:#fff}.erp-review-text{width:min(900px,100%);min-height:320px;padding:34px;border-radius:10px;background:#fff;color:#344054;font-size:13px;line-height:1.75;white-space:normal}.erp-review-external,.erp-review-file{width:min(520px,100%);display:grid;justify-items:center;gap:10px;padding:42px;border-radius:14px;background:#fff;color:#405189;text-align:center;text-decoration:none}.erp-review-external>i,.erp-review-file>i{font-size:39px;color:#0ab39c}.erp-review-external span{max-width:100%;overflow-wrap:anywhere;color:#8791a3;font-size:10px}.erp-review-pin{position:absolute;z-index:4;width:30px;height:30px;display:grid;place-items:center;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#f06548;color:#fff;font-size:10px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.28)}.erp-review-pin.resolved{background:#0ab39c}.erp-decision-log{display:grid;gap:12px}.erp-decision-log article{display:grid;grid-template-columns:38px 1fr;gap:11px}.erp-decision-log article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e7f8f4;color:#0a9f89}.erp-decision-log article>span.changes_requested{background:#fff1dd;color:#db8b18}.erp-decision-log strong{font-size:10px}.erp-decision-log p,.erp-decision-log time{margin:2px 0;color:#8b95a6;font-size:8px}.erp-decision-log blockquote{margin:6px 0;padding:7px 9px;border-left:2px solid #0ab39c;background:#f6f9fb;color:#5f6979;font-size:9px}.erp-annotation-register{display:grid;gap:8px;margin:0 0 16px}.erp-annotation-register article{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e4eaf0;border-radius:10px;background:#fbfcfe}.erp-annotation-register b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#f06548;color:#fff;font-size:9px}.erp-annotation-register article.resolved b{background:#0ab39c}.erp-annotation-register div{min-width:0;flex:1}.erp-annotation-register strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.erp-annotation-register small{color:#8a95a5;font-size:8px}
@media(max-width:1199px){.erp-deliverable-grid{grid-template-columns:1fr}.erp-review-compare-grid{grid-template-columns:1fr}.erp-review-canvas{min-height:350px}.erp-review-document{min-height:560px}}@media(max-width:767px){.erp-delivery-hero,.erp-review-head{align-items:flex-start;flex-direction:column;padding:20px}.erp-delivery-hero-metrics{width:100%;overflow-x:auto}.erp-delivery-hero-metrics span{min-width:92px}.erp-deliverable-grid{padding:12px}.erp-deliverable-card{grid-template-columns:46px 1fr}.erp-deliverable-card-actions{grid-column:1/-1;justify-content:flex-end}.erp-version-strip{align-items:stretch;flex-direction:column}.erp-version-strip form{min-width:0}.erp-review-head-actions{width:100%;flex-wrap:wrap}.erp-review-canvas{min-height:260px;padding:10px}.erp-review-document{min-height:440px}}

/* Project delivery overview: read-only project page and unified review conversation. */
.erp-project-delivery-overview{overflow:hidden;border:1px solid #dfe8ef;border-radius:20px;box-shadow:0 12px 34px rgba(35,51,84,.055)}
.erp-project-delivery-head{position:relative;display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:22px;padding:24px 26px;border-bottom:1px solid #e6edf3;background:linear-gradient(120deg,#eefbf9 0%,#f7f9ff 55%,#fff9ef 100%)}
.erp-project-delivery-head:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#0ab39c,#405189)}
.erp-project-delivery-title{display:flex;align-items:center;gap:15px;min-width:0}.erp-project-delivery-mark{width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;background:#fff;color:#0aa990;font-size:23px;box-shadow:0 8px 20px rgba(31,76,90,.08)}
.erp-project-delivery-title h4{margin:3px 0 5px;font-size:18px}.erp-project-delivery-title p{max-width:670px;margin:0;color:#7d899c;font-size:11px;line-height:1.55}
.erp-project-delivery-summary{display:flex;gap:8px}.erp-project-delivery-summary span{min-width:74px;padding:10px 12px;border:1px solid rgba(215,225,234,.9);border-radius:11px;background:rgba(255,255,255,.8);color:#7d8798;font-size:8px;text-align:center}.erp-project-delivery-summary strong{display:block;color:#354052;font-size:17px}.erp-project-delivery-summary .has-alert strong{color:#e19a25}
.erp-project-delivery-list{display:grid;gap:0;padding:0 20px}.erp-project-delivery-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid #e9edf2}.erp-project-delivery-item:last-child{border-bottom:0}.erp-project-delivery-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#def7f2,#edf6ff);color:#079d88;font-size:22px}.erp-project-delivery-copy{min-width:0}.erp-project-delivery-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.erp-project-delivery-copy h5{margin:0 0 4px;font-size:13px}.erp-project-delivery-copy p{max-width:900px;margin:0;color:#8791a2;font-size:10px;line-height:1.55}.erp-project-delivery-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.erp-project-delivery-meta span{display:inline-flex;align-items:center;gap:5px;color:#7f8a9c;font-size:8px}.erp-project-delivery-meta i{color:#0aa990;font-size:12px}.erp-project-delivery-action{display:flex;justify-content:flex-end}.erp-project-delivery-empty{display:flex;align-items:center;justify-content:center;gap:14px;min-height:150px;padding:25px}.erp-project-delivery-empty>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e5f8f4;color:#0aa990;font-size:22px}.erp-project-delivery-empty h5{margin:0 0 4px}.erp-project-delivery-empty p{margin:0;color:#8791a2;font-size:10px}.erp-project-delivery-empty>a{margin-left:20px}
.erp-collaboration-card.is-deliverable-review{border-color:#cfe8e3;box-shadow:0 12px 30px rgba(24,76,81,.07)}.erp-collaboration-card.is-deliverable-review .erp-collaboration-header{background:linear-gradient(105deg,#eefbf9,#f8f9ff)}
.erp-review-context-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-4px 0 16px;padding:7px;border:1px solid #e1e8ef;border-radius:14px;background:#fff}.erp-review-context-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#6f7a8d;text-decoration:none;transition:.18s}.erp-review-context-nav a:hover{background:#eaf9f6;color:#087d6d}.erp-review-context-nav i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eef3f7;color:#0aa18b;font-size:16px}.erp-review-context-nav span{display:grid;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.erp-review-context-nav strong{color:#344054;font-size:10px;text-transform:none;letter-spacing:0}#review-stage,#review-comments,#team-collaboration{scroll-margin-top:90px}
@media(max-width:1199px){.erp-project-delivery-head{grid-template-columns:1fr auto}.erp-project-delivery-head>a{grid-column:1/-1;justify-self:start}.erp-project-delivery-summary{justify-self:end}}
@media(max-width:767px){.erp-project-delivery-head{grid-template-columns:1fr;padding:20px}.erp-project-delivery-title{align-items:flex-start}.erp-project-delivery-summary{width:100%;justify-self:stretch;overflow-x:auto}.erp-project-delivery-summary span{min-width:78px}.erp-project-delivery-item{grid-template-columns:44px minmax(0,1fr);padding:16px 0}.erp-project-delivery-icon{width:42px;height:42px}.erp-project-delivery-action{grid-column:1/-1}.erp-project-delivery-action .btn{width:100%}.erp-project-delivery-empty{align-items:flex-start;flex-direction:column}.erp-project-delivery-empty>a{width:100%;margin-left:0}.erp-review-context-nav{grid-template-columns:1fr}.erp-review-context-nav a{padding:8px 10px}}

/* Project progress and commercial model are intentionally independent. */
.erp-billing-mode-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid rgba(var(--vz-primary-rgb),.14);border-radius:.65rem;background:rgba(var(--vz-primary-rgb),.07);color:var(--vz-primary);font-size:.72rem;font-weight:700;white-space:nowrap}
.erp-project-progress-editor{display:grid;grid-template-columns:minmax(240px,.8fr) 112px minmax(360px,1.35fr);align-items:center;gap:1.5rem;padding:1.35rem;border:1px solid color-mix(in srgb,var(--vz-info) 22%,var(--vz-border-color));border-radius:1rem;background:linear-gradient(125deg,rgba(var(--vz-info-rgb),.055),var(--vz-card-bg) 58%,rgba(var(--vz-primary-rgb),.045));overflow:hidden}
.erp-project-progress-copy h6,.erp-billing-model-head h6{margin:.2rem 0 .35rem;font-size:1rem}.erp-project-progress-copy p,.erp-billing-model-head p{max-width:560px;margin:0;color:var(--vz-secondary-color);font-size:.75rem;line-height:1.55}
.erp-project-progress-ring{--project-progress:0;position:relative;width:100px;height:100px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--vz-success) calc(var(--project-progress)*1%),rgba(var(--vz-success-rgb),.11) 0);box-shadow:0 10px 25px rgba(35,51,84,.08)}.erp-project-progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--vz-card-bg);box-shadow:inset 0 0 0 1px var(--vz-border-color)}.erp-project-progress-ring>span{position:relative;display:grid;text-align:center}.erp-project-progress-ring strong{color:var(--vz-heading-color);font-size:1.25rem;line-height:1}.erp-project-progress-ring small{margin-top:.25rem;color:var(--vz-secondary-color);font-size:.48rem;font-weight:700;letter-spacing:.12em}
.erp-progress-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.erp-progress-mode-option{position:relative;margin:0;cursor:pointer}.erp-progress-mode-option input{position:absolute;opacity:0;pointer-events:none}.erp-progress-mode-option>span{min-height:78px;display:grid;grid-template-columns:34px minmax(0,1fr);align-content:center;column-gap:.7rem;padding:.8rem;border:1px solid var(--vz-border-color);border-radius:.8rem;background:color-mix(in srgb,var(--vz-card-bg) 93%,var(--vz-light));transition:.18s}.erp-progress-mode-option i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:.65rem;background:var(--vz-light);color:var(--vz-secondary-color);font-size:1rem}.erp-progress-mode-option strong{font-size:.75rem}.erp-progress-mode-option small{margin-top:.15rem;color:var(--vz-secondary-color);font-size:.62rem;line-height:1.35}.erp-progress-mode-option input:checked+span{border-color:rgba(var(--vz-success-rgb),.42);background:rgba(var(--vz-success-rgb),.075);box-shadow:0 7px 18px rgba(var(--vz-success-rgb),.08)}.erp-progress-mode-option input:checked+span i{background:var(--vz-success);color:#fff}.erp-progress-mode-option input:focus-visible+span{outline:3px solid rgba(var(--vz-primary-rgb),.15);outline-offset:2px}
.erp-progress-slider{grid-column:3;margin-top:-.35rem;padding:.7rem .85rem;border-radius:.75rem;background:rgba(var(--vz-success-rgb),.045);transition:.18s}.erp-progress-slider output{min-width:3rem;color:var(--vz-success);font-weight:800;text-align:right}.erp-progress-slider small,.erp-progress-slider p{color:var(--vz-secondary-color);font-size:.58rem}.erp-progress-slider p{margin-top:.55rem!important;line-height:1.45}.erp-progress-slider.is-inactive{opacity:.62}.erp-progress-locked{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid rgba(var(--vz-primary-rgb),.12);border-radius:.8rem;background:rgba(var(--vz-primary-rgb),.05)}.erp-progress-locked>i{width:38px;height:38px;display:grid;place-items:center;border-radius:.7rem;background:rgba(var(--vz-primary-rgb),.1);color:var(--vz-primary);font-size:1.05rem}.erp-progress-locked span{display:grid}.erp-progress-locked strong{font-size:.72rem}.erp-progress-locked small{margin-top:.2rem;color:var(--vz-secondary-color);font-size:.62rem;line-height:1.4}
.erp-billing-model-panel{display:grid;gap:1.15rem;padding:1.35rem;border:1px solid color-mix(in srgb,var(--vz-primary) 18%,var(--vz-border-color));border-radius:1rem;background:linear-gradient(130deg,rgba(var(--vz-primary-rgb),.055),var(--vz-card-bg) 62%,rgba(var(--vz-success-rgb),.035))}.erp-billing-model-head{display:flex;align-items:flex-start;gap:.9rem}.erp-billing-model-head>span{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:.85rem;background:rgba(var(--vz-primary-rgb),.1);color:var(--vz-primary);font-size:1.3rem}.erp-billing-principle{min-height:58px;display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px dashed rgba(var(--vz-success-rgb),.3);border-radius:.75rem;background:rgba(var(--vz-success-rgb),.045)}.erp-billing-principle>i{color:var(--vz-success);font-size:1.15rem}.erp-billing-principle span{display:grid}.erp-billing-principle strong{font-size:.7rem}.erp-billing-principle small{margin-top:.15rem;color:var(--vz-secondary-color);font-size:.6rem;line-height:1.35}.erp-hourly-rate-fields{padding-top:1rem;border-top:1px dashed var(--vz-border-color)}.erp-hourly-rate-fields[hidden]{display:none!important}
.erp-project-billing-summary{display:flex;align-items:center;gap:.8rem;margin-top:1rem;padding:.8rem 1rem;border:1px solid rgba(var(--vz-primary-rgb),.14);border-radius:.8rem;background:linear-gradient(105deg,rgba(var(--vz-primary-rgb),.055),rgba(var(--vz-success-rgb),.035))}.erp-project-billing-summary>i{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:.7rem;background:rgba(var(--vz-primary-rgb),.1);color:var(--vz-primary);font-size:1.05rem}.erp-project-billing-summary span{display:grid}.erp-project-billing-summary strong{font-size:.72rem}.erp-project-billing-summary small{margin-top:.16rem;color:var(--vz-secondary-color);font-size:.62rem;line-height:1.45}
@media(max-width:1199.98px){.erp-project-progress-editor{grid-template-columns:minmax(0,1fr) 100px}.erp-progress-mode-grid,.erp-progress-slider,.erp-progress-locked{grid-column:1/-1}}
@media(max-width:575.98px){.erp-project-progress-editor{grid-template-columns:1fr;padding:1rem}.erp-project-progress-ring{grid-row:2;justify-self:start;width:88px;height:88px}.erp-progress-mode-grid{grid-template-columns:1fr}.erp-focus-timer-actions .erp-billing-mode-badge{width:100%;justify-content:center}}

/* Project progress and billing editor polish. */
.page-content .erp-project-progress-editor,
.page-content .erp-billing-model-panel {
    position: relative;
    isolation: isolate;
    border: 1px solid var(--vz-border-color);
    border-radius: 1.15rem;
    background: var(--vz-card-bg);
    box-shadow: 0 12px 30px rgba(35, 51, 84, .07);
}

.page-content .erp-project-progress-editor {
    grid-template-columns: minmax(280px, .9fr) 116px minmax(420px, 1.25fr);
    gap: 1.75rem;
    min-height: 190px;
    padding: 1.5rem 1.65rem;
}

.page-content .erp-project-progress-editor::before,
.page-content .erp-billing-model-panel::before {
    position: absolute;
    z-index: -1;
    content: "";
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}

.page-content .erp-project-progress-editor::before {
    background:
        radial-gradient(circle at 8% 15%, rgba(var(--vz-success-rgb), .11), transparent 28%),
        linear-gradient(120deg, transparent 45%, rgba(var(--vz-primary-rgb), .035));
}

.page-content .erp-project-progress-copy {
    align-self: center;
}

.page-content .erp-project-progress-copy h6 {
    margin: .35rem 0 .5rem;
    color: var(--vz-heading-color);
    font-size: 1.08rem;
    letter-spacing: -.015em;
}

.page-content .erp-project-progress-copy p {
    max-width: 390px;
    font-size: .78rem;
    line-height: 1.65;
}

.page-content .erp-project-progress-ring {
    width: 108px;
    height: 108px;
    justify-self: center;
    background: conic-gradient(#0ab39c calc(var(--project-progress) * 1%), rgba(10, 179, 156, .12) 0);
    box-shadow: 0 12px 28px rgba(10, 179, 156, .16);
}

.page-content .erp-project-progress-ring::before {
    inset: 10px;
}

.page-content .erp-project-progress-ring strong {
    font-size: 1.35rem;
}

.page-content .erp-progress-mode-grid {
    align-self: end;
}

.page-content .erp-progress-mode-option > span {
    min-height: 82px;
    padding: .85rem .95rem;
    border-color: var(--vz-border-color);
    background: rgba(var(--vz-light-rgb), .42);
}

.page-content .erp-progress-mode-option:hover > span {
    transform: translateY(-1px);
    border-color: rgba(var(--vz-success-rgb), .32);
    box-shadow: 0 8px 20px rgba(35, 51, 84, .06);
}

.page-content .erp-progress-mode-option input:checked + span {
    border-color: rgba(var(--vz-success-rgb), .48);
    background: linear-gradient(135deg, rgba(var(--vz-success-rgb), .12), rgba(var(--vz-success-rgb), .045));
}

.page-content .erp-progress-mode-option strong {
    color: var(--vz-heading-color);
    font-size: .76rem;
}

.page-content .erp-progress-mode-option small {
    font-size: .65rem;
}

.page-content .erp-progress-slider {
    margin: .15rem 0 0;
    padding: .85rem 1rem .75rem;
    border: 1px solid rgba(var(--vz-success-rgb), .14);
    background: rgba(var(--vz-success-rgb), .055);
}

.page-content .erp-progress-slider .form-range {
    margin: .65rem 0 .35rem;
}

.page-content .erp-progress-slider output {
    padding: .28rem .55rem;
    border-radius: 999px;
    background: rgba(var(--vz-success-rgb), .11);
    font-size: .72rem;
}

.page-content .erp-progress-slider > div small {
    font-size: .61rem;
}

.page-content .erp-progress-slider p {
    padding-top: .55rem;
    border-top: 1px dashed rgba(var(--vz-success-rgb), .2);
    font-size: .64rem;
}

.page-content .erp-billing-model-panel {
    padding: 1.45rem 1.65rem;
    overflow: hidden;
}

.page-content .erp-billing-model-panel::before {
    background:
        radial-gradient(circle at 100% 0, rgba(var(--vz-primary-rgb), .1), transparent 30%),
        linear-gradient(120deg, rgba(var(--vz-primary-rgb), .025), transparent 45%);
}

.page-content .erp-billing-model-head {
    position: relative;
    z-index: 1;
    align-items: center;
    padding-bottom: 1.1rem;
    border-bottom: 1px dashed var(--vz-border-color);
}

.page-content .erp-billing-model-head > span {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(var(--vz-primary-rgb), .12);
    background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .14), rgba(var(--vz-primary-rgb), .055));
    box-shadow: 0 8px 18px rgba(var(--vz-primary-rgb), .08);
}

.page-content .erp-billing-model-head h6 {
    margin: .3rem 0 .3rem;
    font-size: 1.05rem;
}

.page-content .erp-billing-model-panel > .row,
.page-content .erp-hourly-rate-fields {
    position: relative;
    z-index: 1;
}

.page-content .erp-billing-principle {
    min-height: 62px;
    padding: .8rem .95rem;
    border-style: solid;
    background: rgba(var(--vz-success-rgb), .055);
}

.page-content .erp-billing-principle > i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: .65rem;
    background: rgba(var(--vz-success-rgb), .12);
}

.page-content .erp-billing-principle strong {
    font-size: .74rem;
}

.page-content .erp-billing-principle small {
    font-size: .64rem;
    line-height: 1.5;
}

@media (max-width: 1399.98px) {
    .page-content .erp-project-progress-editor {
        grid-template-columns: minmax(240px, .85fr) 104px minmax(330px, 1.25fr);
        gap: 1.25rem;
    }
}

@media (max-width: 1199.98px) {
    .page-content .erp-project-progress-editor {
        grid-template-columns: minmax(0, 1fr) 104px;
    }

    .page-content .erp-progress-mode-grid,
    .page-content .erp-progress-slider,
    .page-content .erp-progress-locked {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .page-content .erp-project-progress-editor,
    .page-content .erp-billing-model-panel {
        padding: 1.1rem;
        border-radius: .95rem;
    }

    .page-content .erp-project-progress-editor {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .page-content .erp-project-progress-ring {
        grid-row: auto;
        justify-self: start;
        width: 92px;
        height: 92px;
    }

    .page-content .erp-progress-mode-grid {
        grid-template-columns: 1fr;
    }
}
.page-content .erp-resource-table th:first-child,
.page-content .erp-resource-table td:first-child {
    min-width: 13.5rem;
}

.page-content .erp-resource-user {
    display: inline-grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    max-width: 100%;
    vertical-align: middle;
}

.page-content .erp-resource-user-avatar {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border: 1px solid rgba(var(--vz-primary-rgb), .14);
    border-radius: 50%;
    color: var(--vz-primary);
    background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .15), rgba(var(--vz-info-rgb), .08));
    box-shadow: 0 .25rem .7rem rgba(30, 41, 59, .08);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
}

.page-content .erp-resource-user strong {
    min-width: 0;
    overflow: hidden;
    color: var(--vz-heading-color);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-bs-theme="dark"] .page-content .erp-resource-user-avatar {
    border-color: rgba(var(--vz-primary-rgb), .28);
    background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .22), rgba(var(--vz-info-rgb), .1));
}

/* Application-wide visual consistency pass */
.page-content .form-text {
    margin-top: .42rem;
    color: var(--vz-secondary-color);
    font-size: .7rem;
    line-height: 1.55;
}

.page-content .pagination {
    flex-wrap: wrap;
    gap: .38rem;
    margin-bottom: 0;
}

.page-content .pagination .page-link {
    min-width: 2.35rem;
    min-height: 2.35rem;
    display: inline-grid;
    place-items: center;
    padding: .45rem .7rem;
    border: 1px solid var(--vz-border-color);
    border-radius: .7rem !important;
    color: var(--vz-body-color);
    background: var(--vz-card-bg);
    box-shadow: 0 .2rem .55rem rgba(30, 41, 59, .035);
    font-size: .74rem;
    font-weight: 650;
}

.page-content .pagination .page-link:hover,
.page-content .pagination .page-item.active .page-link {
    border-color: rgba(var(--vz-primary-rgb), .3);
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .1);
    box-shadow: 0 .35rem .85rem rgba(var(--vz-primary-rgb), .1);
}

.page-content .pagination .page-item.disabled .page-link {
    opacity: .48;
    box-shadow: none;
}

.page-content .modal-content,
.page-content .offcanvas {
    overflow: hidden;
    border: 1px solid var(--vz-border-color);
    background-color: var(--vz-card-bg);
    box-shadow: 0 1.5rem 4rem rgba(30, 41, 59, .16);
}

.page-content .modal-header,
.page-content .offcanvas-header {
    min-height: 4.5rem;
    padding: 1.1rem 1.3rem;
    border-bottom: 1px solid var(--vz-border-color);
    background:
        radial-gradient(circle at 100% 0, rgba(var(--vz-primary-rgb), .1), transparent 38%),
        linear-gradient(135deg, rgba(var(--vz-primary-rgb), .035), transparent 65%);
}

.page-content .modal-title,
.page-content .offcanvas-title {
    color: var(--vz-heading-color);
    font-weight: 700;
    letter-spacing: -.02em;
}

.page-content .modal-footer {
    gap: .5rem;
    padding: 1rem 1.3rem;
    border-top: 1px solid var(--vz-border-color);
    background: color-mix(in srgb, var(--vz-card-bg) 88%, var(--vz-tertiary-bg));
}

.page-content .table td[colspan].text-center,
.page-content .table td[colspan] .erp-empty-state {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
    color: var(--vz-secondary-color);
    background:
        radial-gradient(circle at 50% 0, rgba(var(--vz-primary-rgb), .055), transparent 45%),
        color-mix(in srgb, var(--vz-card-bg) 94%, var(--vz-tertiary-bg));
}

.page-content .table td:last-child .btn-group,
.page-content .table td:last-child > .d-flex {
    gap: .38rem;
}

.page-content .table td:last-child .btn-icon,
.page-content .table td:last-child .btn-sm.rounded-circle {
    width: 2.1rem;
    height: 2.1rem;
    display: inline-grid;
    place-items: center;
    padding: 0;
}

.page-content .nav-pills:not(.erp-workspace-tabs) {
    gap: .4rem;
}

.page-content .nav-pills:not(.erp-workspace-tabs) .nav-link {
    border-radius: .7rem;
    font-weight: 650;
}

/* Deliverables and review use the same surfaces and type scale as the rest of the ERP. */
.page-content .erp-delivery-workspace,
.page-content .erp-review-stage,
.page-content .erp-version-strip,
.page-content .erp-review-context-nav,
.page-content .erp-project-delivery-overview {
    border-color: var(--vz-border-color);
    background: var(--vz-card-bg);
}

.page-content .erp-deliverable-card,
.page-content .erp-deliverable-empty,
.page-content .erp-project-update-feed article,
.page-content .erp-change-request-item,
.page-content .erp-review-stage > header,
.page-content .erp-annotation-register article {
    border-color: var(--vz-border-color);
    background: color-mix(in srgb, var(--vz-card-bg) 90%, var(--vz-tertiary-bg));
}

.page-content .erp-delivery-hero,
.page-content .erp-review-head,
.page-content .erp-project-delivery-head {
    border-color: var(--vz-border-color);
    background:
        radial-gradient(circle at 92% 0, rgba(var(--vz-primary-rgb), .11), transparent 34%),
        linear-gradient(120deg, rgba(var(--vz-success-rgb), .075), rgba(var(--vz-primary-rgb), .045) 58%, rgba(var(--vz-warning-rgb), .06));
}

.page-content .erp-delivery-hero-metrics span,
.page-content .erp-project-delivery-summary span,
.page-content .erp-project-delivery-mark {
    border-color: var(--vz-border-color);
    color: var(--vz-secondary-color);
    background: color-mix(in srgb, var(--vz-card-bg) 88%, transparent);
}

.page-content .erp-delivery-hero-metrics strong,
.page-content .erp-project-delivery-summary strong,
.page-content .erp-review-context-nav strong,
.page-content .erp-deliverable-card-main h4 {
    color: var(--vz-heading-color);
}

.page-content .erp-deliverable-meta span,
.page-content .erp-review-context-nav i {
    color: var(--vz-secondary-color);
    background: var(--vz-tertiary-bg);
}

.page-content .erp-delivery-hero p,
.page-content .erp-deliverable-card-main p,
.page-content .erp-project-delivery-copy p,
.page-content .erp-project-update-feed p,
.page-content .erp-review-head p,
.page-content .erp-review-stage > footer p,
.page-content .erp-deliverable-empty p,
.page-content .erp-project-delivery-empty p {
    color: var(--vz-secondary-color);
    font-size: .72rem;
    line-height: 1.6;
}

.page-content .erp-deliverable-meta span,
.page-content .erp-project-delivery-meta span,
.page-content .erp-review-context-nav span,
.page-content .erp-review-stage > header span,
.page-content .erp-review-type {
    font-size: .64rem;
    line-height: 1.35;
}

.page-content .erp-project-update-feed time,
.page-content .erp-change-request-item > small,
.page-content .erp-review-stage > header small,
.page-content .erp-version-strip a small,
.page-content .erp-decision-log p,
.page-content .erp-decision-log time,
.page-content .erp-annotation-register small {
    color: var(--vz-secondary-color);
    font-size: .66rem;
}

.page-content .erp-project-update-feed h5,
.page-content .erp-change-request-item strong,
.page-content .erp-review-stage > footer strong,
.page-content .erp-review-context-nav strong,
.page-content .erp-annotation-register strong {
    color: var(--vz-heading-color);
    font-size: .75rem;
}

.page-content .erp-version-strip a strong {
    font-size: .78rem;
}

.page-content .erp-version-strip a.current::after {
    font-size: .58rem;
}

.page-content .erp-decision-log blockquote {
    color: var(--vz-body-color);
    background: color-mix(in srgb, var(--vz-card-bg) 82%, var(--vz-tertiary-bg));
    font-size: .7rem;
    line-height: 1.55;
}

.page-content .erp-review-text,
.page-content .erp-review-external,
.page-content .erp-review-file {
    background: var(--vz-card-bg);
}

.page-content .erp-review-text {
    color: var(--vz-body-color);
}

.page-content .erp-review-context-nav a:hover {
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .09);
}

@media (max-width: 767.98px) {
    .page-content .modal-header,
    .page-content .offcanvas-header,
    .page-content .modal-footer {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .page-content .modal-footer .btn {
        flex: 1 1 auto;
    }

    .page-content .erp-delivery-hero,
    .page-content .erp-review-head,
    .page-content .erp-project-delivery-head {
        align-items: flex-start;
        padding: 1.15rem;
    }

    .page-content .erp-delivery-hero-metrics,
    .page-content .erp-project-delivery-summary {
        width: 100%;
        overflow-x: auto;
        padding-bottom: .2rem;
    }

    .page-content .erp-deliverable-grid {
        grid-template-columns: 1fr;
        padding: .85rem;
    }

    .page-content .erp-deliverable-card,
    .page-content .erp-project-delivery-item {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: .75rem;
        padding: .95rem;
    }

    .page-content .erp-deliverable-card-actions,
    .page-content .erp-project-delivery-action {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: .35rem;
    }

    .page-content .erp-review-context-nav {
        grid-template-columns: 1fr;
    }

    .page-content .erp-version-strip,
    .page-content .erp-version-strip form {
        min-width: 0;
        align-items: stretch;
        flex-direction: column;
    }
}
.erp-expense-type-toggles {
    display: grid;
    gap: .65rem;
}

.erp-setting-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 64px;
    margin: 0;
    padding: .75rem .9rem;
    border: 1px solid var(--vz-border-color, #e5e9f0);
    border-radius: 13px;
    background: var(--vz-light, #f7f9fb);
}

.erp-setting-toggle > span {
    display: grid;
    grid-template-columns: 28px 1fr;
    column-gap: .55rem;
    align-items: center;
}

.erp-setting-toggle i {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    color: var(--vz-primary, #405189);
    background: rgba(64, 81, 137, .09);
}

.erp-setting-toggle b,
.erp-setting-toggle small {
    display: block;
}

.erp-setting-toggle b {
    font-size: .78rem;
}

.erp-setting-toggle small {
    color: var(--vz-secondary-color, #8991a3);
    font-size: .67rem;
}

/* Expense type editor: it is moved under body to share Bootstrap's modal stack. */
.erp-expense-type-modal {
    z-index: 1065;
}

.erp-expense-type-modal .modal-dialog {
    max-width: 800px;
}

.erp-expense-type-modal .modal-content {
    overflow: hidden;
    border: 1px solid var(--vz-border-color, #e5e9f0);
    border-radius: 18px;
    color: var(--vz-body-color, #212529);
    background: var(--vz-card-bg, #fff);
    opacity: 1;
    box-shadow: 0 1.75rem 5rem rgba(20, 31, 52, .28);
    backdrop-filter: none;
}

.erp-expense-type-modal .modal-header,
.erp-expense-type-modal .modal-body,
.erp-expense-type-modal .modal-footer {
    background-color: var(--vz-card-bg, #fff);
}

.erp-expense-type-modal .modal-header {
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--vz-border-color, #e5e9f0);
    background-image:
        radial-gradient(circle at 100% 0, rgba(var(--vz-primary-rgb, 64, 81, 137), .1), transparent 38%),
        linear-gradient(135deg, rgba(var(--vz-primary-rgb, 64, 81, 137), .035), transparent 65%);
}

.erp-expense-type-modal .modal-body {
    padding: 1.35rem;
}

.erp-expense-type-modal .modal-footer {
    gap: .55rem;
    padding: 1rem 1.35rem;
    border-top: 1px solid var(--vz-border-color, #e5e9f0);
}

.erp-expense-type-modal .erp-expense-type-toggles {
    height: 100%;
    align-content: end;
}

[data-bs-theme="dark"] .erp-expense-type-modal .modal-content,
[data-bs-theme="dark"] .erp-expense-type-modal .modal-header,
[data-bs-theme="dark"] .erp-expense-type-modal .modal-body,
[data-bs-theme="dark"] .erp-expense-type-modal .modal-footer {
    background-color: var(--vz-card-bg, #161d29);
}

/* Visual foundation v35: opaque surfaces, stronger contrast and calmer spacing. */
:root {
    --erp-surface: rgb(var(--vz-secondary-bg-rgb, 255, 255, 255));
    --erp-surface-soft: rgb(var(--vz-tertiary-bg-rgb, 246, 248, 251));
    --erp-text-strong: #27364a;
    --erp-text-body: #3f4d61;
    --erp-text-muted: #667085;
    --erp-line: #dfe5ee;
    --erp-card-radius: 1rem;
    --erp-card-shadow: 0 .55rem 1.75rem rgba(25, 42, 70, .055);
    --erp-card-shadow-hover: 0 .85rem 2.25rem rgba(25, 42, 70, .085);
}

[data-bs-theme="dark"] {
    --erp-surface: rgb(var(--vz-secondary-bg-rgb, 24, 31, 43));
    --erp-surface-soft: rgb(var(--vz-tertiary-bg-rgb, 31, 40, 55));
    --erp-text-strong: #f3f6fb;
    --erp-text-body: #d5dce7;
    --erp-text-muted: #aeb8c8;
    --erp-line: #344158;
    --erp-card-shadow: 0 .7rem 2rem rgba(0, 0, 0, .2);
    --erp-card-shadow-hover: 0 1rem 2.5rem rgba(0, 0, 0, .28);
}

body {
    color: var(--erp-text-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.page-content {
    color: var(--erp-text-body);
}

.page-content > .container-fluid {
    padding-right: clamp(1rem, 1.65vw, 2rem);
    padding-left: clamp(1rem, 1.65vw, 2rem);
}

.page-content .erp-page-intro {
    min-height: 88px;
    margin-bottom: 1.4rem;
    padding: .75rem 0 1.1rem;
    border-bottom: 1px solid var(--erp-line);
    border-radius: 0;
    background: transparent;
    opacity: 1;
    backdrop-filter: none;
}

.page-content .erp-page-intro-icon {
    border-color: rgba(var(--vz-primary-rgb), .18);
    color: var(--vz-primary);
    background: var(--erp-surface);
    box-shadow: 0 .5rem 1.4rem rgba(25, 42, 70, .07);
}

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6,
.page-content .card-title {
    color: var(--erp-text-strong);
    letter-spacing: -.015em;
}

.page-content p,
.page-content .form-check-label,
.page-content .table {
    color: var(--erp-text-body);
}

.page-content .text-muted,
.page-content .form-text,
.page-content small,
.page-content .small {
    color: var(--erp-text-muted) !important;
}

.page-content .form-text,
.page-content small,
.page-content .small {
    line-height: 1.55;
}

.page-content .form-label {
    margin-bottom: .48rem;
    color: var(--erp-text-strong);
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .005em;
}

.page-content .form-control,
.page-content .form-select,
.page-content .input-group-text,
.page-content .choices__inner {
    min-height: 2.65rem;
    border-color: var(--erp-line);
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    opacity: 1;
}

.page-content textarea.form-control {
    min-height: auto;
    line-height: 1.65;
}

.page-content .form-control:focus,
.page-content .form-select:focus,
.page-content .choices.is-focused .choices__inner,
.page-content .choices.is-open .choices__inner {
    border-color: rgba(var(--vz-primary-rgb), .52);
    background-color: var(--erp-surface);
    box-shadow: 0 0 0 .2rem rgba(var(--vz-primary-rgb), .09);
}

.page-content .form-control:disabled,
.page-content .form-select:disabled,
.page-content .form-control[readonly] {
    color: var(--erp-text-muted);
    background-color: var(--erp-surface-soft);
    opacity: 1;
}

.page-content .choices__list--dropdown,
.page-content .choices__list[aria-expanded],
.page-content .dropdown-menu {
    border-color: var(--erp-line);
    color: var(--erp-text-body);
    background: var(--erp-surface);
    opacity: 1;
    box-shadow: 0 1rem 2.5rem rgba(25, 42, 70, .16);
    backdrop-filter: none;
}

.page-content .choices__item--choice,
.page-content .dropdown-item {
    color: var(--erp-text-body);
}

.page-content .choices__item--choice.is-highlighted,
.page-content .dropdown-item:hover,
.page-content .dropdown-item:focus {
    color: var(--erp-text-strong);
    background: rgba(var(--vz-primary-rgb), .08);
}

.page-content .card,
.page-content .modal-content,
.page-content .offcanvas,
.page-content .toast {
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    opacity: 1;
    backdrop-filter: none;
}

.page-content .card {
    border-color: var(--erp-line);
    border-radius: var(--erp-card-radius);
    box-shadow: var(--erp-card-shadow);
}

.page-content .card-header,
.page-content .card-footer {
    border-color: var(--erp-line);
}

.page-content .erp-registry-card > .card-header,
.page-content .erp-form-card > .card-header,
.page-content .erp-chart-card > .card-header {
    padding: 1.15rem 1.3rem;
}

.page-content .erp-registry-card > .card-body,
.page-content .erp-form-card > .card-body,
.page-content .erp-chart-card > .card-body {
    padding: 1.3rem;
}

.page-content .table {
    --vz-table-bg: transparent;
    margin-bottom: 0;
    vertical-align: middle;
}

.page-content .table > :not(caption) > * > * {
    padding: .88rem .9rem;
    border-bottom-color: var(--erp-line);
}

.page-content .table > thead > tr > th {
    color: var(--erp-text-muted);
    background-color: var(--erp-surface-soft);
    font-size: .69rem;
    font-weight: 750;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.page-content .table > tbody > tr > td {
    color: var(--erp-text-body);
    font-size: .76rem;
    line-height: 1.5;
}

.page-content .table-hover > tbody > tr:hover > * {
    color: var(--erp-text-strong);
    background-color: rgba(var(--vz-primary-rgb), .035);
}

.page-content .btn {
    min-height: 2.35rem;
    border-radius: .7rem;
    font-weight: 650;
}

.page-content .btn-sm {
    min-height: 2rem;
}

.page-content .badge {
    padding: .38rem .58rem;
    border-radius: .55rem;
    font-weight: 700;
    letter-spacing: .005em;
}

.page-content .alert {
    border: 1px solid color-mix(in srgb, currentColor 16%, var(--erp-line));
    border-radius: .85rem;
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    box-shadow: 0 .4rem 1.3rem rgba(25, 42, 70, .045);
}

.page-content .nav-pills .nav-link {
    color: var(--erp-text-muted);
    font-weight: 650;
}

.page-content .nav-pills .nav-link:hover {
    color: var(--vz-primary);
    background-color: rgba(var(--vz-primary-rgb), .065);
}

.page-content .modal-content,
.page-content .offcanvas {
    border: 1px solid var(--erp-line);
    box-shadow: 0 1.75rem 5rem rgba(20, 31, 52, .28);
}

.page-content .modal-header,
.page-content .modal-body,
.page-content .modal-footer,
.page-content .offcanvas-header,
.page-content .offcanvas-body {
    background-color: var(--erp-surface);
}

.page-content .erp-empty-state {
    min-height: 150px;
    border-radius: .9rem;
    color: var(--erp-text-muted) !important;
    background: var(--erp-surface-soft);
}

/* Project editor: settings are grouped by business purpose, not by field type. */
.page-content .erp-project-editor {
    overflow: visible;
    border: 1px solid var(--erp-line);
    background: var(--erp-surface);
    box-shadow: 0 1rem 3rem rgba(25, 42, 70, .075);
}

.page-content .erp-project-editor .erp-tabbed-editor-head {
    align-items: center;
    padding: 1.3rem 1.4rem;
    background:
        radial-gradient(circle at 100% 0, rgba(var(--vz-primary-rgb), .09), transparent 34%),
        var(--erp-surface);
}

.page-content .erp-project-editor .erp-tabbed-editor-head > div {
    padding-bottom: 0;
}

.page-content .erp-project-editor .erp-editor-tabs {
    padding: .35rem;
    border: 1px solid var(--erp-line);
    border-radius: .85rem;
    background: var(--erp-surface-soft);
}

.page-content .erp-project-editor .erp-editor-tabs .nav-link {
    min-height: 2.7rem;
    padding: .62rem .78rem;
    border: 1px solid transparent;
    border-radius: .62rem;
    color: var(--erp-text-muted);
}

.page-content .erp-project-editor .erp-editor-tabs .nav-link.active {
    border-color: rgba(var(--vz-primary-rgb), .2);
    color: var(--vz-primary);
    background: var(--erp-surface);
    box-shadow: 0 .35rem 1rem rgba(25, 42, 70, .07);
}

.page-content .erp-project-editor .erp-editor-tab-content {
    background: var(--erp-surface);
}

.page-content .erp-project-editor .erp-editor-pane {
    --erp-section-rgb: var(--vz-primary-rgb);
    position: relative;
    min-height: 420px;
    padding: clamp(1.2rem, 2vw, 1.75rem);
    background:
        radial-gradient(circle at 100% 0, rgba(var(--erp-section-rgb), .055), transparent 25%),
        var(--erp-surface);
}

.page-content .erp-project-editor .erp-editor-pane.is-client {
    --erp-section-rgb: var(--vz-info-rgb);
}

.page-content .erp-project-editor .erp-editor-pane.is-planning {
    --erp-section-rgb: var(--vz-warning-rgb);
}

.page-content .erp-project-editor .erp-editor-pane.is-status {
    --erp-section-rgb: var(--vz-success-rgb);
}

.page-content .erp-project-editor .erp-editor-pane.is-financial {
    --erp-section-rgb: var(--vz-primary-rgb);
}

.page-content .erp-project-editor .erp-editor-pane.is-evaluation {
    --erp-section-rgb: var(--vz-danger-rgb);
}

.page-content .erp-project-editor .erp-editor-section-head {
    margin-bottom: 1.5rem;
    padding: 0 0 1.1rem;
    border-bottom: 1px solid color-mix(in srgb, rgb(var(--erp-section-rgb)) 20%, var(--erp-line));
}

.page-content .erp-project-editor .erp-editor-section-head > span {
    border: 1px solid rgba(var(--erp-section-rgb), .18);
    color: rgb(var(--erp-section-rgb));
    background: rgba(var(--erp-section-rgb), .1);
}

.page-content .erp-project-editor .erp-editor-section-head h5 {
    margin-bottom: .25rem;
    color: var(--erp-text-strong);
    font-size: 1rem;
}

.page-content .erp-project-editor .erp-editor-section-head p {
    color: var(--erp-text-muted);
    font-size: .73rem;
    line-height: 1.55;
}

.page-content .erp-project-editor :is(
    .erp-recurring-panel,
    .erp-project-cover-field,
    .erp-project-progress-editor,
    .erp-billing-model-panel,
    .erp-budget-panel,
    .erp-score-block
) {
    border-color: var(--erp-line);
    background-color: var(--erp-surface-soft);
    opacity: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
}

.page-content .erp-project-editor .erp-editor-savebar {
    position: sticky;
    bottom: 0;
    z-index: 20;
    border-color: var(--erp-line);
    background: var(--erp-surface);
    box-shadow: 0 -.65rem 1.8rem rgba(25, 42, 70, .07);
}

/* Project view: distinct navigation and content areas with one visual rhythm. */
.page-content .erp-project-view-shell {
    display: flow-root;
}

.page-content .erp-project-view-shell .erp-project-hero {
    border: 1px solid color-mix(in srgb, var(--project-accent) 24%, var(--erp-line));
    background-color: var(--erp-surface);
    box-shadow: 0 1rem 3rem rgba(25, 42, 70, .075);
}

.page-content .erp-project-view-shell .erp-project-view-tabs {
    position: sticky;
    top: calc(var(--vz-header-height, 70px) + .75rem);
    z-index: 25;
    gap: .55rem;
    margin-bottom: 1.35rem;
    padding: .6rem;
    border: 1px solid var(--erp-line);
    border-radius: 1rem;
    background: var(--erp-surface);
    box-shadow: 0 .65rem 1.8rem rgba(25, 42, 70, .075);
}

.page-content .erp-project-view-shell .erp-project-view-tabs .nav-link {
    min-height: 4.15rem;
    border: 1px solid transparent;
    background: var(--erp-surface-soft);
}

.page-content .erp-project-view-shell .erp-project-view-tabs .nav-link.active {
    border-color: color-mix(in srgb, var(--project-accent) 32%, var(--erp-line));
    color: var(--project-accent);
    background: color-mix(in srgb, var(--project-accent) 8%, var(--erp-surface));
    box-shadow: inset 3px 0 var(--project-accent), 0 .4rem 1.2rem rgba(25, 42, 70, .06);
}

.page-content .erp-project-view-shell .erp-project-view-section {
    min-height: 260px;
    padding-top: .1rem;
}

.page-content .erp-project-view-shell .erp-project-view-section > .card,
.page-content .erp-project-view-shell .erp-project-view-section > .row .card {
    background-color: var(--erp-surface);
}

.page-content .erp-project-view-shell .erp-project-view-section > .card + .card {
    margin-top: 1rem;
}

.page-content .erp-project-view-shell .erp-project-fact,
.page-content .erp-project-view-shell .erp-project-health-metrics > div {
    border-color: var(--erp-line);
    background: var(--erp-surface-soft);
}

@media (max-width: 1199.98px) {
    .page-content .erp-project-editor .erp-tabbed-editor-head {
        align-items: stretch;
        flex-direction: column;
    }

    .page-content .erp-project-view-shell .erp-project-view-tabs {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .page-content > .container-fluid {
        padding-right: .85rem;
        padding-left: .85rem;
    }

    .page-content .erp-registry-card > .card-header,
    .page-content .erp-form-card > .card-header,
    .page-content .erp-chart-card > .card-header,
    .page-content .erp-registry-card > .card-body,
    .page-content .erp-form-card > .card-body,
    .page-content .erp-chart-card > .card-body {
        padding: 1rem;
    }

    .page-content .erp-project-editor .erp-tabbed-editor-head {
        padding: 1rem;
    }

    .page-content .erp-project-editor .erp-editor-tabs {
        flex-wrap: nowrap;
        width: 100%;
        overflow-x: auto;
    }

    .page-content .erp-project-editor .erp-editor-tabs .nav-link {
        white-space: nowrap;
    }

    .page-content .erp-project-editor .erp-editor-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .page-content .erp-project-editor .erp-editor-savebar .btn {
        width: 100%;
    }
}

/* Bootstrap can relocate overlays under body; keep those surfaces opaque too. */
body > .modal .modal-content,
body > .offcanvas,
.modal.show .modal-content,
.offcanvas.show {
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    opacity: 1;
    backdrop-filter: none;
}

body > .modal .modal-header,
body > .modal .modal-body,
body > .modal .modal-footer,
body > .offcanvas .offcanvas-header,
body > .offcanvas .offcanvas-body {
    background-color: var(--erp-surface);
}

body > .modal .modal-content,
body > .offcanvas {
    border-color: var(--erp-line);
    box-shadow: 0 1.75rem 5rem rgba(20, 31, 52, .3);
}

.erp-delivery-toast {
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    opacity: 1 !important;
    backdrop-filter: none !important;
}

.toast-container .toast,
body > .toast {
    color: var(--erp-text-body);
    background-color: var(--erp-surface);
    opacity: 1;
    backdrop-filter: none;
}

.erp-delivery-toast-copy strong {
    color: var(--erp-text-strong);
}

.erp-delivery-toast-copy p,
.erp-delivery-toast-copy span,
.erp-delivery-toast-copy small {
    color: var(--erp-text-muted);
}

.page-content :is(.erp-kicker, .erp-card-kicker, .erp-chart-eyebrow, .erp-section-eyebrow) {
    color: var(--vz-primary);
    font-size: .65rem !important;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .075em;
}

.page-content .card-title {
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.35;
}

.page-content :is(.alert-success, .alert-info, .alert-warning, .alert-danger) {
    background-image: linear-gradient(
        135deg,
        color-mix(in srgb, currentColor 7%, var(--erp-surface)),
        var(--erp-surface) 72%
    );
}

[data-bs-theme="dark"] .page-content .table-light,
[data-bs-theme="dark"] .page-content .table > thead > tr > th {
    --vz-table-bg: var(--erp-surface-soft);
    --vz-table-color: var(--erp-text-muted);
    color: var(--erp-text-muted);
    background-color: var(--erp-surface-soft);
}

[data-bs-theme="dark"] .page-content .card,
[data-bs-theme="dark"] .page-content .modal-content,
[data-bs-theme="dark"] .page-content .offcanvas,
[data-bs-theme="dark"] body > .modal .modal-content,
[data-bs-theme="dark"] body > .offcanvas {
    border-color: var(--erp-line);
    background-color: var(--erp-surface);
}

/* Accessible semantic accents: Velzon's decorative palette is too light for body text. */
html[data-bs-theme="light"] .page-content .text-success:not(.badge) {
    color: #087568 !important;
}

html[data-bs-theme="light"] .page-content .text-info:not(.badge) {
    color: #176f82 !important;
}

html[data-bs-theme="light"] .page-content .text-danger:not(.badge) {
    color: #b43c27 !important;
}

html[data-bs-theme="light"] .page-content .text-warning:not(.badge) {
    color: #7a5200 !important;
}

html[data-bs-theme="light"] .page-content .btn-success {
    --vz-btn-bg: #087568;
    --vz-btn-border-color: #087568;
    --vz-btn-hover-bg: #065f55;
    --vz-btn-hover-border-color: #065f55;
    --vz-btn-active-bg: #054f47;
    --vz-btn-active-border-color: #054f47;
}

html[data-bs-theme="light"] .page-content .btn-info {
    --vz-btn-bg: #176f82;
    --vz-btn-border-color: #176f82;
    --vz-btn-hover-bg: #125b6b;
    --vz-btn-hover-border-color: #125b6b;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
