.report-tools{gap:8px;flex-wrap:wrap;margin:12px 0 16px}.report-tools .btn{min-height:34px;font-size:12px}.activity-content,.portal-manager-body{display:grid;gap:14px}.activity-content>.panel,.portal-group{padding:18px}.activity-content .panel>header,.portal-group>header,.customer-shared-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.activity-content h3,.portal-group h3{display:flex;align-items:center;gap:7px;font-size:14px;margin:0}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:9px;margin:14px 0}.report-metrics>div{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:12px}.report-metrics span{display:block;font-size:11px;color:var(--muted)}.report-metrics b{display:block;font-size:24px;line-height:1.5;font-variant-numeric:tabular-nums}.report-sheet header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}.report-sheet h2{font-size:20px}.report-sheet footer{border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}.report-media{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.report-media>span{padding:5px 9px;background:var(--soft);border-radius:7px}.project-journal{list-style:none;margin:10px 0;padding:0}.project-journal>li{position:relative;display:grid;grid-template-columns:145px 1fr;gap:20px;padding:13px 12px;border-bottom:1px solid var(--line)}.project-journal>li:before{content:'';position:absolute;inset-inline-start:157px;top:21px;width:6px;height:6px;border-radius:50%;background:var(--muted)}.project-journal time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;direction:ltr}.project-journal b{font-size:13px}.project-journal small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.audit-changes{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.audit-changes>span{background:var(--soft);border-radius:6px;padding:4px 7px;font-size:11px}.report-events{max-height:320px;overflow:auto}.activity-content .list-item{width:100%;font-size:12px;gap:10px}.activity-content .list-item time{margin-inline-start:auto;color:var(--muted)}.is-read{opacity:.62}.notification-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.notification-tools small{flex-basis:100%;color:var(--muted);font-size:11px}.notice-row{display:flex;gap:10px;align-items:center;width:100%;text-align:start}.notice-row b{font-size:13px}.notice-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.portal-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.portal-candidate{display:flex;align-items:center;gap:5px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.portal-preview{display:flex;flex:1;align-items:center;gap:10px;padding:14px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:start;min-width:0}.portal-preview strong{font-size:13px;overflow-wrap:anywhere}.portal-preview .pill{font-size:10px;margin-inline-start:auto;white-space:normal}.portal-preview:hover{background:var(--card)}.portal-preview>.icon:last-child{margin-inline-start:auto;flex-shrink:0}.customer-shared-grid{display:grid;gap:14px}.customer-shared-card{padding:20px}.customer-shared-card>header{color:var(--muted);font-size:11px;border-bottom:1px solid var(--line);padding-bottom:10px}.portal-copy h3{font-size:17px}.portal-copy .read-copy{line-height:1.9;font-size:14px}.portal-story-list .list-item{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.portal-story-list time{margin-inline-start:auto;direction:ltr;color:var(--muted)}.portal-story-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--muted)}.portal-story-check.published{background:color-mix(in srgb,#269468 15%,var(--card));color:#27976a}.portal-event h3{font-size:18px}.portal-event h4{font-size:14px;padding-top:12px;border-top:1px solid var(--line)}.portal-event td,.portal-event th{padding:9px 12px;font-size:12px}.portal-event header{margin-bottom:16px}.shared-progress{display:flex;gap:8px;align-items:center;font-size:12px}.shared-progress progress{flex:1;max-width:none;height:6px;accent-color:var(--accent)}
.production-brief{padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:12px;white-space:pre-wrap;font-size:13px;line-height:1.8}.production-gantt{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:15px;background:var(--card);margin:16px 0;padding:12px;--gantt-day-width:40px;--gantt-label-width:230px;scrollbar-width:thin}.production-gantt>header,.gantt-task-row{display:grid;grid-template-columns:var(--gantt-label-width) minmax(calc(var(--gantt-days) * var(--gantt-day-width)),1fr);direction:ltr;min-width:max-content}.production-gantt>header>span{font-size:12px;padding:10px 14px;text-align:start;direction:rtl;background:var(--card);position:sticky;left:0;z-index:4}.gantt-days{display:grid;grid-template-columns:repeat(var(--gantt-days),minmax(var(--gantt-day-width),1fr));min-height:50px}.gantt-days time{text-align:center;padding:6px 0;font-size:12px;border-inline-start:1px solid var(--line)}.gantt-days time small{display:block;font-size:9px;color:var(--muted)}.gantt-days time.is-friday{background:color-mix(in srgb,#db6176 7%,transparent)}.gantt-task-name{position:sticky;left:0;z-index:3;display:flex;gap:8px;align-items:center;text-align:start;direction:rtl;padding:12px;padding-inline-start:calc(12px + var(--depth) * 18px);border:0;border-bottom:1px solid var(--line);background:var(--card);color:var(--ink);min-height:70px}.gantt-task-name b{font-size:12px;display:block;line-height:1.5}.gantt-task-name small{font-size:10px;color:var(--muted)}.gantt-task-name:hover{background:var(--soft)}.gantt-task-row.is-parent .gantt-task-name{background:var(--soft)}.gantt-track{position:relative;min-height:70px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--gantt-days)) 100%}.gantt-bar{position:absolute;inset-block:12px;left:calc(var(--bar-start) * 100% / var(--gantt-days));width:calc(var(--bar-days) * 100% / var(--gantt-days));min-width:14px;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 18%,var(--card));color:var(--ink);padding:4px 12px;box-shadow:0 4px 12px #00000008;display:flex;align-items:center;justify-content:center;transition:box-shadow .18s,filter .18s,transform .18s;touch-action:none;cursor:pointer;user-select:none}.gantt-bar span{display:block;min-width:0;overflow:hidden}.gantt-bar b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.gantt-bar small{display:block;white-space:nowrap;font-size:9px;opacity:.8}.gantt-bar.is-finished{background:color-mix(in srgb,#2c9b75 15%,var(--card));border-color:color-mix(in srgb,#2c9b75 35%,transparent)}.gantt-bar[data-editable]{cursor:grab}.gantt-bar.is-moving{cursor:grabbing;z-index:6;box-shadow:0 10px 24px #0002;filter:brightness(1.08);transform:scaleY(1.08)}.gantt-bar [data-edge]{position:absolute;top:6px;bottom:6px;width:10px;opacity:0;transition:opacity .15s;cursor:ew-resize}.gantt-bar [data-edge=start]{left:1px}.gantt-bar [data-edge=end]{right:1px}.gantt-bar [data-edge]:before{content:'⋮';font-style:normal;position:absolute;top:50%;left:2px;transform:translateY(-50%);font-size:13px}.gantt-bar[data-editable]:is(:hover,:focus-within) [data-edge]{opacity:.75}.gantt-bar:not([data-editable]) [data-edge]{display:none}.gantt-unscheduled{display:inline-block;font-size:11px;color:var(--muted);padding:25px 15px}.gantt-task-row.is-parent .gantt-bar{height:12px;inset-block:29px;border-radius:5px;opacity:.6}.gantt-task-row.is-parent .gantt-bar span{display:none}.portal-copy,.report-sheet{max-width:100%;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.gantt-bar{transition:none}}

html[dir=ltr] .production-gantt>header>span,html[dir=ltr] .gantt-task-name{direction:ltr}

.portal-page-head>.row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:auto}.portal-page-head>.row select{width:180px;min-width:0}.portal-page-head>.row input[type=month]{width:170px;min-width:0}.portal-page-head h1{font-size:22px}.portal-page-head>.row :is(select,input){height:36px;min-height:36px;font-size:12px}
/* The production view follows the same quiet lanes and coloured capsules as the team schedule. */
.production-gantt{--gantt-day-width:44px;--gantt-label-width:216px;background:color-mix(in srgb,var(--soft) 42%,var(--card));padding:18px 14px;border-color:color-mix(in srgb,var(--edge) 65%,transparent);border-radius:20px}
.production-gantt>header{height:60px}.production-gantt>header>span{display:flex;align-items:center;font-weight:600;background:var(--card);border-radius:12px 0 0 0}
.gantt-days time{font-variant-numeric:tabular-nums;border-color:color-mix(in srgb,var(--edge) 65%,transparent)}.gantt-days time b{font-size:14px}.gantt-days time small{margin-top:4px;font-size:10px}
.gantt-tone-0{--gantt-tone:#477ee8}.gantt-tone-1{--gantt-tone:#9366de}.gantt-tone-2{--gantt-tone:#d263aa}.gantt-tone-3{--gantt-tone:#d99a29}
.gantt-task-name{margin:10px 14px 10px 0;min-height:60px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 4px 14px #14263d05}
.gantt-task-name>span:first-child{width:29px;height:29px;border-radius:50%;background:color-mix(in srgb,var(--gantt-tone) 15%,var(--card));color:var(--gantt-tone);display:grid;place-items:center;flex-shrink:0}.gantt-task-name .icon{width:15px;height:15px}.gantt-task-name small{display:block;margin-top:4px}
.gantt-track{min-height:82px;border-bottom-color:transparent;background-image:linear-gradient(to right,color-mix(in srgb,var(--edge) 58%,transparent) 1px,transparent 1px)}
.gantt-bar{inset-block:17px;border-color:color-mix(in srgb,var(--gantt-tone) 28%,var(--edge));background:color-mix(in srgb,var(--gantt-tone) 23%,var(--card));box-shadow:0 4px 11px color-mix(in srgb,var(--gantt-tone) 12%,transparent);border-radius:25px;color:var(--ink)}
.gantt-bar b{font-size:12px}.gantt-bar small{font-size:10px;margin-top:3px}.gantt-task-row.is-parent .gantt-bar{inset-block:35px}.gantt-task-row.is-parent .gantt-task-name{margin-block:10px}.gantt-bar.is-moving{box-shadow:0 10px 24px color-mix(in srgb,var(--gantt-tone) 22%,#0001)}
.production-gantt{direction:ltr;max-height:580px;overflow:auto}.production-gantt>header{position:sticky;top:0;z-index:7;background:var(--card)}
