:root {
  --ink: #17201f;
  --muted: #667270;
  --line: #e6ebe9;
  --canvas: #f5f7f6;
  --card: #ffffff;
  --brand: #123c3a;
  --brand-2: #1e625d;
  --mint: #dff1ea;
  --lime: #c7ee8c;
  --amber: #f5b94c;
  --red: #d85b4f;
  --blue: #4c78a8;
  --shadow: 0 12px 30px rgba(18, 60, 58, .08);
  --radius: 18px;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Inter, Aptos, 'Segoe UI', sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px 1fr; }
.sidebar { background: var(--brand); color: white; padding: 26px 18px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.logo { display: flex; align-items: center; gap: 11px; padding: 0 9px 27px; }
.logo-mark { width: 38px; height: 38px; border-radius: 12px; background: var(--lime); color: var(--brand); display: grid; place-items: center; font: 800 18px Inter, Aptos, 'Segoe UI', sans-serif; transform: rotate(-5deg); }
.logo-name { font: 800 20px Inter, Aptos, 'Segoe UI', sans-serif; letter-spacing: -.5px; }
.logo-name small { display: block; font: 500 10px Inter, Aptos, 'Segoe UI', sans-serif; color: #b7cecb; letter-spacing: 1.3px; text-transform: uppercase; }
.nav-label { color: #81a7a3; text-transform: uppercase; letter-spacing: 1.5px; font-size: 10px; font-weight: 700; padding: 4px 12px 8px; }
.nav { display: grid; gap: 5px; }
.nav button { border: 0; background: transparent; color: #cde0de; border-radius: 12px; padding: 12px 13px; text-align: left; display: flex; align-items: center; gap: 12px; font-weight: 600; }
.nav button:hover { background: rgba(255,255,255,.07); }
.nav button.active { background: white; color: var(--brand); }
.nav-icon { width: 20px; text-align: center; font-size: 16px; }
.user-panel { margin-top: auto; border-top: 1px solid rgba(255,255,255,.12); padding: 18px 8px 0; }
.user { display: flex; align-items: center; gap: 10px; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: #e7f2ef; color: var(--brand); display: grid; place-items: center; font-weight: 800; flex: 0 0 auto; }
.user strong, .user small { display: block; }
.user strong { font-size: 13px; }
.user small { color: #9dbbb8; font-size: 11px; margin-top: 2px; }
.switch-role { background: none; border: 0; color: var(--lime); font-size: 11px; font-weight: 700; padding: 9px 0 0 48px; }

.main { min-width: 0; }
.topbar { height: 80px; padding: 0 34px; background: rgba(255,255,255,.86); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 5; backdrop-filter: blur(10px); }
.page-title h1 { margin: 0; font: 800 23px Inter, Aptos, 'Segoe UI', sans-serif; letter-spacing: -.6px; }
.page-title p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.top-actions { display: flex; gap: 10px; align-items: center; }
.icon-btn { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--line); background: white; position: relative; }
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); position: absolute; top: 8px; right: 8px; border: 2px solid white; }
.content { max-width: 1420px; margin: 0 auto; padding: 30px 34px 50px; }

.hero { background: var(--brand); color: white; border-radius: 24px; padding: 28px 30px; display: flex; justify-content: space-between; align-items: center; overflow: hidden; position: relative; }
.hero:after { content: ''; width: 260px; height: 260px; border: 48px solid rgba(199,238,140,.09); border-radius: 50%; position: absolute; right: 80px; top: -110px; }
.eyebrow { text-transform: uppercase; letter-spacing: 1.5px; color: var(--lime); font-size: 10px; font-weight: 800; }
.hero h2 { font: 800 25px Inter, Aptos, 'Segoe UI', sans-serif; margin: 7px 0 7px; max-width: 650px; letter-spacing: -.5px; }
.hero p { margin: 0; color: #bfd2d0; font-size: 13px; }
.hero .primary { z-index: 1; }
.primary, .secondary, .ghost, .danger-btn { border: 0; border-radius: 12px; padding: 11px 16px; font-weight: 700; }
.primary { background: var(--lime); color: var(--brand); }
.secondary { background: var(--brand); color: white; }
.ghost { background: #edf4f2; color: var(--brand); }
.danger-btn { background: #fff0ee; color: #a8382f; }
.primary:hover { filter: brightness(.97); transform: translateY(-1px); }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0; }
.stat { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 19px; display: flex; gap: 14px; align-items: center; }
.stat-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; }
.green { background: var(--mint); color: var(--brand-2); }
.yellow { background: #fff3d7; color: #a56a00; }
.pink { background: #fae8e5; color: var(--red); }
.blue { background: #e8eff7; color: var(--blue); }
.stat strong { display: block; font: 800 24px Inter, Aptos, 'Segoe UI', sans-serif; }
.stat span { color: var(--muted); font-size: 12px; }

.grid-2 { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .8fr); gap: 18px; }
.card { background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1px 0 rgba(18,60,58,.02); }
.card-head { display: flex; justify-content: space-between; align-items: center; padding: 20px 21px 14px; }
.card-head h3 { font: 800 16px Inter, Aptos, 'Segoe UI', sans-serif; margin: 0; }
.card-head p { color: var(--muted); font-size: 11px; margin: 4px 0 0; }
.text-btn { background: none; border: 0; color: var(--brand-2); font-weight: 700; font-size: 12px; }

.work-list { padding: 0 9px 10px; }
.work-row { display: grid; grid-template-columns: 70px minmax(170px, 1.5fr) minmax(105px, .7fr) 100px 90px 24px; gap: 12px; align-items: center; padding: 14px 12px; border-top: 1px solid #edf0ef; }
.work-row:hover { background: #f8faf9; border-radius: 12px; }
.wo-id { font-weight: 800; font-size: 12px; color: var(--brand-2); }
.work-title { min-width: 0; }
.work-title strong { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.work-title small, .cell small { color: var(--muted); font-size: 10px; }
.cell { font-size: 12px; }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.status.assigned { background: #e9f0fa; color: #3e6795; }
.status.progress { background: #fff2d6; color: #9b6500; }
.status.pending { background: #f5e8f5; color: #7c4e80; }
.status.complete { background: var(--mint); color: var(--brand-2); }
.chev { color: #9aa7a5; }

.queue { padding: 0 20px 20px; display: grid; gap: 10px; }
.queue-item { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; padding: 12px; background: #f7f9f8; border-radius: 13px; }
.date-box { text-align: center; border-radius: 9px; background: white; padding: 6px 3px; color: var(--red); }
.date-box b { display: block; font: 800 15px Inter, Aptos, 'Segoe UI', sans-serif; }
.date-box small { font-size: 8px; text-transform: uppercase; }
.queue-item strong { display: block; font-size: 12px; }
.queue-item p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.priority { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.priority.high { background: var(--red); }
.priority.green { background: #42a575; }
.priority.amber { background: var(--amber); }
.priority.red { background: var(--red); }

.toolbar { display: flex; gap: 10px; margin-bottom: 16px; justify-content: space-between; }
.search { flex: 1; max-width: 440px; border: 1px solid var(--line); background: white; border-radius: 12px; padding: 10px 13px; }
.filters { display: flex; gap: 8px; }
.filters select { border: 1px solid var(--line); border-radius: 12px; padding: 9px 12px; background: white; color: var(--ink); }
.table-card { overflow: hidden; }
.table-head, .table-line { display: grid; grid-template-columns: 90px 1.6fr 1fr 1fr 110px 100px; gap: 12px; align-items: center; padding: 13px 20px; }
.table-head { background: #f0f4f2; color: var(--muted); text-transform: uppercase; letter-spacing: .8px; font-size: 9px; font-weight: 800; }
.table-line { border-top: 1px solid var(--line); font-size: 12px; }
.table-line:hover { background: #fafcfb; }
.schedule-head, .schedule-line { display:grid; grid-template-columns:1.7fr .65fr .7fr .8fr .75fr .8fr; gap:12px; align-items:center; padding:13px 20px; }
.schedule-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; font-size:9px; font-weight:800; }
.schedule-line { border-top:1px solid var(--line); font-size:12px; }
.schedule-line > span:first-child b, .schedule-line > span:first-child small { display:block; }
.schedule-line > span:first-child small { color:var(--muted); font-size:9px; margin-top:2px; }
.back-link { display:block; padding:0; margin-bottom:7px; }
.health-green { background:var(--mint); color:var(--brand-2); }
.health-amber { background:#fff2d6; color:#9b6500; }
.health-red { background:#fae8e5; color:#a8382f; }

.section-heading { margin: 0 0 18px; display: flex; justify-content: space-between; align-items: end; }
.section-heading h2 { margin: 0; font: 800 20px Inter, Aptos, 'Segoe UI', sans-serif; }
.section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.aircraft-grid, .module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.aircraft-card { padding: 20px; }
.aircraft-button { width:100%; border:0; text-align:left; color:var(--ink); font:inherit; cursor:pointer; }
.aircraft-button:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(20,55,50,.11); }
.aircraft-top { display: flex; justify-content: space-between; }
.aircraft-reg { font: 800 19px Inter, Aptos, 'Segoe UI', sans-serif; }
.aircraft-type { color: var(--muted); font-size: 11px; margin-top: 2px; }
.aircraft-visual { height: 78px; margin: 13px 0; background: linear-gradient(135deg,#edf3f1,#f8faf9); border-radius: 13px; display: grid; place-items: center; color: #7f9996; font-size: 34px; }
.meta-row { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--line); font-size: 11px; }
.meta-row span { color: var(--muted); }
.grounding-note { margin-top:13px; padding:9px 10px; border-radius:9px; background:#fff0ee; color:#a8382f; font-size:10px; font-weight:700; }
.counter-strip { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 13px; }
.counter-strip span { padding:8px; border-radius:9px; background:#f1f7f5; color:var(--muted); font-size:9px; }
.counter-strip b { color:var(--brand); font-size:12px; }
.aircraft-master-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:13px; border-radius:12px; background:#f4f7f6; }
.aircraft-master-meta span { display:grid; gap:3px; }
.aircraft-master-meta small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.6px; }
.aircraft-master-meta b { font-size:11px; }
.counter-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; background:#edf8f3; border-radius:12px; }
.counter-summary span { display:grid; gap:3px; }.counter-summary small { color:var(--muted); font-size:9px; text-transform:uppercase; }.counter-summary b { font-size:17px; color:var(--brand); }
.counter-fields { grid-template-columns:1fr 1fr; gap:15px; padding:13px; border-radius:12px; background:#f4f7f6; }
.module-card { padding: 20px; display: grid; grid-template-columns: 45px 1fr auto; gap: 13px; align-items: start; }
.module-card h3 { margin: 2px 0 4px; font: 700 14px Inter, Aptos, 'Segoe UI', sans-serif; }
.module-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.module-icon { width: 44px; height: 44px; border-radius: 13px; background: #edf4f2; display: grid; place-items: center; }
.ops-grid { display:grid; grid-template-columns:1.2fr .9fr; gap:18px; }
.heading-actions { display:flex; gap:9px; }
.compact-select { border:1px solid var(--line); border-radius:10px; padding:7px 10px; background:white; color:var(--ink); font-size:11px; }
.bay-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; padding:0 20px 20px; }
.bay-grid.compact { grid-template-columns:repeat(auto-fill,minmax(125px,1fr)); max-height:610px; overflow:auto; }
.bay { min-height:105px; border:1px dashed #b9c7c4; border-radius:14px; padding:14px; display:flex; flex-direction:column; justify-content:space-between; }
.bay.occupied { background:#fff4e8; border:1px solid #e9b76e; }
.bay.vacant { background:#f0f8f4; border-color:#8fc9ae; }
.bay small, .bay b, .bay em, .bay span { display:block; }
.bay small { color:var(--muted); font-size:10px; }
.bay b { margin-top:4px; font-size:14px; }
.bay em { font-style:normal; font-size:11px; margin-top:7px; color:var(--brand); font-weight:800; }
.bay span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.8px; }
.movement-list { padding:0 20px 20px; display:grid; }
.movement { display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
.movement-icon { width:35px; height:35px; display:grid; place-items:center; border-radius:11px; font-weight:800; }
.movement-icon.arrival { background:var(--mint); color:var(--brand-2); }
.movement-icon.departure { background:#e8eff7; color:var(--blue); }
.movement b, .movement small { display:block; }
.movement b { font-size:12px; }
.movement small, .movement time { color:var(--muted); font-size:9px; margin-top:2px; }
.report-grid { display:grid; grid-template-columns:1.45fr .7fr; gap:18px; margin-bottom:18px; }
.bar-list { padding:0 20px 12px; display:grid; gap:17px; }
.bar-row { display:grid; grid-template-columns:150px 1fr 42px; gap:13px; align-items:center; }
.bar-row b, .bar-row small { display:block; }
.bar-row b { font-size:11px; }
.bar-row small { color:var(--muted); font-size:9px; margin-top:2px; }
.bar-row strong { text-align:right; font-size:11px; }
.bar-track { height:9px; border-radius:999px; background:#edf1ef; display:flex; overflow:hidden; }
.bar-track span { display:block; height:100%; }
.bar-billable { background:var(--brand-2); }
.bar-nonbillable { background:var(--amber); }
.legend { padding:0 20px 20px; display:flex; justify-content:flex-end; gap:14px; color:var(--muted); font-size:9px; }
.legend i { width:7px; height:7px; border-radius:50%; display:inline-block; margin-right:5px; }
.billable-dot { background:var(--brand-2); }
.nonbillable-dot { background:var(--amber); }
.insight-card { padding:22px; background:linear-gradient(145deg,#edf7f3,#fff); }
.insight-card h3 { margin:9px 0 8px; font-size:17px; line-height:1.25; }
.insight-card > p { color:var(--muted); font-size:11px; line-height:1.55; margin:0 0 20px; }
.insight-metric { border-top:1px solid rgba(18,60,58,.1); padding:11px 0; display:flex; justify-content:space-between; font-size:11px; }
.insight-metric span { color:var(--muted); }
.report-head, .report-line { display:grid; grid-template-columns:1.4fr .65fr repeat(6,.65fr); gap:10px; align-items:center; padding:12px 18px; }
.report-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.7px; font-size:8px; font-weight:800; }
.report-line { border-top:1px solid var(--line); font-size:11px; }
.report-line > span:first-child b, .report-line > span:first-child small { display:block; }
.report-line > span:first-child small { color:var(--muted); font-size:8px; margin-top:2px; }
.duty-head, .duty-line { display:grid; grid-template-columns:.7fr 1fr 1.35fr 1fr .8fr .7fr; gap:12px; align-items:center; padding:13px 20px; }
.duty-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; font-size:9px; font-weight:800; }
.executive-grid { display:grid; grid-template-columns:1.45fr .8fr; gap:16px; margin-bottom:16px; }
.smart-insights .eyebrow { color:var(--brand-2); }
.insight-chip { padding:6px 9px; border-radius:999px; background:var(--mint); color:var(--brand-2); font-size:9px; font-weight:900; letter-spacing:.8px; }
.smart-list { display:grid; gap:9px; padding:0 20px 20px; }
.smart-item { display:grid; grid-template-columns:32px 1fr; gap:11px; align-items:start; padding:12px; border-radius:12px; background:#f7f9f8; border-left:3px solid #7595b7; }
.smart-item > span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:white; font-weight:900; }
.smart-item b { display:block; font-size:11px; }
.smart-item p { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.smart-item.red { background:#fff0ee; border-color:var(--red); }.smart-item.red > span { color:var(--red); }
.smart-item.amber { background:#fff6e2; border-color:var(--amber); }.smart-item.amber > span { color:#9b6500; }
.smart-item.green { background:#edf8f3; border-color:var(--brand-2); }.smart-item.green > span { color:var(--brand-2); }
.control-summary { padding-bottom:17px; }
.control-metric { padding:8px 20px; }
.control-metric > div:first-child { display:flex; justify-content:space-between; align-items:center; font-size:10px; }
.control-metric span { color:var(--muted); }.control-metric b { font-size:13px; }
.metric-track { height:6px; border-radius:999px; background:#e7ecea; overflow:hidden; margin-top:7px; }
.metric-track i { display:block; height:100%; border-radius:inherit; background:var(--brand-2); }
.metric-track.red i { background:var(--red); }.metric-track.amber i { background:var(--amber); }.metric-track.blue i { background:#6389b4; }
.queue-totals { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:11px 20px 0; }
.queue-totals span { background:#f4f7f6; border-radius:10px; padding:10px; color:var(--muted); font-size:9px; }.queue-totals b { display:block; color:var(--ink); font-size:17px; }
.control-head, .control-line { display:grid; grid-template-columns:1.1fr repeat(6,.75fr); gap:12px; align-items:center; padding:12px 20px; }
.control-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.7px; font-size:8px; font-weight:800; }
.control-line { border-top:1px solid var(--line); font-size:11px; }
.executive-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:16px; }
.mini-control { padding:17px; }.mini-control > span,.mini-control small { color:var(--muted); font-size:10px; }.mini-control > b { display:block; font-size:20px; margin:5px 0 9px; }
.user-head, .user-line { display:grid; grid-template-columns:1.1fr 1.45fr .8fr .8fr .65fr .75fr; gap:12px; align-items:center; padding:13px 20px; }
.user-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; font-size:9px; font-weight:800; }
.user-line { border-top:1px solid var(--line); font-size:11px; }
.user-line span { min-width:0; overflow-wrap:anywhere; }
.user-line small { display:block; color:var(--muted); margin-top:3px; }
.compact-button { padding:7px 10px; font-size:10px; justify-self:start; }
.signoff-head, .signoff-line { display:grid; grid-template-columns:.7fr 1.65fr .9fr .9fr .9fr 1fr; gap:12px; align-items:center; padding:13px 20px; }
.signoff-head { background:#f0f4f2; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; font-size:9px; font-weight:800; }
.signoff-line { width:100%; border:0; border-top:1px solid var(--line); background:white; text-align:left; color:var(--ink); font-size:11px; }
.signoff-line:hover { background:#f8faf9; }
.signoff-line small { display:block; color:var(--muted); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sign-declaration { grid-column:1/-1; display:flex; gap:11px; align-items:flex-start; background:#edf8f3; border:1px solid #cce9dc; border-radius:12px; padding:13px; color:var(--muted); font-size:10px; line-height:1.5; }
.sign-declaration input { margin-top:3px; accent-color:var(--brand-2); }
.sign-declaration b { display:block; color:var(--brand); font-size:11px; }
.signature-card { display:flex; gap:14px; align-items:center; background:#edf8f3; border:1px solid #cce9dc; border-radius:14px; padding:16px; }
.signature-card.secondary-signature { background:#f1f4f8; border-color:#dce4ed; }
.signature-mark { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:50%; background:var(--brand-2); color:white; font-size:19px; font-weight:800; }
.signature-card small, .signature-card p { color:var(--muted); font-size:10px; }
.signature-card h3 { margin:3px 0; }
.declaration-copy { border-left:3px solid var(--brand-2); padding:4px 0 4px 14px; }
.declaration-copy p { margin:5px 0; color:var(--ink); font-size:12px; }
.declaration-copy small { color:var(--muted); }
.duty-line { width:100%; border:0; border-top:1px solid var(--line); background:white; text-align:left; font-size:11px; color:var(--ink); }
.duty-line:hover { background:#fafcfb; }
.duty-line span b, .duty-line span small { display:block; }
.duty-line span small { color:var(--muted); font-size:8px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.expense-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; padding:11px; background:#f5f8f7; border-radius:13px; }
.expense-grid div { min-width:0; }
.expense-grid span { display:block; color:var(--muted); font-size:9px; margin-bottom:5px; }
.expense-grid input { padding:9px 8px; background:white; }
.expense-total { display:flex; justify-content:flex-end; align-items:center; gap:14px; padding:11px 3px 0; font-size:12px; }
.expense-total span { color:var(--muted); }
.expense-total b { font-size:16px; color:var(--brand); }
.expense-breakdown { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.expense-breakdown > div { padding:10px; border:1px solid var(--line); border-radius:10px; background:#fafcfb; }
.expense-breakdown span, .expense-breakdown b { display:block; }
.expense-breakdown span { color:var(--muted); font-size:9px; }
.expense-breakdown b { margin-top:4px; font-size:12px; }
.expense-breakdown .expense-grand { background:var(--brand); color:white; border-color:var(--brand); }
.expense-breakdown .expense-grand span { color:#bad0cd; }
.request-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.request-card { padding:0; overflow:hidden; text-align:left; color:var(--ink); }
.request-top { display:flex; justify-content:space-between; align-items:center; padding:13px 15px; }
.request-card img, .request-placeholder { width:100%; height:125px; object-fit:cover; background:#eef3f1; }
.request-placeholder { display:grid; place-items:center; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:1px; }
.request-body { padding:15px; }
.request-body > div { display:flex; justify-content:space-between; align-items:start; }
.request-body > div b, .request-body > div small { display:block; }
.request-body > div small { color:var(--muted); font-size:9px; }
.request-body h3 { font-size:14px; margin:13px 0 6px; }
.request-body p { color:var(--muted); font-size:10px; line-height:1.5; margin:0 0 13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.request-body > span { color:var(--muted); font-size:9px; }
.request-body em { float:right; color:var(--brand-2); font-size:9px; font-style:normal; font-weight:800; }
.field-help { display:block; color:var(--muted); font-size:9px; margin-top:5px; }
.defect-preview { width:100%; max-height:260px; object-fit:cover; border-radius:13px; margin-bottom:16px; }
.detail-copy { color:var(--muted); font-size:12px; line-height:1.6; margin:7px 0 18px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(9,28,27,.55); display: grid; place-items: center; padding: 20px; }
.modal { background: white; width: min(620px, 100%); max-height: 92vh; overflow: auto; border-radius: 22px; box-shadow: var(--shadow); }
.modal-head { padding: 22px 24px 17px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; }
.modal-head h2 { margin: 0; font: 800 19px Inter, Aptos, 'Segoe UI', sans-serif; }
.modal-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.close { border: 0; background: #f0f3f2; width: 34px; height: 34px; border-radius: 10px; }
.form { padding: 21px 24px 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; font-size: 11px; font-weight: 700; margin-bottom: 6px; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #dce4e1; border-radius: 11px; padding: 11px 12px; outline: none; background: white; }
.field textarea { min-height: 84px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand-2); box-shadow: 0 0 0 3px rgba(30,98,93,.1); }
.ai-field-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.ai-field-label label { margin-bottom:0; }
.ai-assist-button { border:1px solid #b9d8d1; border-radius:999px; padding:7px 11px; background:#f1faf7; color:var(--brand); font-size:11px; font-weight:800; cursor:pointer; }
.ai-assist-button:disabled { opacity:.6; cursor:wait; }
.ai-suggestion-panel { border:1px solid #b9d8d1; border-radius:15px; padding:15px; background:linear-gradient(145deg,#f5fbf9,#f7f7ff); }
.ai-suggestion-panel.applied { border-color:#66a98f; box-shadow:0 0 0 3px rgba(66,169,117,.1); }
.ai-suggestion-head { display:flex; justify-content:space-between; margin-bottom:12px; }
.ai-suggestion-head span { display:block; color:var(--brand); font-size:12px; font-weight:800; }
.ai-suggestion-head small { display:block; color:var(--muted); margin-top:3px; }
.ai-suggestion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ai-suggestion-grid span { padding:9px 10px; background:white; border:1px solid var(--line); border-radius:10px; }
.ai-suggestion-grid small,.ai-description small { display:block; color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.ai-suggestion-grid b { display:block; margin-top:3px; font-size:11px; }
.ai-description { margin-top:9px; padding:10px; background:white; border:1px solid var(--line); border-radius:10px; }
.ai-description p,.ai-rationale { margin:5px 0 0; font-size:11px; line-height:1.5; }
.ai-rationale { color:var(--muted); }
.ai-suggestion-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
.ai-suggestion-actions button { padding:8px 12px; font-size:10px; }
.ai-loading,.ai-error { color:var(--muted); font-size:11px; }
.ai-error { color:var(--red); }
.ame-compliance-assistant { border:1px solid var(--line); border-radius:14px; padding:14px; background:#f7f9f9; }
.ame-compliance-assistant.eligible { border-color:#8bc9ae; background:#f1faf6; }
.ame-compliance-assistant.blocked { border-color:#e6a6a6; background:#fff7f7; }
.compliance-assistant-empty { color:var(--muted); font-size:11px; }
.compliance-assistant-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.compliance-assistant-head span { color:var(--brand); font-size:12px; font-weight:800; }
.ame-compliance-assistant > p { margin:9px 0 11px; font-size:11px; line-height:1.5; }
.compliance-check-list { display:grid; gap:7px; }
.compliance-check { display:flex; align-items:flex-start; gap:9px; padding:8px 9px; border-radius:9px; background:white; border:1px solid var(--line); }
.compliance-check > span { width:18px; height:18px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; font-size:10px; font-weight:900; }
.compliance-check.valid > span { color:#247454; background:#dff3e9; }
.compliance-check.warning > span { color:#8a5b00; background:#fff0c9; }
.compliance-check.blocker > span { color:#a53030; background:#fde1e1; }
.compliance-check b,.compliance-check small { display:block; }
.compliance-check b { font-size:10px; }
.compliance-check small { color:var(--muted); margin-top:2px; font-size:9px; line-height:1.4; }
.compliance-disclaimer { display:block; color:var(--muted); margin-top:10px; font-size:9px; line-height:1.4; }
.wo-task-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wo-task-actions { display:flex; align-items:center; gap:8px; }
.wo-task-actions button { padding:8px 11px; font-size:10px; }
.task-generator-results { display:grid; gap:10px; }
.task-generator-loading { color:var(--muted); font-size:11px; padding:12px 0; }
.task-generator-note { display:flex; flex-direction:column; gap:3px; padding:11px 12px; border:1px solid #b9d8d1; border-radius:11px; background:#f1faf7; }
.task-generator-note b { color:var(--brand); font-size:11px; }
.task-generator-note span { color:var(--muted); font-size:10px; line-height:1.4; }
.task-draft-card { position:relative; padding:13px; border:1px solid var(--line); border-radius:13px; background:white; }
.task-draft-card > label { display:flex; gap:10px; padding-right:82px; }
.task-draft-number { width:24px; height:24px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; background:#e7f2ef; color:var(--brand); font-size:10px; font-weight:900; }
.task-draft-card h4 { margin:1px 0 4px; font-size:12px; }
.task-draft-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.task-draft-meta { display:flex; flex-wrap:wrap; gap:5px; margin:10px 82px 0 34px; }
.task-draft-meta span { padding:4px 7px; border-radius:999px; background:var(--soft); color:var(--muted); font-size:8px; font-weight:700; }
.use-task-draft { position:absolute; top:13px; right:13px; padding:7px 9px; font-size:9px; }
.task-generator-disclaimer { color:var(--muted); font-size:9px; line-height:1.4; padding-top:2px; }
.ai-search-card,.manual-assistant-card { max-width:900px; }
.ai-search-card form > label { display:block; font-size:11px; font-weight:800; margin-bottom:8px; }
.ai-search-box { display:flex; gap:8px; }
.ai-search-box input { flex:1; border:1px solid #dce4e1; border-radius:12px; padding:12px 13px; }
.ai-search-examples { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.ai-search-examples button { border:0; border-radius:999px; padding:7px 9px; background:var(--soft); color:var(--brand); font-size:9px; cursor:pointer; }
.ai-search-results { margin-top:14px; }
.ai-result-list { display:grid; }
.ai-result-list > button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:12px 0; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.ai-result-list > button span small,.ai-result-list > button span b,.ai-result-list > button span em { display:block; }
.ai-result-list > button span small { color:var(--brand-2); font-size:8px; font-weight:800; text-transform:uppercase; }
.ai-result-list > button span b { margin:3px 0; font-size:11px; }
.ai-result-list > button span em { color:var(--muted); font-size:9px; font-style:normal; }
.manual-safety { display:flex; flex-direction:column; gap:3px; padding:11px 12px; border:1px solid #e8cf8e; border-radius:11px; background:#fff9e9; margin-bottom:14px; }
.manual-safety b { color:#7c5700; font-size:11px; }
.manual-safety span { color:var(--muted); font-size:9px; }
.manual-answer { margin-top:16px; padding:14px; border:1px solid #b9d8d1; border-radius:13px; background:#f4fbf8; }
.manual-answer.not-configured { border-color:#e8cf8e; background:#fffaf0; }
.manual-answer h3 { margin:0 0 7px; font-size:12px; }
.manual-answer p { white-space:pre-wrap; font-size:11px; line-height:1.55; }
.manual-citations { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.manual-citations small { width:100%; color:var(--muted); font-size:8px; text-transform:uppercase; }
.manual-citations span { padding:6px 8px; border-radius:8px; background:white; border:1px solid var(--line); font-size:9px; font-weight:700; }
.manual-no-source { display:block; color:#8a5b00; margin-top:9px; font-size:9px; }
.aircraft-history-summary { margin:14px 24px; padding:14px; border:1px solid #b9d8d1; border-radius:13px; background:#f4fbf8; }
.aircraft-history-summary > p { font-size:11px; line-height:1.55; }
.history-summary-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:10px; }
.history-summary-metrics span { padding:8px; border-radius:9px; background:white; border:1px solid var(--line); color:var(--muted); font-size:8px; }
.history-summary-metrics b { display:block; color:var(--ink); font-size:13px; }
.repeated-defect-panel { padding:12px; border:1px solid #b9d8d1; border-radius:12px; background:#f5fbf9; }
.repeated-defect-panel > small { display:block; color:var(--muted); margin-top:6px; font-size:9px; }
#repeated-defect-results > p { margin:10px 0 5px; font-size:10px; line-height:1.45; }
.repeated-match-list { display:grid; gap:5px; }
.repeated-match-list button { padding:8px; border:1px solid var(--line); border-radius:8px; background:white; text-align:left; cursor:pointer; }
.repeated-match-list b,.repeated-match-list small { display:block; }
.repeated-match-list b { font-size:9px; }
.repeated-match-list small { color:var(--muted); margin-top:2px; font-size:8px; }
.voice-activity-button { float:right; border:0; border-radius:999px; padding:5px 8px; background:#e7f2ef; color:var(--brand); font-size:9px; font-weight:800; cursor:pointer; }
.voice-activity-button:disabled { opacity:.55; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 21px; }
.history { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.history h4 { margin:0 0 13px; font-size:12px; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }
.history-item { display:grid; grid-template-columns:12px 1fr; gap:9px; padding:0 0 13px; position:relative; }
.history-item > span { width:8px; height:8px; border-radius:50%; background:var(--brand-2); margin-top:4px; }
.history-item:not(:last-child):after { content:''; position:absolute; width:1px; background:var(--line); left:4px; top:13px; bottom:0; }
.history-item b, .history-item small { display:block; }
.history-item b { font-size:11px; }
.history-item small { color:var(--muted); font-size:9px; margin-top:2px; }
.role-list { display: grid; gap: 9px; padding: 20px 24px 25px; }
.role-option { width: 100%; border: 1px solid var(--line); background: white; border-radius: 13px; padding: 13px; display: flex; gap: 12px; align-items: center; text-align: left; }
.role-option:hover, .role-option.current { border-color: var(--brand-2); background: #f1f7f5; }
.role-option strong { display: block; font-size: 13px; }
.role-option span { color: var(--muted); font-size: 10px; }
.alert-list { padding:10px 20px 20px; display:grid; gap:9px; }
.alert-item { display:grid; grid-template-columns:38px 1fr auto; gap:11px; align-items:center; padding:12px; border-radius:13px; background:#f7f9f8; }
.notification-modal .alert-item { width:100%; border-top:0; border-right:0; border-bottom:0; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.notification-modal .alert-item:hover { filter:brightness(.98); }
.notification-modal .alert-item.read { opacity:.62; border-left-color:#c6cfcc; }
.notification-modal .alert-item.unread b:after { content:'NEW'; display:inline-block; margin-left:7px; padding:2px 5px; border-radius:999px; background:var(--brand-2); color:white; font-size:7px; letter-spacing:.5px; vertical-align:1px; }
.notification-tools { display:flex; justify-content:space-between; align-items:center; padding:13px 20px 3px; }
.notification-count { position:absolute; top:-5px; right:-6px; min-width:17px; height:17px; padding:0 4px; display:grid; place-items:center; border-radius:999px; background:var(--red); color:white; font-size:8px; font-weight:900; border:2px solid white; }
.alert-item.green { background:#edf8f3; border-left:3px solid #42a575; }
.alert-item.amber { background:#fff6e2; border-left:3px solid var(--amber); }
.alert-item.red { background:#fff0ee; border-left:3px solid var(--red); }
.alert-symbol { width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:white; color:var(--red); font-weight:800; }
.alert-item.green .alert-symbol { color:#27835a; }
.alert-item.amber .alert-symbol { color:#9b6500; }
.alert-item b, .alert-item span { display:block; }
.alert-item b { font-size:12px; }
.alert-item span, .alert-item small { color:var(--muted); font-size:10px; margin-top:2px; }
#toast { position: fixed; right: 24px; bottom: 24px; background: var(--brand); color: white; border-radius: 12px; padding: 12px 17px; font-size: 12px; font-weight: 600; transform: translateY(90px); opacity: 0; transition: .25s; z-index: 40; box-shadow: var(--shadow); }
#toast.show { transform: translateY(0); opacity: 1; }
.empty { padding: 40px; text-align: center; color: var(--muted); }
.mobile-nav { display: none; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, 1.1fr) minmax(420px, .9fr); background: white; }
.login-brand { background: var(--brand); color: white; padding: 46px clamp(38px,7vw,100px); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.login-brand:after { content:''; position:absolute; width:520px; height:520px; border:90px solid rgba(199,238,140,.07); border-radius:50%; right:-190px; bottom:-250px; }
.login-brand .logo { padding:0; position:relative; z-index:1; }
.login-brand h1 { font-size:clamp(38px,4.5vw,66px); line-height:1.05; letter-spacing:-2.5px; margin:12px 0 18px; max-width:720px; position:relative; z-index:1; }
.login-brand p { color:#bad0cd; font-size:16px; line-height:1.7; max-width:570px; position:relative; z-index:1; }
.flow { display:flex; gap:12px; align-items:center; position:relative; z-index:1; flex-wrap:wrap; }
.flow span { padding:9px 13px; border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:11px; font-weight:700; }
.flow b { color:var(--lime); }
.login-panel { display:grid; place-items:center; padding:35px; background:#fbfcfc; }
.login-card { width:min(410px,100%); }
.login-card h2 { font-size:30px; letter-spacing:-1px; margin:0 0 6px; }
.login-card > p { color:var(--muted); margin:0 0 27px; }
.login-card .field { margin-bottom:16px; }
.login-submit { width:100%; margin-top:5px; padding:13px; }
.login-submit:disabled { opacity:.65; cursor:wait; }
.login-error { background:#fff0ee; color:#a8382f; padding:11px 12px; border-radius:10px; font-size:12px; margin-bottom:16px; }
.demo-note { margin-top:24px; background:#edf4f2; border-radius:14px; padding:14px; color:var(--muted); display:grid; gap:4px; font-size:11px; }
.demo-note b { color:var(--brand); }
.demo-note code { color:var(--brand); font-weight:700; }
.mobile-logo { display:none; align-items:center; gap:10px; margin-bottom:28px; }

@media (max-width: 1050px) {
  .stats { grid-template-columns: repeat(2,1fr); }
  .grid-2 { grid-template-columns: 1fr; }
  .aircraft-grid, .module-grid { grid-template-columns: repeat(2,1fr); }
  .request-grid { grid-template-columns:repeat(2,1fr); }
  .ops-grid { grid-template-columns:1fr; }
  .report-grid { grid-template-columns:1fr; }
  .executive-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .login-page { display:block; background:#fbfcfc; }
  .login-brand { display:none; }
  .login-panel { min-height:100vh; padding:25px; }
  .mobile-logo { display:flex; }
  .app-shell { display: block; }
  .sidebar { display: none; }
  .topbar { height: 67px; padding: 0 18px; }
  .page-title h1 { font-size: 19px; }
  .page-title p { display: none; }
  .content { padding: 18px 15px 92px; }
  .hero { padding: 22px; align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero h2 { font-size: 21px; }
  .stats { gap: 10px; }
  .stat { padding: 14px; gap: 10px; }
  .stat-icon { width: 34px; height: 34px; }
  .stat strong { font-size: 20px; }
  .work-row { grid-template-columns: 62px 1fr 83px; }
  .work-row .cell, .work-row .chev { display: none; }
  .table-card { overflow-x: auto; }
  .table-head, .table-line { min-width: 760px; }
  .schedule-head, .schedule-line { min-width:760px; }
  .report-head, .report-line { min-width:850px; }
  .duty-head, .duty-line { min-width:800px; }
  .user-head, .user-line { min-width:850px; }
  .signoff-head, .signoff-line { min-width:900px; }
  .control-head, .control-line { min-width:800px; }
  .executive-mini-grid { grid-template-columns:1fr; }
  .aircraft-grid, .module-grid { grid-template-columns: 1fr; }
  .request-grid { grid-template-columns:1fr; }
  .bay-grid { grid-template-columns:repeat(2,1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .aircraft-master-meta { grid-template-columns:repeat(2,1fr); }
  .field.full { grid-column: auto; }
  .expense-grid, .expense-breakdown { grid-template-columns:repeat(2,1fr); }
  .mobile-nav { display: grid; grid-template-columns: repeat(5,1fr); position: fixed; bottom: 0; left: 0; right: 0; z-index: 10; background: white; border-top: 1px solid var(--line); padding: 7px 4px 8px; }
  .mobile-nav button { border: 0; background: none; color: #7d8b89; font-size: 9px; font-weight: 700; display: grid; gap: 2px; place-items: center; }
  .mobile-nav button span { font-size: 17px; }
  .mobile-nav button.active { color: var(--brand); }
}

@media print {
  .sidebar, .topbar, .mobile-nav, .heading-actions, #toast { display:none !important; }
  .app-shell { display:block; }
  .content { padding:0; }
  .card, .stat { break-inside:avoid; box-shadow:none; }
  body { background:white; }
}

/* =====================================================
   BMM DAILY REPORT - FINAL REPEATING TABLE LAYOUT
   Loaded by index.html
   ===================================================== */

/* Keep the overall BMM modal at its existing comfortable width */
.bmm-report-modal{
  width:min(1180px,96vw) !important;
}

/* Repeating section containers */
.bmm-report-modal #bmm-manpower-rows,
.bmm-report-modal #bmm-service-rows,
.bmm-report-modal #bmm-employee-rows,
.bmm-report-modal #bmm-customer-remark-rows{
  width:100% !important;
}

/* Common headings */
.bmm-report-modal .daily-grid-head{
  display:grid !important;
  width:100% !important;
  gap:8px !important;
  padding:0 8px 6px !important;
  margin:0 !important;
  color:#667773 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-sizing:border-box !important;
}

.bmm-report-modal .daily-grid-head span{
  display:block !important;
  min-width:0 !important;
}

/* -----------------------------------------------------
   MANPOWER
   ----------------------------------------------------- */

.bmm-report-modal .bmm-manpower-head,
.bmm-report-modal .daily-manpower-row{
  display:grid !important;
  grid-template-columns:
    minmax(150px,1.5fr)
    minmax(110px,1fr)
    105px
    105px
    110px
    100px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* -----------------------------------------------------
   SERVICES PERFORMED
   ----------------------------------------------------- */

.bmm-report-modal .bmm-service-head,
.bmm-report-modal .daily-service-row{
  display:grid !important;
  grid-template-columns:
    minmax(170px,1.6fr)
    minmax(120px,1fr)
    105px
    105px
    110px
    100px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* -----------------------------------------------------
   EMPLOYEES ENGAGED
   ----------------------------------------------------- */

.bmm-report-modal .bmm-employee-head,
.bmm-report-modal .bmm-employee-row{
  display:grid !important;
  grid-template-columns:
    minmax(170px,1.35fr)
    minmax(120px,1fr)
    110px
    110px
    minmax(180px,1.4fr) !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* -----------------------------------------------------
   CUSTOMER REMARKS
   ----------------------------------------------------- */

.bmm-report-modal .bmm-customer-head,
.bmm-report-modal .bmm-customer-remark-row{
  display:grid !important;
  grid-template-columns:
    135px
    minmax(220px,1.6fr)
    minmax(190px,1.35fr)
    135px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* -----------------------------------------------------
   ROW APPEARANCE
   ----------------------------------------------------- */

.bmm-report-modal .daily-manpower-row,
.bmm-report-modal .daily-service-row,
.bmm-report-modal .bmm-employee-row,
.bmm-report-modal .bmm-customer-remark-row{
  padding:8px !important;
  margin:0 0 8px !important;
  border:1px solid #e4ebe8 !important;
  border-radius:10px !important;
  background:#f8fbfa !important;
  box-sizing:border-box !important;
}

.bmm-report-modal .daily-manpower-row > *,
.bmm-report-modal .daily-service-row > *,
.bmm-report-modal .bmm-employee-row > *,
.bmm-report-modal .bmm-customer-remark-row > *{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.bmm-report-modal .daily-manpower-row input,
.bmm-report-modal .daily-manpower-row select,
.bmm-report-modal .daily-service-row input,
.bmm-report-modal .daily-service-row select,
.bmm-report-modal .bmm-employee-row input,
.bmm-report-modal .bmm-employee-row select,
.bmm-report-modal .bmm-customer-remark-row input,
.bmm-report-modal .bmm-customer-remark-row select{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  padding:8px 10px !important;
  border:1px solid #d5dfdc !important;
  border-radius:8px !important;
  background:#fff !important;
  font-family:inherit !important;
  font-size:12px !important;
  box-sizing:border-box !important;
}

/* Read-only BMM review */
.bmm-report-modal input:disabled,
.bmm-report-modal select:disabled,
.bmm-report-modal textarea:disabled{
  opacity:1 !important;
  color:#53635f !important;
  background:#f6f9f8 !important;
}

/* Mobile/tablet */
@media(max-width:900px){

  .bmm-report-modal .daily-grid-head{
    display:none !important;
  }

  .bmm-report-modal .daily-manpower-row,
  .bmm-report-modal .daily-service-row,
  .bmm-report-modal .bmm-employee-row,
  .bmm-report-modal .bmm-customer-remark-row{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:600px){

  .bmm-report-modal .daily-manpower-row,
  .bmm-report-modal .daily-service-row,
  .bmm-report-modal .bmm-employee-row,
  .bmm-report-modal .bmm-customer-remark-row{
    grid-template-columns:1fr !important;
  }
}


/* =====================================================
   LMM DAILY REPORT - ALIGNED REPEATING TABLES
   ===================================================== */

.daily-report-modal:not(.bmm-report-modal) .daily-grid-head{
  display:grid !important;
  width:100% !important;
  gap:8px !important;
  padding:0 8px 6px !important;
  margin:0 !important;
  color:#667773 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-sizing:border-box !important;
}

/* Manpower */
.daily-report-modal:not(.bmm-report-modal) .lmm-manpower-head,
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row{
  display:grid !important;
  grid-template-columns:
    minmax(150px,1.5fr)
    minmax(110px,1fr)
    105px
    105px
    110px
    100px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* Services */
.daily-report-modal:not(.bmm-report-modal) .lmm-service-head,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row{
  display:grid !important;
  grid-template-columns:
    minmax(170px,1.6fr)
    minmax(120px,1fr)
    105px
    105px
    110px
    100px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* Equipment */
.daily-report-modal:not(.bmm-report-modal) .lmm-equipment-head,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row{
  display:grid !important;
  grid-template-columns:
    minmax(170px,1.2fr)
    minmax(130px,.9fr)
    minmax(220px,1.6fr)
    120px !important;
  gap:8px !important;
  width:100% !important;
  align-items:center !important;
}

/* Row styling */
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row{
  padding:8px !important;
  margin:0 0 8px !important;
  border:1px solid #e4ebe8 !important;
  border-radius:10px !important;
  background:#f8fbfa !important;
  box-sizing:border-box !important;
}

.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row > *,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row > *,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row > *{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row input,
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row select,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row input,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row select,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row input{
  height:42px !important;
  padding:8px 10px !important;
  border:1px solid #d5dfdc !important;
  border-radius:8px !important;
  background:#fff !important;
  font-family:inherit !important;
  font-size:12px !important;
}

/* Tablet/mobile fallback */
@media(max-width:900px){
  .daily-report-modal:not(.bmm-report-modal) .daily-grid-head{
    display:none !important;
  }

  .daily-report-modal:not(.bmm-report-modal) .daily-manpower-row,
  .daily-report-modal:not(.bmm-report-modal) .daily-service-row,
  .daily-report-modal:not(.bmm-report-modal) .daily-equipment-row{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:600px){
  .daily-report-modal:not(.bmm-report-modal) .daily-manpower-row,
  .daily-report-modal:not(.bmm-report-modal) .daily-service-row,
  .daily-report-modal:not(.bmm-report-modal) .daily-equipment-row{
    grid-template-columns:1fr !important;
  }
}


/* =====================================================
   LMM TABLES - FIT INSIDE EXISTING MODAL
   FINAL OVERRIDE
   ===================================================== */

.daily-report-modal:not(.bmm-report-modal){
  overflow-x:hidden !important;
}

.daily-report-modal:not(.bmm-report-modal) .form{
  overflow-x:hidden !important;
}

/* MANPOWER - six columns fitting modal */
.daily-report-modal:not(.bmm-report-modal) .lmm-manpower-head,
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row{
  display:grid !important;
  grid-template-columns:
    minmax(0,1.4fr)
    minmax(0,1fr)
    minmax(0,.85fr)
    minmax(0,.85fr)
    minmax(0,.8fr)
    minmax(0,.75fr) !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
}

/* SERVICES - six columns fitting modal */
.daily-report-modal:not(.bmm-report-modal) .lmm-service-head,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row{
  display:grid !important;
  grid-template-columns:
    minmax(0,1.5fr)
    minmax(0,1fr)
    minmax(0,.8fr)
    minmax(0,.8fr)
    minmax(0,.8fr)
    minmax(0,.75fr) !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
}

/* EQUIPMENT - four columns */
.daily-report-modal:not(.bmm-report-modal) .lmm-equipment-head,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row{
  display:grid !important;
  grid-template-columns:
    minmax(0,1.2fr)
    minmax(0,.9fr)
    minmax(0,1.5fr)
    minmax(0,.8fr) !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
}

/* Prevent any child from forcing the grid wider */
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row > *,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row > *,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row > *,
.daily-report-modal:not(.bmm-report-modal) .daily-grid-head > *{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}

/* Slightly tighter row controls for LMM */
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row input,
.daily-report-modal:not(.bmm-report-modal) .daily-manpower-row select,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row input,
.daily-report-modal:not(.bmm-report-modal) .daily-service-row select,
.daily-report-modal:not(.bmm-report-modal) .daily-equipment-row input{
  height:40px !important;
  padding:7px 8px !important;
  font-size:11px !important;
}

/* Compact table headings */
.daily-report-modal:not(.bmm-report-modal) .daily-grid-head{
  gap:7px !important;
  padding-left:8px !important;
  padding-right:8px !important;
  font-size:9px !important;
}

/* Keep labels readable */
.daily-report-modal:not(.bmm-report-modal) .daily-grid-head span{
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.15 !important;
}

/* Remove horizontal scrollbar */
.daily-report-modal:not(.bmm-report-modal) #manpower-rows,
.daily-report-modal:not(.bmm-report-modal) #service-rows,
.daily-report-modal:not(.bmm-report-modal) #equipment-rows{
  width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
}


/* =====================================================
   LMM DAILY REPORT - WIDE PROFESSIONAL MODAL
   ===================================================== */

.lmm-report-modal{
  width:min(1180px,96vw) !important;
  max-width:1180px !important;
}

/* Six-column Manpower */
.lmm-report-modal .lmm-manpower-head,
.lmm-report-modal .daily-manpower-row{
  display:grid !important;
  grid-template-columns:
    minmax(170px,1.5fr)
    minmax(120px,1fr)
    110px
    110px
    115px
    105px !important;
  gap:8px !important;
  width:100% !important;
}

/* Six-column Services */
.lmm-report-modal .lmm-service-head,
.lmm-report-modal .daily-service-row{
  display:grid !important;
  grid-template-columns:
    minmax(190px,1.6fr)
    minmax(130px,1fr)
    110px
    110px
    115px
    105px !important;
  gap:8px !important;
  width:100% !important;
}

/* Four-column Equipment */
.lmm-report-modal .lmm-equipment-head,
.lmm-report-modal .daily-equipment-row{
  display:grid !important;
  grid-template-columns:
    minmax(180px,1.2fr)
    minmax(140px,.9fr)
    minmax(240px,1.6fr)
    130px !important;
  gap:8px !important;
  width:100% !important;
}

/* Make all table controls consistent */
.lmm-report-modal .daily-manpower-row > *,
.lmm-report-modal .daily-service-row > *,
.lmm-report-modal .daily-equipment-row > *{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Remove horizontal scrolling */
.lmm-report-modal,
.lmm-report-modal .form,
.lmm-report-modal #manpower-rows,
.lmm-report-modal #service-rows,
.lmm-report-modal #equipment-rows{
  overflow-x:hidden !important;
}


/* Onboard Duty Maintenance Report */
.onboard-report-modal{
  width:min(1180px,96vw)!important;
  max-width:1180px!important;
}

.onboard-report-modal .daily-section-title{
  margin:22px 0 12px;
  padding:10px 14px;
  border-radius:10px;
  background:#f4f7fb;
  font-weight:800;
  letter-spacing:.04em;
  font-size:13px;
}

.onboard-manpower-table{
  width:100%;
  overflow-x:auto;
}

.onboard-manpower-head,
.onboard-manpower-row{
  display:grid;
  grid-template-columns:2fr 1.35fr 1fr 1fr 1.1fr;
  gap:10px;
  align-items:center;
  min-width:850px;
}

.onboard-manpower-head{
  padding:10px 12px;
  font-size:12px;
  font-weight:800;
  background:#f7f8fa;
  border-radius:10px;
}

.onboard-manpower-row{
  padding:7px 12px;
  border-bottom:1px solid #edf0f4;
}

.onboard-manpower-row input,
.onboard-manpower-row select{
  width:100%;
}

.onboard-manpower-total{
  display:flex;
  justify-content:flex-end;
  gap:35px;
  padding:14px 15px;
  font-size:14px;
}

.field-wide{
  grid-column:1/-1;
}

@media(max-width:760px){
  .onboard-report-modal{
    width:96vw!important;
  }
}

/* =====================================================
   DUTY REPORTS LIST
===================================================== */

.duty-report-head,
.duty-report-line{
  display:grid;
  grid-template-columns:
    minmax(130px,1fr)
    minmax(180px,1.4fr)
    minmax(190px,1.5fr)
    minmax(150px,1.1fr)
    minmax(130px,1fr)
    minmax(110px,.8fr);
  align-items:center;
  gap:16px;
}

.duty-report-head{
  padding:13px 20px;
  background:#f7f9fc;
  border-bottom:1px solid #e8edf3;
  font-size:11px;
  font-weight:800;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.duty-report-line{
  width:100%;
  padding:17px 20px;
  border:0;
  border-bottom:1px solid #edf0f4;
  background:#fff;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
  color:inherit;
  transition:.18s ease;
}

.duty-report-line:hover{
  background:#f8fafc;
}

.duty-report-line:last-child{
  border-bottom:0;
}

.duty-report-line span{
  min-width:0;
}

.duty-report-line b{
  display:block;
  font-size:14px;
  color:#172033;
  margin-bottom:3px;
}

.duty-report-line small{
  display:block;
  margin-top:3px;
  color:#7b8495;
  font-size:11px;
  line-height:1.35;
}

.duty-report-line .status{
  display:inline-flex;
  width:auto;
  justify-content:center;
  white-space:nowrap;
}

@media(max-width:900px){

  .duty-report-head{
    display:none;
  }

  .duty-report-line{
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:10px;
    border:1px solid #e8edf3;
    border-radius:12px;
  }

}

/* =====================================================
   TASK MANAGEMENT DASHBOARD
   ===================================================== */

.task-toolbar{
  margin-top:4px;
}

.task-table-card{
  overflow:hidden;
}

.task-table-head,
.task-table-line{
  display:grid;
  grid-template-columns:
    minmax(150px,1.15fr)
    minmax(150px,1.2fr)
    minmax(145px,1fr)
    minmax(180px,1.35fr)
    105px
    115px
    105px;
  gap:16px;
  align-items:center;
  padding:14px 20px;
}

.task-table-head{
  background:#f0f4f2;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:9px;
  font-weight:800;
}

.task-table-line{
  width:100%;
  border:0;
  border-top:1px solid var(--line);
  background:white;
  color:var(--ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .15s ease;
}

.task-table-line:hover{
  background:#f8faf9;
}

.task-primary{
  min-width:0;
}

.task-primary b{
  display:block;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.task-primary:first-child b{
  color:var(--brand-2);
  font-weight:800;
}

.task-primary small,
.task-hours small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}

.task-hours b{
  font-size:13px;
}

.task-empty{
  padding:35px 20px;
}

.task-page-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:13px 4px;
  color:var(--muted);
  font-size:10px;
}

.task-page-summary b{
  color:var(--ink);
}

@media(max-width:1050px){
  .task-table-card{
    overflow-x:auto;
  }

  .task-table-head,
  .task-table-line{
    min-width:1050px;
  }
}

@media(max-width:760px){
  .task-toolbar{
    align-items:stretch;
  }

  .task-toolbar .search{
    max-width:none;
  }

  .task-page-summary{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* Management Reports */
.management-report-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:4px 0 18px;
  margin-bottom:4px;
}

.management-report-tabs button{
  border:1px solid var(--border);
  background:var(--card);
  padding:9px 14px;
  border-radius:10px;
  white-space:nowrap;
  cursor:pointer;
  font:inherit;
}

.management-report-tabs button.active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}

.report-summary-line{
  padding:14px 4px;
  font-size:13px;
  opacity:.72;
}


/* Management Maintenance History */
.maintenance-history-head,
.maintenance-history-line{
  display:grid;
  grid-template-columns:
    150px
    100px
    130px
    90px
    140px
    minmax(260px,1fr);
  gap:14px;
  align-items:center;
}

.maintenance-history-head{
  padding:13px 20px;
  background:var(--soft);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.maintenance-history-line{
  padding:14px 20px;
  border-top:1px solid var(--border);
  font-size:13px;
}

.maintenance-history-line small{
  display:block;
  opacity:.65;
  margin-top:3px;
}


.movement-report-head,
.movement-report-line{
  display:grid;
  grid-template-columns:170px 130px 120px 150px minmax(160px,1fr);
  gap:14px;
  align-items:center;
}

.movement-report-head{
  padding:13px 20px;
  background:var(--soft);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.movement-report-line{
  padding:14px 20px;
  border-top:1px solid var(--border);
  font-size:13px;
}


/* Management Approval Report */
.approval-head,
.approval-line{
  display:grid;
  grid-template-columns:
    120px
    170px
    120px
    minmax(150px,1fr)
    minmax(180px,1.2fr)
    150px;
  gap:18px;
  align-items:center;
}

.approval-head{
  padding:14px 20px;
  background:var(--soft);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.approval-line{
  padding:16px 20px;
  border-top:1px solid var(--border);
  font-size:13px;
  min-height:54px;
}

.approval-line > span{
  min-width:0;
}

.approval-line .status{
  display:inline-flex;
  width:max-content;
}

@media(max-width:1100px){
  .approval-head,
  .approval-line{
    grid-template-columns:
      110px 150px 100px 140px 160px 130px;
    min-width:900px;
  }

  .table-card{
    overflow-x:auto;
  }
}


/* BirdMRO Master Data */
.master-table-wrap{
  overflow-x:auto;
}

.employee-master-head,
.employee-master-line{
  display:grid;
  grid-template-columns:
    minmax(190px,1.4fr)
    120px
    minmax(130px,1fr)
    minmax(120px,1fr)
    100px
    130px;
  gap:16px;
  align-items:center;
  min-width:900px;
}

.employee-master-head,
.compliance-master-head{
  padding:13px 20px;
  background:var(--soft);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.employee-master-line{
  padding:15px 20px;
  border-top:1px solid var(--border);
  font-size:13px;
}

.employee-master-line small,
.compliance-master-line small{
  display:block;
  opacity:.65;
  margin-top:3px;
}


.compliance-master-head,
.compliance-master-line{
  display:grid;
  grid-template-columns:
    minmax(170px,1.2fr)
    minmax(200px,1.5fr)
    110px
    130px
    130px
    150px;
  gap:16px;
  align-items:center;
  min-width:950px;
}

.compliance-master-line{
  padding:15px 20px;
  border-top:1px solid var(--border);
  font-size:13px;
}


.scope-master-grid{
  display:grid;
  grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}

.scope-master-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
}

.scope-master-number{
  min-width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:var(--soft);
  font-weight:800;
  font-size:12px;
}

.scope-master-card b{
  display:block;
  line-height:1.45;
}

.scope-master-card p{
  margin:6px 0 0;
  opacity:.7;
  font-size:13px;
  line-height:1.5;
}
/* Review-only assistance embedded in editable maintenance reports. */
.ai-report-assist{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  margin:0 0 18px;
  border:1px solid rgba(73,87,255,.24);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(73,87,255,.09),rgba(44,193,188,.07));
}
.ai-report-assist strong{color:var(--brand-2);font-size:14px}
.ai-report-assist p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.ai-report-assist p b{color:var(--text)}
.ai-report-assist button{flex:0 0 auto}
.ai-filled-field{outline:2px solid rgba(44,193,188,.28);outline-offset:1px}
@media(max-width:700px){
  .ai-report-assist{align-items:stretch;flex-direction:column}
  .ai-report-assist button{width:100%}
}

/* Android edge-to-edge and display-cutout spacing. */
@supports(padding:max(0px)){
  body{
    padding-top:env(safe-area-inset-top);
    padding-right:env(safe-area-inset-right);
    padding-bottom:env(safe-area-inset-bottom);
    padding-left:env(safe-area-inset-left);
  }
}
