/* Northstar complete customer stylesheet.
 *
 * This is the single runtime stylesheet loaded by the UI.
 * Administrators may upload a per-company theme applied after this base.
 * Keep this file fully self-contained with no external stylesheet dependencies.
 */

/* ===== css/tokens.css ===== */
:root{
  --bg:#101216;--bg-soft:#13161B;--sidebar:#0B0D11;--surface:#181B21;--surface-2:#1D2027;--surface-3:#252933;--surface-hover:#20242B;
  --text:#f2f3f5;--muted:#8c909a;--muted-2:#626771;--line:rgba(255,255,255,.065);--line-strong:rgba(255,255,255,.115);
  --accent:#8c72ff;--accent-2:#6658d8;--accent-soft:color-mix(in srgb,var(--accent) 12%,transparent);--accent-glow:color-mix(in srgb,var(--accent) 18%,transparent);
  --success:#67cc84;--warning:#d8ad56;--danger:#e36d78;--info:#6f9ce8;
  --radius-sm:8px;--radius-md:11px;--radius-lg:16px;--radius-xl:22px;
  --shadow:0 24px 80px rgba(0,0,0,.52);--shadow-soft:0 10px 36px rgba(0,0,0,.30);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
  --fs:12px;--fs-sm:11px;--fs-xs:10px;--fs-h:14px;
  --sidebar-w:232px;--topbar-h:54px;--max-content:1180px;
}

/* ===== css/base.css ===== */
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#101216;color:var(--text);font-family:var(--font);font-size:var(--fs);overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button,input,textarea,select{outline:none}button{border:0;background:none}a{color:inherit}h1,h2,h3,h4{margin:0;font-size:var(--fs-h);line-height:1.35}p{margin:0;line-height:1.55}.hidden,[hidden]{display:none!important}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#2a2c33;border:2px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-track{background:transparent}.eyebrow,.section-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:650}.ambient:before{content:"";position:fixed;width:380px;height:380px;border-radius:50%;filter:blur(78px);background:rgba(70,37,119,.13);pointer-events:none}.toast-stack{position:fixed;right:18px;top:68px;z-index:200;display:grid;gap:8px;max-width:380px}.toast{padding:11px 13px;background:rgba(18,19,24,.96);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);border-radius:10px;color:var(--text);animation:toastIn .18s ease-out}.toast.error{border-color:rgba(227,109,120,.45)}

