.session-actions.director-corner { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; width:420px; max-width:100%; margin-left:auto; flex:none; }
.director-corner-bottom { grid-column:1 / -1; justify-self:end; width:210px; }
.director-corner-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; justify-items:center; gap:12px; }
.director-corner-top,.director-corner-middle { display:contents; }
.director-corner .director-corner-row > button,.director-corner .director-corner-row > details > summary { box-sizing:border-box; width:54px; height:54px; padding:0; display:grid; place-items:center; border-radius:50%; }
.director-corner .director-corner-row svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.director-corner .director-corner-top summary { background:var(--brick); color:white; border:1px solid var(--brick); }
.director-corner .director-corner-middle button { background:var(--blush); color:var(--berry); border:1px solid #cf8e90; }
.director-corner .director-corner-bottom #auth-sign-out { width:72px; height:44px; border-radius:12px; font-size:11px; background:var(--surface); color:var(--fg); }
.director-corner .director-presence { position:relative; background:var(--blush); color:var(--berry); border:3px solid var(--presence-color,#b7aaa6); isolation:isolate; font-weight:800; }
.director-presence img { position:absolute; inset:0; display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; border-radius:50%; }
.director-presence[data-status='busy'] { --presence-color:#d6a11a; }
.director-presence[data-status='open'] { --presence-color:#4b9a51; }
.director-presence[data-status='offline'] { --presence-color:#c34548; }
.director-presence[data-status]::after { content:''; position:absolute; inset:-4px; border-radius:50%; box-shadow:0 0 7px 3px var(--presence-color); animation:director-presence-pulse 2.4s ease-in-out infinite; pointer-events:none; }
@keyframes director-presence-pulse { 0%,100% { opacity:.35; transform:scale(.98); } 50% { opacity:.85; transform:scale(1.08); } }
@media(prefers-reduced-motion:reduce) { .director-presence[data-status]::after { animation:none; opacity:.5; } }
.director-status-dialog { width:min(340px,calc(100vw - 32px)); box-sizing:border-box; border:1px solid var(--border); border-radius:22px; padding:20px; background:var(--surface); color:var(--fg); }
.director-status-dialog::backdrop { background:#30202055; }
.director-status-dialog h2 { margin:0 0 14px; font-size:22px; }
.director-status-options { display:grid; gap:10px; }
.session-strip .director-status-options button { display:flex; align-items:center; gap:10px; width:100%; min-height:46px; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:white; color:var(--fg); }
.director-status-options i { width:14px; height:14px; border-radius:50%; background:var(--dot); }
.director-status-options button[aria-pressed=true] { outline:2px solid var(--berry); }
.director-status-note { font-size:12px; min-height:18px; }
.director-corner .teacher-notification-panel { position:fixed; top:150px; right:16px; width:min(380px,calc(100vw - 32px)); z-index:1500; max-height:65vh; overflow:auto; }
@media(max-width:640px) {
 .session-actions.director-corner { width:100%; gap:10px 6px; }
 .director-corner-bottom { width:200px; gap:8px; }
 .director-corner .director-corner-row > button,.director-corner .director-corner-row > details > summary { width:44px; height:44px; }
 .session-strip { position:relative; align-items:flex-start; }
 .session-strip .session-brand { position:absolute; left:12px; bottom:12px; margin:0; }
 .director-corner .director-corner-row svg { width:22px; height:22px; }
}

/* Availability sits below the divider separating it from the six controls. */
.session-strip:has(.director-corner-footer) { flex-wrap:wrap; border-bottom:0; row-gap:12px; }
.director-corner-footer { flex:0 0 100%; display:flex; justify-content:flex-end; box-sizing:border-box; border-top:1px solid var(--border); padding-top:12px; }
@media(max-width:640px) {
 .session-strip:has(.director-corner-footer) .session-brand { bottom:18px; }
}

.director-corner .director-corner-row .director-magic-artwork { width:54px; height:54px; padding:0; border:0; background:transparent; overflow:hidden; }
.director-magic-artwork img { display:block; width:100%; height:100%; object-fit:contain; border-radius:50%; }

/* Text notifications are cards; only the toolbar controls are circles. */
.director-corner .teacher-notification-panel { box-sizing:border-box; }
.director-corner [data-magic-submissions],.director-corner [data-boutique-pending] { display:grid; gap:8px; margin-top:10px; }
.director-corner .teacher-notification-panel button.notification-item { box-sizing:border-box; display:block; height:auto; min-height:44px; padding:12px; border-radius:11px; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }

@media(max-width:640px) { .director-corner .director-corner-row .director-magic-artwork { width:44px; height:44px; } }

.director-corner .director-corner-top [data-director-category="magic"] > summary { background:var(--blush); color:var(--berry); border-color:#cf8e90; }
.director-corner .director-corner-middle > .director-task-shortcut { background:var(--sage,#c6d2b6); color:#354730; border-color:#a5b294; }
.director-corner .director-corner-middle > .director-settings-shortcut { background:#000; color:#fff; border-color:#000; }

.director-corner .director-corner-middle > .director-message-shortcut { background:#f7e5ca; color:var(--gold); border-color:var(--gold); }

.teacher-notification-panel .notification-panel-head { display:grid; grid-template-columns:minmax(0,1fr) 32px; align-items:start; gap:8px; }
.teacher-notification-panel .notification-panel-head strong { grid-column:1; grid-row:1; align-self:center; }
.teacher-notification-panel .notification-mark-all { grid-column:1; grid-row:2; justify-self:start; padding:8px 12px; min-height:36px; border:1px solid var(--berry); border-radius:10px; background:var(--blush); color:var(--berry); font-weight:700; }
.teacher-notification-panel .notification-popup-close { grid-column:2; grid-row:1; display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:var(--blush); color:var(--berry); font-size:24px; line-height:1; cursor:pointer; }
