*{box-sizing:border-box}body{margin:0;background:#f6f4f3;color:#272327;font:16px/1.5 system-ui,sans-serif}main{max-width:660px;margin:clamp(8px,4vw,44px) auto;background:white;border:1px solid #ded8d9;border-radius:12px;overflow:hidden}header{display:flex;gap:12px;align-items:center;padding:14px 20px;background:#f3eef0}header b,button{background:#861b3c;color:white;border-radius:6px}header b{padding:4px 9px}article{padding:clamp(12px,3vw,26px)}h1{font-size:1.45rem;margin:4px 0 16px}h2{font-size:1.1rem;margin:16px 0 8px}small{color:#5e5358}button,input,textarea{font:inherit;padding:10px;border-radius:6px}button{border:0;cursor:pointer;margin:6px 4px 6px 0}button:disabled{opacity:.55}input,textarea{width:100%;border:1px solid #9c9195;margin:4px 0 8px}label{display:block}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #e8e2e4;padding:7px 3px}td,a,li{overflow-wrap:anywhere}a{color:#81203b}section.ok{border-left:4px solid #36734c;background:#edf6f0;padding:13px;margin:12px 0}.ok strong{display:block;color:#195938}#err:not(:empty){background:#fff0e8;padding:10px}.minor{display:block;margin-top:15px;color:#665761}hr{border:0;border-top:1px solid #e8e2e4;margin:18px 0}
.preview{display:block;font-weight:600;padding:12px 0}.ok{margin-top:15px}
summary{cursor:pointer;color:#81203b;font-weight:600;padding:10px 0}select{display:block;margin:4px 0 12px;padding:8px;font:inherit;max-width:100%}#mapping{margin-top:16px}
.round-head{border-left:4px solid #861b3c;padding:2px 12px;margin:12px 0}.round-head small{font-weight:600}.round-head h2{font-size:1.3rem;margin:1px 0}.pending{background:#fff8ee;border:1px solid #d8b885;border-radius:6px;padding:13px;margin:12px 0}.pending>strong{display:block;color:#71430e;margin-bottom:8px}.past{margin-top:24px;padding-top:8px;border-top:2px solid #dedade;color:#514d51}.past summary{color:inherit}.past h3{font-size:1rem;margin:12px 0 2px}.past ul{margin:0 0 12px;padding-left:22px}
.service-room{border-top:1px solid #d6d0d2;padding:14px 0}.service-room h2,.service-room p{margin:4px 0}.live-poll{display:inline-block;padding:3px 9px;border-radius:4px;background:#fce3b9;color:#653b02}#undated{width:auto}
.staff main{max-width:none;margin:clamp(6px,1.3vw,22px)}.staff #date{max-width:16rem}.lookup{min-width:0;padding:16px;border:1px solid #ded8d9;border-radius:9px;background:#fcfafb;align-self:start}.lookup h2{margin-top:0}.lookup table{margin-top:12px}.lookup th,.lookup td{text-align:left;padding:8px 4px}.service-layout{display:grid;gap:18px;align-items:start}.staff #entry{max-width:48rem}
@media(min-width:900px){.service-layout:has(.lookup){grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.lookup{position:sticky;top:12px;max-height:calc(100vh - 30px);overflow:auto}.staff main{overflow:visible}.period-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}}
@media(max-width:899px){.service-layout:has(.lookup:not(:has([hidden]))) .lookup{grid-row:1}}
.closed-rounds{display:inline-block;margin:4px 0 4px 8px;padding:3px 9px;border-radius:5px;background:#f3f0f1;color:#50454b;font-size:.9rem}

.seminar-period + .seminar-period{margin-top:28px}.seminar-period>h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;background:#f4eff1;border-left:4px solid #861b3c;padding:8px 12px;margin:0}.seminar-period>h2 small{font-size:.9rem;font-weight:400}

.brand-header{background:#fff;border-bottom:1px solid #e8e2e4;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px}
.brand-logo{display:block;width:272px;max-width:100%;height:auto;object-fit:contain}
.app-label{color:#50454b;font-size:.9rem;text-align:right}
.app-label small{display:block;font-size:.75rem;margin-top:2px}
@media(max-width:440px){.brand-header{padding:16px}.brand-logo{width:232px}.app-label{text-align:left}}

.seminar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.moderator-badge,.seminar-account{display:inline-block;border:1px solid;border-radius:6px;padding:4px 9px;font-size:.9rem;font-weight:600}
.moderator-M{background:#dcfce7;color:#166534;border-color:#86efac}
.moderator-S{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}
.moderator-R{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.moderator-K{background:#e0f2fe;color:#075985;border-color:#7dd3fc}
.moderator-P{background:#fce7f3;color:#9d174d;border-color:#f9a8d4}
.moderator-unassigned,.seminar-account{background:#f5f5f5;color:#525252;border-color:#d4d4d4}

.chat-texts{margin-top:28px;border-top:1px solid #ded8d9;padding-top:12px;max-width:70rem}
.chat-text{border:1px solid #ded8d9;border-radius:8px;margin:12px 0;padding:4px 14px}
.chat-part{padding:12px 0;border-top:1px solid #e8e2e4}
.chat-part textarea{display:block;resize:vertical;min-height:8rem;background:#fcfafb}
.copy-status{display:block;color:#195938;font-size:.9rem;min-height:1.4em}

.copy-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;vertical-align:middle}
.copy-button:focus-visible{outline:3px solid #272327;outline-offset:3px}
.chat-text h3{font-size:1rem;margin:12px 0}

#settings{max-width:80rem}.placeholders code{display:inline-block;background:#f3eef0;padding:2px 5px;margin:2px;border-radius:4px}
.rule-card{padding:16px;border:1px solid #ded8d9;border-radius:8px;margin:16px 0}
.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.rule-block{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid #e8e2e4;padding:8px 0}
.rule-block>label:first-child{max-width:8rem}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto;margin:0}
.assignment{max-width:45rem;border:1px solid #ded8d9;padding:6px 14px;border-radius:8px;margin:12px 0}

.moderation-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.moderation-controls,.moderation-texts{min-width:0}
.moderation-texts .chat-texts{margin-top:0;padding-top:0;border-top:0;max-width:none}
@media(min-width:1000px){.moderation-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

#participant-timing{font-size:.9rem;margin:10px 0 0;font-weight:600;white-space:normal}
#participant-speaker{margin:-8px 0 20px;color:#5e5358;overflow-wrap:anywhere}
body:not(.staff) #title{overflow-wrap:anywhere}

.countdown{background:#f4eff1;border-left:4px solid #861b3c;padding:8px 12px;margin:12px 0}.countdown.ending{background:#fff0d8;color:#713e00}.account-table button{margin:3px}.account-form{max-width:40rem}

.staff-toolbar{flex:1 1 32rem;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-width:0}
.header-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.header-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid #861b3c;border-radius:6px;background:#861b3c;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
.header-navigation a:hover{background:#68132d}.header-navigation a[aria-current=page]{background:#f3eef0;color:#68132d;box-shadow:inset 0 0 0 1px #861b3c}
.header-navigation a:focus-visible{outline:3px solid #272327;outline-offset:3px}
.staff-toolbar .logout{margin:0}.staff-toolbar .logout button{margin:0;min-height:42px;font-size:.9rem}
@media(max-width:900px){.staff-toolbar{flex-basis:100%;order:3;justify-content:flex-start}.header-navigation{justify-content:flex-start}}

.moderator-badge[style]{background:color-mix(in srgb,var(--person-color) 14%,white);border-color:var(--person-color);color:#272327}

.moderation-team{border-bottom:1px solid #eadde1;margin-bottom:1.5rem;padding-bottom:1rem}.moderation-team input[type=color]{width:5rem;height:2.5rem;padding:3px}

.seminar-cancelled{background:#f2f0f1;color:#635e60;border-color:#d7d3d4}
.seminar-cancelled .moderator-badge,.seminar-cancelled .seminar-account{filter:grayscale(1)}
.service-room.seminar-cancelled,.cancellation-notice{padding:12px;border-radius:6px}
.manage-seminar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-bottom:1px solid #e8e1e4;padding:6px}
.manage-seminar button{margin:0}
#seminar-editor{max-width:36rem}

.manage-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:12px}
.manage-filter input{width:auto;margin-left:5px}
.manage-seminar-info{display:grid;gap:2px;min-width:0}
.manage-seminar-info small{color:#635e60}
#moderation-seminar-details p{margin:3px 0;color:#50464a}

.service-room-selected{outline:2px solid #861b3c;outline-offset:-2px;border-radius:6px;background:#fcf3f6;padding-inline:10px}
.service-room-selected.seminar-cancelled{background:#f2f0f1}
.day-export{display:inline-block;margin:0 0 10px;padding:9px 13px;border-radius:6px;background:#861b3c;color:#fff;text-decoration:none;font-weight:600}
.day-export[hidden]{display:none}
.day-export:hover{background:#68132d}
.moderation-date{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.moderation-date #date{width:9rem}
.moderation-day-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}
.moderation-day-actions #seminar-tab-hint,.moderation-day-actions .day-export{margin:0}
.moderation-day-actions:not(:has(> :not([hidden]))){display:none}

#sync{display:block}

.vm-startup{padding:10px 12px;border-left:4px solid #861b3c;background:#fcf3f6;font-weight:600}
.vm-startup:empty{display:none}

#theme-toggle{display:grid;place-items:center;width:38px;height:38px;margin:6px 0 0 auto;padding:0;background:transparent;color:inherit;border:1px solid currentColor;border-radius:50%}
#theme-toggle svg{width:20px;height:20px}
#theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
#theme-toggle[hidden]{display:none}
#theme-toggle[aria-pressed=true]{background:#4b2937;color:#fff}
@media(max-width:440px){#theme-toggle{margin-left:0}}

:root[data-theme=dark]{
 color-scheme:dark;
 --dark-page:#171417;
 --dark-panel:#231f23;
 --dark-raised:#2e282e;
 --dark-field:#302a30;
 --dark-border:#655760;
 --dark-text:#f6eef3;
 --dark-muted:#d4c5ce;
 --dark-link:#ffb1cc;
 --dark-accent:#a62e53;
 --dark-rose:#3d2833;
 background:var(--dark-page);
}
[data-theme=dark] body{background:var(--dark-page);color:var(--dark-text)}
[data-theme=dark] main{background:var(--dark-panel);border-color:var(--dark-border)}
[data-theme=dark] .brand-header,[data-theme=dark] .lookup{background:var(--dark-raised)}
[data-theme=dark] .brand-logo{background:#fff;padding:6px;border-radius:5px}
[data-theme=dark] :is(small,.app-label,.minor,#participant-speaker,#moderation-seminar-details p){color:var(--dark-muted)}
[data-theme=dark] :is(a,summary){color:var(--dark-link)}
[data-theme=dark] :is(button,.header-navigation a,.day-export){background:var(--dark-accent);color:#fff}
[data-theme=dark] :is(.header-navigation a[aria-current=page],.header-navigation a:hover,.day-export:hover){background:var(--dark-rose);color:var(--dark-link);border-color:#c75279}
[data-theme=dark] :is(input,select,textarea,.chat-part textarea){background:var(--dark-field);border-color:var(--dark-border);color:var(--dark-text)}
[data-theme=dark] :is(header,hr,th,td,.lookup,.service-room,.chat-texts,.chat-text,.chat-part,.assignment,.past,.rule-card,.rule-block,.moderation-team,.manage-seminar){border-color:var(--dark-border)}
[data-theme=dark] :is(.countdown,.vm-startup,.seminar-period>h2,.service-room-selected){background:var(--dark-rose)}
[data-theme=dark] .service-room-selected{outline-color:#dc7697}
[data-theme=dark] :is(.seminar-cancelled,.service-room-selected.seminar-cancelled,.closed-rounds,.placeholders code,.seminar-account,.moderator-unassigned){background:var(--dark-raised);border-color:var(--dark-border);color:var(--dark-muted)}
[data-theme=dark] :is(.live-poll,.pending,.countdown.ending,#err:not(:empty),p[role=alert]:not(:empty)){background:#492f25;border-color:#a47541;color:#ffddac}
[data-theme=dark] .pending>strong{color:#ffddac}
[data-theme=dark] section.ok{background:#233c2e;border-color:#61a878}
[data-theme=dark] :is(.ok strong,.copy-status){color:#afe7c0}
[data-theme=dark] :is(.header-navigation a,.copy-button):focus-visible{outline-color:var(--dark-link)}

.calendar-export{margin:8px 0 14px}
.calendar-export form{display:flex;flex-wrap:wrap;align-items:end;gap:8px 16px}
.calendar-export input{width:auto}
#calendar-status:empty{display:none}

.speaker-mail-layout{display:grid;gap:24px;align-items:start}
.speaker-mail-layout>section{min-width:0}
.speaker-mail-layout input[type=date]{max-width:16rem}
.speaker-mail-layout select{width:100%;margin:4px 0 8px}
.speaker-mail-layout #speaker-mail-placeholders,.speaker-mail-body{overflow-wrap:anywhere}
.speaker-mail-body.lookup{position:static;max-height:none}
.speaker-mail-body table{width:auto;margin:6px 0}
.speaker-mail-body :is(th,td){padding:5px 10px}
[data-theme=dark] .speaker-mail-body .speaker-mail-accent{color:#eaa0ff!important}
.speaker-mail-seminars{min-width:0;border:1px solid #ded8d9;border-radius:6px}
.speaker-mail-seminars label{display:flex;align-items:baseline;gap:.4rem;padding:3px 0}
.speaker-mail-seminars input[type=checkbox]{width:auto;margin:0;flex-shrink:0}
[data-theme=dark] .speaker-mail-seminars{border-color:var(--dark-border)}
.speaker-mail-date-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.speaker-mail-outlook-hint{display:block;margin:2px 0 10px}

.week-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.week-controls label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.week-controls input{width:10rem;margin:0}
.week-controls button{margin:0}
.week-legend{display:flex;flex-wrap:wrap;gap:8px}
.week-day{margin-top:30px}
.week-day>h2{padding:10px 12px;background:#f4eff1;border-left:4px solid #861b3c}
.week-day h3{font-size:1rem;margin:18px 0 8px}
.week-table-scroll{overflow-x:auto}
.week-table{min-width:760px}
.week-table th,.week-table td{padding:12px 10px;border:1px solid #ded8d9;vertical-align:middle}
.week-table th{background:#f4eff1}
.week-table th:first-child{width:13rem}
.week-table th:nth-child(2){width:10rem}
.week-table th:nth-child(4){width:9rem}
.week-table th:last-child{width:6rem}
.week-table p{margin:4px 0 0}
.week-table small{display:block;margin-top:4px}
.week-time{white-space:nowrap}
[data-theme=dark] .week-day>h2,[data-theme=dark] .week-table th{background:var(--dark-rose)}
[data-theme=dark] .week-table th,[data-theme=dark] .week-table td{border-color:var(--dark-border)}
.week-controls select{margin:0}
.week-controls #week-year{width:6.5rem}
.week-table .week-seminar-title{display:block;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#81203b;font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.week-seminar-title:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#seminar-access{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #ded8d9;border-radius:12px;padding:22px;background:white;color:#272327}
#seminar-access::backdrop{background:rgb(0 0 0 / .5)}
.access-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.access-heading h2{margin:0}
#access-close{flex-shrink:0;margin:0;font-size:1.4rem;line-height:1;padding:8px 12px}
.access-details dt{font-weight:700;margin-top:16px}
.access-details dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
[data-theme=dark] .week-table .week-seminar-title{background:transparent;color:var(--dark-link)}
[data-theme=dark] #seminar-access{background:var(--dark-panel);border-color:var(--dark-border);color:var(--dark-text)}
