/* BBS refinements: shared calendars, imports and room rentals */
.brand{min-height:84px;padding:8px 8px 22px!important}
.bbs-own-logo{display:block;width:min(100%,245px);height:auto;max-height:78px;object-fit:contain;object-position:left center;filter:invert(1) brightness(1.1)}
.rental-summary{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid #e8dfd2;border-radius:15px;background:linear-gradient(130deg,#fff,#fbf8f4);box-shadow:0 10px 24px rgba(37,29,19,.045);margin:0 0 12px}
.rental-summary-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#f1e8d9;color:#765e44;font-size:1.4rem}
.rental-summary-copy{display:grid;gap:5px;min-width:0;flex:1}.rental-summary-copy strong{font:600 1.05rem/1.3 Georgia,serif;color:#211e1b}.rental-summary-copy span{font-size:.85rem;color:#534a40}.rental-summary-copy small{font-size:.75rem;color:#777064}
.rental-summary-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rental-summary-actions button{white-space:nowrap}
.rental-editor{width:min(850px,calc(100vw - 24px));max-height:min(90vh,980px);overflow:auto;padding:26px 32px}
.rental-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-top:20px}.rental-form-grid>label{display:grid;gap:7px;min-width:0;font-weight:600;color:#50483f;font-size:.82rem}.rental-form-grid input,.rental-form-grid select,.rental-form-grid textarea{width:100%;min-width:0;border:1px solid #d9cfc2;background:#fff;border-radius:10px;padding:11px 13px;color:#241f1b;font:inherit}.rental-form-grid textarea{resize:vertical}.rental-form-grid :is(input,select,textarea):focus-visible{outline:2px solid #aa8260;outline-offset:1px}.rental-wide{grid-column:1/-1}
.rental-weekdays{display:flex;gap:8px;flex-wrap:wrap;border:1px solid #e9dfd2;border-radius:12px;padding:16px}.rental-weekdays legend{font-weight:600;font-size:.82rem;padding:0 8px}.rental-weekdays label{position:relative;cursor:pointer}.rental-weekdays input{position:absolute;opacity:0;width:1px;height:1px}.rental-weekdays span{display:block;padding:9px 11px;background:#f8f5f1;border:1px solid #e6dcd0;border-radius:9px;font-size:.78rem}.rental-weekdays input:checked+span{background:#332923;border-color:#332923;color:white}.rental-weekdays input:focus-visible+span{outline:2px solid #ad7f53;outline-offset:2px}
.rental-editor-help{margin:20px 0 10px;color:#6e6255;font-size:.8rem;line-height:1.5}#rentalEditorError{padding:12px 14px;border-radius:9px;background:#faece9;color:#8d302c;font-size:.83rem}
.group-card[data-group-card]{cursor:pointer}.group-card[data-group-card]:focus-visible,.week-class-card[role=button]:focus-visible{outline:3px solid #b58b5e;outline-offset:3px}.group-detail-panel{margin:18px 0 24px}.group-detail-panel .panel-heading{align-items:flex-start}.group-detail-panel .panel-heading p:last-child{margin:8px 0 0;color:#786c61}.subgroup-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.subgroup-filters button{border:1px solid #e7dccd;border-radius:999px;background:#fff;color:#544b45;padding:9px 15px;cursor:pointer;font:inherit;font-size:.9rem}.subgroup-filters button span{color:#887465;margin-left:6px}.subgroup-filters button.active{background:#4f3528;color:#fff;border-color:#4f3528}.subgroup-filters button.active span{color:#e2cbb0}.group-member-list{display:grid;gap:7px}.group-member{display:grid;grid-template-columns:26px 36px minmax(100px,1fr) minmax(80px,135px) minmax(70px,150px) 18px;align-items:center;gap:13px;width:100%;padding:11px 13px;border:1px solid #e9e1d6;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.group-member:hover,.group-member:focus-visible{background:#f9f5ef}.group-member small{color:#776d62}
#studentImportPanel{scroll-margin-top:20px}#studentImportPanel .mapping-grid{margin-bottom:18px}
.kpi-action{cursor:pointer;background:linear-gradient(135deg,#29231e,#4b3a2e)!important;color:#fff}.kpi-action .kpi-top,.kpi-action small{color:#e5d5bf!important}.kpi-action>strong{font:400 2rem/1 sans-serif!important}
.week-class-card[role=button]{transition:border-color .18s,transform .18s,box-shadow .18s}.week-class-card[role=button]:hover{border-color:#b89973;transform:translateY(-2px);box-shadow:0 12px 23px rgba(35,26,18,.11)}
.shared-portal-schedule{overflow:hidden;padding:20px}.shared-portal-schedule>.eyebrow{margin:0 0 5px}.shared-portal-schedule>h2{margin:0 0 16px}.portal-calendar-nav{float:right;margin:-48px 0 10px}.portal-calendar-nav button,.portal-calendar-toggle button{min-height:36px}.portal-shared-calendar{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;overflow:visible}.portal-shared-calendar .week-day{min-width:0;min-height:155px}.portal-shared-calendar .week-class-card{padding:10px}.portal-shared-calendar .week-class-foot{display:none}.shared-portal-schedule .month-calendar-wrap{max-width:100%;overflow-x:auto}.shared-portal-schedule .month-calendar-grid{min-width:720px}.shared-portal-schedule .month-event{min-width:0;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1250px){.portal-shared-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.portal-shared-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-portal-schedule{padding:16px}.portal-calendar-nav{float:none;margin:0 0 12px}}
@media(max-width:600px){.rental-editor{padding:20px 17px}.rental-form-grid{grid-template-columns:minmax(0,1fr)}.rental-summary{align-items:flex-start;flex-wrap:wrap;padding:16px}.rental-summary-actions{width:100%;padding-left:0}.rental-summary-actions button{flex:1}.portal-shared-calendar{grid-template-columns:minmax(0,1fr)}.portal-shared-calendar .week-day{min-height:0}.portal-shared-calendar .week-day-events{display:grid;gap:8px}.portal-shared-calendar .week-day-head{display:flex;justify-content:space-between;align-items:center}.group-member{grid-template-columns:22px 32px 1fr 18px;gap:7px}.group-member small{display:none}}
.account-top-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;border:1px solid #ded5c9;border-radius:11px;background:#fffaf5;color:#43382f;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.account-top-button:hover,.account-top-active{border-color:#bba385;background:#f3e9db}.account-top-button>span:first-child{font-size:1.2rem;line-height:1}.account-logout{background:#fff;color:#66574b}
.profile-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.profile-card{min-width:0}.profile-card h2,.profile-backups h2{margin:5px 0 0;font:500 1.42rem Georgia,serif;color:#29221c}.profile-card-head{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid #eee6dc}.profile-card-head .eyebrow{margin:0}.profile-card-head span{display:block;margin-top:6px;color:#807368;font-size:.81rem}.profile-avatar{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:17px;background:#30261f;color:#f4e4cc;font:500 1.2rem Georgia,serif}.profile-details{display:grid;gap:18px;margin-top:23px}.profile-details>div{display:grid;gap:5px}.profile-details span{font-size:.7rem;color:#817468}.profile-details strong{font-size:.89rem;overflow-wrap:anywhere}.profile-help,.profile-backups p:not(.eyebrow){color:#76695e;font-size:.78rem;line-height:1.55}.profile-card form{display:grid;gap:14px;margin-top:20px}.profile-card label{display:grid;gap:6px;color:#66584b;font-size:.77rem;font-weight:700}.profile-card input{width:100%;min-height:43px;padding:9px 12px;border:1px solid #dcd1c3;border-radius:10px;background:#fff;color:#2c231d;font:inherit}.profile-card input:focus-visible{outline:2px solid #a88c6a;outline-offset:1px}.profile-card form button{justify-self:start}.profile-card form button:disabled{opacity:.6;cursor:wait}.profile-message{margin:0;color:#294d82;font-size:.77rem}.profile-message:empty{display:none}.profile-message-error{color:#a13636}.profile-backups{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px}.profile-backups h2{margin-bottom:7px}.profile-backups p:not(.eyebrow){margin-bottom:0}.profile-backup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.profile-backup-actions button{white-space:nowrap}
@media(max-width:1120px){.account-top-button{padding:0 10px}.account-top-label{display:none}.topbar .server-save-status:not(.save-error){display:none}}
@media(max-width:800px){.profile-layout{grid-template-columns:minmax(0,1fr)}.profile-backups{align-items:flex-start;flex-direction:column}.profile-backup-actions{justify-content:flex-start}}
@media(max-width:700px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-block:9px}.topbar .search-box{order:3;display:flex;width:100%;flex:1 1 100%}.topbar-actions{order:2;width:auto;margin-left:auto;flex-wrap:nowrap}.topbar-actions .account-top-button{flex:0 0 42px;min-width:42px}.topbar-actions .role-switch{flex:0 1 auto}.topbar-actions .server-save-status.save-error{position:absolute;top:100%;right:8px;padding:6px 9px;background:#fff1ef;border-radius:6px}.profile-backup-actions{width:100%}.profile-backup-actions button{flex:1 1 100%}}
.week-calendar .time-grid-day{min-height:0}.week-calendar .time-grid-day-events,.portal-shared-calendar .time-grid-day-events{position:relative;display:block;padding-top:12px;min-width:0}.time-grid-ruler{position:absolute;top:12px;left:0;width:40px;height:var(--time-grid-height);color:#81776e;font-size:.65rem;font-weight:700;pointer-events:none}.time-grid-label{position:absolute;left:0;line-height:1;transform:translateY(-50%);font-variant-numeric:tabular-nums}.time-grid-label:first-child{transform:translateY(0)}.time-grid-track{position:relative;height:var(--time-grid-height);margin-left:42px;border-left:1px solid #e4d8ca;border-bottom:1px solid #e4d8ca;background:repeating-linear-gradient(to bottom,#e6dfd6 0 1px,transparent 1px 64px),repeating-linear-gradient(to bottom,transparent 0 32px,#f1ede6 32px 33px,transparent 33px 64px)}.calendar-event-layer{position:absolute;inset:0}.time-grid-event{position:absolute;z-index:1;box-sizing:border-box;padding:8px 9px;overflow:hidden}.time-grid-event:hover,.time-grid-event:focus-visible{z-index:3}.time-grid-event .week-class-time{flex-wrap:wrap;gap:3px;font-size:.65rem}.time-grid-event h3{margin:5px 0 2px;font-size:.81rem}.time-grid-compact{padding:5px 7px}.time-grid-compact h3{margin:4px 0 0;font-size:.75rem;line-height:1.15}.time-grid-compact .week-class-time span:last-child,.time-grid-compact p,.time-grid-compact small,.time-grid-compact .week-class-foot{display:none}.time-grid-untimed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0 3px 42px;padding-top:12px;border-top:1px solid #e6dfd6}.time-grid-untimed>strong{grid-column:1/-1;color:#867a6e;font-size:.7rem}.time-grid-empty{position:absolute;top:14px;left:8px;right:8px;padding:10px;border-radius:8px;background:#faf8f3;color:#958a7f;font-size:.68rem;text-align:center;pointer-events:none}
@media(max-width:600px){.time-grid-untimed{grid-template-columns:minmax(0,1fr)}.portal-shared-calendar .time-grid-day-events{display:block}}

/* Shared admin template library */
.template-library-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px;align-items:start}.template-upload-card,.template-list-card{padding:24px}.template-upload-card{display:grid;gap:15px}.template-upload-card h2{margin:0}.template-upload-card label,.template-search{display:grid;gap:7px;font-weight:600;color:#4c4138}.template-upload-card input,.template-search input,.template-edit-modal input{width:100%;min-width:0;border:1px solid #dcd3c9;border-radius:9px;background:#fff;padding:11px 12px;font:inherit}.template-upload-card input[type=file]{background:#fcfaf7;font-weight:400}.template-upload-card .extra-help{margin:0;color:#75695d;font-weight:400}.template-search{margin:14px 0 18px}.template-list{display:grid;gap:9px}.template-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #ece4da;border-radius:12px;background:#fff}.template-file-icon{min-width:52px;padding:11px 5px;border-radius:9px;background:#f0e5d5;color:#634734;text-align:center;font-size:.7rem;font-weight:750}.template-row-copy{display:grid;gap:3px;flex:1;min-width:0}.template-row-copy strong,.template-row-copy span,.template-row-copy small{overflow-wrap:anywhere}.template-row-copy span,.template-row-copy small{color:#776d63;font-size:.85rem}.template-row .row-actions{flex-wrap:wrap;justify-content:flex-end}.template-row .row-actions a{text-decoration:none}@media(max-width:900px){.template-library-layout{grid-template-columns:1fr}}@media(max-width:550px){.template-row{align-items:flex-start;flex-wrap:wrap}.template-row .row-actions{width:100%;justify-content:flex-start}.template-upload-card,.template-list-card{padding:18px}}

/* BBS szakmai program */
.bbs-program-editor{display:grid;gap:12px;margin:18px 0 20px;padding:17px 18px;border:1px solid #e7dac9;border-radius:14px;background:linear-gradient(120deg,#faf4e9,#fffdf9)}.bbs-program-toggle{display:flex;align-items:center;gap:13px;cursor:pointer}.bbs-program-toggle input{width:19px;height:19px;flex:none;accent-color:#8d6842}.bbs-program-toggle span{display:grid;gap:3px}.bbs-program-toggle strong{font-size:.9rem;color:#3e3027}.bbs-program-toggle small{font-size:.73rem;color:#76695e;line-height:1.4}.bbs-program-module-field{display:grid;gap:7px;max-width:440px;padding-left:32px;font-size:.8rem;font-weight:700;color:#594638}.bbs-program-module-field[hidden]{display:none}.bbs-program-module-field select{width:100%;min-height:42px;border:1px solid #d9c8b1;border-radius:10px;background:#fff;padding:8px 10px;font:inherit;color:#352b25}.bbs-program-badge{display:inline-flex;align-items:center;max-width:100%;padding:4px 9px;border:1px solid #dbbc86;border-radius:999px;background:#fff5db;color:#684725;font-size:.66rem;font-weight:750;line-height:1.25;vertical-align:middle;white-space:normal}.week-class-card .bbs-program-badge{margin:3px 0;font-size:.62rem}.time-grid-compact .bbs-program-badge{padding:2px 5px;font-size:.57rem;line-height:1.05}.month-event .bbs-program-badge{display:inline-flex}.bbs-program-detail{display:grid;gap:5px;margin:0 0 17px;padding:16px 18px;border:1px solid #d9bc89;border-radius:12px;background:linear-gradient(120deg,#fff7e7,#f6e9d4)}.bbs-program-detail span{color:#745130;font-size:.7rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.bbs-program-detail strong{font:500 1.18rem Georgia,serif;color:#33271e}.bbs-program-panel{margin:20px 0 22px;padding:26px;background:linear-gradient(135deg,#f5ead9,#fffdf9 48%,#f8f1e8);border:1px solid #e2cfb5}.bbs-program-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.bbs-program-heading h2{margin:4px 0 8px;font:500 1.65rem Georgia,serif;color:#37291f}.bbs-program-heading p:not(.eyebrow){max-width:650px;color:#756657;font-size:.84rem;line-height:1.55}.bbs-program-heading>strong{flex:none;padding:9px 13px;border-radius:999px;background:#fff;color:#74512e;font-size:.76rem}.bbs-program-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:19px 0 24px}.bbs-program-module{display:grid;align-content:start;gap:10px;min-height:128px;padding:15px;border:1px solid #e8daca;border-radius:13px;background:#fff;box-shadow:0 6px 20px rgba(79,53,40,.04)}.bbs-program-number{color:#a78860;font:500 1.4rem Georgia,serif}.bbs-program-module strong{color:#3b3027;font-size:.83rem;line-height:1.3}.bbs-program-module small{align-self:end;color:#807163;font-size:.7rem}.bbs-program-upcoming{border-top:1px solid #e4d4c1;padding-top:16px}.bbs-program-upcoming h3{margin:0 0 12px;color:#473426;font-size:.9rem}.bbs-program-upcoming p{color:#76675a;font-size:.8rem}.bbs-program-upcoming button{display:grid;grid-template-columns:minmax(130px,190px) minmax(130px,1fr) minmax(120px,210px) 20px;align-items:center;gap:10px;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #e7dbce;border-radius:10px;background:#fff;text-align:left;cursor:pointer;color:#41362c}.bbs-program-upcoming button:hover,.bbs-program-upcoming button:focus-visible{border-color:#b79061;background:#fffaf1}.bbs-program-upcoming button small,.bbs-program-when{color:#766656;font-size:.73rem}@media(max-width:1100px){.bbs-program-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.bbs-program-panel{padding:19px}.bbs-program-heading{flex-wrap:wrap}.bbs-program-heading h2{font-size:1.4rem}.bbs-program-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.bbs-program-module{min-height:114px}.bbs-program-upcoming button{grid-template-columns:minmax(0,1fr) 20px}.bbs-program-upcoming button>:not(:last-child){grid-column:1}}

.curriculum-month-block textarea{display:block;width:100%;min-height:150px;resize:vertical;padding:12px;border:1px solid #dce3e9;border-radius:10px;font:inherit;line-height:1.6;background:#fff}.curriculum-text-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.curriculum-text-actions small{color:#657587}

#curriculum .curriculum-column-head{height:200px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;background:#f5f8fa}#curriculum .curriculum-column-head h3{font-size:1.15rem;line-height:1.3;min-height:48px;margin:0;overflow:auto}#curriculum .curriculum-column-head label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem}#curriculum .curriculum-column-head select{padding:7px;max-width:145px;border:1px solid #dce3e9;border-radius:7px;background:#fff}#curriculum .curriculum-column-head p{margin:0;line-height:1.5}#curriculum .curriculum-text-actions{padding:0 12px 12px}#curriculum .curriculum-month-block h4{background:#f1f5f8}

#dashboardSharedCalendar .dashboard-calendar-range{margin:10px 0 0;color:#173763;font-size:16px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}
.group-invite-modal{width:min(760px,100%)}.group-invite-list{display:grid;gap:7px;max-height:min(46vh,430px);overflow:auto;margin:20px 0;padding-right:4px}.group-invite-list>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1.4fr) minmax(130px,1fr);gap:10px;align-items:center;padding:10px 13px;border:1px solid #e9e1d6;border-radius:11px;background:#fff}.group-invite-list span{overflow-wrap:anywhere}.group-invite-list small{color:#725f50}@media(max-width:650px){.group-invite-list>div{grid-template-columns:1fr;gap:3px}.group-invite-modal .modal-actions{flex-wrap:wrap}}
.group-invite-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.group-invite-toolbar strong{margin-right:auto;color:#173763}.group-invite-list .group-invite-row{display:grid;grid-template-columns:24px minmax(115px,1fr) minmax(150px,1.4fr) minmax(110px,1fr);gap:10px;align-items:center;padding:10px 13px;border:1px solid #e9e1d6;border-radius:11px;background:#fff;cursor:pointer}.group-invite-list .group-invite-row:has(input:checked){border-color:#a5b9d5;background:#f4f8fd}.group-invite-row input{width:19px;height:19px;accent-color:#173763;cursor:pointer}.group-invite-row strong,.group-invite-row span{min-width:0;overflow-wrap:anywhere}.group-invite-unavailable{color:#777;background:#f7f6f4!important;cursor:default!important}.group-invite-check-placeholder{width:19px;height:19px}@media(max-width:650px){.group-invite-list .group-invite-row{grid-template-columns:24px minmax(0,1fr);gap:4px 10px}.group-invite-row strong{grid-column:2}.group-invite-row span:not(.group-invite-check-placeholder),.group-invite-row small{grid-column:2}.group-invite-check-placeholder{grid-row:1}}
