:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182b39;background:#f4f7f8}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#102c38;color:#e6f0f1;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 34px}.brand strong{font-size:14px;display:block}.brand small{display:block;color:#9eb6be;margin-top:3px}.mark{background:#2d7f79;color:white;border-radius:10px;padding:12px;font-weight:800}.nav{display:grid;gap:7px}.nav button{background:transparent;border:0;color:#c0d2d8;text-align:left;padding:13px 16px;border-radius:9px;font-size:14px;cursor:pointer}.nav button:hover,.nav button.active{background:#22505a;color:white}.sidefoot{margin-top:auto;padding:20px 12px;font-size:12px;color:#bdd2d7;line-height:1.8}.sidefoot small{color:#8eacb5}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5cd5b6;margin-right:7px}.main{width:calc(100% - 252px);max-width:1450px;margin:auto;padding:36px 48px}header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.eyebrow{color:#2a7c78;font-size:11px;letter-spacing:.16em;font-weight:800}h1{font-size:31px;letter-spacing:-.03em;margin:8px 0}header p{margin:0;color:#69808b}.header-right{display:flex;align-items:center;gap:16px;color:#647a85;font-size:13px}.pill{border:1px solid #bddcd4;color:#2a7972;background:#e9f6f1;padding:8px 10px;border-radius:30px;font-size:10px;font-weight:800;letter-spacing:.1em}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #e0e9ec;border-radius:14px;padding:22px;box-shadow:0 2px 8px #19344005}.stat .number{font-size:34px;font-weight:750;margin-top:10px}.muted{color:#728893}.small{font-size:12px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:28px 0 13px}.sectionhead h2{margin:0;font-size:19px}.primary{background:#176b69;color:white;border:0;padding:11px 17px;border-radius:9px;cursor:pointer;font-weight:650}.secondary{background:#e8eff1;color:#26424f;border:0;padding:11px 17px;border-radius:9px;cursor:pointer}.item{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:16px 0;border-bottom:1px solid #eef2f3}.item:last-child{border:0}.item strong{display:block;font-size:14px}.item p{margin:6px 0 0;color:#72838b;font-size:13px;line-height:1.5}.tag{display:inline-block;font-size:11px;border-radius:20px;padding:5px 9px;background:#edf3f4;color:#46606b;white-space:nowrap}.tag.critical,.tag.high{background:#fff0e9;color:#a44e2e}.tag.approved,.tag.done{background:#e8f5ee;color:#27734e}.tag.proposed{background:#fff5dd;color:#8b6a1c}.tablewrap{overflow:auto;background:#fff;border:1px solid #e0e9ec;border-radius:14px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f8fafb;color:#687f88;font-size:11px;letter-spacing:.05em;text-transform:uppercase}td,th{padding:16px;border-bottom:1px solid #eaf0f2}tr:last-child td{border:0}.linkbutton{border:0;background:transparent;color:#176b69;cursor:pointer;font-weight:700;padding:5px}select{border:1px solid #d4e1e5;border-radius:7px;padding:7px;background:white;color:#263d47}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.banner{background:#fff2e9;color:#904721;border:1px solid #f4c9ad;padding:14px 18px;border-radius:10px;margin-bottom:18px}.hidden{display:none}.empty{padding:30px;color:#7b8c94;text-align:center}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 25px 90px #0b263e40;width:min(620px,94vw)}dialog::backdrop{background:#0a1f2c99}#editor{padding:24px}.modalhead{display:flex;justify-content:space-between;align-items:center}.modalhead h2{margin:0 0 15px}.modalhead button{border:0;background:none;font-size:28px;cursor:pointer}label{display:block;font-size:12px;font-weight:700;color:#4d6470;margin:13px 0 5px}input,textarea,#fields select{width:100%;border:1px solid #d7e1e5;border-radius:8px;padding:11px;font:inherit}textarea{min-height:100px;resize:vertical}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}footer{font-size:11px;color:#94a5ac;margin:40px 0 12px}@media(max-width:900px){.sidebar{width:195px}.main{width:calc(100% - 195px);padding:25px}.grid,.split{grid-template-columns:1fr}.header-right{display:none}}@media(max-width:600px){.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:12px}.brand{padding:0 8px 10px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.sidefoot{display:none}.main{width:100%;padding:20px}h1{font-size:25px}}

.taskfilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 20px;background:white;border:1px solid #e0e9ec;border-radius:12px}.taskfilters label{margin:0}.taskfilters select{display:block;width:100%;margin-top:7px;padding:10px}.tasktitle{text-align:left;font-size:13px;padding:0 0 5px}.tasktitle:hover{text-decoration:underline}.tasktitle:focus-visible{outline:2px solid #176b69;outline-offset:3px}@media(max-width:750px){.taskfilters{grid-template-columns:1fr}}

