/* Frappe Desk (v16) theme for Nora: tokens, app shell, controls and shared widgets. */
@font-face{font-family:"InterVariable";src:url("/fonts/InterVariable.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}

:root{
 --gray-50:#faf8f7;--gray-100:#f4f2f1;--gray-200:#ebeae8;--gray-300:#dcdad8;--gray-400:#c7c5c3;
 --gray-500:#9c9a98;--gray-600:#7c7a78;--gray-700:#52504e;--gray-800:#383635;--gray-900:#171514;
 --blue-50:#f7fbfd;--blue-100:#edf6fd;--blue-500:#0289f7;--blue-600:#007be0;--blue-700:#0070cc;
 --green-50:#f3fcf5;--green-100:#e4f5e9;--green-500:#278f5e;--green-800:#16794c;
 --red-50:#fff7f7;--red-100:#fff0f0;--red-500:#e03636;--red-600:#cc2929;--red-700:#b52a2a;
 --orange-100:#fff1e7;--orange-700:#bd3e0c;--yellow-100:#fff7d3;--yellow-700:#ab6e05;
 --bg-color:#fff;--fg-color:#fff;--card-bg:#fff;--popover-bg:#fff;--neutral:#fff;--invert-neutral:var(--gray-900);
 --sidebar-bg:var(--gray-50);--sidebar-hover-color:#f2f0ef;--sidebar-active-color:#fff;
 --text-color:var(--gray-800);--heading-color:var(--gray-900);--text-muted:var(--gray-700);--text-light:var(--gray-600);
 --border-color:var(--gray-200);--dark-border-color:var(--gray-300);--control-bg:var(--gray-100);
 --subtle-fg:var(--gray-100);--subtle-accent:var(--gray-50);--highlight-color:var(--gray-50);
 --primary:var(--gray-900);--btn-primary:var(--gray-900);--btn-primary-text:#fff;
 --btn-default-bg:var(--gray-100);--btn-default-hover-bg:var(--gray-300);
 --icon-stroke:var(--gray-800);--placeholder-color:var(--gray-500);
 --bg-green:var(--green-100);--text-on-green:var(--green-800);--bg-blue:var(--blue-100);--text-on-blue:var(--blue-700);
 --bg-orange:var(--orange-100);--text-on-orange:var(--orange-700);--bg-red:var(--red-100);--text-on-red:var(--red-700);
 --bg-yellow:var(--yellow-100);--text-on-yellow:var(--yellow-700);--bg-gray:var(--gray-100);--text-on-gray:var(--gray-700);
 --screen-bg:var(--gray-900);
 --border-radius-tiny:4px;--border-radius:8px;--border-radius-md:10px;--border-radius-lg:12px;--border-radius-full:999px;
 --shadow-xs:rgba(0,0,0,.05) 0 .5px 0 0,rgba(0,0,0,.08) 0 0 0 1px,rgba(0,0,0,.05) 0 2px 4px 0;
 --shadow-sm:0 1px 2px rgba(0,0,0,.1);--shadow-base:0 0 1px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.1);
 --shadow-md:0 0 1px rgba(0,0,0,.12),0 .5px 2px rgba(0,0,0,.15),0 2px 3px rgba(0,0,0,.16);
 --shadow-lg:0 0 1px rgba(0,0,0,.35),0 6px 8px -4px rgba(0,0,0,.1);
 --focus-default:0 0 0 2px #c9c9c9;
 --font-stack:"InterVariable","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
 --select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%237c7a78' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 3.636L6.136 2l1.637 1.636M4.5 8.364L6.136 10l1.637-1.636'/></svg>");
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){
 --gray-700:#383838;--gray-800:#232323;
 --bg-color:var(--gray-900);--fg-color:var(--gray-900);--card-bg:var(--gray-900);--popover-bg:#1f1d1c;--neutral:#000;--invert-neutral:var(--gray-50);
 --sidebar-bg:#1c1a19;--sidebar-hover-color:#2a2827;--sidebar-active-color:#2f2d2c;
 --text-color:var(--gray-50);--heading-color:var(--gray-50);--text-muted:var(--gray-400);--text-light:var(--gray-300);
 --border-color:var(--gray-800);--dark-border-color:var(--gray-600);--control-bg:var(--gray-800);
 --subtle-fg:var(--gray-800);--subtle-accent:var(--gray-800);--highlight-color:#1f1d1c;
 --primary:var(--gray-300);--btn-primary:var(--gray-300);--btn-primary-text:var(--gray-900);
 --btn-default-bg:var(--gray-800);--btn-default-hover-bg:var(--gray-700);--icon-stroke:var(--gray-300);--placeholder-color:var(--gray-600);
 --bg-green:#173b2c;--text-on-green:#e4f5e9;--bg-blue:#005ca3;--text-on-blue:#edf6fd;--bg-orange:#6b2711;--text-on-orange:#fff1e7;
 --bg-red:#6b1515;--text-on-red:#fff0f0;--bg-yellow:#733f12;--text-on-yellow:#fff7d3;--bg-gray:#52504e;--text-on-gray:var(--gray-50);
 --screen-bg:#000;color-scheme:dark}}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:var(--font-stack);font-size:14px;font-weight:420;line-height:1.5;color:var(--text-color);background:var(--bg-color);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11" 1,"ss01" 1}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{color:var(--heading-color);font-weight:600;margin:0}
p{margin:0}
[hidden]{display:none!important}
::placeholder{color:var(--placeholder-color)}

/* Icons: Timeless/Lucide are outline, Espresso are filled. */
.icon{display:inline-block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:var(--icon-stroke);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}
.es-icon{display:inline-block;flex-shrink:0;width:16px;height:16px;fill:var(--icon-stroke);stroke-width:0}
.icon-xs{width:12px;height:12px}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}

/* App shell: left sidebar owns navigation; there is no desktop top bar. */
.desk{display:flex;min-height:100vh}
.body-sidebar{position:sticky;top:0;height:100vh;width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding:8px 8px 10px;background:var(--sidebar-bg);border-right:1px solid var(--border-color);z-index:1020}
.sidebar-header{display:flex;align-items:center;gap:8px;height:48px;padding:8px;border-radius:var(--border-radius)}
.sidebar-header:hover{background:var(--sidebar-hover-color)}
.header-logo{width:32px;height:32px;border-radius:var(--border-radius);background:var(--gray-900);color:var(--gray-50);display:grid;place-items:center;font-weight:600;font-size:15px;flex-shrink:0}
.title-container{display:flex;flex-direction:column;min-width:0}
.header-title{font-weight:500;line-height:1.2;color:var(--heading-color)}
.header-subtitle{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-items{display:flex;flex-direction:column;gap:2px}
.sidebar-section-label{font-size:12px;color:var(--text-light);padding:12px 8px 4px}
.standard-sidebar-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--border-radius);font-size:13px;color:var(--text-color)}
.standard-sidebar-item .icon{stroke:var(--text-muted)}
.standard-sidebar-item:not(.active-sidebar):hover{background:var(--sidebar-hover-color)}
.standard-sidebar-item.active-sidebar{background:var(--sidebar-active-color);box-shadow:var(--shadow-sm);font-weight:500;color:var(--heading-color)}
.sidebar-item-suffix{margin-left:auto;font-size:12px;color:var(--text-light);letter-spacing:.02em}
.body-sidebar-bottom{margin-top:auto}
.sidebar-user-button{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--border-radius)}
.sidebar-user-button>div{display:flex;flex-direction:column;min-width:0}
.sidebar-user-button strong{font-size:13px;font-weight:500;color:var(--heading-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-button small{font-size:12px;color:var(--text-muted)}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--gray-200);color:var(--gray-700);display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0;overflow:hidden}
.main-section{flex:1;min-width:0;display:flex;flex-direction:column}

