.calendar-shell{max-width:1500px;margin:0 auto;padding:0 34px}.calendar-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}.calendar-head h1{font-size:clamp(42px,6vw,74px);letter-spacing:-2px;margin:8px 0 12px}.calendar-head p{max-width:780px;color:#84939e;line-height:1.7}.calendar-head-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-status{margin:12px 0;color:#7edc8b;font-size:10px;letter-spacing:.5px}.calendar-status[data-ok="false"]{color:#e9a1a1}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:18px}.calendar-board,.calendar-agenda{background:#0e151b;border:1px solid #2b3740}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;border-bottom:1px solid #2b3740}.calendar-toolbar button{height:54px;border:0;background:#101920;color:#9bb0bc;font-size:26px;cursor:pointer}.calendar-toolbar div{text-align:center}.calendar-toolbar span,.calendar-agenda-head span{display:block;font-size:8px;letter-spacing:1.2px;color:#617581}.calendar-toolbar strong{display:block;margin-top:4px;font-size:15px;letter-spacing:1px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #2b3740}.calendar-weekdays span{padding:10px;text-align:center;color:#60727d;font-size:8px;font-weight:800;letter-spacing:1px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:132px;padding:8px;border-right:1px solid #25313a;border-bottom:1px solid #25313a;background:#0c1318;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-other{opacity:.38}.calendar-day.is-today{box-shadow:inset 0 0 0 1px #4e7387}.calendar-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calendar-day-number{font-size:11px;color:#82939e}.calendar-day-events{display:grid;gap:5px}.calendar-event-chip{display:block;width:100%;padding:6px 7px;border:1px solid #31414b;background:#111c23;color:#b8c4ca;text-align:left;font-size:8px;line-height:1.35;cursor:pointer;overflow:hidden}.calendar-event-chip.mission{border-left:3px solid #b86a5e}.calendar-event-chip.training{border-left:3px solid #6e91b9}.calendar-event-chip.event{border-left:3px solid #7e9e72}.calendar-event-chip small{display:block;margin-top:2px;color:#70828d;font-size:7px}.calendar-agenda-head{padding:16px;border-bottom:1px solid #2b3740}.calendar-agenda-head strong{display:block;margin-top:5px;font-size:13px}.calendar-agenda-list{display:grid}.calendar-agenda-item{padding:15px 16px;border-bottom:1px solid #25313a}.calendar-agenda-item:last-child{border-bottom:0}.calendar-agenda-meta{display:flex;gap:7px;flex-wrap:wrap;color:#6e818d;font-size:8px;letter-spacing:.6px}.calendar-agenda-item h3{font-size:17px;margin:7px 0 6px}.calendar-agenda-item p{color:#81909a;font-size:10px;line-height:1.55;margin:0}.calendar-participants{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.calendar-participants span{padding:5px 7px;border:1px solid #31404a;color:#9aabb5;font-size:7px}.calendar-item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.calendar-item-actions button{padding:7px 9px;border:1px solid #34434e;background:#111a20;color:#a1b0b8;font-size:8px;letter-spacing:.7px;cursor:pointer}.calendar-item-actions button:hover{border-color:#4f9fc4;color:#fff}.calendar-empty{padding:24px;color:#627581;font-size:10px}.calendar-inline-roster{margin-top:18px;padding-top:16px;border-top:1px solid #2b3945}.calendar-roster-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.calendar-roster-head>div{display:grid;gap:5px}.calendar-roster-head strong{font-size:11px;color:#d9e5eb;letter-spacing:.04em}.calendar-roster-head>span{font-size:9px;color:#758b98}.calendar-roster-selection{display:grid;gap:4px;min-height:0;margin-top:10px}.calendar-roster-selection span,.calendar-own-slot span{font-size:7px;letter-spacing:.12em;color:#6f8795}.calendar-roster-selection strong{font-size:10px;color:#91dff8}.calendar-roster-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.calendar-roster-status{font-size:9px;color:#7ecff1}.calendar-roster-error{color:#ff8989!important}.calendar-own-slot{display:grid;gap:4px;padding:12px 14px;border:1px solid #3e7187;background:#0d2029;border-radius:6px}.calendar-own-slot strong{font-size:13px;color:#eef8fb}.calendar-own-slot small{font-size:9px;color:#86a0ae}.calendar-modal-panel{position:relative;width:min(760px,calc(100vw - 32px));margin:6vh auto;background:#101820;border:1px solid #34434e;padding:26px;z-index:2}.calendar-modal-panel h2{font-size:30px;margin:8px 0 20px}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-form-grid label{font-size:8px;font-weight:800;letter-spacing:1px;color:#7c8d97}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea{box-sizing:border-box;width:100%;margin-top:7px;padding:11px;background:#0a1117;border:1px solid #34434e;color:#fff;resize:vertical}.calendar-form-grid small{display:block;margin-top:4px;color:#61737e;font-size:8px}.calendar-form-wide{grid-column:1/-1}.calendar-form-actions{display:flex;gap:8px;margin-top:16px}@media(max-width:1050px){.calendar-layout{grid-template-columns:1fr}.calendar-agenda{order:-1}.calendar-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-agenda-item:nth-child(odd){border-right:1px solid #25313a}.calendar-agenda-head:has(+ .calendar-agenda-list .calendar-inline-roster)+.calendar-agenda-list{grid-template-columns:1fr}}@media(max-width:760px){.calendar-shell{padding:0 16px}.calendar-head{align-items:start;flex-direction:column}.calendar-day{min-height:96px;padding:5px}.calendar-day-number{font-size:9px}.calendar-event-chip{padding:4px;font-size:7px}.calendar-event-chip small{display:none}.calendar-form-grid{grid-template-columns:1fr}.calendar-form-wide{grid-column:auto}.calendar-agenda-list{grid-template-columns:1fr}.calendar-agenda-item:nth-child(odd){border-right:0}.calendar-roster-head{align-items:start;flex-direction:column}.calendar-roster-actions .button{width:100%}}@media(max-width:520px){.calendar-weekdays span{font-size:6px;padding:8px 2px}.calendar-day{min-height:78px}.calendar-event-chip{white-space:nowrap;text-overflow:ellipsis}.calendar-toolbar{grid-template-columns:42px 1fr 42px}.calendar-modal-panel{padding:20px 15px}.calendar-form-actions{flex-direction:column}.calendar-form-actions .button{width:100%}}