.report-hall-page{display:grid;gap:16px}
.report-hall-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px}
.report-hall-toolbar h2{margin:0;color:#102a43;font-size:25px}
.report-hall-toolbar p{margin:4px 0 0;color:#6b7f90;font-size:12px}
.report-hall-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.report-hall-metrics article{padding:13px 15px;border:1px solid #dce7ec;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(16,42,67,.025)}
.report-hall-metrics small,.report-hall-metrics span{display:block;color:#6b7f90}
.report-hall-metrics strong{display:block;margin:3px 0;color:#102a43;font-size:24px}
.report-position-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}
.report-position-card{min-width:0;padding:14px;border:1px solid #dce7ec;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(16,42,67,.04)}
.report-position-card.active{border-color:#a8ddd1;box-shadow:0 8px 24px rgba(23,153,119,.09)}
.report-position-card.archived{opacity:.68}
.report-position-top{display:grid;gap:8px}
.report-position-top h3{margin:5px 0 2px;color:#102a43;font-size:15px;line-height:1.4}
.report-position-top small{color:#6b7f90;font-size:11px}
.report-position-status{display:inline-flex;padding:3px 7px;border-radius:999px;color:#607589;background:#eef4f7;font-size:10px;font-weight:800}
.report-position-card.active .report-position-status{color:#16734f;background:#e3f7ed}
.report-position-card .project-actions{margin:0}
.report-position-card .project-description{margin-top:2px}
.report-position-kpis{margin-top:10px;padding:11px 12px;border:1px solid #cdeeea;border-radius:12px;background:linear-gradient(180deg,#f4fffd,#fbfdff)}
.report-position-kpis ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.report-position-kpis li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:8px}
.report-position-kpis li>b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:#0f766e;background:#dff8f4;font-size:11px}
.report-position-kpis li>div{display:grid;gap:3px;min-width:0}
.report-position-kpis li strong{overflow:hidden;color:#243b53;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.report-position-kpis li span{color:#728599;font-size:10px}
.report-position-kpis li i{height:4px;overflow:hidden;border-radius:999px;background:#dce9eb}
.report-position-kpis li i em{display:block;height:100%;background:#1da981}
.report-kpi-state{padding:3px 7px;border:0;border-radius:999px;cursor:pointer;font-size:10px;font-weight:800;white-space:nowrap}
.report-kpi-state.active{color:#16734f;background:#e3f7ed}
.report-kpi-state.inactive{color:#6b7280;background:#edf0f3}
.report-position-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:11px}
.report-position-card footer span{padding:3px 7px;border-radius:999px;color:#17684e;background:#e8f7ef;font-size:10px}
.report-position-editor{padding:18px;border-color:#a8d9d5;box-shadow:0 14px 38px rgba(16,79,91,.11)}
.report-editor-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #e3ecef}
.report-editor-head h3{margin:0;color:#102a43;font-size:18px}
.report-editor-head p{margin:4px 0 0;color:#6b7f90;font-size:12px}
.report-position-editor form{display:grid;gap:13px}
.report-position-editor label{display:grid;gap:6px;color:#40566b;font-size:12px;font-weight:800}
.report-position-editor input,.report-position-editor textarea{width:100%;padding:10px 11px;border:1px solid #d5e0e8;border-radius:9px;color:#17324d;background:#fff;font:inherit}
.report-position-editor textarea{resize:vertical;line-height:1.55}
.report-editor-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.report-ai-button{height:39px;color:#fff;background:linear-gradient(135deg,#4d63d8,#7d54c7);border-color:transparent}
.report-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.report-editor-kpis{display:grid;gap:9px;padding:13px;border:1px solid #d8e7eb;border-radius:12px;background:#f8fbfc}
.report-kpi-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.report-kpi-editor-head strong,.report-kpi-editor-head span{display:block}
.report-kpi-editor-head span{margin-top:2px;color:#718397;font-size:10px}
.report-kpi-editor-row{display:grid;grid-template-columns:22px minmax(180px,1fr) 90px 80px 80px 58px 30px;align-items:end;gap:8px;padding:9px;border:1px solid #e1eaee;border-radius:10px;background:#fff}
.report-kpi-editor-row>b{align-self:center;color:#0f766e;text-align:center}
.report-kpi-editor-row label{font-size:10px}
.report-kpi-editor-row input{height:34px;padding:7px 8px}
.report-kpi-switch{display:flex!important;align-items:center!important;justify-content:center;height:34px;gap:5px}
.report-kpi-switch input{width:auto;height:auto}
.report-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px}
.report-editor-foot>span{color:#728599;font-size:11px}
.report-editor-foot>div{display:flex;gap:8px}
.report-hall-empty{padding:46px;text-align:center}
.report-hall-empty strong{color:#102a43;font-size:17px}
.report-hall-empty p{color:#6b7f90}
.report-hall-contract{display:flex;align-items:center;justify-content:space-between;gap:14px}
.report-hall-contract>div{display:flex;align-items:center;gap:8px;min-width:0}.report-hall-contract p{margin:0;color:#637687}
.report-hall-contract>span{padding:6px 11px;border-radius:9px;color:#fff;background:linear-gradient(135deg,#168fd0,#256fc2);box-shadow:0 4px 10px rgba(31,116,190,.18);white-space:nowrap}
@media(max-width:1180px){.report-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.report-kpi-editor-row{grid-template-columns:22px minmax(180px,1fr) repeat(3,78px) 58px 30px}
}
@media(max-width:760px){.report-hall-toolbar,.report-hall-contract,.report-editor-foot{align-items:stretch;flex-direction:column}
.report-hall-metrics,.report-position-grid,.report-period-grid{grid-template-columns:1fr}
.report-editor-primary{grid-template-columns:1fr}
.report-kpi-editor-row{grid-template-columns:22px minmax(0,1fr) 30px}
.report-kpi-editor-row label:first-of-type{grid-column:2/3}
.report-kpi-editor-row label:not(:first-of-type){grid-column:2/3}
.report-kpi-switch{grid-column:2/3;justify-content:flex-start}
.report-kpi-editor-row>.icon-button{grid-column:3;grid-row:1}
.report-editor-foot>div{justify-content:flex-end}
}

/* Compact five-column positioning overview */
.report-position-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.report-position-card{padding:11px;border-color:#dce7ec;border-radius:12px;box-shadow:0 4px 14px rgba(16,42,67,.035)}
.report-position-card.active{border-color:#83bff1;box-shadow:0 5px 18px rgba(47,126,199,.1)}
.report-position-card.draft,.report-position-card.inactive{border-color:#dce7ec;box-shadow:0 4px 14px rgba(16,42,67,.035)}
.report-position-heading{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:start;gap:8px}
.report-position-top h3{margin:4px 0 2px;font-size:14px;line-height:1.35}
.report-position-top small{font-size:9px}
.report-position-top .project-actions{display:flex;gap:5px;flex-wrap:wrap}
.report-position-top .project-actions .button{min-height:27px;padding:4px 8px;border-radius:8px;font-size:9px}
.report-position-activation{border-radius:8px!important;font-weight:850}
.report-position-activation.activate{color:#fff;background:#2389c9;border-color:#2389c9}
.report-position-activation.deactivate{color:#2876ad;background:#eaf5fd;border-color:#9ccced}
.report-position-description{margin:8px 0 0;padding:0;color:#607589;font-size:10px;line-height:1.55;white-space:normal;overflow:visible}
.report-position-progress{--tone:#d05b58;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,#fff 68%,transparent 70%),conic-gradient(var(--tone) calc(var(--progress)*1%),#e8eef2 0);color:var(--tone)}
.report-position-progress.good{--tone:#388ed0}.report-position-progress.attention{--tone:#e49a35}.report-position-progress.complete{--tone:#2ba879}.report-position-progress.behind{--tone:#d05b58}
.report-position-progress strong{font-size:11px;font-weight:900}
.report-position-kpis{margin-top:9px;padding:9px;border-radius:10px}
.report-position-kpis li{grid-template-columns:18px minmax(0,1fr);gap:6px}
.report-position-kpis li>b{width:16px;height:16px;font-size:9px}
.report-kpi-title{display:flex;align-items:center;justify-content:space-between;gap:5px}
.report-kpi-title strong{white-space:normal;line-height:1.3}
.report-kpi-state{flex:0 0 auto;padding:2px 5px;font-size:8px}
.report-kpi-progress{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px}
.report-kpi-progress i{height:4px;overflow:hidden;border-radius:999px;background:#dce9eb}
.report-kpi-progress i em{display:block;height:100%;border-radius:inherit;background:#d05b58}
.report-kpi-progress i em.good{background:#388ed0}.report-kpi-progress i em.attention{background:#e49a35}.report-kpi-progress i em.complete{background:#2ba879}.report-kpi-progress i em.behind{background:#d05b58}
.report-progress-value{font-size:13px!important;font-weight:900}.report-progress-value.good{color:#388ed0}.report-progress-value.attention{color:#d78417}.report-progress-value.complete{color:#218c65}.report-progress-value.behind{color:#bf4745}
@media(max-width:1500px){.report-position-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1220px){.report-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.report-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.report-position-grid{grid-template-columns:1fr}.report-position-heading{grid-template-columns:minmax(0,1fr) 48px}}

/* Position editor modal and compact executive cards */
.report-position-modal-backdrop,.report-unrecorded-backdrop{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:22px;background:rgba(19,43,65,.38);backdrop-filter:blur(5px)}
.report-position-modal{width:min(1120px,calc(100vw - 44px));max-height:calc(100vh - 44px);overflow:auto;padding:20px;border:1px solid #99cef0;border-radius:18px;background:linear-gradient(145deg,#f4faff 0%,#eaf5ff 48%,#f8fbff 100%);box-shadow:0 28px 70px rgba(28,88,137,.24)}
.report-position-modal .report-editor-kpis{background:rgba(255,255,255,.72);border-color:#bedcf1}
.report-position-modal .report-kpi-editor-row{background:rgba(255,255,255,.9)}
.report-period-grid{grid-template-columns:minmax(270px,1.25fr) repeat(2,minmax(150px,.75fr));align-items:end}
.report-period-presets{display:grid;grid-template-columns:auto repeat(4,1fr);align-items:center;gap:6px}
.report-period-presets strong{color:#40566b;font-size:12px}
.report-period-presets button{min-height:38px;padding:6px 9px;border:1px solid #b9d9ef;border-radius:9px;color:#3176a8;background:#f8fcff;font-size:11px;font-weight:850;cursor:pointer}
.report-period-presets button:hover{color:#fff;background:#258ccb;border-color:#258ccb}
.report-position-heading{grid-template-columns:minmax(0,1fr) 60px}
.report-position-progress-stack{display:grid;justify-items:center;gap:5px}
.report-position-progress{width:56px;height:56px}
.report-position-progress strong{font-size:13px}
.report-position-progress-stack .report-position-status{margin:0;padding:4px 10px;font-size:10px;line-height:1.2}
.report-contribution-summary{display:grid;gap:7px;margin-top:9px;padding:9px 10px;border:1px solid #d7e8f5;border-radius:11px;background:#fff}
.report-contribution-summary>strong{color:#39789f;font-size:10px}
.report-contribution-summary>div{display:flex;align-items:end;gap:8px;min-height:48px}
.report-contribution-summary figure{display:grid;justify-items:center;gap:3px;margin:0}
.report-contributor-avatar{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;object-fit:cover;color:#fff;background:linear-gradient(145deg,#47a5de,#3976bd);box-shadow:0 3px 8px rgba(34,104,155,.2);font-size:11px;font-weight:900}
.report-contributor-avatar.top{width:42px;height:42px;font-size:14px}
.report-contribution-summary figcaption{color:#2876ad;font-size:10px;font-weight:900}
.report-contribution-summary.empty{grid-template-columns:auto 1fr;align-items:center}.report-contribution-summary.empty span{color:#8a9bab;font-size:10px}
.report-position-kpis{border-color:#a9d2ff;background:linear-gradient(180deg,#eef7ff,#f9fcff);color:#23496d}
.report-position-kpis .project-task-names-head strong{color:#1267b1}
.report-position-kpis li{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:8px}
.report-position-kpis li>div{min-width:0;max-width:100%;overflow:hidden;padding-top:1px}
.report-kpi-index-state{display:grid;grid-template-rows:auto auto;place-items:center;width:38px;min-height:42px;padding:4px 2px;border:1px solid #b7d8ed;border-radius:9px;color:#247cae;background:#f8fcff;cursor:pointer}
.report-kpi-index-state b{font-size:12px;line-height:1}.report-kpi-index-state span{font-size:7px;font-weight:850;line-height:1.15}
.report-kpi-index-state.active{color:#176f9d;background:#dff2ff;border-color:#91c8e9}.report-kpi-index-state.inactive{color:#9a6400;background:#fff1c7;border-color:#efc66a}
.report-kpi-title{min-width:0;max-width:100%;overflow:hidden}.report-kpi-title strong{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:1.35}
.report-position-kpis li>div>span{display:block;overflow-wrap:anywhere;white-space:normal;line-height:1.35}
.report-hall-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.report-hall-metrics article,.report-hall-metrics>button{min-height:64px;padding:8px 12px;border:1px solid #d7e5ee;border-radius:11px;text-align:left;background:#fff;box-shadow:0 3px 10px rgba(16,42,67,.025)}
.report-hall-metrics small{font-size:9px}.report-hall-metrics strong{display:inline-block;margin:1px 8px 0 0;font-size:20px;line-height:1.1}.report-hall-metrics span{display:inline;color:#7b8fa4;font-size:9px}
.report-unrecorded-metric{font:inherit;cursor:pointer}.report-unrecorded-metric:hover{border-color:#83bff1;background:#f3f9ff}
.report-unrecorded-modal{width:min(820px,calc(100vw - 44px));max-height:calc(100vh - 60px);overflow:auto;border:1px solid #9dcdec;border-radius:17px;background:#f8fcff;box-shadow:0 28px 70px rgba(28,88,137,.24)}
.report-unrecorded-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #d7e8f3;background:linear-gradient(135deg,#e9f6ff,#f7fbff)}
.report-unrecorded-modal h3,.report-unrecorded-modal p{margin:0}.report-unrecorded-modal h3{color:#173b59}.report-unrecorded-modal p{margin-top:4px;color:#698096;font-size:11px}
.report-unrecorded-list{display:grid;gap:8px;padding:14px}.report-unrecorded-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid #dce8f0;border-radius:10px;background:#fff}.report-unrecorded-list article>div{display:grid;gap:3px}.report-unrecorded-list strong{color:#243b53;font-size:12px}.report-unrecorded-list span{color:#74879a;font-size:10px}.report-unrecorded-list b{justify-self:end;padding:3px 7px;border-radius:999px;font-size:9px}.report-unrecorded-list b.locked{color:#15704f;background:#e4f7ee}.report-unrecorded-list b.unlocked{color:#93610c;background:#fff2d7}
.report-time-filter{display:flex;align-items:center;gap:10px;min-height:48px;padding:7px 10px;border:1px solid #d8e7f2;border-radius:11px;background:#eef6fc}.report-time-filter>strong{flex:0 0 auto;color:#315f82;font-size:11px}.report-time-filter>div:not(.report-custom-period){display:flex;align-items:center;gap:6px;flex-wrap:wrap}.report-time-filter button{min-height:32px;padding:6px 12px;border:1px solid #c5ddec;border-radius:8px;color:#486f8d;background:#fff;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.report-time-filter button:hover,.report-time-filter button.active{color:#fff;border-color:#55a8dc;background:linear-gradient(135deg,#58b8e8,#3f8fd2)}.report-time-filter>span{margin-left:auto;color:#7890a3;font-size:9px;white-space:nowrap}.report-custom-period{display:flex;align-items:center;gap:6px;margin-left:auto}.report-custom-period input{height:32px;padding:4px 7px;border:1px solid #c5ddec;border-radius:8px;color:#31566f;background:#fff;font:inherit;font-size:10px}.report-custom-period span{color:#7890a3;font-size:9px}
@media(max-width:980px){.report-hall-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-period-grid{grid-template-columns:1fr 1fr}.report-period-presets{grid-column:1/-1}}
@media(max-width:760px){.report-position-modal-backdrop,.report-unrecorded-backdrop{padding:10px}.report-position-modal,.report-unrecorded-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.report-hall-metrics{grid-template-columns:1fr 1fr}.report-period-grid{grid-template-columns:1fr}.report-period-presets{grid-template-columns:1fr 1fr}.report-period-presets strong{grid-column:1/-1}.report-position-heading{grid-template-columns:minmax(0,1fr) 60px}.report-unrecorded-list article{align-items:flex-start;flex-direction:column}.report-unrecorded-list article>div:last-child{width:100%;grid-template-columns:auto 1fr;align-items:center}.report-unrecorded-list b{justify-self:start}}

/* Position and contributing-project paired overview */
.report-position-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}
.report-position-unit{display:grid;grid-template-columns:minmax(270px,.92fr) minmax(0,1.08fr);align-items:stretch;gap:10px;min-width:0}
.report-position-unit>.report-position-card{height:100%;border-color:#72b9f1;background:linear-gradient(145deg,#dff1ff 0%,#edf7ff 46%,#d9ebff 100%);box-shadow:0 8px 22px rgba(37,126,198,.14)}
.report-position-unit>.report-position-card.active{border-color:#4fa8ec;background:linear-gradient(145deg,#d8efff 0%,#eaf6ff 45%,#d2e8ff 100%);box-shadow:0 9px 25px rgba(35,132,207,.18)}
.report-position-projects{display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0;min-height:610px;height:100%;padding:10px;border:1px solid #d5e4ef;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(16,42,67,.035)}
.report-position-projects>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#126b7b}
.report-position-projects>header strong{font-size:11px}.report-position-projects>header span{color:#8193a5;font-size:9px}
.report-project-contribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:66px;align-content:start;gap:5px;min-width:0;overflow:visible}
.report-project-contribution-grid>article{display:grid;align-content:space-between;gap:6px;min-width:0;padding:7px;border:1px solid #dce8f0;border-radius:9px;background:#f8fbfe}
.report-project-contribution-grid>article:nth-child(even){border-color:#cfe1fb;background:#eef5ff}
.report-project-contribution-grid>article.no-contribution{border:.5px solid #f2a23a}
.report-project-contribution-grid>article>strong{display:-webkit-box;overflow:hidden;color:#183650;font-size:10.5px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.report-project-contribution-grid footer{display:flex;align-items:end;justify-content:space-between;gap:4px;min-width:0}
.report-project-contribution-grid footer span{overflow:hidden;color:#788a9d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.report-project-contribution-grid footer b{flex:0 0 auto;color:#147b73;font-size:12px;line-height:1;white-space:nowrap}.report-project-contribution-grid footer small{font-size:7px}
.report-project-contribution-empty{grid-column:1/-1;display:grid;place-items:center;min-height:70px;border:1px dashed #d7e4ed;border-radius:9px;color:#8a9aaa;background:#fbfdff;font-size:9px}
@media(max-width:1320px){.report-position-grid{grid-template-columns:1fr}.report-position-unit{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}}
@media(max-width:760px){.report-position-unit{grid-template-columns:1fr}.report-project-contribution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.topbar-actions:has(.report-topbar-add) .topbar-page-actions{order:-1}.report-topbar-entry{min-height:30px!important;padding:6px 10px!important;border:1px solid #b8d9f2!important;border-radius:8px!important;color:#286d9e!important;background:linear-gradient(135deg,#f2f9ff,#dceeff)!important;font-size:10px!important;font-weight:850!important;box-shadow:0 3px 8px rgba(52,128,190,.1)}.report-topbar-entry:hover,.report-topbar-entry.active{color:#fff!important;border-color:#66addd!important;background:linear-gradient(135deg,#55b7e9,#438bd3)!important}.report-topbar-add{min-height:30px!important;padding:6px 10px!important;border-color:transparent!important;border-radius:8px!important;color:#fff!important;background:linear-gradient(135deg,#168fd0,#256fc2)!important;font-size:10px!important;box-shadow:0 4px 10px rgba(31,116,190,.2)}
@media(max-width:760px){.report-hall-contract>div{align-items:flex-start;flex-direction:column}.topbar-actions:has(.report-topbar-add) .topbar-page-actions{order:0}.report-topbar-add{padding:6px 8px!important}.report-time-filter{align-items:flex-start;flex-direction:column}.report-time-filter>span,.report-custom-period{margin-left:0}.report-custom-period{flex-wrap:wrap}}