/* Page head: breadcrumb + title on the left, view-specific actions on the right. */
.page-head{position:sticky;top:0;z-index:1010;background:var(--bg-color);border-bottom:1px solid var(--border-color)}
.page-head-content{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:10px 20px;max-width:1400px;margin:0 auto}
.page-title{display:flex;align-items:center;gap:8px;min-width:0}
.navbar-breadcrumbs{display:flex;align-items:center;list-style:none;margin:0;padding:0;font-size:16px;font-weight:500;color:var(--text-muted);white-space:nowrap}
.navbar-breadcrumbs li{display:flex;align-items:center}
.navbar-breadcrumbs li::after{content:"/";margin:0 6px;color:var(--gray-400)}
.navbar-breadcrumbs a{display:flex;align-items:center;color:var(--text-muted)}
.navbar-breadcrumbs a:hover{color:var(--heading-color)}
.title-text{font-size:16px;font-weight:500;color:var(--heading-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.page-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:20px}

/* Buttons */
button,.btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:4px 10px;border:0;border-radius:var(--border-radius);background:var(--btn-default-bg);color:var(--text-color);font-size:14px;font-weight:420;white-space:nowrap;cursor:pointer;box-shadow:none}
button:hover,.btn:hover{background:var(--btn-default-hover-bg)}
button:disabled{opacity:.5;cursor:default}button:disabled:hover{background:var(--btn-default-bg)}
.btn-primary,button.primary,.button.primary{background:var(--btn-primary);color:var(--btn-primary-text);font-weight:500}
.btn-primary .icon,button.primary .icon{stroke:var(--btn-primary-text)}
.btn-primary:hover,button.primary:hover{background:var(--btn-primary);opacity:.9}
.btn-primary:disabled:hover,button.primary:disabled:hover{background:var(--btn-primary);opacity:.5}
.btn-danger{background:var(--red-500);color:#fff;font-weight:500}.btn-danger .icon{stroke:#fff}.btn-danger:hover{background:var(--red-600)}
.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--btn-default-hover-bg)}
.icon-btn{width:28px;padding:0}
.btn-sm{font-size:13px}
.link-button{background:none;height:auto;padding:4px 0;color:var(--text-muted);font-size:13px}.link-button:hover{background:none;color:var(--heading-color);text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--focus-default)}

