:root{--blue:#336699;--ink:#182d40;--muted:#6b7c8c;--line:#dce4eb;--bg:#f3f6f9;--yellow:#ffcc00}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,sans-serif}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;margin-bottom:10px}h2{font-size:20px}button,input,select,textarea{font:inherit}button{background:var(--blue);color:white;border:0;border-radius:7px;padding:10px 16px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e9f0f7;color:var(--blue)}button.quiet{background:transparent;color:inherit;border:1px solid var(--line)}button.danger{background:#fff0ec;color:#ad4130}.brand{font-size:19px;font-weight:800;letter-spacing:2px;line-height:1.3}.brand span{display:block;font-size:11px;letter-spacing:4px;font-weight:500;margin-top:4px}#shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}#shell[hidden]{display:none}aside{background:#193751;color:white;padding:34px 22px;display:flex;flex-direction:column}nav{margin-top:44px;display:grid;gap:7px}nav button{text-align:left;background:transparent;color:#b7ccde;font-weight:500;padding:13px}nav button.selected{background:#315674;color:white;border-left:3px solid var(--yellow)}.aside-foot{margin-top:auto;padding-top:40px;color:#b7ccde;font-size:12px;letter-spacing:1px}.aside-foot button{display:block;margin-top:20px}main{padding:35px 40px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700;margin-bottom:8px}.badge{font-size:10px;letter-spacing:1px;padding:7px 12px;border-radius:30px;background:#fff5cc;color:#796113}.notice{background:#e7eef5;color:#4a6580;border-radius:7px;padding:10px 14px;font-size:12px;margin-bottom:28px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:10px}.metric strong{display:block;font-size:34px}.muted{color:var(--muted);font-size:13px}.toolbar,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.actions{margin:20px 0 0}.toolbar input{max-width:280px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:6px;margin:14px 0;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:10px;background:white;color:var(--ink)}textarea{min-height:75px}table{width:100%;border-collapse:collapse;background:white;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}th,td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}td button{font-size:12px;padding:7px 9px;margin:2px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.pill{display:inline-block;border-radius:5px;background:#e9f1f8;color:#3b6082;padding:3px 7px;white-space:nowrap}.pill.accepted{background:#d8f3df!important;color:#176b37!important;border:1px solid #a8d5b2}.pill.cancellation-count{background:#fff0dc;color:#8a4b08;margin-left:0}.pill.offered{background:#fff4d3;color:#7a6419}.pill.cancelled,.pill.self_cancelled{background:#fbeae6;color:#a34a37}.pill.declined{background:#f1e2f3;color:#783b82;border:1px solid #dfc2e3}.pill.decline-count{background:#f1e2f3;color:#783b82;margin-left:0}.status-with-counters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}.status-counters{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.overview-filter{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);white-space:nowrap}.overview-filter select{width:auto;min-width:190px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;overflow:auto}.day{background:white;border:1px solid var(--line);border-radius:8px;padding:10px;min-height:350px}.day h3{font-size:13px;margin:0 0 16px}.event{border-left:3px solid var(--blue);background:#edf3f8;border-radius:5px;padding:10px;margin:8px 0;font-size:12px}.event b{display:block}.slot{width:100%;background:transparent;border:1px dashed #ccd8e1;color:#69829a;font-weight:400;text-align:left;margin:2px 0;font-size:12px;padding:7px}.login{max-width:440px;margin:9vh auto;padding:40px}.login .brand{color:var(--blue);margin-bottom:35px}.login button{width:100%;margin-top:15px}dialog{border:0;border-radius:14px;padding:30px;width:min(640px,95vw);box-shadow:0 20px 100px #102e4a44}dialog::backdrop{background:#132b4588}#toast{position:fixed;bottom:25px;right:25px;max-width:520px;background:#193751;color:white;border-radius:8px;padding:16px 22px;z-index:1000;box-shadow:0 4px 30px #0003}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.empty{padding:35px;color:var(--muted);text-align:center}@media(max-width:900px){#shell{grid-template-columns:1fr}aside{padding:20px}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap}.aside-foot{display:none}main{padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.two{grid-template-columns:1fr}h1{font-size:26px}.metrics{gap:8px}.metric{padding:15px}.login{margin:20px;padding:25px}}
.calendar-picker{position:relative;background:white;border:1px solid var(--line);border-radius:7px;padding:8px 12px}.calendar-picker summary{cursor:pointer;font-size:13px}.calendar-picker label{display:flex;align-items:center;gap:8px;margin:8px 0;white-space:nowrap}.calendar-picker input{width:auto}.week-calendar{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white;max-height:calc(100vh - 220px)}.week-head,.week-all-day,.week-body{display:grid;grid-template-columns:58px repeat(7,minmax(100px,1fr));min-width:820px}.week-head{position:sticky;top:0;background:#f8fafc;z-index:8;border-bottom:1px solid var(--line)}.week-head>div{padding:9px 5px;text-align:center;font-size:12px;font-weight:700;border-left:1px solid var(--line)}.week-head>div:first-child{border-left:0}.week-all-day{border-bottom:1px solid var(--line);background:#fcfdfe;min-height:25px}.week-all-day>div{border-left:1px solid var(--line);padding:2px;min-width:0}.week-all-day>div:first-child{border:0}.all-day-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#e9f1f8;border-radius:4px;padding:2px 4px;font-size:10px}.week-body{align-items:stretch}.time-axis{font-size:10px;color:var(--muted);text-align:right;padding-right:6px}.time-axis>div,.time-cell{height:30px;border-bottom:1px solid #e8edf2}.time-axis>div{transform:translateY(-7px)}.day-track{height:840px;position:relative;border-left:1px solid var(--line);min-width:0}.time-cell{position:relative;cursor:crosshair;background:linear-gradient(to bottom,transparent 29px,#e8edf2 30px)}.time-cell:nth-child(2n){border-bottom-color:#cfd9e2}.time-cell:hover{background-color:#f4f9fd}.calendar-event{position:absolute;z-index:3;border-radius:4px;padding:3px 5px;overflow:hidden;font-size:10px;line-height:1.25;box-shadow:0 1px 3px #18304735;cursor:pointer;overflow-wrap:anywhere}.calendar-event b{display:block}.calendar-event.google{cursor:default}.planner-calendar{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:330px}.planner-calendar .week-head{position:sticky;top:0}.planner-calendar .day-track{height:420px}.planner-calendar .time-axis>div,.planner-calendar .time-cell{height:15px}.planner-calendar .calendar-event{font-size:9px;padding:2px}.planner-calendar .time-axis>div{transform:translateY(-7px)}dialog#planner{width:min(1050px,98vw);max-height:96vh;overflow:auto}

.student-appointment{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0}.student-appointment button{font-size:11px;padding:5px 8px}.card input[type=file]{max-width:100%}
#history{width:min(980px,96vw);max-height:92vh;overflow:auto}#history .history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}#history h2{margin-bottom:4px}.history-section{margin:22px 0}.history-event{padding:12px 14px;border-bottom:1px solid var(--line)}.history-event strong{display:block}.history-event pre{margin:6px 0 0}.history-links{display:flex;gap:8px;flex-wrap:wrap}.product-map-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}.product-map-row label{margin:6px 0}@media(max-width:600px){.product-map-row{grid-template-columns:1fr}.product-map-row button{justify-self:start}}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.template-card{background:white;border:1px solid var(--line);border-radius:9px;padding:16px}.template-card textarea{min-height:120px}@media(max-width:700px){.template-grid{grid-template-columns:1fr}}

/* Listenaktionen kompakt halten und Tabellenzeilen sauber ausrichten. */
.table-wrap th,.table-wrap td{vertical-align:middle}.table-wrap td .actions{margin:0}.request-customer-select{display:flex;align-items:center;gap:10px;min-width:170px}.request-customer-select input{width:auto;flex:none;margin:0}.appointment-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;margin:12px 0 18px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.appointment-status-actions strong{margin-right:4px;font-size:13px}

/* Customer-facing status page and selectable cancellation reasons. */
.flight-status-page{max-width:620px;margin:10vh auto;padding:20px}.flight-status-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px 32px;box-shadow:0 12px 38px #18304712;text-align:center}.flight-status-card h1{font-size:clamp(28px,7vw,42px);margin:10px 0}.flight-status-card>p:last-child{font-size:16px;margin:0 auto;max-width:480px}.flight-status-light{width:58px;height:58px;border-radius:50%;margin:0 auto 22px;border:8px solid #ffffffaa;box-shadow:0 0 0 1px #18304718}.flight-status-card.green{background:#f0f9f2;border-color:#b7dfbd}.flight-status-card.green .flight-status-light{background:#29954a}.flight-status-card.red{background:#fff3f1;border-color:#f0c2bb}.flight-status-card.red .flight-status-light{background:#d04436}.flight-status-card.purple{background:#f7f1fb;border-color:#d9c5e9}.flight-status-card.purple .flight-status-light{background:#8050a6}.flight-status-card.unknown{background:#f6f8fa}.flight-status-card.unknown .flight-status-light{background:#8794a0}.cancel-reason-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin:15px 0}.cancel-reason-option{display:flex;align-items:flex-start;gap:8px;margin:0;padding:7px 4px;font-weight:500;font-size:13px}.cancel-reason-option input{width:auto;flex:none;margin-top:3px}dialog#cancel-reasons{width:min(680px,95vw);max-height:92vh;overflow:auto}#cancel-reasons .actions{justify-content:flex-end;margin:16px 0 0}@media(max-width:560px){.cancel-reason-options{grid-template-columns:1fr}.flight-status-page{margin:5vh auto;padding:14px}.flight-status-card{padding:28px 18px}}
.decision-page{max-width:640px;margin:10vh auto;padding:24px}.decision-page .card{padding:28px}
.request-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.request-toolbar>input{flex:1 1 220px;width:min(280px,100%);max-width:320px}.request-toolbar select{width:auto;min-width:155px}.request-filter-group,.request-bulk-group{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.request-bulk-group{background:#eaf1f7;border-color:#cbd9e5}.group-label{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:700;white-space:nowrap}.request-toolbar button{white-space:nowrap}.request-toolbar+.muted{margin:0 0 16px}@media(max-width:780px){.request-filter-group,.request-bulk-group{flex:1 1 100%;flex-wrap:wrap}.request-filter-group select,.request-bulk-group select{flex:1 1 150px}.request-toolbar>input{max-width:none}}
.lesson-drafts{display:grid;gap:12px;margin:14px 0}.lesson-draft{background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:14px}.lesson-draft-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-draft-head button{margin:0}.lesson-draft-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:12px}.lesson-draft label{margin:12px 0 0}.lesson-draft textarea{min-height:54px}@media(max-width:720px){.lesson-draft-grid{grid-template-columns:1fr 1fr}}
.calendar-role-dropdown{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:9px 12px}.calendar-role-dropdown summary{cursor:pointer;font-weight:600}.calendar-role-list{margin-top:10px;max-height:280px;overflow:auto}.calendar-role-row{display:grid;grid-template-columns:20px minmax(120px,1fr) minmax(100px,140px);align-items:center;gap:10px;padding:4px 0;margin:0;border-bottom:1px solid #eef1f4}.calendar-role-row input[type=checkbox]{width:auto}.calendar-role-row input[type=text]{padding:6px 8px;font-size:12px}.rebook-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:10px 14px}.rebook-form legend{font-weight:700;padding:0 5px}.rebook-form label{margin:4px 0}.rebook-form .rebook-error{background:#fff0ec;color:#9c3e30;border-radius:6px;padding:10px}.pill.rebook{background:#e8f5ed;color:#276642}.decision-page{max-width:680px}.decision-page .card{margin-top:7vh}@media(max-width:520px){.calendar-role-row{grid-template-columns:20px minmax(100px,1fr)}.calendar-role-row input[type=text]{grid-column:2}.rebook-form fieldset{grid-template-columns:1fr}}

/* Private charter portal: occupied intervals deliberately carry no event details. */
.charter-shell{width:min(1100px,100% - 28px);margin:32px auto 70px}.charter-header,.charter-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.charter-header h1{margin:0}.charter-header .muted{margin-top:8px}.charter-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:18px 0;box-shadow:0 5px 20px #1830470b}.charter-card h2{margin:0 0 12px}.charter-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.charter-tabs button{background:#eef3f7;color:#3b5267}.charter-tabs button.selected{background:var(--blue);color:#fff}.charter-form{max-width:500px}.charter-form[hidden],#verify-panel[hidden],#booking-panel[hidden]{display:none}.charter-form button{margin-top:8px}.charter-form .muted{margin-bottom:0}.booking-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px}.booking-form label{margin:0}.booking-form button{white-space:nowrap}.availability-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.availability-plane,.agenda-booking{border:1px solid var(--line);background:#fbfcfd;border-radius:9px;padding:14px}.availability-plane h3{margin:0 0 10px}.busy-day{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:start;padding:8px 0;border-top:1px solid #e8edf2}.busy-day strong{font-size:13px}.busy-times{display:flex;gap:6px;flex-wrap:wrap}.busy-chip{border-radius:5px;background:#e5e9ed;color:#44515c;padding:4px 7px;font-size:12px}.charter-warning{background:#fff3d6;color:#77560c;padding:10px 12px;border-radius:7px;margin:12px 0}.charter-status{display:inline-block;margin:7px 10px;color:#285b39;background:#e2f3e7;border-radius:5px;padding:4px 7px;font-size:12px}.charter-status.cancelled{background:#f5e6e3;color:#914c3e}.agenda-booking{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.agenda-booking strong{flex:1 1 300px}.agenda-booking button{margin:0}.button-link{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:7px;color:var(--blue);text-decoration:none}.charter-shell #charter-toast{position:sticky;top:10px;margin:10px 0;background:#193751;color:#fff;border-radius:8px;padding:12px 16px;z-index:10}.charter-shell #charter-toast[hidden]{display:none}
@media(max-width:800px){.booking-form{grid-template-columns:1fr 1fr}.booking-form button{grid-column:1/-1}.availability-grid{grid-template-columns:1fr}}
@media(max-width:520px){.charter-header,.charter-toolbar{flex-direction:column}.charter-shell{width:min(100% - 20px,1100px);margin-top:18px}.charter-card{padding:16px}.booking-form{grid-template-columns:1fr}.booking-form button{grid-column:auto}.busy-day{grid-template-columns:1fr;gap:5px}}

.overview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.overview-toolbar h2{margin:0}.overview-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.overview-date{display:grid;gap:5px;margin:0;font-size:12px;color:var(--muted)}.overview-date input,.overview-date select{width:auto;min-width:170px}.overview-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#eaf1f7}.overview-bulk select{width:auto;min-width:150px}.overview-bulk .group-label{white-space:nowrap}@media(max-width:900px){.overview-toolbar,.overview-controls{align-items:stretch}.overview-controls,.overview-bulk{width:100%}.overview-date{flex:1 1 170px}.overview-date input,.overview-date select{width:100%}.overview-bulk select{flex:1 1 150px}}
.charter-date-nav{align-items:end;flex-wrap:wrap}.charter-date-nav label{margin:0;font-size:11px;color:var(--muted)}.charter-date-nav input{width:150px;padding:7px 9px}.booking-duration-settings{display:flex;gap:8px;flex-wrap:wrap}.duration-check{display:flex;align-items:center;gap:5px;background:#f5f8fa;border-radius:6px;padding:6px 8px;margin:0;font-size:12px}.duration-check input{width:auto;margin:0}.free-day{font-size:12px;color:#327348;padding:4px 0}
.charter-week-calendar{max-height:calc(100vh - 260px);min-height:520px}.charter-aircraft-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}.charter-aircraft-legend span{display:flex;align-items:center;gap:6px;font-size:12px}.charter-aircraft-legend i{width:13px;height:13px;border-radius:3px;display:inline-block}.calendar-event.charter-busy{cursor:not-allowed;box-shadow:0 1px 3px #18304735}.calendar-event.charter-selected{cursor:default;border:2px dashed #24669b;background:#d7e8f5!important;color:#193751!important;box-shadow:none}.charter-selection-list{display:grid;gap:10px;margin:14px 0}.charter-selection-item{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(130px,.8fr) minmax(180px,1fr) auto;align-items:end;gap:12px;border:1px solid var(--line);background:#f8fafc;border-radius:9px;padding:12px}.charter-selection-item label{margin:0}.charter-selection-item button{margin:0}.charter-selection-item .charter-slot-time{align-self:center;font-weight:650}.charter-selection-item .charter-slot-warning{grid-column:1/-1;margin:0;color:#8a4e10;font-size:13px}.charter-selection-empty{margin:6px 0}.charter-selection-submit{margin-top:6px}.charter-shell #booking-form>button{margin-top:4px}.charter-shell #booking-form>button:disabled{opacity:.55;cursor:not-allowed}
.calendar-event.charter-own{border:3px solid #18a45d;box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #12683d;font-weight:700}.calendar-event.charter-own b{font-size:9px;line-height:1}.charter-aircraft-legend .charter-own-swatch{background:#fff;border:3px solid #18a45d;border-radius:3px}
.time-axis{position:relative;height:840px;padding-right:0}.time-axis>div{position:absolute;left:0;right:6px;height:15px;line-height:15px;border:0;transform:translateY(-50%);white-space:nowrap}.planner-calendar .time-axis{height:420px}.planner-calendar .time-axis>div{transform:translateY(-50%)}
.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.pill.event-type{font-weight:700}.pill.event-type.event{background:#fff0dc;color:#98520d;border:1px solid #f0d2ab}.pill.event-type.training{background:#e3effa;color:#285b86;border:1px solid #c4d9eb}.pill.event-type.charter{background:#e1f3e6;color:#246a3d;border:1px solid #b9dec2}@media(max-width:900px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.charter-selection-item{grid-template-columns:1fr 1fr}.charter-selection-item .charter-slot-time{grid-column:1/-1}.charter-selection-item button{grid-column:1/-1}.charter-week-calendar{max-height:65vh}}
#person-editor{max-height:94vh;overflow:auto;width:min(720px,96vw)}#person-roles{display:flex;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:12px}
.availability-edit-row{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.availability-edit-row label{margin:0}.availability-edit-row button{margin:0}.availability-saved{background:#d3efdc;border:1px solid #3b8b56;color:#174b2b;pointer-events:none}.availability-draft{background:#d8eaff;border:2px dashed #3a77b5;color:#20476d;pointer-events:none}.availability-busy{background:#e0e3e7;color:#555;pointer-events:none}#portal-nav{margin:16px 0;display:flex;gap:10px;flex-wrap:wrap}#portal-nav[hidden]{display:none}.match-summary{padding:12px;background:#e8f5ed;border-radius:8px}.matching-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.matching-filters label{min-width:140px}.time-cell:focus{outline:2px solid #397cae;outline-offset:-2px}@media(max-width:750px){.availability-edit-row{grid-template-columns:1fr 1fr}.availability-edit-row label:nth-child(3){grid-column:1/-1}}
.matching-card>h2{font-size:28px;margin:6px 0}.match-results{display:grid;gap:12px;margin-top:18px}.match-count{margin:0;color:var(--muted);font-size:13px}.match-item{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.3fr) auto;gap:20px;align-items:center;background:#f7fbf8;border:1px solid #d4e7d8;border-left:4px solid #398758;border-radius:10px;padding:18px}.match-people h3{margin:9px 0 4px;font-size:19px}.match-people p,.match-time p{margin:4px 0}.match-item button{margin:0}.match-time strong{font-size:14px}.matching-card+.card>summary{cursor:pointer;font-weight:650}@media(max-width:850px){.match-item{grid-template-columns:1fr}.match-item button{justify-self:start}}

.settings-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 24px}
.settings-tab{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:#fff;color:#233649;border:1px solid #d8e1e9;padding:15px;border-radius:12px}
.settings-tab span{font-size:12px;font-weight:400;color:#607184}
.settings-tab[aria-current="page"]{background:#eaf3fb;border-color:#2877b5;box-shadow:inset 0 -3px #2877b5}
.settings-tab:focus-visible{outline:3px solid #2877b5;outline-offset:3px}
.settings-page[hidden]{display:none!important}
.settings-page>.card{margin-bottom:18px}
@media(max-width:760px){.settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.availability-lesson{background:#174d85!important;color:white!important;z-index:5}.lesson-agenda{overflow-x:auto;margin-top:22px}.lesson-agenda th,.lesson-agenda td{padding:10px;text-align:left}

.note-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.note-chips button{white-space:nowrap}.history-event pre{white-space:pre-wrap;overflow-wrap:anywhere}

.note-chips button{max-width:100%;overflow-x:auto}.history-event>div{white-space:pre-wrap;overflow-wrap:anywhere}

.note-chips{gap:8px 18px}.note-chips .note-suggestion{background:none;border:0;border-radius:0;box-shadow:none;color:var(--muted);padding:3px 0;font-weight:400;cursor:pointer}.note-chips .note-suggestion:hover{background:none;color:var(--ink);text-decoration:underline}.note-chips .note-suggestion:focus-visible{outline:2px solid #56778c;outline-offset:3px}

.customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.planner-history{margin:18px 0;border-top:1px solid var(--line);padding-top:14px}.planner-history>div{max-height:360px;overflow:auto}.planner-history summary{cursor:pointer;font-weight:600}.planner-history pre{white-space:pre-wrap}@media(max-width:600px){.customer-grid{grid-template-columns:1fr}}

.overview-controls>label,.matching-filters>label{margin:0;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.overview-controls>label input,.overview-controls>label select,.matching-filters>label input,.matching-filters>label select{height:42px;margin:0;box-sizing:border-box}.overview-controls>button,.matching-filters>button{height:42px;margin:0;align-self:flex-end}.overview-controls{row-gap:16px}.matching-filters{align-items:flex-end}.matching-filters>label{flex:1 1 140px}.matching-filters>button{flex:0 0 auto}.booking-duration-settings input[type=number]{max-width:150px}.matching-week{max-height:620px;overflow:auto}.match-calendar-block{color:#183047;text-align:left;box-sizing:border-box;white-space:normal;border:1px solid #83b899;background:#e5f1e9;margin:0;min-height:20px}.match-calendar-block.match-hit{background:#c8ebd2;border:2px solid #30844b;cursor:pointer;font-weight:600}.match-calendar-block.match-hit:hover{background:#acdfbb}.match-calendar-block.match-context{font-weight:400;background:#e6ecf2;border-color:#b5c6d4}.matching-legend{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}.matching-legend span{font-size:12px}.match-calendar-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}

.matching-allday{position:absolute;top:0;left:0;right:0;background:#fff0cf;padding:3px;font-size:10px;z-index:4;pointer-events:none}.matching-week .time-cell{cursor:default}.matching-week[aria-busy=true]{opacity:.55}

.charter-pause{position:absolute;opacity:.18;pointer-events:none;border:1px dashed currentColor;border-radius:5px;z-index:1}.charter-busy,.charter-own,.charter-selected{z-index:2}

.mail-split{display:grid;grid-template-columns:minmax(260px,38%) minmax(0,1fr);border:1px solid #d7e2eb;border-radius:10px;overflow:hidden;min-height:380px}
.mail-list{max-height:700px;overflow:auto;background:#f6f9fc;border-right:1px solid #d7e2eb}
.mail-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;margin:0;padding:14px;border:0;border-bottom:1px solid #d7e2eb;border-radius:0;background:transparent;color:#21384d;gap:5px;overflow-wrap:anywhere}
.mail-row:hover,.mail-row.selected{background:#dcebf7}.mail-reader{padding:24px;min-width:0;overflow-wrap:anywhere}.mail-reader dl{display:grid;grid-template-columns:auto 1fr;gap:7px 16px}.mail-reader dt{font-weight:600}.mail-reader dd{margin:0}.mail-body{white-space:pre-wrap;line-height:1.65;border-top:1px solid #d7e2eb;margin-top:20px;padding-top:20px}
@media(max-width:850px){.mail-split{grid-template-columns:1fr}.mail-list{max-height:300px;border-right:0;border-bottom:1px solid #d7e2eb}.mail-reader{padding:16px}}

.logbook-matched{margin-top:2rem;border-top:1px solid #d8e1eb;padding-top:1rem}.logbook-matched>summary{cursor:pointer;font-weight:700;padding:1rem 0}.logbook-matched td{vertical-align:top}.logbook-matched>div>table>tbody>tr>td:first-child{min-width:220px}

.planner-summary{background:#f2f6fa;border:1px solid #d5e1ec;border-radius:12px;padding:16px;margin:16px 0}.planner-summary h3{margin:0 0 12px}.planner-wishes{white-space:pre-wrap;overflow-wrap:anywhere}.planner-wishes strong{display:block;margin-bottom:5px}.planner-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:0}.planner-facts dt{font-size:12px;color:#526b80}.planner-facts dd{margin:3px 0 0;overflow-wrap:anywhere}.mail-link-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;white-space:normal}.mail-link-button{display:inline-block;border:1px solid #b7cadb;padding:8px 12px;border-radius:7px;text-decoration:none;background:#eef4f9;color:#174970}

.request-appointment{min-width:130px;white-space:nowrap}.request-appointment strong,.request-appointment small{display:block}

.request-partner small{display:block;margin-top:5px}
/* One vertical scroll surface; all 08–22 hours remain visible in each calendar. */
.week-calendar,.charter-week-calendar,.planner-calendar{max-height:none;overflow-x:auto;overflow-y:hidden}
.planner-calendar .day-track,.planner-calendar .time-axis{height:840px}
.planner-calendar .time-cell{height:30px}
.planner-calendar .calendar-event{font-size:11px;padding:4px}
dialog#planner{width:min(1440px,98vw);max-height:96vh;padding:22px}
.calendar-drag-preview{position:absolute;left:0;width:98%;background:#477fad44;border:2px dashed #2c6795;border-radius:5px;pointer-events:none;z-index:7;padding:3px;font-size:12px;font-weight:bold;color:#123855}
.day-track{user-select:none}
.date-time-picker{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,.65fr);gap:7px}
.date-time-picker input,.date-time-picker select{min-width:0;width:100%}
#shell{grid-template-columns:232px minmax(0,1fr)}
#view,#view>section,#view>.card{min-width:0;max-width:100%}
.table-wrap{display:block;max-width:100%;min-width:0;overflow-x:scroll;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.table-wrap table{min-width:100%;width:max-content}
.table-wrap td:last-child{min-width:180px}
header,.header-actions,.toolbar{flex-wrap:wrap}
@media(max-width:900px){main{padding:22px 14px}#shell{grid-template-columns:180px minmax(0,1fr)}dialog#planner{padding:14px;width:98vw}}
@media(max-width:700px){#shell{grid-template-columns:minmax(0,1fr)}.date-time-picker{grid-template-columns:minmax(110px,1fr) 90px}}

/* Bound intrinsic table width even for long words and multiline wishes. */
.request-wishes-preview{width:280px;max-width:280px;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.45;max-height:2.9em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
@media(max-width:700px){.request-wishes-preview{width:220px;max-width:220px}}
/* Request columns must share the available width, rather than their max-content width. */
.request-list{width:100%;max-width:100%;min-width:0}
.request-list .table-wrap{width:100%;overflow-x:auto}
.request-list .table-wrap table{table-layout:fixed;width:100%;min-width:1040px;font-size:12px}
.request-list th,.request-list td{padding:8px;overflow-wrap:anywhere;white-space:normal}
.request-list th:nth-child(1){width:100px}
.request-list th:nth-child(2){width:135px}
.request-list th:nth-child(3){width:45px}
.request-list th:nth-child(4){width:55px}
.request-list th:nth-child(6){width:120px}
.request-list th:nth-child(7){width:190px}
.request-list th:nth-child(8){width:225px}
.request-list .table-wrap td:last-child{min-width:0}
.request-list .request-customer-select{min-width:0;gap:7px}
.request-list .request-customer-select span{min-width:0;overflow-wrap:anywhere}
.request-list .request-wishes-preview{width:100%;max-width:100%;font-size:12px}
.request-list .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;align-items:stretch;margin:0}
.request-list td button{font-size:11px;padding:5px 6px;margin:0;min-width:0;white-space:normal;line-height:1.3}
.request-list .pill{font-size:10px;padding:3px 5px}
.request-list .status-with-counters{gap:6px}
.request-list .status-counters{gap:3px}
.request-scroll-controls{display:flex;align-items:center;gap:8px;margin-bottom:7px;min-width:0}
.request-scroll-controls[hidden]{display:none}
.request-scroll-controls button{flex:none;padding:5px 9px;font-size:11px}
.request-top-scroll{min-width:0;flex:1;overflow-x:scroll;overflow-y:hidden;height:18px;border-radius:5px;background:#e6edf4;scrollbar-color:#6f8da6 #e6edf4;scrollbar-width:auto}
.request-top-scroll>div{height:1px}
.request-top-scroll::-webkit-scrollbar{height:12px}
.request-top-scroll::-webkit-scrollbar-thumb{background:#6f8da6;border-radius:5px}
.request-top-scroll::-webkit-scrollbar-track{background:#e6edf4}
