:root{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;color:#102030;background:radial-gradient(circle at 10% 10%,#d8eefe,#ecf4fb 38%,#f3f8ff)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(140deg,#edf5ff,#dbeaf8 48%,#f7fbff)}.layout{min-height:100vh;display:flex;flex-direction:column}header{background:linear-gradient(160deg,#0c2b49,#17466f);color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.25);box-shadow:0 10px 24px rgba(16,43,67,.24)}.adminHeader{background:linear-gradient(160deg,#6a0f18,#a31926)}header h1{margin:0;letter-spacing:.03em}nav{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.navUserInfo{margin-left:auto;text-align:right;font-weight:700;color:rgba(255,255,255,.92);min-width:180px}main{max-width:1100px;margin:0 auto;padding:1.2rem;width:100%;flex:1}footer{background:linear-gradient(160deg,#0c2b49,#17466f);color:#fff;text-align:center;padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.25)}.adminHeader+main+footer{background:linear-gradient(160deg,#6a0f18,#a31926)}.card{background:linear-gradient(180deg,#fff,#f8fbff);border-radius:16px;padding:1.1rem;margin-bottom:1rem;border:1px solid #d4e5f4;box-shadow:0 14px 28px rgba(15,44,71,.12),inset 0 1px #fff}.authCard{max-width:540px;margin:1rem auto}form{display:flex;flex-direction:column;gap:.6rem}label{display:flex;flex-direction:column;gap:.28rem;font-weight:600;color:#17324a}input,textarea,select{border:1px solid #b5cadf;border-radius:10px;padding:.58rem .7rem;font-size:.97rem;background:#fff;color:#0d2538}select:disabled,input:disabled,textarea:disabled{background:#e8eef5;color:#6e7f90;cursor:not-allowed}input:focus,textarea:focus,select:focus{outline:2px solid #65a8e5;outline-offset:1px;border-color:#65a8e5}.inline{flex-direction:row;align-items:center;gap:.45rem;font-weight:500}.isDisabled{background:#e7edf4;color:#6a7684}button,nav a,nav button{-webkit-appearance:none;appearance:none;border:1px solid #0f4776;background:linear-gradient(180deg,#2d79bc,#1d5f9c);color:#fff;border-radius:10px;padding:.5rem .85rem;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 4px #124165,0 10px 16px rgba(17,63,97,.24);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover,nav a:hover,nav button:hover{filter:brightness(1.04);transform:translateY(-1px)}button:active,nav a:active,nav button:active{transform:translateY(2px);box-shadow:0 2px #124165,0 5px 10px rgba(17,63,97,.22)}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.calendarLayout{display:flex;flex-direction:column;gap:.75rem}.calendarHero{display:grid;grid-template-columns:1fr;gap:.9rem;align-items:center}.calendarStatGrid{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:.6rem}.calendarStatCard{border:1px solid #d4e5f4;border-radius:12px;padding:.55rem;background:linear-gradient(180deg,#fff,#edf5fd);box-shadow:inset 0 1px #fff;text-align:center;display:flex;flex-direction:column;gap:.2rem}.calendarStatCard strong{font-size:1.05rem}.calendarStatCard span{color:#2b4862;font-size:.84rem}.calendarDays{display:grid;gap:.9rem}.calendarDayCard ul{margin:0;padding:0}.slotRow{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;margin-bottom:.5rem}.slotRowAdminWrap{list-style:none;margin-bottom:.8rem}.slotBlock{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.6fr);gap:1rem;padding:.9rem;border-radius:14px;border:1px solid #d3e2ef}.slotBlockFree{background:linear-gradient(180deg,#edf8ef,#e2f2e5)}.slotBlockBooked{background:linear-gradient(180deg,#fdeff0,#f8e2e5)}.slotInfoColumn{min-width:0}.slotMeta{margin:.25rem 0 .45rem;color:#2b4862;font-size:.9rem}.confirmHint{font-weight:700;color:#1c4e7a}.placeRow{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.5rem}.placeRowCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin-bottom:0}.placeGroupCard{border-radius:22px;padding:.8rem .9rem;text-align:left;min-height:170px;box-shadow:inset 0 1px rgba(255,255,255,.6),0 8px 14px rgba(15,44,71,.16);display:flex;flex-direction:column;gap:.16rem;color:#0f2130}.placeCardActions{margin-top:auto;padding-top:.35rem}.placeCancelBtn{width:100%;padding:.38rem .45rem;font-size:.82rem}.placeGroupFree{border-color:#2f8d43;background:linear-gradient(180deg,#8ace95,#68be73)}.placeGroupBooked{border-color:#9e2b38;background:linear-gradient(180deg,#e78995,#d45c6d)}.placeTitle{display:block;text-align:center;font-size:1.04rem;font-weight:800;margin-bottom:.38rem}.roleLine{font-size:1.02rem;font-weight:700;line-height:1.15}.roleWithBox{display:flex;align-items:center;gap:.42rem}.statusBox{width:18px;height:18px;border:2px solid rgba(12,38,20,.55);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;line-height:1;background:rgba(255,255,255,.55)}.statusBox.isChecked{background:rgba(255,255,255,.85)}.rolePending{opacity:.65}.roleMuted{color:rgba(18,30,40,.45)}.myChip{outline:2px solid #f4c542;outline-offset:1px}.myBookedBadge{display:inline-block;margin-top:.3rem;align-self:flex-start;padding:.15rem .42rem;border-radius:8px;background:rgba(18,56,85,.16);font-size:.74rem;font-weight:700}.pendingRequestsArea{margin-top:.35rem;display:flex;flex-direction:column;gap:.25rem}.pendingRequestRow{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;font-weight:700;background:rgba(255,255,255,.48);border-radius:8px;padding:.24rem .32rem}.pendingRequestActions{display:flex;gap:.28rem}.miniBtn{padding:.22rem .36rem;font-size:.72rem;border-radius:8px}.adminBookingsList{margin-top:.55rem;padding:.55rem;border:1px solid #d9e5f0;border-radius:10px;background:#f7fbff}.adminBookingItem{padding:.45rem 0;border-bottom:1px solid #e3ecf5}.adminBookingItem:last-child{border-bottom:none}.adminBookingControls{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.4rem}.free{color:#0f7d27;font-weight:800}.booked{color:#af1320;font-weight:800}.error{color:#af1320;font-weight:600}.success{color:#146f2e;font-weight:600}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(8,21,36,.58);display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:linear-gradient(180deg,#fff,#f4f9ff);border-radius:14px;padding:1rem;min-width:320px;max-width:980px;width:100%;border:1px solid #c6d9eb;box-shadow:0 22px 30px rgba(12,43,73,.28)}.compactBookingModal{max-width:740px;padding:.8rem .9rem}.actions{display:flex;justify-content:flex-end;gap:.5rem}.actionsVertical{flex-direction:column;align-items:stretch;justify-content:flex-start}.bookingModalGrid{margin-top:.4rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:stretch}.bookingModalOptions{background:#eff4fa;border-radius:12px;padding:.6rem .75rem;border:1px solid #d2e1ef;display:flex;flex-direction:column;gap:.45rem}.bookingOption{font-size:1.02rem}.optionDisabled{color:#78899a}.adminBookingsList{grid-column:1 / -1}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid #dde7f0;padding:.52rem}.templateCard{border:1px solid #d7e6f3;padding:.75rem;border-radius:10px;margin-bottom:.55rem;display:flex;flex-direction:column;gap:.5rem;background:#f9fcff}.dangerBtn{border-color:#7a1f27;background:linear-gradient(180deg,#cc3e4f,#a92d3c);box-shadow:0 4px #7b1f28,0 10px 16px rgba(120,26,39,.24)}.adminOnly{max-width:620px;margin:1rem auto;text-align:center}.hintText{margin-top:.6rem;color:#345;font-size:.92rem}.adminEditPanel{margin-top:.9rem}.adminSectionTabs{display:flex;flex-wrap:wrap;gap:.6rem}.adminSectionTabs .activeTab{border-color:#12395b;background:linear-gradient(180deg,#1a5b92,#0f446f);box-shadow:0 4px #0e3554,0 10px 16px rgba(17,63,97,.24)}.rolesInfoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem;margin-top:.7rem}.rolesInfoCard{border:1px solid #d5e4f1;border-radius:12px;padding:.75rem;background:linear-gradient(180deg,#fff,#f6fbff)}.rolesInfoCard h3{margin:0 0 .4rem}.rolesInfoCard ul{margin:0;padding-left:1.1rem}.scheduleCompactForm{gap:.4rem}.scheduleCompactGrid{display:grid;grid-template-columns:150px 130px 130px 140px minmax(200px,1fr) auto;gap:.5rem;align-items:center}.scheduleCompactGrid input,.scheduleCompactGrid button{margin:0}.adminBookingFormTwoRows{margin-top:.8rem;gap:.55rem}.adminBookingRowOne{display:grid;grid-template-columns:minmax(220px,1.2fr) 140px minmax(220px,1fr) auto;gap:.55rem;align-items:center}.adminBookingRowTwo{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;padding:.45rem .55rem;border:1px solid #d7e4f1;border-radius:10px;background:#f7fbff}.mailComposeForm{gap:.65rem}.mailComposeTopRow{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.mailMessageLarge{min-height:220px;resize:vertical}@media (max-width: 768px){header{flex-direction:column;align-items:flex-start;gap:.75rem}.slotRow{grid-template-columns:1fr auto}.slotBlock,.calendarHero,.calendarStatGrid{grid-template-columns:1fr}.scheduleCompactGrid{grid-template-columns:1fr 1fr}.adminBookingRowOne,.mailComposeTopRow{grid-template-columns:1fr}.navUserInfo{margin-left:0;text-align:left;min-width:0}.bookingModalGrid{grid-template-columns:1fr}.pendingRequestActions{flex-wrap:wrap}}