/* Controls: borderless gray boxes; selects carry Frappe's select chevron. */
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;font-size:14px;width:100%;min-height:30px;padding:5px 8px;border:1px solid transparent;border-radius:var(--border-radius);background:var(--control-bg);color:var(--text-color);outline:none}
textarea{min-height:80px;line-height:1.5;resize:vertical}
select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 8px center;background-size:12px;cursor:pointer}
input:focus,select:focus,textarea:focus{background-color:var(--bg-color);border-color:var(--gray-300);box-shadow:var(--focus-default)}
input:disabled,select:disabled,textarea:disabled{background-color:var(--subtle-accent);color:var(--text-light);cursor:default}
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;flex-shrink:0;border:1px solid var(--gray-500);border-radius:var(--border-radius-tiny);background:var(--bg-color) center/57% no-repeat;cursor:pointer}
input[type=checkbox]:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 8 7' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1 4.00001L2.66667 5.80001L7 1.20001' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
input[type=checkbox]:disabled{opacity:.5;cursor:default}
input[type=file]{font:inherit;font-size:13px;color:var(--text-muted)}
input[type=file]::file-selector-button{font:inherit;font-size:13px;height:28px;padding:0 10px;margin-right:10px;border:0;border-radius:var(--border-radius);background:var(--btn-default-bg);color:var(--text-color);cursor:pointer}
label,.control-label{font-size:13px;color:var(--text-muted)}
.frappe-control,.field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.frappe-control:last-child,.field:last-child{margin-bottom:0}
.field small,.help-box,.field-help,.help{font-size:12px;line-height:1.45;color:var(--text-light)}
.checkbox-control{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px;color:var(--text-color)}
.text-danger{color:var(--red-500)}
.text-muted{color:var(--text-muted)}

/* Indicator pills: pastel background, coloured text, 6px dot. `.badge` is the legacy alias. */
.indicator-pill,.badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:var(--border-radius-full);font-size:12px;font-weight:420;white-space:nowrap;background:var(--bg-gray);color:var(--text-on-gray)}
.indicator-pill::before,.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.indicator-pill:empty,.badge:empty{display:none}
.indicator-pill.no-indicator-dot::before,.badge.no-indicator-dot::before{display:none}
.indicator-pill.green,.badge{background:var(--bg-green);color:var(--text-on-green)}
.indicator-pill.blue{background:var(--bg-blue);color:var(--text-on-blue)}
.indicator-pill.orange,.badge.pending{background:var(--bg-orange);color:var(--text-on-orange)}
.indicator-pill.red{background:var(--bg-red);color:var(--text-on-red)}
.indicator-pill.yellow{background:var(--bg-yellow);color:var(--text-on-yellow)}
.indicator-pill.gray{background:var(--bg-gray);color:var(--text-on-gray)}

