/* One visual language for all project tabs. Screen only: existing dialogs,
   timeline geometry, task colours, permissions and printed reports stay intact. */
@media screen {
  #v-project {
    --pw-ground:var(--ui-ground);--pw-card:var(--ui-card);--pw-board:var(--ui-board);--pw-soft:var(--ui-soft);
    --pw-line:var(--ui-line);--pw-ink:var(--ui-ink);--pw-ink2:var(--ui-ink2);--pw-ink3:var(--ui-ink3);
    --pw-petrol:var(--ui-petrol);--pw-head:var(--ui-head);--pw-head-ink:var(--ui-head-ink);--pw-period:var(--ui-period);
    --pw-red:var(--ui-red);--pw-reds:var(--ui-reds);--pw-green:var(--ui-green);--pw-greens:var(--ui-greens);
    --pw-warning:var(--ui-warning);--pw-warnings:var(--ui-warnings);
    --ground:var(--pw-ground);--card:var(--pw-card);--board:var(--pw-board);--soft:var(--pw-soft);
    --line:var(--pw-line);--ink:var(--pw-ink);--ink2:var(--pw-ink2);--ink3:var(--pw-ink3);
    --red:var(--pw-red);--reds:var(--pw-reds);--green:var(--pw-green);--greens:var(--pw-greens);
    --hivis:var(--ui-accent);
    font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
    color:var(--ink);
  }
  /* Earlier tab-specific palettes now resolve to these shared project tokens. */
  #v-project :is(.project-overview,.project-detail-tab,.pb-layout,#files-page-project) {
    --ground:var(--pw-ground);--card:var(--pw-card);--board:var(--pw-board);--soft:var(--pw-soft);
    --line:var(--pw-line);--ink:var(--pw-ink);--ink2:var(--pw-ink2);--ink3:var(--pw-ink3);
    --red:var(--pw-red);--reds:var(--pw-reds);--green:var(--pw-green);--greens:var(--pw-greens);
    --po-petrol:var(--pw-petrol);--pd-accent:var(--pw-petrol);--pt-petrol:var(--pw-petrol);
    --pt-head:var(--pw-head);--pt-head-ink:var(--pw-head-ink);--pt-idle:var(--pw-soft);--pt-period:var(--pw-period);
    --po-warning:var(--pw-warning);--po-warning-bg:var(--pw-warnings);
  }
  #v-project .ws-head {padding:16px 18px;border-radius:12px 12px 0 0;box-shadow:none}
  #v-project .ws-head h1 {font-size:23px;font-weight:650;letter-spacing:-.45px;line-height:1.35}
  #v-project .ws-head .muted {font-size:12px;color:var(--ink2);line-height:1.7}
  #v-project .project-header-row {align-items:flex-start;flex-wrap:nowrap;gap:24px}
  #v-project .project-header-info {flex:1;min-width:0;overflow-wrap:anywhere}
  #v-project .project-header-info .live-role {display:inline-block;font-size:10px;line-height:1.4;margin:4px 0 0;color:var(--ink3)}
  #v-project .ws-head .project-primary-actions {display:flex;flex-direction:row;align-items:flex-start;gap:8px;min-width:0;flex:none}
  #v-project .project-primary-actions>.btn,#v-project .project-primary-actions .followup-summary>.btn {width:auto;white-space:nowrap}
  #v-project .project-primary-actions .btn {min-height:34px;padding:7px 12px}
  #v-project .project-edit {display:inline-flex;align-items:center;gap:6px}
  #v-project .project-edit svg {flex:none}
  #v-project .followup-summary {align-items:center;gap:5px;max-width:185px}
  #v-project .followup-summary>span {max-width:185px;font-size:10px;line-height:1.4;text-align:center;cursor:pointer}
  #v-project .followup-summary>span:hover {text-decoration:underline;text-underline-offset:2px}
  #v-project .project-share-menu {position:relative;flex:none}
  #v-project .project-share-menu>summary {display:flex;align-items:center;gap:12px;list-style:none;user-select:none;cursor:pointer}
  #v-project .project-share-menu>summary::-webkit-details-marker {display:none}
  #v-project .project-share-menu[open]>summary {background:var(--soft);border-color:var(--ink3)}
  #v-project .project-share-menu>summary:hover {background:var(--soft)}
  #v-project .project-share-options {position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:170px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #101e3020}
  #v-project .project-share-options>.btn {width:100%;text-align:left;border-color:transparent;background:transparent;white-space:nowrap}
  #v-project .crumb {display:inline-block;color:var(--pw-petrol);font-size:11px;margin-bottom:10px;cursor:pointer}
  #v-project .crumb:hover {text-decoration:underline;text-underline-offset:3px}
  #v-project .ws-tabs {padding:0 10px;gap:2px}
  #v-project .ws-tabs button {padding:10px 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;color:var(--ink2);transition:background .12s,color .12s}
  #v-project .ws-tabs button:hover {background:var(--ui-accent-soft);color:var(--ui-accent-text)}
  #v-project .ws-tabs button.on {background:var(--ui-accent-soft);color:var(--ui-accent-text);border-bottom-color:var(--ui-accent-border)}
  #v-project .ws-tabs .tabcount {background:var(--soft);color:var(--ink2);border-radius:4px}
  #v-project .ws-body {background:var(--ground);padding:16px 18px;border-radius:0 0 12px 12px;box-shadow:0 1px 2px #15233808}
  #v-project .btn:not(.g):not(.d):hover:not(:disabled) {background:var(--ui-accent-hover);border-color:var(--ui-accent-border)}
  #v-project :is(.btn,.rowbtn,.po-link) {font-family:inherit;font-weight:550;border-radius:6px;line-height:1.4;cursor:pointer;transition:background .12s,border-color .12s}
  #v-project .btn {min-height:32px;padding:7px 11px;font-size:12px;background:var(--hivis);border:1px solid var(--hivis);color:var(--ui-accent-ink)}
  #v-project :is(.btn.g,.rowbtn,.po-link) {background:var(--card);border:1px solid var(--line);color:var(--ink)}
  #v-project :is(.rowbtn,.po-link) {min-height:28px;padding:5px 8px;font-size:11px}
  #v-project :is(.btn,.rowbtn,.po-link):hover:not(:disabled) {filter:none;border-color:var(--ink3);box-shadow:none}
  #v-project :is(.btn.g,.rowbtn,.po-link):hover:not(:disabled) {background:var(--soft)}
  #v-project :is(.btn,.rowbtn,.po-link):active:not(:disabled) {box-shadow:inset 0 1px 3px #15233825}
  #v-project :is(.btn,.rowbtn,.po-link):disabled {opacity:.5;cursor:default}
  #v-project .rowbtn.d {color:var(--red);border-color:transparent;background:transparent}
  #v-project .rowbtn.d:hover:not(:disabled) {background:var(--reds);border-color:var(--red)}
  #v-project :is(button,input,select,textarea,summary,a):focus-visible {outline:2px solid var(--hivis);outline-offset:2px}
  #v-project .ws-head .pill {font-size:10px;font-weight:550;letter-spacing:0;border-radius:5px;padding:3px 7px}
  #v-project .followup-summary span {color:var(--ink2)}
  #v-project :is(.po-card,.po-metrics,.project-detail-tab>.sect,#files-page-project .files-tools,#files-page-project .file-card,.pb-layout .board,.pb-layout>.puls) {border-radius:9px}
  #v-project :is(.po-intro h2,#files-page-project .pd-heading h2) {font-size:17px;font-weight:650;letter-spacing:-.3px}
  /* Keep explicit primary actions in the brand accent, including the existing add callbacks. */
  #v-project .project-detail-tab .sh2>.btn:is([onclick^="openFagForm"],[onclick^="openLevForm"],[onclick^="openDatedNoteForm"],[onclick^="OrderUI.create"]) {background:var(--hivis);border-color:var(--hivis);color:var(--ui-accent-ink)}
  /* Fremdrift adopts the common toolbar/cards without recolouring its phases. */
  #v-project .project-gantt-toolbar {padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
  #v-project .project-gantt-toolbar>span:first-child b {font-size:13px;font-weight:650}
  #v-project .project-gantt-toolbar small {font-size:11px;color:var(--ink2);margin-top:3px}
  #v-project .cascade {padding:6px 9px;font-size:11px;font-weight:550;border-radius:6px;background:var(--board)}
  #v-project .project-gantt {border-radius:9px}
  #v-project :is(.pg-head,.pg-corner,.pg-day) {background:var(--pw-head)}
  #v-project :is(.pg-corner,.pg-weeks div) {color:var(--pw-head-ink);font-weight:600;letter-spacing:.025em}
  #v-project .pg-day {color:var(--pw-head-ink)}
  #v-project .pg-day.weekend {background:var(--soft);color:var(--ink2)}
  #v-project .pg-day.today {background:color-mix(in srgb,var(--hivis) 20%,var(--card));color:var(--ink);box-shadow:inset 0 3px var(--hivis)}
  #v-project .pg-day.holiday {background:var(--reds);color:var(--red)}
  #v-project .pg-label small {color:var(--ink2)}
  #v-project .pg-row:hover .pg-label {background:var(--soft)}
  #v-project .gantt-side {gap:12px}
  #v-project .gantt-side section {padding:12px;border-radius:9px;background:var(--card);box-shadow:0 1px 2px #15233808}
  #v-project .gantt-side h3 {font-size:11px;font-weight:650;letter-spacing:.025em;color:var(--pw-petrol);padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid var(--line)}
  #v-project .gantt-side section>button {padding:8px 2px;border-radius:4px}
  #v-project .gantt-side section>button:hover {background:var(--soft)}
  #v-project .gantt-side section>button b {font-size:12px;font-weight:600;line-height:1.5}
  #v-project .gantt-side :is(section>button small,section>button i,p) {font-size:10.5px;line-height:1.6;color:var(--ink2)}
  #v-project .gantt-metrics>b {font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}
  #v-project .gantt-metrics small {font-size:10px;color:var(--ink2);font-weight:400;line-height:1.5;margin-top:4px}
  #v-project .project-hours label {font-size:11px;font-weight:550;color:var(--ink2)}
  #v-project .project-hours select {min-height:32px;background:var(--board);font-size:12px;font-weight:400}
  #v-project .project-hours strong {font-size:24px;font-weight:650}
  #v-project .project-hours small {font-size:10.5px;color:var(--ink2)}
  /* The project inbox entry remains the same action, in a matching card. */
  #v-project .ws-body>section.f:has(>button[onclick^="Comms.openInbox"]) {padding:16px;margin:0;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:0 1px 2px #15233808}
  #v-project .ws-body>section.f:has(>button[onclick^="Comms.openInbox"]) h2 {font-size:17px;font-weight:650;letter-spacing:-.3px;margin:0}
  #v-project .ws-body>section.f:has(>button[onclick^="Comms.openInbox"]) p {font-size:12px;line-height:1.7;color:var(--ink2);margin:6px 0 14px}
}
@media screen and (max-width:760px) {
  #v-project .ws-head {padding:13px 12px}
  #v-project .ws-body {padding:12px}
  #v-project .ws-head .head {gap:12px;flex-wrap:wrap}
  #v-project .ws-head .head>div:first-child {flex-basis:100%;min-width:0;overflow-wrap:anywhere}
  #v-project .ws-head .project-primary-actions {min-width:0;flex:none;flex-wrap:wrap;gap:8px}
  #v-project .project-header-row {gap:10px}
  #v-project .project-primary-actions .followup-summary {max-width:160px}
  #v-project .followup-summary>span {max-width:160px}
  #v-project .ws-tabs {padding:0 4px}
  #v-project .ws-tabs button {padding:10px;flex-shrink:0}
  #v-project .project-gantt-toolbar {grid-template-columns:minmax(0,1fr) auto!important;gap:10px}
  #v-project .project-gantt-toolbar>span:first-child {grid-column:1/-1}
  #v-project .project-gantt-toolbar .project-export {justify-self:start!important}
  #v-project .project-gantt-toolbar .cascade {justify-self:end!important}
}
@media (prefers-reduced-motion:reduce) {
  #v-project :is(.btn,.rowbtn,.po-link,.ws-tabs button) {transition:none}
}

@media screen and (min-width:761px) and (max-width:1050px) {
  #v-project .ws-head .project-header-row {flex-wrap:wrap;gap:12px}
  #v-project .project-header-info {flex-basis:100%}
}