/* ===== css/layout.css ===== */
.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100vh;background:#101216}.sidebar{position:relative;z-index:8;display:flex;flex-direction:column;min-height:0;padding:14px 11px 12px;background:linear-gradient(180deg,#08090b,#060709);border-right:1px solid var(--line)}.brand-row{display:flex;align-items:center;gap:9px;padding:3px 3px 12px}.brand-logo-wrap{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto}.brand-logo-wrap img{max-width:24px;max-height:24px;border-radius:6px}.brand-mark{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#bcaaff 10%,#6a4ec5 44%,#17131e 72%);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 32%,transparent)}.brand-copy{display:flex;flex-direction:column;min-width:0;flex:1}.brand-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span{font-size:10px;color:var(--muted)}.new-chat{margin:2px 0 11px}.primary-nav{display:grid;gap:3px}.nav-item{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 9px;border-radius:9px;color:#a8abb2;cursor:pointer;transition:.15s ease}.nav-item:hover{background:rgba(255,255,255,.035);color:var(--text)}.nav-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,transparent),color-mix(in srgb,var(--accent) 5.5%,transparent));color:#f2efff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent)}.nav-icon{width:14px;text-align:center;color:#979ba4}.nav-count{margin-left:auto;font-size:10px;color:var(--muted)}.sidebar-section{margin-top:17px;min-height:0}.section-label{padding:0 7px 7px}.row-between{display:flex;justify-content:space-between;align-items:center}.recent-list,.project-list{display:grid;gap:1px}.recent-item,.project-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 7px;border-radius:7px;color:#8f939c;text-align:left;cursor:pointer;min-width:0}.recent-item:hover,.project-item:hover{background:rgba(255,255,255,.03);color:#d5d7dc}.recent-item.active{color:#fff;background:color-mix(in srgb,var(--accent) 8%,transparent)}.recent-item .label,.project-item .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile{margin-top:auto;border-top:1px solid var(--line);padding:12px 6px 1px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.profile-copy{display:flex;flex:1;min-width:0;flex-direction:column}.profile-copy strong,.profile-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:11px}.profile-copy span{font-size:10px;color:var(--muted)}.main-area{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);background:rgba(6,7,9,.86);backdrop-filter:blur(18px);z-index:7}.global-search{display:flex;align-items:center;gap:8px;width:min(400px,42vw);height:31px;padding:0 10px;border:1px solid var(--line);background:#0c0d10;border-radius:9px;color:var(--muted)}.global-search input{min-width:0;flex:1;border:0;background:transparent;color:var(--text);font-size:11px}.global-search kbd{font-size:9px;color:var(--muted-2);border:1px solid var(--line);border-radius:5px;padding:2px 5px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.page-host{position:relative;flex:1;min-height:0;overflow:hidden}.page{position:absolute;inset:0;display:none;min-height:0;overflow:auto}.page.active{display:block;animation:pageIn .17s ease-out}.content-shell{width:min(var(--max-content),calc(100% - 42px));margin:0 auto;padding:28px 0 52px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-heading h1{font-size:14px;margin-bottom:6px}.page-heading p{color:var(--muted);max-width:720px}.avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#25262c;border:1px solid var(--line-strong);font-size:9px;font-weight:700}.avatar.small{width:26px;height:26px}.sidebar.collapsed{width:64px}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar.collapsed .brand-copy,.sidebar.collapsed .new-chat span:last-child,.sidebar.collapsed .nav-item>span:not(.nav-icon),.sidebar.collapsed .sidebar-section,.sidebar.collapsed .profile-copy,.sidebar.collapsed .sidebar-profile>span:last-child{display:none}.sidebar.collapsed .nav-item,.sidebar.collapsed .new-chat{justify-content:center}.mobile-only{display:none!important}
.recent-row{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:2px}.recent-more{opacity:0;width:22px;height:22px;border-radius:6px;color:var(--muted);cursor:pointer}.recent-row:hover .recent-more{opacity:1}.recent-more:hover{background:#15161a;color:#fff}

/* r4 */
.section-label-row{display:flex;align-items:center;justify-content:space-between;padding-right:4px}
.icon-btn.tiny{width:20px;height:20px;font-size:10px;opacity:.55}
.icon-btn.tiny:hover{opacity:1}

/* ===== css/components.css ===== */
.btn{height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:.15s ease;font-weight:600;font-size:11px}.btn:hover{transform:translateY(-1px);border-color:var(--line-strong)}.btn.primary{background:#f0f1f3;color:#090a0c;border-color:#fff;box-shadow:0 5px 22px rgba(255,255,255,.08)}.btn.secondary{background:linear-gradient(180deg,#15161a,#111216);color:#dedfe3}.btn.danger{background:rgba(227,109,120,.08);color:#f09ba3;border-color:rgba(227,109,120,.24)}.btn.full{width:100%}.icon-btn,.round-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:#111216;cursor:pointer;color:#a9adb5;transition:.14s ease}.icon-btn:hover,.round-btn:hover{background:#18191e;color:#fff;border-color:var(--line-strong)}.icon-btn.subtle{background:transparent;border-color:transparent}.icon-btn.mini{width:20px;height:20px;font-size:10px}.link-btn{padding:5px 0;color:#8f939c;font-size:10px;cursor:pointer}.link-btn:hover{color:#d9dbe0}.link-btn.left{text-align:left;padding-left:7px}.pill{height:29px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#0d0e11;color:#a7abb3;font-size:10px}.icon-pill{position:relative;padding:0;width:29px;justify-content:center;cursor:pointer}.notify-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);right:4px;top:4px;box-shadow:0 0 8px var(--accent)}.field{display:grid;gap:5px;color:#a8abb3}.field>span,.field>label{font-size:10px;color:var(--muted)}.field input,.field textarea,.field select,.input{width:100%;border:1px solid var(--line);background:#0c0d10;color:var(--text);border-radius:8px;padding:9px 10px;min-height:34px}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.input:focus{border-color:color-mix(in srgb,var(--accent) 48%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.form-stack{display:grid;gap:11px}.form-stack.compact{gap:8px}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.segmented{display:inline-flex;padding:3px;border-radius:9px;background:#0b0c0f;border:1px solid var(--line)}.segmented button{padding:7px 10px;border-radius:6px;color:#858993;cursor:pointer;font-size:10px}.segmented button.active{background:#1b1924;color:#eeeaff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent)}.card{background:linear-gradient(180deg,rgba(18,19,24,.93),rgba(12,13,16,.93));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.card-pad{padding:16px}.table-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#0b0c0f}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:11px;vertical-align:middle}.data-table th{color:#6f747e;text-transform:uppercase;font-size:9px;letter-spacing:.06em;font-weight:650}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:rgba(255,255,255,.018)}.status-badge,.status{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:999px;background:#131419;border:1px solid var(--line);font-size:9px;color:#aab0b8}.status.good{color:#91dca4}.status.warn{color:#e5c273}.status.bad{color:#ee929a}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.empty-state{display:grid;place-items:center;text-align:center;min-height:320px;color:var(--muted)}.empty-state .empty-box{max-width:420px}.empty-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin:0 auto 12px;background:#121319;border:1px solid var(--line);color:#9d8ce7}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar .spacer{flex:1}.search-box{height:34px;min-width:220px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);background:#0b0c0f;border-radius:9px;color:var(--muted)}.search-box input{border:0;background:transparent;color:var(--text);width:100%}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(620px,calc(100% - 28px));max-height:calc(100vh - 44px);overflow:auto;background:#0d0e12;border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);padding:18px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.popover{position:fixed;z-index:90;right:13px;top:51px;width:340px;max-height:430px;overflow:auto;background:#0d0e12;border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);padding:8px}.popover-item{padding:9px;border-radius:8px;color:#b7bac1}.popover-item:hover{background:#14151a}.popover-item small{display:block;color:var(--muted);margin-top:3px}.details-card{border:1px solid var(--line);border-radius:9px;background:#0c0d10}.details-card summary{padding:10px;cursor:pointer;color:#a7abb3}.details-body{padding:0 10px 10px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#0d0e12}.stat-card strong{display:block;font-size:14px}.stat-card span{color:var(--muted);font-size:10px}.form-error{padding:9px 10px;border:1px solid rgba(227,109,120,.25);background:rgba(227,109,120,.06);color:#efa0a6;border-radius:8px}.loading{display:flex;align-items:center;gap:8px;color:var(--muted)}.spinner{width:14px;height:14px;border:2px solid #30323a;border-top-color:#b9aaff;border-radius:50%;animation:spin .8s linear infinite}
.top-gap{margin-top:14px}.block-gap{margin-top:12px}.admin-actions{margin-top:14px}.group-card{margin-bottom:12px}.tool-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.tool-toggle input{accent-color:var(--accent)}.accent-dot{color:#a18cff}.modal-card.wide{width:min(900px,calc(100% - 28px))}
.toolbar-gap{margin-bottom:10px}.empty-table-cell{text-align:center;color:var(--muted);padding:28px!important}

/* ===== css/auth.css ===== */
.auth-view{position:fixed;inset:0;display:grid;place-items:center;background:var(--theme-auth-bg);overflow:auto;padding:28px}.auth-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(89,56,145,.18),transparent 28%),radial-gradient(circle at 75% 70%,rgba(55,36,93,.14),transparent 24%)}.auth-shell{position:relative;width:min(930px,100%);display:grid;grid-template-columns:1fr 420px;min-height:560px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--theme-auth-shell);box-shadow:var(--shadow)}.auth-brand{padding:34px;display:flex;align-items:flex-start;gap:12px;background:radial-gradient(circle at 30% 30%,var(--accent-soft),transparent 26%),linear-gradient(160deg,var(--theme-auth-brand-dark),var(--theme-auth-bg))}.auth-brand .brand-product{font-size:14px;font-weight:700}.auth-brand .brand-org{font-size:10px;color:var(--muted);margin-top:2px}.auth-card{background:var(--theme-auth-card);border-left:1px solid var(--line);padding:54px 42px;display:flex;flex-direction:column;justify-content:center}.auth-kicker{color:#82779b;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.auth-card h1{font-size:14px;margin-bottom:8px}.auth-card>p{color:var(--muted);margin-bottom:22px}.setup-mode{margin-bottom:12px}.setup-progress{padding:12px;border:1px solid var(--line);border-radius:10px;background:#0c0d11;color:#b8bbc1;line-height:1.55}

/* ===== css/chat.css ===== */
.chat-page{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,calc(100% - 40px));margin:0 auto}.chat-header{height:54px;display:flex;align-items:center;gap:8px;padding:0 4px}.chat-header h1{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header .status-badge{margin-left:auto}.messages{overflow:auto;padding:10px 4px 26px;scroll-behavior:smooth}.welcome{min-height:100%;display:grid;place-items:center;text-align:center}.welcome-card{max-width:620px;position:relative}.welcome-orb{position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#7a2d74 0%,rgba(61,32,76,.36) 38%,transparent 72%);filter:blur(22px);left:65%;top:-55px;opacity:.55}.welcome h2{position:relative;font-size:14px;margin-bottom:8px}.welcome p{position:relative;color:var(--muted);max-width:620px}.message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;margin:0 0 14px;animation:messageIn .18s ease-out}.message.user{max-width:760px;margin-left:auto}.message.assistant{max-width:900px;margin-right:auto}.message-body{min-width:0}.message-meta{height:22px;display:flex;align-items:center;gap:8px;color:#b7bac0;font-size:10px}.message-meta .model-tag{color:#6d727c;font-size:9px;border:1px solid var(--line);border-radius:999px;padding:2px 6px}.bubble{border-radius:13px;line-height:1.6}.user .bubble{display:inline-block;background:#17181d;border:1px solid var(--line);padding:9px 11px}.assistant .message-body{background:linear-gradient(180deg,rgba(18,19,24,.96),rgba(11,12,15,.96));border:1px solid var(--line);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-soft)}.assistant .bubble{color:#d9dbe0}.assistant .bubble p{margin:0 0 9px}.assistant .bubble p:last-child{margin-bottom:0}.assistant .bubble strong{color:#f0f1f3}.assistant .bubble code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#17181e;padding:1px 4px;border-radius:4px}.assistant .bubble pre{overflow:auto;padding:10px;background:#090a0c;border:1px solid var(--line);border-radius:9px}.ai-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#d7c8ff,#6f52bf 32%,#17131e 70%);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 18%,transparent);font-size:10px}.steps-line{display:flex;align-items:center;gap:6px;color:#898391;font-size:9px;margin-bottom:8px;cursor:pointer}.source-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.source-chip{padding:5px 8px;border-radius:7px;border:1px solid var(--line);background:#121319;color:#a9adb5;cursor:pointer;font-size:9px}.source-chip:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:#e8e2ff}.message-actions{display:flex;gap:3px;margin-top:7px;opacity:.66}.message-actions button{width:24px;height:24px;border-radius:6px;color:#7e838d;cursor:pointer}.message-actions button:hover{background:#17181d;color:#fff}.composer-zone{padding:10px 0 15px}.composer{position:relative;min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-rows:minmax(34px,auto) 22px;align-items:center;gap:7px;padding:9px 10px 7px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);background:linear-gradient(180deg,#111216,#0d0e11);border-radius:15px;box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 0 1px color-mix(in srgb,var(--accent) 3%,transparent),0 0 32px rgba(88,60,150,.08)}.composer:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,transparent);box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 32px color-mix(in srgb,var(--accent) 14%,transparent)}.composer textarea{grid-column:2/3;grid-row:1/2;min-height:34px;max-height:120px;field-sizing:content;resize:none;background:transparent;border:0;color:var(--text);padding:8px 3px;line-height:1.45}.composer-meta{grid-column:2/4;grid-row:2;color:#747983;font-size:9px}.round-btn{grid-row:1}.send-btn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0f1f3;color:#08090b;cursor:pointer;font-weight:700}.send-btn.stop{background:#2b1d21;color:#f2abb1}.composer-help{text-align:right;color:#555a63;font-size:9px;padding-top:5px}.attachment-chip{display:inline-flex;align-items:center;gap:7px;margin:0 0 7px 6px;padding:5px 8px;border:1px solid var(--line);background:#101116;border-radius:7px;color:#aaaeb6}.attachment-chip button{cursor:pointer;color:#7e838d}.voice-panel{position:fixed;left:246px;bottom:26px;z-index:80;display:flex;align-items:center;gap:10px;min-width:280px;padding:12px 14px;background:rgba(14,15,19,.96);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:14px;box-shadow:var(--shadow);animation:voiceIn .2s ease-out}.voice-panel>div:nth-child(2){display:flex;flex-direction:column}.voice-panel span{font-size:9px;color:var(--muted)}.voice-orb{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#dacdff,#7456c8 36%,#1b1425 72%);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 28%,transparent)}.waveform{display:flex;align-items:center;gap:2px;height:24px;margin-left:auto}.waveform i{display:block;width:2px;height:8px;background:#9c83ef;border-radius:99px;animation:wave .85s ease-in-out infinite}.waveform i:nth-child(2){animation-delay:.1s}.waveform i:nth-child(3){animation-delay:.2s}.waveform i:nth-child(4){animation-delay:.3s}.waveform i:nth-child(5){animation-delay:.4s}.waveform i:nth-child(6){animation-delay:.5s}.waveform i:nth-child(7){animation-delay:.6s}

/* r3: artifact rendering + eval select */
.artifact-card{background:var(--surface-2,#141416);border:1px solid var(--border,rgba(255,255,255,.09));border-radius:10px;padding:10px 12px;margin-top:8px;max-width:100%;overflow:hidden}
.artifact-title{font-size:11px;font-weight:600;color:var(--text-muted,#a9a9b2);margin-bottom:6px}
.artifact-error{font-size:11px;color:var(--danger,#ef6a7a)}
.artifact-diagram{overflow-x:auto}
.artifact-diagram svg{max-width:100%;height:auto}
.artifact-chart{width:100%;min-height:220px;height:260px}
.artifact-table{margin-top:2px;overflow-x:auto}
.artifact-file{display:inline-flex;margin-top:6px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.kpi-card{background:var(--surface,#101012);border:1px solid var(--border,rgba(255,255,255,.09));border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:2px}
.kpi-card strong{font-size:14px}
.kpi-card span{font-size:10px;color:var(--text-muted,#a9a9b2)}
.status-card p{margin:6px 0}
.status-block{margin-top:6px}
.status-block ul{margin:4px 0 0;padding-left:16px}
.status-block li{font-size:11px;margin:2px 0}
.eval-select{background:transparent;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:6px;color:var(--text-muted,#a9a9b2);font-size:10px;padding:1px 4px;margin-left:8px}

/* ===== css/documents.css ===== */
.upload-zone{border:1px dashed color-mix(in srgb,var(--accent) 24%,transparent);border-radius:14px;min-height:170px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(109,72,184,.08),transparent 40%),#0a0b0e;margin-bottom:16px;padding:22px;transition:.15s ease}.upload-zone.dragging{border-color:color-mix(in srgb,var(--accent) 65%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.upload-zone h3{margin:8px 0 4px}.upload-zone p,.upload-zone small{color:var(--muted)}.upload-actions{display:flex;gap:7px;margin:12px 0}.upload-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#121319;border:1px solid var(--line);color:#a994f3}.doc-name{display:flex;align-items:center;gap:9px;min-width:0}.file-icon{width:26px;height:30px;border-radius:6px;display:grid;place-items:center;background:#15161b;border:1px solid var(--line);color:#aaaeb7;font-size:9px}.doc-name strong{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.doc-name small{color:var(--muted);font-size:9px}.doc-actions{display:flex;justify-content:flex-end;gap:4px}.viewer{position:fixed;inset:0;z-index:120;background:rgba(3,4,5,.88);backdrop-filter:blur(8px);padding:18px}.viewer-shell{height:100%;display:flex;flex-direction:column;background:var(--theme-auth-card);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.viewer-header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.viewer-header h2{margin-top:3px}.viewer-body{flex:1;min-height:0;background:#08090b;display:grid;place-items:center;overflow:auto}.viewer-body iframe,.viewer-body img{width:100%;height:100%;border:0;object-fit:contain}.viewer-body pre{align-self:stretch;justify-self:stretch;margin:0;padding:22px;white-space:pre-wrap;color:#d2d4d9;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.doc-status-row{display:flex;gap:6px;align-items:center}.knowledge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.knowledge-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#0d0e12}.knowledge-card strong{display:block;margin-bottom:4px}.knowledge-card span{color:var(--muted)}

/* ===== css/admin.css ===== */
.admin-shell{display:grid;grid-template-columns:var(--theme-admin-sidebar-width) minmax(0,1fr);height:100%}.admin-sidebar{padding:20px 12px;border-right:1px solid var(--line);background:var(--theme-admin-sidebar);overflow:auto}.admin-sidebar h2{padding:0 8px 14px}.admin-group{margin-bottom:15px}.admin-group-label{padding:0 8px 5px;color:#565b65;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.admin-nav-btn{display:flex;align-items:center;width:100%;padding:8px 9px;border-radius:8px;color:#8e939c;cursor:pointer;text-align:left;font-size:10px}.admin-nav-btn:hover{color:#d8dae0;background:rgba(255,255,255,.025)}.admin-nav-btn.active{color:#f1edff;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,transparent),color-mix(in srgb,var(--accent) 5%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}.admin-content{overflow:auto;padding:26px 28px 50px}.admin-content-inner{max-width:1080px}.admin-title{margin-bottom:18px}.admin-title h1{margin-bottom:5px}.admin-title p{color:var(--muted);max-width:760px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-card{padding:15px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,var(--theme-admin-card-top),var(--theme-admin-card-bottom));box-shadow:var(--shadow-soft)}.admin-card h3{margin-bottom:5px}.admin-card>p{color:var(--muted);margin-bottom:13px}.setting-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:16px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.setting-row:first-of-type{border-top:0}.setting-label strong{display:block;font-size:11px}.setting-label span{color:var(--muted);font-size:9px}.source-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.source-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--theme-source-card);cursor:pointer;min-height:90px}.source-card:hover{border-color:color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-1px)}.source-card strong{display:block;margin:6px 0 3px}.source-card span{color:var(--muted);font-size:9px}.feedback-list{display:grid;gap:8px}.feedback-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--theme-source-card)}.feedback-item .meta{display:flex;gap:8px;color:var(--muted);font-size:9px;margin-bottom:6px}.theme-preview{height:110px;border-radius:10px;border:1px solid var(--line);background:linear-gradient(135deg,var(--theme-sidebar),var(--theme-card));position:relative;overflow:hidden}.theme-preview:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,transparent);filter:blur(22px);right:15%;top:-20%}.connection-list{display:grid;gap:8px}.connection-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px}.connection-row .grow{flex:1}.connection-row small{display:block;color:var(--muted)}

/* ===== css/motion.css ===== */
@keyframes pageIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes messageIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes toastIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes voiceIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}@keyframes wave{0%,100%{height:6px;opacity:.55}50%{height:20px;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== css/responsive.css ===== */
@media(max-width:980px){:root{--sidebar-w:205px}.knowledge-grid,.source-card-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:190px minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.desktop-only{display:none!important}.mobile-only{display:grid!important}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:228px;z-index:60;transform:translateX(-102%);transition:.2s ease;box-shadow:var(--shadow)}.sidebar.mobile-open{transform:none}.main-area{grid-column:1}.global-search{width:min(330px,52vw)}.top-actions .pill:not(.icon-pill),.top-actions .avatar{display:none}.chat-page{width:calc(100% - 22px)}.content-shell{width:calc(100% - 24px);padding-top:18px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:flex;gap:5px;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.admin-sidebar h2,.admin-group-label{display:none}.admin-group{display:flex;margin:0;gap:4px}.admin-nav-btn{white-space:nowrap}.admin-content{padding:18px 12px}.admin-grid,.form-grid.two,.source-card-grid,.knowledge-grid{grid-template-columns:1fr}.setting-row{grid-template-columns:1fr;gap:7px}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-card{border-left:0;padding:32px 22px}.data-table{min-width:740px}.table-card{overflow:auto}.voice-panel{left:12px;right:12px;bottom:14px}.page-heading{flex-direction:column}.toolbar .spacer{display:none}.search-box{min-width:100%;order:10}}


/* ===== 0.38.78 enterprise conversation redesign ===== */
:root{
  /* One per-company theme can override these values across every page. */
  --theme-bg:#101216;
  --theme-auth-bg:#050506;
  --theme-auth-shell:rgba(7,8,10,.86);
  --theme-auth-brand-dark:#08090b;
  --theme-auth-card:#0a0b0e;
  --theme-sidebar:#0B0D11;
  --theme-admin-sidebar:#08090c;
  --theme-admin-card-top:#0f1014;
  --theme-admin-card-bottom:#0b0c0f;
  --theme-topbar:#0E1014;
  --theme-conversation:#13161B;
  --theme-card:#181B21;
  --theme-card-2:#1D2027;
  --theme-source-card:#0d0e12;
  --theme-user-card:#252933;
  --theme-hover:#20242B;
  --theme-control-bg:#15181E;
  --theme-control-border:#252A33;
  --theme-border:#2C3039;
  --theme-border-strong:#383D49;
  --theme-text:#F2F4F7;
  --theme-text-secondary:#A7ADB8;
  --theme-text-muted:#737A87;
  --theme-accent:#8A6CFF;
  --theme-accent-soft:color-mix(in srgb,var(--theme-accent) 12%,transparent);
  --theme-accent-text:#c9baff;
  --theme-success:#67cc84;
  --theme-success-text:#89d9b2;
  --theme-warning:#d8ad56;
  --theme-danger:#e36d78;
  --theme-danger-text:#ffc8cf;
  --theme-info:#6f9ce8;
  --theme-shadow-color:rgba(0,0,0,.26);
  --theme-preview-bg:#fff;
  --theme-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
  --theme-sidebar-width:232px;
  --theme-topbar-height:54px;
  --theme-content-width:1180px;
  --theme-admin-sidebar-width:220px;
  --theme-chat-padding:32px;
  --theme-radius-sm:8px;
  --theme-radius-md:11px;
  --theme-radius-lg:16px;
  --theme-radius-xl:22px;

  --app-bg:var(--theme-bg);
  --sidebar-bg:var(--theme-sidebar);
  --topbar-bg:var(--theme-topbar);
  --conversation-bg:var(--theme-conversation);
  --assistant-bg:var(--theme-card);
  --user-bg:var(--theme-user-card);
  --surface-hover:var(--theme-hover);
  --border:var(--theme-border);
  --border-strong:var(--theme-border-strong);
  --text-primary:var(--theme-text);
  --text-secondary:var(--theme-text-secondary);
  --text-muted:var(--theme-text-muted);
  --accent:var(--theme-accent);
  --accent-soft:var(--theme-accent-soft);
  --success:var(--theme-success);
  --warning:var(--theme-warning);
  --danger:var(--theme-danger);
  --info:var(--theme-info);
  --font:var(--theme-font);
  --sidebar-w:var(--theme-sidebar-width);
  --topbar-h:var(--theme-topbar-height);
  --max-content:var(--theme-content-width);
  --radius-sm:var(--theme-radius-sm);
  --radius-md:var(--theme-radius-md);
  --radius-lg:var(--theme-radius-lg);
  --radius-xl:var(--theme-radius-xl);

  /* Legacy aliases used by the rest of Northstar */
  --bg:var(--app-bg);
  --bg-soft:var(--conversation-bg);
  --sidebar:var(--sidebar-bg);
  --surface:var(--assistant-bg);
  --surface-2:var(--theme-card-2);
  --surface-3:var(--theme-user-card);
  --surface-hover:var(--theme-hover);
  --text:var(--text-primary);
  --muted:var(--text-secondary);
  --muted-2:var(--text-muted);
  --line:var(--border);
  --line-strong:var(--border-strong);
  --accent-2:#765FE8;
  --accent-glow:var(--theme-accent-soft);
}

html,body{background:var(--app-bg);color:var(--text-primary)}
.app-shell{background:var(--app-bg)}
.main-area,.page-host{background:var(--app-bg)}
.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--theme-hover)}
.sidebar{
  background:var(--sidebar-bg);
  border-right:1px solid var(--theme-hover);
  box-shadow:10px 0 28px rgba(0,0,0,.35),2px 0 6px rgba(0,0,0,.18);
}
.nav-item{border:1px solid transparent}
.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}
.nav-item.active{
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  color:var(--text-primary);
  box-shadow:0 2px 8px rgba(0,0,0,.20);
}
.recent-item.active{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-primary)}
.global-search,.pill,.icon-btn,.round-btn{background:var(--theme-control-bg);border-color:var(--theme-control-border)}
.global-search input{color:var(--text-primary)}
.card,.admin-card,.table-card,.feedback-item,.source-card,.knowledge-card,.modal-card,.popover{
  background:var(--assistant-bg);
  border-color:var(--border);
}
.field input,.field textarea,.field select,.input{background:var(--theme-control-bg);border-color:var(--border);color:var(--text-primary)}
.upload-zone{background:#111419;border-color:var(--border)}
.viewer-shell,.viewer-body{background:var(--app-bg)}

#chatPage{background:var(--conversation-bg)}
.chat-page.conversation-container{
  width:100%;
  max-width:var(--max-content);
  height:100%;
  margin:0 auto;
  padding:0 var(--theme-chat-padding);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.chat-header{
  height:54px;
  padding:0;
  border-bottom:1px solid rgba(255,255,255,.035);
}
.chat-header h1{color:var(--text-primary)}
.messages{
  overflow:auto;
  padding:24px 0 28px;
  scroll-behavior:smooth;
}
.welcome{min-height:100%;display:grid;place-items:center;text-align:center}
.welcome-card{max-width:620px}
.welcome-orb{display:none}
.welcome h2{color:var(--text-primary);font-size:18px;margin-bottom:8px}
.welcome p{color:var(--text-secondary);font-size:13px}

.message{
  display:flex;
  width:100%;
  margin:0 0 18px;
  animation:messageIn .18s ease-out;
}
.message.assistant{justify-content:flex-start;max-width:none;margin-right:0}
.message.user{justify-content:flex-end;max-width:none;margin-left:0}

.message-card{
  min-width:0;
  overflow-wrap:anywhere;
  padding:14px 16px;
}
.assistant-message{
  width:100%;
  max-width:100%;
  margin-right:auto;
  background:var(--assistant-bg);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 6px 20px rgba(0,0,0,.28),0 2px 4px rgba(0,0,0,.20);
}
.user-message{
  width:fit-content;
  max-width:72%;
  margin-left:auto;
  background:var(--user-bg);
  border:1px solid #353A47;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(0,0,0,.24),0 1px 2px rgba(0,0,0,.30);
}

.message-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:11px;
}
.user-card-header{justify-content:flex-start}
.message-identity{display:flex;align-items:center;gap:8px;min-width:0}
.identity-copy{display:flex;flex-direction:column;min-width:0}
.identity-copy strong{font-size:12px;color:var(--text-primary);line-height:1.25}
.message-avatar{
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:10px;
  font-weight:700;
}
.assistant-avatar{
  color:var(--accent);
  background:var(--accent-soft);
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  box-shadow:none;
}
.user-avatar{
  color:#E6E9EE;
  background:#303540;
  border:1px solid #404653;
}
.message-model{
  color:var(--text-muted);
  font-size:11px;
  line-height:26px;
  white-space:nowrap;
}
.assistant-submeta{margin-top:3px;color:#8B919E;font-size:12px;line-height:1.35}
.assistant-live-status{color:#8B919E;font-size:12px}

.bubble{
  color:var(--text-primary);
  line-height:1.62;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
}
.user .bubble{display:block;background:transparent;border:0;padding:0;color:var(--text-primary)}
.assistant .bubble{color:#E4E7EC}
.assistant .bubble p{margin:0 0 10px}
.assistant .bubble p:last-child{margin-bottom:0}
.assistant .bubble strong{color:#FFF}
.assistant .bubble code{background:#101318;border:1px solid #262B34;padding:1px 4px;border-radius:4px}
.assistant .bubble pre{overflow:auto;padding:11px;background:#101318;border:1px solid var(--border);border-radius:9px}

.worksteps{display:block}
.worksteps-toggle{
  padding:0;
  color:#8B919E;
  font-size:12px;
  line-height:1.35;
  cursor:pointer;
  text-align:left;
}
.worksteps-toggle:hover{color:var(--text-secondary)}
.worksteps-panel{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #292E37;
  border-radius:9px;
  background:#14171C;
}
.workstep-item{font-size:11px;line-height:1.45;color:var(--text-secondary);padding:3px 0}

.dynamic-extras{margin-top:12px}
.source-list{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 9px}
.source-chip{
  padding:5px 8px;
  border-radius:7px;
  border:1px solid var(--border);
  background:#15181E;
  color:var(--text-secondary);
  cursor:pointer;
  font-size:10px;
}
.source-chip:hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--text-primary);background:var(--surface-hover)}
.source-status{
  margin-top:9px;
  font-size:11px;
  color:var(--text-muted);
}
.source-status-used{color:#9CBFA5}
.source-status-warn{color:#D8AD56}
.source-status-none{color:var(--text-muted)}

.message-actions{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:12px;
  padding-top:9px;
  border-top:1px solid #292E37;
  opacity:1;
}
.message-actions button{
  width:auto;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:7px;
  color:#8F96A3;
  cursor:pointer;
  font-size:11px;
}
.message-actions button:hover{background:var(--surface-hover);color:var(--text-primary)}
.message-actions .action-text{padding:0 9px}
.clipboard-fallback{
  position:fixed;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  left:-9999px;
}

.composer-zone{padding:12px 0 16px}
.composer{
  position:relative;
  width:100%;
  max-width:var(--max-content);
  min-height:64px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  grid-template-rows:minmax(32px,auto) 20px;
  align-items:center;
  gap:7px;
  padding:8px 10px 7px;
  background:var(--assistant-bg);
  border:1px solid #303541;
  border-radius:16px;
  box-shadow:0 8px 28px rgba(0,0,0,.32),0 2px 6px rgba(0,0,0,.22);
}
.composer:focus-within{
  border-color:#765FE8;
  box-shadow:0 8px 28px rgba(0,0,0,.32),0 2px 6px rgba(0,0,0,.22);
}
.composer textarea{
  grid-column:2/3;
  grid-row:1/2;
  min-height:32px;
  max-height:120px;
  field-sizing:content;
  resize:none;
  background:transparent;
  border:0;
  color:var(--text-primary);
  padding:7px 3px;
  line-height:1.45;
}
.composer textarea::placeholder{color:#686F7B}
.composer-meta{
  grid-column:2/4;
  grid-row:2;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text-muted);
  font-size:10px;
}
#modelLabel{color:#8B919E}
.eval-select{
  background:transparent;
  border:1px solid #303541;
  border-radius:6px;
  color:#8B919E;
  font-size:10px;
  padding:1px 5px;
  margin-left:4px;
}
.round-btn{grid-row:1}
.send-btn{grid-row:1;width:30px;height:30px}
.composer-help{color:#646B76;font-size:9px;padding-top:5px;text-align:right}

@media(max-width:760px){
  .chat-page.conversation-container{padding:0 12px}
  .messages{padding-top:16px}
  .assistant-message{max-width:100%}
  .user-message{max-width:88%}
  .message-card{padding:12px 13px}
  .message-model{font-size:10px}
  .message-card-header{gap:10px}
}

/* ResponseV1: component values and state transitions. */
.response-v1-component{transition:border-color .35s ease,background-color .35s ease}
.ui-metric-value{display:block;font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}
.ui-muted{display:block;color:var(--muted);font-size:11px}
.ui-progress-label{display:block;font-size:11px;margin-bottom:6px}
.response-v1-component progress{width:100%;height:12px;accent-color:var(--accent,#8c72ff)}
.response-v1{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}.response-v1>.artifact-card{margin-top:0;min-width:0}.response-v1>[data-ui-component-id][data-ui-state="loading"]{opacity:.72}.response-v1>[data-ui-component-id][data-ui-state="error"]{border-color:rgba(239,141,153,.5)}.response-v1>.artifact-card:has(.artifact-chart){grid-column:1/-1}.response-v1 .artifact-chart{height:300px}@media(max-width:640px){.response-v1{grid-template-columns:1fr}}
.response-v1 .ui-phase-list{display:grid;gap:10px}.response-v1 .ui-phase-list>div{display:grid;gap:4px}.response-v1 .ui-phase-list span{font-size:12px;color:var(--text)}.response-v1 .ui-phase-list progress{width:100%;height:8px;accent-color:var(--accent,#8c72ff)}
.response-v1 .response-claim{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:6px;border:1px solid var(--line);font-size:10px;font-weight:500;color:var(--muted)}.response-v1 .response-claim-observed{color:#79c9a0}.response-v1 .response-claim-calculated{color:#84aafa}.response-v1 .response-claim-forecast{color:#f1c56d}.response-v1 .response-claim-analysis{color:#d0a7ff}.response-v1 .response-timeline{display:grid;gap:10px;padding-left:18px;margin:0}.response-v1 .response-timeline li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:start;font-size:12px}.response-v1 .response-timeline time{color:var(--muted)}.response-v1 .response-comparison{display:grid;gap:8px}.response-v1 .response-comparison>div{display:grid;grid-template-columns:minmax(90px,1fr) auto auto;gap:8px;align-items:center;font-size:12px}.response-v1 .response-comparison strong{font-variant-numeric:tabular-nums}
.response-v1>.artifact-card:has(.response-timeline){grid-column:span 2}@media(max-width:640px){.response-v1>.artifact-card:has(.response-timeline){grid-column:auto}}

.response-v1-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.response-v1-actions button{cursor:pointer}.response-v1-actions button:disabled{opacity:.55;cursor:wait}
.response-draft-fact{white-space:pre-line}.response-draft-editor{display:block;width:100%;min-height:110px;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card-bg,var(--app-bg));color:var(--text-primary);font:inherit;resize:vertical}.response-draft-sources{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.response-draft-label{display:block;margin-top:12px}.response-draft-context{margin:8px 0}.response-draft-rationale{margin:8px 0}

/* A landscape company logo is a wordmark, not a 24px square icon. */
.brand-row.logo-wordmark .brand-logo-wrap{width:min(210px,calc(100% - 38px));height:58px;min-width:0}
.brand-row.logo-wordmark .brand-logo-wrap img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left center;border-radius:0}
.brand-row.logo-wordmark .brand-copy{display:none}
.brand-logo-preview{display:flex;align-items:center;justify-content:flex-start;min-height:96px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.brand-logo-preview img{display:block;max-width:100%;max-height:76px;object-fit:contain;object-position:left center}

/* 1.1.20: tydlig statusrad i svarskortet medan Emma arbetar */
.emma-working{display:flex;align-items:center;gap:10px;margin:6px 0 4px;padding:10px 12px;border-radius:10px;background:var(--ns-accent-soft,rgba(140,114,255,.1));border:1px solid var(--ns-border-soft,rgba(140,114,255,.2));color:var(--ns-text,#e8e8ec);font-size:13px;font-weight:500}
.emma-working-time{margin-left:auto;color:var(--ns-text-2,#a9a9b2);font-size:11px;font-variant-numeric:tabular-nums}
.emma-dots{display:inline-flex;gap:4px}
.emma-dots i{width:7px;height:7px;border-radius:50%;background:var(--ns-accent,#8c72ff);animation:emmaDot 1.2s ease-in-out infinite}
.emma-dots i:nth-child(2){animation-delay:.15s}.emma-dots i:nth-child(3){animation-delay:.3s}
@keyframes emmaDot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.emma-dots i{animation:none;opacity:.7}}

/* Emma-spec §15.1: källrad på kort; icke-auktoritativ källa markeras tydligt */
.artifact-source{margin-top:8px;font-size:11px;color:var(--ns-text-2,#8B919E)}
.artifact-source.non-authoritative{color:var(--ns-warning,#a35b00);font-weight:500}

/* WorkspaceV1 (360-vyer, Emma-spec §4–5): renderare per component.type */
.ws-card{padding:12px}
.ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.ws-comp{border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:10px;padding:10px 12px;min-width:0}
.ws-wide{grid-column:1/-1}
.ws-entity_header{border:0;padding:0 2px}
.ws-header{display:flex;gap:12px;align-items:center}
.ws-code{font-weight:700;font-size:20px;padding:6px 10px;border-radius:8px;background:var(--ns-accent-soft,rgba(140,114,255,.12))}
.ws-status{display:block;font-size:12px;color:var(--ns-text-2,#8B919E)}
.ws-title{font-size:12px;font-weight:600;margin:0 0 6px;color:var(--ns-text-2,#6b7280)}
.ws-badge{font-weight:500;font-size:10px;padding:1px 6px;border-radius:999px;background:var(--ns-surface-muted,#f1f2f4);margin-left:6px}
.ws-badge-conflict,.ws-badge-partial_error{background:#fde8e8;color:#9b1c1c}
.ws-badge-stale{background:#fff1d6;color:#8a5a00}
.ws-badge-unauthorized,.ws-badge-unavailable{background:#eceff3;color:#4b5563}
.ws-state-conflict{border-color:#f5b5b5}.ws-state-stale{border-color:#f3d48b}.ws-state-partial_error{border-style:dashed}
.ws-empty{margin:0 0 6px;color:var(--ns-text-2,#6b7280);font-style:italic}
.ws-note{margin:0 0 6px;font-size:12px}
.ws-source-line{margin:6px 0 0;font-size:11px;color:var(--ns-text-2,#8B919E)}
.ws-list{margin:0;padding-left:16px;font-size:13px}.ws-list li{margin:3px 0}
.ws-prov{color:var(--ns-text-2,#8B919E);font-size:11px}
.ws-when{color:var(--ns-text-2,#8B919E);font-size:11px}
.ws-tag{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;white-space:nowrap}
.ws-tag-emma{background:#efe9ff;color:#5b3fd1}
.ws-tag-risk{background:#fde8e8;color:#9b1c1c}
.ws-tag-event{background:var(--ns-surface-muted,#eef0f3);color:#374151}
.ws-signals{list-style:none;padding:0}
.ws-signal-card{border:1px dashed #b9a8f5;background:#faf8ff;border-radius:8px;padding:8px;margin:6px 0}
.ws-signal-head{margin-bottom:2px}
.ws-why{font-size:12px;margin:6px 0 0;color:var(--ns-text-2,#6b7280)}
.ws-fin-row{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;font-size:12px;margin:4px 0}
.ws-fin-track{background:var(--ns-surface-muted,#f1f2f4);border-radius:4px;height:10px}
.ws-fin-bar{height:10px;border-radius:4px;background:#8c72ff}.ws-fin-actual{background:#3b82f6}.ws-fin-forecast{background:#f59e0b}
.ws-matrix{display:grid;gap:2px;font-size:11px;max-width:280px}
.ws-matrix-cell{height:26px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-weight:700}
.ws-heat-1{background:#e7f6ec}.ws-heat-2{background:#fff1d6}.ws-heat-3{background:#fde8e8}
.ws-matrix-axis{color:var(--ns-text-2,#8B919E);text-align:center;align-self:center}
.ws-sources{width:100%;border-collapse:collapse;font-size:12px}
.ws-sources th,.ws-sources td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--ns-border-soft,rgba(0,0,0,.06));vertical-align:top}
.ws-field-conflict td{background:#fdf2f2}.ws-field-stale td{background:#fffaf0}
.ws-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ws-btn{font-size:12px;padding:3px 8px;margin-left:6px}.ws-actions .ws-btn{margin-left:0}
.ws-btn small{opacity:.65;margin-left:4px}
.ws-form{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;border-radius:8px;background:var(--ns-surface-muted,#f6f7f9)}
.ws-form-title{font-size:12px;font-weight:600}
.ws-confirm{display:flex;flex-direction:column;gap:6px}
.ws-preview{white-space:pre-wrap;font-family:inherit;font-size:13px;margin:0;padding:8px;border-radius:6px;background:var(--ns-surface,#fff);border:1px solid var(--ns-border-soft,rgba(0,0,0,.08))}
.ws-trace{font-size:11px;margin:0 0 8px;color:var(--ns-text-2,#6b7280)}
@media (prefers-color-scheme:dark){.ws-signal-card{background:rgba(140,114,255,.08)}}
.turn-metrics{font-size:11px;color:var(--ns-text-2,#6b7280);margin-top:6px}
.turn-metrics table{border-collapse:collapse}.turn-metrics td{padding:1px 10px 1px 0}
.turn-metrics p{margin:4px 0 0}
.ws-drillable{cursor:pointer}.ws-drillable:hover{outline:1px dashed #8c72ff;outline-offset:2px}
.ws-drill{margin:6px 0;padding:8px;border-radius:8px;border:1px solid #c9bdf8;background:var(--ns-surface,#fff);font-size:12px;display:flex;flex-direction:column;gap:6px}
.ws-drill-src{padding:4px 0;border-bottom:1px solid var(--ns-border-soft,rgba(0,0,0,.06))}
.ws-field-aging td{background:#fffdf5}.ws-field-register td{color:var(--ns-text-2,#6b7280)}
/* API-katalogen: färdiga kopplingar per kategori */
.ns-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:10px}
.ns-system{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.1));border-radius:10px;background:var(--ns-surface,#fff);cursor:pointer}
.ns-system:hover{border-color:#8c72ff}.ns-system small{color:var(--ns-text-2,#6b7280);font-size:11px}
.ns-unavailable{opacity:.55;cursor:not-allowed}
.ns-setup{font-size:13px;padding-left:18px}.ns-setup li{margin:3px 0}
/* API-connectors (katalogsida) */
.apc-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 16px}.apc-head p{margin:0;color:var(--ns-text-2,#6b7280)}
.apc-count{font-size:12px;padding:4px 10px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.1));border-radius:999px}
.apc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:16px}
.apc-card{border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:14px;padding:18px;background:var(--ns-surface,#fff)}
.apc-card-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.apc-card-head h2{margin:0;font-size:20px}.apc-card-head p{margin:2px 0 0;font-size:13px;color:var(--ns-text-2,#6b7280)}
.apc-chip{margin-left:auto;font-size:12px;padding:3px 10px;border-radius:999px;background:var(--ns-surface-muted,#f1f2f4);white-space:nowrap}
.apc-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.apc-icon.blue{background:#e8f0fe}.apc-icon.green{background:#e6f6ee}.apc-icon.purple{background:#f1ebff}.apc-icon.orange{background:#fff1e3}
.apc-search{display:flex;align-items:center;gap:8px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.12));border-radius:10px;padding:6px 10px;margin-bottom:12px}
.apc-search input{border:0;outline:0;flex:1;background:transparent;font:inherit}
.apc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.apc-tile{display:flex;gap:10px;align-items:center;text-align:left;padding:9px 10px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:10px;background:var(--ns-surface,#fff);cursor:pointer;min-width:0}
.apc-tile:hover{border-color:#8c72ff}.apc-tile.partner{opacity:.6}
.apc-logo{width:32px;height:32px;border-radius:8px;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.apc-name{display:flex;flex-direction:column;min-width:0}.apc-name strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apc-name small{font-size:11px;color:var(--ns-text-2,#6b7280);display:flex;gap:8px;align-items:center}.apc-name em{font-style:normal;opacity:.75}
.apc-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#c5c9d0}
.apc-dot.ready{background:#16a34a}.apc-dot.started{background:#f59e0b}.apc-dot.preset{background:#2563eb}
.apc-more{margin-top:10px;border:0;background:none;color:#2563eb;font-weight:600;cursor:pointer;padding:4px 0}
.apc-legend{font-size:12px;color:var(--ns-text-2,#6b7280);margin-top:14px}
/* Källguiden: fyra faser */
.nsw-intro{margin:0 0 12px;color:var(--ns-text-2,#6b7280)}
.nsw-steps{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:4px}
.nsw-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--ns-text-2,#6b7280);position:relative}
.nsw-steps li span{width:30px;height:30px;border-radius:50%;border:1px solid #c5c9d0;display:flex;align-items:center;justify-content:center;background:var(--ns-surface,#fff);z-index:1}
.nsw-steps li:not(:last-child)::after{content:'';position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:1px;background:#d6d9de}
.nsw-steps li.current{color:#2563eb;font-weight:600}.nsw-steps li.current span{background:#2563eb;border-color:#2563eb;color:#fff}
.nsw-steps li.done span{background:#e8f0fe;border-color:#2563eb;color:#2563eb}
.nsw-sub{font-size:12px;color:var(--ns-text-2,#6b7280);margin-bottom:8px}
.nsw-body{border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:12px;padding:16px}
.nsw-foot{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--ns-border-soft,rgba(0,0,0,.08))}
/* Generativ UI: analyslayout (ekonomi, kunder, projekt, helpdesk) */
.ws-card.analysis{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;padding:16px;background:var(--ns-surface,#fff);transition:opacity .18s ease}
@media (max-width:1180px){.ws-card.analysis{grid-template-columns:minmax(0,1fr)}}
.ws-card.analysis.ws-loading{opacity:.55}
.ws-card.analysis.an-updated{box-shadow:0 0 0 2px rgba(37,99,235,.35);transition:box-shadow .25s ease}
.an-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.an-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.an-kpi{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:16px;border-radius:14px;border:0;font:inherit;color:inherit;transition:transform .18s ease,box-shadow .18s ease}
button.an-kpi{cursor:pointer}button.an-kpi:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.08)}
.an-kpi.tone-blue{background:#eef4ff}.an-kpi.tone-green{background:#ecf8f1}.an-kpi.tone-purple{background:#f3efff}
.an-kpi.tone-orange{background:#fff4e8}.an-kpi.tone-red{background:#fdeeee}.an-kpi.tone-grey{background:#f3f4f6}
.an-kpi-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;flex:none;font-size:16px}
.an-kpi div{display:flex;flex-direction:column;gap:2px;min-width:0}
.an-kpi-label{font-size:12px;color:var(--ns-text-2,#4b5563)}
.an-kpi strong{font-size:26px;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.an-kpi small{font-size:11px;color:var(--ns-text-2,#6b7280)}
.an-delta{font-size:12px;font-weight:600}.an-delta.up{color:#16a34a}.an-delta.down{color:#dc2626}
.an-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
.an-comp{border:1px solid var(--ns-border-soft,rgba(0,0,0,.07));border-radius:14px;padding:14px;min-width:0;background:var(--ns-surface,#fff);transition:box-shadow .18s ease}
.an-comp:hover{box-shadow:0 4px 16px rgba(15,23,42,.05)}
.an-wide{grid-column:1/-1}
.an-title{margin:0 0 8px;font-size:14px;font-weight:600}
.an-chart-canvas{height:260px;width:100%}
.an-table-wrap{overflow-x:auto}.an-table{width:100%;border-collapse:collapse;font-size:13px}
.an-table th{text-align:left;font-weight:500;color:var(--ns-text-2,#6b7280);font-size:12px;padding:6px 8px;border-bottom:1px solid var(--ns-border-soft,rgba(0,0,0,.08));white-space:nowrap}
.an-table td{padding:7px 8px;border-bottom:1px solid var(--ns-border-soft,rgba(0,0,0,.05));white-space:nowrap}
.an-table td.wrap{white-space:normal;min-width:240px;max-width:420px;line-height:1.45;vertical-align:top}.an-table td{vertical-align:top}
.an-table tr.clickable{cursor:pointer;transition:background .15s ease}.an-table tr.clickable:hover{background:#f6f8fc}
.an-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px;background:#f1f2f4}
.an-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.an-pill.tone-green{color:#15803d;background:#e9f7ef}.an-pill.tone-orange{color:#c2410c;background:#fff1e6}
.an-pill.tone-blue{color:#1d4ed8;background:#eaf1ff}.an-pill.tone-grey{color:#6b7280}.an-pill.tone-red{color:#b91c1c;background:#fdecec}
.an-bar{display:inline-block;width:110px;height:7px;border-radius:99px;background:#eceef2;vertical-align:middle;margin-right:6px;overflow:hidden}
.an-bar i{display:block;height:100%;border-radius:99px;background:#2563eb;transition:width .25s ease}
.an-barlist{display:flex;flex-direction:column;gap:7px}
.an-barrow{display:grid;grid-template-columns:minmax(0,150px) 1fr auto;gap:10px;align-items:center;font-size:12px;border:0;background:none;padding:2px 0;text-align:left;font:inherit;font-size:12px;color:inherit}
button.an-barrow{cursor:pointer}.an-barrow span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-barrow .an-bar{width:100%}
.an-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.an-foot-col{border:1px solid var(--ns-border-soft,rgba(0,0,0,.07));border-radius:12px;padding:10px 12px;font-size:12px}
.an-foot-col summary,.an-foot-title{font-weight:600;font-size:12px;cursor:pointer;display:block;margin-bottom:6px}
.an-source{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;background:#f7f8fa;border-radius:8px;padding:7px 9px;margin-top:4px;cursor:pointer;font:inherit;font-size:12px}
.an-source small{color:var(--ns-text-2,#6b7280)}
.an-steps{list-style:none;margin:0;padding:0}.an-steps li{margin:4px 0;color:#15803d}
.an-question{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:5px 0;font:inherit;font-size:12px;text-align:left;cursor:pointer;color:inherit;border-bottom:1px solid var(--ns-border-soft,rgba(0,0,0,.05))}
.an-question:hover{color:#2563eb}
.an-aside{display:flex;flex-direction:column;gap:14px;font-size:12px;border-left:1px solid var(--ns-border-soft,rgba(0,0,0,.06));padding-left:16px}
@media (max-width:1180px){.an-aside{border-left:0;padding-left:0}}
.an-ctx{display:flex;flex-direction:column;gap:6px}.an-ctx strong{font-size:14px}.an-ctx small{color:var(--ns-text-2,#6b7280)}
.an-open{width:100%;margin-top:4px}
.an-link{border:0;background:none;color:#2563eb;padding:0;cursor:pointer;font:inherit;font-size:12px;text-align:left}
.an-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:4px 0}.an-facts dt{color:var(--ns-text-2,#6b7280)}.an-facts dd{margin:0}
.an-sections div{display:flex;justify-content:space-between;padding:3px 0}.an-sections small{color:var(--ns-text-2,#6b7280)}
.an-filters{display:flex;flex-direction:column;gap:8px}
.an-filter{display:flex;flex-direction:column;gap:3px}.an-filter span{color:var(--ns-text-2,#6b7280)}
.an-filter select,.an-filter input{border:1px solid var(--ns-border-soft,rgba(0,0,0,.12));border-radius:8px;padding:6px 8px;font:inherit;background:var(--ns-surface,#fff)}
.an-quick{display:flex;flex-direction:column;gap:4px}
.an-quick-item{display:flex;justify-content:space-between;border:0;background:none;padding:6px 8px;border-radius:8px;cursor:pointer;font:inherit;font-size:12px;text-align:left}
.an-quick-item:hover,.an-quick-item.active{background:#eef4ff;color:#1d4ed8}
.an-cta{display:inline-block;margin-top:6px}
.an-updated-note{border:0;background:#eef4ff;color:#1d4ed8;border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;margin-top:6px}
.ws-card.analysis .ws-summary{font-size:14px;line-height:1.55}.ws-card.analysis .ws-summary:empty{display:none}
/* Generativ UI 2026-10-03: faslinje, blockers/risker, SLA-rad, utfällbara rader, skeleton */
.an-chart-canvas.tall{height:320px}
.an-comp{animation:an-in .2s ease both}
@keyframes an-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ws-card.analysis.ws-loading .an-comp,.ws-card.analysis.ws-loading .an-kpi{position:relative;overflow:hidden}
.ws-card.analysis.ws-loading .an-comp::after,.ws-card.analysis.ws-loading .an-kpi::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:an-shimmer 1s infinite}
@keyframes an-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.an-highlight{box-shadow:0 0 0 2px rgba(220,38,38,.35)}
.an-phases{display:flex;list-style:none;margin:6px 0 2px;padding:0;gap:0;overflow-x:auto}
.an-phase{flex:1;min-width:110px;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;text-align:center;font-size:12px}
.an-phase::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:#d1d5db;z-index:0}
.an-phase:first-child::before{display:none}
.an-phase.done::before,.an-phase.current::before{background:#16a34a}
.an-phase-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280;font-size:13px;position:relative;z-index:1;border:2px solid #d1d5db}
.an-phase.done .an-phase-dot{background:#16a34a;border-color:#16a34a;color:#fff}
.an-phase.current .an-phase-dot{background:#fff;border-color:#2563eb;color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.an-phase-name{font-weight:500;color:var(--ns-text,#111827)}.an-phase small{color:#6b7280}
.an-issues{display:flex;flex-direction:column;gap:8px}
.an-issue{display:block;text-align:left;width:100%;border:1px solid var(--ns-border-soft,rgba(0,0,0,.07));border-radius:12px;padding:10px 12px;background:var(--ns-surface,#fff);font:inherit;color:inherit;transition:box-shadow .18s ease,transform .18s ease}
button.an-issue{cursor:pointer}button.an-issue:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.07)}
.an-issue-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.an-issue-head small{color:#6b7280;margin-left:auto}
.an-issue p{margin:6px 0 0;font-size:13px;line-height:1.45}
.an-issue q,.an-detail q{display:block;margin-top:6px;font-size:12px;color:#6b7280;font-style:italic;line-height:1.45}
.an-kpirow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.an-kpirow div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:#f6f8fc}
.an-kpirow span{font-size:12px;color:#6b7280}.an-kpirow strong{font-size:22px}.an-kpirow small{font-size:11px;color:#6b7280}
.an-detail td{background:#f9fafb;white-space:normal}
.an-section{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:4px 0;font:inherit;color:inherit;text-align:left}
button.an-section{cursor:pointer}button.an-section:hover span{color:#2563eb}
.an-pill.tone-red{background:#fdeeee;color:#b91c1c}.an-pill.tone-orange{background:#fff4e8;color:#c2410c}.an-pill.tone-green{background:#ecf8f1;color:#15803d}.an-pill.tone-blue{background:#eef4ff;color:#1d4ed8}.an-pill.tone-purple{background:#f3efff;color:#6d28d9}
.ws-card.analysis>.an-aside{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 140px);overflow:auto}
.an-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense}
.an-grid>.an-comp{grid-column:span 3}
.an-grid>.an-wide{grid-column:1/-1}
.an-grid>.an-major{grid-column:span 4;grid-row:span 2}
.an-grid>.an-minor{grid-column:span 2}
@media (max-width:900px){.an-grid{grid-template-columns:minmax(0,1fr)}.an-grid>.an-comp,.an-grid>.an-major,.an-grid>.an-minor{grid-column:1/-1;grid-row:auto}}
.an-kpi strong.an-kpi-text{font-size:15px;line-height:1.3;font-weight:600}
.an-minor .an-barrow{display:grid;grid-template-columns:1fr auto;grid-template-areas:"l v" "b b";gap:2px 8px}
.an-minor .an-barrow>span:first-child{grid-area:l;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-minor .an-barrow>.an-bar{grid-area:b;width:100%}.an-minor .an-barrow>strong{grid-area:v}
.an-table td.wrap{min-width:180px}
.an-table td,.an-table th{white-space:normal}
.an-table td.wrap{min-width:140px;max-width:360px}
.an-table .an-pill,.an-table td:has(.an-bar){white-space:nowrap}
.an-table .an-bar{width:64px}
.an-more{margin-top:8px;border:0;background:none;color:#2563eb;font:inherit;font-size:13px;cursor:pointer;padding:4px 0}

.an-table td,.an-table th{overflow-wrap:normal;word-break:normal;hyphens:manual}
.an-kpi strong{overflow-wrap:normal;word-break:normal}
.an-kpi strong.an-kpi-text{font-size:19px;line-height:1.25}
.an-skeleton .sk-line{height:12px;border-radius:6px;background:#eceef2;margin:8px 0;position:relative;overflow:hidden}
.an-skeleton .sk-line.big{height:24px}.an-skeleton .w40{width:40%}.an-skeleton .w60{width:60%}.an-skeleton .w70{width:70%}.an-skeleton .w90{width:90%}
.an-skeleton .sk-block{height:220px;border-radius:12px;background:#f1f3f6;position:relative;overflow:hidden}.an-skeleton .sk-block.small{height:120px}
.an-skeleton .sk-line::after,.an-skeleton .sk-block::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:an-shimmer 1.1s infinite}
.ws-card.analysis>.an-aside{animation:an-slide .22s ease both}
@keyframes an-slide{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.an-export{color:#2563eb}
.ws-card.analysis{background:#fcfbf8}.ws-card.analysis .an-comp{background:#fff}
.an-phase.clickable{cursor:pointer}.an-phase.clickable:hover .an-phase-name{color:#2563eb}
.an-phase-detail{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#f6f8fc;font-size:13px}
.an-phase-detail q{display:block;margin-top:4px;color:#6b7280;font-style:italic}
.an-folder{display:block;margin:8px 0 2px;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.an-section.clickable{cursor:pointer}.an-section.clickable:hover span{color:#2563eb}
.ns-choice{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:#eef4ff;font-weight:500}
.ns-activation{list-style:none;padding:0;margin:10px 0}.ns-activation li{padding:6px 0}.ns-activation li.ok{color:#15803d}.ns-activation li.fail{color:#b91c1c}
.apc-knowledge-host{margin-top:16px}.apc-knowledge .apc-tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.apc-sub{font-size:13px;margin:16px 0 8px}.kn-list{display:flex;flex-direction:column;gap:8px}
.kn-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:12px}
.kn-row small{display:block;color:#6b7280;font-size:12px}.kn-on{color:#15803d;font-weight:600}.kn-off{color:#b91c1c;font-weight:600}
.kn-consent{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#fff7ed;margin:10px 0}
.kn-block{margin:14px 0;padding-top:10px;border-top:1px solid var(--ns-border-soft,rgba(0,0,0,.07))}
.kn-inline{display:flex;gap:8px;margin:6px 0}.kn-inline input{flex:1}
.kn-hits li{margin:6px 0}.kn-hits p{margin:2px 0;font-size:13px;color:#374151}
.kn-tools{list-style:none;padding:0}.kn-tools li{padding:6px 0}.kn-tools small{display:block;color:#6b7280}
.kn-quality{list-style:none;padding:0}.kn-quality li.ok{color:#15803d}.kn-quality li.fail{color:#b91c1c}
#knCases{width:100%;font:inherit;padding:8px;border-radius:8px;border:1px solid #d1d5db}


/* Staplar som SVG (bredd i viewBox 0–100) – inga inlinestilar. */
.an-bar-fill{display:block;width:100%;height:100%}.an-bar-fill rect{fill:#2563eb}
svg.ws-fin-bar{display:block;width:100%;background:none}.ws-fin-bar rect{fill:#8c72ff}.ws-fin-actual rect{fill:#3b82f6}.ws-fin-forecast rect{fill:#f59e0b}
.ws-matrix-2{grid-template-columns:auto repeat(2,1fr)}.ws-matrix-3{grid-template-columns:auto repeat(3,1fr)}.ws-matrix-4{grid-template-columns:auto repeat(4,1fr)}.ws-matrix-5{grid-template-columns:auto repeat(5,1fr)}.ws-matrix-6{grid-template-columns:auto repeat(6,1fr)}.ws-matrix-7{grid-template-columns:auto repeat(7,1fr)}.ws-matrix-8{grid-template-columns:auto repeat(8,1fr)}.ws-matrix-9{grid-template-columns:auto repeat(9,1fr)}.ws-matrix-10{grid-template-columns:auto repeat(10,1fr)}
.apc-c0{background:#1f6feb}.apc-c1{background:#0e9f6e}.apc-c2{background:#7c3aed}.apc-c3{background:#ea580c}.apc-c4{background:#db2777}
.apc-c5{background:#0891b2}.apc-c6{background:#65a30d}.apc-c7{background:#b45309}.apc-c8{background:#4f46e5}.apc-c9{background:#dc2626}.apc-ai{background:#6d28d9}
.ns-user-code{font-size:18px;letter-spacing:.08em}
/* Källguiden: lägesrad och jobbpanel – användaren ser alltid vad som pågår. */
.nsw-activity{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent,#2563eb) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent,#2563eb) 22%,transparent);font-size:13px;animation:nswPulse 1.6s ease-in-out infinite}
.nsw-activity small{margin-left:auto;color:var(--ns-text-2,#6b7280);font-variant-numeric:tabular-nums}
@keyframes nswPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent,#2563eb) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#2563eb) 12%,transparent)}}
.nsw-job{border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:12px;padding:12px;display:grid;gap:8px}
.nsw-job-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}.nsw-job-head span{color:var(--ns-text-2,#6b7280);font-variant-numeric:tabular-nums}
.nsw-job progress{width:100%;height:8px;accent-color:var(--accent,#2563eb)}
.nsw-running,.nsw-results{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12px}
.nsw-running li{display:flex;align-items:center;gap:8px;color:var(--ns-text-2,#6b7280)}
.nsw-results{max-height:260px;overflow:auto}.nsw-results li.new{animation:nswIn .3s ease}.nsw-results li small{color:var(--ns-text-2,#6b7280)}
.nsw-results li.ok b{color:#15803d}.nsw-results li.fail b,.nsw-results li.fail small{color:#b91c1c}
@keyframes nswIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.nsw-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nsw-tools small{color:var(--ns-text-2,#6b7280)}
.nsw-ok{color:#15803d;font-weight:600}.nsw-summary{color:var(--ns-text-2,#6b7280);font-size:12px}
.nsw-answer{padding:10px 12px;border-radius:10px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.08))}.nsw-answer small{display:block;margin-top:6px;color:var(--ns-text-2,#6b7280)}
/* Källguiden: behörighet och säkerhetsklass per resurs */
.nsw-block{border:1px solid var(--ns-border-soft,rgba(0,0,0,.08));border-radius:12px;padding:10px 12px;margin-bottom:10px}
.nsw-block h4{margin:0 0 4px;font-size:13px}
.nsw-picker{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.nsw-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--ns-border-soft,rgba(0,0,0,.12));border-radius:999px;font-size:12px;cursor:pointer}
.nsw-chip:has(input:checked){border-color:var(--accent,#2563eb);background:color-mix(in srgb,var(--accent,#2563eb) 8%,transparent)}
.nsw-chip small{color:var(--ns-text-2,#6b7280)}
.nsw-sec{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0 22px;font-size:12px}
.nsw-sec details{flex-basis:100%}.nsw-sec select{font-size:12px;padding:2px 6px;min-height:0}
.nsw-cat{padding:1px 7px;border-radius:999px;background:var(--ns-surface-muted,#f1f2f4);font-size:11px}
.nsw-warn{color:#b45309}.nsw-error{flex-basis:100%;color:#b91c1c;font-size:12px}
.nsw-level select{font-weight:600}.nsw-confidential select{color:#b45309}.nsw-restricted select{color:#b91c1c}
.nsw-field{display:grid;gap:4px;padding:6px 0;border-top:1px dashed var(--ns-border-soft,rgba(0,0,0,.1))}

/* Röstsamtalet i toppfältet: alltid synligt vad Emma gör (lyssnar/talar), även över initiativsidan. */
.topbar .voice-panel{position:static;left:auto;bottom:auto;top:auto;min-width:0;max-width:min(420px,46vw);height:38px;padding:3px 6px 3px 4px;gap:8px;border-radius:999px;border:1px solid rgba(140,114,255,.45);box-shadow:0 0 0 3px rgba(140,114,255,.12);animation:none;transform:none}
.topbar .voice-panel[hidden]{display:none}
.topbar .voice-orb{width:28px;height:28px;flex:none;font-size:12px}
.topbar .voice-panel>div:nth-child(2){min-width:0;line-height:1.15}
.topbar .voice-panel strong{font-size:12px;white-space:nowrap}
.topbar .voice-panel span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.topbar .voice-panel .waveform{height:18px;margin-left:4px}
.topbar .voice-panel .icon-btn{width:28px;height:28px;flex:none}
@media(max-width:700px){.topbar .voice-panel>div:nth-child(2),.topbar .voice-panel .waveform{display:none}.topbar .voice-panel{flex:none}}

/* Installationsglobala inställningar: kundens admin ser dem men kan inte ändra dem. */
.admin-locked-note{margin-top:10px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:9px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text,inherit);font-size:11px;max-width:760px}
.admin-content :is(input,select,textarea,button):disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.6)}
/* Emmas minne om dig (Cognitive Core) */
.memory-page{max-width:880px;padding:26px 28px 50px}
.memory-choice{display:grid;gap:10px;margin-bottom:18px}
.memory-toggle{display:flex;gap:8px;align-items:flex-start;font-size:12px}
.memory-toggle input{margin-top:2px}
.memory-head{margin:18px 0 8px;font-size:14px}
.memory-list{display:grid;gap:8px}
.memory-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--theme-source-card,transparent)}
.memory-meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:10px;margin-bottom:6px}
.memory-meta .badge.ok{color:inherit;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.memory-text{font-size:12px;margin-bottom:4px}
.memory-why{color:var(--muted);font-size:10px;margin-bottom:8px}
.btn.danger{border-color:#c0392b;color:#c0392b}
@media (max-width:640px){.memory-page{padding:16px}}
.memory-review{font-size:11px;margin:4px 0 8px;padding:6px 9px;border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,transparent)}

/* Emmas omvärld och lärande */
.world-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:4px 0 14px}.world-stats .admin-card{display:flex;flex-direction:column;gap:2px}.world-stats strong{font-size:18px}.world-stats span{color:var(--muted);font-size:10px}.world-item .badge.warn{opacity:.75}.world-pre{white-space:pre-wrap;max-height:520px;overflow:auto;font-size:11px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--theme-source-card,transparent)}.world-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.world-chip{padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:11px;background:var(--theme-source-card,transparent)}.world-suggestion{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.world-suggestion:first-of-type{border-top:0}
@media (max-width:640px){.world-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.world-suggestion{flex-direction:column;align-items:flex-start}}


/* Source control center */
.sc-shell{--sc-accent:var(--accent);max-width:var(--max-content);margin:auto;color:var(--text)}
.sc-modal{animation:sc-pop .23s cubic-bezier(.18,.85,.26,1) both}
@keyframes sc-pop{from{opacity:.45;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.sc-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:20px;min-height:24px;color:var(--muted)}
.sc-breadcrumb button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:11px;padding:3px 0}
.sc-breadcrumb button:hover,.sc-breadcrumb button[aria-current=page]{color:var(--text)}
.sc-enter{animation:sc-rise .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes sc-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.sc-loading{padding:30px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.sc-loading:before{content:'◌';display:inline-block;color:var(--sc-accent);margin-right:8px;animation:sc-spin 1.1s linear infinite}
@keyframes sc-spin{to{transform:rotate(360deg)}}
.sc-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px;margin:24px 0}
.sc-category{position:relative;text-align:left;overflow:hidden;min-height:236px;padding:21px 18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,var(--surface),var(--bg-soft));color:var(--text);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
.sc-category:before{content:'';position:absolute;inset:-70% auto auto -70%;width:140%;height:140%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 60%);opacity:0;transition:opacity .25s;pointer-events:none}
.sc-category:hover,.sc-category:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 12px 35px var(--theme-shadow-color)}
.sc-category:hover:before,.sc-category:focus-visible:before{opacity:1}
.sc-category-icon,.sc-source-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:11px;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--theme-accent-text);font-size:20px}
.sc-category strong{display:block;font-size:15px;margin:16px 0 3px}.sc-kind{display:block;color:var(--muted);font-size:11px;min-height:30px}
.sc-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 4px;margin:15px 0}.sc-stats span{display:flex;flex-direction:column;color:var(--muted);font-size:10px}.sc-stats b{color:var(--text);font-size:16px;line-height:1.4}
.sc-timestamp{font-size:10px;color:var(--muted)}.sc-card-arrow{position:absolute;right:17px;top:17px;color:var(--theme-accent-text);transition:transform .2s}.sc-category:hover .sc-card-arrow{transform:translate(2px,-2px)}
.sc-note,.sc-empty{padding:15px 18px;color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--text) 1.5%,transparent)}
.sc-error{padding:16px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--danger) 7%,transparent);color:var(--theme-danger-text);overflow-wrap:anywhere}
.sc-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:12px 0 18px}.sc-heading h1{font-size:27px;margin:4px 0}.sc-heading h2{font-size:19px;margin:4px 0}.sc-heading p{color:var(--muted);font-size:12px}.sc-heading-actions{display:flex;gap:8px}
.sc-source-list{display:grid;gap:9px}.sc-source-row{display:flex;align-items:center;gap:15px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}
.sc-source-row:hover,.sc-source-row:focus-visible{transform:translateX(3px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--surface-hover)}.sc-source-name{flex:1;min-width:140px}.sc-source-name strong,.sc-source-name small{display:block}.sc-source-name small,.sc-source-metrics small{color:var(--muted);font-size:10px;margin-top:3px}.sc-source-metrics{text-align:right;min-width:66px}.sc-source-metrics b{display:block}.sc-arrow{color:var(--theme-accent-text);font-size:18px}
.sc-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:5px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--text) 11%,transparent);font-size:10px;color:var(--muted)}.sc-badge i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.sc-badge.ready{color:var(--theme-success-text);border-color:color-mix(in srgb,var(--success) 27%,transparent);background:color-mix(in srgb,var(--success) 5%,transparent)}.sc-badge.ready i{background:var(--theme-success-text)}.sc-badge.error{color:var(--theme-danger-text);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 5%,transparent)}.sc-badge.error i{background:var(--theme-danger-text)}
.sc-health-strip{display:flex;flex-wrap:wrap;align-items:center;gap:13px;padding:12px 14px;margin:12px 0 17px;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:11px}
.sc-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin:12px 0 17px}.sc-tabs button{white-space:nowrap;padding:10px 13px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:11px}.sc-tabs button:hover{color:var(--text)}.sc-tabs button.active{color:var(--theme-accent-text);border-bottom-color:var(--sc-accent)}
.sc-tab-panel,.sc-detail-content{min-height:160px}.sc-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.sc-filterbar input{flex:1;min-width:180px}.sc-filterbar select{min-width:125px}
.sc-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.sc-table{width:100%;border-collapse:collapse;font-size:11px}.sc-table th{text-align:left;padding:11px 12px;background:var(--surface-2);color:var(--muted);font-weight:600;white-space:nowrap}.sc-table td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}.sc-table td strong{display:block}.sc-table td small{display:block;color:var(--muted);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-table tbody tr[data-object]{cursor:pointer}.sc-table tbody tr[data-object]:hover{background:color-mix(in srgb,var(--accent) 6.5%,transparent)}.sc-table pre{max-width:580px;max-height:350px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.sc-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:12px 0;color:var(--muted);font-size:11px}.sc-pager span{margin-right:auto}
.sc-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:15px}.sc-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}.sc-detail-grid small,.sc-detail-grid strong,.sc-detail-grid code{display:block;overflow-wrap:anywhere}.sc-detail-grid small{color:var(--muted);margin-bottom:5px}.sc-detail-grid strong{font-size:12px}.sc-detail-grid code{font-size:10px;color:var(--theme-accent-text)}
.sc-preview{width:100%;height:min(62vh,650px);border:1px solid var(--line);border-radius:10px;background:var(--theme-preview-bg)}.sc-preview-image{max-width:100%;max-height:62vh;object-fit:contain;display:block;margin:auto}.sc-chunks{display:grid;gap:10px;margin-top:12px}.sc-chunks article{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:13px}.sc-chunks header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sc-chunks header span,.sc-chunks small{color:var(--muted);font-size:10px}.sc-chunks pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;font:12px/1.5 inherit;margin:12px 0}
.sc-schema{padding:13px;border:1px solid var(--line);border-radius:11px;margin:12px 0}.sc-schema>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.sc-schema span{border:1px solid var(--line);border-radius:20px;padding:5px 8px;font-size:10px;color:var(--theme-accent-text)}
.sc-danger{border:1px solid color-mix(in srgb,var(--danger) 46%,transparent)!important;background:color-mix(in srgb,var(--danger) 9%,transparent)!important;color:var(--theme-danger-text)!important;transition:background .2s,box-shadow .2s,transform .2s}.sc-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 19%,transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 7%,transparent);transform:translateY(-1px)}.sc-danger:disabled{opacity:.42;cursor:not-allowed}.sc-confirm{padding:8px 2px 3px}.sc-confirm p{line-height:1.55;color:var(--text)}.sc-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.sc-phrase{display:block;width:fit-content;padding:10px 14px;margin:15px 0;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:9px;background:color-mix(in srgb,var(--danger) 7%,transparent);font-size:15px;letter-spacing:.05em;color:var(--theme-danger-text)}.sc-confirm .input{width:100%;max-width:390px}
@media(max-width:800px){.sc-source-metrics{display:none}.sc-heading{flex-direction:column}.sc-table{min-width:760px}}
@media(prefers-reduced-motion:reduce){.sc-enter,.sc-modal,.sc-loading:before{animation:none}.sc-category,.sc-source-row,.sc-card-arrow{transition:none}}


/* Emma Business Workspace */
.emma-b-open{margin-left:auto;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--panel-2,var(--panel));color:var(--text);font:inherit;font-size:12px;box-shadow:var(--shadow);cursor:pointer}.emma-b-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(0,0,0,.22);opacity:0;transition:.18s;backdrop-filter:blur(1px)}.emma-b-backdrop.open{opacity:1}.emma-b-workspace{position:fixed;z-index:1100;right:12px;top:12px;bottom:12px;width:min(520px,calc(100vw - 24px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius,14px);background:var(--panel);color:var(--text);box-shadow:var(--shadow);transform:translateX(calc(100% + 24px));opacity:.75;transition:.18s}.emma-b-workspace.open{transform:translateX(0);opacity:1}.emma-b-head{min-height:56px;padding:10px 12px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--panel-2,var(--panel))}.emma-b-head strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emma-b-tools{margin-left:auto;display:flex;align-items:center;gap:6px}.emma-b-langs{display:flex;border:1px solid var(--line);border-radius:8px;padding:2px}.emma-b-langs button{border:0;background:transparent;color:var(--steel);padding:4px 7px;font-size:10px;cursor:pointer}.emma-b-scroll{overflow:auto;min-height:0;flex:1}.emma-b-tabs{position:sticky;top:0;z-index:2;display:flex;gap:4px;padding:8px 10px;overflow:auto;border-bottom:1px solid var(--line);background:var(--panel)}.emma-b-tabs button{border:0;border-radius:7px;padding:6px 8px;background:transparent;color:var(--steel);font-size:11px;white-space:nowrap;cursor:pointer}.emma-b-tabs button.active,.emma-b-tabs button:hover{background:var(--panel-2);color:var(--text)}.emma-b-body{padding:10px;display:flex;flex-direction:column;gap:10px}.emma-b-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.emma-b-kpi{min-height:68px;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm,9px);background:var(--panel-2,var(--panel));box-shadow:var(--shadow)}.emma-b-kpi span{display:block;font-size:10px;color:var(--steel);margin-bottom:6px}.emma-b-kpi strong{font-size:14px}.emma-b-section{border:1px solid var(--line);border-radius:var(--radius-sm,9px);background:var(--panel-2,var(--panel));overflow:hidden;box-shadow:var(--shadow)}.emma-b-section-head{display:flex;align-items:center;padding:7px 9px;border-bottom:1px solid var(--line)}.emma-b-section-head h3{margin:0;font-size:12px}.emma-b-count{margin-left:auto;color:var(--steel);font-size:10px}.emma-b-row{display:flex;align-items:center;gap:9px;padding:8px 9px;border-bottom:1px solid var(--line)}.emma-b-row:last-child{border-bottom:0}.emma-b-row.clickable{cursor:pointer}.emma-b-row.clickable:hover{background:var(--panel)}.emma-b-row-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.emma-b-row-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emma-b-row-copy span,.emma-b-muted{font-size:10px;color:var(--steel);line-height:1.45}.emma-b-status{padding:3px 6px;border:1px solid var(--line);border-radius:999px;color:var(--steel);font-size:9px;text-transform:uppercase}.emma-b-status[data-status=active],.emma-b-status[data-status=approved],.emma-b-status[data-status=committed],.emma-b-status[data-status=completed]{color:var(--soft-lime);border-color:var(--soft-lime)}.emma-b-status[data-status=excluded],.emma-b-status[data-status=blocked]{color:var(--pink);border-color:var(--pink)}.emma-b-empty,.emma-b-loading,.emma-b-error{padding:16px 10px;text-align:center;color:var(--steel);font-size:11px}.emma-b-error,.emma-b-exclusion{color:var(--pink)}.emma-b-title{margin:5px 0 2px;font-size:14px}.emma-b-search{display:flex;gap:6px;margin:10px 0}.emma-b-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:11px;padding:8px 9px}.emma-b-search-results{border:1px solid var(--line);border-radius:8px;overflow:hidden}.emma-b-search-results:empty{display:none}.emma-b-approval{border:1px solid var(--line);border-radius:9px;background:var(--panel-2,var(--panel));overflow:hidden;margin-bottom:8px}.emma-b-approval-actions{display:flex;justify-content:flex-end;gap:6px;padding:8px}.emma-b-exclusion{display:block;font-size:9px;margin-top:3px}.emma-b-overview{display:flex;flex-direction:column;gap:10px}@media(max-width:720px){.emma-b-workspace{inset:6px;width:auto}.emma-b-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

.emma-b-tabs button.active{box-shadow:inset 0 -2px 0 var(--ng-blue,var(--steel))}.emma-b-search input:focus{border-color:var(--ng-blue,var(--steel));outline:none}

/* Business Workspace replaces the chat canvas while it is open. */
.emma-b-open{background:var(--surface-2);color:var(--text)}
.emma-b-workspace{
  --panel:var(--surface);
  --panel-2:var(--surface-2);
  --steel:var(--muted);
  --ng-blue:var(--accent);
  --soft-lime:var(--success);
  --pink:var(--danger);
  left:var(--sidebar-w,232px);
  right:0;
  top:var(--topbar-h,54px);
  bottom:0;
  width:auto;
  border-radius:0;
  background:var(--surface);
  opacity:1;
  transform:translateX(100%);
}
.emma-b-workspace.open{transform:translateX(0);opacity:1}
.emma-b-access{display:flex;flex-direction:column;gap:12px}
.emma-b-access-row{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--radius-sm,9px);padding:10px;background:var(--surface-2)}
.emma-b-access-row label{font-weight:600}
.emma-b-access-row select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm,9px);background:var(--surface);color:var(--text);padding:6px}
.emma-b-access-row button{align-self:flex-start}
.emma-cv{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:var(--radius-sm,9px);padding:14px;background:var(--surface)}
.emma-cv h3{margin:0;font-size:15px}.emma-cv-progress{border-bottom:1px solid var(--line);padding-bottom:6px}
.emma-cv-form{display:flex;flex-direction:column;gap:10px}.emma-cv-form>.btn{align-self:flex-start}
.emma-cv-field{display:flex;flex-direction:column;gap:5px;color:var(--text);font-size:12px}
.emma-cv-field input,.emma-cv-field textarea,.emma-cv-field select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm,9px);background:var(--surface-2);color:var(--text);font:inherit;padding:8px}
.emma-cv-field textarea{min-height:80px;resize:vertical}.emma-cv-component,.emma-cv-scenario{border:1px solid var(--line);border-radius:var(--radius-sm,9px);padding:10px;display:grid;gap:8px}
.emma-cv-component{grid-template-columns:repeat(2,minmax(0,1fr))}.emma-cv-component .emma-cv-field:last-child{grid-column:1/-1}
.emma-cv-scenario{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.emma-cv-scenario legend{font-weight:600}
.emma-cv-scenario .emma-cv-field:last-child{grid-column:1/-1}.emma-cv-choice{display:flex;align-items:center;gap:8px;font-size:12px}
.emma-cv-summary{display:grid;gap:6px;margin:0}.emma-cv-summary>div{border-bottom:1px solid var(--line);padding:6px 0}
.emma-cv-summary dt{font-weight:600;text-transform:capitalize}.emma-cv-summary dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
.emma-cv-proposal{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:var(--surface-2);color:var(--text);padding:10px;border-radius:var(--radius-sm,9px)}
@media(max-width:720px){.emma-cv-component,.emma-cv-scenario{grid-template-columns:1fr}}
@media(max-width:720px){
  .emma-b-workspace{left:0;top:0;right:0;bottom:0;width:auto}
}

/* Delad vy under Business Case-utfrågningen: chatten till vänster, ärendet till höger. */
@media (min-width:1100px){
  /* Arbetsytan ligger till höger och tar egen plats: chatten krymper i stället för att täckas. */
  .emma-b-workspace.split{left:auto;width:var(--bcp-workspace-w);border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(0,0,0,.06)}
  body.emma-b-split-active #chatPage{margin-right:var(--bcp-workspace-w)}
}

/* Utfrågningen dokumenterad i Business Case-vyn */
.emma-cv-doc{margin:10px 0;border:1px solid var(--border,#e2e5ea);border-radius:10px;padding:8px 12px}
.emma-cv-doc>summary{cursor:pointer;font-weight:600}
.emma-cv-doc dd{white-space:pre-wrap}
.emma-cv-doc-source{display:block;margin-top:2px;opacity:.7;font-size:.85em}
.emma-cv-doc-missing dd,.emma-cv-doc-deferred dd{opacity:.65;font-style:italic}
.emma-cv-doc-edit{margin-top:6px;padding:2px 10px;font-size:.85em}
.emma-cv-doc .emma-cv-form textarea{width:100%;min-height:70px}
.emma-cv-log-list{margin:6px 0 0;padding-left:18px;font-size:.9em}
.emma-cv-log-list li{margin:3px 0}
.emma-cv-doc dt{text-transform:none}
.emma-cv-doc-missing dd,.emma-cv-doc-deferred dd{display:flex;align-items:center;gap:10px}
.emma-cv-basis{margin:10px 0;padding:12px;border:1px solid var(--border,#e2e5ea);border-radius:10px;background:var(--surface-2,rgba(0,0,0,.02))}
.emma-cv-basis h4{margin:4px 0 8px}
.emma-cv-basis dt{text-transform:none}
.emma-cv-components{width:100%;border-collapse:collapse;font-size:.9em}
.emma-cv-components th,.emma-cv-components td{border-bottom:1px solid var(--border,#e2e5ea);padding:4px 6px;text-align:left;vertical-align:top}

/* Aviseringsikonen i toppfältet: antal olästa notiser och business case som väntar på användaren */
#notificationBtn{position:relative}
.notify-dot.notify-count{width:auto;height:auto;min-width:16px;padding:1px 4px;border-radius:9px;font-size:10px;line-height:14px;font-weight:700;color:#fff;background:#d92d20;box-shadow:none;right:-4px;top:-4px;text-align:center}
#notificationPanel .popover-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.65;padding:8px 12px 4px}
#notificationPanel .popover-case{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;color:inherit}
#notificationPanel .popover-item.unread{font-weight:600}

/* Statusbar: hela flödet (16 steg i sex faser) och var ärendet är */
.emma-cv-status{display:flex;gap:4px;align-items:stretch;margin:6px 0 4px;padding:10px 14px 10px 10px;background:var(--surface-2,#eef1f4);border-radius:10px;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,8px 50%);overflow-x:auto}
.emma-cv-phase{flex:1 1 0;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:2px 4px;border-radius:8px}
.emma-cv-phase-title{font-size:11px;font-weight:600;text-align:center;opacity:.6;line-height:1.2}
.emma-cv-phase.done .emma-cv-phase-title{opacity:.85}
.emma-cv-phase.now{background:rgba(31,111,235,.10)}
.emma-cv-phase.now .emma-cv-phase-title{opacity:1;color:#1f5fbf}
.emma-cv-dots{display:flex;gap:5px}
.emma-cv-dot{width:11px;height:11px;border-radius:50%;border:2px solid #9aa4b2;background:#fff;box-sizing:border-box}
.emma-cv-dot.done{background:#1d5c7a;border-color:#1d5c7a}
.emma-cv-dot.now{background:#fff;border-color:#1f6feb;box-shadow:0 0 0 3px rgba(31,111,235,.25)}
.emma-cv-status-now{margin:4px 2px 8px;font-size:12px;font-weight:600}

/* Ärendet i hela ytan: sammanfattning, nyckeltal, att göra nu */
.emma-cv-back{align-self:flex-start;margin-bottom:8px}
.emma-cv-ai-summary{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.emma-cv-ai-summary h4,.emma-cv-step-title{margin:0 0 8px;font-size:14px}
.emma-cv-ai-text{margin:0 0 6px;font-size:14px;line-height:1.6;white-space:pre-wrap}
.emma-cv-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.emma-cv-kpi{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.emma-cv-kpi span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.emma-cv-kpi strong{font-size:16px}
.emma-cv-actions{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.emma-cv-actions:empty{display:none}
/* Översikten över alla business case */
.emma-cases{display:flex;flex-direction:column;gap:10px}
.emma-cases-filter{display:flex;gap:6px;flex-wrap:wrap}
.emma-cases-filter button{border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.emma-cases-filter button.active{background:var(--accent,#1f6feb);border-color:var(--accent,#1f6feb);color:#fff}
.emma-cases-table{width:100%;border-collapse:collapse;font-size:13px}
.emma-cases-table th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line)}
.emma-cases-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.emma-cases-table td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.emma-cases-table tr.clickable{cursor:pointer}.emma-cases-table tr.clickable:hover{background:var(--surface-2)}
.emma-cv-mini{display:inline-flex;gap:3px}
.emma-cv-mini i{width:14px;height:6px;border-radius:3px;background:#d5dae1}
.emma-cv-mini i.done{background:#1d5c7a}.emma-cv-mini i.now{background:#1f6feb}
@media(max-width:900px){.emma-cv-kpis{grid-template-columns:1fr}.emma-cases-table th:nth-child(4),.emma-cases-table td:nth-child(4){display:none}}
.emma-b-workspace:not(.split) .emma-b-body{max-width:1180px;width:100%;margin:0 auto;box-sizing:border-box}

/* Business case som egen sida (popup) */
.bcp-overlay{position:fixed;inset:0;z-index:1300;background:rgba(15,23,42,.38);display:flex;align-items:stretch;justify-content:center;padding:24px}
.bcp-card{width:min(1180px,100%);overflow:auto;background:var(--surface,#fff);color:var(--text);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.25);padding:22px 26px}
.bcp{display:flex;flex-direction:column;gap:14px}
.bcp-head{display:flex;align-items:flex-start;gap:12px}.bcp-head h2{margin:2px 0 0;font-size:20px;line-height:1.3}
.bcp-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bcp-tools{margin-left:auto;display:flex;gap:8px;align-items:center}
.bcp-process{display:flex;align-items:stretch;gap:4px;flex-wrap:wrap;padding:10px;border-radius:12px;background:var(--surface-2,#f3f5f8)}
.bcp-arrow{align-self:center;color:var(--muted);font-size:12px}
.bcp-step{flex:1 1 120px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;cursor:pointer;text-align:left}
.bcp-step strong{font-size:13px}.bcp-step span{font-size:11px;color:var(--muted)}
.bcp-step.done span{color:#15803d}.bcp-step.current{background:var(--surface,#fff);border-color:#1f6feb}.bcp-step.current span{color:#1f5fbf;font-weight:600}
.bcp-step.closed span{color:#b42318}.bcp-step.selected{box-shadow:inset 0 -3px 0 #1f6feb}
.bcp-now{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.bcp-now>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.bcp-now dt{font-size:11px;color:var(--muted)}.bcp-now dd{margin:3px 0 0;font-weight:600;font-size:13px}
.bcp-panel{display:flex;flex-direction:column;gap:12px}.bcp-panel>h3{margin:4px 0 0;font-size:17px}
.bcp-part{border:1px solid var(--line);border-radius:12px;padding:12px 16px}.bcp-part h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.bcp-conclusion{font-size:15px;line-height:1.6;margin:0}.bcp-muted{color:var(--muted);font-size:13px;margin:0}
.bcp-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.bcp-figure{padding:10px 12px;border-radius:10px;background:var(--surface-2,#f3f5f8)}
.bcp-figure span{display:block;font-size:11px;color:var(--muted)}.bcp-figure strong{font-size:18px}
.bcp-basis{display:grid;gap:6px;margin:0}.bcp-basis>div{display:grid;grid-template-columns:220px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.bcp-basis dt{font-weight:600;font-size:13px}.bcp-basis dd{margin:0;font-size:13px;white-space:pre-wrap}.bcp-basis small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.bcp-assumption{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:8px 12px;border-left:3px solid #d97706;background:rgba(217,119,6,.07);border-radius:6px;font-size:13px}
.bcp-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px}
.bcp-badge.go{background:var(--bcp-go-bg);color:var(--bcp-go-text)}.bcp-badge.complement{background:var(--bcp-complement-bg);color:var(--bcp-complement-text)}
.bcp-badge.rework{background:var(--bcp-rework-bg);color:var(--bcp-rework-text)}.bcp-badge.reject{background:var(--bcp-reject-bg);color:var(--bcp-reject-text)}
.bcp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.btn.danger{border-color:#b42318;color:#b42318}
.bcp-comment{display:flex;flex-direction:column;gap:8px;margin-top:10px}.bcp-comment textarea{min-height:70px;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}
.bcp-comment .btn{align-self:flex-start}.bcp-stepform:empty{display:none}
.bcp-more{display:flex;flex-direction:column;gap:8px}.bcp-loading,.bcp-error{padding:30px;text-align:center;color:var(--muted)}.bcp-error{color:#b42318}
.emma-b-workspace .bcp-card,.emma-b-workspace .bcp{padding:0}.emma-b-workspace .bcp-now{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.bcp-overlay{padding:0}.bcp-card{border-radius:0;padding:14px}.bcp-now,.bcp-figures{grid-template-columns:1fr 1fr}.bcp-basis>div{grid-template-columns:1fr}}
.emma-bcp-frame{width:100%;height:calc(100vh - 190px);border:0;border-radius:10px;background:var(--surface,#fff)}
.bcp-tools .btn{white-space:nowrap}
.bcp-standalone .bcp{background:var(--surface,#fff)}
.bcp-review-status{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:10px;padding:8px 12px;border-radius:8px;background:rgba(31,111,235,.07);font-size:13px}
.bcp-technical{border:1px solid var(--line);border-radius:12px;padding:10px 16px}.bcp-technical>summary{cursor:pointer;font-weight:600}
.bcp-technical h5,.bcp-form h5{margin:12px 0 4px;font-size:13px}.bcp-technical p{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.55}
.bcp-form{display:flex;flex-direction:column;gap:8px}.bcp-form select,.bcp-field textarea,.bcp-field select{border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit;background:var(--surface,#fff);color:var(--text)}
.bcp-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.bcp-field textarea{min-height:64px}.bcp-changes{display:flex;flex-direction:column;gap:8px}
.bcp-changes .bcp-field:first-child textarea{min-height:180px}
.bcp-choice{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.bcp-assess{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.bcp-form .btn.primary{align-self:flex-start}.bcp-result{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.bcp-assess{grid-template-columns:1fr 1fr}}
.bcp-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.bcp-table th{text-align:left;font-size:11px;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.bcp-table td{padding:7px 8px;border-bottom:1px solid var(--line)}
.bcp-reuse{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:10px 12px;border-radius:8px;background:rgba(21,128,61,.07);font-size:13px}
.bcp-adjust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0}.bcp-adjust input{border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit}
details.bcp-part>summary{cursor:pointer;font-weight:600;font-size:13px}
@media(max-width:800px){.bcp-adjust{grid-template-columns:1fr 1fr}}
.bcp-pack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bcp-pack .bcp-figure strong{font-size:14px;line-height:1.4;white-space:pre-wrap}
.bcp-badge-large{font-size:14px;padding:6px 14px;letter-spacing:.03em}
@media(max-width:800px){.bcp-pack{grid-template-columns:1fr 1fr}}

/* Business case i samma fönster: hela ytan bredvid menyn, under toppraden. */
.bcp-host{position:absolute;inset:0;z-index:20;background:var(--bg,#f3f5f8)}.bcp-host[hidden]{display:none}.bcp-host iframe{width:100%;height:100%;border:0;display:block}

/* ---- Initiativsidan (spec v1.0): statusfärger och komponenter ---------------------------- */
:root{
  --bcp-ok:#15803d;--bcp-ok-soft:rgba(21,128,61,.10);
  --bcp-active:#1f5fbf;--bcp-active-line:#1f6feb;--bcp-active-soft:rgba(31,111,235,.08);
  --bcp-attention:#b45309;--bcp-attention-soft:rgba(217,119,6,.10);
  --bcp-danger:#b42318;--bcp-danger-soft:rgba(180,35,24,.08);
  --bcp-neutral-soft:rgba(100,116,139,.10);
  --bcp-radius:12px;--bcp-gap:14px;--bcp-workspace-w:min(46vw,680px);
  --bcp-ok-bg:#dcfce7;--bcp-ok-line:#86efac;--bcp-todo-bg:#f8fafc;
  --bcp-active-bg:#1f6feb;--bcp-attention-bg:#d97706;--bcp-danger-bg:#b42318;--bcp-on-strong:#ffffff;
  --bcp-selected:rgba(31,111,235,.35);
  --bcp-decision-shadow:0 -10px 24px rgba(15,23,42,.07);
}
.bcp-process{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.bcp-process .bcp-step{min-width:0;padding:7px 7px}
.bcp-process .bcp-step strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.bcp-process .bcp-step span{font-size:10.5px;line-height:1.3;overflow-wrap:anywhere}
/* Stegrutorna i färg så att man direkt ser var initiativet är */
.bcp-process .bcp-step{border:1px solid var(--line);background:var(--bcp-todo-bg)}
.bcp-process .bcp-step.done{background:var(--bcp-ok-bg);border-color:var(--bcp-ok-line)}
.bcp-process .bcp-step.done strong{color:var(--bcp-ok)}.bcp-process .bcp-step.done span{color:var(--bcp-ok)}
.bcp-process .bcp-step.current{background:var(--bcp-active-bg);border-color:var(--bcp-active-line)}
.bcp-process .bcp-step.current strong,.bcp-process .bcp-step.current span{color:var(--bcp-on-strong)}
.bcp-process .bcp-step.attention{background:var(--bcp-attention-bg);border-color:var(--bcp-attention)}
.bcp-process .bcp-step.attention strong,.bcp-process .bcp-step.attention span{color:var(--bcp-on-strong);font-weight:600}
.bcp-process .bcp-step.rejected{background:var(--bcp-danger-bg);border-color:var(--bcp-danger)}
.bcp-process .bcp-step.rejected strong,.bcp-process .bcp-step.rejected span{color:var(--bcp-on-strong);font-weight:600}
.bcp-process .bcp-step.closed{background:var(--bcp-neutral-soft)}
.bcp-process .bcp-step.todo strong{color:var(--muted)}
.bcp-process .bcp-step.selected{outline:3px solid var(--bcp-selected);outline-offset:2px;box-shadow:none}
.bcp-now{grid-template-columns:repeat(5,minmax(0,1fr))}
.bcp-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--muted)}
.bcp-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bcp-neutral-soft);color:var(--muted)}
.bcp-chip.done{background:var(--bcp-ok-soft);color:var(--bcp-ok)}.bcp-chip.current{background:var(--bcp-active-soft);color:var(--bcp-active)}
.bcp-chip.attention{background:var(--bcp-attention-soft);color:var(--bcp-attention)}.bcp-chip.rejected,.bcp-chip.closed{background:var(--bcp-danger-soft);color:var(--bcp-danger)}
.bcp-stage-title{display:flex;align-items:center;gap:10px}.bcp-stage-title h3{margin:4px 0 0;font-size:17px}
.bcp-block{border:1px solid var(--line);border-radius:var(--bcp-radius);padding:12px 16px}
.bcp-block>h4,.bcp-decision>h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.bcp-question{margin:0 0 6px;font-weight:600;font-size:15px}
.bcp-info{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}
.bcp-info.verified{background:var(--bcp-ok-soft);color:var(--bcp-ok)}.bcp-info.assumed{background:var(--bcp-attention-soft);color:var(--bcp-attention)}
.bcp-info.missing{background:var(--bcp-danger-soft);color:var(--bcp-danger)}.bcp-info.conflicting{background:var(--bcp-danger-soft);color:var(--bcp-danger)}
.bcp-uncertain .bcp-assumption{border-left-color:var(--bcp-attention);background:var(--bcp-attention-soft)}
.bcp-assumption-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bcp-missing{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--bcp-attention);background:var(--bcp-attention-soft);font-size:13px}
.bcp-disclose{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.bcp-disclose>summary{cursor:pointer;font-weight:600;font-size:13px}
.bcp-disclose p,.bcp-disclose pre{white-space:pre-wrap;font-size:13px;line-height:1.55;margin:6px 0 0}
/* Beslutsfältet: alltid längst ned i steget, kvar i bild när sidan skrollas */
.bcp-decision{position:sticky;bottom:0;z-index:5;border:1px solid var(--line);border-radius:var(--bcp-radius);padding:12px 16px;background:var(--surface,#fff);box-shadow:var(--bcp-decision-shadow)}
.bcp-work:empty{display:none}.bcp-work{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.bcp-pack-group{margin-top:6px}.bcp-pack-group h5{margin:6px 0;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bcp-decided{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:8px 12px;border-radius:8px;background:var(--bcp-ok-soft);font-size:13px}
.bcp-roles{border:1px solid var(--line);border-radius:var(--bcp-radius);padding:12px 16px}.bcp-roles h3{margin:0 0 8px;font-size:15px}
.bcp-roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.bcp-role{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:10px;background:var(--surface-2,#f3f5f8);font-size:13px}
.bcp-role small{color:var(--muted)}.bcp-role select{border:1px solid var(--line);border-radius:8px;padding:6px;font:inherit;background:var(--surface,#fff)}
.bcp-new{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:16px;border:1px solid var(--bcp-active-line);border-radius:var(--bcp-radius);background:var(--surface,#fff)}
.bcp-new h3{margin:0;font-size:16px}.bcp-new>.btn{align-self:flex-start}
.bcp-new-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bcp-new-option{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,#f3f5f8);font:inherit;color:var(--text);cursor:pointer}
.bcp-new-option:hover{border-color:var(--bcp-active-line)}.bcp-new-option span{font-size:12px;color:var(--muted)}
.bcp-new-work{display:flex;flex-direction:column;gap:8px}.bcp-new-work:empty{display:none}
.bcp-new-work textarea{min-height:110px;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}
.bcp-new-work .btn{align-self:flex-start}
@media(max-width:1100px){.bcp-process{grid-template-columns:repeat(5,minmax(0,1fr))}.bcp-now{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.bcp-process{grid-template-columns:repeat(5,minmax(0,1fr))}.bcp-process .bcp-step{padding:5px}
  .bcp-process .bcp-step strong{font-size:11px}.bcp-process .bcp-step span{font-size:10px}
  .bcp-now{grid-template-columns:repeat(2,minmax(0,1fr))}.bcp-new-options{grid-template-columns:1fr}}
@media(max-width:420px){.bcp-process{grid-template-columns:repeat(2,minmax(0,1fr))}.bcp-now{grid-template-columns:1fr}}
.bcp-locked{margin-bottom:10px;padding:8px 12px;border-radius:8px;background:var(--bcp-ok-soft);color:var(--bcp-ok);font-size:13px;font-weight:600}
.bcp-plan{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--bcp-active-soft);font-size:13px}
.bcp-comment input{border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit}
.bcp-arch-bc,.bcp-arch-final{margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,#f3f5f8)}
.bcp-arch-bc h5,.bcp-arch h5,.bcp-arch-final h5{margin:0 0 8px;font-size:13px}
.bcp-arch{display:flex;flex-direction:column;gap:10px}
.bcp-arch-block{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.bcp-arch-block.approved{border-color:var(--bcp-ok-line)}.bcp-arch-block.removed{opacity:.6}.bcp-arch-block.removed p{text-decoration:line-through}
.bcp-arch-block.changed,.bcp-arch-block.added,.bcp-arch-block.alternative{border-color:var(--bcp-active-line)}
.bcp-arch-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bcp-arch-block p{margin:6px 0;white-space:pre-wrap;font-size:13px;line-height:1.5}
.bcp-arch-form:empty{display:none}
.bcp-inline{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.bcp-inline textarea,.bcp-inline input,.bcp-inline select{border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit;background:var(--surface,#fff)}
.bcp-inline textarea{min-height:80px}.bcp-inline .bcp-tall{min-height:220px}.bcp-inline .btn{align-self:flex-start}
.bcp-alt{margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--bcp-active-soft);font-size:13px}
/* Avstängda knappar syns som avstängda (t.ex. godkänn när något saknas) */
.bcp .btn:disabled,.bcp-decision .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}
.bcp-conflicts,.bcp-impact{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:8px;font-size:13px}
.bcp-conflicts{background:var(--bcp-attention-soft)}.bcp-impact{background:var(--bcp-danger-soft)}
.bcp-registry-form{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:var(--bcp-radius);display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;align-items:end}
.bcp-registry-form h3{grid-column:1/-1;margin:0;font-size:15px}.bcp-registry-form input,.bcp-registry-form select{border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit;background:var(--surface,#fff)}
.bcp-stances{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--surface-2,#f3f5f8);font-size:13px}
.bcp-stance{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:10px}
.bcp-learning{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--bcp-active-soft);font-size:13px}
.bcp-perspective{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.bcp-perspective select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;background:var(--surface,#fff);color:var(--text)}
.bcp-suggest{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--bcp-danger);background:var(--bcp-danger-soft);font-size:13px}
.bcp-versions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:13px}
.bcp-history{margin-top:14px}.bcp-history .bcp-table{margin-top:8px}
.bcp-point{line-height:1.4}.bcp-point+.bcp-point{margin-top:3px}

/* ---- Färgsättning av initiativsidan (alla färger som tokens här) -------------------------- */
:root{
  --bcp-go-bg:#dcfce7;--bcp-go-text:#166534;--bcp-complement-bg:#fef3c7;--bcp-complement-text:#92400e;
  --bcp-rework-bg:#ffedd5;--bcp-rework-text:#9a3412;--bcp-reject-bg:#fee2e2;--bcp-reject-text:#991b1b;
  --bcp-hero-bg:linear-gradient(120deg,#e8f0ff 0%,#f1ebff 55%,#e6faf3 100%);--bcp-hero-line:#d6e2fb;
  --bcp-title:#0f1f3d;--bcp-eyebrow:#4f46e5;
  --bcp-summary-accent:#1f6feb;--bcp-summary-bg:#f4f8ff;
  --bcp-evidence-accent:#0d9488;--bcp-evidence-bg:#f2fbf9;
  --bcp-uncertain-accent:#d97706;--bcp-uncertain-bg:#fffaf0;
  --bcp-rec-accent:#7c3aed;--bcp-rec-bg:#f7f3ff;
  --bcp-review-accent:#1f6feb;
  --bcp-figure-bg:#ffffff;--bcp-figure-line:#dbe5f6;--bcp-figure-value:#123a7a;
  --bcp-table-head:#eef3fa;--bcp-table-zebra:#f9fbfe;
  --bcp-now-1:#1f6feb;--bcp-now-2:#7c3aed;--bcp-now-3:#d97706;--bcp-now-4:#0d9488;--bcp-now-5:#15803d;
  --bcp-answers-bg:#ffffff;--bcp-answers-line:#cdebe6;
  --bcp-embed-pad:14px 16px 24px;
  --bcp-toast-bottom:120px;
  --bcp-block-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.04);
}
/* Rubriken som ett färgat band */
.bcp-head{padding:16px 18px;border:1px solid var(--bcp-hero-line);border-radius:var(--bcp-radius);background:var(--bcp-hero-bg)}
.bcp-head h2{color:var(--bcp-title)}.bcp-eyebrow{color:var(--bcp-eyebrow);font-weight:700}
.bcp-head .bcp-perspective select,.bcp-head .btn.secondary{background:var(--surface,#fff)}
/* Läget: varje ruta med egen färgkant */
.bcp-now>div{background:var(--surface,#fff);border-top:3px solid var(--bcp-now-1);box-shadow:var(--bcp-block-shadow)}
.bcp-now>div:nth-child(2){border-top-color:var(--bcp-now-2)}.bcp-now>div:nth-child(3){border-top-color:var(--bcp-now-3)}
.bcp-now>div:nth-child(4){border-top-color:var(--bcp-now-4)}.bcp-now>div:nth-child(5){border-top-color:var(--bcp-now-5)}
.bcp-now dt{text-transform:uppercase;letter-spacing:.05em;font-weight:700}
/* De fem blocken: färg per typ, samma i alla steg */
.bcp-block{border-left:4px solid var(--line);box-shadow:var(--bcp-block-shadow)}
.bcp-summary{border-left-color:var(--bcp-summary-accent);background:var(--bcp-summary-bg)}.bcp-summary>h4{color:var(--bcp-summary-accent)}
.bcp-evidence{border-left-color:var(--bcp-evidence-accent);background:var(--bcp-evidence-bg)}.bcp-evidence>h4{color:var(--bcp-evidence-accent)}
.bcp-uncertain{border-left-color:var(--bcp-uncertain-accent);background:var(--bcp-uncertain-bg)}.bcp-uncertain>h4{color:var(--bcp-uncertain-accent)}
.bcp-rec{border-left-color:var(--bcp-rec-accent);background:var(--bcp-rec-bg)}.bcp-rec>h4{color:var(--bcp-rec-accent)}
.bcp-block>h4{font-weight:800}
.bcp-decision{border-top:3px solid var(--bcp-review-accent)}.bcp-decision>h4{color:var(--bcp-review-accent);font-weight:800}
/* Nyckeltal som kort */
.bcp-figure{background:var(--bcp-figure-bg);border:1px solid var(--bcp-figure-line)}.bcp-figure strong{color:var(--bcp-figure-value)}
/* Tabeller */
.bcp-table{background:var(--surface,#fff);border-radius:8px;overflow:hidden}
.bcp-table th{background:var(--bcp-table-head);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.bcp-table tr:nth-child(even) td{background:var(--bcp-table-zebra)}
/* Utfrågningen i Underlag */
.bcp-answers{margin-top:12px;background:var(--bcp-answers-bg);border-color:var(--bcp-answers-line)}
.bcp-answers>summary{color:var(--bcp-evidence-accent)}
/* Panelen bredvid chatten: bara initiativet */
.emma-b-initiative .emma-b-head{min-height:0;padding:4px 8px;justify-content:flex-end;background:transparent;border-bottom:0}
.emma-b-initiative .emma-b-head [data-title],.emma-b-initiative .emma-b-langs{display:none}
.emma-b-initiative .emma-b-scroll{display:flex;overflow:hidden}
.emma-b-initiative .emma-bcp-frame{flex:1;height:auto;border-radius:0}
.bcp-sad-text p{margin:4px 0;white-space:pre-wrap;font-size:13px;line-height:1.5}
.bcp-sad-line{padding:4px 8px;border-radius:6px}.bcp-sad-line .bcp-info{margin-left:0}
.bcp-sad-line.missing{background:var(--bcp-danger-soft)}.bcp-sad-line.assumed{background:var(--bcp-attention-soft)}
.bcp-sad-missing span{font-size:13px}
.bcp-sad-group{width:100%}.bcp-sad-group>summary{cursor:pointer;font-weight:600}.bcp-sad-group span{display:block;margin:2px 0 0 12px}
/* Bekräftelser på initiativsidan: ovanför beslutsfältet, aldrig över rubrikens knappar */
body:has(.bcp-standalone) .toast-stack{top:auto;bottom:var(--bcp-toast-bottom);right:16px}
.bcp-template{display:flex;flex-direction:column;gap:12px}.bcp-template textarea,.bcp-template input{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit;background:var(--surface,#fff)}
.bcp-template-chapters{display:flex;flex-direction:column;gap:10px}
.bcp-template-chapter{display:flex;flex-direction:column;gap:6px;margin:0;padding:12px;border:1px solid var(--line);border-left:4px solid var(--bcp-summary-accent);border-radius:var(--bcp-radius);background:var(--surface,#fff)}
.bcp-template>.btn{align-self:flex-start}
.bcp-delivery{margin-top:12px;padding:12px 14px;border-radius:var(--bcp-radius);border:1px solid var(--bcp-figure-line);background:var(--surface,#fff)}
.bcp-delivery-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bcp-delivery-head strong{font-size:16px;color:var(--bcp-figure-value)}
.bcp-delivery p{margin:8px 0 0;font-size:14px;line-height:1.5}
.bcp-conflict{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:8px 12px;border-radius:8px;border-left:4px solid var(--bcp-attention);background:var(--bcp-attention-soft);font-size:13px}
.bcp-conflict.critical{border-left-color:var(--bcp-danger);background:var(--bcp-danger-soft)}
.bcp-why>summary{cursor:pointer;font-size:12px;color:var(--bcp-active)}.bcp-why p{font-size:12px;margin:4px 0 0}
:root{--bcp-heat-green:#dcfce7;--bcp-heat-yellow:#fef9c3;--bcp-heat-orange:#fed7aa;--bcp-heat-red:#fecaca;--bcp-heat-none:#f1f5f9}
.bcp-heat td{text-align:center;font-variant-numeric:tabular-nums}.bcp-heat td:first-child{text-align:left;white-space:nowrap}
.bcp-heat .heat-green{background:var(--bcp-heat-green)!important}.bcp-heat .heat-yellow{background:var(--bcp-heat-yellow)!important}
.bcp-heat .heat-orange{background:var(--bcp-heat-orange)!important}.bcp-heat .heat-red{background:var(--bcp-heat-red)!important;font-weight:700}
.bcp-heat .heat-none{background:var(--bcp-heat-none)!important;color:var(--muted)}
.bcp-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.bcp-tabs button{border:0;background:transparent;padding:8px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.bcp-tabs button.active{color:var(--bcp-active);border-bottom-color:var(--bcp-active-line)}
.bcp-demand{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.bcp-demand-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.bcp-inline-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.bcp-inline-row input,.bcp-inline-row select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;width:auto;max-width:130px}


/* Apple light theme */
/* Northstar Apple Light Theme
   Purpose: theme layer for the existing Northstar UI.
   Strategy: keep layout/components, apply semantic data-ns hooks and CSS tokens.
*/

:root {
  /* Surfaces */
  --ns-canvas: #f5f5f7;
  --ns-surface: #ffffff;
  --ns-surface-soft: #fbfbfd;
  --ns-surface-muted: #f0f0f3;
  --ns-surface-hover: #f7f7fa;

  /* Text */
  --ns-text: #1d1d1f;
  --ns-text-2: #6e6e73;
  --ns-text-3: #86868b;
  --ns-text-disabled: #b5b5bb;

  /* Lines */
  --ns-border: #d9d9de;
  --ns-border-soft: #e7e7eb;
  --ns-divider: rgba(60, 60, 67, 0.12);

  /* Brand / states */
  --ns-accent: #6e5ce6;
  --ns-accent-strong: #5f4bd7;
  --ns-accent-soft: #efedff;
  --ns-accent-line: rgba(110, 92, 230, 0.22);
  --ns-success: #34c759;
  --ns-warning: #ff9f0a;
  --ns-danger: #ff3b30;

  /* Shadows */
  --ns-shadow-sidebar:
    24px 0 56px rgba(0, 0, 0, 0.11),
    8px 0 20px rgba(0, 0, 0, 0.07),
    1px 0 0 rgba(0, 0, 0, 0.05);

  --ns-shadow-panel:
    0 18px 50px rgba(0, 0, 0, 0.07),
    0 4px 14px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);

  --ns-shadow-control:
    0 8px 24px rgba(0, 0, 0, 0.06),
    0 1px 3px rgba(0, 0, 0, 0.04);

  --ns-shadow-hover:
    0 14px 34px rgba(0, 0, 0, 0.10),
    0 3px 8px rgba(0, 0, 0, 0.06);

  /* Topbar: egen yta som skiljer sig från innehållet */
  --ns-topbar-bg: var(--ns-surface);
  --ns-topbar-border: var(--ns-border);
  --ns-shadow-topbar:
    0 1px 0 rgba(0, 0, 0, 0.04),
    0 6px 18px rgba(0, 0, 0, 0.06);

  /* Radius */
  --ns-r-sm: 10px;
  --ns-r-md: 14px;
  --ns-r-lg: 18px;
  --ns-r-xl: 22px;
  --ns-r-pill: 999px;

  /* Sizing */
  --ns-sidebar-width: 262px;
  --ns-topbar-height: 60px;
  --ns-content-max: 1180px;
  --ns-chat-max: 1480px;          /* chattens bredd: fyller mer av ytan på breda skärmar */
  --ns-chat-gutter: 32px;

  /* Typography */
  --ns-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
}

/* Reset / app base */
html,
body,
#root,
[data-ns="app"] {
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--ns-canvas);
  color: var(--ns-text);
  font-family: var(--ns-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

button,
input,
textarea,
select {
  font: inherit;
}

/* App shell */
[data-ns="app-shell"] {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% 7%, rgba(255,255,255,.98), rgba(255,255,255,0) 28%),
    linear-gradient(180deg, #fafafa 0%, var(--ns-canvas) 48%, #f3f3f5 100%);
  color: var(--ns-text);
}

/* LEFT SIDEBAR: intentionally the strongest elevation in the product */
[data-ns="sidebar"] {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: var(--ns-sidebar-width);
  background: rgba(255, 255, 255, 0.96);
  border-right: 1px solid rgba(0, 0, 0, 0.045);
  box-shadow: var(--ns-shadow-sidebar);
  backdrop-filter: saturate(180%) blur(26px);
  -webkit-backdrop-filter: saturate(180%) blur(26px);
  display: flex;
  flex-direction: column;
}

[data-ns="sidebar-inner"] {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 14px 10px 12px;
}

[data-ns="brand"] {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 4px 6px 14px;
}

[data-ns="brand-mark"] {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #b5a8ff 0%, #785ff0 44%, #4a2ba9 100%);
  box-shadow:
    0 4px 10px rgba(81, 55, 180, .35),
    inset 0 1px 1px rgba(255,255,255,.75);
}

[data-ns="brand-title"] {
  margin: 0;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--ns-text);
}

[data-ns="brand-subtitle"] {
  margin-top: 2px;
  font-size: 11px;
  color: var(--ns-text-2);
}

/* Top global search/status */
[data-ns="topbar"] {
  position: fixed;
  top: 0;
  left: var(--ns-sidebar-width);
  right: 0;
  z-index: 40;
  height: var(--ns-topbar-height);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 18px;
  background: var(--ns-topbar-bg);
  border-bottom: 1px solid var(--ns-topbar-border);
  box-shadow: var(--ns-shadow-topbar);
}

[data-ns="global-search"] {
  width: min(440px, 44vw);
  height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  background: rgba(255,255,255,.88);
  border: 1px solid var(--ns-border-soft);
  border-radius: 12px;
  color: var(--ns-text-2);
  box-shadow: 0 1px 2px rgba(0,0,0,.03), inset 0 1px 0 rgba(255,255,255,.9);
}

[data-ns="status-group"] {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

[data-ns="status-pill"] {
  min-height: 32px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--ns-border-soft);
  border-radius: var(--ns-r-pill);
  background: rgba(255,255,255,.82);
  color: #3a3a3c;
  font-size: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

/* Navigation */
[data-ns="new-chat"] {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--ns-border);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  color: var(--ns-text);
  font-weight: 600;
  box-shadow: var(--ns-shadow-control);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

[data-ns="new-chat"]:hover {
  transform: translateY(-1px);
  box-shadow: var(--ns-shadow-hover);
  border-color: #c9c9cf;
}

[data-ns="nav"] {
  display: grid;
  gap: 4px;
  margin-top: 12px;
}

[data-ns="nav-item"] {
  min-height: 38px;
  display: grid;
  grid-template-columns: 18px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 0 12px;
  border-radius: 11px;
  color: #3a3a3c;
  font-size: 13px;
  text-decoration: none;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

[data-ns="nav-item"]:hover {
  background: #f3f3f6;
  color: var(--ns-text);
}

[data-ns="nav-item"][aria-current="page"],
[data-ns="nav-item"].is-active {
  background: linear-gradient(180deg, #f0edff 0%, #ece9ff 100%);
  color: #2f255c;
  box-shadow:
    inset 0 0 0 1px var(--ns-accent-line),
    0 4px 10px rgba(110,92,230,.08);
}

[data-ns="nav-count"] {
  font-size: 11px;
  color: var(--ns-text-2);
}

/* Section labels */
[data-ns="sidebar-section-title"] {
  margin: 20px 8px 8px;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .065em;
  color: #7c7c84;
  text-transform: uppercase;
}

[data-ns="recent-list"],
[data-ns="project-list"] {
  display: grid;
  gap: 2px;
}

[data-ns="recent-item"] {
  min-height: 32px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 9px;
  color: #54545a;
  font-size: 12px;
  cursor: pointer;
}

[data-ns="recent-item"]:hover {
  background: #f4f4f6;
  color: var(--ns-text);
}

/* User card */
[data-ns="sidebar-user"] {
  margin-top: auto;
  padding: 12px 6px 0;
  border-top: 1px solid var(--ns-divider);
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 10px;
  align-items: center;
}

[data-ns="avatar"] {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0eff7;
  border: 1px solid #dedde7;
  color: #303038;
  font-size: 11px;
  font-weight: 700;
}

/* Main area */
[data-ns="main"] {
  min-height: 100vh;
  margin-left: var(--ns-sidebar-width);
  padding-top: var(--ns-topbar-height);
}

[data-ns="page"] {
  min-height: calc(100vh - var(--ns-topbar-height));
  padding: 16px 28px 116px;
}

[data-ns="page-header"] {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--ns-divider);
}

[data-ns="page-title"] {
  margin: 0;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -0.015em;
  color: var(--ns-text);
}

/* Empty chat state */
[data-ns="empty-state"] {
  min-height: calc(100vh - var(--ns-topbar-height) - 190px);
  display: grid;
  place-items: center;
  text-align: center;
}

[data-ns="empty-state-inner"] {
  max-width: 760px;
  transform: translateY(-18px);
}

[data-ns="greeting"] {
  margin: 0 0 10px;
  font-size: clamp(24px, 2.1vw, 31px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ns-text);
}

[data-ns="greeting-accent"] {
  color: var(--ns-accent);
}

[data-ns="empty-copy"] {
  margin: 0;
  color: var(--ns-text-2);
  font-size: 14px;
  line-height: 1.55;
}

/* Conversation / message cards */
[data-ns="message"] {
  max-width: var(--ns-content-max);
  margin: 0 auto 14px;
  color: var(--ns-text);
}

[data-ns="message"][data-role="assistant"] {
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(60,60,67,.10);
  border-radius: 18px;
  box-shadow: var(--ns-shadow-panel);
  padding: 18px 20px;
}

/* Composer */
[data-ns="composer-wrap"] {
  position: fixed;
  left: calc(var(--ns-sidebar-width) + 32px);
  right: 28px;
  bottom: 22px;
  z-index: 30;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

[data-ns="composer"] {
  pointer-events: auto;
  width: min(1120px, 100%);
  min-height: 74px;
  padding: 10px 12px 8px;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(60,60,67,.14);
  border-radius: 18px;
  box-shadow:
    0 24px 60px rgba(0,0,0,.12),
    0 6px 18px rgba(0,0,0,.07),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: saturate(190%) blur(24px);
  -webkit-backdrop-filter: saturate(190%) blur(24px);
}

[data-ns="composer-row"] {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 9px;
  align-items: center;
}

[data-ns="composer-input"] {
  width: 100%;
  min-height: 38px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ns-text);
  font-size: 14px;
}

[data-ns="composer-input"]::placeholder {
  color: #94949a;
}

[data-ns="icon-button"] {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  border: 1px solid var(--ns-border-soft);
  background: #ffffff;
  color: #5f5f66;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

[data-ns="icon-button"]:hover {
  transform: translateY(-1px);
  background: #fbfbfc;
  box-shadow: var(--ns-shadow-control);
}

[data-ns="send-button"] {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, #7564ee 0%, var(--ns-accent-strong) 100%);
  color: #fff;
  box-shadow:
    0 10px 20px rgba(95,75,215,.26),
    inset 0 1px 0 rgba(255,255,255,.26);
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease;
}

[data-ns="send-button"]:hover {
  transform: translateY(-1px) scale(1.02);
  filter: brightness(1.02);
}

[data-ns="composer-meta"] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 42px 0;
  color: var(--ns-text-2);
  font-size: 11px;
}

[data-ns="select-pill"] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--ns-border-soft);
  border-radius: var(--ns-r-pill);
  background: #fbfbfc;
  color: #4d4d52;
}

/* Generic cards for admin/data screens */
[data-ns="card"] {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(60,60,67,.10);
  border-radius: 16px;
  box-shadow: var(--ns-shadow-panel);
}

[data-ns="card"].is-interactive {
  transition: transform .18s ease, box-shadow .18s ease;
}

[data-ns="card"].is-interactive:hover {
  transform: translateY(-2px);
  box-shadow: var(--ns-shadow-hover);
}

/* Focus */
:where(button, [role="button"], input, textarea, select, a):focus-visible {
  outline: 3px solid rgba(110, 92, 230, .20);
  outline-offset: 2px;
}

/* Scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: #c9c9ce transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-thumb {
  background: #c9c9ce;
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: padding-box;
}

/* Responsive */
@media (max-width: 920px) {
  :root {
    --ns-sidebar-width: 224px;
  }

  [data-ns="page"] {
    padding-inline: 20px;
  }

  [data-ns="composer-wrap"] {
    left: calc(var(--ns-sidebar-width) + 20px);
    right: 20px;
  }
}

@media (max-width: 720px) {
  [data-ns="sidebar"] {
    transform: translateX(-100%);
  }

  [data-ns="topbar"],
  [data-ns="main"] {
    left: 0;
    margin-left: 0;
  }

  [data-ns="composer-wrap"] {
    left: 14px;
    right: 14px;
  }
}

/* Motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Northstar light component adaptation */
/* Apply the supplied Apple Light design to Northstar's existing grid shell.
   The source stylesheet defines --ns-* tokens; this file maps real components
   without changing their routes, controls, scroll containers or mobile menu. */
:root {
  color-scheme: light;
  --theme-bg: var(--ns-canvas);
  --theme-auth-bg: var(--ns-canvas);
  --theme-auth-shell: var(--ns-surface-soft);
  --theme-auth-brand-dark: var(--ns-surface-muted);
  --theme-auth-card: var(--ns-surface);
  --theme-sidebar: var(--ns-surface);
  --theme-admin-sidebar: var(--ns-surface-soft);
  --theme-admin-card-top: var(--ns-surface);
  --theme-admin-card-bottom: var(--ns-surface-soft);
  --theme-topbar: var(--ns-topbar-bg);
  --theme-conversation: var(--ns-canvas);
  --theme-card: var(--ns-surface);
  --theme-card-2: var(--ns-surface-soft);
  --theme-source-card: var(--ns-surface);
  --theme-user-card: var(--ns-surface-muted);
  --theme-hover: var(--ns-surface-hover);
  --theme-control-bg: var(--ns-surface);
  --theme-control-border: var(--ns-border-soft);
  --theme-border: var(--ns-border-soft);
  --theme-border-strong: var(--ns-border);
  --theme-text: var(--ns-text);
  --theme-text-secondary: var(--ns-text-2);
  --theme-text-muted: var(--ns-text-3);
  --theme-accent: var(--ns-accent);
  --theme-accent-soft: var(--ns-accent-soft);
  --theme-accent-text: var(--ns-accent-strong);
  --theme-action: #007aff;
  --theme-action-hover: #0066d6;
  --theme-action-soft: #eaf3ff;
  --theme-action-line: rgba(0,122,255,.22);
  --theme-action-text: #0057b8;
  --theme-action-shadow: rgba(0,122,255,.24);
  --theme-success: var(--ns-success);
  --theme-success-text: #187738;
  --theme-warning: var(--ns-warning);
  --theme-danger: var(--ns-danger);
  --theme-danger-text: #b42318;
  --theme-info: #2563b4;
  --theme-shadow-color: rgba(0,0,0,.08);
  --theme-font: var(--ns-font);
  --theme-sidebar-width: var(--ns-sidebar-width);
  --theme-topbar-height: var(--ns-topbar-height);
  --theme-content-width: var(--ns-content-max);
  --theme-radius-sm: var(--ns-r-sm);
  --theme-radius-md: var(--ns-r-md);
  --theme-radius-lg: var(--ns-r-lg);
  --theme-radius-xl: var(--ns-r-xl);
  --accent-2: var(--ns-accent-strong);
  --accent-glow: var(--ns-accent-soft);
  --shadow: var(--ns-shadow-panel);
  --shadow-soft: var(--ns-shadow-control);
}

html, body, .app-shell, .main-area, .page-host, .page, #chatPage {
  background: var(--ns-canvas);
  color: var(--ns-text);
}
.app-shell { grid-template-columns: var(--sidebar-w) minmax(0,1fr); }
.sidebar {
  background: rgba(255,255,255,.96);
  border-right: 0;
  box-shadow: var(--ns-shadow-sidebar);
  z-index: 8;
}
.brand-mark { background: radial-gradient(circle at 35% 30%,#b5a8ff,#785ff0 44%,#4a2ba9); }
.ambient::before, .auth-backdrop {
  background: radial-gradient(circle at 30% 20%,rgba(110,92,230,.06),transparent 30%),var(--ns-canvas);
}
::-webkit-scrollbar-thumb { background: #c9c9ce; }
.topbar {
  position: relative;
  background: var(--theme-topbar);
  border-bottom: 1px solid var(--ns-topbar-border);
  box-shadow: var(--ns-shadow-topbar);
}
.global-search, .pill, .icon-btn, .round-btn {
  background: var(--ns-surface);
  border-color: var(--ns-border-soft);
  color: var(--ns-text-2);
  box-shadow: var(--ns-shadow-control);
}
.global-search input, .global-search kbd { color: var(--ns-text-2); }
.nav-item, .recent-item, .project-item { color: var(--ns-text-2); }
.nav-item:hover, .recent-item:hover, .project-item:hover {
  background: var(--ns-surface-hover);
  color: var(--ns-text);
}
.link-btn:hover, .source-chip:hover { color: var(--ns-accent-strong); }
.nav-item.active, .recent-item.active {
  background: var(--theme-action-soft);
  border-color: var(--theme-action-line);
  color: var(--theme-action-text);
  box-shadow: inset 0 0 0 1px var(--theme-action-line),0 4px 10px var(--theme-action-shadow);
}
.nav-icon, .section-label, .admin-group-label { color: var(--ns-text-3); }
.recent-more:hover, .popover-item:hover, .data-table tbody tr:hover,
.message-actions button:hover { background: var(--ns-surface-hover); color: var(--ns-text); }
.sidebar-profile { border-top-color: var(--ns-divider); }
.avatar, .user-avatar { background: #f0eff7; border-color: #dedde7; color: var(--ns-text); }
.status-badge, .status, .empty-icon, .upload-icon, .file-icon,
.setup-progress, .attachment-chip, .search-box, .stat-card, .kpi-card {
  background: var(--ns-surface-soft);
  border-color: var(--ns-border-soft);
  color: var(--ns-text-2);
}
.new-chat, .btn.secondary, .btn.primary {
  background: var(--ns-surface);
  color: var(--ns-text);
  border-color: var(--ns-border);
  box-shadow: var(--ns-shadow-control);
}
.btn.primary { background: var(--theme-action); color: #fff; border-color: var(--theme-action); }
.btn.danger { background: #fff3f2; color: var(--theme-danger-text); border-color: #ffd2ce; }
.btn:hover, .icon-btn:hover, .round-btn:hover { background: var(--ns-surface-hover); color: var(--ns-text); }
.btn.primary:hover { background: var(--theme-action-hover); border-color: var(--theme-action-hover); color: #fff; }
.field, .field input, .field textarea, .field select, .input,
.global-search, .pill, .segmented, .segmented button, .eval-select {
  color: var(--ns-text);
  border-color: var(--ns-border-soft);
}
.field input, .field textarea, .field select, .input, .segmented, .eval-select {
  background: var(--ns-surface);
}
.field input::placeholder, .field textarea::placeholder, .input::placeholder,
.composer textarea::placeholder { color: var(--ns-text-3); }
.segmented button.active { background: var(--theme-action-soft); color: var(--theme-action-text); }
.card, .admin-card, .table-card, .feedback-item, .source-card, .knowledge-card,
.modal-card, .popover, .details-card, .artifact-card, .sc-category, .sc-source-row {
  background: var(--ns-surface);
  border-color: var(--ns-border-soft);
  color: var(--ns-text);
  box-shadow: var(--ns-shadow-panel);
}
.auth-view, .auth-shell, .auth-brand, .auth-card {
  background: var(--ns-surface);
  color: var(--ns-text);
  border-color: var(--ns-border-soft);
}
.auth-view { background: var(--ns-canvas); }
.auth-shell { box-shadow: var(--ns-shadow-panel); }
.form-error { background: #fff3f2; color: var(--theme-danger-text); }
.status.warn { color: #a45d00; }
.status.bad, .artifact-error { color: var(--theme-danger-text); }
.data-table th, .sc-table th { background: var(--ns-surface-soft); color: var(--ns-text-2); }
.data-table td, .sc-table td { border-color: var(--ns-border-soft); }
.upload-zone, .worksteps-panel, .source-chip, .theme-preview,
.sc-note, .sc-empty, .sc-health-strip, .sc-detail-grid > div,
.sc-chunks article, .sc-schema, .sc-loading {
  background: var(--ns-surface-soft);
  border-color: var(--ns-border-soft);
  color: var(--ns-text-2);
}
.content-shell { max-width: var(--ns-content-max); }
/* Chatten är vänsterställd (börjar vid menyn) och bred – inte mittcentrerad på hela skärmen. */
.chat-page.conversation-container { max-width: var(--ns-chat-max); padding: 0 var(--ns-chat-gutter); margin: 0 auto 0 0;
  grid-template-columns: minmax(0, 1fr); }   /* inget i chatten blir bredare än ytan (t.ex. bredvid arbetsytan) */
.composer-zone { min-width: 0; }
.chat-page.conversation-container .composer { max-width: none; }   /* inmatningen följer chattens bredd */
.chat-header { border-bottom-color: var(--ns-divider); }
.welcome h2 { color: var(--ns-text); font-size: clamp(24px,2.1vw,31px); }
.welcome p { color: var(--ns-text-2); }
.assistant .message-body { background: var(--ns-surface); border-color: var(--ns-border-soft); }
.ai-avatar, .voice-orb { background: radial-gradient(circle at 35% 25%,#e6e0ff,#a698f5 40%,#6653ba); }
.assistant-message {
  background: rgba(255,255,255,.88);
  border-color: rgba(60,60,67,.10);
  border-radius: var(--ns-r-lg);
  box-shadow: var(--ns-shadow-panel);
}
.user-message {
  background: var(--ns-surface-muted);
  border-color: var(--ns-border-soft);
  color: var(--ns-text);
  box-shadow: var(--ns-shadow-control);
}
.message-model, .assistant-submeta, .assistant-live-status, .worksteps-toggle,
.message-actions button, #modelLabel, .eval-select, .composer-help { color: var(--ns-text-2); }
.message-actions { border-top-color: var(--ns-divider); }
.bubble, .user .bubble, .assistant .bubble, .assistant .bubble strong { color: var(--ns-text); }
.assistant .bubble code, .assistant .bubble pre {
  background: var(--ns-surface-muted);
  border-color: var(--ns-border-soft);
  color: var(--ns-text);
}
.composer {
  background: rgba(255,255,255,.90);
  border-color: rgba(60,60,67,.14);
  border-radius: var(--ns-r-lg);
  box-shadow: 0 24px 60px rgba(0,0,0,.12),0 6px 18px rgba(0,0,0,.07),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: saturate(190%) blur(24px);
  -webkit-backdrop-filter: saturate(190%) blur(24px);
}
.composer:focus-within { border-color: var(--theme-action); box-shadow: var(--ns-shadow-panel); }
.composer textarea { color: var(--ns-text); }
.attachment-chip { box-shadow: var(--ns-shadow-control); }
.send-btn { background: var(--theme-action); color: #fff; border: 0; box-shadow: 0 10px 20px var(--theme-action-shadow); }
.send-btn:hover { background: var(--theme-action-hover); color: #fff; }
.send-btn.stop { background: var(--ns-danger); }
.admin-sidebar { background: var(--ns-surface-soft); border-right-color: var(--ns-border-soft); }
.admin-nav-btn { color: var(--ns-text-2); }
.admin-nav-btn:hover { background: var(--ns-surface-hover); color: var(--ns-text); }
.admin-nav-btn.active { background: var(--theme-action-soft); color: var(--theme-action-text); }
.viewer { background: rgba(245,245,247,.9); }
.viewer-shell, .viewer-body { background: var(--ns-surface); color: var(--ns-text); }
.viewer-body pre { color: var(--ns-text); }
.modal-backdrop { background: rgba(29,29,31,.25); }
.toast, .voice-panel { background: var(--ns-surface); color: var(--ns-text); border-color: var(--ns-border-soft); box-shadow: var(--ns-shadow-panel); }
.sc-category-icon, .sc-source-mark { color: var(--ns-accent-strong); }
.sc-category, .sc-source-row, .sc-health-strip, .sc-detail-grid > div, .sc-chunks article { box-shadow: var(--ns-shadow-control); }
.sc-badge.ready, .source-status-used, .response-claim-observed { color: var(--theme-success-text); }
.sc-badge.error, .source-status-warn { color: var(--theme-danger-text); }
.response-v1 .response-claim-observed { color: var(--theme-success-text); }
.response-v1 .response-claim-calculated { color: var(--theme-info); }
.response-v1 .response-claim-forecast { color: #a45d00; }
.response-v1 .response-claim-analysis { color: var(--ns-accent-strong); }
:where(button,[role="button"],input,textarea,select,a):focus-visible {
  outline: 3px solid var(--theme-action-line);
  outline-offset: 2px;
}
@media (max-width: 980px) { :root { --theme-sidebar-width: 205px; } }
@media (max-width: 760px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { width: 228px; }
  .chat-page.conversation-container { padding: 0 12px; }
}