/* Dropdown menus use <details> so they need no script. */
.dropdown{position:relative}
.dropdown>summary{list-style:none}.dropdown>summary::-webkit-details-marker{display:none}
.dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:220px;padding:4px;background:var(--popover-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);z-index:1050;display:flex;flex-direction:column;gap:2px}
.dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--border-radius);font-size:13px;color:var(--text-color)}
a.dropdown-item:hover{background:var(--highlight-color)}
.dropdown-item select{min-height:26px;padding:2px 26px 2px 8px;font-size:13px;width:auto;margin-left:auto}
.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}

/* Workspace widgets */
.widget-group{margin-bottom:30px}
.widget-group-title{font-size:16px;font-weight:600;color:var(--heading-color);margin-bottom:15px}
.grid-col-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px}
.grid-col-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.widget{padding:12px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);min-width:0}
.widget-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.widget-title{font-size:14px;font-weight:500;color:var(--heading-color)}
.widget-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px}
.number-widget-box{min-height:84px}
.number-widget-box .widget-title{font-size:13px;font-weight:500;color:var(--text-muted)}
.number-widget-box .number{padding-top:12px;font-size:20px;font-weight:600;line-height:1.15;color:var(--text-color)}
.number-widget-box:hover,.dashboard-widget-box:hover{box-shadow:var(--shadow-base)}
.shortcut-widget-box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.shortcut-widget-box .widget-title{font-size:16px;font-weight:420}
.shortcut-widget-box:hover{border-color:var(--invert-neutral)}
.links-widget-box{padding:10px 12px}
.link-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--text-color);padding:6px 4px;margin:0 -4px;border-radius:var(--border-radius-md)}
.link-item:first-of-type{margin-top:8px}
.link-item small{display:block;font-size:12px;color:var(--text-muted)}
.connection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-color)}
.connection-row:last-child{border-bottom:0}
.connection-row strong{display:block;font-size:13px;font-weight:500;color:var(--heading-color)}
.connection-row small{font-size:12px;color:var(--text-muted)}
.workspace-intro{font-size:13px;color:var(--text-muted);margin:-6px 0 20px}

