@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');

/* EasySec foundation — approved green/white theme. See DESIGN.md before extending. */
:root {
 --primary:#246b50; --primary-hover:#19563e; --primary-strong:#173f30; --primary-soft:#eaf1eb;
 --background:#f4f6f3; --surface:#fff; --surface-secondary:#f7f9f7; --surface-hover:#edf3ee;
 --text-primary:#26372f; --text-secondary:#4e6357; --text-muted:#586b60; --text-on-primary:#fff;
 --border:#dfe5df; --border-control:#b8c8bd; --divider:#e8ede9;
 --success:#246b50; --success-soft:#edf5ef; --success-border:#c5dccc;
 --warning:#80550f; --warning-soft:#fff3d9; --warning-border:#e6cf9b;
 --danger:#a33333; --danger-soft:#fff1f0; --danger-border:#e4b8b5;
 --info:#285b7a; --info-soft:#edf5fa; --info-border:#bed4e1;
 --focus:var(--primary); --selection:#d7eadc; --disabled-surface:#edf1ed; --disabled-text:#596c60;
 --font-body:'DM Sans',Arial,sans-serif; --font-heading:'Manrope',Arial,sans-serif;
 --text-xs:12px; --text-sm:14px; --text-md:16px; --text-lg:18px; --text-xl:23px; --text-2xl:28px;
 --leading-body:1.5; --leading-copy:1.6;
 --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-8:32px;
 --radius-small:5px; --radius-control:7px; --radius-card:12px; --radius-panel:12px; --radius-round:50%;
 --shadow-none:none; --shadow-overlay:0 16px 48px #173f3026; --backdrop:#142a2460;
 --transition-fast:140ms; --transition-standard:200ms; --ease-standard:cubic-bezier(.2,0,0,1);
 /* One identity-neutral assistant palette. These tokens do not add UI or state. */
 --assistant-surface:var(--surface); --assistant-border:var(--border); --assistant-highlight:#edf4ef;
 --assistant-message-surface:var(--surface-secondary); --assistant-message-text:var(--text-primary);
 --assistant-user-surface:var(--primary-soft); --assistant-user-text:var(--primary-strong);
 --assistant-guidance-surface:var(--assistant-highlight); --assistant-action-surface:var(--surface);
 --assistant-avatar-size:48px; --assistant-compact-avatar-size:36px; --assistant-minimized-size:48px; --assistant-panel-width:480px;
 --assistant-panel-radius:0px; --assistant-mobile-inset:12px; --assistant-shadow:-10px 0 40px #142a2420;
 /* Compatibility aliases: existing surfaces keep using these names. */
 --green:var(--primary); --line:var(--border); --ui-muted:var(--text-muted); --ui-focus:var(--focus);
 --ui-surface:var(--surface); --ui-control-radius:var(--radius-control);
}
.table-wrap{overflow-x:auto}.nav:not(.selected){background:transparent;color:var(--text-secondary)}.nav:hover{background:var(--surface-hover)}.nav.selected{background:var(--primary-soft);color:var(--primary)}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}#login-form input{font-size:14px}
:root{font-family:var(--font-body);color:var(--text-primary);background:var(--background);font-size:var(--text-sm);--green:var(--primary);--line:var(--border)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:#33483d;border-radius:var(--radius-control);padding:10px 16px;font-weight:600}button:hover{background:var(--surface-hover)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:var(--text-on-primary);border-color:var(--green)}.primary:hover{background:var(--primary-hover)}header{height:78px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{font-family:var(--font-heading);font-size:21px;font-weight:800;display:flex;align-items:center;gap:11px}.logo{background:var(--green);color:var(--text-on-primary);border-radius:9px;padding:8px 11px}.sub{color:var(--text-muted);font-size:12px;font-weight:400}.row{display:flex;align-items:center;gap:12px}.avatar{border-radius:50%;background:#e4ede6;color:var(--green);padding:12px;font-weight:700}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 78px)}aside{padding:28px 20px;background:var(--surface);border-right:1px solid var(--line)}.nav{display:block;width:100%;text-align:left;border:0;background:var(--primary-soft);color:var(--green);margin:12px 0;padding:13px}.side-note{margin-top:42px;padding:16px;background:#f5f7f4;border-radius:8px;font-size:12px;line-height:1.7;color:#738077}main{padding:32px 38px;max-width:1500px;width:100%;margin:auto}h1,h2,h3{font-family:var(--font-heading);margin-top:0}h1{font-size:var(--text-2xl);letter-spacing:-.8px;margin-bottom:8px}h2{font-size:var(--text-lg)}h3{font-size:var(--text-sm)}p{line-height:1.6}.muted{color:var(--text-muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#718077;margin-bottom:12px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.badge{display:inline-block;padding:6px 10px;background:var(--primary-soft);color:var(--primary);border-radius:5px;font-size:11px;font-weight:700}.cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:22px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-5)}.cards .card{margin:0}.stat{font-family:Manrope;font-size:27px;font-weight:700;margin-top:14px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.notice{background:var(--success-soft);border:1px solid #d8e9dc;border-radius:var(--radius-control);padding:14px 18px;color:#3d6751;line-height:1.6;margin:16px 0}.steps{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:22px}.step{font-size:11px;color:#8a958d;position:relative;line-height:1.5}.dot{width:29px;height:29px;border-radius:50%;background:#f0f2ef;display:flex;align-items:center;justify-content:center;margin-bottom:9px;border:1px solid var(--line);font-weight:700}.done .dot{background:#e5f0e7;color:var(--primary)}.current .dot{background:var(--green);color:var(--text-on-primary);border-color:var(--green)}.current{color:var(--primary);font-weight:700}.step:after{content:'';height:1px;background:var(--line);position:absolute;top:14px;left:35px;right:5px}.step:last-child:after{display:none}dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:0}dt{font-size:12px;color:var(--text-muted);margin-bottom:5px}dd{margin:0;font-weight:500;line-height:1.5}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;color:var(--text-secondary)}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid var(--border-control);border-radius:6px;padding:11px;margin-top:7px;background:var(--surface);color:#2c4033}input:focus,select:focus{outline:2px solid #afd4b9}.check{display:flex;gap:9px;align-items:center;padding:15px 0;font-size:14px;color:#33483d}.check input{accent-color:var(--green)}.file,.person{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #edf0eb;gap:14px}.file:last-child{border:0}.file small{display:block;color:var(--text-muted);margin-top:5px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.checks{list-style:none;padding:0;margin:10px 0}.checks li{padding:8px 0;color:#456150}.checks li:before{content:'✓';color:#2b8654;font-weight:bold;margin-right:12px}.history{border-left:1px solid #dce6dd;margin:15px 0 0 5px;padding-left:18px}.event{position:relative;padding:0 0 20px;font-size:12px;line-height:1.5}.event:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#78a287;left:-22px;top:5px}.event small{display:block;color:#8b968e;font-size:10px;margin-top:4px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;color:var(--text-muted);letter-spacing:.6px;padding:14px;background:#f8faf7}td{padding:20px 14px;border-bottom:1px solid var(--line)}.login{max-width:850px;margin:65px auto;text-align:center}.roles{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left;margin-top:32px}.roles .card{padding:32px}.roles button{width:100%;margin-top:20px}footer{font-size:11px;color:#8a968d;margin-top:25px}dialog{border:0;border-radius:var(--radius-panel);padding:30px;max-width:720px;width:90%;box-shadow:var(--shadow-overlay)}dialog::backdrop{background:#142a2460}.document{font-family:Georgia,serif;line-height:1.8;background:#faf9f5;padding:28px;margin-top:18px}.document h2{text-align:center;font-family:Georgia}.document .badge{font-family:Arial}#toast{position:fixed;bottom:24px;right:24px;background:#223f30;color:var(--text-on-primary);padding:15px 22px;border-radius:8px;display:none;z-index:9}@media(max-width:1000px){.shell{grid-template-columns:1fr}aside{display:none}.grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(4,1fr);gap:18px}main{padding:24px}.cards{gap:10px}}@media(max-width:600px){header{padding:12px;height:auto}.brand{font-size:17px}header .sub{display:none}.row{gap:6px}.avatar{display:none}.cards,.roles,.fields{grid-template-columns:1fr}.heading{align-items:flex-start;gap:12px}h1{font-size:var(--text-xl)}.login{margin:35px 20px}dl{grid-template-columns:1fr 1fr}.actions{flex-wrap:wrap}table{font-size:12px}td,th{padding:10px}.card{padding:19px}}
/* Phase 2: keep the existing visual language, add catalogue and package layouts. */
small{display:block;color:var(--text-muted);margin-top:6px;line-height:1.5}textarea{font:inherit;display:block;width:100%;min-height:100px;resize:vertical;border:1px solid var(--border-control);border-radius:6px;padding:11px;margin-top:7px;color:#2c4033}textarea:focus{outline:2px solid #afd4b9}.section-title{margin-top:22px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stats .card{padding:19px}.action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.action-card{display:flex;flex-direction:column;justify-content:space-between;min-height:240px}.action-card h3{font-size:17px;margin:16px 0 8px}.action-card .actions{justify-content:flex-start}.catalog-section{margin:30px 0}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.warning{background:var(--warning-soft);color:var(--warning)}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.case-layout>div{min-width:0}.case-layout>div:last-child dl{grid-template-columns:1fr}.workflow-list{list-style:none;padding:0;margin:0}.workflow-list li{display:flex;gap:12px;padding:10px 0;align-items:flex-start;color:#819086}.workflow-list .dot{flex:none;margin:0}.workflow-list strong{font-size:12px}.workflow-list small{font-size:11px;margin:3px 0}.workflow-list .current{color:var(--primary)}.sample-document{padding:18px 0;border-bottom:1px solid var(--line)}.sample-document strong,code{overflow-wrap:anywhere}.sample-document details{margin-top:14px}code{font-size:11px;white-space:normal}.button-link{display:inline-block;text-decoration:none;font-size:12px;font-weight:600;color:var(--primary);border:1px solid var(--line);border-radius:6px;padding:9px 12px;margin:4px 8px 4px 0}.rules-table{min-width:720px;font-size:12px}.rules-table td{vertical-align:top;line-height:1.6;padding:15px}.rules-table th{letter-spacing:0}.current-task{border-top:3px solid var(--primary)}.empty{text-align:center;padding:30px}.mobile-nav{display:none}#login-error{color:#a33}.login #login-form{text-align:left}.login #login-form .primary{width:100%}main{min-width:0}.heading p{margin:6px 0 0}details>summary{cursor:pointer;color:#466655;line-height:1.7}dd{white-space:pre-wrap;overflow-wrap:anywhere}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9ac9ad;outline-offset:3px}@media(max-width:1200px){.action-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.case-layout{grid-template-columns:minmax(0,1fr) 290px}}@media(max-width:1000px){.mobile-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.mobile-nav button{font-size:11px;padding:8px}.case-layout{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.action-cards,.filter-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}header .badge{display:none}.file,.person{flex-wrap:wrap}dl{grid-template-columns:1fr}.heading{flex-wrap:wrap}.button-link{font-size:11px}.action-card{min-height:0}}
/* Phase 4 keeps provenance and review controls beside each value. */
.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.input-field{border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0}.input-field .heading{margin-bottom:12px;gap:8px;align-items:flex-start}.input-field .heading .badge{flex-shrink:0}.input-field .actions{margin:14px 0;justify-content:flex-start;flex-wrap:wrap}.prepared-value{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.prep-flow{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none;counter-reset:prep}.prep-flow li{background:var(--success-soft);padding:10px;border-radius:6px;font-size:12px;counter-increment:prep}.prep-flow li:before{content:counter(prep) '. ';font-weight:bold}.preview-card{border-top:3px solid var(--primary)}.preparation-case pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.preparation-case .document-reader{margin-top:24px;background:#fbfcfa}.preparation-case code{overflow-wrap:anywhere}@media(max-width:1000px){.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.input-grid,.readiness-grid{grid-template-columns:1fr}}

.rule-card textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;margin:8px 0 18px;min-height:70px}.rule-card p{white-space:pre-wrap;overflow-wrap:anywhere}

.mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.simple-progress{list-style:none;padding:0;display:flex;gap:12px;flex-wrap:wrap}.simple-progress li{padding:10px 16px;border-radius:8px;background:#f0f3f0;color:#68756c}.simple-progress .active{background:var(--primary);color:var(--text-on-primary);font-weight:600}.simple-progress .done{color:var(--primary)}.demo-result{border:2px solid #8dbb9d}

/* Detailed preparation only; approved presentation styling is unchanged. */
.preparation-case .prep-stage[hidden]{display:none!important}
.preparation-case .prep-step-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}
.preparation-case .prep-stage-actions{justify-content:space-between;margin-bottom:22px}
.preparation-case .prep-task-list{padding:0;list-style:none}
.preparation-case .prep-task-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #e0e8e3}
.preparation-case .prep-task-list small{display:block;margin-top:5px;color:#64776f}
.preparation-case .prep-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.preparation-case .prep-example,.preparation-case .prep-optional{margin:18px 0}
.preparation-case .prep-example>summary{font-weight:600;padding:12px;background:#f0f5f2;border-radius:8px;cursor:pointer}
.preparation-case .sample-document code{overflow-wrap:anywhere}

.preparation-case .prep-readable-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:460px;overflow:auto;font-family:inherit;line-height:1.6;background:#f5f8f6;padding:16px}

.source-transcript{white-space:pre-wrap;overflow-wrap:anywhere;max-height:700px;overflow:auto;background:#f6f8f6;padding:20px;line-height:1.6;font-family:inherit;}

/* Knowledge references wrap inside their card instead of shrinking one giant row. */
.knowledge-card{min-width:0;overflow-wrap:anywhere}
.knowledge-card .actions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;margin:12px 0 20px}
.knowledge-card button[data-knowledge-id]{flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.5}
.knowledge-card li{margin-bottom:10px}
.knowledge-card .person>div{min-width:0}
.knowledge-card pre{max-width:100%;overflow:auto}
@media(max-width:600px){.knowledge-card .person{align-items:flex-start;flex-wrap:wrap}}

#knowledge-developer{border-top:3px solid var(--line);padding-top:28px;margin-top:32px;min-width:0}
.shell:has(#knowledge-developer){grid-template-columns:230px minmax(0,1fr)}
.shell:has(#knowledge-developer)>main{min-width:0}
#knowledge-developer .dev-json{font-family:Consolas,'Courier New',monospace;font-size:12px;line-height:1.6;white-space:pre;max-height:480px;overflow:auto;background:#f5f7f5;padding:16px;border:1px solid var(--line);border-radius:6px}
#knowledge-developer .dev-results{max-height:260px;overflow:auto}
#knowledge-developer .dev-reference-list{padding-left:20px}
#knowledge-developer .dev-reference-list li{margin:10px 0}
#knowledge-developer code{font-family:Consolas,'Courier New',monospace;overflow-wrap:anywhere}
#knowledge-developer details{margin:16px 0}
#knowledge-developer summary{cursor:pointer;font-weight:600}
#knowledge-developer .dev-broken{color:#a32a21}
#knowledge-developer .dev-chain{border-left:3px solid var(--line);padding:12px;margin:12px 0}
#knowledge-developer .dev-breadcrumb{overflow-wrap:anywhere;line-height:2.6}
#knowledge-developer .dev-tree{padding-left:20px;overflow-wrap:anywhere}
#knowledge-developer .dev-tree ul{padding-left:18px}
@media(max-width:600px){#knowledge-developer dl{grid-template-columns:minmax(0,1fr)}}

#knowledge-flow{border-top:3px solid var(--line);padding-top:28px;margin-top:28px;min-width:0}
.flow-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;margin:20px 0}
.flow-group{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fafcf9;overflow-wrap:anywhere}
.flow-nodes{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.flow-node{max-width:100%;min-width:0;display:inline-flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;overflow-wrap:anywhere;white-space:normal;margin:5px 0;background:var(--surface)}
.flow-node small{font-weight:400;color:#66776d;font-size:11px}
.flow-status{display:inline-block;font-size:11px;padding:3px 6px;border:1px solid #d5cba8;background:#fff7df;border-radius:4px;color:#72500b;margin-right:5px}
.flow-confirmed{background:#e7f3eb;color:#236444;border-color:#a7cfb6}
.flow-unknown,.flow-to-confirm{background:#fff0d6;color:#88510a;border-color:#dfc596}
.flow-reference-only,.flow-implemented-poc{background:#eef2f5;color:#45566a;border-color:#c2ccd7}
.flow-deprecated,.flow-broken,.flow-error{color:#a12c25;border-color:#d6a7a3;background:#fff1ef}
.flow-detail{border:2px solid var(--green);background:var(--surface);padding:18px;border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}
.flow-inputs article,.flow-output{border-top:1px solid var(--line);padding:12px 0;min-width:0}
.flow-connector{display:block;margin:10px 0;color:#65766c}
.flow-choice{border:1px dashed #afbcaf;padding:12px;margin:12px 0}
.flow-or{align-self:center;font-weight:bold}
.flow-tree,.flow-tree ul{list-style:none;padding-left:18px;border-left:1px solid var(--line)}
.flow-tree li{padding:8px 0;overflow-wrap:anywhere}
#knowledge-flow details{margin:12px 0}
#knowledge-flow summary{font-weight:600;cursor:pointer}

.knowledge-view-nav{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 22px}
.knowledge-view-nav a{display:block;padding:9px 13px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--green);background:#f7faf7}
#knowledge-overall{scroll-margin-top:20px;min-width:0}
.overall-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:32px;margin:26px auto;max-width:980px;align-items:start}
.overall-main{max-width:560px;width:100%;margin:auto}
.overall-brain,.overall-box{padding:15px 20px;border:1px solid #cfdcd1;border-radius:9px;background:var(--surface);text-align:center;overflow-wrap:anywhere}
.overall-brain{background:var(--primary);color:var(--text-on-primary);padding:20px}
.overall-brain strong{font-size:19px}
.overall-box strong,.overall-brain strong{display:block}
.overall-box small,.overall-brain small{display:block;line-height:1.5;margin-top:6px;font-weight:400}
.overall-arrow{text-align:center;font-size:22px;color:#739580;line-height:1.6}
.overall-reuse{padding:16px 12px;background:#f0f6f1;border:1px solid var(--line);border-radius:9px;text-align:center}
.overall-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:12px 0}
.overall-split small{display:block;padding:6px 0}
.overall-planned{display:inline-block;border-radius:4px;background:#fff1d5;color:#885d0f;padding:3px 7px;font-size:11px;margin:7px 0}
.overall-side-card{background:#f7f9f6;border:1px dashed #b9c9ba;border-radius:9px;padding:18px;margin-bottom:24px;text-align:center}
.overall-side-card .overall-box{padding:9px 12px;font-size:12px}
.overall-side-card .overall-arrow{font-size:17px}
.overall-known{display:grid;gap:8px;font-size:12px;margin:12px 0}
@media(max-width:800px){.overall-layout{grid-template-columns:minmax(0,1fr)}.overall-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}}
@media(max-width:480px){.overall-split{grid-template-columns:minmax(0,1fr)}}

.overall-details{text-align:left;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:12px;line-height:1.5}
.overall-details h4{margin:4px 0 10px;font-size:13px}
.overall-details ul{padding-left:18px;margin:8px 0}
.overall-details li{margin-bottom:12px}
.overall-details small{display:block;color:#68766d}
.overall-details details{margin:10px 0}
.overall-details summary{cursor:pointer;font-weight:600;color:var(--green)}
.overall-detail-status{display:inline-block;font-size:10px;padding:2px 5px;border:1px solid #d9ceb2;border-radius:4px;background:#fff8e7;color:#785a13;overflow-wrap:anywhere}
.overall-detail-switch{margin:12px 0}

.rule-answer{border:0;padding:0;margin:20px 0}.rule-answer legend{font-weight:700;margin-bottom:12px}.rule-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;cursor:pointer;line-height:1.5}.rule-option input[type="radio"],.rule-option input[type="checkbox"]{width:auto;flex:0 0 auto;margin:4px 0 0;padding:0;accent-color:var(--green)}.rule-option:has(input:checked){background:var(--success-soft);border-color:var(--green)}.rule-context{margin:16px 0}.rule-context code{overflow-wrap:anywhere}.rule-card [hidden]{display:none!important}.rule-card .actions{flex-wrap:wrap}.rule-card details{margin-bottom:12px}@media(max-width:700px){.rule-option-grid{grid-template-columns:1fr}}
/* Operational company management */
.cm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.cm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cm-profile fieldset{border:1px solid #d4ded8;border-radius:8px;padding:18px;margin:16px 0;min-width:0}.cm-profile legend{font-weight:600;padding:0 6px}.cm-check{display:flex;align-items:center;gap:10px;margin:14px 0}.cm-check input{width:auto}.cm-profile .person{overflow-wrap:anywhere}.cm-profile .actions{margin-top:20px}.cm-profile input,.cm-profile select{max-width:100%}@media(max-width:700px){.cm-grid{grid-template-columns:1fr}}
/* Anchor content at the top; expanding sections grow downward. */
.shell>main{margin:0 auto;align-self:start}.shell{align-items:start}.shell>aside{align-self:stretch}.action-cards{align-items:start}
.flow-concept{margin:18px 0;min-width:0}.flow-concept-list{list-style:none;padding:0;margin:14px 0}.flow-concept-list li{border-top:1px solid var(--line);padding:12px 0}.flow-concept-list label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.flow-concept-list input[type=checkbox]{flex:none;margin:3px 0;accent-color:var(--green)}.flow-concept-list strong{font-size:13px;line-height:1.5}.flow-crossed strong{text-decoration:line-through;color:var(--text-muted)}.flow-omitted{color:var(--warning)}.flow-omitted[hidden]{display:none}.flow-concept .notice{font-size:12px}.flow-concept summary{font-weight:600}
.flow-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.flow-design-summary{position:sticky;top:20px;min-width:0;border-right:1px solid var(--line)}.flow-editor-block{border-left:4px solid var(--green)}.flow-editor-block.flow-crossed{border-left-color:#a8b3ac}.flow-enable{display:flex;gap:12px;align-items:center}.flow-enable input{width:auto;accent-color:var(--green)}.flow-block-actions{flex-wrap:wrap;justify-content:flex-start}.flow-preview-path{padding-left:22px}.flow-preview-path li{padding:0 0 18px 8px;border-left:2px solid #dbe7de;overflow-wrap:anywhere}.flow-editor-block .heading{align-items:flex-start;gap:12px}.flow-editor-block textarea{min-height:70px}.flow-design-summary ul{padding-left:18px}.flow-design-summary li{line-height:1.6;margin:10px 0}@media(max-width:1100px){.flow-editor-layout{grid-template-columns:1fr}.flow-design-summary{position:static}}@media(max-width:600px){.flow-editor-block .fields{grid-template-columns:1fr}.flow-editor-block .heading{flex-direction:column}}
.training-field-label{display:block;font-size:12px;color:var(--text-secondary)}.training-field [data-training-control]{display:block}.training-field [data-training-control]>span{display:block;margin-top:12px;font-size:12px;color:var(--text-secondary)}
/* Generated documents retain an A4 layout inside a bounded preview. */
.generation-card{margin-top:24px;min-width:0}.generation-preview{display:block;width:100%;height:900px;margin:18px 0;border:1px solid #d4ded8;background:var(--surface)}.generation-people{max-height:180px;overflow:auto;display:grid;gap:8px}.generation-people input,.generation-review input{width:auto}.generation-review{display:grid;gap:14px;margin:20px 0}.generation-debug{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto}.generation-card fieldset{min-width:0;border:1px solid #d4ded8;border-radius:8px;padding:16px}.generation-card .fields{align-items:start}
.generation-rows{grid-column:1/-1}.generation-row{display:grid;grid-template-columns:1fr 1fr 140px auto;gap:12px;align-items:start;margin:14px 0}@media(max-width:800px){.generation-row{grid-template-columns:1fr}.generation-preview{height:650px}}
.wording-editor{margin:24px 0;padding:24px 0;border-top:1px solid #d4ded8;border-bottom:1px solid #d4ded8}.wording-editor>label{display:block;max-width:80ch;margin:20px 0}.wording-editor textarea{width:100%;line-height:1.55}.wording-editor fieldset{margin:24px 0}.wording-table-row{display:flex;gap:16px;align-items:flex-start}.wording-table-row>label{flex:1;min-width:0}@media(max-width:700px){.wording-table-row{display:block}.wording-table-row>label{display:block;margin:12px 0}}
.is-wording-editing #generation-form,.is-wording-editing [data-gen-finalize],.is-wording-editing [data-gen-export]{display:none}
/* Case-scoped pilot Assistant: preserve the existing workspace. */
.ai-case-entry{display:flex;justify-content:flex-end;margin:0 0 16px}
dialog.ai-assistant-panel{position:fixed;inset:0 0 0 auto;margin:0;box-sizing:border-box;width:min(var(--assistant-panel-width),100%);height:100dvh;max-height:100dvh;max-width:100%;border-radius:var(--assistant-panel-radius);padding:var(--space-6);overflow-y:auto;background:var(--assistant-surface);color:var(--text-primary);box-shadow:var(--assistant-shadow)}
.ai-guidance{margin:24px 0;overflow-wrap:anywhere}.ai-guidance h3{margin:20px 0 8px}.ai-guidance-next{background:var(--assistant-highlight);padding:16px;margin:20px 0}.ai-guidance-next h3{margin-top:0}.ai-guidance button{white-space:normal;text-align:left;max-width:100%;margin:4px 4px 4px 0;min-height:40px}.ai-guidance-item{border-bottom:1px solid var(--line,var(--border-control));padding:12px 0}.ai-guidance-item>span{display:block}.ai-assistant-panel select{max-width:100%;padding:8px;margin:6px 0 0}.ai-guidance small{display:block;line-height:1.5;color:#425a50}.ai-guidance details{margin-top:16px}.ai-assistant-panel :focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.ai-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.ai-panel-heading h2{margin:0}.ai-assistant-panel>p,.ai-feedback>p{font-size:13px;line-height:1.6;color:#425a50}.ai-quick-questions{display:grid;grid-template-columns:1fr;gap:8px;margin:22px 0}.ai-quick-questions button{text-align:left;white-space:normal}.ai-assistant-panel textarea{box-sizing:border-box;width:100%;min-height:86px;resize:vertical;margin:8px 0 12px;padding:12px;border:1px solid var(--line,var(--border-control));border-radius:6px;font:inherit;color:inherit}.ai-assistant-panel textarea:focus-visible,.ai-assistant-panel button:focus-visible,.ai-assistant-panel summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.ai-controls{display:flex;flex-wrap:wrap;gap:8px}.ai-notice{font-size:13px;line-height:1.6}.ai-answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px}.ai-answer:not(:empty){background:#f1f6f2;padding:16px;border-radius:6px}.ai-feedback{border-top:1px solid var(--line,var(--border-control));margin-top:24px;padding-top:12px}.ai-assistant-panel>details{margin-top:24px}.ai-assistant-panel summary{cursor:pointer;margin-bottom:12px}.ai-feedback-item{border-top:1px solid var(--line,var(--border-control));padding:12px 0}.ai-feedback-item p{white-space:pre-wrap;overflow-wrap:anywhere}.ai-feedback-item label{margin-top:12px}.ai-feedback-item small{display:block;overflow-wrap:anywhere}.ai-assistant-panel button:disabled{cursor:wait;opacity:.6}@media(max-width:600px){dialog.ai-assistant-panel{padding:20px}.ai-controls{flex-direction:column}}
/* Smart Start follows the existing request form visual language. */
.smart-start{max-width:1040px;margin:0 auto;overflow-wrap:anywhere}.smart-start>form{display:grid;gap:12px;margin:24px 0}.smart-start>button{margin:8px 8px 8px 0;white-space:normal;max-width:100%;min-height:42px}.smart-start label{display:block;margin:12px 0}.smart-start input,.smart-start select,.smart-start textarea{box-sizing:border-box;width:100%;max-width:100%;padding:10px;font:inherit;color:inherit;border:1px solid var(--line,var(--border-control));border-radius:6px;background:var(--surface);margin-top:6px}.smart-start .smart-start-coverage{margin:24px 0;padding-bottom:16px;border-bottom:1px solid var(--line,var(--border-control))}.smart-start-item{padding:10px 0;border-bottom:1px solid var(--line,var(--border-control))}.smart-start-item small{display:block;line-height:1.6;color:#425a50;margin-top:4px}.smart-start>section{margin:24px 0}.smart-start :focus-visible{outline:3px solid var(--primary);outline-offset:3px}.smart-start .heading{align-items:flex-start}.smart-start button:disabled{opacity:.6;cursor:wait}[data-smart-start-open]{margin-bottom:20px}@media(max-width:600px){.smart-start .heading{display:block}.smart-start>button{width:100%}.smart-start{padding:18px}}
/* Secretary work is a list of derived actions, not a task-management board. */
.work-queue .heading{align-items:flex-start}.work-queue .heading h2{margin:0}.work-queue .heading p{margin:6px 0}.work-queue-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.work-queue-filters button{white-space:normal;min-height:42px}.work-queue label{display:block;max-width:540px;margin:16px 0}.work-queue input,.work-queue select{box-sizing:border-box;max-width:100%;padding:10px;font:inherit;color:inherit;border:1px solid var(--line,var(--border-control));border-radius:6px;background:var(--surface)}.work-queue input{display:block;width:100%;margin-top:6px}.work-queue-next{background:var(--assistant-highlight);padding:18px;margin:22px 0}.work-queue-next>h3{margin-top:0}.work-queue-item{padding:16px 0;border-bottom:1px solid var(--line,var(--border-control));overflow-wrap:anywhere}.work-queue-item h4{font-size:17px;margin:8px 0}.work-queue-item p{margin:8px 0;line-height:1.6}.work-queue-item small{display:block;color:#425a50;margin:10px 0}.work-queue-item .actions{margin-top:14px}.work-queue button{white-space:normal;min-height:42px}.work-queue-group{margin:24px 0}.work-queue>details,.work-queue-legacy{margin:22px 0}.work-queue-legacy>summary{cursor:pointer;padding:12px 0;font-weight:600}.work-queue :focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media(max-width:600px){.work-queue .heading{display:block}.work-queue .heading>.actions{margin-top:12px}.work-queue-filters{display:grid;grid-template-columns:1fr 1fr}.work-queue-next{padding:14px}.work-queue-item .actions{display:flex;flex-wrap:wrap}}
/* Internal research planning: retain the portal's operative typography and green controls. */
.research-workbench { min-width:0; }
.research-workbench h2 { margin-top:1.8rem; }
.research-workbench p { overflow-wrap:anywhere; max-width:80ch; }
.research-workbench .research-filters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0; }
.research-workbench .research-filters label { min-width:0; }
.research-workbench .research-filters select { width:100%; }
.research-workbench .research-table { min-width:850px; }
.research-workbench .research-table th { position:sticky;top:0;background:var(--surface,#fff); }
.research-workbench .research-table td { vertical-align:top; }
.research-workbench .research-table td:nth-child(2) { min-width:280px;max-width:460px; }
.research-workbench .research-check { display:flex;align-items:flex-start;gap:8px;line-height:1.5;margin:14px 0; }
.research-workbench .research-check input { width:auto;min-width:18px;margin-top:4px; }
.research-workbench .research-table .research-check { font-size:0; }
.research-workbench .research-table .research-check input { font-size:1rem; }
.research-workbench .research-detail,.research-workbench .research-batch { border-top:1px solid #d6e2dc;padding:24px 0;margin-top:18px; }
.research-workbench .research-detail>button,.research-workbench .research-batch>button { margin:4px; }
.research-workbench dt { font-weight:600; }
.research-workbench dd { margin:0 0 12px; }
.research-workbench details { margin:20px 0; }
.research-workbench pre,#modal:has(.research-stale-package) pre { white-space:pre-wrap;overflow-wrap:anywhere; }
@media(max-width:700px){.research-workbench .heading { align-items:flex-start;flex-wrap:wrap; }.research-workbench .research-filters { grid-template-columns:1fr; }.research-workbench .actions { flex-wrap:wrap; }.research-workbench { padding:18px; }.research-workbench .table-wrap { max-width:100%;overflow-x:auto; }}

/* Phase 1.7: shared presentation fixes; workflow and document semantics are unchanged. */
body{line-height:1.5}
.sub,.muted,dt,.flow-node small,.overall-details small{color:var(--ui-muted)}
button,.button-link{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.actions{flex-wrap:wrap;gap:10px;align-items:center}
.heading>div,.row>div,.person>div,.file>div{min-width:0}
h1,h2,h3,h4,dd,.notice,.warning,.work-queue-item{overflow-wrap:anywhere}
input,select,textarea{max-width:100%;min-width:0;border-radius:var(--ui-control-radius)}
input::placeholder,textarea::placeholder{color:var(--ui-muted);opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,[data-ui-scrollable]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
button:disabled,.primary:disabled{opacity:1;color:#596c60;background:#edf1ed;border-color:var(--line);cursor:not-allowed}
.smart-start button:disabled,.ai-assistant-panel button:disabled{cursor:not-allowed}
[aria-busy="true"] button:disabled{cursor:wait}
.smart-start>button{margin:0 8px 12px 0}
.mobile-nav [aria-current="page"]{background:var(--primary-soft);color:var(--green);border-color:#94b6a1;font-weight:700}
header{gap:16px;min-height:78px;height:auto;padding-top:16px;padding-bottom:16px}
header .brand,header .row{min-width:0}
header .row strong{max-inline-size:min(22vw,220px);overflow-wrap:anywhere;line-height:1.35;text-align:right}
header .row button{flex-shrink:0}
.skip-link{position:fixed;z-index:1000;top:8px;left:12px;padding:12px 16px;border-radius:var(--radius-control);background:var(--green);color:var(--text-on-primary);transform:translateY(-160%);text-decoration:none}
.skip-link:focus{transform:translateY(0)}
#main-content{scroll-margin-top:16px}
#main-content:focus{outline:none}
#modal{position:fixed;inset:24px 0 auto;width:min(720px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:0 auto;padding:24px;overflow:auto;overscroll-behavior:contain}
.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:sticky;top:-24px;z-index:1;background:var(--ui-surface);padding:18px 0 12px;margin-top:-12px;border-bottom:1px solid var(--line);margin-bottom:18px}
.modal-heading h1,.modal-heading h2,.modal-heading h3{margin:0;min-width:0}
.modal-heading button{flex:0 0 auto}
.ai-panel-heading{position:sticky;top:-24px;padding:16px 0 12px;margin-top:-16px;background:var(--ui-surface);z-index:2;border-bottom:1px solid var(--line)}
@media(max-width:1000px){
 .shell:has(#knowledge-developer){grid-template-columns:minmax(0,1fr)}
 .mobile-nav button{font-size:13px;min-height:44px;padding:10px 12px}
}
@media(max-width:600px){
 header{min-height:64px;padding:12px;gap:12px}
 header .brand{font-size:18px;gap:8px}
 button,.button-link{min-height:44px}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea,#login-form input,.smart-start input,.smart-start select,.smart-start textarea,.work-queue input,.work-queue select{font-size:16px}
 input[type="file"]{width:100%;overflow:hidden}
 .card{padding:20px}
 .smart-start>button{width:100%;margin-right:0}
 #modal{inset:16px 0 auto;max-height:calc(100dvh - 32px);padding:18px}
 .modal-heading{top:-18px}
 .ai-panel-heading{top:-20px}
}
@media(max-width:600px){dialog.ai-assistant-panel input,dialog.ai-assistant-panel select,dialog.ai-assistant-panel textarea,.research-workbench input,.research-workbench select,.research-workbench textarea{font-size:16px}}

/* Keep identity and refresh controls compact within the shared wrapping action row. */
.work-queue>.heading>.actions select{width:auto;min-width:110px}

/* Foundation consumption: retain Phase 1.7 geometry and interaction. */
body{line-height:var(--leading-body)}
::selection{background:var(--selection);color:var(--primary-strong)}
input,textarea{caret-color:var(--primary)}
button,.button-link{border-radius:var(--radius-control)}
button:not(:disabled),.button-link{transition:background-color var(--transition-fast) var(--ease-standard),border-color var(--transition-fast) var(--ease-standard),color var(--transition-fast) var(--ease-standard)}
.card{box-shadow:var(--shadow-none)}
.badge{border-radius:var(--radius-small)}
.warning{background:var(--warning-soft);color:var(--warning)}
.notice{background:var(--success-soft);border-color:var(--success-border);color:var(--primary-strong)}
#login-error,.error{color:var(--danger)}
button:disabled,.primary:disabled{background:var(--disabled-surface);color:var(--disabled-text)}
small,.file small,label,.eyebrow,th,footer{color:var(--text-muted)}
dialog::backdrop{background:var(--backdrop)}
.ai-assistant-panel{background:var(--assistant-surface);color:var(--text-primary);border-color:var(--assistant-border);border-radius:var(--assistant-panel-radius)}
.ai-panel-heading{background:var(--assistant-surface)}
.ai-guidance-next,.work-queue-next{background:var(--assistant-guidance-surface);border-radius:var(--radius-control)}
@media(prefers-reduced-motion:reduce){button:not(:disabled),.button-link{transition:none}}

/* Phase 1.8B: one Guide + Conversation shell; all colours belong to EasySec. */
.assistant-launcher{position:fixed;right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));z-index:8;min-height:var(--assistant-minimized-size);max-width:calc(100vw - 32px);padding:var(--space-3) var(--space-5);background:var(--primary);color:var(--text-on-primary);border-color:var(--primary);box-shadow:var(--shadow-overlay)}
.assistant-launcher:hover{background:var(--primary-hover)}
.assistant-launcher[hidden]{display:none}
body:has(.assistant-launcher:not([hidden])) #app main{padding-bottom:112px}
dialog.ai-assistant-panel{padding:0;overflow:hidden;height:min(100dvh,var(--assistant-visible-height,100dvh));max-height:min(100dvh,var(--assistant-visible-height,100dvh));border:0}
dialog.ai-assistant-panel[open]{display:flex;flex-direction:column}
.ai-assistant-panel [hidden]{display:none!important}
.ai-assistant-panel .ai-panel-heading{position:static;flex:none;display:grid;grid-template-columns:var(--assistant-avatar-size) minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-4) var(--space-6);margin:0;border-bottom:0}
.assistant-avatar-slot{display:flex;align-items:center;justify-content:center;width:var(--assistant-avatar-size);height:var(--assistant-avatar-size);border-radius:var(--radius-round);background:var(--primary-soft);color:var(--primary-strong);font-weight:700;font-size:var(--text-sm)}
.ai-panel-heading p{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}
.ai-panel-heading button{font-size:var(--text-xs);padding:10px 12px}
.assistant-identity{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}
.ai-assistant-panel .assistant-identity select{width:auto;min-width:88px;margin:0;padding:8px;font-size:var(--text-sm)}
.assistant-context{flex:none;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--divider);max-height:25dvh;overflow:auto}
.assistant-context h3{font-size:var(--text-md);margin:0 0 6px;overflow-wrap:anywhere}
.assistant-context p{margin:4px 0;font-size:var(--text-sm)}
.assistant-context small{margin-top:6px}
.assistant-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-5) var(--space-6) max(var(--space-6),env(safe-area-inset-bottom,0px))}
.assistant-scroll>.ai-guidance{margin:0}
.assistant-scroll .ai-guidance-next{margin-top:0}
.assistant-transcript{margin:var(--space-5) 0}
.assistant-message{padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;border-radius:var(--radius-card);background:var(--assistant-message-surface);color:var(--assistant-message-text);overflow-wrap:anywhere}
.assistant-message strong{display:block;font-size:var(--text-xs);color:var(--text-secondary)}
.assistant-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--leading-copy);margin:var(--space-2) 0 0}
.assistant-message-user{margin-left:var(--space-6);background:var(--assistant-user-surface);color:var(--assistant-user-text)}
.assistant-message-user strong{color:var(--assistant-user-text)}
.assistant-message-warning{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border)}
.assistant-message-warning strong{color:var(--warning)}
.assistant-quick-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}
.assistant-quick-actions button{font-size:var(--text-xs);padding:8px 12px;background:var(--assistant-action-surface)}
.assistant-composer{border-top:1px solid var(--divider);padding-top:var(--space-4)}
.assistant-composer label{font-weight:600}
.assistant-composer .ai-controls{margin-top:var(--space-3)}
.assistant-scroll .ai-notice{font-size:var(--text-xs);color:var(--text-secondary)}
.ai-assistant-panel>.ai-notice{flex:none;margin:0;padding:var(--space-3) var(--space-6);font-size:var(--text-xs);color:var(--text-secondary);border-bottom:1px solid var(--divider);max-height:18dvh;overflow:auto}
.ai-assistant-panel>.ai-notice:empty{display:none}
/* Phase 1.8C: neutral, identity-independent visual slots. No continuous animation. */
.assistant-launcher{display:flex;align-items:center;gap:var(--space-3);text-align:left}
.assistant-launcher-copy{display:block;min-width:0}
.assistant-launcher-copy>span{display:block}
.assistant-launcher-copy small{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:400;color:var(--text-on-primary)}
.assistant-avatar-slot{position:relative;overflow:hidden;flex-shrink:0;border:1px solid var(--border-control);transition:background-color var(--transition-fast) var(--ease-standard),border-color var(--transition-fast) var(--ease-standard)}
.assistant-avatar-compact{width:var(--assistant-compact-avatar-size);height:var(--assistant-compact-avatar-size);font-size:var(--text-xs)}
.assistant-avatar-neutral{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.assistant-avatar-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.assistant-avatar-slot [hidden]{display:none}
.assistant-avatar-slot[data-visual-state="THINKING"]{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}
.assistant-avatar-slot[data-visual-state="CHATTING"],.assistant-avatar-slot[data-visual-state="GUIDING"]{border-color:var(--primary)}
.assistant-visual-status{display:inline-block;margin-left:var(--space-2);font-weight:600;color:var(--primary-strong)}
.ai-assistant-panel[data-assistant-visual-state="THINKING"] .assistant-visual-status{color:var(--info)}
@media(prefers-reduced-motion:reduce){.assistant-avatar-slot{transition:none}}
.assistant-scroll>.ai-feedback,.assistant-scroll>details{margin-top:var(--space-5)}
@media(max-width:600px){
 .assistant-launcher{right:var(--assistant-mobile-inset);bottom:calc(var(--assistant-mobile-inset) + env(safe-area-inset-bottom,0px));font-size:var(--text-sm)}
 .ai-assistant-panel .ai-panel-heading{padding:var(--space-4);gap:var(--space-2)}
 .assistant-identity{margin-left:auto}
 .assistant-context{padding:var(--space-3) var(--space-4)}
 .assistant-scroll{padding:var(--space-4);padding-bottom:max(var(--space-6),env(safe-area-inset-bottom,0px))}
 .assistant-quick-actions button{min-height:44px}
 .ai-assistant-panel .assistant-identity select{font-size:16px}
 .assistant-composer .ai-controls{flex-direction:row}
}
/* Phase 1.8F: character-led composition over the shared Guide / Conversation shell. */
.ai-assistant-panel .ai-panel-heading{grid-template-columns:112px minmax(0,1fr);position:relative;top:auto;align-items:start;gap:16px;padding:24px 24px 20px;background:var(--primary-soft)}
.ai-panel-heading .assistant-avatar-panel{width:112px;height:128px;margin-top:24px;border:0;border-radius:12px;background:var(--surface);box-shadow:0 6px 16px rgba(23,63,48,.08)}
.ai-panel-heading [data-ai-close]{position:absolute;top:12px;right:16px;min-height:36px;background:transparent;border-color:transparent;color:var(--text-secondary);padding:6px 8px}
.assistant-hero-copy{min-width:0;padding-top:18px}
.ai-panel-heading h2{font-size:28px;line-height:1.15;letter-spacing:-.025em}
.ai-panel-heading .assistant-visual-status{margin:8px 0 0;font-size:12px;padding:3px 8px;border-radius:6px;background:var(--surface);color:var(--primary-strong)}
.ai-panel-heading .assistant-hero-message{font-size:14px;line-height:1.5;color:var(--text-primary);margin:10px 0 12px}
.ai-panel-heading .assistant-identity{font-size:12px;gap:8px;margin:0;color:var(--text-secondary)}
.ai-panel-heading .assistant-identity select{min-height:36px;padding:4px 28px 4px 8px;background-color:var(--surface);min-width:100px}
.ai-assistant-panel[data-assistant-visual-state="THINKING"] .ai-panel-heading{background:var(--surface-secondary)}
.ai-assistant-panel[data-assistant-visual-state="THINKING"] .assistant-visual-status{color:var(--text-primary)}
.assistant-context{padding-top:16px;padding-bottom:16px}
.assistant-scroll .ai-guidance-next{background:var(--primary-soft);border:0;border-radius:12px;padding:20px;margin-bottom:24px}
.assistant-scroll .ai-guidance-next h3{font-size:18px;margin:0 0 8px;color:var(--primary-strong)}
.assistant-scroll .ai-guidance-next>p{font-size:16px;line-height:1.5;margin:0 0 16px}
.assistant-message-local,.assistant-message-ai{background:transparent;border-radius:0;padding:8px 0 16px;margin-right:12px;border-bottom:1px solid var(--divider)}
.assistant-message-ai strong{color:var(--primary-strong)}
.assistant-message-user{margin-left:40px;border-radius:12px 12px 4px 12px}
.assistant-message-warning{border:0;border-radius:12px;padding:16px}
.assistant-quick-actions{gap:8px;margin:20px 0}
.assistant-quick-actions button{border-radius:24px;border-color:var(--border-control);background:var(--surface);color:var(--primary-strong);min-height:40px;padding:8px 14px}
.assistant-quick-actions button:hover{background:var(--primary-soft);border-color:var(--primary)}
.assistant-launcher{padding:8px 16px 8px 8px;gap:10px;border-radius:12px}
.assistant-launcher .assistant-avatar-compact{width:44px;height:48px;border-radius:8px;border:0;background:var(--surface)}
@media(max-width:600px){
 .ai-assistant-panel .ai-panel-heading{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:16px}
 .ai-panel-heading .assistant-avatar-panel{width:76px;height:88px;margin-top:20px;box-shadow:none}
 .assistant-hero-copy{padding-top:18px}
 .ai-panel-heading h2{font-size:23px}
 .ai-panel-heading .assistant-hero-message{font-size:13px;margin:6px 0 8px}
 .ai-panel-heading .assistant-visual-status{margin-top:6px;padding:2px 6px}
 .ai-panel-heading .assistant-identity select{font-size:16px;min-height:40px}
 .assistant-context{max-height:20dvh}
 .assistant-scroll .ai-guidance-next{padding:16px}
 .assistant-launcher{padding:6px 12px 6px 6px}
 .assistant-launcher .assistant-avatar-compact{width:36px;height:40px}
}
@media(max-height:650px){
 .ai-assistant-panel .ai-panel-heading{grid-template-columns:60px minmax(0,1fr);padding:8px 16px;gap:12px}
 .ai-panel-heading .assistant-avatar-panel{width:60px;height:68px;margin-top:8px}
 .assistant-hero-copy{padding-top:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-right:68px}
 .ai-panel-heading h2{font-size:20px}
 .ai-panel-heading .assistant-hero-message,.ai-panel-heading .assistant-hero-copy>p:not(.assistant-hero-message){display:none}
 .ai-panel-heading .assistant-visual-status{margin:0}
 .assistant-context{padding:8px 16px;max-height:18dvh}
}
/* Phase 1.8G: one staff assistant, conversational guidance and a compact chat composer. */
.ai-assistant-panel .assistant-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:-1px;border:0}
.ai-assistant-panel .ai-panel-heading{grid-template-columns:72px minmax(0,1fr);padding:18px 24px 14px;gap:14px}
.ai-panel-heading .assistant-avatar-panel{width:72px;height:84px;margin:8px 0 0;box-shadow:none}
.ai-panel-heading .assistant-hero-copy{padding:8px 72px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center}
.ai-panel-heading h2{font-size:23px;grid-column:1}
.ai-panel-heading .assistant-hero-copy>p:not(.assistant-hero-message){grid-column:1/-1;margin:0}
.ai-panel-heading .assistant-visual-status{grid-column:2;grid-row:1;margin:0;padding:2px 6px}
.ai-panel-heading .assistant-identity{grid-column:1/-1;margin-top:4px;gap:8px}
.ai-panel-heading .assistant-identity select{min-height:36px;font-size:14px;padding:4px 24px 4px 8px}
.ai-panel-heading [data-ai-close]{min-height:44px;top:8px;right:12px}
.assistant-context{padding:12px 24px;max-height:18dvh}
.assistant-context h3{font-size:16px;margin:0 0 4px}
.assistant-context p{font-size:13px;margin:0}
.assistant-context small{font-size:12px}
.assistant-transcript{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0;padding:0;scroll-padding:16px}
.assistant-message{display:flex;align-items:flex-end;gap:8px;width:100%;margin:10px 0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary)}
.assistant-message-user{justify-content:flex-end;margin-left:0}
.assistant-speaker{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:700}
.assistant-bubble{min-width:0;max-width:86%;padding:12px 14px;border-radius:12px 12px 12px 4px;background:var(--surface-secondary);overflow-wrap:anywhere}
.assistant-message-user .assistant-bubble{background:var(--primary);color:var(--text-on-primary);border-radius:12px 12px 4px 12px}
.assistant-message p{font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}
.assistant-message-source{display:block;font-size:11px;margin-bottom:6px;color:var(--text-secondary)}
.assistant-message-warning .assistant-bubble{background:var(--warning-soft);color:var(--warning)}
.assistant-message-warning .assistant-message-source{color:var(--warning);font-weight:600}
.assistant-quick-actions{flex:none;gap:6px;margin:0;padding:8px 0;align-items:center}
.assistant-quick-actions button{font-size:12px;min-height:36px;padding:6px 10px}
.assistant-composer{flex:none;border:0;padding:8px 0 12px;margin:0}
.assistant-composer-bar{display:flex;gap:8px;align-items:flex-end;border:1px solid var(--border-control);border-radius:12px;padding:6px;background:var(--surface)}
.assistant-composer-bar:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.assistant-composer-bar label{min-width:0;flex:1;margin:0;font-size:0}
.ai-assistant-panel .assistant-composer textarea{min-height:48px;max-height:120px;border:0;outline:none;margin:0;padding:8px;font-size:14px;font-weight:400;line-height:1.5;background:transparent;resize:vertical}
.ai-assistant-panel .assistant-composer textarea:focus-visible{outline:none}
.assistant-composer-bar button{flex:none;min-height:44px;font-size:12px;padding:8px 12px}
.assistant-composer>small{display:block;font-size:11px;line-height:1.4;margin:8px 0 0;color:var(--text-secondary)}
.assistant-scroll .ai-guidance-next{padding:16px;background:var(--primary-soft);border-radius:12px 12px 12px 4px;margin-bottom:20px}
.assistant-scroll .ai-guidance-next h3{font-size:14px}
.assistant-scroll .ai-guidance-next>p{font-size:15px;margin-bottom:12px}
.assistant-scroll .ai-guidance-next button{font-size:13px;min-height:40px;white-space:normal;text-align:left;margin:4px 4px 0 0}
.assistant-guide-group{margin:20px 0}
.assistant-guide-group h3{font-size:14px;margin:0 0 10px}
.assistant-guide-group .ai-guidance-item{display:block;padding:12px 0;border-bottom:1px solid var(--divider)}
.assistant-guide-group .ai-guidance-item>span{font-size:14px;font-weight:600}
.assistant-guide-group .ai-guidance-item>p{font-size:13px;margin:6px 0;color:var(--text-secondary)}
.assistant-guide-group .ai-guidance-item>div{margin-top:8px;display:flex;gap:8px}
@media(max-width:600px){
 .ai-assistant-panel .ai-panel-heading{grid-template-columns:52px minmax(0,1fr);padding:12px 16px;gap:10px}
 .ai-panel-heading .assistant-avatar-panel{width:52px;height:64px;margin-top:12px}
 .ai-panel-heading .assistant-hero-copy{padding:4px 64px 0 0}
 .ai-panel-heading h2{font-size:20px}
 .ai-panel-heading .assistant-visual-status{font-size:11px}
 .ai-panel-heading .assistant-identity select{font-size:16px;min-height:40px}
 .assistant-context{padding:10px 16px}
 .assistant-bubble{max-width:85%;padding:10px 12px}
 .assistant-quick-actions button{min-height:40px}
 .ai-assistant-panel .assistant-composer textarea{font-size:16px}
}
@media(max-height:650px){
 .ai-assistant-panel .ai-panel-heading{padding:8px 16px;grid-template-columns:44px minmax(0,1fr)}
 .ai-panel-heading .assistant-avatar-panel{width:44px;height:52px;margin-top:0}
 .ai-panel-heading .assistant-hero-copy{padding:0 72px 0 0;display:flex;gap:6px;flex-wrap:wrap}
 .ai-panel-heading .assistant-identity{margin:0}
 .ai-panel-heading .assistant-hero-copy>p:not(.assistant-hero-message){display:none}
 .assistant-context{padding:6px 16px}
 .assistant-quick-actions{padding:4px 0}
}

@media(max-height:650px){
 .assistant-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .assistant-quick-actions button{min-height:28px;padding:4px 6px;font-size:11px}
 .ai-assistant-panel .assistant-composer textarea{height:48px;min-height:44px}
 .assistant-composer{padding:4px 0 8px}
 .assistant-composer>small{margin-top:4px}
}
/* Phase 1.8H: current guidance and ephemeral turns compose one timeline, never provider memory. */
.assistant-unified .assistant-timeline{flex:1;min-height:0;overflow:auto;padding:16px 24px;scroll-padding:16px}
.assistant-unified .assistant-transcript{display:block;overflow:visible;padding:0;margin:16px 0 0;min-height:0;flex:none}
.assistant-unified .assistant-transcript:empty{margin:0}
.assistant-unified .assistant-context{padding-top:12px;padding-bottom:12px}
.assistant-unified .assistant-guide-group{padding:14px 16px;background:var(--surface-secondary);border-radius:12px 12px 12px 4px}
.assistant-unified .assistant-guide-group .ai-guidance-item:last-child{border-bottom:0;padding-bottom:0}
.assistant-dock{flex:none;padding:0 24px 10px;border-top:1px solid var(--divider);background:var(--surface)}
.assistant-dock .assistant-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 0;margin:0}
.assistant-dock .assistant-composer{padding:0 0 6px}
.assistant-more{position:relative;margin:0;font-size:12px}
.assistant-more>summary,.assistant-privacy>summary{min-height:32px;line-height:20px;padding:6px 8px;margin:0;font-size:12px;color:var(--primary-strong);cursor:pointer}
.assistant-more>summary{border:1px solid var(--border-control);border-radius:20px}
.assistant-more-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0;max-height:25dvh;overflow:auto}
.assistant-more[open]{flex-basis:100%}
.assistant-unified .assistant-privacy{font-size:12px;max-height:25dvh;overflow:auto;margin:0}
.assistant-unified .assistant-privacy>summary{padding:0;min-height:24px;line-height:24px;color:var(--text-secondary)}
.assistant-unified .assistant-privacy p{font-size:12px;line-height:1.5;color:var(--text-secondary);margin:8px 0}
.assistant-unified .assistant-interaction{border:0;background:var(--surface-secondary);border-radius:12px;padding:16px;margin:16px 0}
.assistant-unified .assistant-interaction h3{font-size:16px;margin-top:0}
.assistant-unified .assistant-interaction button{font-size:13px;margin:6px 6px 0 0}
.assistant-unified .assistant-interaction p{font-size:13px;line-height:1.5}
@media(max-width:600px){
 .assistant-unified .assistant-timeline{padding:12px 16px}
 .assistant-dock{padding:0 16px 8px}
 .assistant-dock .assistant-quick-actions button{min-height:36px}
 .assistant-more>summary{min-height:36px;padding:8px 12px}
}
@media(max-height:650px){
 .assistant-unified .assistant-timeline{padding:8px 16px}
 .assistant-dock .assistant-quick-actions{display:flex;gap:6px;padding:4px 0}
 .assistant-dock .assistant-quick-actions button{min-height:28px}
 .assistant-more>summary{min-height:28px;padding:4px 10px}
 .assistant-dock .assistant-composer{padding:0 0 4px}
 .assistant-dock .assistant-composer textarea{height:44px;min-height:40px}
}
.assistant-unified .assistant-dock{padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}
/* A small reachable backdrop above the existing mobile drawer enables tap dismissal. */
@media(max-width:600px){dialog.ai-assistant-panel.assistant-unified{top:32px;bottom:auto;height:min(calc(100dvh - 32px),calc(var(--assistant-visible-height,100dvh) - 32px));max-height:min(calc(100dvh - 32px),calc(var(--assistant-visible-height,100dvh) - 32px));border-radius:12px 12px 0 0}}


/* Phase 1.9C: compact native menu on replaced request/work screens. */
@media(max-width:1000px){nav.mobile-nav>details{width:100%}nav.mobile-nav>details>summary{min-height:44px;padding:10px 12px;border:1px solid var(--border-control);border-radius:8px;font-weight:600}nav.mobile-nav>details[open]{padding-bottom:8px}nav.mobile-nav>details>button{margin:8px 6px 0 0;min-height:44px}#supporting-intake{scroll-margin-top:24px}}

/* Bounded administrative company selector; inherits EasySec form controls. */
.user-company-options { max-height: 20rem; overflow: auto; padding: .5rem; }
.user-company-options label { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.user-company-options label[hidden] { display: none; }
.user-company-options input { width: auto; flex: 0 0 auto; }
