/* Project pages and dialogs use the available width on every screen. */
@media screen {
  body .workspace > main {
    width:100%;
    max-width:none;
    min-width:0;
    margin-inline:0;
  }
  body .workspace > main #content,
  body .workspace > main #content > * {
    width:100%;
    max-width:none;
    min-width:0;
    box-sizing:border-box;
  }
  body #content :is(.cost-stage-view,.schedule-view,.procurement-view,.procurement-framework,.fomi-view,.project-data-view,.quality-workspace,.procurement-guide) {
    width:100%;
    max-width:none;
    min-width:0;
    margin-inline:0;
  }
  body dialog[open] {
    width:calc(100vw - 24px);
    max-width:calc(100vw - 24px);
    min-width:0;
    margin-inline:auto;
    box-sizing:border-box;
  }
  body dialog[open] > form {
    width:100%;
    max-width:none;
    min-width:0;
  }
  body :is(#content,dialog[open]) .table-scroll {
    min-width:0;
    max-width:100%;
  }
}
@media screen and (max-width:780px) {
  body dialog[open] {
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
  }
}

/* Beschaffungen: compact columns, complete values on one line. */
@media screen {
  .procurement-assigned table {
    width:100%;
    min-width:max-content;
    font-size:13px;
  }
  .procurement-assigned :is(th,td) {
    padding:8px;
    white-space:nowrap;
  }
  .procurement-assigned .tender-cost-cell {
    min-width:134px;
  }
  .procurement-assigned .tender-cost-cell input {
    width:130px;
    min-width:130px;
    max-width:130px;
    padding-inline:6px;
    font-size:13px;
  }
  .procurement-assigned .tender-cost-cell small {
    display:none; /* The full source remains in the amount's tooltip and price comparison. */
  }
  .procurement-assigned td button {
    padding:7px 9px;
    font-size:12px;
    white-space:nowrap;
  }
}

