:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#132944;background:#edf4f8;--green:#164b35;--line:#c9d9e4}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);background:#142c4b}header img{width:70px;height:70px;border-radius:14px}h1{font-size:25px;margin:3px 0}h2{letter-spacing:-.035em}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.17em;color:#245b7a}#status{margin-left:auto;border:1px solid var(--line);padding:10px 16px;border-radius:30px;font-size:13px}main{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;padding:38px 5%}.welcome{padding:40px 10px}.welcome h2{font-size:clamp(38px,5vw,68px);line-height:1.1;font-weight:600;margin:22px 0}.welcome p{color:#415b70;line-height:1.8}.welcome label{display:block;margin:30px 0 18px;font-size:13px}.welcome input{display:block;width:280px;margin-top:8px}.buttons{display:flex;gap:12px;flex-wrap:wrap}button,input{font:inherit;border:1px solid var(--line);border-radius:10px;padding:13px 16px}input{background:white;min-width:0}button{cursor:pointer;background:#fff;color:var(--green);font-size:13px;font-weight:650}button:hover{background:#e0eef7}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#206447}.danger{background:#fbe7e3;color:#a52f27}.small{font-size:12px;line-height:1.6;color:#415b70}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}.panel h2{font-size:23px;margin:10px 0}.panel p{font-size:13px;color:#415b70;line-height:1.6}#dropzone{border:1px dashed #6c9bb8;border-radius:12px;padding:26px;text-align:center;font-size:13px;background:#edf6fc}#dropzone.over{background:#d4eadf}#chat{display:flex;gap:6px}#chat input{width:100%;font-size:12px}#chat button{padding:10px}#messages{max-height:220px;overflow:auto;margin:14px 0}.message{font-size:13px;padding:10px;background:#e9f3fa;margin:6px 0;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.quiet{background:#e1edf5}.meeting-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.meeting-top h2{font-size:26px;margin:8px 0 20px}.stage{position:relative;background:#10243c;border-radius:20px;min-height:350px;aspect-ratio:16/10;overflow:hidden;display:flex;align-items:center;justify-content:center}.stage>video{width:100%;height:100%;object-fit:contain}.stage>#remote{position:absolute;inset:0}.stage.sharing>#remote{width:140px;height:100px;inset:auto auto 16px 16px;border-radius:10px;background:#09192e;z-index:2}.self{position:absolute;right:16px;bottom:16px;width:150px;height:112px;background:#164b35;border-radius:12px;overflow:hidden}.self video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.self span{position:absolute;bottom:6px;left:8px;color:#fff;font-size:11px}#waiting{position:absolute;color:#f1f8ff;text-align:center;line-height:1.9;font-size:17px}#waiting span{font-size:12px;color:#a7d2ec}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.share-preview{display:flex;gap:18px;background:#dfeee7;border-radius:12px;padding:14px;margin-top:14px}.share-preview video{width:180px;max-height:120px;object-fit:contain;background:#10243c}.share-preview strong{font-size:13px}.share-preview p{font-size:12px}.transfer{padding:14px 0;border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.transfer strong{display:block;margin-bottom:6px}.transfer progress{display:block;width:100%;margin:8px 0}.transfer button,.transfer a{margin:5px 5px 0 0;font-size:12px}.transfer a{display:inline-block;color:var(--green)}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#142c4b;color:white;padding:16px 24px;border-radius:12px;max-width:90%;z-index:5;box-shadow:0 8px 30px #0003}dialog{border:1px solid var(--line);border-radius:20px;max-width:560px;padding:28px}dialog::backdrop{background:#10243caa}dialog video{width:100%;background:#10243c;border-radius:12px}dialog label{display:block;margin:14px 0}meter{width:100%;display:block}button:focus-visible,input:focus-visible{outline:3px solid #438fbb;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:950px){main{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quiet{grid-column:1/-1}.stage{min-height:280px}}@media(max-width:600px){header{padding:16px}header img{width:48px;height:48px}h1{font-size:20px}header .eyebrow{display:none}#status{font-size:10px;padding:7px}main{padding:22px 16px}.welcome{padding:20px 0}aside{display:block}.toolbar button{flex:1}.self{width:110px;height:82px}.share-preview video{width:110px}}

