@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142d32;--muted:#718184;--teal:#0e716f;--teal-dark:#075c5d;--mint:#e8f4f1;--line:#e3ebea;--paper:#fff;--canvas:#f6f9f8;--orange:#c98238;--shadow:0 12px 38px rgba(18,53,55,.07)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px 'DM Sans',sans-serif}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1320px)/2),32px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:20px}.brand strong,.brand small{display:block}.brand strong{font:700 16px Manrope,sans-serif}.brand small{font-size:11px;color:var(--muted);margin-top:3px}.user-chip{display:flex;align-items:center;gap:10px;font-weight:600}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#e0efea;color:var(--teal);border-radius:50%;font-weight:700}.user-chip form{margin-left:10px}.link-button,.text-link{border:0;background:none;color:var(--teal);font:600 12px 'DM Sans';cursor:pointer;text-decoration:none}.container{max-width:1320px;margin:0 auto;padding:42px 30px 65px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}h1{font-size:34px;letter-spacing:-1.3px;margin:8px 0}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:1.4px;font-weight:700}.welcome{min-height:600px;display:grid;grid-template-columns:1fr 420px;gap:100px;align-items:center;padding:30px 8%}.welcome-copy h1{font-size:62px;line-height:1.05}.welcome-copy em{font-style:normal;color:var(--teal)}.welcome-copy p{color:var(--muted);font-size:16px;line-height:1.8;max-width:460px;margin:22px 0 30px}.features{display:grid;gap:13px;color:#486365;font-size:13px}.features span:first-letter{color:var(--teal)}.login-card,.panel,.stat-card{background:var(--paper);border:1px solid #e9efee;border-radius:13px;box-shadow:var(--shadow)}.login-card{padding:32px}.login-card h2{font-size:22px;margin:18px 0 8px}.login-card p,.panel-heading p{font-size:12px;color:var(--muted);margin-bottom:20px}.card-icon{width:39px;height:39px;border-radius:11px;background:var(--mint);color:var(--teal);display:grid;place-items:center;font-size:20px}.field{display:flex;flex-direction:column;gap:8px}.field>span{font-size:10px;letter-spacing:.65px;font-weight:700;color:#52686a}.field input,.field select,.field textarea{width:100%;border:1px solid #dce6e4;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);font:13px 'DM Sans';outline:none;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5b9f98;box-shadow:0 0 0 3px #e3f1ee}.field textarea{resize:vertical}.login-card .field{margin:22px 0 16px}.primary,.secondary{border:0;border-radius:7px;padding:11px 16px;display:inline-flex;justify-content:center;align-items:center;gap:20px;cursor:pointer;font:600 12px 'DM Sans';transition:.15s}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark)}.primary span{font-size:16px}.full{width:100%}.muted{color:#8b999a;font-size:10px;display:block;margin-top:15px;text-align:center}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.page-heading h1{font-size:30px}.page-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.wave{font-size:20px;color:var(--orange)}.secondary{background:#fff;color:#365457;border:1px solid var(--line);gap:12px}.secondary:hover{border-color:#a9c9c4}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat-card{padding:21px 23px;position:relative;min-height:122px}.stat-card.accent{background:#edf7f4;border-color:#e1efea}.stat-label{font-size:9px;letter-spacing:.9px;color:#6e8583;font-weight:700;display:block;margin-bottom:10px}.stat-card strong{display:block;font:700 28px Manrope,sans-serif;letter-spacing:-.6px}.stat-card small{color:var(--muted);font-size:10px}.stat-icon{position:absolute;right:22px;top:20px;color:#77aaa2;font-size:21px}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:0 0 12px;color:#839292;text-decoration:none;font-size:12px;font-weight:600}.tabs a.active{color:var(--teal);border-bottom:2px solid var(--teal)}.panel{margin-bottom:20px;overflow:hidden}.panel-heading{padding:20px 22px 15px;display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font-size:17px;margin:0 0 5px}.panel-heading p{margin:0}.period-tag{font-size:9px;letter-spacing:.65px;color:#557773;background:#eff7f5;padding:7px 10px;border-radius:20px;font-weight:700}.form-panel{padding:0 22px}.form-panel .panel-heading{padding-left:0;padding-right:0}.flight-form{border-top:1px solid var(--line)}.form-section{padding:18px 0;border-bottom:1px solid var(--line)}.form-section h3{font-size:12px;display:flex;align-items:center;gap:9px;margin:0 0 15px}.form-section h3>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--teal);font:700 9px 'DM Sans'}.form-section h3 small{font:400 10px 'DM Sans';color:var(--muted);margin-left:4px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.compact{padding:0 22px 20px;grid-template-columns:repeat(4,1fr);align-items:end}.form-actions{padding:16px 0;display:flex;justify-content:flex-end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{background:#f5f8f7;color:#718280;text-align:left;font-size:9px;font-weight:700;letter-spacing:.45px;padding:12px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf1f0;color:#43585a;vertical-align:middle}td strong,td small{display:block}td strong{color:#203b3e;font-weight:600}td small{font-size:9px;color:#859392;margin-top:4px}.strong{font-weight:700;color:#183d3d}.empty{text-align:center;color:#81908f;padding:28px}.row-actions{display:flex;gap:9px}.row-actions a,.row-actions button,.icon-button{border:0;background:none;color:var(--teal);font-size:16px;cursor:pointer;text-decoration:none}.row-actions form{display:inline}.row-actions button,.icon-button{color:#a0655f}.logbook tfoot th{background:#edf5f2;color:#244d4b;border-top:1px solid #dce8e4}.totals-strip{display:flex;gap:35px;padding:16px 20px;background:#fbfcfc}.totals-strip div{display:flex;flex-direction:column;gap:5px}.totals-strip span{font-size:9px;color:#81908f}.totals-strip strong{font:700 12px Manrope;color:#284c4c}.inline-form{padding:0 22px 20px;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.alert{padding:12px 15px;border-radius:7px;margin-bottom:16px;font-size:12px}.alert.error{background:#fff0ef;color:#a44942}.alert.success{background:#edf8f2;color:#397955}.alert.info{background:#eef6f4;color:#416d68}.alert a{color:var(--teal);font-weight:700}footer{border-top:1px solid var(--line);padding:20px max(calc((100% - 1320px)/2),32px);color:#849290;font-size:10px}footer span{float:right}.form-grid select{appearance:auto}
@media(max-width:900px){.container{padding:28px 18px 45px}.welcome{grid-template-columns:1fr;gap:36px;padding:40px 8%}.welcome-copy h1{font-size:48px}.login-card{max-width:500px}.form-grid.four{grid-template-columns:repeat(2,1fr)}.form-grid.compact{grid-template-columns:repeat(2,1fr)}.totals-strip{flex-wrap:wrap;gap:18px}.topbar{padding:0 18px}}
@media(max-width:560px){.container{padding:25px 13px 40px}.topbar{height:65px}.user-chip{font-size:11px;gap:6px}.user-chip form{margin-left:0}.link-button{font-size:10px}.page-heading{align-items:flex-start;gap:14px;flex-direction:column}.page-heading h1{font-size:25px}.stats{grid-template-columns:1fr;gap:10px}.stat-card{min-height:100px}.form-grid,.form-grid.four,.form-grid.compact{grid-template-columns:1fr 1fr;gap:10px}.inline-form{grid-template-columns:1fr}.form-panel{padding:0 14px}.form-section h3{flex-wrap:wrap}.panel-heading{padding:16px}.welcome{padding:28px 3%;min-height:unset}.welcome-copy h1{font-size:43px}.login-card{padding:24px}.totals-strip{gap:13px}.tabs{gap:18px}.tabs a{font-size:11px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff;font-size:8px}.topbar,.page-heading .secondary,.tabs,.form-panel,.no-print,footer,.stat-icon{display:none!important}.container{max-width:none;padding:0}.page-heading{margin:0 0 8px}.page-heading h1{font-size:16px}.page-heading p,.eyebrow,.stats{display:none}.panel{box-shadow:none;border:0;margin:0}.logbook .panel-heading{padding:0 0 7px}.panel-heading h2{font-size:12px}.panel-heading p{font-size:8px}.table-wrap{overflow:visible}table{white-space:normal;font-size:7px}th{font-size:6px;padding:5px 3px}td{padding:5px 3px}td small{font-size:6px}.totals-strip{padding:6px 3px;gap:18px}.totals-strip span{font-size:6px}.totals-strip strong{font-size:8px}}
.official-print{display:none}
@media print{.logbook{display:none!important}.official-print{display:block!important}.official-page{page-break-after:always;break-after:page;min-height:185mm;position:relative;padding:0 0 7mm}.official-page:last-child{page-break-after:always;break-after:page}.official-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #222;padding:0 0 5px;margin-bottom:7px;font-size:8px}.official-head strong{font-size:13px;letter-spacing:1px;margin-right:12px}.official-head span{font-size:8px}.official-table{width:100%;border-collapse:collapse;table-layout:fixed;font:7px Arial,sans-serif}.official-table th,.official-table td{border:1px solid #222;padding:4px 3px;white-space:normal;text-align:center;vertical-align:middle;color:#111;background:#fff}.official-table th{height:15mm;font-size:6.5px;letter-spacing:0;font-weight:600}.official-table td{height:12mm;font-size:7px}.official-table thead tr:nth-child(2) th{height:10mm}.official-table.page-two th{height:17mm}.official-summary{width:58%;margin:8px 0 0 auto;border-collapse:collapse;font:7px Arial,sans-serif}.official-summary th,.official-summary td{border:1px solid #222;padding:5px;text-align:center}.official-summary th{width:25%;text-align:left}.signature-box{position:absolute;right:0;bottom:8mm;width:32%;height:34mm;border:1px solid #222;padding:7px;font:italic 8px Arial,sans-serif}.signature-box span{display:block;text-align:right;margin-top:10px}.print-empty{height:24mm!important;text-align:center}}
.heading-actions{display:flex;align-items:center;gap:10px}.heading-actions a{text-decoration:none}.heading-actions .primary{gap:10px}.form-panel{scroll-margin-top:20px}.logbook{display:none}.official-print{display:block;margin-top:18px}.official-page{position:relative;background:#fff;border:1px solid #dbe5e2;border-radius:12px;box-shadow:var(--shadow);padding:20px;margin:16px 0 22px;overflow-x:auto}.official-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 14px;margin-bottom:14px;border-bottom:2px solid #42615e;color:#405a59;font-size:11px}.official-head strong{font:800 15px Manrope,sans-serif;letter-spacing:.8px;margin-right:12px;color:#163d3c}.official-head span{font-size:11px}.official-table{width:100%;min-width:1330px;border-collapse:collapse;table-layout:fixed;font-size:11px}.official-table.page-two{min-width:980px}.official-table th,.official-table td{border:1px solid #ccd9d6;padding:9px 7px;text-align:center;vertical-align:middle;white-space:normal}.official-table th{background:#edf4f2;color:#355653;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.2px}.official-table td{height:43px;color:#304a49;background:#fff}.official-table tbody tr:nth-child(even) td{background:#fbfdfc}.official-table .no-print{min-width:145px}.official-summary{width:min(700px,100%);margin:14px 0 0 auto;border-collapse:collapse;font-size:10px}.official-summary th,.official-summary td{border:1px solid #ccd9d6;padding:9px;text-align:center}.official-summary th{background:#f0f5f3;color:#355653;text-align:left}.flight-tools{display:flex;align-items:center;justify-content:center;gap:6px}.flight-tools form{margin:0}.edit-button,.delete-button{border:1px solid #d5e3e0;border-radius:5px;background:#fff;color:#176761;padding:6px 8px;font:600 10px 'DM Sans';text-decoration:none;cursor:pointer}.delete-button{border-color:#efd7d5;color:#a0443d}.edit-button:hover{background:#edf7f4}.delete-button:hover{background:#fff1ef}.official-page .print-empty{min-width:200px;height:90px;color:#80908e}.signature-box{width:32%;min-height:90px;margin:14px 0 0 auto;border:1px solid #ccd9d6;padding:12px;color:#506765;font-size:11px}.signature-box span{display:block;text-align:right;margin-top:22px;font-weight:600}
.scroll-hint{margin:-6px 0 10px;color:#738784;font-size:10px}
.official-print{display:block;margin:18px 0 30px}
.official-spread-viewport{overflow-x:auto;overflow-y:hidden;padding:8px 4px 22px;scrollbar-gutter:stable;overscroll-behavior-inline:contain}
.official-spread{display:flex;align-items:stretch;gap:0;width:max-content;min-width:100%;border-radius:12px;box-shadow:0 14px 40px rgba(18,53,55,.12);background:#fff}
.official-page{flex:0 0 auto;width:max-content;min-width:0;min-height:700px;margin:0;padding:24px 18px 28px;border:1px solid #dbe5e2;border-radius:0;box-shadow:none;overflow:visible}
.official-page:first-child{border-radius:12px 0 0 12px;border-right:0;box-shadow:inset -10px 0 14px -16px #243b38}
.official-page:nth-child(2){border-radius:0 12px 12px 0;border-left:1px solid #b7c7c3;box-shadow:inset 10px 0 14px -16px #243b38}
.official-table{min-width:100%;width:max-content;table-layout:auto}
.official-table.page-two{min-width:100%;width:max-content}
.official-summary{width:100%;margin:18px 0 0;border-collapse:collapse;table-layout:fixed;font-size:10px}
.official-summary th,.official-summary td{border:1px solid #bfcfcb;padding:10px 8px;text-align:center}
.official-summary th{background:#f0f5f3;color:#355653;font-weight:700}
.official-summary tr:first-child th{background:#e6efec;font-size:9px;letter-spacing:.25px}
.official-summary tr:not(:first-child) th:nth-child(odd){text-align:left}
.signature-box{width:42%;min-height:110px;margin:22px 0 0 auto;border:1px solid #ccd9d6;padding:15px;color:#506765;font-size:11px}
@media(max-width:900px){.official-page{padding:18px}.official-table,.official-table.page-two{min-width:100%}}
@media(max-width:560px){.official-page{padding:14px}}
.official-page .official-table{font-size:10px}
.official-page .official-table th{padding:6px 3px;font-size:8px;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:none}
.official-page .official-table td{padding:5px 2px;font-size:10px;overflow-wrap:normal;word-break:normal;hyphens:none}
.official-page .official-table:not(.page-two) td:nth-child(2),.official-page .official-table:not(.page-two) td:nth-child(3),.official-page .official-table:not(.page-two) td:nth-child(4),.official-page .official-table:not(.page-two) td:nth-child(5),.official-page .official-table:not(.page-two) td:nth-child(13),.official-page .official-table:not(.page-two) td:nth-child(14){white-space:nowrap}
.official-page .official-table.page-two td{height:43px}
.remarks-cell{position:relative;text-align:left!important;padding-right:6px!important;max-width:280px;overflow-wrap:normal;word-break:normal;hyphens:none}
.remarks-cell>span{display:block}
.remarks-cell .flight-tools{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:stretch;gap:4px}
.remarks-cell .flight-tools form{display:block}
.remarks-cell .edit-button,.remarks-cell .delete-button{display:block;width:86px;padding:5px 6px;font-size:9px}
.page-two-summary{width:70%;margin:0;table-layout:fixed;font-size:9px}
.page-two-summary th,.page-two-summary td{padding:7px 4px}
.page-two-summary thead th{text-align:center!important;background:#edf4f2}
.page-two-summary tbody th{text-align:left;background:#f0f5f3}
.official-page>.official-summary{width:58%;margin:12px 0 0 25%}
.official-opening{display:flex;flex:0 0 auto;width:max-content;align-items:stretch}
.official-opening>.official-page:first-child{border-radius:12px 0 0 12px;border-right:0}
.official-opening>.official-page:last-child{border-radius:0 12px 12px 0;border-left:1px solid #b7c7c3}
.official-table i,.official-summary i,.signature-box i{display:block;margin-top:2px;font-size:.88em;font-weight:400}
@media print{.official-opening{display:block;width:auto}.remarks-cell{padding-right:3px!important}.remarks-cell .flight-tools{display:none!important}.page-two-summary{width:70%;font-size:7px}.page-two-summary th,.page-two-summary td{padding:4px 2px}.official-page .official-table th{overflow-wrap:normal}}
.official-table tfoot th,.official-table tfoot td{height:38px;background:#fff;border:1px solid #9eaaa7;color:#263b39;padding:6px 4px;text-align:center;vertical-align:middle;font-size:9px}
.official-table tfoot tr:first-child th,.official-table tfoot tr:first-child td{border-top:2px solid #273936}
.official-table tfoot th{font-weight:600}
.official-table tfoot i{font-size:8px;color:#536460}
.official-table tfoot .totals-left-blank{background:#fff}
.action-column{white-space:nowrap}
.action-column .flight-tools{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px;white-space:nowrap}
.action-column .flight-tools form{margin:0}
.action-column .edit-button,.action-column .delete-button{padding:5px 5px;font-size:8px;line-height:1.15}
@media print{.action-column,.action-col{display:none!important}.official-table tfoot th,.official-table tfoot td{height:9mm;padding:3px 2px;font-size:6px}.official-table tfoot i{font-size:5px}.official-table.page-two{min-width:0}.official-page .official-table:not(.page-two){min-width:0}}
.official-table.page-two col.action-col{width:14%!important}
.official-table.page-two col:nth-child(10){width:34%!important}
.official-table.page-two tr>*:nth-child(10){width:34%!important}
.official-table.page-two .action-column{min-width:0!important}
.action-column .flight-tools{flex-wrap:nowrap}
.action-column .edit-button,.action-column .delete-button{padding:4px 4px;font-size:8px;white-space:nowrap}
.official-table tfoot .totals-left-blank{border-left-color:transparent;border-bottom-color:transparent}
.official-table tfoot tr:last-child th,.official-table tfoot tr:last-child td{border-top:1px solid #aab6b3;border-bottom:2px solid #273936}
/* Keep both halves of the open logbook on the same row grid. */
.official-opening>.official-page>.official-table{width:max-content;min-width:100%;table-layout:auto}
.official-opening>.official-page>.official-table thead tr:first-child th{height:72px}
.official-opening>.official-page>.official-table thead tr:nth-child(2) th{height:56px}
.official-opening>.official-page>.official-table tfoot tr{height:38px}
.official-opening>.official-page>.official-table tfoot th,
.official-opening>.official-page>.official-table tfoot td{height:38px;box-sizing:border-box}
.official-opening>.official-page>.official-table tfoot tr.totals-detail-row,
.official-opening>.official-page>.official-table tfoot tr.totals-detail-row th,
.official-opening>.official-page>.official-table tfoot tr.totals-detail-row td{height:19px;padding-top:2px;padding-bottom:2px}
.official-opening>.official-page>.official-table tfoot .se-me-label{font-size:8px;font-style:italic;font-weight:600}
@media print{
  .official-opening>.official-page>.official-table thead tr:first-child th{height:15mm}
  .official-opening>.official-page>.official-table thead tr:nth-child(2) th{height:10mm}
  .official-opening>.official-page>.official-table tfoot tr,
  .official-opening>.official-page>.official-table tfoot th,
  .official-opening>.official-page>.official-table tfoot td{height:9mm}
  .official-opening>.official-page>.official-table tfoot tr.totals-detail-row,
  .official-opening>.official-page>.official-table tfoot tr.totals-detail-row th,
  .official-opening>.official-page>.official-table tfoot tr.totals-detail-row td{height:4.5mm;padding-top:1px;padding-bottom:1px}
}
@media(max-width:560px){.action-column .edit-button,.action-column .delete-button{padding:3px;font-size:7px}}
.official-opening.is-hidden{display:none}.spread-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px}.spread-picker{display:flex;align-items:center;gap:8px}.spread-picker label,.spread-position{font-size:11px;font-weight:600;color:#58706f;white-space:nowrap}.spread-picker select{border:1px solid #dce6e4;border-radius:7px;padding:9px 10px;background:#fff;color:var(--ink);font:600 11px 'DM Sans'}.spread-navigation .secondary{white-space:nowrap;text-decoration:none}.spread-navigation .is-disabled{opacity:.45;cursor:default}@media(max-width:760px){.spread-navigation{flex-wrap:wrap;justify-content:center}.spread-picker{order:-1;width:100%;justify-content:center}.spread-position{min-width:100px;text-align:center}}@media(max-width:420px){.spread-navigation{gap:7px;padding:9px}.spread-navigation .secondary{padding:8px 9px;font-size:10px}.spread-position{font-size:10px}}
@media print{.spread-navigation{display:none!important}.official-opening.is-hidden{display:block!important}}
@media print{.official-table.page-two tr>*:nth-child(10){width:auto!important}.official-table tfoot .totals-left-blank{border-bottom-color:transparent}}
.official-spread-viewport{scrollbar-width:thin}
.official-spread-viewport{cursor:grab;touch-action:none}
.official-spread-viewport.is-dragging{cursor:grabbing;user-select:none}
@media print{.official-spread-viewport{overflow:visible;padding:0}.official-spread{display:block;width:auto;min-width:0;box-shadow:none}.official-page{width:auto;min-height:185mm;margin:0;padding:0 0 7mm;border:0;border-radius:0;box-shadow:none}.official-page:first-child,.official-page:nth-child(2){border:0;border-radius:0;box-shadow:none}.official-summary{width:58%;margin:8px 0 0 auto;font-size:7px}.official-summary th,.official-summary td{padding:5px}.signature-box{width:32%;min-height:0}}
@media(max-width:900px){.heading-actions{flex-wrap:wrap}.official-page{padding:15px}.official-head{align-items:flex-start;flex-direction:column}.official-table{min-width:1200px}.official-table.page-two{min-width:900px}}
@media(max-width:560px){.heading-actions{width:100%}.heading-actions .primary,.heading-actions .secondary{flex:1;gap:6px;padding:10px}.official-page{margin-left:-2px;margin-right:-2px;padding:12px}.official-head strong{font-size:13px}.official-head span{display:block;margin-top:4px}.official-table{min-width:1150px}.official-table.page-two{min-width:850px}}
@media print{.heading-actions,.official-page{box-shadow:none;border:0;border-radius:0}.official-page{overflow:visible;padding:0;margin:0;min-height:185mm}.official-table{min-width:0;table-layout:fixed}.official-table.page-two{min-width:0}.official-table th,.official-table td{padding:4px 3px}.official-table th{font-size:6.5px}.official-table td{height:12mm;font-size:7px}.official-table .no-print{display:none!important}.official-summary{font-size:7px}.signature-box{position:absolute;right:0;bottom:8mm;width:32%;height:34mm;margin:0;padding:7px;font:italic 8px Arial,sans-serif}.signature-box span{margin-top:10px}}
.is-hidden{display:none!important}.route-top{grid-template-columns:minmax(180px,1fr) minmax(280px,2fr);max-width:760px;margin-bottom:15px}.route-line{display:grid;grid-template-columns:110px minmax(180px,1fr) minmax(130px,220px);align-items:end;gap:14px;padding:12px 14px;margin:8px 0;border:1px solid #e2ebe8;border-radius:8px;background:#f9fbfa}.route-label{align-self:center;color:#32645e;font-size:10px;letter-spacing:.7px;font-weight:700}.check-field{display:flex;align-items:center;gap:10px;margin:2px 0 16px;padding:11px 13px;background:#f0f7f5;border:1px solid #dcebe6;border-radius:7px;width:max-content;max-width:100%;color:#294e4a}.check-field input{width:17px;height:17px;accent-color:var(--teal)}.check-field>span{font-size:12px;font-weight:700}.check-field small{font-size:10px;color:#718582}.role-grid{margin-top:5px}.inline-form{grid-template-columns:1fr 1.4fr 1fr auto}.aircraft-update{display:flex;align-items:center;gap:8px}.aircraft-update select{border:1px solid #dce6e4;border-radius:6px;padding:7px;background:#fff;color:var(--ink);font:11px 'DM Sans'}
.shared-date{max-width:320px;padding-top:14px}
.entry-kind-toggle{margin-top:14px}
.aircraft-update input[type="text"]{min-width:180px;flex:1;border:1px solid #dce6e4;border-radius:6px;padding:7px;background:#fff;color:var(--ink);font:11px 'DM Sans'}
@media(max-width:900px){.route-top{grid-template-columns:1fr 1.5fr}.route-line{grid-template-columns:80px 1fr 160px;gap:9px}.inline-form{grid-template-columns:1fr 1fr}.inline-form .primary{grid-column:1/-1;justify-self:end}}
@media(max-width:560px){.route-top{grid-template-columns:1fr}.route-line{grid-template-columns:1fr 1fr;padding:10px;gap:9px}.route-label{grid-column:1/-1}.check-field{width:100%;flex-wrap:wrap}.check-field small{width:100%;padding-left:27px}.inline-form{grid-template-columns:1fr}.inline-form .primary{grid-column:auto;justify-self:stretch}.aircraft-update{align-items:stretch;flex-direction:column}.aircraft-update select,.aircraft-update button{width:100%}}
.subtabs{display:flex;gap:9px;overflow-x:auto;margin:-5px 0 20px;padding-bottom:2px}.subtabs a{flex:none;padding:9px 13px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#718184;text-decoration:none;font-size:11px;font-weight:600}.subtabs a.active{background:var(--teal);border-color:var(--teal);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-panel{padding-bottom:18px}.pie-chart{display:grid;grid-template-columns:minmax(170px,220px) minmax(180px,1fr);align-items:center;gap:16px;padding:0 22px 8px}.pie-chart svg{width:100%;max-width:220px;height:auto;justify-self:center}.pie-total{font:700 19px Manrope,sans-serif;fill:var(--ink)}.pie-caption{font:700 8px 'DM Sans',sans-serif;letter-spacing:1px;fill:var(--muted)}.chart-legend{list-style:none;padding:0;margin:0;display:grid;gap:9px;max-height:245px;overflow:auto}.chart-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px;color:#536769}.chart-legend strong{color:var(--ink);font-size:10px;font-variant-numeric:tabular-nums}.chart-swatch{width:9px;height:9px;border-radius:3px;background:var(--swatch)}.bar-chart-wrap{overflow-x:auto;padding:0 16px 16px}.bar-chart-svg{display:block;width:100%;min-width:760px;height:auto;overflow:visible}.chart-grid{stroke:#e7eeec;stroke-width:1}.chart-axis{fill:#718184;font:10px 'DM Sans',sans-serif}.chart-bar{fill:#0e716f}.chart-bar:hover{fill:#e6a452}@media(max-width:900px){.stats-grid{grid-template-columns:1fr}.pie-chart{grid-template-columns:minmax(150px,200px) minmax(160px,1fr)}}@media(max-width:560px){.pie-chart{grid-template-columns:1fr;gap:10px;padding:0 16px 10px}.pie-chart svg{max-width:190px}.chart-legend{max-height:210px}.subtabs{gap:6px}.subtabs a{padding:8px 10px}}

/* Navigation du carnet : une seule ligne sous les pages, alignée à gauche. */
.spread-navigation{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px;margin:12px 0 0;padding:0;border:0;border-radius:0;background:transparent;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.spread-picker{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin:0}
.spread-picker label{flex:0 0 auto;font-size:11px;font-weight:700;color:#58706f;white-space:nowrap}
.spread-picker select{appearance:none;min-width:180px;flex:0 0 auto;border:1px solid #cbd9d6;border-radius:8px;padding:9px 34px 9px 12px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%233e6b66' stroke-width='1.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;box-shadow:0 2px 5px rgba(24,55,52,.08);color:var(--ink);font:600 11px 'DM Sans',sans-serif;cursor:pointer}
.spread-picker select:hover{border-color:#83aaa4;background-color:#fbfdfc}
.spread-picker select:focus-visible{outline:3px solid rgba(52,126,115,.2);border-color:var(--teal)}
.spread-navigation .secondary{flex:0 0 auto;white-space:nowrap;text-decoration:none}
.spread-navigation .is-disabled{opacity:.45;cursor:default}
@media(max-width:420px){.spread-navigation{gap:7px}.spread-picker{gap:6px}.spread-picker select{min-width:145px;padding:8px 28px 8px 9px;background-position:right 9px center}.spread-picker label{font-size:10px}.spread-navigation .secondary{padding:8px 9px;font-size:10px}}
@media print{.spread-navigation{display:none!important}.official-opening.is-hidden{display:block!important}}

/* Statistiques : navigation, graphiques et tableau triable. */
.subtabs{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px;padding:7px;width:fit-content;max-width:100%;border:1px solid #e1ebe8;border-radius:14px;background:linear-gradient(135deg,#f0f7f5,#fff);box-shadow:0 5px 16px rgba(24,55,52,.05)}
.subtabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:#607674;text-decoration:none;font-size:12px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}
.subtabs a span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e7f1ee;color:#397a70;font-size:13px}
.subtabs a:hover{background:#fff;color:var(--teal)}
.subtabs a.active{background:#fff;border-color:#dce9e5;color:var(--teal-dark);box-shadow:0 3px 9px rgba(22,70,63,.09)}
.subtabs a.active span{background:var(--teal);color:#fff}
.pie-chart{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 22px 18px}
.pie-chart svg{display:block;width:min(100%,190px);max-width:190px;height:auto;filter:drop-shadow(0 4px 9px rgba(22,54,51,.08))}
.pie-label{fill:#fff;font:700 11px 'DM Sans',sans-serif;paint-order:stroke;stroke:rgba(15,38,36,.36);stroke-width:1.5px;stroke-linejoin:round;pointer-events:none}
.pie-total{font-size:19px}.pie-caption{font-size:7px}
.chart-legend{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:1fr;gap:8px;width:min(100%,440px);align-self:flex-start;max-height:none;overflow:visible}
.chart-legend li{display:grid;grid-template-columns:10px auto auto;justify-content:start;align-items:center;gap:8px;font-size:11px;color:#536769}
.chart-legend strong{color:var(--ink);font-size:10px;font-variant-numeric:tabular-nums}
.chart-swatch{width:9px;height:9px;border-radius:3px;background:var(--swatch)}
.bar-chart-wrap{overflow-x:auto;padding:0 18px 15px}
.bar-chart-svg{display:block;width:100%;min-width:0;max-width:820px;height:auto;margin:0 auto;overflow:visible}
.bar-chart-svg .chart-axis{font-size:9px}
.annual-chart .bar-chart-svg{max-width:820px;margin:0 auto}
.chart-bar{transition:filter .08s}.chart-bar:hover,.chart-bar.is-hovered{filter:brightness(1.18)}
.pie-slice{cursor:pointer;transform-box:view-box;transform-origin:130px 130px;transition:filter .08s,transform .08s,stroke .08s}.pie-slice:hover,.pie-slice.is-hovered{filter:brightness(1.18);stroke:#fff;stroke-width:3;transform:scale(1.025)}
.cumulative-point-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:pointer}.cumulative-point{fill:#5278a6;stroke:#fff;stroke-width:1.5;transition:r .08s,filter .08s}.cumulative-point.is-hovered{r:7;filter:brightness(1.12)}
.chart-tooltip{position:fixed;z-index:2000;pointer-events:none;padding:7px 10px;border:1px solid #dce7e4;border-radius:7px;background:#fff;color:#173f3d;box-shadow:0 5px 16px rgba(18,53,55,.16);font:600 11px 'DM Sans',sans-serif;white-space:nowrap;opacity:0;transform:translateY(2px);transition:opacity .04s linear,transform .04s linear}
.chart-tooltip.is-visible{opacity:1;transform:translateY(0)}
.sortable-heading{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;white-space:nowrap}
.sortable-heading span{font-size:13px;color:#92a6a2}
.sortable-heading:hover,.sortable-heading:hover span{color:var(--teal)}
.year-picker{display:flex;align-items:center;gap:8px;color:#58706f;font-size:11px;font-weight:700}
.year-picker select{appearance:none;border:1px solid #cbd9d6;border-radius:8px;padding:8px 30px 8px 11px;background:#fff;color:var(--ink);font:600 12px 'DM Sans',sans-serif;box-shadow:0 2px 5px rgba(24,55,52,.06);cursor:pointer}
.year-picker select:focus-visible{outline:3px solid rgba(52,126,115,.2);border-color:var(--teal)}
@media(max-width:560px){.subtabs{width:100%;gap:5px;padding:5px}.subtabs a{flex:1;justify-content:center;padding:8px 9px;font-size:10px}.subtabs a span{width:20px;height:20px}.pie-chart svg{max-width:190px}.panel-heading:has(.year-picker){align-items:flex-start;gap:10px;flex-wrap:wrap}.year-picker select{padding:7px 25px 7px 9px}}
@media(max-width:560px){.chart-legend{grid-template-columns:1fr}}

/* En-têtes supérieurs des groupes du carnet : hauteur minimale. */
.official-page .official-table thead tr:first-child th[colspan]{padding-top:1px;padding-bottom:1px;font-size:9px}

/* Impression : une page du carnet par feuille A4 paysage. */
@media print {
  @page { size: A4 landscape; margin: 5mm; }
  html, body { width: 287mm !important; margin: 0 !important; padding: 0 !important; }
  .container, .official-print, .official-spread-viewport, .official-spread, .official-opening { display: block !important; width: 287mm !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  .official-spread { box-shadow: none !important; }
  .official-page { display: block !important; box-sizing: border-box !important; width: 287mm !important; height: 200mm !important; min-height: 0 !important; max-height: 200mm !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; break-inside: avoid !important; page-break-inside: avoid !important; break-after: page !important; page-break-after: always !important; }
  .official-head { height: 9mm !important; margin: 0 0 1mm !important; padding: 0 1mm 1mm !important; font-size: 7px !important; }
  .official-head strong { font-size: 10px !important; }
  .official-head span { font-size: 7px !important; }
  .official-table, .official-table.page-two { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: fixed !important; border-collapse: collapse !important; font-size: 7px !important; }
  .official-table th, .official-table td { box-sizing: border-box !important; padding: 1px 2px !important; font-size: 7px !important; line-height: 1.1 !important; }
  .official-table thead tr:first-child th { height: 15mm !important; }
  .official-table.page-two thead tr:first-child th { height: 15mm !important; }
  .official-table thead tr:nth-child(2) th { height: 10mm !important; }
  .official-table tbody tr, .official-table tbody td { height: 10.5mm !important; max-height: 10.5mm !important; }
  .official-table tfoot tr, .official-table tfoot th, .official-table tfoot td { height: 9mm !important; max-height: 9mm !important; padding: 1px 2px !important; font-size: 7px !important; }
  .official-table tfoot tr.totals-detail-row, .official-table tfoot tr.totals-detail-row th, .official-table tfoot tr.totals-detail-row td { height: 4.5mm !important; max-height: 4.5mm !important; padding: 0 1px !important; }
  .official-table tfoot i { font-size: 5px !important; }
  .official-table .no-print, .official-table col.action-col { display: none !important; }
  .official-table .remarks-cell { overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; }
}
.auth-card .field + .field{margin-top:14px}
.auth-switch{display:block;margin-top:16px;color:var(--teal);text-align:center;font-size:12px;font-weight:700;text-decoration:none}
.auth-switch:hover{text-decoration:underline}
.user-chip>a{text-decoration:none;white-space:nowrap}
.admin-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 22px 18px}
.admin-setting>div{display:grid;gap:5px}.admin-setting strong{font:700 14px Manrope,sans-serif}.admin-setting span{font-size:12px;color:var(--muted)}
.admin-panel>.alert{margin:20px}
.profile-link{color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}.profile-link:hover{color:var(--teal);text-decoration:underline}
.password-panel{max-width:620px;padding:24px}.password-form .field{display:block;margin:0 0 18px}.password-form .field span{display:block;margin-bottom:7px;color:#6e8583;font-size:9px;font-weight:700;letter-spacing:.8px}.password-form .field input{width:100%;border:1px solid #dce6e4;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);font:13px 'DM Sans'}.password-form .field input:focus{outline:none;border-color:#5b9f98;box-shadow:0 0 0 3px #e3f1ee}.password-form .muted{text-align:left;margin:0}.password-form .form-actions{justify-content:flex-start;padding-bottom:0}
.delete-account-panel{max-width:620px;padding:24px;border-color:#efd8d5}.delete-account-panel h2{font-size:17px;margin:0 0 7px;color:#8b3934}.delete-account-panel p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:18px}.delete-account-panel .field{display:block;margin:0 0 14px}.delete-account-panel .field span{display:block;margin-bottom:7px;color:#8b514b;font-size:9px;font-weight:700;letter-spacing:.8px}.delete-account-panel .field input{width:100%;border:1px solid #ead9d7;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);font:13px 'DM Sans'}.danger-button{border:0;border-radius:7px;padding:11px 16px;background:#a84943;color:#fff;font:600 12px 'DM Sans';cursor:pointer}.danger-button:hover{background:#8c3833}
@media(max-width:560px){.admin-setting{align-items:flex-start;flex-direction:column}.user-chip{flex-wrap:wrap;justify-content:flex-end}.user-chip>a{font-size:10px}}

/* Indicateurs de la page aéronefs et camembert agrandi des fonctions. */
.pie-chart.is-large svg{flex:0 0 auto;width:min(100%,320px);max-width:320px}
.aircraft-stat-filters{display:flex;flex-wrap:wrap;gap:14px;padding:0 22px 20px}
.aircraft-stat-filters label{display:grid;gap:6px;min-width:220px;color:#58706f;font-size:10px;font-weight:700}
.aircraft-stat-filters select{min-width:220px;border:1px solid #d6e2df;border-radius:8px;padding:10px 34px 10px 12px;background:#fff;color:var(--ink);font:600 12px 'DM Sans',sans-serif;box-shadow:0 2px 6px rgba(24,55,52,.05)}
.aircraft-stat-filters select:focus-visible{outline:3px solid rgba(52,126,115,.2);border-color:var(--teal)}
.aircraft-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:0 22px 22px}
.aircraft-period-card{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:17px;border:1px solid #e0ebe7;border-radius:12px;background:linear-gradient(140deg,#f8fbfa,#edf6f3)}
.aircraft-period-card>.period-tag{grid-column:1/-1;justify-self:start}
.aircraft-period-card div{display:grid;gap:5px}
.aircraft-period-card small{color:#718184;font-size:10px}
.aircraft-period-card strong{color:#173f3d;font:700 20px Manrope,sans-serif;font-variant-numeric:tabular-nums}
@media(max-width:760px){.aircraft-period-grid{grid-template-columns:1fr}.aircraft-period-card{grid-template-columns:1fr 1fr}.aircraft-stat-filters label,.aircraft-stat-filters select{min-width:min(220px,100%)}.aircraft-stat-filters label{flex:1}}
.bar-chart-svg.has-cumulative .cumulative-axis{fill:#426b9c;font-weight:700}
.bar-chart-svg .cumulative-line{fill:none;stroke:#5278a6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bar-chart-svg .cumulative-point{fill:#fff;stroke:#5278a6;stroke-width:2}

.airport-field{position:relative;min-width:0}
.airport-field>label{display:block;margin:0 0 0;color:#52686a;font-size:10px;letter-spacing:.65px;font-weight:700}
.airport-field>.airport-suggestions{position:absolute;z-index:80;top:calc(100% - 1px);left:0;right:0;max-height:270px;overflow:auto;border:1px solid #cbded9;border-radius:0 0 9px 9px;background:#fff;box-shadow:0 10px 24px rgba(19,52,48,.16)}
.airport-field>.airport-suggestions[hidden]{display:none}
.airport-suggestion{display:flex;width:100%;align-items:baseline;gap:9px;padding:10px 12px;border:0;border-bottom:1px solid #edf2f0;background:#fff;color:#405b59;text-align:left;font:11px 'DM Sans',sans-serif;cursor:pointer}
.airport-suggestion:last-child{border-bottom:0}
.airport-suggestion strong{flex:0 0 48px;color:var(--teal);font-size:11px}
.airport-suggestion span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.airport-suggestion:hover,.airport-suggestion[aria-selected="true"]{background:#edf7f4;color:#174f49}
.map-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0 22px 18px}
.map-filters label{display:grid;gap:6px;min-width:170px;color:#58706f;font-size:10px;font-weight:700}
.map-filters input,.map-filters select{min-height:39px;border:1px solid #d6e2df;border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:12px 'DM Sans',sans-serif}
.map-filters button{min-height:39px}
.flight-map{height:min(68vh,720px);min-height:430px;margin:0 22px;border:1px solid #dce7e4;border-radius:12px;z-index:0}
.map-empty{margin:12px 22px 0;color:#718184;font-size:12px}
.map-attribution-note{margin:10px 22px 18px;color:#718184;font-size:10px}
.map-marker-tooltip{display:grid;gap:3px}
.map-marker-tooltip strong{color:#173f3d}
.map-marker-tooltip span{font-size:11px}
.flight-map .airport-cluster-dot{display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#075c5d;color:#fff;font:700 10px 'DM Sans',sans-serif;box-shadow:0 2px 7px rgba(10,48,46,.3)}
.flight-map.map-load-error{display:grid;place-items:center;padding:24px;color:#7a4a35;background:#fff8f3;font-size:13px;text-align:center}
@media(max-width:560px){.map-filters{padding:0 14px 14px}.map-filters label{flex:1 1 140px;min-width:0}.map-filters button{flex:1}.flight-map{height:65vh;min-height:360px;margin:0 12px}.map-attribution-note{margin-right:14px;margin-left:14px}}
.stats-date-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0 22px 18px}
.stats-date-filter label{display:grid;gap:6px;color:#58706f;font-size:10px;font-weight:700}
.stats-date-filter input{min-width:155px;border:1px solid #d6e2df;border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:12px 'DM Sans',sans-serif}
.stats-date-filter input:focus-visible{outline:3px solid rgba(52,126,115,.2);border-color:var(--teal)}
.stats-date-filter .text-link{padding:10px 2px}
@media(max-width:560px){.stats-date-filter{align-items:stretch;padding:0 14px 16px}.stats-date-filter label{flex:1 1 140px}.stats-date-filter input{width:100%;min-width:0}.stats-date-filter button{flex:1}.stats-date-filter .text-link{text-align:center}}
