/* Shared visual identity copied from Lestra OS app/globals.css.
   Kept separate from the pilot's report layout and behaviour. */
:root{
  font-family:Arial,Helvetica,sans-serif;
  --ink:#575757;
  --orange:#f37a1f;
  --orange-soft:#fff0e5;
  --paper:#f5f6f4;
  --white:#fff;
  --muted:#6d7881;
  --line:#dfe3e4;
  background:var(--paper);
  color:var(--ink);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body{background:var(--paper);color:var(--ink)}
.brand{min-height:82px;background:var(--white);color:var(--ink);border-bottom:1px solid var(--line);padding:14px 24px;gap:20px}
.logo{display:flex;align-items:center;gap:22px;color:var(--ink);letter-spacing:normal;font-size:1rem;min-width:0}
.logo img{display:block;width:176px;height:auto;flex-shrink:0}
.logo span{display:block;border-left:1px solid var(--line);padding-left:22px;color:var(--muted);font-size:.875rem;letter-spacing:.02em;font-weight:650}
.pilot{border-color:#efab79;background:#fff7f1;color:#9a4307;border-radius:5px;font-size:.75rem}
#identity{color:var(--ink)}
#identity button{background:white;color:var(--ink);border-color:#d2d7da;border-radius:8px}
.warning{background:#fff7f1;border-color:#f1dac9;color:#80532d;padding:10px 24px}
#main>.workspace{padding:20px 24px 56px}
.topline h1{color:#303a3f;font-size:1.65rem;font-weight:800;letter-spacing:-.025em}
.topline p,.muted,.save-status{color:var(--muted)}
.eyebrow{color:#737b80;font-size:.875rem;font-weight:750;letter-spacing:.08em}
button{background:var(--orange);border-color:var(--orange);color:#292929;border-radius:6px;font-weight:750}
button.secondary{border-color:#cbd1d3;background:white;color:#46545a}
button.link{color:#a94705}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#a94705}
input,select,textarea{color:#39434a;border-color:#cbd1d3;border-radius:6px;background:white}
input:focus,select:focus,textarea:focus{border-color:#efab79}
.tabs{background:white;border:1px solid var(--line);padding:0;gap:0;border-radius:7px;overflow-x:auto}
.tabs button{border:0;border-right:1px solid var(--line);border-radius:0;color:#68747b;padding:14px 20px;white-space:nowrap}
.tabs button.active{background:#fff7f1;color:#9a4307;box-shadow:inset 0 -3px var(--orange)}
.tabs button:last-child{border-right:0}
.toolbar{background:var(--paper)}
.card,.table-wrap,.loginbox{border-color:var(--line);border-radius:8px;background:white}
.table-wrap caption{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);background:white}
th{background:#eef0ef;color:#46545a}
td{border-color:#e4e8e9}
tfoot td{background:#eef0ef;color:#39434a}
.status{background:#eef0ef;color:#59656e}
.status.submitted{background:#fff0e5;color:#9a4307}
.status.approved{background:#eff8f2;color:#176941}
.status.returned{background:#fff1f0;color:#952d26}
.reviewbox{border-left-color:var(--orange)}
.login{max-width:950px;margin:4vh auto}
.login h1{color:#303a3f;font-size:clamp(2rem,5vw,3rem);font-weight:800}
.loginbox{border-top:3px solid var(--orange)}
.loginbox label{margin:18px 0}.loginbox [hidden]{display:none!important}
#notice{background:#575757;color:white}
dialog{border-color:var(--line);box-shadow:0 15px 70px #57575733}
dialog::backdrop{background:#33333366}
@media(max-width:680px){
  .brand{padding:12px 16px;gap:10px;flex-wrap:wrap;min-height:76px}
  .logo{gap:0}.logo img{width:140px}.logo span{display:none}
  #identity{gap:8px;min-width:0;flex-wrap:wrap;font-size:.875rem}
  #identity button{padding:8px 10px}
  .warning{padding:10px 16px}
  #main>.workspace{padding:16px 16px 48px}
  .tabs button{padding:12px 14px}
  .topline h1{font-size:1.5rem}
}
/* Separate navigation row directly below the brand header. */
.brand{flex-wrap:wrap}
body > .tabs{margin:0;padding:0 24px;min-width:0;flex-wrap:wrap;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;background:white}
body > .tabs button{padding:12px 14px;border-right:0;border-radius:0;font-size:.875rem}
.brand #identity{flex-wrap:wrap;max-width:100%}
@media(max-width:680px){body > .tabs{padding:0 16px}.brand #identity{margin-left:auto}}
#main > .project-workspace{max-width:none;width:100%;margin:0;padding:0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;min-height:calc(100svh - 134px)}
.project-content{min-width:0;padding:16px 20px 40px}
.project-sidebar{align-self:stretch;min-width:0;background:white;border:0;border-right:1px solid var(--line);border-radius:0;padding:0}
.project-sidebar h2{padding:18px 14px 0}.project-search-label{padding:0 12px 12px}
.project-list{display:flex;flex-direction:column;gap:0;overflow:auto;margin:0}
.project-list button{display:flex;flex-direction:row;align-items:center;text-align:left;gap:10px;width:100%;min-width:0;font-size:.875rem;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.project-list button strong{flex:0 0 auto;color:#a94705;font-weight:750;white-space:nowrap}
.project-list button span{flex:1;min-width:0;color:#39434a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.project-list button small{display:none}
.project-list button[hidden]{display:none}
.project-list button.selected{border-color:var(--orange);background:var(--orange-soft);box-shadow:inset 3px 0 var(--orange)}
.mobile-project-label{display:none}
@media(max-width:900px){#main > .project-workspace{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.project-sidebar{position:static;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.project-sidebar h2,.project-search-label,.project-list{display:none}.mobile-project-label{display:block}.project-content{padding:12px 12px 32px}}
/* Equal-height week list and selected report; each scrolls independently. */
.project-content.split-content{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:calc(100dvh - var(--portal-chrome-height,134px));padding:0;min-height:0;overflow:hidden}
.split-content > section{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px}
.split-content .week-list-pane{background:white;border-bottom:2px solid var(--line)}
.week-report-table{min-width:680px}.week-report-table caption{text-align:left;padding:8px 0;color:var(--muted);font-size:.875rem}
.week-report-table th{position:sticky;top:0;z-index:1}.week-report-table td{vertical-align:middle;white-space:nowrap}
.week-report-table tbody tr{cursor:pointer}.week-report-table tbody tr:hover,.week-report-table .selected-week{background:var(--orange-soft)}
.week-report-table .selected-week td:first-child{box-shadow:inset 3px 0 var(--orange)}
.selected-report-heading{margin:0 0 8px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.report-contacts summary{cursor:pointer;padding:8px 0;min-height:36px;color:var(--muted)}
@media(min-width:901px){.project-workspace:has(.split-content){min-height:0;height:calc(100dvh - var(--portal-chrome-height,134px))}.project-workspace:has(.split-content) > .project-sidebar{overflow:auto}}
@media(max-width:900px){.project-content.split-content{height:max(640px,calc(100dvh - var(--portal-chrome-height,134px) - 100px))}.split-content > section{padding:12px}}
/* Dense, edge-to-edge tables in both report panes. */
.project-content.split-content > section{padding:0}
.week-report-table{width:100%;border-radius:0}
.week-report-table caption{display:none}
.week-report-table tfoot th,.week-report-table tfoot td{position:sticky;top:auto;bottom:0;background:#eef1f3;border-top:2px solid var(--line);font-weight:700;z-index:2}
.week-report-table th,.week-report-table td{padding:3px 10px;line-height:1.25}
.week-report-table button.link{min-height:28px;padding:3px 0;font-size:.875rem}
.week-list-pane > .actions{padding:6px 10px}
.report-detail-pane .table-wrap{margin:0;border:0;border-radius:0;padding:0;width:100%}
.report-detail-pane .table-wrap caption{padding:5px 10px;font-size:.875rem}
.report-detail-pane th,.report-detail-pane td{padding:4px 6px}
.report-detail-pane td.person{min-width:170px}.report-detail-pane td.activity{min-width:150px}
.report-detail-pane .activity input{min-width:140px}
.report-detail-pane input,.report-detail-pane select{min-height:30px;padding:3px 5px}
.report-detail-pane .person label{font-size:0}.report-detail-pane .person label select{font-size:.875rem;margin:0}
.report-detail-pane .person label strong{font-size:.875rem}
.report-detail-pane td.day{min-width:58px}.report-detail-pane .hour{width:58px}
.report-detail-pane .under-table{padding:6px 10px}
.report-detail-pane #cost-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:8px 10px;font-size:.875rem}
.report-detail-pane #surface > .actions,.sheet-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px}
.sheet-controls .save-status{padding:0;min-height:0}
.report-detail-pane .row-remove{min-height:30px;padding:0 6px}
/* Single-line spreadsheet rows, without stacked field labels. */
.report-detail-pane tbody td{padding:3px 5px;vertical-align:middle;border-right:1px solid var(--line)}
.report-detail-pane tbody tr:hover{background:#f7f9fa}
.report-detail-pane input,.report-detail-pane select{min-height:28px;margin:0;border-radius:3px;font-size:.875rem;line-height:1.25}
.report-detail-pane .person-fields,.report-detail-pane .resource-fields{display:flex;align-items:center;gap:5px}
.report-detail-pane .person-fields label{flex:1;min-width:130px;margin:0}
.report-detail-pane .person-fields > select{width:100px;flex:0 0 100px}
.report-detail-pane .resource-fields{min-width:260px}
.report-detail-pane .resource-fields label{flex:1;min-width:0;margin:0;font-size:0}
.report-detail-pane .resource-fields select{width:210px;max-width:100%;font-size:.875rem}
.report-detail-pane .resource-fields > strong,.report-detail-pane .resource-fields > small{font-size:.875rem;white-space:nowrap;margin:0}
.report-detail-pane .row-remove{min-height:28px}
@media(pointer:coarse){.week-report-table button.link,.report-detail-pane input,.report-detail-pane select,.report-detail-pane .row-remove{min-height:44px}.report-detail-pane input,.report-detail-pane select,.report-detail-pane .person label select,.report-detail-pane .resource-fields select{font-size:1rem}}
/* Supplier overview, project contacts and corrections */
.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.overview-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#fff;color:#303a3f;border:1px solid #d7dde0;padding:20px;text-align:left;min-width:0}
.overview-card strong{font-size:2rem}.overview-card.selected{border:2px solid #df6b26;background:#fff6ee}
.overview-card:hover{background:#fff6ee;color:#303a3f}.project-contact h2{font-size:1.1rem}.project-contact>div+div{border-top:1px solid #ddd;padding-top:12px}
.contact-links{display:flex;gap:16px;flex-wrap:wrap}.contact-links a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.project-details{background:#fff;border:1px solid #ddd;border-radius:8px;margin:12px 0}.project-details summary{cursor:pointer;min-height:44px;padding:16px;font-weight:600}
.returned-report{border-left:4px solid #df6b26;padding-left:16px}.return-reason{background:#fff6ee;padding:12px;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.report-row>div{min-width:0}.report-row strong{overflow-wrap:anywhere}
@media(max-width:680px){.overview-cards{grid-template-columns:1fr;gap:10px}.overview-card{flex-direction:row;align-items:center;gap:18px;padding:14px}.overview-card strong{min-width:2ch}.report-row{align-items:stretch;flex-direction:column;gap:14px}.report-row>button{width:100%}.tabs{flex-wrap:wrap}.project-contact{padding:14px}}

/* Consistent full-width registers; project time-sheet layout is untouched. */
.register-section{width:100%;min-width:0;background:#fff}
.register-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #d7dde0;flex-wrap:wrap}
.register-toolbar h2{font-size:1rem;margin:0}.register-toolbar label{display:flex;align-items:center;gap:8px}
.register-scroll{margin:0;border:0;border-radius:0;overflow:auto}
.register-table{width:100%;border-collapse:collapse;min-width:800px}
.register-table th,.register-table td{padding:7px 10px;font-size:.875rem;border-bottom:1px solid #e0e4e6;vertical-align:middle}
.register-table th{background:#eef1f2;text-align:left;white-space:nowrap}
.register-table .link{padding:2px 4px;font-size:.875rem;min-height:0}
.register-table small{display:block;font-size:.8rem;color:#59636a}.register-table td strong{color:#a64b13}
.register-table tbody tr:nth-child(even){background:#fafbfc}.register-table tfoot{font-weight:600;background:#eef1f2}
.billing-table td:nth-child(3) span{display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:680px){.register-toolbar{padding:8px}.register-toolbar select{max-width:230px}}
/* Registers overlay the workspace; the selected project and draft stay mounted. */
#register-dialog{box-sizing:border-box;width:calc(100vw - 48px);max-width:none;height:92dvh;max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border:1px solid #d8dee3;border-radius:8px}
#register-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
#register-surface{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.register-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:#fff;border-bottom:1px solid #d8dee3;position:sticky;top:0;z-index:2}
.register-dialog-header h2{margin:0;font-size:1.05rem}
#register-dialog::backdrop{background:rgb(20 30 36 / 45%)}
.report-detail-pane .compact-add-row{min-height:28px;padding:3px 9px;font-size:.8rem;border-radius:4px}
.report-detail-pane .activity input:invalid{border-color:#c36c43}
@media(pointer:coarse){.report-detail-pane .compact-add-row{min-height:44px}}
@media(max-width:600px){#register-dialog{width:calc(100vw - 12px);height:95dvh;max-height:calc(100dvh - 12px)}.register-dialog-header{padding:8px}}
.brand .logo-home{display:block;background:transparent;border:0;padding:0;border-radius:4px;min-height:44px}
.supplier-dashboard{width:100%;padding:12px 4px}
.dashboard-heading{margin-bottom:24px}.dashboard-heading p{margin:6px 0;color:var(--muted)}
.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.dashboard-metrics article{padding:20px;background:white;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:6px}
.dashboard-metrics span{display:block;font-size:.875rem;color:var(--muted)}.dashboard-metrics strong{display:block;margin-top:8px;font-size:2rem;color:var(--ink)}
.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.dashboard-chart{background:white;border:1px solid var(--line);border-radius:6px;padding:22px;min-width:0}
.dashboard-chart>p{font-size:.875rem;color:var(--muted);margin-top:0}
.dashboard-bars{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:20px}
.dashboard-bars li{display:grid;grid-template-columns:minmax(110px,1fr) minmax(40px,2fr) auto;align-items:center;gap:12px;font-size:.875rem}
.dashboard-bars strong{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-track{height:14px;background:#eef1f2;border-radius:3px;overflow:hidden}.dashboard-track i{display:block;height:100%;background:var(--orange);border-radius:3px}
.weekly-bars{max-height:400px;overflow:auto;padding-right:8px}.weekly-bars .dashboard-track i{background:#465b65}
@media(max-width:1100px){.dashboard-charts{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-metrics{gap:8px}.dashboard-metrics article{padding:12px 8px}.dashboard-metrics strong{font-size:1.5rem}.dashboard-chart{padding:16px}.dashboard-bars li{grid-template-columns:minmax(100px,1fr) minmax(30px,1fr) auto;gap:8px}}
