body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--fiori-blue: #0a6ed1;--fiori-light-blue: #e5f0fa;--fiori-grey: #515559;--fiori-light-grey: #fafafa;--fiori-border-color: #d1d1d1;--fiori-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1);--planner-day-header-height: 72px;--planner-trainer-header-height: 84px;--planner-page-chrome-height: 150px}.planner-page{display:flex;flex-direction:column;min-height:100%;background:var(--fiori-light-grey)}.planner-page-header{display:flex;align-items:center;gap:.7rem;padding:.45rem 1rem;border-bottom:1px solid #e0e8f0;background:#fff;overflow-x:auto}.planner-page-header__divider{width:1px;height:1rem;background:#cad7e4;flex:0 0 auto}.week-container{display:flex;background-color:var(--fiori-light-grey);height:calc(100vh - var(--planner-page-chrome-height));overflow:hidden;min-height:0}.trainer-toolbar{width:100%;box-sizing:border-box}.trainer-toolbar-actions{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.trainer-toolbar-selection{min-width:0;flex:1 1 420px;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.trainer-toolbar-count{flex:0 0 auto;font-size:.82rem;font-weight:600;color:#4a5f74;white-space:nowrap}.trainer-badge-scroll{display:flex;flex:1 1 260px;flex-wrap:nowrap;gap:.45rem;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:.1rem}.trainer-badge-scroll::-webkit-scrollbar{display:none}.trainer-toolbar-settings{flex:0 0 auto}.trainer-toggle-chip-group{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.trainer-toggle-chip{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;padding:.4rem .65rem;border-radius:14px;border:1px solid #8aa6c3;background:#fff;color:#223548;cursor:pointer;font:inherit;text-align:left}.trainer-toggle-chip.active{background:#2f9448;border-color:#2f9448;color:#fff}.trainer-toggle-chip-dot{flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#1225381f;font-size:.72rem;font-weight:700}.trainer-toggle-chip.active .trainer-toggle-chip-dot{background:#ffffff2e}.trainer-toggle-chip-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.trainer-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.trainer-availability-card{border-radius:22px;overflow:hidden}.trainer-availability-shell{padding:1rem;background:radial-gradient(circle at top right,rgba(10,110,209,.12),transparent 32%),linear-gradient(180deg,#fbfdff,#f4f8fc)}.trainer-availability-toolbar{gap:.9rem;margin-bottom:1rem}.trainer-bulk-editor{padding:1rem;border-radius:18px;border:1px solid #d5e1ee;background:#ffffffd1;box-shadow:inset 0 1px #fff9;margin-bottom:1rem}.trainer-bulk-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:end}.trainer-bulk-action-buttons,.trainer-bulk-day-presets,.trainer-bulk-day-list,.trainer-day-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.trainer-availability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.trainer-availability-day-card{padding:.9rem;border-radius:18px;border:1px solid #d8e3ef;background:#fffffff0;box-shadow:0 12px 24px #1534540f}.trainer-availability-day-label{font-weight:700;color:#18344f}.trainer-availability-slots{display:flex;flex-direction:column;gap:.6rem;margin-top:.85rem}.trainer-plan-slot-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.85rem}.trainer-plan-slot-item{display:flex;flex-direction:column;gap:.75rem;padding:.75rem .8rem;border-radius:14px;border:1px solid #d8e3ef;background:#f7fafde0}.trainer-plan-slot-item.selected{border-color:#7bb88a;background:#e8f6ecf2}.trainer-plan-slot-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center}.trainer-plan-slot-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem .75rem}.trainer-plan-slot-time-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.trainer-availability-slot-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:.5rem;align-items:center}.trainer-availability-slot-separator{font-size:.78rem;font-weight:700;color:#47627e;text-transform:uppercase;letter-spacing:.04em}.trainer-availability-empty{margin-top:.85rem;padding:.8rem;border-radius:14px;background:#e7eef68c;color:#52667d}.training-group-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.training-group-settings-card{border-radius:22px;overflow:hidden}.training-group-settings-shell{padding:1rem;background:radial-gradient(circle at top left,rgba(54,123,255,.12),transparent 34%),linear-gradient(180deg,#fcfdff,#f4f8fc)}.training-group-card-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);gap:1rem;align-items:start}.training-group-card-layout--plan-page{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr)}.training-group-card-layout__main,.training-group-card-layout__side{min-width:0}.training-group-card-layout__side{display:grid;gap:.9rem}.training-group-side-panel{display:grid;gap:.45rem;padding:.95rem 1rem;border:1px solid #dbe5ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff)}.group-preference-editor{display:grid;gap:.9rem;padding:.95rem 1rem;border:1px solid #dbe5ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff)}.group-preference-editor--compact{padding:.85rem .95rem}.group-preference-editor__lists{display:grid;gap:.85rem}.group-preference-editor__list{display:grid;gap:.45rem}.floating-action-dialog__content{max-height:min(68vh,760px);overflow-y:auto;padding:1rem;box-sizing:border-box}.floating-action-dialog__content--with-sticky-assignment{padding-top:0}.dialog-sticky-assignment{position:sticky;top:-1px;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 -1rem 1rem;padding:.8rem 1rem;border-bottom:1px solid #d9e3ec;background:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px #d9e3ece6}.dialog-sticky-assignment__item{display:grid;gap:.2rem;min-width:0}.dialog-sticky-assignment__label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#607487}.floating-action-dialog__content--compact{max-height:min(58vh,520px)}.training-plan-create-page{display:flex;flex-direction:column;min-height:calc(100vh - 8rem);padding:1.5rem 1.75rem 2rem;background:linear-gradient(180deg,#f7fafc,#eef4fb)}.training-plan-create-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem;padding:0 .25rem}.training-plan-create-page__header-actions{flex:0 0 auto}.training-plan-create-page__body{flex:1;min-height:0;border:1px solid #d8e2ed;border-radius:24px;background:#fff;box-shadow:0 22px 44px #0c223e17;overflow:hidden}.training-plan-create-page__content{max-height:none;height:100%;padding:1.5rem 1.5rem 2rem}.training-plan-step-shell{gap:1.5rem}.training-plan-step-intro{display:grid;gap:.35rem;padding:.25rem .25rem 0}.training-plan-step-intro--split{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.training-plan-step-card{padding:1.25rem;border:1px solid #dbe5ef;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 24px #0c223e0d}.training-plan-step-card--compact{gap:.75rem}.training-plan-step-stack{display:grid;gap:1rem}.trainer-selection-card{display:grid;gap:.85rem}.trainer-selection-card--selected{border-color:#b7d4f4;box-shadow:0 12px 28px #14488014}.trainer-selection-card__summary{display:grid;gap:.2rem}.trainer-selection-card__switch{display:grid;gap:.35rem;justify-items:end}.trainer-selection-card__editor{margin-top:.15rem}.participant-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.participant-chip-empty{margin-top:.5rem;padding:.8rem;border-radius:14px;background:#e7eef68c;color:#52667d}.training-plan-dialog-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1rem}.training-plan-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.training-plan-capacity-card{border-radius:22px;overflow:hidden}.training-plan-capacity-shell{padding:1rem;background:radial-gradient(circle at top right,rgba(40,167,69,.11),transparent 34%),linear-gradient(180deg,#fbfdff,#f2f7f4)}.training-plan-capacity-toolbar{gap:.9rem;margin-bottom:1rem}.training-plan-bulk-editor{padding:1rem;border-radius:18px;border:1px solid #d8e5dc;background:#ffffffd9;margin-bottom:1rem}.training-plan-bulk-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;align-items:end}.training-plan-bulk-action-buttons,.training-plan-bulk-day-presets,.training-plan-bulk-day-list,.training-plan-day-actions{display:flex;flex-wrap:wrap;gap:.5rem}.training-plan-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.training-plan-day-card{padding:.9rem;border-radius:18px;border:1px solid #d8e3ef;background:#fffffff0;box-shadow:0 12px 24px #1534540f}.training-plan-day-label{font-weight:700;color:#18344f}.training-plan-day-slots{display:flex;flex-direction:column;gap:.6rem;margin-top:.85rem}.training-plan-day-slot-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(96px,110px) auto;gap:.5rem;align-items:center}.training-plan-day-slot-separator{font-size:.78rem;font-weight:700;color:#47627e;text-transform:uppercase;letter-spacing:.04em}.training-plan-day-empty{margin-top:.85rem;padding:.8rem;border-radius:14px;background:#e7eef68c;color:#52667d}.simple-time-input{width:100%;min-height:2.5rem;box-sizing:border-box;border:1px solid #89919a;border-radius:.5rem;background:#fff;color:#223548;padding:.5rem .75rem;font:inherit}.simple-time-input:focus{outline:2px solid rgba(10,110,209,.22);outline-offset:1px;border-color:#0a6ed1}.simple-time-input:disabled{background:#f5f7f9;color:#6a7785;cursor:not-allowed}.trainings-group-container{width:200px;flex-shrink:0;border-right:1px solid var(--fiori-border-color);padding:2px;overflow-y:auto;min-height:0}.schedule-board{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.schedule-board-scroll{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;cursor:grab}.schedule-board-scroll>.day-visibility-toolbar,.schedule-board-scroll>.day-columns-scroll{min-width:max-content}.schedule-board-scroll>.day-visibility-toolbar{width:max-content}.schedule-board-scroll--panning{cursor:grabbing}.schedule-board-scroll--panning,.schedule-board-scroll--panning *,body.planner-pan-active{-webkit-user-select:none;user-select:none}.day-visibility-toolbar{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .75rem .65rem;background:linear-gradient(180deg,#f8fafcfa,#f1f6fbfa);border-bottom:1px solid #d5dde6;box-sizing:border-box;flex:0 0 auto}.planner-control-strip{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.day-visibility-actions,.day-toggle-list{display:flex;align-items:center;gap:.5rem}.day-visibility-actions{min-width:0;flex:1 1 auto;flex-wrap:wrap}.day-toggle-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.1rem}.day-toggle-list::-webkit-scrollbar{display:none}.day-toggle-list--compact{gap:.45rem}.day-toggle-list__label{flex:0 0 auto;font-size:.78rem;font-weight:700;color:#5a6f84;text-transform:uppercase;letter-spacing:.03em;padding-right:.15rem}.planner-control-strip--desktop{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:.1rem}.planner-control-strip--desktop::-webkit-scrollbar{display:none}.planner-control-strip--desktop .day-visibility-actions,.planner-control-strip--desktop .day-toggle-list,.planner-control-strip--desktop .drag-legend{flex:0 0 auto}.planner-control-strip--desktop .day-visibility-actions,.planner-control-strip--desktop .day-toggle-list{flex-wrap:nowrap}.planner-control-strip--desktop .day-toggle-list{overflow:visible;padding-bottom:0}.mobile-planner-toolbar{display:flex;flex-direction:column;gap:.75rem}.drag-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:.45rem .7rem;border:1px solid #d8e2ed;border-radius:12px;background:#ffffffeb;box-shadow:0 8px 18px #0c223e0a}.drag-legend--compact{padding:.35rem .55rem;border-radius:999px;box-shadow:none}.drag-legend__title{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#52657a}.drag-legend__item{display:inline-flex;align-items:center;gap:.38rem;font-size:.78rem;font-weight:600;color:#1f2a37;white-space:nowrap}.drag-legend__swatch{width:.82rem;height:.82rem;border-radius:999px;box-shadow:inset 0 0 0 1px #0f172a1f}.drag-legend--compact .drag-legend__item{font-size:.74rem}.drag-legend--compact .drag-legend__swatch{width:.72rem;height:.72rem}.drag-legend__swatch--possible{background:linear-gradient(90deg,#14532d,#166534)}.drag-legend__swatch--trainer-only{background:linear-gradient(90deg,#0f766e,#0d9488)}.drag-legend__swatch--blocked{background:linear-gradient(90deg,#d9770673,#ea580ca6)}.day-columns-scroll{flex:1 1 auto;min-width:max-content;min-height:0;overflow-y:auto;overflow-x:visible;scrollbar-gutter:stable both-edges;overscroll-behavior:contain;position:relative}.day-columns-container{display:flex;align-items:stretch;min-width:max-content;width:max-content;min-height:100%;position:relative;z-index:1}.time-axis-column{position:sticky;left:0;z-index:42;width:76px;flex:0 0 76px;background:#f7fafe;border-right:1px solid #d5dde6;box-shadow:6px 0 12px #0f172a0a}.time-axis-sticky{position:sticky;top:0;z-index:43;background:#f7fafe}.time-axis-header{box-sizing:border-box;height:var(--planner-day-header-height);min-height:var(--planner-day-header-height);border-bottom:1px solid var(--fiori-border-color);background:linear-gradient(180deg,#edf4fb,#dce9f7)}.time-axis-subheader{box-sizing:border-box;height:calc(var(--planner-trainer-header-height) + 1px);min-height:var(--planner-trainer-header-height);border-bottom:1px solid var(--fiori-border-color);background:#f4f7fa}.time-axis-content{background:#f7fafe}.time-axis-slot,.time-axis-break{display:flex;align-items:center;justify-content:flex-end;padding:0 .55rem 0 .35rem;box-sizing:border-box;border-bottom:1px solid rgba(213,221,230,.7);margin:0}.time-axis-slot{font-size:.76rem;font-weight:700;color:#51677d;letter-spacing:.01em}.time-axis-break{background:repeating-linear-gradient(-45deg,#e1e9f2d9,#e1e9f2d9 8px,#f4f8fceb 8px,#f4f8fceb 16px)}.time-axis-break-label{font-size:.68rem;font-weight:700;color:#7890a7}.day-section{display:flex;flex-direction:column;min-width:fit-content;border-right:2px solid var(--fiori-border-color);background-color:#f4f7fa;position:relative;align-self:stretch;overflow:visible}.day-section-sticky{position:sticky;top:0;z-index:35;background:#f4f7fa;box-shadow:0 1px #d1d1d1e6}.day-section-header{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;text-align:center;background:linear-gradient(180deg,#edf4fb,#dce9f7);border-bottom:1px solid var(--fiori-border-color);min-height:var(--planner-day-header-height);box-sizing:border-box;width:100%;left:0;overflow:hidden}.day-section-trainer-row{display:flex;align-items:stretch;background:#f4f7fa;border-bottom:1px solid var(--fiori-border-color);position:relative;z-index:36}.trainer-column-header-shell{width:200px;border-right:1px solid var(--fiori-border-color);box-sizing:border-box}.day-section-columns{display:flex;flex:1;align-items:stretch}.trainer-column{width:200px;background-color:#fff;border-right:1px solid var(--fiori-border-color);display:flex;flex-direction:column;overflow:hidden}.trainer-column-content{flex:1}.day-section h4,.trainer-column h3{margin:0 0 10px;text-align:center;font-size:1em}.trainer-column-header-content{display:flex;align-items:center;gap:.75rem;min-height:calc(var(--planner-trainer-header-height) - 20px);padding:.15rem .1rem}.trainer-column-header-card{background:#fff;height:var(--planner-trainer-header-height);min-height:var(--planner-trainer-header-height);box-sizing:border-box;padding:10px;transition:all .3s ease;overflow:hidden}.trainer-column-header-card.fully-booked{background:linear-gradient(145deg,#4caf50,#45a049);color:#fff;box-shadow:0 2px 4px #4caf5033}.trainer-column-avatar{width:2.3rem;height:2.3rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#0a6ed1,#68a6ff);color:#fff;font-weight:700;font-size:.95rem;box-shadow:0 10px 20px #0a6ed12e}.trainer-column-meta{min-width:0}.trainer-column-meta h3,.trainer-column-meta p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainer-column.fully-booked .trainer-column-avatar{background:linear-gradient(135deg,#287c2b,#59c55d);box-shadow:0 10px 20px #4caf5038}.time-slot{border-bottom:1px solid var(--fiori-border-color);box-sizing:border-box;color:var(--fiori-grey);display:flex;align-items:center;font-size:.8em;position:relative}.time-slot-unavailable{background:#ff240024}.time-slot-assign-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;height:100%;padding:0 .7rem 0 .35rem;text-align:left;font:inherit}.time-slot-assign-button:hover{background:linear-gradient(90deg,#0a6ed114,#0a6ed105)}.time-slot-assign-button:focus-visible{outline:2px solid #0a6ed1;outline-offset:-2px}.time-slot-label{font-weight:600}.time-slot-action-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0a6ed1;opacity:.8}.time-slot-break{display:flex;align-items:center;justify-content:center;padding:.15rem .4rem;border-bottom:1px dashed rgba(96,112,133,.45);background:repeating-linear-gradient(-45deg,#e1e8f1bf,#e1e8f1bf 8px,#f5f8fcf2 8px,#f5f8fcf2 16px);box-sizing:border-box}.time-slot-break-label{font-size:.72rem;font-weight:600;color:#5b6f87;text-transform:uppercase;letter-spacing:.03em}.half-hour-marker{position:absolute;left:0;bottom:0;font-size:.8em}.training-group{background-color:var(--fiori-light-blue);box-sizing:border-box;border:1px solid var(--fiori-border-color);border-radius:8px;box-shadow:var(--fiori-shadow);cursor:pointer;transition:all .3s ease;word-break:break-word;position:relative;padding-left:.5rem;padding-top:.5rem;overflow:hidden}.training-group.mobile-assignable{cursor:pointer}.training-group-flight{box-shadow:0 22px 44px #0f172a38,0 6px 18px #0a6ed129;border-color:#0a6ed152;background:linear-gradient(145deg,#eef7ff,#d8ebff)}.training-group-flight .edit-button,.training-group-flight .delete-button,.training-group-flight .mobile-assign-chip{display:none}.optimization-preview-dialog{min-width:min(920px,92vw);max-width:92vw;padding:1rem;display:grid;gap:1rem}.optimization-preview-summary{display:grid;gap:.6rem}.optimization-feedback-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.optimization-feedback-card{border:1px solid rgba(120,138,156,.18);border-radius:12px;padding:.8rem .9rem;background:#fffc;display:grid;gap:.3rem}.optimization-feedback-card__label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.optimization-feedback-card__value{font-size:1rem;font-weight:700;color:#0f172a}.optimization-feedback-card__text{font-size:.84rem;color:#475569}.optimization-issue-list{display:grid;gap:.75rem}.optimization-issue-card{border:1px solid rgba(245,158,11,.28);border-radius:14px;padding:.9rem 1rem;background:linear-gradient(180deg,#fffbebf5,#fff7edfa);display:grid;gap:.5rem}.optimization-issue-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.optimization-issue-card__title{font-size:.98rem;font-weight:700;color:#92400e}.optimization-issue-card__summary{margin-top:.2rem;font-size:.88rem;color:#9a3412}.optimization-issue-card__details{font-size:.81rem;color:#7c2d12;line-height:1.45}.optimization-variant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.optimization-variant-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,138,156,.22);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f5f8fcf5);padding:.85rem .95rem;display:grid;gap:.45rem;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.optimization-variant-card:hover{border-color:#0a6ed159;box-shadow:0 10px 24px #0a6ed114;transform:translateY(-1px)}.optimization-variant-card--selected{border-color:#0a6ed18c;box-shadow:0 14px 30px #0a6ed124;background:linear-gradient(180deg,#ecf6fffa,#ddeffff5)}.optimization-variant-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.optimization-preview-list{display:grid;gap:.85rem;max-height:min(65vh,760px);overflow:auto;padding-right:.2rem}.optimization-calendar-wrap{border:1px solid rgba(120,138,156,.22);border-radius:14px;background:linear-gradient(180deg,#fffffff5,#f6f9fcf5);box-shadow:0 12px 28px #0f172a0f;overflow:auto}.optimization-calendar-table{width:100%;min-width:980px;border-collapse:collapse}.optimization-calendar-table th,.optimization-calendar-table td{padding:.8rem .9rem;border-bottom:1px solid rgba(120,138,156,.16);text-align:left;vertical-align:top;font-size:.92rem}.optimization-calendar-table th{position:sticky;top:0;z-index:1;background:#f1f5f9f5;color:#334155;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.optimization-calendar-table tbody tr:hover{background:#0a6ed10a}.optimization-calendar-table tbody tr:last-child td{border-bottom:none}.optimization-calendar-table__primary{font-weight:700;color:#0f172a}.optimization-calendar-table__time{min-width:88px;background:#f8fafce6}.optimization-calendar-cell{display:grid;gap:.4rem;min-width:118px}.optimization-calendar-entry{border-radius:12px;padding:.55rem .65rem;display:grid;gap:.15rem;border:1px solid transparent;box-shadow:0 6px 16px #0f172a0f}.optimization-calendar-entry--neu{background:#dcfce7c7;border-color:#22c55e47}.optimization-calendar-entry--verschoben{background:#fef2f2db;border-color:#ef444442}.optimization-calendar-entry--gleich{background:#f1f5f9eb;border-color:#788a9c38}.optimization-calendar-entry__group{font-weight:700;color:#0f172a}.optimization-calendar-entry__trainer{color:#334155;font-size:.83rem}.optimization-calendar-entry__meta{color:#475569;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.optimization-calendar-entry__empty{color:#94a3b8}@media (max-width: 900px){.optimization-calendar-table{min-width:820px}}.mobile-assign-chip{position:absolute;right:2rem;bottom:.35rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.18rem .35rem;border-radius:999px;background:#0a6ed11f;color:#0a6ed1}@media (max-width: 900px){.trainer-dialog-grid,.training-group-dialog-grid,.training-group-card-layout,.training-group-card-layout--plan-page,.training-plan-dialog-grid,.training-plan-date-grid,.trainer-bulk-editor-grid,.training-plan-bulk-editor-grid,.training-plan-day-grid,.trainer-availability-grid,.trainer-availability-slot-row,.training-plan-day-slot-row{grid-template-columns:minmax(0,1fr)}.trainer-availability-slot-separator,.training-plan-day-slot-separator{text-align:center}.dialog-sticky-assignment{grid-template-columns:minmax(0,1fr)}.training-plan-create-page{padding:.85rem .85rem 1.25rem}.training-plan-create-page__header{padding:0;margin-bottom:.85rem}.training-plan-create-page__content{padding:1rem 1rem 1.5rem}.training-plan-step-card{padding:1rem;border-radius:18px}.trainer-selection-card__switch{justify-items:start}.trainer-toolbar{display:grid;grid-template-columns:1fr auto;align-items:start}.time-axis-column{display:none}.trainer-toolbar-actions{grid-column:1 / -1}.trainer-toolbar-selection{grid-column:1 / 2}.trainer-badge-scroll{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;width:100%}.trainer-toggle-chip-group{width:100%}.trainer-toggle-chip{width:100%;min-width:0;border-radius:14px;padding:.55rem .65rem}.trainer-toolbar-settings{grid-column:2 / 3;align-self:start}.mobile-planner-layout{display:flex;flex-direction:column;gap:.85rem;padding:.75rem;background:linear-gradient(180deg,#f7fafc,#eef4fb)}.mobile-unassigned-panel,.mobile-day-board{background:#fff;border:1px solid #d8e2ed;border-radius:18px;box-shadow:0 16px 30px #0c223e14;overflow:hidden}.mobile-panel-header,.mobile-day-board-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem 0}.mobile-unassigned-panel .day-column{padding:0 .85rem .85rem}.mobile-planner-actions,.mobile-day-selector{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}.mobile-planner-actions::-webkit-scrollbar,.mobile-day-selector::-webkit-scrollbar{display:none}.mobile-trainer-stack{display:flex;flex-direction:column;gap:.9rem;padding:.85rem}.mobile-trainer-card{border-radius:16px;background:#f8fbff;border:1px solid #dde7f1;overflow:hidden}.week-container{height:auto;min-height:calc(100vh - 200px)}.trainings-group-container{width:150px}.trainer-column,.trainer-column-header-shell{width:170px}.trainer-column-mobile,.trainer-column-mobile .trainer-column-content,.trainer-column-mobile .trainer-column-header-shell{width:100%}.trainer-column-mobile .trainer-column-header-card{border-bottom:1px solid #d7e2ee}.trainer-column-mobile .time-slot{font-size:.9rem}.trainer-column-mobile .mobile-assign-chip{right:2.5rem}.trainer-column-mobile .time-slot-assign-button{padding:0 .85rem 0 .75rem}}.training-group:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.training-group:active{transform:translateY(1px);box-shadow:0 2px 4px #0000001a}.training-group:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--fiori-accent-color),var(--fiori-light-blue));opacity:0;transition:opacity .3s ease}.training-group:hover:before{opacity:1}.training-group-status-indicator{position:absolute;top:.35rem;right:2.65rem;width:1.15rem;height:1.15rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;line-height:1;color:#fff;box-shadow:0 2px 8px #0f172a2e;z-index:2}.training-group-status-indicator--ok{background:#1f7a38}.training-group-status-indicator--warning{background:#d97706}.training-group-status-indicator--invalid{background:#c2410c}.edit-button{background-color:#4caf50;position:absolute;top:25px;right:0;color:#fff;border:none;padding:5px 10px;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;border-radius:5px;transition:transform .2s,background-color .2s}.edit-button:hover{background-color:#367c39;transform:scale(1.1)}.edit-button:active{transform:scale(.9)}.delete-button{position:absolute;top:0;right:0;background-color:#f44336;color:#fff;border:none;padding:5px 10px;cursor:pointer;border-radius:5px;transition:transform .2s,background-color .2s}.delete-button:hover{background-color:#d32f2f;transform:scale(1.1)}.delete-button:active{transform:scale(.9)}.training-group:hover{background-color:var(--fiori-blue);color:#fff;box-shadow:0 0 15px #0003}.training-group.dragging{background-color:var(--fiori-blue);color:#fff;box-shadow:0 0 20px #0000004d;transform:scale(1.05) rotate(5deg);transition:transform .3s ease,box-shadow .3s ease,border .3s ease;border:2px solid transparent;animation:border-animation 2s infinite}.training-group-drag-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999}.training-group-drag-preview{position:absolute;width:220px;padding:.65rem .8rem;border-radius:10px;border:1px solid rgba(10,110,209,.28);background:linear-gradient(180deg,#0e57adc7,#519bf5b8);color:#fff;box-shadow:0 14px 28px #0f172a3d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}.training-group-drag-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed rgba(255,255,255,.4);border-radius:10px}.training-group-drag-preview-meta{margin-top:.2rem;font-size:.8rem;opacity:.92}@keyframes border-animation{0%{border-color:transparent}50%{border-color:var(--fiori-orange)}to{border-color:transparent}}.drop-zone{transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease}.drop-zone-hover{box-shadow:inset 0 0 0 2px #ffffff6b,inset 0 0 0 4px #0f172a24}.drop-zone-active{border-left:4px solid rgba(15,23,42,.2)}.drop-zone-possible{background:linear-gradient(90deg,#14532d,#166534);box-shadow:inset 0 0 0 1px #ecfdf538;color:#f0fdf4}.drop-zone-trainer-only{background:linear-gradient(90deg,#0f766e,#0d9488);box-shadow:inset 0 0 0 1px #ccfbf147;color:#f0fdfa}.drop-zone-impossible{background:linear-gradient(90deg,#d977062e,#ea580c47);box-shadow:inset 0 0 0 1px #c2410c38}.drop-zone-possible .time-slot-label,.drop-zone-possible .time-slot-action-label{color:#f0fdf4}.drop-zone-trainer-only .time-slot-label,.drop-zone-trainer-only .time-slot-action-label{color:#f0fdfa}.drop-zone-day-indicator{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);padding:.15rem .45rem;border-radius:999px;background:#ffffffd1;color:#33506d;font-size:.68rem;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 6px #0f172a14;pointer-events:none}html,body,#root,.App{height:100%;margin:0;padding:0}.App{display:flex;flex-direction:column}.ui5-content-density-compact .App{height:calc(100% - 2.75rem)}.trainer-column.unavailable{background-color:#f5f5f5;opacity:.7}.unavailable-message{text-align:center;padding:1rem;color:#666}.day-section h4{padding:10px;margin:0;transition:background-color .3s ease;width:100%}.day-section h4.fully-booked{background-color:#4caf50;color:#fff}