select{display:block;width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;margin-top:6px}

#contact-search{width:100%;font-size:12px}.contact-actions{display:flex;gap:6px;flex-wrap:wrap}.contact-actions button{padding:8px;font-size:11px}#contacts-list{max-height:340px;overflow:auto}#contacts-list details{border-top:1px solid var(--line);padding:10px 0;font-size:12px}#contacts-list summary{cursor:pointer;font-weight:650}#contacts-list details div{padding-top:10px;overflow-wrap:anywhere}#contacts-list details span{display:block}#contacts-list details button{padding:7px;font-size:10px;margin:6px 5px 2px 0}.contacts-panel p{font-size:11px}

.stage-fullscreen{position:absolute;top:12px;right:12px;z-index:4;background:#ffffffed}.stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0;background:#09192e}.stage:fullscreen>video{object-fit:contain}#fullscreen-app{margin-left:auto}header #status{margin-left:0}

/* Royal Signals-inspired light blue, dark blue and green palette. */
header{color:#fff;border-bottom:0;position:relative;padding-bottom:34px}header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:linear-gradient(to bottom,#8fc7e8 0 33.33%,#142c4b 33.33% 66.66%,#164b35 66.66%)}header .eyebrow{color:#abd8f1}header #status{color:#fff;border-color:#6382a0}.panel{border-top:4px solid #8fc7e8}.panel.quiet{border-top-color:#164b35}.welcome h2{color:#142c4b}.primary{background:#164b35;border-color:#164b35}.meeting-top{flex-wrap:wrap}dialog{color:#132944;background:#f7fbfe;border-top:6px solid #8fc7e8}

.chat-panel{border-top-color:#164b35;scroll-margin-top:20px}
.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-heading button{padding:9px 12px;white-space:nowrap}
#messages{min-height:140px;max-height:340px}
.message.own{background:#e0eee5}
.message-heading{display:flex;gap:12px;justify-content:space-between;margin-bottom:6px;white-space:normal}
.message-heading time{font-size:10px;color:#415b70;white-space:nowrap}
@media(min-width:601px) and (max-width:950px){.chat-panel{grid-column:1/-1}}

.recording-banner{margin-top:14px;padding:12px 16px;border:1px solid #bf3b38;border-radius:12px;background:#fff0ed;color:#8b2423;display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;font-size:13px;font-weight:650}
#recording-indicator::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#b02725}
#record-meeting[aria-pressed="true"]{background:#a52f27;color:white;border-color:#a52f27}
.recordings-panel{border-top-color:#bf3b38}
.recording-item{border-top:1px solid var(--line);padding:12px 0;font-size:12px}
.recording-item p{margin:6px 0}.recording-item video{display:block;width:100%;max-height:200px;background:#10243c;border-radius:10px;margin:10px 0}
.recording-item a{display:inline-block;padding:10px 14px;border-radius:10px;background:var(--green);color:white;text-decoration:none;font-weight:650}

.notes-panel{border-top-color:#245b7a}
#notes-draft{width:100%;resize:vertical;font:12px/1.6 system-ui;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px;color:#132944;background:#f7fbfe}
#notes-transcript{max-height:260px;overflow:auto;overflow-wrap:anywhere}
.notes-panel summary{font-size:12px;cursor:pointer}

.audio-export{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.audio-export label{display:block;font-size:12px}
.audio-export button{margin-top:8px}
.audio-export a{margin-top:8px}

.recording-stage-indicator{position:absolute;top:12px;left:12px;max-width:55%;z-index:4;padding:9px 12px;border-radius:9px;background:#fff0edf2;color:#8b2423;font-size:12px;font-weight:700}