/* Form view */
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}
.form-page{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);min-width:0}
.form-section{padding:16px 20px;border-top:1px solid var(--border-color)}
.form-section:first-child{border-top:0}
.section-head{font-size:14px;font-weight:600;color:var(--heading-color);margin-bottom:4px}
.section-description{font-size:13px;color:var(--text-muted);margin-bottom:16px}
.section-body.two-col,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.form-message{padding:8px 12px;margin-bottom:16px;border-radius:var(--border-radius);font-size:13px;background:var(--bg-blue);color:var(--text-on-blue)}
.form-message:empty{display:none}
.form-message.error,.notice.error{background:var(--bg-red);color:var(--text-on-red)}
.form-message.green{background:var(--bg-green);color:var(--text-on-green)}
.form-sidebar{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px;font-size:13px}
.sidebar-image-section{display:flex;flex-direction:column;gap:10px}
.sidebar-image{width:100%;aspect-ratio:16/9;border-radius:var(--border-radius-lg);object-fit:cover;background:var(--control-bg)}
.sidebar-standard-image{width:100%;aspect-ratio:16/9;border-radius:var(--border-radius-lg);background:var(--control-bg);display:grid;place-items:center;font-size:40px;font-weight:600;color:var(--text-light)}
.sidebar-title{font-size:14px;font-weight:600;color:var(--heading-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-section{padding-top:12px;border-top:1px solid var(--border-color);color:var(--text-muted);line-height:1.45}
.sidebar-section a{color:var(--text-color);display:inline-flex;align-items:center;gap:6px;margin-top:6px}
.sidebar-section a:hover{text-decoration:underline}
.key-label{display:flex!important;align-items:center;justify-content:space-between;gap:10px}
.key-actions{display:flex!important;align-items:center;gap:8px;font-size:12px!important;color:var(--text-muted)}

/* Alerts and empty states */
.notice{font-size:13px;color:var(--text-muted)}
.notice:empty{display:none}
#notice{padding:8px 12px;margin-bottom:16px;border-radius:var(--border-radius);background:var(--bg-blue);color:var(--text-on-blue);font-size:13px}
#notice.error{background:var(--bg-red);color:var(--text-on-red)}
.no-result{padding:60px 20px;text-align:center;color:var(--text-muted)}
.no-result .icon{width:40px;height:40px;stroke:var(--gray-400);margin-bottom:12px}
.no-result-message{font-size:14px;margin-bottom:16px}

/* Rehearsal studio (operator controls below the room) */
.studio-sections{display:flex;flex-direction:column;gap:20px;margin-top:20px}
.studio-sections>section{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:16px 20px;background:var(--card-bg)}
.studio-sections h2{font-size:14px;font-weight:600;margin-bottom:4px}
.studio-sections section>p{font-size:13px;color:var(--text-muted);margin-bottom:12px}
.studio-sections form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.studio-sections form>button{align-self:flex-start}
.input-row{display:flex;gap:8px}.input-row input{flex:1;min-width:0}
.transport{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
#agent-state,#meeting-state,#meeting-audio-state{font-size:13px;color:var(--text-muted);margin-top:8px}
#agent-log{max-height:260px;overflow:auto;font-size:13px}
#agent-log:not(:empty){margin-top:12px;border-top:1px solid var(--border-color);padding-top:8px}
.page-footer{font-size:12px;color:var(--text-light);margin-top:20px;line-height:1.5}

/* Meeting room: a Frappe card holding the shared screen, captions and call controls. */
.local-room{position:relative;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);padding:12px}
.room-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 12px}
.room-heading .eyebrow{font-size:12px;color:var(--text-muted);margin:0 0 2px}
.room-heading h2{font-size:14px;font-weight:600}
.room-session-meta{display:flex;align-items:center;gap:10px}
#room-clock{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.room-settings{width:28px;padding:0}
.room-screen{position:relative;aspect-ratio:16/9;max-height:calc(100dvh - 330px);min-height:220px;background:var(--screen-bg);border-radius:var(--border-radius);overflow:hidden;display:grid;place-items:center}
.room-screen #live-preview,.room-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.room-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;text-align:center;color:#ebeae8}
.room-placeholder strong{font-size:14px;font-weight:500;color:#fff}
.room-placeholder p{font-size:13px;color:#9c9a98}
.room-orb{width:48px;height:48px;border-radius:var(--border-radius-lg);background:#383635;color:#faf8f7;display:grid;place-items:center;font-size:22px;font-weight:600;margin-bottom:4px}
.room-screen-label{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;max-width:90%;padding:2px 8px;border-radius:var(--border-radius-full);background:rgba(23,21,20,.8);color:#ebeae8;font-size:12px}
.live-dot{width:6px;height:6px;border-radius:50%;background:#59ba8b;flex-shrink:0}
.room-screen[data-live=false] .live-dot{background:#9c9a98}
.room-caption-area{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:84px;justify-content:center;padding:12px 8%;text-align:center}
#room-speaker{font-size:12px;font-weight:500;color:var(--text-muted)}
.room-caption{font-size:16px;line-height:1.55;color:var(--heading-color);max-height:100px;overflow:auto;white-space:pre-wrap;margin:0}
.room-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--border-color)}
.room-controls button{width:36px;height:36px;padding:0;position:relative}
.room-controls button .icon{width:18px;height:18px}
.room-controls [aria-pressed=true]{background:var(--gray-800);color:#fff}.room-controls [aria-pressed=true] .icon{stroke:#fff}
.room-controls .end-call{background:var(--red-500)}.room-controls .end-call .icon{stroke:#fff}.room-controls .end-call:hover{background:var(--red-600)}
.room-controls .end-call:disabled:hover{background:var(--red-500)}
.icon-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.room-participants{display:flex;justify-content:space-between;gap:16px;padding:10px 4px 0;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-muted)}
.room-participants>span{display:flex;align-items:center;gap:6px;min-width:0}
.room-participants strong{font-weight:500;color:var(--heading-color)}
#mic-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}
.participant-avatar{width:22px;height:22px;border-radius:50%;background:var(--gray-900);color:var(--gray-50);display:grid;place-items:center;font-size:11px;font-weight:600}
.is-speaking .participant-avatar{box-shadow:0 0 0 2px #5bb98c}
.room-hint{font-size:12px;color:var(--text-light);padding:8px 4px 0}
#recording-status{font-size:12px;color:var(--text-muted)}#recording-status:empty{display:none}
.room-chat{display:flex;flex-direction:column;min-height:240px;margin-top:12px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);overflow:hidden}
.room-chat-heading{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:13px}
.room-chat-heading strong{font-weight:600;color:var(--heading-color)}
.room-chat-heading span{font-size:12px;color:var(--text-muted)}
#room-chat-history{flex:1;overflow:auto;min-height:140px;max-height:320px;padding:4px 12px}
#room-chat-form{display:flex;gap:8px;padding:8px;border-top:1px solid var(--border-color)}
#room-chat-input{flex:1;min-width:0}
#room-chat-form button{width:30px;height:30px;padding:0}
.room-tweak{position:absolute;right:12px;top:48px;z-index:1050;display:flex;flex-direction:column;gap:8px;width:280px;padding:12px;background:var(--popover-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);font-size:13px}
.room-tweak label{display:flex;align-items:center;gap:8px;color:var(--text-color)}
.local-room[data-density=compact] .room-caption-area{min-height:56px;padding:6px 5%}
.local-room[data-density=compact] .room-caption{font-size:14px}
.local-room[data-density=compact] .room-controls{padding:8px 0}
.local-room.expanded{position:fixed;inset:0;z-index:1100;border-radius:0;border:0;padding:12px 20px;display:flex;flex-direction:column;overflow:hidden}
.local-room.expanded .room-screen{flex:1;max-height:none;aspect-ratio:auto;min-height:120px}
.local-room.expanded .room-hint{display:none}
.local-room.expanded .room-caption-area,.local-room.expanded .room-controls,.local-room.expanded .room-participants{flex-shrink:0}
.local-room.expanded.chat-open{padding-right:356px}
.local-room.expanded .room-chat{position:absolute;right:20px;top:64px;bottom:20px;width:320px;margin:0}
.local-room.expanded #room-chat-history{max-height:none}

/* Speaker identity in live and saved transcripts. */
.transcript-entry{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-color)}
.transcript-entry:last-child{border-bottom:0}
.speaker-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--gray-200);color:var(--gray-700);font-size:11px;font-weight:600;overflow:hidden}
.speaker-avatar-nora{background:var(--gray-900);color:var(--gray-50)}
.speaker-avatar img{width:100%;height:100%;object-fit:cover}
.transcript-content{min-width:0;flex:1}
.transcript-heading{display:flex;align-items:baseline;gap:8px}
.transcript-heading strong{font-size:13px;font-weight:500;color:var(--heading-color)}
.transcript-heading time{font-size:12px;color:var(--text-light)}
.transcript-content p{font-size:13px;line-height:1.55;margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}

/* Compact density (Overview and Settings ⋯ menu). */
body.compact .page-body{padding-top:12px}
body.compact .widget-group{margin-bottom:18px}
body.compact .form-section{padding:10px 20px}
body.compact .field,body.compact .frappe-control{margin-bottom:10px}
body.compact .section-description{margin-bottom:10px}

@media(max-width:1000px){.form-layout{grid-template-columns:1fr}.form-sidebar{position:static}.grid-col-2{grid-template-columns:1fr}}
@media(max-width:760px){
 .desk{display:block}
 .body-sidebar{position:static;height:auto;width:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;border-right:0;border-bottom:1px solid var(--border-color)}
 .sidebar-header .title-container,.body-sidebar-bottom,.sidebar-section-label{display:none}
 .sidebar-items{flex-direction:row}
 .page-head-content{padding:10px 16px;flex-wrap:wrap}
 .page-body{padding:16px}
 .two-col,.section-body.two-col{grid-template-columns:1fr}
 .room-participants{flex-direction:column;gap:8px}
 .local-room.expanded.chat-open{padding-right:20px}
 .local-room.expanded .room-chat{left:12px;right:12px;width:auto;top:64px;bottom:110px;z-index:2}
}
