.phase-source-viewer[hidden]{display:none!important}
.phase-source-viewer>button{min-height:44px;padding:9px 14px;color:#b5efda;background:#10252b;border:1px solid #44646b;border-radius:5px;margin:0 0 12px;cursor:pointer}
.source-fullscreen{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:14px;margin:0;border:0;background:#071014;color:#e8f4f7}
.source-fullscreen[open]{display:flex;flex-direction:column;gap:12px}
.source-fullscreen>button{align-self:flex-start;min-height:44px;border:1px solid #597a83;background:#10252b;color:#e8f4f7;padding:10px 16px;border-radius:5px;cursor:pointer}
.source-fullscreen>iframe{flex:1;width:100%;height:calc(100dvh - 84px);border:1px solid #344b53}
.source-fullscreen::backdrop{background:#020809ed}
.field-help{margin:7px 0 14px;color:#9bb1b8;font-size:12px;line-height:1.55}
.field-help summary{cursor:pointer;color:#b3d4da}
.group-board{border:1px solid #355a5f;background:#0b171c;margin:24px 0;padding:20px}
.group-board>summary{cursor:pointer;color:#c2e4dc;font-size:20px;min-height:44px}
.board-presence,.board-info{font-size:13px;color:#9eb7bc;line-height:1.6}
.board-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:20px 0}
.board-entry{padding:16px;background:#101f25;border:1px solid #324c54;overflow-wrap:anywhere}
.board-entry h4{margin:10px 0;font-size:16px;color:#e0edee}
.board-entry p{white-space:pre-wrap;line-height:1.6;font-size:14px}
.board-entry small{color:#a0bec4}
.board-entry button,.board-form button{padding:10px;min-height:44px;border:1px solid #426f72;background:#132d32;color:#ddf5ea;cursor:pointer;border-radius:4px}
.board-form{display:grid;gap:12px;max-width:760px}.board-form label{display:grid;gap:6px;font-size:13px}
.board-form input,.board-form select,.board-form textarea{width:100%;padding:10px;color:#e4efed;background:#081318;border:1px solid #426068;font:inherit}
.board-form textarea{min-height:110px;resize:vertical}.board-form .board-error{color:#ffb5ad}
.board-admin-dialog{width:min(1100px,96vw);max-height:92dvh;overflow:auto;background:#09171d;color:#e4efed;border:1px solid #4c737c}
.board-admin-dialog::backdrop{background:#000b}
.board-admin-dialog>button{position:sticky;top:0;min-height:44px;padding:10px;color:#e4efed;background:#132d32;border:1px solid #426f72}
.incoming-call .incoming-call-card,.mobile-call .call-card{position:relative;width:min(390px,100%);min-height:min(700px,calc(100dvh - 40px));height:min(700px,calc(100dvh - 40px));padding:48px 32px 30px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;border-radius:24px;border:1px solid #ffffff18;background:#293039;color:#fff;overflow:auto;font-family:'Segoe UI',Arial,sans-serif}
.incoming-call .incoming-call-icon,.mobile-call .call-avatar,.mobile-call .call-status{display:none}
.incoming-call .incoming-call-card h2,.mobile-call .call-identity h2{font-size:29px;font-weight:400;line-height:1.25;margin:0;color:#fff;letter-spacing:0}
.incoming-call .incoming-call-card>p,.mobile-call .call-identity p{font-size:14px;margin:12px 0;color:#ffffffb8}
.mobile-call .call-identity{margin:0;text-align:center}
.incoming-call .incoming-call-actions,.mobile-call .call-actions{display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:30px;margin-top:auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.incoming-call .incoming-call-actions button,.mobile-call .call-actions button{display:flex;flex-direction:column;align-items:center;gap:10px;width:84px;height:auto;min-height:90px;background:none!important;border:0;padding:0;color:white;font:400 13px 'Segoe UI',Arial,sans-serif;cursor:pointer}
.call-button-disc{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#29c867;transition:transform .12s ease,filter .12s ease}
.incoming-call button:active .call-button-disc,.mobile-call button:active .call-button-disc{transform:scale(.93);filter:brightness(.9)}
.decline .call-button-disc,.hangup .call-button-disc{background:#f44846}
.call-button-disc img{width:31px;height:31px;filter:brightness(0) invert(1)}
.decline .call-button-disc img,.hangup .call-button-disc img{transform:rotate(135deg)}
.incoming-call-actions button:focus-visible,.call-actions button:focus-visible{outline:3px solid white;outline-offset:5px}
.incoming-call .active-call-actions,.mobile-call .active-actions{margin-top:auto}
.incoming-call .active-call-actions,.mobile-call .active-actions{display:flex;flex-direction:column;align-items:center;gap:24px;background:none;border:0;box-shadow:none;width:100%}
.incoming-call .active-call-actions>div,.mobile-call .call-duration{color:#ffffffb8;font:400 18px/1.4 'Segoe UI',Arial,sans-serif;font-variant-numeric:tabular-nums}
.incoming-call .active-call-actions>div>span{display:none}
.incoming-call .active-call-actions .hangup,.mobile-call .active-actions .hangup{display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:0;color:white;font:400 13px 'Segoe UI',Arial,sans-serif}
.incoming-call.voss-profile,.mobile-call.voss-profile{background:#000b;backdrop-filter:blur(12px)}
.incoming-call.voss-profile::before,.mobile-call.voss-profile::before{display:none}
.incoming-call.voss-profile .incoming-call-card,.mobile-call.voss-profile .call-card{width:min(390px,100%);height:min(700px,calc(100dvh - 40px));min-height:min(700px,calc(100dvh - 40px));padding:48px 32px 30px;background:linear-gradient(#0007,#0001 40%,#0009),url('assets/people/reinhard-voss.jpg') center 30%/cover;justify-content:flex-start;text-shadow:0 2px 12px #000}
.incoming-call.voss-profile .incoming-call-actions,.incoming-call.voss-profile .active-call-actions,.mobile-call.voss-profile .call-actions,.mobile-call.voss-profile .active-actions{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}
.incoming-call .incoming-call-error{margin:8px 0 0;min-height:16px}
.incoming-call-actions[hidden],.active-call-actions[hidden],.call-actions[hidden],.active-actions[hidden]{display:none!important}
@media(max-width:500px){.incoming-call,.mobile-call{padding:0}.incoming-call .incoming-call-card,.mobile-call .call-card,.incoming-call.voss-profile .incoming-call-card{width:100%;height:100dvh;min-height:100dvh;border-radius:0;padding:50px 35px max(36px,env(safe-area-inset-bottom))}.board-entries{grid-template-columns:1fr}}
