*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#071827;color:#eef5fb}.shell{max-width:1180px;margin:0 auto;padding:28px 18px 60px}.brand{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:18px}.mark{font-size:54px}.brand h1{letter-spacing:5px;margin:0}.brand p{color:#9fb5c7;margin:6px 0 0}.card{background:#10283b;border:1px solid #23455e;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 12px 35px #0003}.hidden{display:none!important}label{display:block;margin:10px 0 6px;color:#bcd0df;font-weight:600}input,select{width:100%;padding:12px;border-radius:10px;border:1px solid #3d5f76;background:#071827;color:#fff}button{padding:11px 17px;border:0;border-radius:10px;background:#d8b36a;color:#071827;font-weight:700;cursor:pointer}.secondary{background:#dce7ef}.muted{color:#91a8b8}.msg{margin-left:10px;color:#dce7ef}.topbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.license-pill{display:inline-block;background:#0a1e2e;border:1px solid #345b72;border-radius:999px;padding:7px 11px;color:#bcd0df}.license-pill.warn{background:#5a451d;color:#ffe8ad;border-color:#8a6a2d}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{background:#0a1e2e;color:#dce7ef;border:1px solid #2f5268}.tab.active{background:#d8b36a;color:#071827}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.metric{background:#10283b;border:1px solid #23455e;border-radius:15px;padding:20px}.metric span,.metric small{display:block;color:#91a8b8}.metric strong{font-size:28px;display:block;margin:8px 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.span2{grid-column:1/-1}.actions,.report-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:12px;border-bottom:1px solid #23455e}th{color:#9fb5c7;font-size:13px}.amount{font-weight:700;white-space:nowrap}.delete-btn{background:#552f36;color:#ffd9dd;padding:7px 10px}.receipt-btn{background:#21445c;color:#e9f5ff;padding:7px 10px}.empty{text-align:center;color:#91a8b8;padding:25px}.analysis-grid{display:grid;grid-template-columns:360px 1fr;gap:30px;align-items:center;margin:20px 0}.donut-wrap{display:flex;justify-content:center}.donut{width:280px;height:280px;border-radius:50%;position:relative;background:#16384c}.donut:after{content:"";position:absolute;inset:58px;background:#10283b;border-radius:50%}.donut-center{position:absolute;inset:0;display:flex;z-index:2;align-items:center;justify-content:center;flex-direction:column;text-align:center}.donut-center strong{font-size:28px}.donut-center span{color:#91a8b8}.legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #23455e;padding:9px}.legend-left{display:flex;align-items:center;gap:8px}.legend-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
@media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.topbar,.section-head{align-items:flex-start}.analysis-grid{grid-template-columns:1fr}.legend{grid-template-columns:1fr}.shell{padding:18px 12px}}
@media(max-width:460px){.metrics{grid-template-columns:1fr}.topbar{display:block}.topbar button{margin-top:12px}}
@media print{body{background:white;color:black}.no-print{display:none!important}.page.hidden{display:none!important}.card,.metric{box-shadow:none;border:1px solid #bbb;background:white;color:black}.muted,.metric span,.metric small{color:#555}.table-wrap{overflow:visible}table{min-width:0}th,td{color:black;border-color:#ccc}.print-area{margin:0;padding:0;border:0}.donut:after{background:white}}
.top-actions{display:flex;gap:10px;align-items:center}.top-actions select{width:auto;min-width:130px}
.crew-action-row{display:flex;gap:6px;flex-wrap:wrap}.status-ok{color:#82e0aa;font-weight:700}.status-warn{color:#f4d03f;font-weight:700}.status-expired{color:#ec7063;font-weight:700}
@media(max-width:600px){.top-actions{width:100%;margin-top:12px}.top-actions select{flex:1}}

.mlc-legend{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:16px 0}.mlc-legend>span{display:flex;align-items:center;gap:8px}.rest-swatch{width:18px;height:18px;border-radius:4px;background:#d8b36a;display:inline-block}.rest-table{min-width:1320px;font-size:12px}.rest-table th,.rest-table td{padding:6px;text-align:center}.rest-table th:first-child,.rest-table td:first-child{position:sticky;left:0;background:#10283b;z-index:2;min-width:56px}.rest-table th:nth-last-child(-n+3),.rest-table td:nth-last-child(-n+3){min-width:72px}.rest-check{appearance:none;width:24px;height:24px;padding:0;margin:0;border:1px solid #456b84;border-radius:5px;background:#071827;cursor:pointer}.rest-check:checked{background:#d8b36a;border-color:#d8b36a}.rest-save{padding:7px 9px;font-size:11px}.rest-note{min-width:150px;padding:7px;font-size:11px}.rest-count{font-weight:700}.rest-row-dirty{outline:1px solid #d8b36a;outline-offset:-1px}
@media print{#mlc .card{padding:0}.rest-table{font-size:8px;min-width:0}.rest-table th,.rest-table td{padding:2px}.rest-check{width:12px;height:12px}.rest-note,.rest-save{display:none}.rest-table th:first-child,.rest-table td:first-child{position:static;background:white}}

/* NAVIS ONE V5 — Professional MLC Hours of Rest */
.mlc-compliance{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.mlc-rule-note{border:1px solid #3d5f76;background:#0a1e2e;border-radius:12px;padding:12px 14px;margin:12px 0;color:#bcd0df;font-size:13px;line-height:1.45}
.mlc-signatures{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:14px;align-items:end;margin-top:20px;padding-top:18px;border-top:1px solid #345b72}
.rest-table{font-size:12px}
.rest-table th,.rest-table td{padding:5px 4px;text-align:center}
.rest-table th:first-child,.rest-table td:first-child{position:sticky;left:0;background:#10283b;z-index:2}
.rest-table .rest-note{min-width:130px}
.rest-table .rest-check{width:18px;height:18px;accent-color:#d8b36a}
.rest-row-ok{box-shadow:inset 4px 0 0 #4fa36c}
.rest-row-violation{box-shadow:inset 4px 0 0 #d05a63;background:#4a202633}
.rest-row-warning{box-shadow:inset 4px 0 0 #d8b36a}
.compliance-ok{color:#82e0aa;font-weight:700}
.compliance-bad{color:#ff8e97;font-weight:700}
.compliance-warn{color:#f4d03f;font-weight:700}
@media(max-width:900px){.mlc-compliance{grid-template-columns:1fr}.mlc-signatures{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mlc-signatures{grid-template-columns:1fr}}
@media print{
  @page{size:A4 landscape;margin:7mm}
  .shell{max-width:none;padding:0}
  .brand,.topbar,.tabs,.mlc-rule-note{display:none!important}
  #mlc.card{padding:0}
  .rest-table{font-size:8px}
  .rest-table th,.rest-table td{padding:2px 1px}
  .rest-table .rest-check{appearance:none;-webkit-appearance:none;width:10px;height:10px;border:1px solid #777}
  .rest-table .rest-check:checked{background:#333}
  .rest-table .rest-note{border:0;padding:0;min-width:80px;color:#000;background:#fff}
  .mlc-signatures input{border:0;border-bottom:1px solid #333;border-radius:0;color:#000;background:#fff}
  .mlc-compliance{grid-template-columns:repeat(3,1fr);gap:6px}
}
.category-manager{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.category-manager .actions{align-items:center;flex-wrap:wrap}
.category-manager input{min-width:240px;flex:1}
.approval-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:18px;border:1px solid #345b72;border-radius:14px;background:#0a1e2e}.approval-panel>div:first-child{display:grid;gap:6px}.approval-actions{display:flex;gap:10px;flex-wrap:wrap}.approval-status{display:inline-block;width:max-content;border-radius:999px;padding:7px 12px}.status-draft{background:#334b5d}.status-submitted{background:#72551d;color:#ffe8ad}.status-approved{background:#195a42;color:#c9ffe8}.status-returned{background:#66343b;color:#ffd9dd}.return-btn{background:#66343b;color:#ffd9dd}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.approval-panel{align-items:stretch;flex-direction:column}.approval-actions button{width:100%}}

/* NAVIS ONE V8 — Crew Approved Forms Archive */
#crewApprovedFormsCard .approval-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
#crewApprovedFormsCard .status-approved{background:#173d2d;color:#9ff0bf;border:1px solid #2f7554}
#crewApprovedFormsCard td:last-child{min-width:180px}
@media(max-width:760px){#crewApprovedFormsCard table{min-width:820px}}
@media print{#crewApprovedFormsCard{display:none!important}}

/* NAVIS ONE V10 — Crew Mobile Access */
.access-pill{display:inline-block;margin-top:7px;background:#173d2d;color:#aef2c9;border:1px solid #2f7554;border-radius:999px;padding:7px 11px;font-weight:700;font-size:12px}
.inner-card{box-shadow:none;margin-top:18px;background:#0d2233}.profile-value{font-size:18px!important;overflow-wrap:anywhere}#myprofile .metric strong{font-size:22px}
@media(max-width:760px){#myprofile .metrics{grid-template-columns:1fr}#myprofile table{min-width:720px}#mlc .section-head{display:block}#mlc .report-actions{margin-top:12px}}

.auth-actions{margin-top:14px}.auth-actions .secondary{color:#071827}@media(max-width:600px){.auth-actions{display:grid;grid-template-columns:1fr}.auth-actions button{width:100%}}

.edit-btn{background:#315d78;color:#eef7ff;padding:7px 10px}.record-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}

.build-tag{opacity:.55;font-size:11px;margin-left:8px}.edit-btn{display:inline-block!important;visibility:visible!important;opacity:1!important}


/* NAVIS ONE V31.1 — Professional Finance Report + Analysis print */
.finance-print-banner{display:none}
.category-print-mark{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--cat-color);margin-right:8px;vertical-align:1px;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
@media print{
  body.finance-report-print{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    background:#fff!important;
    color:#162432!important;
  }
  body.finance-report-print @page{size:A4 portrait;margin:12mm}
  body.finance-report-print .shell{max-width:none!important;padding:0!important}
  body.finance-report-print .brand,
  body.finance-report-print .topbar,
  body.finance-report-print .tabs,
  body.finance-report-print #dashboard,
  body.finance-report-print #expenses,
  body.finance-report-print #income,
  body.finance-report-print #crew,
  body.finance-report-print #mlc,
  body.finance-report-print #myprofile,
  body.finance-report-print #fleet,
  body.finance-report-print #devices,
  body.finance-report-print #backups,
  body.finance-report-print #loginCard,
  body.finance-report-print #lockedCard{display:none!important}
  body.finance-report-print #reports,
  body.finance-report-print #analysis{display:block!important}
  body.finance-report-print #reports{break-after:page;page-break-after:always}
  body.finance-report-print #analysis{break-before:page;page-break-before:always}
  body.finance-report-print .finance-print-banner{
    display:flex!important;justify-content:space-between;align-items:flex-end;
    padding:0 0 10px;margin:0 0 14px;border-bottom:3px solid #173d56;color:#173d56
  }
  body.finance-report-print .finance-print-banner>div:first-child{display:flex;flex-direction:column;gap:2px}
  body.finance-report-print .finance-print-banner strong{font-size:22px;letter-spacing:1.5px}
  body.finance-report-print .finance-print-banner span{font-size:8px;letter-spacing:1.6px;font-weight:700}
  body.finance-report-print .finance-print-meta{font-size:11px;font-weight:800;letter-spacing:1px}
  body.finance-report-print .card.print-area{border:0!important;padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important;color:#162432!important}
  body.finance-report-print .section-head{margin-bottom:12px}
  body.finance-report-print .section-head h3{font-size:20px;color:#173d56;margin:0 0 4px}
  body.finance-report-print .section-head .muted{font-size:10px;color:#647684!important}
  body.finance-report-print .metrics{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin:10px 0 16px!important}
  body.finance-report-print .metric{
    min-height:70px!important;padding:10px!important;border:1px solid #d6e0e7!important;
    border-radius:9px!important;background:#f6f9fb!important;color:#162432!important;
    break-inside:avoid;page-break-inside:avoid
  }
  body.finance-report-print .metric span{font-size:9px!important;text-transform:uppercase;letter-spacing:.5px;color:#607483!important}
  body.finance-report-print .metric strong{font-size:15px!important;color:#173d56!important;line-height:1.25}
  body.finance-report-print .metric small{font-size:8px!important;color:#607483!important;line-height:1.35}
  body.finance-report-print h3{color:#173d56!important}
  body.finance-report-print .table-wrap{overflow:visible!important;border:1px solid #d6e0e7;border-radius:8px}
  body.finance-report-print table{width:100%!important;min-width:0!important;border-collapse:collapse!important;font-size:9px!important}
  body.finance-report-print th{background:#173d56!important;color:#fff!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.45px;padding:7px!important}
  body.finance-report-print td{color:#1f2e39!important;padding:6px 7px!important;border-bottom:1px solid #e3e9ed!important}
  body.finance-report-print tbody tr:nth-child(even) td{background:#f7f9fb!important}
  body.finance-report-print .category-print-mark{
    width:9px;height:9px;border-radius:2px;margin-right:7px;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important
  }
  body.finance-report-print .analysis-grid{
    display:grid!important;grid-template-columns:190px 1fr!important;gap:22px!important;
    align-items:center!important;margin:12px 0 18px!important;break-inside:avoid;page-break-inside:avoid
  }
  body.finance-report-print .donut-wrap{display:flex!important;justify-content:center!important}
  body.finance-report-print .donut{
    width:165px!important;height:165px!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)
  }
  body.finance-report-print .donut:after{background:#fff!important}
  body.finance-report-print .donut-center strong{color:#173d56!important;font-size:13px!important}
  body.finance-report-print .donut-center span{color:#607483!important;font-size:8px!important}
  body.finance-report-print .legend{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 12px!important}
  body.finance-report-print .legend-item{
    padding:6px 8px!important;border:1px solid #e0e7ec!important;border-radius:6px!important;
    background:#fafcfd!important;color:#1f2e39!important;font-size:9px!important
  }
  body.finance-report-print .legend-dot{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important
  }
  body.finance-report-print #analysis .print-only-title{
    display:block!important;font-size:11px;font-weight:800;color:#607483!important;margin:-8px 0 8px
  }
}

/* NAVIS ONE V31.2 — Maintenance & Checks */
.maintenance-hero{border-top:3px solid #d8b36a}.maintenance-filters{margin-top:8px}
.maintenance-print-head{display:none}.maintenance-list{display:grid;gap:8px;margin:14px 0}
.maintenance-row{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(180px,.55fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid #294c63;border-radius:10px;background:#0b2030}
.maint-item{display:flex;gap:10px;align-items:center}.maint-no{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#173d56;color:#cfe8f7;font-size:11px;font-weight:800;flex:0 0 auto}
.maint-status{display:flex;gap:6px}.maint-choice{padding:7px 9px;background:#17384d;color:#d9e8f2;border:1px solid #315d78}.maint-choice.active{background:#23744e;border-color:#52a779;color:#fff}.maint-choice.problem.active{background:#8b3841;border-color:#c65e68}.maint-choice.na.active{background:#5a6570;border-color:#84919d}
.maint-note{min-width:0}.maint-print-status{display:none}.maint-ok{box-shadow:inset 4px 0 0 #52a779}.maint-problem{box-shadow:inset 4px 0 0 #c65e68}.maint-na{box-shadow:inset 4px 0 0 #84919d}
.maintenance-notes{margin-top:18px}.maintenance-notes textarea{width:100%;margin-top:7px}
.maintenance-signatures{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid #315d78}.maintenance-signatures>div{display:grid;gap:5px}.maintenance-signatures span{font-size:11px;color:#91a9b9}.maintenance-signatures strong{font-size:14px}.maint-status-problem{color:#ff9ba3}.maint-status-ok{color:#82e0aa}
@media(max-width:900px){.maintenance-row{grid-template-columns:1fr}.maint-status{flex-wrap:wrap}.maintenance-signatures{grid-template-columns:1fr}}
@media print{
 body.maintenance-print{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;color:#172733!important}
 body.maintenance-print .brand,body.maintenance-print .topbar,body.maintenance-print .tabs,body.maintenance-print .page:not(#maintenance),body.maintenance-print #maintenance>.maintenance-hero{display:none!important}
 body.maintenance-print #maintenance{display:block!important}
 body.maintenance-print #maintenance .print-area{display:block!important;border:0!important;padding:0!important;margin:0!important;background:#fff!important;color:#172733!important}
 body.maintenance-print .maintenance-print-head{display:flex!important;justify-content:space-between;align-items:flex-end;border-bottom:3px solid #173d56;padding-bottom:9px;margin-bottom:12px;color:#173d56}
 body.maintenance-print .maintenance-print-head>div{display:flex;flex-direction:column;gap:2px}.maintenance-print-head>div:last-child{text-align:right}.maintenance-print-head strong{font-size:20px;letter-spacing:1px}.maintenance-print-head span{font-size:8px;letter-spacing:1px}
 body.maintenance-print .maintenance-list{gap:4px}.maintenance-row{grid-template-columns:1fr 190px 210px!important;padding:6px 8px!important;border:1px solid #cbd7de!important;border-radius:5px!important;background:#fff!important;color:#172733!important;box-shadow:none!important;break-inside:avoid}
 body.maintenance-print .maint-no{background:#173d56!important;color:#fff!important}.maint-item strong{font-size:9px!important}
 body.maintenance-print .maint-print-status{display:flex!important;gap:10px;font-size:8px}.maint-print-status span.checked{font-weight:900;color:#173d56}.maint-print-status span.checked::first-letter{color:#173d56}
 body.maintenance-print .maint-note{border:0!important;border-bottom:1px solid #aab9c2!important;border-radius:0!important;background:#fff!important;color:#172733!important;font-size:8px!important;padding:3px!important}
 body.maintenance-print .maintenance-notes textarea{border:1px solid #cbd7de!important;background:#fff!important;color:#172733!important}
 body.maintenance-print .maintenance-signatures{border-color:#9eb0bc!important;color:#172733!important}.maintenance-signatures span{color:#667b89!important}
}


/* NAVIS ONE V31.3 — Deck Watch + Operations Archive */
.watch-hero{border-top:3px solid #5dade2}
.watch-meta-grid{margin-top:10px}.watch-people-grid,.watch-handover-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.watch-people-grid textarea,.watch-handover-grid textarea{width:100%;margin-top:6px}
.watch-logbook-block{margin:14px 0;padding:12px 14px;border:1px solid #315d78;border-radius:10px;background:#0b2030}.watch-logbook-check{display:flex;gap:10px;align-items:center}.watch-logbook-check input{width:18px;height:18px}
.archive-filters{margin:10px 0 14px}.archive-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.archive-completed{background:#173d2d;color:#9ff0bf}.archive-attention{background:#66343b;color:#ffd9dd}.archive-in_progress{background:#72551d;color:#ffe8ad}
.archive-detail{margin-top:18px}.archive-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 16px}.archive-summary-grid>div{display:grid;gap:5px;padding:12px;border:1px solid #315d78;border-radius:10px;background:#0b2030}.archive-summary-grid span{font-size:10px;color:#91a9b9}.archive-summary-grid strong{font-size:13px}.archive-extra{margin-top:14px;padding:12px;border:1px solid #315d78;border-radius:10px}.archive-people p{margin:6px 0 0;white-space:pre-wrap}
.maintenance-save-status{margin-top:8px}
@media(max-width:800px){.watch-people-grid,.watch-handover-grid,.archive-summary-grid{grid-template-columns:1fr}}
@media print{
 body.watch-print{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;color:#172733!important}
 body.watch-print .brand,body.watch-print .topbar,body.watch-print .tabs,body.watch-print .page:not(#watch),body.watch-print #watch>.watch-hero{display:none!important}
 body.watch-print #watch{display:block!important}body.watch-print #watch .print-area{display:block!important;border:0!important;padding:0!important;margin:0!important;background:#fff!important;color:#172733!important}
 body.watch-print .watch-logbook-block{background:#fff!important;color:#172733!important;border-color:#cbd7de!important}
 body.watch-print .watch-people-grid,body.watch-print .watch-handover-grid{grid-template-columns:1fr 1fr!important}body.watch-print textarea{background:#fff!important;color:#172733!important;border:1px solid #cbd7de!important}
 body.archive-detail-print{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;color:#172733!important}
 body.archive-detail-print .brand,body.archive-detail-print .topbar,body.archive-detail-print .tabs,body.archive-detail-print .page:not(#opsarchive),body.archive-detail-print #opsarchive>.card:first-child{display:none!important}
 body.archive-detail-print #opsarchive,body.archive-detail-print #archiveDetail{display:block!important}body.archive-detail-print #archiveDetail{border:0!important;background:#fff!important;color:#172733!important;padding:0!important}
 body.archive-detail-print #archiveDetail table{color:#172733!important;background:#fff!important}body.archive-detail-print #archiveDetail th{background:#173d56!important;color:#fff!important}body.archive-detail-print #archiveDetail td{color:#172733!important}
}

.save-feedback{display:none!important;margin-top:12px!important;padding:12px 14px!important;border-radius:10px!important;border:1px solid transparent!important;font-weight:700!important;align-items:center!important;gap:10px!important}.save-feedback.show{display:flex!important}.save-feedback strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;flex:0 0 auto}.save-feedback.save-wait{background:#102d40!important;border-color:#3d6b86!important;color:#d8edf9!important}.save-feedback.save-ok{background:#123b2a!important;border-color:#3f8b64!important;color:#bff2d3!important}.save-feedback.save-error{background:#4a252b!important;border-color:#a9535e!important;color:#ffd7dc!important}#maintSaveBtn:disabled,#watchSaveBtn:disabled{opacity:.65;cursor:wait}

/* NAVIS ONE V31.4 — Watch Roster / wall schedule */
.roster-hero{border-top:3px solid #af7ac5}.roster-controls{margin:10px 0}.roster-sheet{margin-top:16px}.roster-print-head{display:none}.roster-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.roster-title-row h2{margin:4px 0 14px;font-size:22px}.roster-title-row #rosterLegend{display:flex;gap:8px;flex-wrap:wrap;font-size:10px}.roster-title-row #rosterLegend span{padding:5px 8px;border:1px solid #315d78;border-radius:999px}
#rosterTable{min-width:1050px}#rosterTable th,#rosterTable td{text-align:center;vertical-align:middle}#rosterTable th:nth-child(2),#rosterTable td:nth-child(2),#rosterTable th:nth-child(3),#rosterTable td:nth-child(3){text-align:left}
#rosterTable input,#rosterTable select{min-width:0;width:100%;padding:7px 6px}.roster-tour-cell{position:relative}.roster-tour-check{width:22px!important;height:22px}.roster-print-check{display:none;font-size:18px;font-weight:900}
.roster-duty-watch{background:#173d2d!important;color:#aef2c9!important}.roster-duty-day{background:#17384d!important;color:#d9e8f2!important}.roster-duty-night{background:#302f55!important;color:#dddafa!important}.roster-duty-standby{background:#72551d!important;color:#ffe8ad!important}.roster-duty-off{background:#4c5359!important;color:#e1e5e8!important}
.roster-footer{display:flex;justify-content:space-between;gap:20px;margin-top:14px;padding-top:10px;border-top:1px solid #315d78;font-size:11px}
@media(max-width:800px){.roster-title-row{align-items:flex-start;flex-direction:column}.roster-table-wrap{overflow:auto}}
@media print{
 @page{size:A4 landscape;margin:8mm}
 body.roster-print{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;color:#152735!important}
 body.roster-print .brand,body.roster-print .topbar,body.roster-print .tabs,body.roster-print .page:not(#watchroster),body.roster-print #watchroster>.roster-hero{display:none!important}
 body.roster-print #watchroster{display:block!important}body.roster-print #rosterSheet{display:block!important;border:0!important;padding:0!important;margin:0!important;background:#fff!important;color:#152735!important}
 body.roster-print .roster-print-head{display:flex!important;justify-content:space-between;align-items:flex-end;border-bottom:3px solid #173d56;padding-bottom:8px;margin-bottom:10px;color:#173d56}.roster-print-head>div{display:flex;flex-direction:column}.roster-print-head>div:last-child{text-align:right}.roster-print-head strong{font-size:20px;letter-spacing:1px}.roster-print-head span{font-size:8px;letter-spacing:1px}
 body.roster-print #rosterTable{min-width:0!important;width:100%!important;font-size:9px!important}body.roster-print #rosterTable th{background:#173d56!important;color:#fff!important;padding:6px 3px!important}body.roster-print #rosterTable td{padding:5px 3px!important;border:1px solid #b9c7d0!important;color:#172733!important}
 body.roster-print #rosterTable input,body.roster-print #rosterTable select{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;color:#172733!important;padding:0!important;font-size:9px!important;text-align:inherit}
 body.roster-print .roster-tour-check{display:none!important}body.roster-print .roster-print-check{display:inline!important;color:#173d56!important}
 body.roster-print .roster-duty-watch{background:#dff3e7!important;color:#183c2b!important}.roster-duty-day{background:#e1eef5!important;color:#17384d!important}.roster-duty-night{background:#e7e4f7!important;color:#302f55!important}.roster-duty-standby{background:#f7ebc9!important;color:#5c4517!important}.roster-duty-off{background:#e6e9eb!important;color:#3f474d!important}
 body.roster-print .roster-footer{color:#405666!important;border-color:#99aab5!important}
}

/* NAVIS ONE V31.5 — Monthly automatic harbour watch rotation */
.roster-weekend-row td{background:rgba(245,176,65,.08)}
.roster-tour-pause-row td{background:rgba(93,173,226,.12)!important;color:#a9d8f1!important}
.monthly-duty-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#173d2d;color:#aef2c9;font-size:10px;font-weight:800;white-space:nowrap}
.monthly-duty-badge.weekend{background:#72551d;color:#ffe8ad}
.monthly-duty-badge.tour-pause{background:#17384d;color:#d9e8f2}
@media print{
 body.roster-print .roster-tour-pause-row td{background:#e1eef5!important;color:#17384d!important}
 body.roster-print .monthly-duty-badge{border:1px solid #8096a4!important;background:#fff!important;color:#172733!important}
}

/* NAVIS ONE V31.5.2 — visible monthly crew pool */
#monthlyCrewPanel{margin-top:14px}.monthly-crew-pool{display:grid;gap:7px}.monthly-crew-row{display:grid;grid-template-columns:34px minmax(180px,1fr) minmax(120px,.55fr) 42px;gap:8px;align-items:center}.monthly-crew-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#173d56;color:#dcebf5;font-size:11px;font-weight:800}.monthly-crew-row input{min-width:0}
@media(max-width:700px){.monthly-crew-row{grid-template-columns:32px 1fr 1fr 38px}}
@media print{body.roster-print #monthlyCrewPanel{display:none!important}}

/* V31.5.3 Monthly wall calendar + continuity */
.monthly-crew-row.selected{outline:2px solid #dcb867;border-radius:8px;background:rgba(220,184,103,.08)}
.continuity-box{margin-top:14px;padding:12px;border:1px solid #315d78;border-radius:12px;background:rgba(12,38,55,.55)}.continuity-box h4{margin:0 0 8px}
.monthly-calendar{margin-top:10px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays span{text-align:center;font-weight:800;font-size:11px;padding:6px;background:#173d56;border-radius:5px}.calendar-day{min-height:105px;border:1px solid #315d78;border-radius:8px;padding:7px;background:rgba(8,30,43,.55)}.calendar-day.empty{border:0;background:transparent}.calendar-day.weekend{background:rgba(114,85,29,.25)}.calendar-day.tour{background:rgba(23,56,77,.65)}.calendar-date{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #315d78;padding-bottom:4px;margin-bottom:8px}.calendar-date b{font-size:17px}.calendar-date span{font-size:9px;text-transform:uppercase}.calendar-duty{display:flex;flex-direction:column;gap:4px}.calendar-duty strong{font-size:13px}.calendar-duty small{font-size:8px;opacity:.8}
@media(max-width:800px){.calendar-day{min-height:80px;padding:4px}.calendar-duty strong{font-size:10px}.calendar-duty small{font-size:7px}}
@media print{body.roster-print .monthly-calendar{display:block!important}.calendar-weekdays span{background:#173d56!important;color:#fff!important}.calendar-day{min-height:82px!important;border:1px solid #8799a5!important;background:#fff!important;color:#172733!important}.calendar-day.weekend{background:#f5ecd4!important}.calendar-day.tour{background:#e1eef5!important}.calendar-duty strong{font-size:11px!important}.calendar-duty small{font-size:7px!important}}

/* NAVIS ONE V31.5.5 — Update banner */
.update-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:10px 0 14px;padding:12px 14px;border:1px solid #4b7591;border-radius:12px;background:#102d40;color:#e6f5ff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.update-banner>div:first-child{display:grid;gap:3px}.update-banner strong{font-size:14px}.update-banner span{font-size:11px;color:#a9c9dc}.update-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.update-banner{align-items:stretch;flex-direction:column}.update-actions button{flex:1}}
@media print{.update-banner{display:none!important}}

/* V31.5.8 — highly visible update alert */
.update-banner:not(.hidden){position:fixed!important;z-index:99999!important;top:12px!important;left:50%!important;transform:translateX(-50%)!important;width:min(760px,calc(100% - 24px))!important;display:flex!important;border:2px solid #e4c06d!important;box-shadow:0 14px 45px rgba(0,0,0,.45)!important}

/* V31.6.1 — persistent version indicator */
.navis-version-badge{
 position:fixed;right:14px;bottom:10px;z-index:9000;
 padding:6px 10px;border:1px solid rgba(255,255,255,.18);
 border-radius:999px;background:rgba(7,24,45,.82);
 color:rgba(255,255,255,.78);font-size:11px;font-weight:700;
 letter-spacing:.04em;backdrop-filter:blur(8px);
 box-shadow:0 5px 18px rgba(0,0,0,.18);
 pointer-events:none;user-select:none;
}
@media print{.navis-version-badge{display:none!important}}

/* V31.6.4 — exact device code */
.device-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.06em;color:#d9bd72;font-weight:800}

/* V31.7.0 Emergency Muster */
.muster-sheet h2,.muster-sheet h3{text-align:center}.muster-title-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.muster-signals{display:grid;gap:7px;margin:14px 0}.muster-signals label{display:grid;grid-template-columns:90px 1fr;align-items:center}.muster-table{min-width:1180px}.muster-table textarea{min-height:100px;min-width:190px}.muster-table td:nth-child(2) input{display:block;margin-bottom:5px}.muster-teams{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.muster-team{border:1px solid var(--line);padding:10px;border-radius:10px}.muster-team label{display:block;margin-top:7px}.print-only{display:none}
@media(max-width:900px){.muster-title-grid,.muster-teams{grid-template-columns:1fr}.muster-table{min-width:1000px}}
@media print{
 body.emergency-print{background:white!important;color:#111!important}
 body.emergency-print .no-print,
 body.emergency-print .tabs,
 body.emergency-print .top-actions,
 body.emergency-print #updateBanner{display:none!important}
 body.emergency-print .page{display:none!important}
 body.emergency-print #emergency{display:block!important}
 body.emergency-print .card,
 body.emergency-print .muster-team{background:white!important;color:#111!important;box-shadow:none!important;border-color:#555!important}
 body.emergency-print .muster-sheet input,
 body.emergency-print .muster-sheet textarea{border:0!important;background:white!important;color:#111!important;padding:2px!important}
 body.emergency-print .muster-table{min-width:0!important;width:100%;font-size:8pt}
 body.emergency-print .muster-table textarea{min-width:0!important;min-height:60px!important;font-size:7.5pt}
 body.emergency-print .muster-teams{grid-template-columns:repeat(5,1fr)!important;font-size:8pt}
 body.emergency-print .print-only{display:block!important}
 body.emergency-print .muster-sheet{page-break-inside:auto}
 body.emergency-print .muster-title-grid{grid-template-columns:repeat(3,1fr)!important}

 body.mlc-print .page{display:none!important}
 body.mlc-print #mlc{display:block!important}
 body.mlc-print #emergency{display:none!important}
}

/* V31.7.5 — professional MLC Hours of Rest print */
.rest-print-mark{display:none}

@media print{
  body.mlc-print{
    background:#fff!important;
    color:#000!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    font-family:Arial,Helvetica,sans-serif!important;
  }
  body.mlc-print #mlc{
    color:#000!important;
    background:#fff!important;
    width:100%!important;
  }
  body.mlc-print #mlc .card{
    border:0!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    background:#fff!important;
    color:#000!important;
  }
  body.mlc-print #mlc h2,
  body.mlc-print #mlc h3,
  body.mlc-print #mlc strong,
  body.mlc-print #mlc label,
  body.mlc-print #mlc p,
  body.mlc-print #mlc span,
  body.mlc-print #mlc td,
  body.mlc-print #mlc th{
    color:#000!important;
    text-shadow:none!important;
  }

  body.mlc-print .rest-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:7.5pt!important;
    line-height:1.15!important;
  }
  body.mlc-print .rest-table th,
  body.mlc-print .rest-table td{
    border:0.7pt solid #111!important;
    padding:1.2mm 0.5mm!important;
    text-align:center!important;
    vertical-align:middle!important;
    background:#fff!important;
    color:#000!important;
    font-weight:600!important;
  }
  body.mlc-print .rest-table th{
    font-weight:800!important;
    font-size:7.2pt!important;
  }
  body.mlc-print .rest-table th:first-child,
  body.mlc-print .rest-table td:first-child{
    width:6mm!important;
    min-width:6mm!important;
    font-weight:800!important;
  }
  body.mlc-print .rest-hour-cell{
    width:6.2mm!important;
    min-width:6.2mm!important;
    padding:0!important;
  }

  /* Browser checkbox fills are often omitted on paper.
     Hide the control and print a real black glyph instead. */
  body.mlc-print .rest-check{
    position:absolute!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.mlc-print .rest-print-mark{
    display:none!important;
    color:#000!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:9pt!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body.mlc-print .rest-check:checked + .rest-print-mark{
    display:inline-block!important;
  }

  body.mlc-print .rest-count,
  body.mlc-print [id^="dailyStatus"],
  body.mlc-print [id^="weeklyStatus"]{
    font-weight:800!important;
    color:#000!important;
  }

  body.mlc-print .rest-note{
    border:0!important;
    background:#fff!important;
    color:#000!important;
    font-size:7pt!important;
    font-weight:600!important;
    padding:0!important;
    width:100%!important;
  }

  body.mlc-print .mlc-compliance,
  body.mlc-print .mlc-rule-note,
  body.mlc-print .approval-status,
  body.mlc-print .approval-info{
    color:#000!important;
    background:#fff!important;
    border-color:#222!important;
    box-shadow:none!important;
  }

  body.mlc-print .muted{
    color:#222!important;
  }

  body.mlc-print input,
  body.mlc-print textarea,
  body.mlc-print select{
    color:#000!important;
    opacity:1!important;
  }
}

/* V31.7.6 — compact MLC print, target max 2 A4 landscape pages */
@media print{
  @page{
    size:A4 landscape;
    margin:5mm;
  }

  body.mlc-print{
    margin:0!important;
    padding:0!important;
  }

  body.mlc-print #mlc .section-head{
    margin:0 0 1.5mm 0!important;
    padding:0!important;
    min-height:0!important;
    align-items:flex-start!important;
  }
  body.mlc-print #mlc .section-head h3{
    margin:0!important;
    font-size:10pt!important;
    line-height:1.05!important;
  }
  body.mlc-print #mlc .section-head p{
    margin:.6mm 0 0!important;
    font-size:6pt!important;
    line-height:1.05!important;
  }

  /* Seçili Crew / Ay / Rest Hours / Kayıtlı Gün: very compact */
  body.mlc-print #mlc > .card > .metrics{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:1.2mm!important;
    margin:1mm 0!important;
  }
  body.mlc-print #mlc > .card > .metrics .metric{
    min-height:0!important;
    padding:1.2mm 1.5mm!important;
    border:.5pt solid #444!important;
    border-radius:0!important;
  }
  body.mlc-print #mlc > .card > .metrics .metric span{
    font-size:5.8pt!important;
    line-height:1!important;
    margin:0!important;
  }
  body.mlc-print #mlc > .card > .metrics .metric strong{
    font-size:8pt!important;
    line-height:1.05!important;
    margin:.4mm 0!important;
  }
  body.mlc-print #mlc > .card > .metrics .metric small{
    font-size:5.5pt!important;
    line-height:1!important;
    margin:0!important;
  }

  body.mlc-print .mlc-legend{
    display:flex!important;
    justify-content:space-between!important;
    gap:2mm!important;
    margin:1mm 0!important;
    font-size:5.8pt!important;
    line-height:1!important;
  }
  body.mlc-print .rest-swatch{
    width:2.5mm!important;
    height:2.5mm!important;
    border-radius:0!important;
    background:#000!important;
  }

  body.mlc-print .mlc-compliance{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:1.2mm!important;
    margin:1mm 0!important;
  }
  body.mlc-print .mlc-compliance .metric{
    min-height:0!important;
    padding:1mm 1.2mm!important;
    border:.5pt solid #444!important;
    border-radius:0!important;
  }
  body.mlc-print .mlc-compliance .metric span{
    font-size:5.5pt!important;
    line-height:1!important;
  }
  body.mlc-print .mlc-compliance .metric strong{
    font-size:7pt!important;
    line-height:1!important;
    margin:.3mm 0!important;
  }
  body.mlc-print .mlc-compliance .metric small{
    font-size:5pt!important;
    line-height:1!important;
  }

  body.mlc-print .mlc-rule-note{
    margin:1mm 0 1.2mm!important;
    padding:.8mm 1.2mm!important;
    font-size:5.2pt!important;
    line-height:1.05!important;
    border:.5pt solid #555!important;
  }

  body.mlc-print .table-wrap{
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }
  body.mlc-print .rest-table{
    font-size:5.5pt!important;
    line-height:1!important;
    page-break-inside:auto!important;
  }
  body.mlc-print .rest-table thead{
    display:table-header-group!important;
  }
  body.mlc-print .rest-table tr{
    page-break-inside:avoid!important;
    break-inside:avoid!important;
    height:4.2mm!important;
  }
  body.mlc-print .rest-table th,
  body.mlc-print .rest-table td{
    padding:.45mm .18mm!important;
    font-size:5.3pt!important;
    line-height:1!important;
    height:4.2mm!important;
  }
  body.mlc-print .rest-table th{
    font-size:5pt!important;
  }
  body.mlc-print .rest-table th:first-child,
  body.mlc-print .rest-table td:first-child{
    width:4.5mm!important;
    min-width:4.5mm!important;
  }
  body.mlc-print .rest-hour-cell{
    width:4.3mm!important;
    min-width:4.3mm!important;
  }
  body.mlc-print .rest-print-mark{
    font-size:7pt!important;
    line-height:.9!important;
  }
  body.mlc-print .rest-note{
    font-size:5pt!important;
    line-height:1!important;
  }

  /* Signature block compact and allowed to continue on page 2 */
  body.mlc-print .mlc-signatures{
    display:grid!important;
    grid-template-columns:1fr 1fr .65fr!important;
    gap:2mm!important;
    margin:2mm 0 0!important;
    padding-top:1mm!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  body.mlc-print .mlc-signatures label{
    font-size:5.5pt!important;
    line-height:1!important;
  }
  body.mlc-print .mlc-signatures input{
    height:6mm!important;
    min-height:6mm!important;
    padding:.5mm!important;
    font-size:6pt!important;
    border:.5pt solid #333!important;
  }

  body.mlc-print .approval-panel{
    margin:1.5mm 0 0!important;
    padding:1mm!important;
    min-height:0!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
    font-size:5.5pt!important;
  }
  body.mlc-print #mlcMsg{
    display:none!important;
  }
}

/* V31.7.7 — MLC yacht title + clean approved print status */
.mlc-print-yacht-name{display:none}
@media print{
  body.mlc-print .mlc-print-yacht-name{
    display:block!important;
    margin:.6mm 0 0!important;
    padding:0!important;
    color:#000!important;
    background:transparent!important;
    font-size:8pt!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
  }

  /* Approval area: no dark fill on paper. Only the approval word is needed. */
  body.mlc-print .approval-panel{
    display:block!important;
    background:#fff!important;
    color:#000!important;
    border:0!important;
    box-shadow:none!important;
    padding:1mm 0 0!important;
  }
  body.mlc-print .approval-panel .muted,
  body.mlc-print #mlcApprovalInfo{
    display:none!important;
  }
  body.mlc-print #mlcApprovalStatus{
    display:inline-block!important;
    background:#fff!important;
    color:#000!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    font-size:7pt!important;
    font-weight:800!important;
    line-height:1!important;
  }
}

/* V31.7.8 — MLC record management */
.mlc-record-management{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #35566d;
  border-radius:12px;
  background:#0c2233;
}
.mlc-record-management>div:first-child{
  display:grid;
  gap:4px;
}
.mlc-record-management strong{font-size:13px}
.mlc-record-management small{color:#9fb6c6}
.mlc-record-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.mlc-record-management p{
  margin:0;
  flex-basis:100%;
}
@media(max-width:760px){
  .mlc-record-management{align-items:stretch;flex-direction:column}
  .mlc-record-actions button{flex:1}
}
@media print{
  .mlc-record-management{display:none!important}
}

/* V31.7.9 — Crew permission controls */
.crew-permission-help{
  display:grid;
  gap:4px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #31566e;
  border-radius:10px;
  background:#0b2233;
}
.crew-permission-help strong{font-size:13px}
.crew-permission-help span{font-size:11px;color:#a9c0ce}
.crew-permission-item{display:grid;gap:3px}
.crew-permission-item small{font-size:10px;color:#93aebd}

/* Crew finance is intentionally limited to basic expense workflow */
body.crew-finance-limited #categoryAdmin,
body.crew-finance-limited .category-admin,
body.crew-finance-limited #addCategoryCard,
body.crew-finance-limited .finance-admin-only{
  display:none!important;
}

/* V31.8.0 — Captain module permissions */
.captain-perm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.captain-perm-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #31556c;border-radius:10px;background:#0b2131}
.captain-perm-grid input{width:auto}
.captain-perm-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:800px){.captain-perm-grid{grid-template-columns:1fr}}

/* V31.8.3 — category expense bar chart */
.analysis-chart-card{margin:20px 0 24px;padding:18px;border:1px solid #274a61;border-radius:16px;background:#0a2030}
.analysis-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.analysis-chart-head h3{margin:0 0 4px}.analysis-chart-head p{margin:0}.analysis-chart-head>strong{white-space:nowrap;font-size:18px}
.category-bar-chart{display:grid;gap:12px}
.analysis-currency-group{display:grid;gap:10px;padding-top:4px}
.analysis-currency-group+.analysis-currency-group{border-top:1px solid #274a61;padding-top:15px;margin-top:4px}
.analysis-currency-title{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#dceaf3}
.analysis-currency-title strong{font-size:14px;letter-spacing:.05em}.analysis-currency-title span{font-size:12px;color:#9fb5c7}
.analysis-bar-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) minmax(120px,170px);gap:14px;align-items:center}
.analysis-bar-label{display:flex;align-items:center;gap:10px;min-width:0}
.analysis-color-block{width:8px;height:32px;border-radius:5px;flex:0 0 auto}
.analysis-bar-label>div{display:grid;min-width:0}
.analysis-bar-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.analysis-bar-label small{font-size:10px;color:#8fa8b8}
.analysis-bar-track{height:22px;overflow:hidden;border-radius:7px;background:#061723;border:1px solid #25475d}
.analysis-bar-fill{height:100%;min-width:0;border-radius:6px;transition:width .25s ease}
.analysis-bar-value{display:grid;justify-items:end;line-height:1.1}
.analysis-bar-value strong{font-size:12px}.analysis-bar-value small{font-size:10px;color:#9fb5c7;margin-top:3px}
.analysis-empty-chart{padding:28px;text-align:center;color:#91a8b8;border:1px dashed #31566d;border-radius:10px}
@media(max-width:760px){.analysis-bar-row{grid-template-columns:1fr;gap:6px;padding-bottom:10px;border-bottom:1px solid #1d3b50}.analysis-bar-value{justify-items:start}.analysis-chart-head{display:grid}}
@media print{
.analysis-chart-card{background:#fff!important;color:#000!important;border-color:#999!important;padding:10px!important}
.analysis-bar-track{background:#eee!important;border-color:#aaa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.analysis-bar-fill,.analysis-color-block{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.analysis-bar-label strong,.analysis-bar-value strong,.analysis-currency-title strong{color:#000!important}
.analysis-bar-label small,.analysis-bar-value small,.analysis-currency-title span{color:#444!important}
}

/* V31.8.4 — slimmer analysis bars */
.analysis-color-block{width:5px!important;height:22px!important;border-radius:4px!important}
.analysis-bar-track{height:14px!important;border-radius:5px!important}
.analysis-bar-fill{border-radius:4px!important}

/* V31.8.5 full language menu */
.language-help{font-size:10px;color:#8fa8b8;align-self:center;white-space:nowrap}
@media(max-width:600px){.language-help{display:none!important}}

/* V31.8.7 — Fleet privacy */
.fleet-privacy-note{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px;padding:10px 12px;border:1px solid #35566d;border-radius:10px;background:#0b2233}
.fleet-privacy-note strong{white-space:nowrap}.fleet-privacy-note span{color:#a9c0ce;font-size:12px}
.privacy-pill{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #3c6077;border-radius:999px;color:#b9cedb;font-size:11px;white-space:nowrap}