.login-screen{position:fixed;inset:0;background:#102c38ed;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.login-screen.hidden{display:none}.login-card{background:#fff;border-radius:16px;padding:30px;width:min(430px,100%);box-shadow:0 20px 70px #0004}.login-card h2{margin-top:0}.login-card p{font-size:13px;color:#647a85}.login-card input{width:100%;border:1px solid #d7e1e5;border-radius:8px;padding:12px}.login-card .primary{margin-top:15px;width:100%}.login-error{color:#a33!important;min-height:1.2em}#signed-in-user{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.access-panel{margin-top:24px;padding:22px;background:#f6f9fa;border:1px solid #dbe6e9;border-radius:14px}.access-panel h3{margin:24px 0 12px;font-size:15px}.access-add{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.access-add label{flex-basis:100%;margin:0}.access-add select{flex:1;min-width:220px;min-height:42px}.access-notice{padding:10px 14px;border-radius:8px;background:#e5f3f1;color:#155c57;font-size:13px}.access-panel button:disabled,.access-panel select:disabled{opacity:.55;cursor:not-allowed}


/* Review dialog styles are in this stylesheet rather than a JS-injected style
   element so they work with the application's Content Security Policy. */
#kd-review-dialog{width:min(900px,calc(100vw - 48px));max-width:900px;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #d4dee2;border-radius:14px;box-shadow:0 20px 65px #0004;color:#173042;overflow:hidden}
#kd-review-dialog::backdrop{background:#14252e99}
#kd-review-dialog #kd-review-form{display:flex;flex-direction:column;max-height:calc(100dvh - 50px);min-height:0}
#kd-review-dialog .kd-review-body{padding:28px 32px 32px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#kd-review-dialog h2{margin:0 0 12px;font-size:24px}
#kd-review-dialog h3{margin:22px 0 8px;font-size:17px}
#kd-review-dialog .kd-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
#kd-review-dialog label{display:block;font-size:13px;font-weight:700;margin:20px 0 8px;color:#36505d}
#kd-review-dialog input,#kd-review-dialog textarea{box-sizing:border-box;width:100%;padding:12px;font:inherit;border:1px solid #b9c9d0;border-radius:8px}
#kd-review-dialog textarea{resize:vertical;min-height:120px;line-height:1.5}
#kd-review-dialog .kd-source{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;padding:16px 18px;background:#f1f6f7;border-left:4px solid #16736d;border-radius:4px;line-height:1.5}
#kd-review-dialog .kd-review-actions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:12px;padding:16px 32px;border-top:1px solid #d4dee2;background:#fff}
#kd-review-dialog .kd-error{color:#a11b1b}
#kd-review-dialog .kd-muted{color:#526a76;font-size:.92rem;line-height:1.5}
@media(max-width:650px){#kd-review-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}#kd-review-dialog #kd-review-form{max-height:calc(100dvh - 26px)}#kd-review-dialog .kd-review-body{padding:20px 18px}#kd-review-dialog .kd-review-grid{grid-template-columns:1fr;gap:0}#kd-review-dialog .kd-review-actions{padding:14px 18px;flex-wrap:wrap}}

.kd-session-details{margin-top:12px;max-width:100%}.kd-session-details summary{cursor:pointer;color:#176b69;font-weight:600;padding:8px 0}.kd-session-details summary:focus-visible{outline:2px solid #176b69;outline-offset:3px}.kd-session-transcript{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;background:#f5f9fa;border:1px solid #dce7ea;border-radius:8px;padding:18px;margin:8px 0 12px;max-height:60vh;overflow-y:auto}

/* Review exit remains visible at the top of the scrollable dialog body. */
#kd-review-dialog .kd-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#kd-review-dialog .kd-review-heading h2{margin:0}
#kd-review-dialog .kd-review-heading button{flex-shrink:0}
@media(max-width:600px){#kd-review-dialog .kd-review-heading{align-items:flex-start}#kd-review-dialog .kd-review-heading button{padding:8px 10px}}

/* Automatic fictional teaching-session summary; individual review remains optional. */
.kd-learning-session{align-items:center}
.kd-extraction-export{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:16px 0 18px}.kd-extraction-export .muted.small{margin:0}.kd-extraction-export button{min-height:42px}
.kd-learning-buttons{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:200px}
.kd-learning-buttons .kd-session-details summary{font-size:12px}
#kd-auto-summary{width:min(960px,calc(100vw - 40px));max-width:960px;max-height:calc(100dvh - 44px);overflow:auto;border:1px solid #d3e0e4;border-radius:14px;color:#193441;padding:0}
#kd-auto-summary::backdrop{background:#152c38aa}
#kd-auto-summary .kd-auto-shell{padding:26px 32px 32px}
#kd-auto-summary .kd-auto-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
#kd-auto-summary .kd-auto-head h2{margin:0;font-size:25px}
#kd-auto-summary .kd-auto-head p{color:#667d88}
#kd-auto-summary .kd-auto-disclaimer{padding:12px 15px;background:#f0f5f7;border-left:4px solid #386c7b;line-height:1.5}
#kd-auto-summary .kd-auto-stats{display:flex;flex-wrap:wrap;gap:18px;margin:17px 0}
#kd-auto-summary .kd-auto-stats span{font-size:13px;color:#506774}
#kd-auto-summary .kd-auto-stats strong{font-size:23px;color:#173b4b}
#kd-auto-summary .kd-auto-groups{display:grid;gap:9px}
#kd-auto-summary .kd-auto-group{border:1px solid #d7e3e7;border-radius:9px;padding:14px}
#kd-auto-summary .kd-auto-group>summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px}
#kd-auto-summary .kd-auto-group>summary strong{font-size:15px}
#kd-auto-summary .kd-auto-teachings{padding:14px 3px 0;display:grid;gap:14px}
#kd-auto-summary .kd-auto-teaching{border-left:3px solid #b8d3d2;padding:4px 0 6px 14px;font-size:13px;line-height:1.55}
#kd-auto-summary .kd-auto-teaching p{margin:7px 0}
#kd-auto-summary .kd-auto-teaching details summary{cursor:pointer;color:#176b69;font-weight:650}
#kd-auto-summary .kd-auto-teaching blockquote{white-space:pre-wrap;margin:8px 0 0;padding:12px;background:#f5f8fa;overflow-wrap:anywhere}
@media(max-width:650px){.kd-learning-session{flex-direction:column}.kd-learning-buttons{align-items:flex-start;width:100%}#kd-auto-summary .kd-auto-shell{padding:18px}#kd-auto-summary .kd-auto-group>summary{display:block}}

/* Update 1.1: compact, source-grounded professional judgment synthesis. */
#kd-auto-summary .kd-synthesis-section{border:1px solid #d2e3e4;border-radius:10px;padding:15px 16px;margin:16px 0;background:#fbfdfd}
#kd-auto-summary .kd-synthesis-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#kd-auto-summary .kd-synthesis-heading h3{font-size:17px;margin:2px 0}
#kd-auto-summary .kd-synthesis-results{margin-top:10px}
#kd-auto-summary .kd-synthesis-group{margin-bottom:10px;background:#fff}
#kd-auto-summary .kd-synthesis-framework{margin:15px 0;border-left:3px solid #29847b;padding:1px 0 9px 17px}
#kd-auto-summary .kd-synthesis-framework h3{font-size:17px;color:#193b45;margin:8px 0 12px}
#kd-auto-summary .kd-synthesis-framework h4{font-size:13px;color:#345e69;margin:14px 0 8px}
#kd-auto-summary .kd-synthesis-claim{padding:7px 0;font-size:13px;line-height:1.55}
#kd-auto-summary .kd-synthesis-claim p{margin:5px 0 8px}
#kd-auto-summary .kd-synthesis-sources{font-size:12px;margin:6px 0 10px}
#kd-auto-summary .kd-synthesis-sources summary{color:#176b69;font-weight:600;cursor:pointer}
#kd-auto-summary .kd-synthesis-evidence{border-left:2px solid #b1d0d0;padding:5px 0 5px 12px;margin:8px 0}
#kd-auto-summary .kd-synthesis-evidence blockquote{background:#f3f8f8;white-space:pre-wrap;padding:9px;margin:5px 0}
#kd-auto-summary .kd-synthesis-evidence details summary{cursor:pointer}
#kd-auto-summary .kd-auto-raw{margin-top:14px;border:1px solid #d8e4e7;border-radius:9px;padding:13px;background:#f7fafb}
#kd-auto-summary .kd-auto-raw>summary{cursor:pointer;color:#205c60}
#kd-auto-summary .kd-auto-raw .kd-auto-groups{margin-top:12px}
@media(max-width:650px){#kd-auto-summary .kd-synthesis-section{padding:11px}#kd-auto-summary .kd-synthesis-framework{padding-left:12px}}

/* Update 1.1 readability: normal browser zoom must be usable for senior attorneys.
   Keep evidence and qualifications legible; do not shrink text to fit more
   extracted material into a single screenshot. */
#kd-auto-summary{
  width:min(1080px,calc(100vw - 32px));
  max-width:1080px;
  font-size:16px;
  line-height:1.65;
}
#kd-auto-summary .kd-auto-head h2{font-size:27px}
#kd-auto-summary .kd-auto-head p{font-size:16px;line-height:1.55}
#kd-auto-summary .kd-auto-disclaimer{font-size:16px;line-height:1.65}
#kd-auto-summary .muted.small{font-size:15px;line-height:1.55;color:#48616d}
#kd-auto-summary .kd-auto-stats span{font-size:15px;line-height:1.65;color:#435d69}
#kd-auto-summary .kd-auto-stats strong{font-size:24px}
#kd-auto-summary .kd-synthesis-heading h3{font-size:20px}
#kd-auto-summary .kd-auto-group>summary{
  min-height:44px;
  align-items:center;
  padding:8px 0;
  font-size:16px;
  line-height:1.5;
}
#kd-auto-summary .kd-auto-group>summary strong{font-size:17px}
#kd-auto-summary .kd-synthesis-framework{margin:19px 0;padding-left:19px}
#kd-auto-summary .kd-synthesis-framework h3{font-size:20px;line-height:1.4;margin:12px 0 16px}
#kd-auto-summary .kd-synthesis-framework h4{font-size:17px;line-height:1.5;margin:19px 0 10px}
#kd-auto-summary .kd-synthesis-claim{font-size:17px;line-height:1.68;padding:11px 0}
#kd-auto-summary .kd-synthesis-claim b{font-size:16px}
#kd-auto-summary .kd-synthesis-claim p{font-size:17px;line-height:1.65;margin:7px 0 12px}
#kd-auto-summary .kd-synthesis-sources{font-size:15px;line-height:1.5;margin:8px 0 13px}
#kd-auto-summary .kd-synthesis-sources>summary{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:6px 0;
}
#kd-auto-summary .kd-synthesis-evidence{font-size:16px;line-height:1.6}
#kd-auto-summary .kd-synthesis-evidence blockquote{font-size:16px;line-height:1.65;padding:14px;overflow-wrap:anywhere}
#kd-auto-summary .kd-synthesis-evidence details summary{font-size:15px;min-height:40px;padding:7px 0}
#kd-auto-summary .kd-auto-teaching{font-size:16px;line-height:1.65}
#kd-auto-summary .kd-auto-teaching blockquote{font-size:16px;line-height:1.65}
#kd-auto-summary .kd-auto-raw>summary{font-size:17px;min-height:44px;padding:8px 0}
#kd-auto-summary button{font-size:15px;min-height:44px}
#kd-auto-summary summary:focus-visible,
#kd-auto-summary button:focus-visible{outline:3px solid #176b69;outline-offset:3px}
@media(max-width:650px){
  #kd-auto-summary{width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}
  #kd-auto-summary .kd-auto-shell{padding:18px}
  #kd-auto-summary .kd-synthesis-section{padding:13px}
  #kd-auto-summary .kd-synthesis-framework{padding-left:12px}
  #kd-auto-summary .kd-synthesis-claim{font-size:16px}
  #kd-auto-summary .kd-synthesis-claim p{font-size:16px}
}

/* Fictional conversational reasoning laboratory - readable at ordinary zoom. */
.kd-reason-notice{background:#f1f6f7;border-left:4px solid #307971;padding:13px 17px;color:#294d57;line-height:1.6;font-size:15px;margin:13px 0 18px}
.kd-reason-actions{display:flex;flex-wrap:wrap;gap:12px;margin:11px 0 15px}
.kd-reason-actions button{font-size:15px;min-height:44px}
.kd-reason-history{display:grid;gap:18px;margin:16px 0}
.kd-reason-turn{border:1px solid #d5e3e6;border-radius:12px;padding:21px 24px;line-height:1.65;font-size:16px;background:#fff}
.kd-reason-turn h3{font-size:18px;color:#1c454f;line-height:1.4;margin:18px 0 8px}
.kd-reason-turn p{font-size:16px;line-height:1.65;margin:10px 0}
.kd-reason-user{padding:12px 15px;background:#f3f6f7;border-radius:8px;overflow-wrap:anywhere}
.kd-reason-disclaimer{color:#405f69;font-size:14px!important;border-left:3px solid #3a9183;padding-left:12px}
.kd-reason-turn ul{padding-left:25px;margin:10px 0}
.kd-reason-turn li{padding:4px 0}
.kd-reason-claim{border-left:3px solid #bfd6d8;padding:3px 0 8px 15px;margin:10px 0}
.kd-reason-claim p{margin:4px 0 6px}
.kd-reason-claim .small{font-size:14px;color:#406575}
.kd-reason-question{border-radius:9px;background:#eef6f4;padding:13px 17px;margin-top:16px}
.kd-reason-question b{color:#145b59}
.kd-reason-limits{border-left:3px solid #c1ab72;padding-left:13px;color:#4c5b61}
.kd-reason-sources{border:1px solid #dde8ea;border-radius:8px;padding:12px 15px;margin:17px 0}
.kd-reason-sources>summary{cursor:pointer;font-weight:700;color:#176b69;font-size:15px;padding:9px 0;min-height:42px}
.kd-reason-source{border-top:1px solid #e8eeee;margin:10px 0;padding:13px 0}
.kd-reason-source strong{display:block;font-size:16px}
.kd-reason-source blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;background:#f3f8f8;padding:12px;font-size:16px;line-height:1.6}
.kd-reason-source .small{font-size:14px}
#kd-ask-mode{font-size:16px;padding:12px;min-height:46px;max-width:620px;width:100%;display:block}
#kd-ask{font-size:16px;min-height:100px}
@media(max-width:650px){.kd-reason-turn{padding:15px}.kd-reason-turn h3{font-size:17px}.kd-reason-turn p{font-size:16px}}

/* Error reports belong beside the question, never below the knowledge library. */
.kd-reason-feedback:empty{display:none}
.kd-reason-feedback:not(:empty){display:block;margin:12px 0 4px;padding:14px 16px;
  border-left:4px solid #ab553c;border-radius:5px;background:#fff3ee;
  color:#793926;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.kd-reason-limit-note{margin:12px 0;padding:11px 14px;background:#f8f5ec;
  border-left:3px solid #998044;color:#5b512e;font-size:15px;line-height:1.6}

/* After each fictional reasoning turn, position the newest answer above the fold.
   Focus also reaches it for keyboard users instead of the textarea below it. */
#kd-latest-response{scroll-margin-top:24px}
#kd-latest-response:focus-visible{outline:3px solid #23776d;outline-offset:3px}

/* Individual reasoning-claim evidence checks can be incomplete without
   invalidating the client's question. Make the verification state visible. */
.kd-reason-verification{
  margin:14px 0 16px;padding:14px 17px;
  border-left:4px solid #967b39;border-radius:6px;
  background:#faf6e9;color:#514629;
  font-size:16px;line-height:1.6;
}
.kd-reason-verification .small{display:inline;font-size:13px;color:#655b40}

/* Saved fictional reasoning conversations: readable, restrained chronology. */
.kd-saved-conversations{display:grid;gap:10px}
.kd-saved-conversations select{max-width:100%;font-size:15px;min-height:42px}
.kd-saved-facts{border:1px solid #cdd8df;border-radius:8px;padding:12px 15px;margin:5px 0 12px;background:rgba(100,125,145,.035)}
.kd-saved-facts summary{cursor:pointer;font-size:15px;font-weight:600}
.kd-fact-entry{padding:11px 4px;border-top:1px solid #dce3e8;margin-top:8px}
.kd-fact-entry p{margin:5px 0;line-height:1.55}
.kd-fact-status{display:inline-block;padding:3px 7px;border-radius:5px;font-size:12px;background:#e9edf0;color:#394b55;text-transform:capitalize}
.kd-turn-usage{border-top:1px solid #dde5ea;padding-top:9px;margin-top:13px;line-height:1.6}

/* Private fictional reasoning diagnostics, visible to authenticated admins. */
.kd-admin-audit{border:1px solid #c9d5dd;border-radius:8px;padding:12px 16px;margin:14px 0;background:rgba(100,125,145,.04)}
.kd-admin-audit summary{font-weight:650;cursor:pointer;font-size:15px}
.kd-admin-audit .kd-audit-item{padding:10px 0;border-top:1px solid #d6dfe5;line-height:1.55;overflow-wrap:anywhere}
.kd-admin-audit .kd-audit-item p{margin:5px 0}
.kd-admin-audit blockquote{border-left:3px solid #a6b7c2;padding:8px 12px;margin:9px 0;font-size:14px}

/* Administrator-only fictional benchmark export: scoped, scrollable checklist. */
.kd-benchmark-export{margin:10px 0;padding:14px;border:1px solid #d3e0e4;border-radius:10px;background:#fff}
.kd-benchmark-export summary{cursor:pointer;font-size:15px}
.kd-benchmark-export .kd-benchmark-list{max-height:300px;overflow:auto;margin:12px 0;border:1px solid #e0e8eb;border-radius:8px}
.kd-benchmark-entry{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr);align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #ebf0f2}
.kd-benchmark-entry:last-child{border-bottom:0}
.kd-benchmark-entry label{font-size:14px;margin:0;min-width:0;overflow-wrap:anywhere}
.kd-benchmark-entry input{width:auto;margin:0 7px 0 0}
.kd-benchmark-entry select{max-width:100%;font-size:13px}
@media (max-width:700px){.kd-benchmark-entry{grid-template-columns:minmax(0,1fr)}}

/* Clear, accessible microphone states for fictional teaching interviews. */
.kd-microphone-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:14px 0 10px}
.kd-microphone-controls button{min-height:52px;min-width:220px;font-size:15px;font-weight:750;transition:background-color .12s ease,border-color .12s ease}
.kd-record-start.is-recording,.kd-record-start.is-recording:disabled{background:#b42318;color:#fff;border:2px solid #8c1d18;opacity:1;cursor:default}
.kd-record-stop.is-next,.kd-record-stop.is-next:enabled{background:#078542;color:#fff;border:2px solid #066d37;box-shadow:0 0 0 3px #bce6c9;opacity:1;font-weight:800}
.kd-record-stop.is-next:hover{background:#056f36}
.kd-record-stop:disabled:not(.is-next){background:#e7edef;color:#6e7d83;opacity:.65;box-shadow:none;cursor:not-allowed}
.kd-record-indicator{display:flex;align-items:center;gap:10px;min-height:46px;padding:11px 14px;border:1px solid #d3dfe4;border-radius:9px;background:#f5f8f9;color:#3c515d;font-size:14px;font-weight:650;line-height:1.4;margin:4px 0 16px}
.kd-record-dot{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%;background:#8b9ba5}
.kd-record-indicator[data-phase="requesting"],.kd-record-indicator[data-phase="transcribing"]{background:#eef4fc;border-color:#afcde9;color:#254967}
.kd-record-indicator[data-phase="recording"]{background:#fff0ee;border:2px solid #b42318;color:#861a15;font-size:16px;font-weight:800}
.kd-record-indicator[data-phase="recording"] .kd-record-dot{background:#d3231e;box-shadow:0 0 0 3px #f9c9c5;animation:kd-record-pulse 1.2s ease-in-out infinite}
.kd-record-indicator[data-phase="ready"]{background:#e9f7ed;border-color:#87cfa4;color:#126535}
.kd-record-indicator[data-phase="ready"] .kd-record-dot{background:#118149}
.kd-record-indicator[data-phase="error"]{background:#fff0ee;border-color:#e4a7a3;color:#891c16}
.kd-record-indicator[data-phase="error"] .kd-record-dot{background:#c72520}
@keyframes kd-record-pulse{50%{opacity:.4;transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){.kd-record-indicator[data-phase="recording"] .kd-record-dot{animation:none}}
@media(max-width:600px){.kd-microphone-controls button{flex:1 1 100%;min-width:0}}


/* Teaching Session actions: make the next step obvious and distinguish
   browser-tab answer capture from explicitly saving the full session. */
.kd-interview-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.kd-interview-actions button{font-size:14px;font-weight:750;min-height:45px}
.kd-interview-next{background:#176b69;color:#fff}
.kd-interview-next.is-working,.kd-interview-next.is-working:disabled{
 background:#e3f2ed;color:#145d54;border:1px solid #9ecfc3;opacity:1;
 cursor:progress;display:inline-flex;align-items:center;gap:9px
}
.kd-interview-next.is-working::before{
 content:"";height:13px;width:13px;display:inline-block;flex:none;
 border-radius:50%;border:2px solid #a6cbc3;border-top-color:#176b69;
 animation:kd-next-spin 1s linear infinite
}
.kd-interview-save-session{border:1px solid #a5cbc4;color:#176b69;background:#fff}
.kd-interview-save-session:hover{background:#eff8f6}
.kd-interview-save-hint{max-width:780px;line-height:1.5;margin:8px 0 4px}
@keyframes kd-next-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.kd-interview-next.is-working::before{animation:none}}
@media(max-width:600px){.kd-interview-actions{align-items:stretch}.kd-interview-actions button{flex:1 1 100%}}


/* Teaching Session: clear optional finish path and deliberate discard control. */
.kd-action-or{display:inline-flex;align-items:center;font-size:13px;color:#526977;font-weight:550;white-space:nowrap}
.kd-discard-row{margin:10px 0 5px}
.kd-discard-trigger{border:0;background:transparent;color:#a33c35;padding:8px 0;font-weight:650;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kd-discard-trigger:hover{color:#82231c}
.kd-discard-trigger:disabled{opacity:.45;cursor:not-allowed}
#kd-discard-dialog{width:min(490px,94vw);max-width:94vw;padding:0;border:0;border-radius:17px;box-shadow:0 24px 85px #0a263f3d}
#kd-discard-dialog::backdrop{background:#0b213799}
.kd-discard-content{padding:28px 30px 26px}
.kd-discard-icon{height:39px;width:39px;display:grid;place-items:center;background:#fff0ed;color:#ae342b;font-weight:800;border-radius:50%;font-size:22px;margin-bottom:12px}
#kd-discard-heading{font-size:22px;color:#213743;line-height:1.3;margin:0 0 12px}
#kd-discard-description{color:#435965;line-height:1.6;margin:0 0 12px;font-size:14px}
.kd-discard-safe-note{background:#eef6f5;color:#245d58;padding:10px 12px;border-radius:8px;margin:0 0 24px;font-size:13px}
.kd-discard-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.kd-discard-actions button{min-height:44px;padding:10px 16px;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer}
.kd-discard-confirm{color:#a5281d;background:#fff;border:1px solid #ce8179}
.kd-discard-confirm:hover{background:#fff0ed}
#kd-discard-dialog button:focus-visible,.kd-discard-trigger:focus-visible{outline:3px solid #187a71;outline-offset:3px}
@media(max-width:600px){.kd-discard-content{padding:22px}.kd-discard-actions button{flex:1 1 100%}}


/* Teaching Sessions introduction: typing is sufficient, recording optional.
   The primary next action is immediately under the description, not below mic. */
.kd-intro-instructions{background:#f3f8f7;border-left:4px solid #197b71;padding:12px 14px;line-height:1.55;color:#304e52}
.kd-intro-start-wrap{margin:11px 0 20px;padding:18px 20px;border:2px solid #d4e0e3;border-radius:12px;background:#f6f9fa}
.kd-intro-start-wrap[data-ready="true"]{border-color:#1b8073;background:#ecf8f4;box-shadow:0 0 0 2px #d1eee5}
.kd-intro-next-label{font-weight:800;letter-spacing:.1em;font-size:11px;color:#58717d;margin-bottom:10px}
.kd-intro-start{font-size:17px;min-height:54px;min-width:225px;display:inline-flex;align-items:center;justify-content:center;gap:11px;transition:background-color .16s ease,color .16s ease}
.kd-intro-start:disabled{background:#dce5e8;color:#607782;cursor:not-allowed;opacity:1}
.kd-intro-start.is-ready,.kd-intro-start.is-ready:enabled{background:#117b5c;color:#fff;box-shadow:0 4px 13px #164b3b22;font-weight:800}
.kd-intro-start.is-ready:hover{background:#08664a}
.kd-intro-start:focus-visible{outline:3px solid #176b69;outline-offset:3px}
.kd-intro-guidance{font-size:13px;color:#48636c;line-height:1.5;margin:10px 0 0;font-weight:600}
.kd-intro-start-wrap[data-ready="true"] .kd-intro-guidance{color:#12613e}
.kd-intro-voice-choice{color:#506976;font-size:14px;line-height:1.55;border-top:1px solid #e1e9eb;padding-top:13px;margin-top:4px}
.kd-intro-microphone{margin-top:10px}
.kd-intro-microphone .kd-record-start:not(.is-recording){background:#e8eff1;color:#26424f}
.kd-intro-microphone .kd-record-start:not(.is-recording):hover{background:#d7e5e8}
.kd-interview-actions[hidden]{display:none}
@media(max-width:600px){.kd-intro-start-wrap{padding:14px}.kd-intro-start{width:100%;min-width:0}}


/* Title-first teaching workflow. Typing or recording happens only AFTER
   Start interview; this click is never an OpenAI request. */
.kd-setup-start-wrap{border:2px solid #c6ded7;background:#eef7f3;border-radius:13px;padding:20px;margin:16px 0 10px}
.kd-setup-start-wrap .kd-intro-start{font-size:18px;min-height:56px}
.kd-setup-start-wrap .kd-intro-guidance{margin-top:10px}
.kd-setup-start-wrap .kd-intro-start.is-ready{box-shadow:0 4px 13px #13483929}
.kd-microphone-controls[hidden],.kd-record-indicator[hidden]{display:none}
.kd-interview-actions[hidden]{display:none}

/* Versioned fictional reanalysis: readable mobile comparisons and source flags. */
#kd-reanalysis-dialog .kd-auto-shell{max-height:85vh;overflow:auto}
#kd-reanalysis-dialog table{border-collapse:collapse;width:100%;margin:1rem 0;font-variant-numeric:tabular-nums}
#kd-reanalysis-dialog th,#kd-reanalysis-dialog td{padding:10px;border-bottom:1px solid var(--line,#d9e0e3);text-align:left}
#kd-reanalysis-dialog td{white-space:nowrap}
#kd-reanalysis-dialog details{padding:10px 0;border-bottom:1px solid var(--line,#d9e0e3)}
#kd-reanalysis-dialog blockquote{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){#kd-reanalysis-dialog .kd-auto-shell{max-height:82vh}#kd-reanalysis-dialog th,#kd-reanalysis-dialog td{padding:5px;font-size:12px}}

/* Source fidelity and manual quality review; never an approval UI. */
#kd-reanalysis-dialog .kd-quality{margin:18px 0;border-top:1px solid #d9e3e7;padding-top:12px}
#kd-reanalysis-dialog .kd-quality details{padding:10px 0}
#kd-reanalysis-dialog .kd-quality-warning{border-left:3px solid #c99549;padding:8px 12px;margin:8px 0;background:rgba(160,130,65,.05)}
#kd-reanalysis-dialog .kd-quality-flag{padding:12px 0;border-top:1px solid #d9e3e7}
#kd-reanalysis-dialog .kd-quality-flag textarea,
#kd-reanalysis-dialog .kd-quality-flag select{display:block;width:100%;margin:5px 0 12px;max-width:100%}
#kd-reanalysis-dialog .kd-quality-flag label{display:block;font-size:14px;margin:8px 0}
#kd-reanalysis-dialog .kd-quality blockquote{white-space:pre-wrap}

/* One conservative, editable clarification for a CURRENT fictional answer. */
#kd-answer-check-dialog{width:min(580px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:0;border:1px solid #d8e3e7;border-radius:14px;box-shadow:0 16px 52px rgba(0,0,0,.23)}
#kd-answer-check-dialog::backdrop{background:rgba(12,33,42,.48)}
#kd-answer-check-dialog .kd-answer-check-body{padding:24px;display:flex;flex-direction:column;gap:12px}
#kd-answer-check-dialog h2{font-size:22px;line-height:1.25;margin:0}
#kd-answer-check-dialog p{margin:0;line-height:1.5}
#kd-answer-check-dialog .actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
#kd-answer-check-dialog .actions button{min-height:42px}


/* Focused Teaching Sessions demo: show only the current step; management is opt-in. */
.kd-focus-shell{max-width:860px;margin:0 auto}
.kd-focus-header{margin-top:0}
.kd-focus-card{background:#fff;border:1px solid #dce8e9;border-radius:18px;padding:clamp(22px,4vw,44px);box-shadow:0 10px 36px #1934400b}
.kd-focus-card h3{font-size:clamp(22px,2.6vw,30px);line-height:1.28;letter-spacing:-.025em;margin:6px 0 16px;color:#173542}
.kd-focus-card p{line-height:1.65}
.kd-focus-eyebrow{font-size:11px!important;letter-spacing:.12em;font-weight:800;color:#287d76;margin:0 0 12px!important}
.kd-focus-subtitle{color:#617a84;font-size:15px;max-width:580px;margin-bottom:28px}
.kd-focus-choices{display:grid;gap:12px;max-width:460px}
.kd-focus-primary{padding:14px 20px;min-height:49px;font-size:15px}
.kd-focus-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;align-items:center}
.kd-focus-actions button{min-height:44px}
.kd-focus-safety{padding:16px 18px;background:#f2f7f6;border-left:3px solid #398a7d;border-radius:6px;font-size:13px}
.kd-focus-top{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:24px;border-bottom:1px solid #e8eeee}
.kd-focus-top strong{font-size:15px;color:#28434f}
.kd-focus-counter{font-size:12px;color:#728893;white-space:nowrap}
.kd-focus-question{padding:30px 0 16px}
.kd-focus-question h3{margin:0;max-width:720px}
.kd-focus-interview label[for="kd-answer"]{font-size:13px;margin:12px 0 9px}
.kd-focus-interview textarea{font-size:15px;line-height:1.6;min-height:155px}
.kd-focus-voice{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.kd-focus-voice>details{position:relative}
.kd-focus-voice>details[open]{width:100%;background:#f6f9f9;border-radius:9px;padding:12px}
.kd-focus-voice summary,.kd-focus-history summary,.kd-internal-tools summary{cursor:pointer;color:#216f6b;font-size:13px;font-weight:650}
.kd-focus-voice #kd-speech-status{flex-basis:100%;margin:0}
.kd-focus-interview .kd-microphone-controls{margin:12px 0 8px}
.kd-focus-history{margin-top:24px;padding-top:15px;border-top:1px solid #e8eeee}
.kd-focus-history>div{max-height:450px;overflow:auto;margin-top:14px}
.kd-focus-footer{display:flex;justify-content:flex-end;margin-top:20px}
.kd-resume-list{display:grid;gap:4px;margin:20px 0}
.kd-resume-option{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #edf2f3;padding:13px 0}
.kd-resume-option strong{font-size:14px}
.kd-resume-option p{margin:3px 0}
.kd-resume-recap{padding:16px 22px;background:#f5f8f8;border-radius:12px;margin:20px 0 24px}
.kd-resume-recap ul{padding-left:21px}
.kd-resume-recap li{margin-bottom:8px;line-height:1.5}
.kd-resume-recap p{font-size:14px}
.kd-internal-tools{margin:26px 0;background:#fff;border:1px solid #e0e9ec;border-radius:12px;padding:14px 20px}
.kd-internal-tools>.sectionhead{margin-top:22px}
.kd-internal-tools .card{box-shadow:none}
.kd-focus-shell [hidden]{display:none!important}
@media(max-width:600px){.kd-focus-card{padding:22px 17px}.kd-focus-top{display:block}.kd-focus-counter{display:block;margin-top:8px}.kd-focus-actions{display:grid}.kd-focus-actions button{width:100%}.kd-resume-option{align-items:flex-start}.kd-resume-option button{flex-shrink:0}}


/* Professional Teaching Sessions list: stable columns, quiet secondary
   actions, a consistent reading rhythm, and deliberate keyboard focus. */
.kd-session-library{padding:clamp(24px,3.4vw,40px);color:#19333d}
.kd-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:10px}
.kd-session-heading h3{font-size:clamp(23px,2.6vw,29px);line-height:1.2;margin:4px 0 11px;letter-spacing:-.03em}
.kd-session-heading .kd-focus-subtitle{margin:0 0 18px;line-height:1.5;max-width:570px}
.kd-session-count{flex:none;margin-top:3px;border:1px solid #dce6e8;border-radius:100px;padding:6px 11px;font-size:12px;line-height:1.2;font-weight:650;color:#55717c;white-space:nowrap;background:#f8fafb}
.kd-session-library .kd-resume-list{display:block;margin:10px 0 20px;border-top:1px solid #dce6e8}
.kd-session-library .kd-resume-option{display:grid;grid-template-columns:minmax(0,1fr) 164px;align-items:center;gap:24px;min-height:82px;margin:0;padding:16px 2px;border-bottom:1px solid #e5edef;background:transparent}
.kd-session-identity{min-width:0}
.kd-session-identity strong{display:block;max-width:100%;color:#1b303d;font-size:15px;font-weight:680;line-height:1.4;letter-spacing:-.01em;overflow-wrap:anywhere}
.kd-session-identity p{margin:6px 0 0;color:#6c8089;font-size:12.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.kd-session-actions{display:grid;grid-template-columns:112px 40px;gap:12px;align-items:center;justify-content:end;min-width:0}
.kd-session-resume{display:inline-flex;align-items:center;justify-content:center;width:112px;min-height:40px;padding:9px 14px;border-radius:8px;background:#176d69;color:#fff;font-weight:680;font-size:13px;line-height:1.2;white-space:nowrap}
.kd-session-resume:hover{background:#105955}
.kd-session-more{position:relative;min-width:40px}
.kd-session-more>summary{width:40px;height:40px;border:1px solid #dce6e8;border-radius:8px;display:grid;place-items:center;cursor:pointer;list-style:none;color:#496571;background:#fff;font-size:22px;line-height:1}
.kd-session-more>summary::-webkit-details-marker{display:none}
.kd-session-more>summary span{margin-top:-8px;letter-spacing:1px}
.kd-session-more>summary:hover,.kd-session-more[open]>summary{background:#edf3f3;border-color:#bfced1}
.kd-session-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:15;min-width:174px;padding:6px;border:1px solid #d7e1e4;border-radius:10px;background:#fff;box-shadow:0 12px 32px #0f293023}
.kd-session-menu button{width:100%;border:0;border-radius:6px;background:transparent;color:#a13e3a;text-align:left;font-size:13px;font-weight:650;padding:11px 12px;white-space:nowrap;cursor:pointer}
.kd-session-menu button:hover{background:#fff2ef}
.kd-session-more summary:focus-visible,.kd-session-library button:focus-visible{outline:3px solid #218478;outline-offset:3px}
.kd-session-library button:disabled{opacity:.5;cursor:not-allowed}
.kd-session-empty{padding:30px 12px;margin:0;text-align:center;color:#647b84;font-size:14px}
.kd-session-back{padding:11px 0;border:0;background:transparent;color:#34696a;font-size:13px;font-weight:650;cursor:pointer}
.kd-session-back:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
 .kd-session-heading{gap:12px}
 .kd-session-count{font-size:11px;padding:6px 9px}
 .kd-session-library .kd-resume-option{grid-template-columns:minmax(0,1fr) 144px;gap:12px}
 .kd-session-actions{grid-template-columns:96px 36px;gap:12px}
 .kd-session-resume{width:96px;min-height:40px;font-size:12.5px}
 .kd-session-more{min-width:36px}
 .kd-session-more>summary{width:36px;height:40px}
}
@media(max-width:470px){
 .kd-session-heading{display:block}
 .kd-session-count{display:inline-block;margin:0 0 12px}
 .kd-session-library .kd-resume-option{grid-template-columns:minmax(0,1fr);gap:13px;padding:17px 0}
 .kd-session-actions{grid-template-columns:minmax(0,1fr) 40px;gap:10px;justify-content:stretch}
 .kd-session-resume{width:100%;min-height:43px;font-size:13px}
 .kd-session-more,.kd-session-more>summary{width:40px}
 .kd-session-menu{top:auto;bottom:calc(100% + 8px)}
}


/* FUTURISTIC LEGAL INTELLIGENCE — approved Probandi visual direction.
   Site-wide presentation only; authentication, saving and provenance unchanged.
   Original local vector background is decorative, never critical content. */
body.theme-future{
 --ink:#e8f2ff;--muted:#b2c4dd;--soft:#8fa9c7;--line:#30445f;
 --surface:#102039;--surface-deep:#0b182d;--surface-high:#1a2b46;
 --focus:#78bdff;--accent:#44aaff;
 color-scheme:dark;color:var(--ink);background:#071324;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.theme-future .shell{background:#081529;align-items:stretch}
.theme-future .sidebar{
 background:radial-gradient(ellipse at 12% 89%,#1d3a65 0,transparent 54%),linear-gradient(180deg,#041222,#0a1b31 65%,#0c203b);
 border-right:1px solid #284062;box-shadow:12px 0 36px #01081736;
 width:264px;padding:28px 13px;flex-shrink:0;z-index:2;
}
.theme-future .brand{padding:0 13px 32px;border-bottom:1px solid #ffffff14;margin-bottom:25px;gap:12px}
.theme-future .brand strong{font-size:21px;font-weight:720;color:#f3f8ff;letter-spacing:-.035em}
.theme-future .brand small{color:#b1c9e0;font-size:11px;margin-top:5px}
.theme-future .mark{display:grid;place-items:center;padding:0;width:46px;height:52px;flex-shrink:0;background:none;border-radius:0;color:#55b7ff;box-shadow:none}
.theme-future .mark svg{height:46px;width:38px;filter:drop-shadow(0 0 9px #307dff58)}
.theme-future .nav{gap:6px}
.theme-future .nav button{display:flex;align-items:center;gap:15px;width:100%;min-height:49px;padding:12px 15px;border-radius:10px;border:1px solid transparent;color:#c6d6eb;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease}
.theme-future .nav button svg{width:21px;height:21px;flex-shrink:0;stroke:#afc8e4;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.theme-future .nav button:hover{color:white;background:#173052c7;border-color:#34567766}
.theme-future .nav button.active{color:#f4faff;background:linear-gradient(100deg,#104d94bf,#163c6b6e);border:1px solid #237cf08a;box-shadow:inset 3px 0 #36b7ff,0 0 15px #126bdc25}
.theme-future .nav button.active svg{stroke:#8bd5ff}
/* Keep administrator-only and other guarded nav actions genuinely hidden. */
.theme-future .nav button.hidden{display:none}
.theme-future .nav button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.theme-future .sidefoot{padding:18px 12px;color:#c1d1e9}
.theme-future .sidefoot small{color:#92aecf}
.theme-future .dot{background:#39e0bd;box-shadow:0 0 10px #24e3c480}
.theme-future .main{
 position:relative;isolation:isolate;min-width:0;width:calc(100% - 264px);
 max-width:none;min-height:100vh;margin:0;padding:38px clamp(22px,3.4vw,56px) 38px;
 background:radial-gradient(ellipse at 82% 0,#28416d88 0,transparent 54%),
 radial-gradient(ellipse at 100% 58%,#273a5a77 0,transparent 42%),linear-gradient(151deg,#0d1b30,#13223b 60%,#122944);
}
.theme-future .main::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;top:25px;right:0;
 height:360px;width:min(100%,1500px);background:url("/intelligence-wave.svg") right top/cover no-repeat;
 opacity:.98;
}
.theme-future .main::after{
 content:"";position:absolute;z-index:-1;pointer-events:none;bottom:0;left:0;width:48%;height:260px;
 opacity:.28;background:url("/intelligence-wave.svg") left bottom/cover no-repeat;transform:scaleX(-1);
}
.theme-future .main>header{position:relative;z-index:1;margin:12px 0 38px;align-items:start;gap:22px}
.theme-future .main>header>div:first-child{min-width:0;max-width:690px}
.theme-future .main .eyebrow{color:#b5d4ed;letter-spacing:.24em;font-size:12px}
.theme-future .main h1{font-size:clamp(32px,3.8vw,55px);line-height:1.12;letter-spacing:-.045em;color:#f1f7ff;font-weight:680;margin:10px 0 14px}
.theme-future .main h1 .prb-title-accent{color:#66b1ff}
.theme-future .main>header p{color:#c2d2e9;font-size:clamp(15px,1.5vw,18px);line-height:1.52;max-width:590px}
.theme-future .header-right{display:flex;gap:14px;color:#e3edfa;align-items:center;font-size:12px;min-width:0;flex-wrap:wrap;justify-content:flex-end}
.theme-future .header-right>span{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.theme-future .pill{border-color:#378c8199;background:#167f7033;color:#a7f2de;letter-spacing:.09em;padding:8px 12px}
.theme-future .header-right .secondary{min-height:36px}
.theme-future .sectionhead h2{color:#eaf4ff;font-size:20px;letter-spacing:-.02em}
.theme-future .card,.theme-future .tablewrap,.theme-future .taskfilters,.theme-future .access-panel{
 background:linear-gradient(160deg,#162741ed,#10203aef);border:1px solid #344762;
 box-shadow:0 14px 34px #0209162e;color:var(--ink);border-radius:16px;
}
.theme-future .card strong,.theme-future .item strong{color:#f0f6ff}
.theme-future .item{border-bottom-color:#2c3e55}
.theme-future .item p,.theme-future .muted,.theme-future .card .muted{color:#a7bad3}
.theme-future .empty{color:#a8c0d8}
.theme-future .primary{
 background:linear-gradient(115deg,#159df5,#3558ee);color:white;border:1px solid #67b4ff44;
 border-radius:9px;font-weight:680;box-shadow:0 4px 13px #064dae23;
}
.theme-future .primary:hover{background:linear-gradient(115deg,#36b4ff,#556cfb)}
.theme-future .secondary{
 background:#1d304b;color:#e5efff;border:1px solid #3b526f;
 border-radius:9px;
}
.theme-future .secondary:hover{background:#2b4160}
.theme-future .primary:focus-visible,.theme-future .secondary:focus-visible,
.theme-future button:focus-visible,.theme-future a:focus-visible,.theme-future summary:focus-visible{
 outline:3px solid #86caff;outline-offset:3px;
}
.theme-future button:disabled{cursor:not-allowed;opacity:.53}
.theme-future .tag{background:#243b59;color:#d0e4fc}
.theme-future .tag.approved,.theme-future .tag.done{background:#164a44;color:#a6f3d7}
.theme-future .tag.proposed{background:#514327;color:#ffe4a9}
.theme-future .tablewrap th,.theme-future th{background:#1b304c;color:#a9c1d9}
.theme-future td,.theme-future th{border-bottom-color:#2e435b}
.theme-future .linkbutton,.theme-future .kd-session-details summary{color:#90c9ff}
.theme-future input,.theme-future textarea,.theme-future select,.theme-future #fields select{
 background:#0c1a31;color:#f2f7ff;border:1px solid #4a607f;border-radius:9px;
}
.theme-future input::placeholder,.theme-future textarea::placeholder{color:#97acc8;opacity:1}
.theme-future input:focus-visible,.theme-future textarea:focus-visible,.theme-future select:focus-visible{
 outline:3px solid #64b4ff66;outline-offset:1px;border-color:#77baff;
}
.theme-future label{color:#c6d8eb}
.theme-future .banner{background:#423127;color:#ffddc5;border:1px solid #be854b}
.theme-future footer{color:#91aac8}
.theme-future dialog{background:#11233a;color:#eaf3ff;border:1px solid #455c7a;box-shadow:0 25px 85px #020713b3}
.theme-future dialog .modalhead h2{color:#f2f8ff}
.theme-future #editor{background:#12233b}
.theme-future .login-screen{background:#061022ed}
.theme-future .login-card{background:#102139;color:#ecf4ff;border:1px solid #395471}
.theme-future .login-card p{color:#b2c6df}
.theme-future .login-card input{background:#0b1930;color:#f4f9ff;border-color:#4a607b}
.theme-future .access-notice{background:#19483e;color:#c6ffef}
.theme-future .kd-focus-shell{max-width:1220px}
.theme-future .kd-focus-header{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.theme-future .kd-focus-card{
 background:linear-gradient(155deg,#17283feF,#101e34f4);border:1px solid #435571;
 border-radius:16px;color:#e8f2ff;box-shadow:0 24px 55px #01071350;backdrop-filter:blur(12px);
}
.theme-future .kd-focus-card:not(.kd-session-library){max-width:960px;margin-inline:auto}
.theme-future .kd-focus-card h3{color:#f0f7ff}
.theme-future .kd-focus-eyebrow{color:#a6c8f4!important}
.theme-future .kd-focus-subtitle,.theme-future .kd-focus-counter{color:#b3c8df}
.theme-future .kd-focus-top,.theme-future .kd-focus-history,.theme-future .kd-resume-option{border-bottom-color:#344860}
.theme-future .kd-focus-history{border-top-color:#344860}
.theme-future .kd-focus-voice>details[open],.theme-future .kd-resume-recap,
.theme-future .kd-intro-instructions,.theme-future .kd-focus-safety,.theme-future .kd-intro-start-wrap,
.theme-future .kd-setup-start-wrap{background:#1d344f;border-color:#3c5c7d;color:#dcecff}
.theme-future .kd-intro-voice-choice,.theme-future .kd-focus-question{border-color:#334960;color:#c9dbec}
.theme-future .kd-focus-voice summary,.theme-future .kd-focus-history summary,.theme-future .kd-internal-tools summary{color:#9aceff}
.theme-future .kd-record-indicator{background:#1c2e48;border-color:#405a79;color:#cadcf4}
.theme-future .kd-record-indicator[data-phase="ready"]{background:#144a41;border-color:#368a72;color:#baf4d6}
.theme-future .kd-record-indicator[data-phase="recording"]{background:#522d33;border-color:#d67d78;color:#fff}
.theme-future .kd-record-indicator[data-phase="error"]{background:#592f32;border-color:#d69f9d;color:#fff}
.theme-future .kd-record-stop:disabled:not(.is-next){background:#2a3b51;color:#a5b5c9}
.theme-future .kd-interview-save-session{background:#182f4c;color:#add9ff;border-color:#4e7aaa}
.theme-future .kd-interview-next.is-working{background:#21395d;color:#c3e8ff;border-color:#5c82b7}
.theme-future .kd-interview-save-hint,.theme-future .kd-intro-guidance{color:#b7cbdc}
.theme-future .kd-discard-trigger{color:#ffafa9}
.theme-future .kd-session-library{max-width:1200px;color:#e9f2ff}
.theme-future .kd-session-heading h3{color:#f1f7ff}
.theme-future .kd-session-heading .kd-focus-subtitle{color:#b3c7df}
.theme-future .kd-session-count{border:1px solid #3b5574;color:#c5d8ef;background:#1b2e49}
.theme-future .kd-session-library .kd-resume-list{border-top-color:#354761}
.theme-future .kd-session-library .kd-resume-option{border-bottom-color:#30455f;min-height:76px}
.theme-future .kd-session-library .kd-resume-option:hover{background:#2840614f}
.theme-future .kd-session-identity strong{color:#eaf4ff;font-weight:600}
.theme-future .kd-session-identity p{color:#9db5d3}
.theme-future .kd-session-resume{background:linear-gradient(110deg,#159df5,#3b50f4);border:1px solid #67bfff50;color:white;box-shadow:0 3px 13px #0b55d244}
.theme-future .kd-session-resume:hover{background:linear-gradient(110deg,#45bdff,#636afc)}
.theme-future .kd-session-more>summary{background:#162940;border-color:#3d5572;color:#c9ddf4}
.theme-future .kd-session-more>summary:hover,.theme-future .kd-session-more[open]>summary{background:#263f5e;border-color:#6486af}
.theme-future .kd-session-menu{background:#162a46;border-color:#4e6a88;box-shadow:0 13px 34px #030c1bcc}
.theme-future .kd-session-menu button{color:#ffc2bd}
.theme-future .kd-session-menu button:hover{background:#57303b}
.theme-future .kd-session-back{color:#a6d6ff}
.theme-future .kd-session-empty{color:#b4c7df}
.theme-future .kd-internal-tools,.theme-future .kd-benchmark-export{
 background:#132741;border-color:#3b5473;color:#e1edfc;
}
.theme-future .kd-session-transcript{background:#122843;border-color:#426083;color:#e0eefc}
.theme-future .kd-reason-turn,.theme-future .kd-saved-facts,.theme-future .kd-admin-audit,
.theme-future .kd-reason-sources{background:#172b46;border-color:#3e5674;color:#e5f2ff}
.theme-future .kd-reason-turn h3,.theme-future .kd-reason-question b{color:#e4f4ff}
.theme-future .kd-reason-user,.theme-future .kd-reason-question,
.theme-future .kd-reason-notice,.theme-future .kd-reason-source blockquote{background:#203956;color:#ddebfa}
.theme-future .kd-reason-disclaimer,.theme-future .kd-reason-limits{color:#c0d0e5}
.theme-future .kd-reason-sources>summary{color:#9accff}
.theme-future .kd-reason-source{border-top-color:#3d5574}
.theme-future .kd-reason-feedback:not(:empty){background:#4a3037;color:#ffdcd3;border-left-color:#ff9786}
.theme-future .kd-reason-limit-note,.theme-future .kd-reason-verification{background:#49402c;color:#ffebb5;border-left-color:#daba69}
.theme-future .kd-fact-status{background:#2d4560;color:#dcecff}
.theme-future .kd-fact-entry{border-top-color:#3b5672}
.theme-future .kd-benchmark-export,.theme-future .kd-benchmark-list{border-color:#3c5470}
.theme-future .kd-benchmark-entry{border-bottom-color:#3b5271}
.theme-future .kd-auto-shell{color:#e9f3ff}
.theme-future #kd-auto-summary .kd-auto-head p,.theme-future #kd-auto-summary .kd-muted,
.theme-future #kd-auto-summary .muted.small{color:#b4c8df}
.theme-future #kd-auto-summary .kd-auto-stats span{color:#bad1e8}
.theme-future #kd-auto-summary .kd-auto-stats strong,.theme-future #kd-auto-summary .kd-synthesis-framework h3,
.theme-future #kd-auto-summary .kd-synthesis-framework h4{color:#f0f6ff}
.theme-future #kd-auto-summary .kd-synthesis-section,.theme-future #kd-auto-summary .kd-synthesis-group,
.theme-future #kd-auto-summary .kd-auto-group,.theme-future #kd-auto-summary .kd-auto-raw{
 background:#172b45;color:#e4efff;border-color:#415a78;
}
.theme-future #kd-auto-summary .kd-auto-disclaimer,.theme-future #kd-auto-summary .kd-auto-teaching blockquote,
.theme-future #kd-auto-summary .kd-synthesis-evidence blockquote{background:#233853;color:#e2f0ff}
.theme-future #kd-auto-summary .kd-auto-teaching details summary,.theme-future #kd-auto-summary .kd-synthesis-sources summary,
.theme-future #kd-auto-summary .kd-auto-raw>summary{color:#a6d7ff}
.theme-future #kd-review-dialog,.theme-future #kd-answer-check-dialog{color:#e9f4ff}
.theme-future #kd-review-dialog .kd-review-actions{background:#142944;border-color:#3c5773}
.theme-future #kd-review-dialog .kd-source{background:#243d59;color:#eaf4ff}
.theme-future #kd-review-dialog .kd-muted{color:#bdcee1}
.theme-future #kd-review-dialog label{color:#cce0ef}
.theme-future #kd-review-dialog input,.theme-future #kd-review-dialog textarea{background:#0b1b33;color:#f1f8ff;border-color:#49637f}
.theme-future #kd-discard-dialog{color:#f5f7ff;background:#152840}
.theme-future #kd-discard-heading{color:#f3f7ff}
.theme-future #kd-discard-description{color:#cbd9eb}
.theme-future #kd-discard-safe-note,.theme-future .kd-discard-safe-note{background:#25413e;color:#b9f6e2}
.theme-future .kd-discard-confirm{background:#3c2430;color:#ffd1cf;border-color:#ae6973}
.theme-future #kd-discard-dialog .kd-discard-actions button{min-height:44px}
.theme-future .kd-reason-source blockquote{border-color:#465d7b}
.theme-future .kd-internal-tools>.sectionhead{color:#e9f4ff}
@media(max-width:1130px){
 .theme-future .sidebar{width:222px}
 .theme-future .main{width:calc(100% - 222px);padding:28px 28px 38px}
 .theme-future .main>header{flex-direction:column;gap:16px}
 .theme-future .header-right{justify-content:flex-start}
}
@media(max-width:760px){
 .theme-future .sidebar{width:188px;padding:19px 8px}
 .theme-future .brand{padding:0 8px 22px}
 .theme-future .brand strong{font-size:18px}
 .theme-future .nav button{padding:12px 10px;gap:9px;font-size:12.5px}
 .theme-future .nav button svg{width:18px;height:18px}
 .theme-future .main{width:calc(100% - 188px);padding:24px 18px 38px}
 .theme-future .main>header{margin-bottom:25px}
 .theme-future .kd-focus-card{padding:24px 19px}
 .theme-future .kd-session-library .kd-resume-option{gap:13px}
}
@media(max-width:600px){
 .theme-future .shell{display:block}
 .theme-future .sidebar{width:100%;height:auto;position:relative;top:auto;padding:10px 11px 12px}
 .theme-future .brand{margin:0 0 10px;padding:2px 4px 10px}
 .theme-future .mark{width:34px;height:34px}
 .theme-future .mark svg{height:34px;width:30px}
 .theme-future .brand strong{font-size:19px}
 .theme-future .nav{display:flex;overflow-x:auto;gap:5px;scrollbar-width:thin}
 .theme-future .nav button{flex:0 0 auto;width:auto;min-height:42px;padding:9px 12px}
 .theme-future .nav button.active{box-shadow:inset 0 -3px #36b7ff}
 .theme-future .sidefoot{display:none}
 .theme-future .main{width:100%;min-height:calc(100vh - 150px);padding:22px 14px 35px}
 .theme-future .main::before{top:70px;height:285px;width:100%;opacity:.72}
 .theme-future .main::after{display:none}
 .theme-future .main>header{margin:10px 3px 26px;gap:12px}
 .theme-future .main h1{font-size:36px}
 .theme-future .header-right{display:flex;gap:9px;font-size:11px}
 .theme-future .header-right>span{max-width:125px}
 .theme-future .kd-focus-card{border-radius:13px;padding:21px 16px}
 .theme-future .kd-session-heading{flex-direction:column;gap:6px}
 .theme-future .kd-session-count{margin:0 0 8px}
 .theme-future .kd-session-library .kd-resume-option{padding:16px 0}
 .theme-future .kd-focus-interview textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .theme-future .nav button,.theme-future .primary{transition:none}
}

/* Accessible new-session action: reuses the existing actual handler. */
.theme-future .kd-session-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.theme-future .kd-new-session-action{min-height:42px;white-space:nowrap;padding:10px 16px}
@media(max-width:700px){
 .theme-future .kd-session-heading-actions{justify-content:flex-start}
 .theme-future .kd-new-session-action{font-size:13px}
}


/* Knowledge Library: allow real case narratives, saved scenario titles, review
   fields and controls to fit a narrow phone instead of forcing sideways scroll.
   Scope to this module so Teaching Sessions and other pages are unaffected. */
.kd-library-layout,.kd-library-layout .card,
.kd-library-layout .kd-reason-turn,.kd-library-layout .kd-auto-shell,
.kd-library-layout .kd-reason-history,.kd-library-layout .kd-reason-source{
 min-width:0;max-width:100%;
}
.kd-library-layout .item>div,
.kd-library-layout .kd-reason-turn>*,
.kd-library-layout .kd-fact-entry,
.kd-library-layout .kd-benchmark-entry,
.kd-library-layout .kd-auto-group,
.kd-library-layout .kd-synthesis-section{min-width:0;max-width:100%}
.kd-library-layout p,.kd-library-layout li,.kd-library-layout strong,
.kd-library-layout label,.kd-library-layout summary,
.kd-library-layout blockquote,.kd-library-layout .item{
 overflow-wrap:anywhere;
}
.kd-library-layout textarea,.kd-library-layout input:not([type="checkbox"]),
.kd-library-layout select{min-width:0;max-width:100%}
@media(max-width:600px){
 .kd-library-layout .card{padding:16px 14px}
 .kd-library-layout .item{flex-wrap:wrap;gap:10px}
 .kd-library-layout .item>div{flex:1 1 100%;width:100%}
 .kd-library-layout .item>div:last-child{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
 .kd-library-layout .item select{width:auto;max-width:100%}
 .kd-library-layout .kd-reason-turn{padding:14px}
 .kd-library-layout .kd-reason-turn ul{padding-left:20px}
 .kd-library-layout .kd-reason-actions>*{max-width:100%;white-space:normal}
 .kd-library-layout .kd-benchmark-entry{flex-wrap:wrap}
 .kd-library-layout .kd-benchmark-entry label{flex:1 1 100%}
 .kd-library-layout #kd-auto-summary .kd-auto-shell{padding:16px 10px}
 .kd-library-layout #kd-auto-summary .kd-auto-head{flex-wrap:wrap}
 .kd-library-layout #kd-auto-summary .kd-auto-group>summary{flex-wrap:wrap}
}


/* Overview polish: stable metadata, same task-edit action as the task register. */
.theme-future .overview-task-item{align-items:flex-start;gap:14px}
.theme-future .overview-task-copy{min-width:0;flex:1}
.theme-future .overview-task-link{
 display:inline-block;width:auto;max-width:100%;margin:0;padding:0;border:0;
 color:#e8f3ff;text-align:left;white-space:normal;font-size:14px;
 font-weight:680;line-height:1.45;overflow-wrap:anywhere;
 text-decoration:underline;text-decoration-color:#6d9fcc88;text-underline-offset:4px;
}
.theme-future .overview-task-link:hover{text-decoration-color:#b7d9ff;color:#b7ddff}
.theme-future .overview-task-link:focus-visible{outline:3px solid #86caff;outline-offset:4px}
.theme-future .overview-task-item p{font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.theme-future .overview-task-item>.tag{flex:none}
.theme-future .overview-teaching-link{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;min-height:43px}
@media(min-width:1131px) and (max-width:1460px){
 .theme-future .main>header{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:20px}
 .theme-future .header-right{
  display:grid;grid-template-columns:max-content max-content;grid-template-areas:"mode date" "user user";
  align-items:center;justify-content:end;gap:10px 14px;
 }
 .theme-future .header-right .pill{grid-area:mode}
 .theme-future .header-right #today{grid-area:date}
 .theme-future .header-right #signed-in-user{grid-area:user;max-width:170px}
}
@media(max-width:600px){
 .theme-future .overview-task-item>.tag{font-size:11px}
 .theme-future .overview-teaching-link{width:100%}
}

/* Case list — same hierarchy and interactive affordance as Task priorities. */
.theme-future .case-list-row{align-items:flex-start;gap:18px}
.theme-future .case-list-copy{min-width:0;flex:1}
.theme-future .case-title{
 width:auto;max-width:100%;display:inline-block;padding:0;border:0;
 font-size:15px;line-height:1.5;font-weight:680;text-align:left;color:#dfeeff;
 white-space:normal;overflow-wrap:anywhere;text-decoration:underline;
 text-decoration-color:#6499d185;text-underline-offset:4px;
}
.theme-future .case-title:hover{color:#a6d5ff;text-decoration-color:#a6d5ff}
.theme-future .case-title:focus-visible{outline:3px solid #86caff;outline-offset:3px}
.theme-future .case-list-row p{line-height:1.6;overflow-wrap:anywhere}
.theme-future .case-notes{margin-top:5px}
@media(max-width:600px){.theme-future .case-list-row{flex-wrap:wrap;gap:10px}}


/* Scheduled events: timing, not a legal deadline or completion determination. */
.theme-future .calendar-event{align-items:flex-start;gap:16px;padding-left:15px;margin-left:-15px;border-left:3px solid #4e6481;min-width:0;transition:background-color .12s ease}
.theme-future .calendar-event-main{min-width:0;flex:1}
.theme-future .calendar-event-main strong{font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.theme-future .calendar-event-main p{line-height:1.55;overflow-wrap:anywhere;margin-top:5px}
.theme-future .calendar-event-badges{display:grid;grid-template-columns:104px 94px;justify-content:end;align-items:center;gap:8px;flex:0 0 206px;min-width:0}
.theme-future .calendar-status{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:28px;padding:4px 10px;border-radius:999px;font-weight:720;font-size:12px;white-space:nowrap;border:1px solid #485e7a;background:#293a53;color:#d2e2f5}
/* Both badge columns keep the same x-position and vertical center on every row. */
.theme-future .calendar-event-badges>.tag{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:28px;line-height:1.2;padding:5px 8px;text-align:center;overflow-wrap:anywhere;white-space:normal}
/* Overview appointments follow the task-card hierarchy: title and details use
   the full row; timing and type stay together underneath without squeezing text. */
.theme-future .split .calendar-event{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-left:0;padding-left:0;border-left:0}
.theme-future .split .calendar-event-badges{justify-content:start;grid-template-columns:repeat(2,minmax(0,1fr));width:206px;max-width:100%}
.theme-future .calendar-event--past{border-left-color:#ef7880;background:#7136401a}
.theme-future .calendar-event--today{border-left-color:#ffad6b;background:#6c46241d}
.theme-future .calendar-event--soon{border-left-color:#edcb59;background:#5c54221c}
.theme-future .calendar-status--past{color:#ffd9dc;background:#673038;border-color:#b76771}
.theme-future .calendar-status--today{color:#ffe1bf;background:#66432a;border-color:#ba8454}
.theme-future .calendar-status--soon{color:#fff0b6;background:#5a502c;border-color:#a39451}
.theme-future .calendar-status--scheduled{color:#d2e2f5;background:#293a53;border-color:#485e7a}
.theme-future .calendar-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;line-height:1.6;color:#c1d0e4;margin:0 0 16px}
.theme-future .calendar-legend strong{color:#dcecff}
.theme-future .calendar-legend-past{color:#ffb0b5}
.theme-future .calendar-legend-today{color:#ffd2a9}
.theme-future .calendar-legend-soon{color:#ffeba7}
@media(max-width:650px){
 .theme-future .calendar-event{flex-wrap:wrap;gap:9px}
 .theme-future .calendar-event-badges{width:206px;max-width:100%;flex:0 0 auto;justify-content:start}
}


/* Workflow state is separate from time proximity: Completed and Cancelled override
   the Past/Today/Soon timing label without changing stored event times. */
.theme-future .calendar-event--completed{border-left-color:#47d7af;background:#14574620}
.theme-future .calendar-event--cancelled{border-left-color:#8c9bb1;background:#36445727}
.theme-future .calendar-status--completed{background:#185347;border-color:#398e7a;color:#bcf8e5}
.theme-future .calendar-status--cancelled{background:#344257;border-color:#67788f;color:#d3deed}

// Tasks share the Calendar timing palette; the workflow state remains separate.
// Subtle left-edge color makes the date readable even when badges scroll offscreen.
.theme-future .task-row--past{background:#71364016}
.theme-future .task-row--today{background:#6c462418}
.theme-future .task-row--soon{background:#5c542217}
.theme-future .task-row--completed{background:#14574614}
.theme-future .task-row--past>td:first-child{box-shadow:inset 3px 0 #ef7880}
.theme-future .task-row--today>td:first-child{box-shadow:inset 3px 0 #ffad6b}
.theme-future .task-row--soon>td:first-child{box-shadow:inset 3px 0 #edcb59}
.theme-future .task-row--completed>td:first-child{box-shadow:inset 3px 0 #47d7af}
.theme-future .task-timing{width:auto;min-width:104px;max-width:120px;line-height:1.2;text-align:center;white-space:nowrap}
.theme-future .task-timing-legend{margin-top:0;margin-bottom:14px}

.theme-future .calendar-event-link{
 padding:0;border:0;text-align:left;background:none;color:#eef6ff;
 font-size:14px;font-weight:680;line-height:1.45;white-space:normal;
 text-decoration:underline;text-decoration-color:#779cbf9c;text-underline-offset:4px;overflow-wrap:anywhere
}
.theme-future .calendar-event-link:hover{color:#acd7ff;text-decoration-color:#acd7ff}
.theme-future .calendar-event-link:focus-visible{outline:3px solid #86caff;outline-offset:3px}
.theme-future .calendar-event-status-control{
 grid-column:1/-1;display:flex;align-items:center;gap:9px;justify-content:flex-end;
 color:#b8cce5;font-size:12px;white-space:nowrap
}
.theme-future .calendar-event-status-control select{
 width:148px;min-height:36px;margin:0;padding:6px 10px;
 border:1px solid #4b6484;border-radius:8px;background:#142b49;
 color:#e8f2ff;font-size:13px;cursor:pointer
}
.theme-future .calendar-event-status-control select:focus-visible{outline:3px solid #86caff;outline-offset:2px}
.theme-future .calendar-event-status-control select:disabled{opacity:.62;cursor:wait}
@media(max-width:650px){
 .theme-future .calendar-event-status-control{justify-content:flex-start}
}


/* Conversation-first Knowledge Library: the dialogue is the workspace.
   Development controls and source diagnostics remain reachable by disclosure. */
.theme-future .kd-library-conversation-first{display:grid;gap:18px;max-width:1160px;width:100%;margin:0 auto;min-width:0}
.theme-future .kd-library-intro{padding:4px 2px 8px}
.theme-future .kd-library-intro h2{font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.035em;color:#f1f8ff;margin:7px 0 9px}
.theme-future .kd-library-intro>p:last-child{color:#b8cce7;max-width:720px;font-size:15px;line-height:1.55;margin:0}
.theme-future .kd-library-conversation-first>.card{width:100%;max-width:100%;min-width:0}
.theme-future .kd-library-conversation-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:end;min-width:0}
.theme-future .kd-library-conversation-picker>label{grid-column:1/-1;margin:0 0 5px;font-size:13px;font-weight:650;color:#c9ddf6}
.theme-future .kd-library-conversation-picker>#kd-chat-select{grid-column:1;min-width:0;width:100%;max-width:100%;min-height:44px;margin:0}
.theme-future .kd-library-conversation-picker>.kd-reason-actions{grid-column:2;margin:0;align-self:end}
.theme-future .kd-library-conversation-picker>.kd-reason-actions button{white-space:nowrap;margin:0;min-height:44px}
.theme-future .kd-library-conversation-picker>.kd-library-conversation-tools,
.theme-future .kd-library-conversation-picker>.kd-reason-feedback{grid-column:1/-1}
.theme-future .kd-library-conversation-tools{margin-top:10px;border-top:1px solid #334963;padding-top:13px}
.theme-future .kd-library-conversation-first summary{cursor:pointer;line-height:1.5;font-weight:620;color:#bbd9ff;overflow-wrap:anywhere}
.theme-future .kd-library-conversation-first summary:focus-visible{outline:3px solid #89cbff;outline-offset:3px}
.theme-future .kd-library-conversation-tools>summary{font-size:13px}
.theme-future .kd-library-conversation-tools>.kd-scenario-manager{margin-top:16px}
.theme-future .kd-library-conversation-first>.card:has(.kd-library-conversation-workspace){padding:0;overflow:hidden}
.theme-future .kd-library-conversation-workspace{display:flex;flex-direction:column;min-width:0}
.theme-future .kd-library-thread-heading{order:0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:23px 30px 18px;border-bottom:1px solid #304660}
.theme-future .kd-library-thread-heading h3{margin:0;color:#f1f8ff;font-size:19px;line-height:1.25}
.theme-future .kd-library-persist-indicator{font-size:12px;color:#b2c9e5;white-space:nowrap}
.theme-future .kd-library-persist-indicator:before{content:"";display:inline-block;background:#34cba8;width:7px;height:7px;border-radius:100%;margin-right:8px}
.theme-future .kd-library-thread{order:1;display:grid;gap:22px;margin:0;padding:28px 30px 30px;min-height:175px}
.theme-future .kd-library-empty{text-align:center;align-self:center;padding:40px 16px;color:#b9cde8;line-height:1.6;overflow-wrap:anywhere}
.theme-future .kd-library-empty strong{display:block;color:#eef6ff;font-size:21px;margin-bottom:7px}
.theme-future .kd-library-empty p{margin:0}
.theme-future .kd-reason-turn{padding:0;border:0;background:transparent;box-shadow:none;display:grid;gap:15px;max-width:100%;font-size:15px;line-height:1.65;outline:0}
.theme-future .kd-dialogue-question{justify-self:end;max-width:min(88%,800px);min-width:0;background:#223e63;border:1px solid #3f658f;border-radius:16px 16px 4px 16px;padding:15px 20px}
.theme-future .kd-dialogue-answer{justify-self:start;width:100%;min-width:0;background:#152d4b;border:1px solid #354e70;border-radius:5px 16px 16px 16px;padding:22px 25px}
.theme-future .kd-dialogue-speaker{display:block;color:#a8cff4;font-size:12px;font-weight:750;letter-spacing:.045em;margin-bottom:9px}
.theme-future .kd-dialogue-question .kd-reason-user{background:transparent;padding:0;margin:0;color:#f2f8ff;white-space:pre-wrap;overflow-wrap:anywhere}
.theme-future .kd-dialogue-answer .kd-reason-disclaimer{color:#b7cce6;border-left:2px solid #5285b9;font-size:13px!important;padding-left:11px;margin:0 0 18px}
.theme-future .kd-dialogue-answer h3{font-size:16px;color:#e9f4ff;margin:18px 0 9px;line-height:1.4}
.theme-future .kd-dialogue-answer .kd-reason-claim{border-left:2px solid #5274a4;margin:9px 0;padding:5px 0 6px 13px}
.theme-future .kd-dialogue-answer .kd-reason-claim p{margin:3px 0 8px;font-size:15px;line-height:1.6}
.theme-future .kd-dialogue-answer .kd-reason-question{background:#213d5f;border:1px solid #41638a;padding:16px 18px;margin-top:16px}
.theme-future .kd-dialogue-answer .kd-reason-limits{margin-top:18px}
.theme-future .kd-dialogue-answer details{max-width:100%;min-width:0}
.theme-future .kd-dialogue-facts,.theme-future .kd-library-turn-technical{border-top:1px solid #38516d;padding:13px 0;margin-top:13px}
.theme-future .kd-dialogue-facts summary,.theme-future .kd-library-turn-technical>summary{font-size:13px;color:#b7d2f1}
.theme-future .kd-library-turn-technical .kd-turn-usage,.theme-future .kd-library-turn-technical .muted{color:#aec4dd}
.theme-future .kd-library-composer{order:2;border-top:1px solid #334a69;background:#142943;padding:22px 30px 26px;min-width:0}
.theme-future .kd-library-composer>label{font-size:15px;font-weight:700;color:#edf6ff;margin:0 0 10px}
.theme-future .kd-library-composer #kd-ask{display:block;width:100%;min-height:118px;font-size:16px;line-height:1.6;background:#0e2038;border:1px solid #496482;color:#edf6ff;resize:vertical}
.theme-future .kd-library-composer .kd-reason-actions{justify-content:flex-end;margin:12px 0 0}
.theme-future .kd-library-composer #kd-search{min-height:44px;padding:10px 20px}
.theme-future .kd-library-composer>.muted{font-size:12px;color:#adc5df;margin-top:10px}
.theme-future .kd-library-options{order:3;border-top:1px solid #304660;padding:14px 30px}
.theme-future .kd-library-options>summary{font-size:13px}
.theme-future .kd-library-options[open] label{margin-top:16px}
.theme-future .kd-library-options .kd-reason-notice{font-size:13px;line-height:1.55}
.theme-future .kd-library-review,.theme-future .kd-library-development{border:1px solid #344d6c;background:#132640;border-radius:13px;padding:17px 22px}
.theme-future .kd-library-review>summary,.theme-future .kd-library-development>summary{font-size:14px}
.theme-future .kd-library-review[open]>.sectionhead{margin-top:22px}
.theme-future .kd-library-review .item{min-width:0}
.theme-future .kd-library-review .item>div{min-width:0;overflow-wrap:anywhere}
.theme-future .kd-library-review .item p{overflow-wrap:anywhere}
.theme-future .kd-library-development>.card{margin-top:15px}
.theme-future .kd-library-message:empty{display:none}
@media(max-width:780px){
 .theme-future .kd-library-thread{padding:22px 18px}
 .theme-future .kd-library-thread-heading{padding:18px 19px}
 .theme-future .kd-library-composer{padding:19px}
 .theme-future .kd-library-options{padding:13px 19px}
 .theme-future .kd-dialogue-question{max-width:94%}
 .theme-future .kd-dialogue-answer{padding:17px 18px}
}
@media(max-width:530px){
 .theme-future .kd-library-conversation-picker{display:block}
 .theme-future .kd-library-conversation-picker>#kd-chat-select{width:100%}
 .theme-future .kd-library-conversation-picker>.kd-reason-actions{margin-top:12px}
 .theme-future .kd-library-conversation-picker>.kd-reason-actions button{width:100%}
 .theme-future .kd-library-persist-indicator{white-space:normal}
 .theme-future .kd-library-thread{gap:18px;padding:18px 12px}
 .theme-future .kd-dialogue-question{max-width:98%;padding:13px 15px}
 .theme-future .kd-dialogue-answer{padding:16px 15px}
 .theme-future .kd-library-composer{padding:16px 14px}
 .theme-future .kd-library-composer #kd-search{width:100%}
 .theme-future .kd-library-composer .kd-reason-actions{width:100%}
 .theme-future .kd-library-review,.theme-future .kd-library-development{padding:14px}
 .theme-future .kd-library-review .item{display:block}
}


/* Optional source-checked narrative interpretations. Collapsed by default; no
   changes to the verified statements, source links or conversation history. */
.theme-future .kd-narrative-preview{
 margin:18px 0 16px;overflow:hidden;border:1px solid #46678b;
 background:#1b385a;border-radius:11px;max-width:100%;min-width:0;
}
.theme-future .kd-narrative-preview>summary{
 display:list-item;padding:14px 18px;color:#cce5ff;cursor:pointer;
 font-size:14px;font-weight:680;line-height:1.5;
 overflow-wrap:anywhere;
}
.theme-future .kd-narrative-preview>summary:hover{background:#28476b;color:#eff8ff}
.theme-future .kd-narrative-preview>summary:focus-visible{
 outline:3px solid #86caff;outline-offset:-3px;
}
.theme-future .kd-narrative-preview[open]>summary{border-bottom:1px solid #416080}
.theme-future .kd-narrative-preview-content{padding:14px 18px 17px}
.theme-future .kd-narrative-preview-content .kd-narrative-caption{
 font-size:12px;line-height:1.6;color:#bbd2ec;margin:0 0 12px;
}
.theme-future .kd-narrative-preview-content .kd-narrative-body{
 white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;
 font-size:16px;color:#f0f7ff;margin:0;
}
.theme-future .kd-narrative-preview-content .kd-narrative-note{
 margin:12px 0 0;line-height:1.6;color:#b6cde7;
}
@media(max-width:530px){
 .theme-future .kd-narrative-preview>summary{padding:13px 14px}
 .theme-future .kd-narrative-preview-content{padding:13px 14px}
 .theme-future .kd-narrative-preview-content .kd-narrative-body{font-size:15px}
}

/* Demo: nonmodal, readable saved-teaching confirmation and discreet provenance. */
.kd-saved-toast{position:fixed;z-index:1200;right:24px;bottom:24px;display:flex;align-items:flex-start;gap:12px;max-width:min(410px,calc(100vw - 32px));padding:15px 18px;background:#102c38;color:#edf9f9;border:1px solid #39747a;border-radius:14px;box-shadow:0 14px 38px rgba(5,25,33,.25);font-size:13px}
.kd-saved-toast[hidden]{display:none!important}
.kd-saved-toast p{margin:4px 0 0;color:#c5dddd;overflow-wrap:anywhere}
.kd-saved-check{color:#58d1a9;font-weight:900;font-size:20px;line-height:1}
.kd-toast-close{border:0!important;background:transparent!important;color:#dce9e9!important;padding:0 3px!important;margin-left:auto;min-width:25px;font-size:22px;cursor:pointer}
.kd-auto-provenance{margin:8px 0 16px;font-size:12px;color:#647a85}
.kd-auto-provenance p,.kd-generalization p,.kd-generalization-review textarea{overflow-wrap:anywhere}
.kd-generalization,.kd-generalization-review{padding:10px 12px;margin:10px 0;border:1px solid #d5e1e5;border-radius:9px}
.kd-generalization-review textarea{display:block;max-width:100%;width:100%;margin:8px 0}
@media(max-width:540px){.kd-saved-toast{right:12px;bottom:12px;left:12px;max-width:none}}


/* Inline GPT-Live mode: optional, visually subordinate to the interview. */
.kd-live-inline{margin:16px 0;padding:18px;border:1px solid #426686;border-radius:12px;background:rgba(21,47,76,.56)}
.kd-live-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:7px}
.kd-live-heading strong{font-weight:700;color:#edf6ff}
.kd-live-heading span{color:#a4c9e8;font-size:12px}
.kd-live-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;margin:12px 0}
.kd-live-consent input{width:auto;margin-top:3px;flex:0 0 auto}
.kd-live-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.kd-live-actions button{max-width:100%;white-space:normal}
.kd-live-inline audio{max-width:100%;width:350px}
#kd-live-status{color:#b4d9f5;font-size:13px;margin:9px 0}
#kd-live-caption{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow-y:auto}
@media(max-width:600px){.kd-live-inline{padding:14px}.kd-live-actions{flex-direction:column}.kd-live-actions button{width:100%}}

/* Shared, keyboard-accessible action confirmation in the Probandi theme. */
dialog.prb-confirm{width:min(92vw,480px);max-height:88vh;padding:0;overflow:auto;
 border:1px solid rgba(123,165,230,.38);border-radius:18px;
 background:#10243b;color:#ecf4ff;box-shadow:0 24px 75px rgba(0,0,0,.45)}
dialog.prb-confirm::backdrop{background:rgba(3,12,26,.76)}
.prb-confirm-body{padding:26px;display:grid;gap:18px}
.prb-confirm h2{font-size:1.15rem;margin:0;color:#fff;line-height:1.4}
.prb-confirm p{margin:0;white-space:pre-wrap;line-height:1.55}
.prb-confirm-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.prb-confirm-actions button{min-height:42px}
.kd-input-mode{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.kd-input-mode button{flex:0 1 auto;min-height:42px}
.kd-input-mode button[aria-pressed="true"]{outline:1px solid rgba(176,214,255,.55)}
@media(max-width:600px){.prb-confirm-body{padding:18px}.prb-confirm-actions button{flex:1 1 110px}.kd-input-mode button{flex:1 1 100%}}

.kd-microphone-controls[hidden],.kd-record-indicator[hidden]{display:none!important}

/* Teaching interviews: compact always-visible actions, optional inline voice transport. */
.kd-answer-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 4px}
.kd-answer-toolbar button{min-height:44px}
.kd-answer-toolbar .kd-intro-start-wrap{margin:0}
.kd-live-launch{border:1px solid #18855e;background:linear-gradient(120deg,#0c9366,#13ad7a);color:#fff;font-weight:750;border-radius:8px;padding:11px 16px;cursor:pointer}
.kd-live-launch:hover:not(:disabled){background:linear-gradient(120deg,#09825b,#11946a)}
.kd-live-launch:disabled{opacity:.63;cursor:default}
.kd-live-disclosure{font-size:12px;color:#9cb7cd;margin:4px 0 8px}
.kd-live-inline{margin:8px 0 12px;padding:9px 12px;background:rgba(21,47,76,.45)}
.kd-live-inline[hidden]{display:none!important}
.kd-live-inline .kd-live-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.kd-live-inline .kd-live-actions strong{margin-right:auto;color:#d9f3e9}
.kd-live-inline .kd-live-actions button{width:auto;padding:8px 12px;min-height:36px}
.kd-live-inline #kd-live-status{margin:4px 0;font-size:12px}
.kd-live-inline details{font-size:12px}
@media(max-width:600px){.kd-answer-toolbar{align-items:stretch}.kd-answer-toolbar button{flex:1 1 auto}.kd-live-inline .kd-live-actions{flex-direction:row}.kd-live-inline .kd-live-actions button{width:auto;flex:1 1 auto}}

/* Four compact Knowledge Library disclosures; narrative first, detail on demand. */
.theme-future .kd-dialogue-answer>.kd-narrative-preview,
.theme-future .kd-dialogue-answer>.kd-library-summary{
 margin:6px 0;border:1px solid #405e80;border-radius:9px;
 background:#193657;overflow:hidden;max-width:100%;min-width:0;
}
.theme-future .kd-dialogue-answer>.kd-narrative-preview>summary,
.theme-future .kd-dialogue-answer>.kd-library-summary>summary{
 cursor:pointer;padding:11px 15px;font-size:14px;font-weight:680;line-height:1.4;
 color:#e1f0ff;overflow-wrap:anywhere;
}
.theme-future .kd-dialogue-answer>.kd-narrative-preview[open]>summary,
.theme-future .kd-dialogue-answer>.kd-library-summary[open]>summary{
 border-bottom:1px solid #405e80;
}
.theme-future .kd-library-summary-body{padding:8px 15px 10px}
.theme-future .kd-library-summary-body .kd-reason-claim{margin:7px 0}
.theme-future .kd-dialogue-answer>.kd-narrative-preview>summary:hover,
.theme-future .kd-dialogue-answer>.kd-library-summary>summary:hover{
 background:#24486c;
}
.theme-future .kd-library-summary>summary:focus-visible{outline:3px solid #86caff;outline-offset:-3px}
@media(max-width:530px){
 .theme-future .kd-dialogue-answer>.kd-narrative-preview>summary,
 .theme-future .kd-dialogue-answer>.kd-library-summary>summary{padding:11px 13px}
}


/* Knowledge Library: two equal narrative perspectives form the primary focus.
   No fixed heights: expanded narratives grow the shared frame naturally. */
.theme-future .kd-perspectives-frame{
 border:2px solid #c49c55;
 border-radius:15px;
 padding:15px;
 background:linear-gradient(155deg,#2b2c34 0%,#242936 100%);
 box-shadow:0 0 0 1px rgba(233,192,117,.08),0 8px 25px rgba(1,13,31,.16);
 min-width:0;
}
.theme-future .kd-perspectives-eyebrow{
 margin:0 0 11px;
 font-size:11px;
 font-weight:750;
 letter-spacing:.12em;
 text-transform:uppercase;
 color:#e2bf7c;
}
.theme-future .kd-perspectives-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 align-items:stretch;
 min-width:0;
}
.theme-future .kd-perspectives-grid.kd-perspectives-single{grid-template-columns:minmax(0,1fr)}
.theme-future .kd-perspectives-grid>.kd-narrative-preview{
 margin:0;
 min-width:0;
 width:100%;
 align-self:stretch;
 border:1px solid #826d4f;
 border-radius:11px;
 background:#202c40;
 overflow:hidden;
}
.theme-future .kd-perspectives-grid>.kd-narrative-preview>summary{
 padding:16px 16px 15px;
 color:#fff3d8;
 line-height:1.45;
}
.theme-future .kd-perspectives-grid .kd-narrative-title{
 display:block;
 font-size:16px;
 font-weight:750;
}
.theme-future .kd-perspectives-grid .kd-narrative-subtitle{
 display:block;
 font-size:12px;
 line-height:1.5;
 font-weight:450;
 color:#bdcad9;
 margin-top:5px;
}

/* Gold marks the narrative centerpiece, not a warning or limitation. */
.theme-future .kd-perspectives-grid>.kd-narrative-preview>summary::marker{color:#e2bf7c}
.theme-future .kd-perspectives-grid>.kd-narrative-preview>summary:hover{
 background:#2a394d;
 color:#fff3d8;
}
.theme-future .kd-perspectives-grid>.kd-narrative-preview>summary:focus-visible{
 outline:3px solid #e2bf7c;
 outline-offset:-3px;
}
.theme-future .kd-perspectives-grid>.kd-narrative-preview .kd-narrative-caption{
 color:#bdcad9;
}
.theme-future .kd-library-supporting .kd-reason-limit-note{
 margin:11px 0;
 padding:0;
 background:transparent;
 border:0;
 color:#bdcad9;
 font-size:13px;
 line-height:1.6;
 box-shadow:none;
}
.theme-future .kd-library-supporting .kd-reason-limit-note b{
 color:#d5e2f1;
 font-weight:650;
}
.theme-future .kd-perspectives-grid>.kd-narrative-preview[open]>summary{border-bottom:1px solid #826d4f}
.theme-future .kd-library-supporting{
 border-top:1px solid #3b5473;
 margin-top:8px;
 padding:11px 0 2px;
}
.theme-future .kd-library-supporting>summary{font-size:13px;color:#c5d7eb;cursor:pointer}
.theme-future .kd-library-supporting>summary:focus-visible{
 outline:3px solid #86caff;
 outline-offset:3px;
 border-radius:4px;
}
.theme-future .kd-library-supporting>.kd-reason-sources,
.theme-future .kd-library-supporting>.kd-dialogue-facts{margin-top:12px}
.theme-future .kd-library-supporting>.kd-reason-limit-note{margin-top:12px}
@media(max-width:760px){
 .theme-future .kd-perspectives-grid{grid-template-columns:minmax(0,1fr)}
 .theme-future .kd-perspectives-frame{padding:12px}
 .theme-future .kd-perspectives-grid>.kd-narrative-preview>summary{padding:13px 14px}
}

/* Management: three independently expandable subjects; headings only by default. */
.theme-future .management-sections{display:grid;gap:12px;max-width:100%;min-width:0}
.theme-future .management-section{
 border:1px solid #3f5b7c;border-radius:12px;
 background:linear-gradient(150deg,#173350,#152a46);
 overflow:hidden;min-width:0;
}
.theme-future .management-section>summary{
 display:list-item;cursor:pointer;padding:16px 20px;
 color:#eaf4ff;font-size:17px;font-weight:700;line-height:1.4;
 overflow-wrap:anywhere;
}
.theme-future .management-section>summary::marker{color:#9dcfff}
.theme-future .management-section>summary:hover{background:#234366}
.theme-future .management-section>summary:focus-visible{outline:3px solid #86caff;outline-offset:-3px}
.theme-future .management-section[open]>summary{border-bottom:1px solid #3f5b7c}
.theme-future .management-section-content{padding:18px 20px 22px;min-width:0}
.theme-future .management-section-content>.muted:first-child{margin-top:0}
.theme-future .management-heading-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
.theme-future .management-live-content textarea{width:100%;max-width:100%}
.theme-future .management-section-content .access-panel{margin-top:16px}
@media(max-width:650px){
 .theme-future .management-section>summary{padding:14px 15px;font-size:16px}
 .theme-future .management-section-content{padding:14px 13px 18px}
 .theme-future .management-heading-actions{justify-content:flex-start}
}

/* FileVine API Integration is a planning workspace, not an active connector. */
.theme-future .filevine-page{max-width:1160px;display:grid;gap:15px;margin:0 auto}
.theme-future .filevine-intro,.theme-future .filevine-card{
 background:linear-gradient(155deg,#192f4b,#132742);
 border:1px solid #3e5777;border-radius:14px;padding:19px 22px;min-width:0;
}
.theme-future .filevine-intro>p{margin:0 0 13px;color:#d4e1f1;line-height:1.6}
.theme-future .filevine-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#c6d6e9}
.theme-future .filevine-status>*{padding:6px 11px;border-radius:8px;border:1px solid #4b627f;background:#213955}
.theme-future .filevine-status strong{color:#f4dcaa;border-color:#95784b;background:#393426}
.theme-future .filevine-card h2{font-size:18px;margin:0 0 15px;color:#f0f6ff}
.theme-future .filevine-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.theme-future .filevine-fields label,.theme-future .filevine-notes-label{
 display:flex;flex-direction:column;gap:7px;min-width:0;color:#d5e4f6;font-size:13px;font-weight:670
}
.theme-future .filevine-fields input,.theme-future .filevine-fields select,.theme-future .filevine-notes-label textarea{
 width:100%;max-width:100%;min-height:42px;box-sizing:border-box;font-size:14px;
}
.theme-future .filevine-fields select{white-space:normal}
.theme-future .filevine-fields input::placeholder,.theme-future .filevine-notes-label textarea::placeholder{color:#90a9c8}
.theme-future .filevine-secret-notice{padding:12px 14px;margin:16px 0 0;border:1px solid #516b8c;border-radius:8px;background:#1e3550;color:#d8e7f4;font-size:13px;line-height:1.6}
.theme-future .filevine-secret-notice strong{color:#f0f6ff}
.theme-future .filevine-notes-label{margin-top:16px}
.theme-future .filevine-savebar{padding:12px 4px 8px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.theme-future .filevine-savebar .muted{margin:0}
.theme-future .filevine-savebar [role=status]{flex-basis:100%;margin:0;color:#d9edff}
.theme-future .filevine-error{border:1px solid #896277;border-radius:9px;padding:12px;color:#ffd8e1}
.theme-future .filevine-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.theme-future .filevine-map>div{padding:13px 14px;border:1px solid #415f80;border-radius:10px;background:#193656}
.theme-future .filevine-map strong{color:#e7f4ff;font-size:14px}
.theme-future .filevine-map p{color:#c3d4e7;font-size:13px;line-height:1.6;margin:8px 0 0}
.theme-future .filevine-card ol{padding-left:22px;line-height:1.7;color:#d2dfed}
.theme-future .filevine-card li{margin:8px 0}
.theme-future .filevine-card a{color:#a8d7ff}
@media(max-width:760px){.theme-future .filevine-fields,.theme-future .filevine-map{grid-template-columns:minmax(0,1fr)}.theme-future .filevine-intro,.theme-future .filevine-card{padding:16px 14px}}

/* Let the longer demo integration navigation label fit narrow desktop sidebars. */
.theme-future .nav #filevine-nav{white-space:normal;text-align:left;line-height:1.35}
@media(max-width:600px){.theme-future .nav #filevine-nav{white-space:nowrap}}

/* QuickQ: visible unanswered question indicator and contained message forms. */
.theme-future .quickq-nav-count,.theme-future .quickq-alert .secondary{color:#fff}
.theme-future .quickq-nav-count{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:3px 6px;border-radius:16px;background:#c62828;font-size:12px;font-weight:800}
.theme-future .quickq-nav-count.hidden{display:none}
.theme-future .quickq-alert{margin-bottom:14px;border-color:#5c7697}
.theme-future .quickq-page{display:grid;gap:16px}
.theme-future .quickq-page>.card{padding:20px}
.theme-future .quickq-page form{display:grid;gap:12px}
.theme-future .quickq-page form label{display:grid;gap:6px}
.theme-future .quickq-page textarea,.theme-future .quickq-page select{max-width:100%;width:100%;box-sizing:border-box}
.theme-future .quickq-page form label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}
.theme-future .quickq-page input[type=checkbox]{width:auto}
.theme-future .quickq-page h2,.theme-future .quickq-page h3{margin:0 0 10px}
.theme-future .quickq-page article p{overflow-wrap:anywhere;white-space:pre-wrap}

/* New answers to the originating attorney, separate from unanswered Jim requests. */
.theme-future .quickq-reply-new{display:inline-block;border:1px solid #c65a54;border-radius:8px;padding:6px 10px;background:#622b35;color:#ffeced!important;font-size:13px;font-weight:700}
.theme-future [data-quickq-generate]{justify-self:start;max-width:100%;white-space:normal}
.theme-future [data-quickq-summary-status]{line-height:1.5}

/* Native disclosure keeps case lists compact and supports touch and keyboard. */
.case-details>summary{cursor:pointer;padding:10px 0;font-weight:600;min-height:44px;box-sizing:border-box}
.case-details>summary:focus-visible{outline:3px solid #86caff;outline-offset:3px}
.case-details p{white-space:pre-wrap}


/* Task register responds to available content width, including sidebar space. */
.task-register{container-type:inline-size;max-width:100%}
.task-table{table-layout:fixed}
.task-table th:first-child{width:34%}
.task-table td{vertical-align:top;overflow-wrap:anywhere;min-width:0}
.task-table .tasktitle{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.task-table select{width:100%;min-width:0;max-width:100%}
.task-case{margin-bottom:8px;line-height:1.5}
.task-notes{white-space:pre-wrap;line-height:1.5}
@container(max-width:1000px){
 .task-register .task-table,.task-register tbody{display:block;width:100%}
 .task-register thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .task-register .task-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:10px 16px;border-bottom:1px solid #2e435b}
 .task-register .task-row:last-child{border-bottom:0}
 .task-register .task-row>td{display:block;padding:0;border:0;min-width:0}
 .task-register .task-row>.task-description{grid-column:1/-1;padding:0 0 12px;box-shadow:none;border-bottom:1px solid #2e435b}
 .task-register td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a9c1d9;margin-bottom:6px}
 .task-register .calendar-status{max-width:100%;min-width:0;white-space:normal}
}
@media(max-width:1200px){
 .task-register .task-table,.task-register tbody{display:block;width:100%}
 .task-register thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .task-register .task-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:10px 16px;border-bottom:1px solid #2e435b}
 .task-register .task-row:last-child{border-bottom:0}
 .task-register .task-row>td{display:block;padding:0;border:0;min-width:0}
 .task-register .task-row>.task-description{grid-column:1/-1;padding:0 0 12px;box-shadow:none;border-bottom:1px solid #2e435b}
 .task-register td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a9c1d9;margin-bottom:6px}
 .task-register .calendar-status{max-width:100%;min-width:0;white-space:normal}
}
@container(max-width:400px){.task-register .task-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px 12px}}

/* Password recovery remains a button semantically, but reads as a quiet text link. */
#login-form #forgot-password.login-text-link{display:block;width:max-content;max-width:100%;margin:14px 0 0 auto;padding:4px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#205cab;font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.theme-future #login-form #forgot-password.login-text-link{color:#b7d6ff}
#login-form #forgot-password.login-text-link:hover{color:#2677db;text-decoration-thickness:2px}
.theme-future #login-form #forgot-password.login-text-link:hover{color:#eff7ff}
#login-form #forgot-password.login-text-link:focus-visible{outline:2px solid #6fa9ff;outline-offset:4px;border-radius:2px}

/* Task filters use the available content width, not just viewport size. */
.task-filter-disclosure{container-type:inline-size;border:1px solid #d7e1e5;border-radius:14px;background:#fff;min-width:0;margin-top:14px;overflow:hidden}
.task-filter-disclosure>summary{cursor:pointer;padding:15px 20px;font-weight:700;list-style:disclosure-closed;list-style-position:inside;overflow-wrap:anywhere}
.task-filter-disclosure[open]>summary{list-style:disclosure-open}
.task-filter-disclosure>summary::marker{color:#399bf5}
.task-filter-disclosure>summary:focus-visible{outline:2px solid #52a8ff;outline-offset:-3px}
.task-filter-summary-hint{font-weight:400;font-size:.85em;opacity:.75;margin-left:10px}
.task-filter-disclosure .taskfilters{border:0;box-shadow:none;border-radius:0;background:transparent;padding:8px 20px 18px;min-width:0}
.task-filter-disclosure .taskfilters label,.task-filter-disclosure .taskfilters select{min-width:0;max-width:100%}
@container (max-width:680px){.task-filter-disclosure .taskfilters{grid-template-columns:minmax(0,1fr)}}
.theme-future .task-filter-disclosure{background:linear-gradient(160deg,#162741ed,#10203aef);border-color:#344762;color:var(--ink)}
.theme-future .task-filter-disclosure>summary{color:#eaf4ff}
@media(max-width:470px){.task-filter-disclosure>summary{padding:13px 14px}.task-filter-disclosure .taskfilters{padding:8px 14px 14px}.task-filter-summary-hint{display:block;margin:4px 0 0 20px}}

/* Knowledge Library: prevent narrow desktop/iPad sidebars from squeezing the
   heading into letters; align native select controls within their content box. */
.theme-future .kd-library-conversation-first{container-type:inline-size}
.theme-future .kd-library-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}
.theme-future .kd-library-intro>*{min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal}
.theme-future .kd-library-intro .kd-focus-eyebrow{overflow-wrap:normal;word-break:normal;white-space:normal;letter-spacing:.12em}
.theme-future .kd-library-conversation-picker>#kd-consult-teacher,
.theme-future .kd-library-conversation-picker>#kd-chat-select{display:block;box-sizing:border-box;grid-column:1/-1;width:100%;min-width:0;max-width:100%;min-height:44px;margin:0;padding:10px 38px 10px 12px;appearance:auto;overflow:hidden;text-overflow:ellipsis}
.theme-future .kd-library-conversation-picker>.kd-reason-actions{grid-column:1/-1;justify-self:start;margin-top:8px}
.theme-future .kd-library-conversation-picker>.kd-reason-actions button{white-space:normal;overflow-wrap:anywhere}
@container (min-width:780px){
 .theme-future .kd-library-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;column-gap:22px}
 .theme-future .kd-library-intro .kd-focus-eyebrow{grid-column:1/-1}
 .theme-future .kd-library-intro h2{grid-column:1;margin-top:0}
 .theme-future .kd-library-intro>p:last-child{grid-column:2}
 .theme-future .kd-library-conversation-picker>#kd-chat-select{grid-column:1}
 .theme-future .kd-library-conversation-picker>.kd-reason-actions{grid-column:2;align-self:end;margin:0}
}
@container (max-width:779px){
 .theme-future .kd-library-intro{grid-template-columns:minmax(0,1fr)}
 .theme-future .kd-library-conversation-picker{grid-template-columns:minmax(0,1fr)}
 .theme-future .kd-library-conversation-picker>.kd-reason-actions{grid-column:1}
}

/* Native iPad select menus constrain long options to a narrow browser-controlled
   column. The conversation picker is a keyboard-accessible HTML disclosure. */
.theme-future .kd-library-conversation-picker>.kd-chat-picker-label{grid-column:1/-1;font-size:13px;font-weight:650;color:#c9ddf6;margin:4px 0 0}
.theme-future .kd-library-conversation-picker>.kd-chat-picker{grid-column:1/-1;min-width:0;position:relative}
.theme-future .kd-chat-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
.theme-future .kd-chat-picker>summary::-webkit-details-marker{display:none}
.theme-future .kd-chat-picker>summary::marker{content:''}
.theme-future .kd-chat-picker>summary #kd-chat-picker-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-future .kd-chat-picker>summary:focus-visible,.theme-future .kd-chat-picker-option:focus-visible{outline:3px solid #89cbff;outline-offset:2px}
.theme-future .kd-chat-picker-chevron{display:none}
.theme-future .kd-chat-picker[open] .kd-chat-picker-chevron{transform:rotate(180deg)}
.theme-future .kd-chat-picker-options{display:grid;gap:4px;width:100%;max-height:min(55vh,490px);overflow-y:auto;overscroll-behavior:contain;margin-top:8px;padding:8px;background:#13243d;border:1px solid #526780;border-radius:12px}
.theme-future .kd-chat-picker-option{display:grid;gap:5px;width:100%;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:8px;background:transparent;color:#edf5ff;padding:12px 14px;cursor:pointer;font:inherit}
.theme-future .kd-chat-picker-option:hover{background:#274666}
.theme-future .kd-chat-picker-option small{color:#a9c2e4;font-size:12px}
.theme-future .kd-chat-picker-option:disabled{opacity:.55;cursor:not-allowed}
@container (max-width:779px){.theme-future .kd-library-conversation-picker>.kd-chat-picker{grid-column:1}}
@media(max-width:470px){.theme-future .kd-chat-picker-option{padding:13px 10px}}

/* Match the visible native teacher selector while retaining the roomy menu when open. */
.theme-future .kd-library-conversation-picker>.kd-chat-picker{width:100%}
.theme-future .kd-library-conversation-picker>.kd-chat-picker>summary{width:100%;box-sizing:border-box}


/* One explicit compact field appearance for Safari's select and the disclosure.
   Native select painting otherwise ignores part of the requested field sizing. */
.theme-future .kd-library-conversation-picker>#kd-consult-teacher,
.theme-future .kd-library-conversation-picker>.kd-chat-picker>summary{
 -webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;height:32px;min-height:32px;
 margin:0;padding:5px 32px 5px 8px;border:1px solid #526780;border-radius:8px;
 background-color:#0c1b30;color:#f0f7ff;font-family:inherit;font-size:16px;font-weight:400;line-height:20px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='20' viewBox='0 0 16 20'%3E%3Cpath d='m4 7 4-4 4 4M4 13l4 4 4-4' fill='none' stroke='%23899bb3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 8px center;background-size:16px 20px;
}
.theme-future .kd-library-conversation-picker>#kd-consult-teacher:focus-visible{outline:3px solid #89cbff;outline-offset:2px}

/* Administrator QuickQ oversight: compact read-only entries and responsive filters. */
.quickq-admin-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.quickq-admin-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:12px}
.quickq-admin-filters label,.quickq-admin-entry{min-width:0}
.quickq-admin-entry>summary{cursor:pointer;overflow-wrap:anywhere;font-weight:650;padding:8px 0}
.quickq-admin-entry>summary:focus-visible{outline:3px solid #89cbff;outline-offset:3px}
.quickq-admin-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1000px){.quickq-admin-filters{grid-template-columns:minmax(0,1fr)}}

/* Management account editor and shared action dialogs use the application theme. */
.theme-future dialog#modal{max-height:90vh;max-height:90dvh;overflow:auto}
.theme-future #editor.account-editor .account-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.theme-future .account-editor-fields>div{min-width:0}
.theme-future #editor.account-editor label{margin:0 0 7px;font-size:13px;color:#d6e7fa}
.theme-future #editor.account-editor input,.theme-future #editor.account-editor select{min-height:44px;max-width:100%}
.theme-future #editor.account-editor input[readonly]{color:#b8cce5;background:#14253a;cursor:default}
.theme-future .account-editor-fields .account-teaching-field,.theme-future .account-access-help{grid-column:1/-1}
.theme-future #editor.account-editor .account-teaching-field>label{display:flex;align-items:center;gap:10px;margin:0}
.theme-future #editor.account-editor input[type="checkbox"]{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:#46b9ff}
.theme-future .account-teaching-field p,.theme-future .account-access-help{margin:8px 0 0;line-height:1.55}
.theme-future .account-editor-error{color:#ffb7bd;line-height:1.5;overflow-wrap:anywhere}
.theme-future .account-editor-error:empty{display:none}
.theme-future #editor.account-editor .actions{flex-wrap:wrap}
.theme-future #editor.account-editor .actions button{min-height:44px}
dialog.prb-confirm .prb-confirm-body{min-width:0}
dialog.prb-confirm p{overflow-wrap:anywhere}
dialog.prb-confirm .danger{background:#8e3347;color:#fff;border:1px solid #e28b9c;padding:11px 17px;border-radius:9px;cursor:pointer;font-weight:650}
dialog.prb-confirm .danger:hover{background:#a43e54}
dialog.prb-confirm .danger:focus-visible{outline:3px solid #86caff;outline-offset:3px}
@media(max-width:530px){
 .theme-future #editor.account-editor{padding:20px 16px}
 .theme-future #editor.account-editor .account-editor-fields{grid-template-columns:minmax(0,1fr)}
 .theme-future #editor.account-editor .actions button{flex:1 1 110px}
}

/* Spoken Overview briefing: explicit playback controls and a readable transcript. */
.theme-future .overview-briefing{margin-bottom:18px;min-width:0}
.theme-future .overview-briefing-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.theme-future .overview-briefing h2{margin:0;font-size:19px}
.theme-future .overview-briefing-actions{display:flex;gap:10px;flex-wrap:wrap}
.theme-future .overview-briefing-actions button{min-height:44px}
.theme-future .overview-briefing>p{line-height:1.55;overflow-wrap:anywhere}
.theme-future .overview-briefing-auto{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#c1d4ed;font-size:13px;font-weight:500}
.theme-future .overview-briefing-auto input{width:18px;height:18px;accent-color:#46b9ff}
.theme-future .overview-briefing details[hidden]{display:none}
.theme-future .overview-briefing summary{cursor:pointer;color:#c6e3ff;font-weight:650;line-height:1.5}
.theme-future .overview-briefing summary:focus-visible{outline:3px solid #86caff;outline-offset:3px}
.theme-future .overview-briefing [data-daily-text]{max-height:480px;overflow:auto;margin-top:14px;line-height:1.6;overflow-wrap:anywhere}
.theme-future .overview-briefing li{margin:10px 0}
.theme-future .overview-briefing li>span{display:block;color:#b2c4dd;font-size:13px}
.theme-future .overview-briefing [data-daily-text] h3{font-size:16px;margin-top:20px}
@media(max-width:530px){
 .theme-future .overview-briefing{padding:18px 15px}
 .theme-future .overview-briefing-actions{width:100%}
 .theme-future .overview-briefing-actions button{flex:1 1 auto}
}

/* Keep signed-in identity visible for every role and viewport. */
.theme-future .header-right #signed-in-user{display:block;max-width:100%;min-width:0;flex:1 0 100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-weight:650;color:#edf6ff}
.theme-future .header-right #signed-in-user.hidden{display:none}
.theme-future .overview-work-view{margin:0 0 18px;max-width:100%}
.theme-future .overview-work-view select{min-height:44px;max-width:100%;width:min(100%,340px)}
.theme-future .overview-work-view p{margin:9px 0;line-height:1.6}
.theme-future .overview-cases{margin-top:18px}
.theme-future .overview-cases summary,.theme-future .overview-more summary{cursor:pointer;min-height:44px;display:list-item;padding:12px 0;color:#e7f1ff;font-weight:650}
.theme-future .overview-cases li{margin:10px 0;overflow-wrap:anywhere}
.theme-future .overview-more{margin-top:12px;border-top:1px solid #344762}


/* Calendar entries keep each piece of information readable at phone widths. */
.theme-future .calendar-event-meta{min-width:0}
.theme-future .calendar-event-meta p{margin:4px 0 0}
.theme-future .calendar-event-date{font-weight:600;color:#d4e5fa}
.theme-future .calendar-event-details{margin-top:8px;min-width:0}
.theme-future .calendar-event-details>summary{display:list-item;cursor:pointer;color:#c6e3ff;font-size:13px;font-weight:650;padding:8px 0;min-height:36px}
.theme-future .calendar-event-details>summary:focus-visible{outline:3px solid #86caff;outline-offset:2px}
.theme-future .calendar-event-details p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){
 .theme-future .calendar-event{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .theme-future .calendar-event-main{width:100%;min-width:0}
 .theme-future .calendar-event-badges{width:min(100%,300px);max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start}
 .theme-future .calendar-event-status-control{width:100%;min-width:0;justify-content:flex-start;margin:4px 0 0;white-space:normal}
 .theme-future .calendar-event-status-control select{flex:1;min-width:0;max-width:100%;min-height:44px;font-size:16px}
 .theme-future .calendar-event-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
 .theme-future .calendar-event-details>summary{min-height:44px;padding:11px 0}
}


/* Icons and explicit labels distinguish assigned work from appointments. */
.theme-future .work-entry-kind{display:flex;align-items:center;gap:6px;margin:0 0 5px;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.04em}
.theme-future .work-entry-kind svg{width:17px;height:17px;flex:none}
.theme-future .work-entry-kind--task{color:#9ee2cf}
.theme-future .work-entry-kind--calendar{color:#b9d7ff}
.theme-future .task-description .tasktitle{display:block;max-width:100%;padding:3px 0;line-height:1.5;text-align:left}
.theme-future .task-description .task-case{margin:5px 0 0}
.theme-future .task-details{margin-top:5px;min-width:0}
.theme-future .task-details>summary{display:list-item;cursor:pointer;min-height:36px;padding:8px 0;color:#c6e3ff;font-size:12px;font-weight:650}
.theme-future .task-details>summary:focus-visible{outline:3px solid #86caff;outline-offset:2px}
.theme-future .task-details .task-notes{margin:3px 0 6px;overflow-wrap:anywhere}
.theme-future .task-completed{margin:5px 0 0;overflow-wrap:anywhere}
@container(max-width:1000px){
 .task-register .task-row>td[data-label="Status"]{grid-column:1/-1}
 .task-register .task-row>td[data-label]{font-size:13px;line-height:1.45}
 .task-register td[data-label]::before{font-size:10px;margin-bottom:3px}
 .task-register .task-row select{min-height:44px;font-size:16px}
 .task-register .tasktitle{min-height:44px}
 .task-register .task-details>summary{min-height:44px;padding:11px 0}
}
/* Fallback for browsers without container queries. */
@supports not (container-type:inline-size){
 @media(max-width:1200px){
  .task-register .task-row>td[data-label="Status"]{grid-column:1/-1}
  .task-register .task-row>td[data-label]{font-size:13px;line-height:1.45}
  .task-register td[data-label]::before{font-size:10px;margin-bottom:3px}
  .task-register .task-row select{min-height:44px;font-size:16px}
 }
}

/* Management voice choices use the same accessible controls on all screens. */
.theme-future .management-voice-options{max-width:720px}
.theme-future .management-voice-options select{display:block;width:min(100%,420px);min-height:44px;font-size:16px;margin:6px 0 16px}
.theme-future .management-voice-options p{line-height:1.6;overflow-wrap:anywhere}
.theme-future .management-voice-options button{min-height:44px;margin-top:8px}


/* The exact opening story is available beside the title on every interview view. */
.theme-future .kd-initial-story{margin:10px 0 16px;border:1px solid #3a5676;border-radius:12px;background:#10223b;min-width:0}
.theme-future .kd-initial-story>summary{display:list-item;list-style-position:inside;padding:12px 14px;min-height:44px;color:#d6eaff;font-weight:650;cursor:pointer}
.theme-future .kd-initial-story>summary:focus-visible{outline:3px solid #86caff;outline-offset:2px}
.theme-future .kd-initial-story-text{padding:0 14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#cfddf0}
.theme-future .kd-focus-actions .kd-exit-unsaved{min-height:44px;border:1px solid #997483;color:#ffdae1;background:#352638}
@media(max-width:600px){
 .theme-future .kd-focus-actions .kd-exit-unsaved{width:100%}
 .theme-future .kd-discard-actions button{min-height:44px;white-space:normal}
}

/* Administrator briefing wording controls share the app theme on all screens. */
.briefing-wording-editor { margin-top:24px; border-top:1px solid var(--border); padding-top:16px; }
.briefing-wording-editor summary { min-height:44px; cursor:pointer; font-weight:700; }
.briefing-wording-editor fieldset { min-width:0; margin:16px 0; padding:16px; border:1px solid #425c78; border-radius:12px; }
.briefing-wording-editor legend { font-weight:700; padding:0 6px; }
.briefing-wording-editor textarea { width:100%; box-sizing:border-box; font-size:16px; }
.briefing-wording-editor .wording-toggle { display:flex; align-items:center; gap:10px; min-height:44px; }
.briefing-wording-editor input[type=checkbox] { width:20px; height:20px; flex-shrink:0; }
.wording-actions { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.briefing-wording-editor button,.briefing-wording-editor select { min-height:44px; }
#wording-preview-text { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
#wording-preview-audio { max-width:100%; width:100%; }
@media(max-width:600px){.wording-actions button{width:100%;}.briefing-wording-editor fieldset{padding:10px;}}

/* Briefing disclosure stays collapsed independently of automatic audio. */
.theme-future .overview-briefing>summary{min-height:44px;font-size:19px;line-height:1.5;padding:5px 0;}
.theme-future .overview-briefing-content{padding-top:14px;}
.theme-future .overview-briefing-content>p{line-height:1.55;overflow-wrap:anywhere;}

/* Sign-in purpose statement wraps naturally on phone and tablet widths. */
#login-form .login-tagline{font-size:1rem;line-height:1.5;font-weight:500;margin:0 0 20px;text-align:center;text-wrap:pretty}

/* Each task is a complete, separately bounded work card at every screen width. */
.task-card-list{display:grid;gap:18px;min-width:0}
.task-card{--task-border:#627c9b;min-width:0;padding:18px 20px;border:2px solid var(--task-border);border-radius:14px;background:#14253c;box-shadow:0 4px 16px #00000018;color:#ecf4ff}
.task-card--past{--task-border:#ef7880}
.task-card--today{--task-border:#ffad6b}
.task-card--soon{--task-border:#edcb59}
.task-card--completed{--task-border:#47d7af}
.task-card-heading{min-width:0}
.task-card-heading h3{margin:0;font-size:17px;line-height:1.4}
.task-card .tasktitle{display:inline-block;max-width:100%;min-height:44px;padding:6px 0;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-size:inherit}
.task-card .task-case{margin:0;line-height:1.5;overflow-wrap:anywhere}
.task-card .work-entry-kind{margin:0;font-size:11px}
.task-card-facts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(130px,1.2fr);gap:12px 18px;align-items:start;margin:16px 0 0}
.task-card-facts>div{min-width:0}
.task-card-facts dt{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a9c1d9;line-height:1.4;margin:0 0 5px}
.task-card-facts dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.task-card-facts .calendar-status{min-width:0;max-width:100%;white-space:normal}
.task-card-facts select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;font-size:16px}
.task-card .task-details{margin:10px 0 0}
.task-card .task-details>summary{width:fit-content;max-width:100%;min-height:44px;padding:11px 0;font-size:13px}
.task-card .task-notes{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}
.task-card .task-completed{margin:8px 0 0}
@container(max-width:850px){
 .task-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
 .task-card-status{grid-column:1/-1;max-width:320px;width:100%}
}
@container(max-width:420px){
 .task-card{padding:14px 16px}
 .task-card-list{gap:16px}
 .task-card-heading h3{font-size:16px}
 .task-card-facts{gap:12px}
 .task-card-status{max-width:none}
}
@supports not (container-type:inline-size){
 @media(max-width:1200px){
  .task-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .task-card-status{grid-column:1/-1;max-width:320px;width:100%}
 }
 @media(max-width:470px){
  .task-card{padding:14px 16px}
  .task-card-status{max-width:none}
 }
}

/* Separate calendar cards keep the full event inside its timing boundary. */
.theme-future .calendar-card-list{display:grid;gap:18px;min-width:0;container-type:inline-size}
.theme-future .calendar-card-list>.calendar-event{
 --event-border:#627c9b;
 display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);
 gap:20px;margin:0;padding:18px 20px;min-width:0;
 border:2px solid var(--event-border);border-radius:14px;
 background:#14253c;box-shadow:0 3px 10px #020b1526;
}
.theme-future .calendar-card-list>.calendar-event--past{--event-border:#ef7880}
.theme-future .calendar-card-list>.calendar-event--today{--event-border:#ffad6b}
.theme-future .calendar-card-list>.calendar-event--soon{--event-border:#edcb59}
.theme-future .calendar-card-list>.calendar-event--completed{--event-border:#47d7af}
.theme-future .calendar-card-list>.calendar-event--cancelled{--event-border:#8c9bb1}
.theme-future .calendar-card-list .calendar-event-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;text-align:left;overflow-wrap:anywhere}
.theme-future .calendar-card-list .calendar-event-date{font-size:1.05rem;font-weight:700;color:#e5f1ff}
.theme-future .calendar-card-list .calendar-event-badges{width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.theme-future .calendar-card-list .calendar-event-status-control{width:100%;min-width:0;white-space:normal;justify-content:flex-start}
.theme-future .calendar-card-list .calendar-event-status-control select{flex:1;min-width:0;max-width:100%;min-height:44px;font-size:16px}
.theme-future .calendar-card-list .calendar-event-details>summary{min-height:44px;padding:11px 0}
@container (max-width:850px){
 .theme-future .calendar-card-list>.calendar-event{grid-template-columns:minmax(0,1fr);gap:12px}
 .theme-future .calendar-card-list .calendar-event-badges{max-width:320px;justify-content:start}
}
@container (max-width:420px){
 .theme-future .calendar-card-list{gap:16px}
 .theme-future .calendar-card-list>.calendar-event{padding:14px 16px}
 .theme-future .calendar-card-list .calendar-event-badges{max-width:100%}
}
@supports not (container-type:inline-size){
 @media(max-width:1200px){
  .theme-future .calendar-card-list>.calendar-event{grid-template-columns:minmax(0,1fr);gap:12px}
  .theme-future .calendar-card-list .calendar-event-badges{max-width:320px}
 }
 @media(max-width:470px){
  .theme-future .calendar-card-list>.calendar-event{padding:14px 16px}
  .theme-future .calendar-card-list .calendar-event-badges{max-width:100%}
 }
}

.case-work-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.case-work-actions button{min-height:44px;white-space:normal}

/* Wide calendar registers use the available width for date and assignment. */
@container (min-width:851px){
 .theme-future .calendar-card-list>.calendar-event{grid-template-columns:minmax(0,1fr) 220px;gap:24px}
 .theme-future .calendar-card-list .calendar-event-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:4px 24px;align-items:start}
 .theme-future .calendar-card-list .calendar-event-main>.work-entry-kind{grid-column:1;grid-row:1}
 .theme-future .calendar-card-list .calendar-event-link{grid-column:1;grid-row:2;min-height:0;padding:0;line-height:1.5}
 .theme-future .calendar-card-list .calendar-event-meta{display:contents}
 .theme-future .calendar-card-list .calendar-event-date{grid-column:2;grid-row:1/4;margin:0;font-size:14px;line-height:1.5}
 .theme-future .calendar-card-list .calendar-event-assignee{grid-column:3;grid-row:1/4;margin:0;line-height:1.5;overflow-wrap:anywhere}
 .theme-future .calendar-card-list .calendar-event-date::before{content:"Date & time"}
 .theme-future .calendar-card-list .calendar-event-assignee::before{content:"Assignment"}
 .theme-future .calendar-card-list .calendar-event-date::before,
 .theme-future .calendar-card-list .calendar-event-assignee::before{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:#a9c1d9}
 .theme-future .calendar-card-list .calendar-event-case{grid-column:1;grid-row:3;overflow-wrap:anywhere}
 .theme-future .calendar-card-list .calendar-event-details{grid-column:1/-1;grid-row:4;margin-top:8px}
 .theme-future .calendar-card-list .calendar-event-badges{align-self:start;gap:12px}
}

/* Desktop case rows distribute information without changing touch layouts. */
@media (min-width:1200px) and (hover:hover) and (pointer:fine){
 .theme-future .case-list-copy{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(150px,1fr) minmax(180px,auto);gap:8px 28px;align-items:start;width:100%}
 .theme-future .case-list-copy>.case-title{grid-column:1;grid-row:1;text-align:left}
 .theme-future .case-list-copy>.case-number{grid-column:1;grid-row:2;margin:0}
 .theme-future .case-list-copy>.case-details{grid-column:1/-1;grid-row:4}
 .theme-future .case-list-copy>.case-owner{grid-column:2;grid-row:1/3;margin:0}
 .theme-future .case-list-copy>.case-lifecycle{grid-column:2;grid-row:3;margin:0}
 .theme-future .case-list-copy>.case-work-actions{grid-column:3;grid-row:1/4;margin:0;display:grid;gap:10px}
}

/* Overview tasks keep timing on the boundary and priority on a separate badge. */
.theme-future .overview-task-item.task-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin:0 0 14px;border:2px solid var(--task-border);border-radius:12px;background:#14253c;min-width:0}
.theme-future .overview-task-item.task-card:last-child{margin-bottom:0}
.theme-future .overview-task-copy{width:100%}
.theme-future .overview-task-item p{margin:5px 0 0}
.theme-future .overview-task-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.theme-future .overview-task-badges .calendar-status{min-width:0;padding:4px 10px;font-size:12px}
.theme-future .overview-priority{border:1px solid transparent;font-size:12px;padding:4px 10px}
.theme-future .overview-priority--critical{color:#ffe4e7;background:#792c3a;border-color:#ef7880;font-weight:800}
.theme-future .overview-priority--high{color:#fff0c2;background:#61491e;border-color:#d3a94c;font-weight:700}
.theme-future .overview-priority--normal{color:#d1ddec;background:#293c55;border-color:#526881}
.theme-future .overview-priority--low{color:#d5dbe3;background:#303d4b;border-color:#5a6979}
@media(max-width:650px){.theme-future .overview-task-item.task-card{padding:12px;gap:8px}}

/* Teaching Session feedback: readable status remains prominent while disabled. */
.theme-future .kd-input-mode{gap:10px;margin:16px 0 12px}
.theme-future .kd-input-mode button{min-height:44px;font-weight:750;color:#fff;border:2px solid transparent;box-shadow:none;padding:10px 18px}
.theme-future .kd-input-mode [data-kd-input-mode="type"]{background:#21559b;border-color:#5795e0}
.theme-future .kd-input-mode [data-kd-input-mode="dictate"]{background:#116356;border-color:#42b7a4}
.theme-future .kd-input-mode [data-kd-input-mode="live"]{background:#604294;border-color:#af8cde}
.theme-future .kd-input-mode button:hover{filter:brightness(1.15)}
.theme-future .kd-input-mode button[aria-pressed="true"]{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #ffffff12}
.theme-future .kd-input-mode button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.theme-future .kd-session-resume.is-loading,.theme-future .kd-session-resume.is-loading:disabled{background:#f1c263;color:#172536;border-color:#ffe1a1;opacity:1;cursor:progress;gap:8px}
.kd-session-resume.is-loading::before,.kd-live-launch[data-state="connecting"]::before,.kd-live-launch[data-state="thinking"]::before{content:"";display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:kd-next-spin .8s linear infinite;flex:none}
.theme-future .kd-answer-toolbar #kd-next:disabled{background:#344458;color:#bdc9d6;border:1px solid #637187;box-shadow:none;opacity:1;cursor:default}
.theme-future .kd-answer-toolbar .kd-live-launch,.theme-future .kd-answer-toolbar .kd-live-launch:disabled{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;min-width:220px;background:#604294;color:#fff;border:2px solid #af8cde;font-weight:800;opacity:1;box-shadow:none}
.theme-future .kd-live-launch[data-state="connecting"],.theme-future .kd-live-launch[data-state="thinking"],.theme-future .kd-live-launch[data-state="paused"]{background:#edbe62!important;color:#172536!important;border-color:#ffe1a1!important}
.theme-future .kd-live-launch[data-state="speaking"]{background:#245fae!important;border-color:#8ac4ff!important}
.theme-future .kd-live-launch[data-state="listening"]{background:#146b42!important;border-color:#77d69c!important}
.theme-future .kd-live-launch[data-state="muted"]{background:#3d4a5d!important;border-color:#a1afc1!important}
.theme-future .kd-live-launch[data-state="error"]{background:#9f3546!important;border-color:#ffa1ad!important}
.kd-live-launch[data-state="speaking"]::before,.kd-live-launch[data-state="listening"]::before{content:"";width:10px;height:10px;background:currentColor;border-radius:50%;flex:none;box-shadow:0 0 0 4px #ffffff24}
.theme-future .kd-focus-top strong{color:#edf5ff}
@media(max-width:600px){.theme-future .kd-answer-toolbar .kd-live-launch{width:100%;min-width:0}.theme-future .kd-input-mode button{min-width:0}}
@media(prefers-reduced-motion:reduce){.kd-session-resume.is-loading::before,.kd-live-launch[data-state="connecting"]::before,.kd-live-launch[data-state="thinking"]::before{animation:none}}

/* Privacy Registry: fictional administrator preview only. */
.theme-future .privacy-registry{display:grid;gap:14px;min-width:0}
.theme-future .privacy-status{padding:11px 14px;border:1px solid #4c687b;border-radius:8px;line-height:1.55}
.theme-future .privacy-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px 18px}
.theme-future .privacy-form label{display:grid;gap:6px;min-width:0}
.theme-future .privacy-form .privacy-auto{display:flex;align-items:center;flex-wrap:wrap;grid-column:1;gap:10px;min-height:44px;line-height:1.5}
.theme-future .privacy-form .privacy-auto--inactive{opacity:.65}
.theme-future .privacy-form button[type=submit]{grid-column:2;justify-self:start;min-width:160px;min-height:44px}
@media(max-width:600px){.theme-future .privacy-form{grid-template-columns:minmax(0,1fr)}.theme-future .privacy-form .privacy-auto,.theme-future .privacy-form button[type=submit]{grid-column:1}.theme-future .privacy-form button[type=submit]{width:100%}}
.theme-future .privacy-form input[type=checkbox]{width:auto}
.theme-future .privacy-registry pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;border:1px solid #3e6074;border-radius:7px;padding:12px;line-height:1.5}
.theme-future .privacy-registry .tablewrap{overflow-x:auto}
.theme-future .privacy-registry code{overflow-wrap:anywhere}
.theme-future .privacy-preview-results h4{margin:14px 0 6px}

/* Single-name masking policy editor: remains within its dictionary row. */
.theme-future .privacy-edit-row td{background:rgba(65,135,195,.1);padding:18px 16px}
.theme-future .privacy-edit-row form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:720px}
.theme-future .privacy-edit-row strong{font-size:15px}
.theme-future .privacy-edit-row label{display:grid;gap:6px;max-width:360px}
.theme-future .privacy-edit-row select{max-width:100%;min-height:44px}
.theme-future .privacy-edit-row .privacy-single-warning{border-left:3px solid #c8a568;padding:8px 12px;line-height:1.5;margin:0}
.theme-future .privacy-edit-actions{display:flex;flex-wrap:wrap;gap:10px}
.theme-future .privacy-edit-actions button{min-height:44px}
.theme-future .privacy-edit-row [role=status]:empty{display:none}
