@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/Barlow-Regular.ttf') format('truetype')}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url('./assets/fonts/Barlow-Medium.ttf') format('truetype')}
@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url('./assets/fonts/Barlow-SemiBold.ttf') format('truetype')}
@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url('./assets/fonts/Barlow-Bold.ttf') format('truetype')}
@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/oswald-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url('./assets/fonts/oswald-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url('./assets/fonts/oswald-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url('./assets/fonts/oswald-latin-700-normal.woff2') format('woff2')}
:root{font-family:Barlow,'Trebuchet MS',sans-serif;color:#22313c;background:#f3f5f7;font-size:14px}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:3px solid #bc2336;display:flex;justify-content:space-between;align-items:center;padding:20px 32px}.brand{font-size:26px;font-weight:800;color:#bc2336}.brand span{color:#22313c;font-size:18px;font-weight:500;margin-left:14px}aside{background:#fff3d7;padding:10px 32px;color:#624913;font-size:12px}main{padding:30px 32px}h1{font-size:28px;margin:0}p{color:#586774}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.heading p{margin:8px 0 24px}button,select,input,textarea{font:inherit}button,select,input,textarea{border:1px solid #b9c3cc;border-radius:4px;padding:9px;background:#fff;color:inherit}button{cursor:pointer}button:hover{border-color:#566977}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #156eb0;outline-offset:2px}#add,[type=submit]{background:#ac2032;color:white;border-color:#ac2032}nav{display:flex;border-bottom:1px solid #bbc4cb;gap:24px}nav button{border:0;border-radius:0;background:transparent;padding:14px 0}nav button.active{border-bottom:3px solid #b72336;font-weight:700}.toolbar{display:flex;align-items:center;gap:12px;padding:20px 0;flex-wrap:wrap}label{display:flex;gap:8px;align-items:center}.legend{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:12px}.legend i{width:10px;height:10px}.training{background:#fff0f1;border-color:#d1a1a8;color:#8d1e30}.client{background:#edf3fc;border-color:#a9bfdc;color:#294c7d}.maintenance{background:#edf0f2;border-color:#bdc5cb;color:#46545e}.legend .training{background:#bc2336}.legend .client{background:#446ea4}.legend .maintenance{background:#6b7780}#summary{padding:0 0 14px;color:#52616d}#board{overflow:auto;background:white;border:1px solid #cbd2d8;border-radius:5px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th,td{text-align:left;border-right:1px solid #e0e5e9;border-bottom:1px solid #e0e5e9;padding:12px;min-width:145px;vertical-align:top}thead th{background:#e9eef2;height:64px}tbody th{min-width:210px;position:sticky;left:0;background:white;z-index:1}th small{display:block;font-weight:400;line-height:1.7;color:#61717e;margin-top:5px}.activity{display:block;width:100%;text-align:left;padding:10px;margin:0 0 6px;font-size:12px;border-left-width:3px;line-height:1.5}.activity strong,.activity span,.activity em{display:block}.activity em{font-style:normal;font-size:11px;font-weight:600;margin-top:6px}.weeks section{padding:16px;border-bottom:1px solid #bdc6cd}.weeks h2{font-size:16px;margin:0 0 12px}.days{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1050px}.days article{padding:8px;border-right:1px solid #e0e5e9;min-height:170px}.days h3{font-size:12px;margin:0 0 12px}.days h3 span{font-weight:400;display:block;color:#687782;margin-top:5px}.empty{font-size:12px;color:#6b7780;padding:8px}.foot{font-size:12px;margin-top:18px}dialog{border:1px solid #bbc4cb;border-radius:8px;width:480px;max-width:95vw;max-height:90vh;padding:24px}dialog::backdrop{background:#14232c88}form>label{display:flex;flex-direction:column;align-items:stretch;margin:12px 0;font-size:13px}h2{font-size:20px}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}#validation{color:#9d2332}input:disabled,select:disabled,textarea:disabled{color:#344652;opacity:1;background:#f3f5f7}@media(max-width:650px){header{padding:16px}.brand span{font-size:15px}main{padding:22px 14px}aside{padding:10px 16px}.heading{align-items:flex-start}h1{font-size:23px}.legend{margin-left:0}nav{gap:20px}nav button{font-size:12px}header label{font-size:11px}header select{max-width:130px}}

.schedule-weeks{min-width:1150px}.schedule-weeks section{padding:20px 18px 24px}.schedule-weeks h2{display:flex;justify-content:space-between;font-size:19px;margin:0 0 14px;color:#22313c}.schedule-weeks h2 span{font-size:14px;font-weight:500}.flight-sheet{table-layout:fixed;border-top:2px solid #415261;border-left:1px solid #b5bec6}.flight-sheet th,.flight-sheet td{border-color:#b5bec6;padding:7px;vertical-align:middle}.flight-sheet thead th{background:#dde4e9;height:55px}.flight-sheet tbody th{position:static;min-width:0}.flight-sheet .day-column{width:120px;background:#edf1f4}.flight-sheet .aircraft-column{width:140px;font-size:11px}.flight-sheet .timeline-column{width:auto;padding:0}.flight-sheet .notes-column{width:255px}.time-ruler{display:grid;grid-template-columns:repeat(15,1fr);font-size:10px;font-weight:500;text-align:left;padding-top:6px}.flight-sheet thead small{font-size:10px;padding:4px;display:block;font-weight:400}.time-lanes{min-height:62px;padding:5px 0;background:repeating-linear-gradient(to right,transparent 0,transparent calc(6.66667% - 1px),#dfe5ea calc(6.66667% - 1px),#dfe5ea 6.66667%)}.flight-lane{min-height:45px;margin:3px 0}.flight-bar{border-radius:2px;padding:5px 7px;font-size:10px;min-height:40px;overflow-wrap:anywhere;text-align:left;border-left-width:3px}.flight-bar strong,.flight-bar span{display:block}.flight-bar.untimed{background:transparent;border-style:dashed}.schedule-note{padding:5px 6px;margin:3px 0;background:transparent;border:0;border-left:3px solid;font-size:11px;line-height:1.5}.schedule-note span,.schedule-note strong,.schedule-note em{display:block}.schedule-note em{font-size:10px;font-style:normal}.no-flight{color:#6b7780;font-size:11px;padding:12px;display:block}

.planning-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}#training-list{background:white;border:1px solid #cbd2d8;border-radius:5px;padding:14px;max-height:80vh;overflow:auto;position:sticky;top:12px}#training-list h2{font-size:18px;margin:0 0 14px}#training-list label{display:block;margin:10px 0;font-size:12px}#training-list input,#training-list select{width:100%;margin-top:5px}.allocation-help{font-size:12px;line-height:1.5}.training-entry{border:1px solid #cbd2d8;border-left:5px solid;margin:12px 0;padding:5px}.training-entry>button{width:100%;text-align:left;border:0;background:transparent;padding:7px}.training-entry span,.training-entry strong,.training-entry b{display:block;font-size:12px;line-height:1.7}.training-entry b{font-weight:600}.training-entry.unallocated{border-left-color:#b33b31}.training-entry.allocated{border-left-color:#b0780a}.training-entry.scheduled{border-left-color:#285a9b}.training-entry.complete{border-left-color:#32724e}.training-entry.selected{outline:3px solid #285a9b;background:#eef4ff}.training-entry .details{text-decoration:underline;font-size:12px}.week-pick{border:0;background:transparent;width:100%;text-align:left;font-size:12px;padding:0}.week-pick:enabled{background:#e3edfb;padding:6px}.week-pick:disabled{cursor:default;color:inherit}.week-pick small{display:block}.status{font-weight:600}.to-place{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.to-place button{color:#8d1e30;border-color:#bc2336;font-size:12px}@media(max-width:850px){.planning-layout{grid-template-columns:1fr}#training-list{position:static;max-height:350px}}

.save-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.save-toolbar p{font-size:13px}#sign-in{color:#285a9b;font-size:13px}header{gap:18px;flex-wrap:wrap}

body,input,select,textarea,table{font-family:Barlow,'Trebuchet MS',sans-serif;font-variant-numeric:tabular-nums}h1,h2,h3,.brand,button,nav{font-family:Oswald,'Arial Narrow',sans-serif}button{font-weight:500;letter-spacing:.02em}