/* Optional field notes are attached to their row and collected in remarks. */
.cost-tracking .tracking-table.management-table td.tracking-note-cell{position:relative;padding-top:24px}
.cost-tracking .tracking-table .tracking-cell-note{position:absolute;right:4px;top:2px;display:grid;place-items:center;width:22px;height:20px;min-height:20px;padding:0;border:0;background:transparent;color:#6589ab;opacity:.7;line-height:1;z-index:5}
.cost-tracking .tracking-table .tracking-cell-note:hover,.cost-tracking .tracking-table .tracking-cell-note:focus-visible{opacity:1;color:#175da7;background:#e7f1fa}
.cost-tracking .tracking-table .tracking-cell-note.has-note{color:#165fa7;opacity:1;filter:drop-shadow(0 1px 1px #17497522)}
.cost-tracking .tracking-table .remarks-col{min-width:260px;width:320px;max-width:440px;white-space:normal;vertical-align:top}
.tracking-field-note-list{max-height:180px;overflow:auto;white-space:pre-wrap;font-size:13px;line-height:1.45;text-align:left;padding-right:4px}
.tracking-field-note-list p{margin:0 0 6px;overflow-wrap:anywhere}
.tracking-notes-empty{color:#637c90;font-size:12px}
.tracking-extra-remark{margin-top:8px;text-align:left}.tracking-extra-remark summary{font-size:12px;font-weight:500;color:#315f82}.tracking-extra-remark textarea{width:100%;max-width:none;min-height:60px;font-size:13px;box-sizing:border-box}
.tracking-note-editor{position:fixed;z-index:500;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:16px;background:#fff;border:1px solid #8caecb;border-radius:10px;box-shadow:0 12px 36px #102c4655;color:#173e5e;box-sizing:border-box}
.tracking-note-editor h2{font-size:17px;margin:0 0 8px}.tracking-note-editor p{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.tracking-note-editor label{display:grid;gap:6px;font-size:13px}.tracking-note-editor textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;resize:vertical;border:1px solid #a5bfd4;border-radius:5px;padding:9px}.tracking-note-editor-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:12px}.tracking-note-editor-actions button{padding:7px 10px;font-size:13px}.tracking-note-editor [role="alert"]{color:#a43b22}
@media(max-width:780px){.tracking-note-editor textarea{font-size:16px}}

/* Legal links remain readable against the illustrated landing pages. */
html body>.copyright,html body:has(.home-user-status)>.copyright{
 background:#122c46;color:#fff;border-top:1px solid #54758e;
 padding:14px 20px;box-shadow:0 -2px 12px #122c4620;
}
html body .copyright .legal-links{
 display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 20px;
}
html body .copyright .legal-links button{
 display:inline-flex;align-items:center;justify-content:center;min-height:40px;
 padding:6px 10px;margin:0;border:1px solid transparent;border-radius:4px;
 background:transparent;color:#fff;font:500 14px/1.4 system-ui,sans-serif;
 white-space:nowrap;cursor:pointer;box-shadow:none;text-shadow:none;text-decoration:underline;text-underline-offset:3px;
}
html body .copyright .legal-links button:hover{background:transparent;color:#cfe6f7;text-decoration:underline;}
html body .copyright .legal-links button:focus-visible{outline:3px solid #9bd2ff;outline-offset:3px;}
@media(max-width:480px){
 html body .copyright .legal-links{gap:8px 10px;}
 html body .copyright .legal-links button{padding:8px 10px;}
}

/* Fixed legal footer, with space reserved for table and mobile controls. */
@media screen{
 html body>.copyright,html body:has(.home-user-status)>.copyright{
  display:flex!important;position:fixed!important;inset:auto 0 0;z-index:80;
  box-sizing:border-box;align-items:center;justify-content:center;gap:8px 24px;
  background:#102a43;color:#fff;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));
  border-top:2px solid #83a8c6;box-shadow:0 -3px 14px #102a4330;
 }
 html body .copyright .legal-links button{color:#fff;background:transparent;border-color:transparent;font-size:14px;font-weight:500;}
 html body{padding-bottom:calc(var(--footer-height,80px) + 16px)!important;}
 html body:has(.table-horizontal-control:not([hidden])){padding-bottom:calc(var(--footer-height,80px) + 54px)!important;}
 html body:has(.workspace-mobile-bar:not([hidden])){padding-bottom:calc(var(--footer-height,80px) + 110px + env(safe-area-inset-bottom,0px))!important;}
 html body .workspace-mobile-bar{bottom:var(--footer-height,80px);}
 html body #supportWidget,html body:has(.home-user-status) #supportWidget{bottom:calc(var(--footer-height,80px) + 12px)!important;}
 html body:has(.workspace-mobile-bar:not([hidden])) #supportWidget{bottom:calc(var(--footer-height,80px) + 110px + env(safe-area-inset-bottom,0px))!important;}
}

/* Field notes open in an anchored speech bubble instead of inline below the table. */
.tracking-note-editor{border:2px solid #8caecb;overflow:visible}
.tracking-note-editor form{max-height:calc(100dvh - 60px);overflow:auto}
.tracking-note-editor::before{content:"";position:absolute;width:12px;height:12px;background:#fff;transform:rotate(45deg);border:solid #8caecb;border-width:0}
.tracking-note-editor[data-note-side="right"]::before{left:-8px;top:var(--note-tail-y,24px);border-width:0 0 2px 2px}
.tracking-note-editor[data-note-side="left"]::before{right:-8px;top:var(--note-tail-y,24px);border-width:2px 2px 0 0}
.tracking-note-editor[data-note-side="top"]::before{right:24px;bottom:-8px;border-width:0 2px 2px 0}
.tracking-note-editor[data-note-side="bottom"]::before{right:24px;top:-8px;border-width:2px 0 0 2px}
.cost-tracking .tracking-table.management-table [data-tracking-column="kg"]{width:132px;min-width:132px;max-width:132px;left:58px}
.cost-tracking .tracking-table.management-table [data-tracking-column="name"]{left:190px}
.cost-tracking .tracking-table.management-table .tracking-kg select{box-sizing:border-box;width:100%;min-width:0;padding:8px 24px 8px 10px;font-size:15px;white-space:nowrap;text-overflow:clip}
.cost-tracking .tracking-kg .tracking-cell-note,.cost-tracking .tracking-kg .note-ref{display:none!important}
.tracking-remarks-hint{font-size:12px;color:#637c90}

.cost-tracking [data-tracking-column="remarks"] p{margin:0 0 6px;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.cost-tracking [data-tracking-column="sequence"] .tracking-cell-note,.cost-tracking [data-tracking-column="remarks"] .tracking-cell-note{display:none!important}
.order-field-note-cell{position:relative;padding-top:24px!important}
.order-field-note{position:absolute;right:4px;top:2px;display:grid;place-items:center;width:22px;height:20px;min-height:20px;padding:0;border:0;background:transparent;color:#6589ab;opacity:.7;z-index:5}
.order-field-note:hover,.order-field-note:focus-visible,.order-field-note.has-note{opacity:1;color:#165fa7}

/* Identity cells and their headings keep the same widths during horizontal scrolling. */
.cost-tracking .tracking-table.management-table td[data-tracking-column="sequence"],.cost-tracking .tracking-table.management-table th[data-tracking-column="sequence"]{position:sticky;left:0}
.cost-tracking .tracking-table.management-table td[data-tracking-column="kg"],.cost-tracking .tracking-table.management-table th[data-tracking-column="kg"]{position:sticky;left:58px;min-width:132px;width:132px;max-width:132px;white-space:nowrap}
.cost-tracking .tracking-table.management-table td[data-tracking-column="name"],.cost-tracking .tracking-table.management-table th[data-tracking-column="name"]{position:sticky;left:190px;min-width:260px;width:260px;max-width:260px}
.cost-tracking .tracking-kg-code{display:block;padding:8px 10px;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;overflow:visible}
.cost-tracking .sequence-col .note-ref,.cost-tracking .sequence-col .tracking-cell-note,.cost-tracking .tracking-kg .note-ref,.cost-tracking .tracking-kg .tracking-cell-note{display:none!important}
.cost-tracking .tracking-table.management-table th[data-tracking-column="kg"]{white-space:normal}
.cost-tracking .tracking-table.management-table th[data-tracking-column="kg"] [data-tracking-filter]{display:block;margin:5px auto 0}
.cost-tracking .tracking-table.management-table td[data-tracking-column="sequence"],.cost-tracking .tracking-table.management-table td[data-tracking-column="kg"],.cost-tracking .tracking-table.management-table td[data-tracking-column="name"]{z-index:6}

/* Compact cost tracking: notes occupy the corner, actions their own final column. */
#content .cost-tracking>.table-title-toolbar{display:block}
#content .cost-tracking>.table-title-toolbar h1{margin-bottom:10px}
#content .cost-tracking>.table-title-toolbar>.tracking-column-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;margin:0;padding:4px 0 8px;overflow-x:auto}
.cost-tracking .tracking-column-actions>*{flex-shrink:0}
.cost-tracking .forecast-stand-controls,.cost-tracking .project-logo-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0}
.cost-tracking .forecast-stand-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cost-tracking .forecast-save-action{display:flex;align-items:center;gap:3px}
.cost-tracking .forecast-save-hint summary{cursor:pointer;color:#175da7;list-style:none;padding:5px}
.cost-tracking .forecast-save-hint summary::-webkit-details-marker{display:none}
.cost-tracking .forecast-save-hint[open]>div{position:fixed;z-index:1000;left:24px;top:140px;width:min(390px,calc(100vw - 48px));padding:12px;border:1px solid #a9c4db;border-radius:8px;background:#f4f9ff;box-shadow:0 4px 18px #18354c26;font-size:14px;white-space:normal}
body #content .cost-tracking .tracking-table td:is(.tracking-note-cell,.note-corner-cell){padding-top:5px!important;padding-bottom:5px!important;padding-right:28px!important}
body #content .cost-tracking .tracking-table .tracking-cell-note{top:2px;right:3px;width:20px;height:20px;min-height:20px}
#content .cost-tracking .tracking-table .tracking-actions-col{min-width:92px;width:92px;white-space:nowrap;padding:5px 8px;vertical-align:middle}
#content .cost-tracking .tracking-remove{display:inline-flex;margin:0;padding:5px 8px;min-height:30px}

/* Keep editable column names, compact filters and calculation help on one line. */
#content .cost-tracking .tracking-header-controls{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:4px;min-width:0}
#content .cost-tracking .tracking-header-controls>.procurement-column-title{flex:1 1 0;width:0;min-width:0;max-width:100%;margin:0;box-sizing:border-box}
#content .cost-tracking .tracking-table thead .tracking-header-controls>[data-tracking-filter]{display:inline-flex;flex:0 0 22px;width:22px;min-width:22px;height:22px;min-height:22px;margin:0;padding:0}
#content .cost-tracking .tracking-header-controls>[data-tracking-filter] svg{width:14px;height:14px}
body #content .cost-tracking .tracking-header-controls>.tracking-header-info{position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;flex:0 0 20px;margin:0!important;align-self:center;transform:none}
