/* CrowdNet Focus / Atlas. Scoped components; the Board retains its language. */
:root {
  --workspace-surface:#10141d; --workspace-raised:#171c28; --workspace-border:#2b3343;
  --workspace-ink:#e8edf6; --workspace-muted:#a2aec2; --workspace-accent:#bcabff;
  --workspace-radius:14px; --workspace-space:clamp(18px,3vw,40px);
}
.focus-workspace,.atlas-workspace { max-width:1600px; min-width:0; margin:0 auto; color:var(--workspace-ink); }
.focus-path { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 22px; min-width:0; }
.focus-path :is(button,a) { min-height:40px; font:500 13px/1.5 ui-sans-serif,system-ui,sans-serif; letter-spacing:0; white-space:normal; overflow-wrap:anywhere; }
.focus-path .atlas-link { border:0; background:none; color:var(--workspace-ink); text-align:left; padding:8px 0; min-width:0; }
.focus-path .atlas-link span { color:var(--workspace-accent); margin-left:8px; }
.focus-path .ghost:last-child { margin-left:auto; }
.focus-path>span { color:#63718b; }
.focus-workspace .ticket-focus { min-width:0; max-height:none; overflow:visible; border:1px solid var(--workspace-border); border-radius:var(--workspace-radius); background:var(--workspace-surface); box-shadow:0 16px 60px #0002; animation:workspaceEnter .18s ease-out; container-type:inline-size; }
.ticket-focus .ticket-detail-heading { padding:var(--workspace-space); background:linear-gradient(110deg,#1c2034,#141925 70%); border:0; border-radius:14px 14px 0 0; gap:20px; }
.ticket-focus .ticket-detail-heading .mono { color:var(--workspace-accent); font-size:11px; letter-spacing:.12em; }
.ticket-focus .ticket-detail-heading h1 { font-size:clamp(26px,2.5vw,40px); font-weight:630; line-height:1.25; max-width:32ch; letter-spacing:-.035em; }
.ticket-focus .ticket-detail-heading h1:focus,.atlas-hero h1:focus { outline:none; }
.ticket-focus .ticket-context { color:var(--workspace-muted); font-size:14px; line-height:1.8; }
.ticket-focus .ticket-state { background:#70dcb51a; border-color:#70dcb540; color:#a0e8ca; }
.ticket-focus.ticket-detail-cancelled .ticket-state { color:#ffd0a1; background:#ff922b16; border-color:#ff922b55; }
.ticket-focus.ticket-detail-closed .ticket-state { color:#a0e8ca; }
.ticket-focus .ticket-actions { position:static; margin:0; padding:16px var(--workspace-space); background:#121722; gap:10px; border-block:1px solid var(--workspace-border); }
.ticket-focus .ticket-actions .primary,.atlas-workspace .primary { background:#b7a3ff; color:#141022; border:1px solid #c6b6ff; font-weight:650; box-shadow:none; }
.ticket-focus .ticket-actions .ghost { border-color:#394257; background:#ffffff03; color:#d1daea; }
.ticket-focus .ticket-detail-body { grid-template-columns:minmax(0,1fr) 240px; gap:clamp(24px,4vw,64px); padding:var(--workspace-space); }
.ticket-focus .ticket-reading-column { gap:40px; max-width:88ch; width:100%; justify-self:center; }
.ticket-focus .ticket-description { padding:0; background:none; border:0; border-radius:0; }
.ticket-focus .ticket-description>h2 { font-size:22px; margin:8px 0 26px; }
.ticket-focus .ticket-description>small { color:var(--workspace-muted); font:600 10px/1.7 ui-monospace,monospace; letter-spacing:.13em; }
.ticket-focus .ticket-properties { padding:0 0 0 24px; border:0; border-left:1px solid var(--workspace-border); border-radius:0; background:none; }
.ticket-properties>summary { cursor:pointer; font-size:13px; font-weight:650; padding:4px 0 20px; color:var(--workspace-muted); }
.ticket-properties:not([open])>summary { padding-bottom:4px; }
.ticket-focus .ticket-thread { border:1px solid var(--workspace-border); background:#131923; overflow:hidden; }
.ticket-focus .ticket-thread>header { padding:22px; background:none; }
.ticket-focus .comment-list article { padding:22px; }
.ticket-focus .comment-list article>span { border-radius:9px; border:1px solid #bcabff40; color:var(--workspace-accent); background:#bcabff0b; }
.ticket-focus .ticket-thread form { padding:22px; }
.ticket-focus .composer-hint { color:var(--workspace-muted); font-size:11px; line-height:1.6; }
.ticket-browser .ticket-console { display:block; border:1px solid var(--workspace-border); }
.ticket-browser .ticket-list { border:0; width:100%; }
.ticket-browser .ticket-rows { max-height:none; overflow:visible; }
.ticket-browser .ticket-list>header { position:static; height:auto; }
.ticket-browser .ticket-row { box-shadow:none; border-width:1px; animation:none; }
.ticket-browser .ticket-filter-grid { display:flex; flex-wrap:wrap; gap:16px; }
.ticket-browser .ticket-filter-grid>label { flex:1 1 180px; min-width:0; }
.ticket-browser .ticket-filter-grid select { width:100%; }
.ticket-browser .ticket-list h1 { font-size:26px; line-height:1.3; }
.app.in-focus .workspace-topbar #viewTitle { font-size:19px; }
.app.in-focus .workspace-topbar { padding-block:12px 8px; }
.app.in-focus .workspace-status-row { padding-top:6px; }
.app.in-focus .workspace-heading #breadcrumb { font-size:9px; margin-bottom:4px; }
.app.in-focus .workspace-topbar #viewTitle { max-width:50ch; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.atlas-hero { position:static; height:auto; display:flex; align-items:flex-start; gap:24px; padding:clamp(24px,4vw,50px); border:1px solid var(--workspace-border); border-radius:14px; background:radial-gradient(ellipse at 0 0,#8473cf27,transparent 70%),var(--workspace-surface); }
.atlas-mark { width:68px; height:68px; flex:0 0 68px; display:grid; place-items:center; border:1px solid #bcabff55; border-radius:18px; color:var(--workspace-accent); background:#bcabff10; font-size:22px; font-weight:600; }
.atlas-hero>div:nth-child(2) { flex:1; min-width:0; }
.eyebrow { font:600 10px/1.7 ui-monospace,monospace; letter-spacing:.12em; color:var(--workspace-accent); margin:0 0 12px; }
.atlas-hero h1 { font-size:clamp(24px,3vw,40px); font-weight:630; line-height:1.2; margin:0 0 16px; letter-spacing:-.04em; overflow-wrap:anywhere; }
.atlas-hero p:not(.eyebrow) { color:var(--workspace-muted); font-size:15px; line-height:1.7; max-width:65ch; }
.atlas-workspace a { color:var(--workspace-accent); font-size:13px; line-height:1.7; overflow-wrap:anywhere; text-underline-offset:4px; }
.atlas-hero .primary { font:600 13px/1.5 ui-sans-serif,system-ui,sans-serif; min-height:42px; border-radius:8px; white-space:normal; }
.atlas-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding:16px 0; margin-bottom:20px; border-bottom:1px solid var(--workspace-border); }
.atlas-tabs>button { background:none; border:0; color:var(--workspace-muted); padding:12px 0; font-size:13px; line-height:1.6; }
.atlas-tabs>button[aria-current="page"] { color:var(--workspace-ink); box-shadow:0 2px var(--workspace-accent); }
.atlas-tabs>.ghost { margin-left:auto; }
.atlas-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:32px; align-items:start; }
.atlas-document { min-width:0; border:1px solid var(--workspace-border); border-radius:14px; background:var(--workspace-surface); padding:var(--workspace-space); }
.atlas-document-heading h2 { font-size:25px; margin:0 0 24px; letter-spacing:-.02em; }
.readme-provenance { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; border-block:1px solid var(--workspace-border); padding:12px 0; margin:0 0 28px; font-size:12px; color:var(--workspace-muted); overflow-wrap:anywhere; }
.atlas-context { min-width:0; display:grid; gap:30px; }
.atlas-context>section { border-bottom:1px solid var(--workspace-border); padding-bottom:24px; min-width:0; }
.atlas-context h2 { font-size:13px; font-weight:500; color:var(--workspace-muted); margin:20px 0 10px; }
.atlas-context strong { font-size:17px; overflow-wrap:anywhere; }
.atlas-context p:not(.eyebrow),.atlas-context small { color:var(--workspace-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.atlas-related { width:100%; display:grid; gap:7px; text-align:left; border:0; border-bottom:1px solid #ffffff0b; padding:14px 0; background:none; color:var(--workspace-ink); font-size:13px; line-height:1.6; }
#readmeOutline { display:grid; gap:12px; }
.atlas-notice,.atlas-loading { padding:24px 0; font-size:14px; line-height:1.8; color:var(--workspace-muted); }
.atlas-notice h2 { font-size:20px; color:var(--workspace-ink); }
.reader-skeleton { height:14px; width:90%; border-radius:4px; background:#ffffff09; margin:20px 0; }
.reader-skeleton:nth-child(2) { width:70%; }
.reader-skeleton:nth-child(3) { width:80%; }
.rich-content { font:400 15px/1.85 ui-sans-serif,system-ui,sans-serif; color:#c5cede; overflow-wrap:anywhere; min-width:0; max-width:85ch; }
.rich-content :is(h1,h2,h3,h4,h5,h6) { color:#edf1f8; font-weight:620; line-height:1.4; letter-spacing:-.02em; margin:1.7em 0 .75em; scroll-margin-top:24px; }
.rich-content h1 { font-size:1.9em; }
.rich-content h2 { font-size:1.5em; border-bottom:1px solid var(--workspace-border); padding-bottom:.4em; }
.rich-content h3 { font-size:1.2em; }
.rich-content h4,.rich-content h5,.rich-content h6 { font-size:1em; }
.rich-content>:first-child { margin-top:0; }
.ticket-focus .rich-content p,.rich-content p { font:inherit; white-space:normal; margin:0 0 1em; max-width:none; }
.rich-content ul,.rich-content ol { padding-left:1.6em; }
.rich-content li { margin:.35em 0; }
.rich-content li>input { accent-color:#b7a3ff; margin-right:8px; }
.rich-content a { color:#c3b4ff; font-size:inherit; text-decoration:underline; }
.rich-content blockquote { margin:1.2em 0; padding:.5em 1.2em; border-left:3px solid #9f8be5; background:#bcabff08; }
.rich-content code { font: .88em/1.6 ui-monospace,monospace; color:#dfd5ff; background:#bcabff0e; border-radius:4px; padding:.15em .35em; }
.rich-content pre { max-width:100%; overflow:auto; margin:0; padding:48px 18px 18px; tab-size:2; background:#0a0e16; border-radius:8px; white-space:pre; }
.rich-content pre code { background:none; padding:0; color:#c8d5ea; }
.code-block { position:relative; margin:1.5em 0; border:1px solid var(--workspace-border); border-radius:8px; overflow:hidden; }
.code-copy { position:absolute; right:8px; top:8px; min-height:30px; border:1px solid #3c4659; border-radius:5px; background:#1c2433; color:#d3dced; padding:4px 10px; font-size:11px; }
.rich-content table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; margin:1.5em 0; font-size:14px; }
.rich-content th,.rich-content td { border:1px solid var(--workspace-border); padding:9px 14px; text-align:left; }
.rich-content th { background:#ffffff06; color:#e4eaf4; }
.rich-content hr { border:0; border-top:1px solid var(--workspace-border); margin:2em 0; }
.rich-content img { max-width:100%; max-height:720px; object-fit:contain; height:auto; display:block; border-radius:6px; }
.repository-image { display:block; min-height:80px; max-width:100%; padding:12px 0; font-size:12px; color:var(--workspace-muted); }
.image-unavailable { font-size:13px; color:var(--workspace-muted); }
.reader-fallback { white-space:pre-wrap; overflow-wrap:anywhere; }
.hljs-keyword,.hljs-selector-tag { color:#c7a4ff; }.hljs-string,.hljs-attr { color:#8ed6b0; }.hljs-number,.hljs-literal { color:#ffbd8b; }.hljs-comment { color:#94a1b7; }
.focus-workspace :is(button,a,summary,textarea):focus-visible,.atlas-workspace :is(button,a,summary):focus-visible { outline:2px solid #bcabff; outline-offset:4px; }
@container (min-width:960px) { .ticket-focus .ticket-properties { display:block; } }
@container (max-width:959px) {
  .ticket-focus .ticket-detail-body { grid-template-columns:minmax(0,1fr); }
  .ticket-focus .ticket-properties { grid-column:1; grid-row:2; padding:20px 0 0; border-left:0; border-top:1px solid var(--workspace-border); }
  .ticket-focus .ticket-reading-column { grid-row:1; }
  .ticket-focus .ticket-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ticket-focus .ticket-detail-heading { flex-wrap:wrap; }
}
@media(max-width:1100px) {
  .atlas-layout { grid-template-columns:minmax(0,1fr); }
  .atlas-context { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .atlas-hero { flex-wrap:wrap; }
}
@media(max-width:700px) {
  .app.in-focus .workspace-topbar { grid-template-columns:minmax(0,1fr); gap:8px; }
  .app.in-focus .workspace-topbar .header-actions { display:flex; }
  .app.in-focus .workspace-status-row { display:none; }
  .app.in-focus .workspace-topbar button { min-height:36px; font-size:10px; }
  .app.in-focus .workspace-heading { display:none; }
  .focus-path { gap:8px; }
  .focus-path>.atlas-link { flex-basis:100%; order:3; }
  .focus-path>.atlas-link span { display:block; margin:0; }
  .ticket-focus .ticket-actions { padding:12px 18px; }
  .ticket-focus .ticket-utility-actions { margin:0; }
  .atlas-context { grid-template-columns:minmax(0,1fr); }
  .atlas-mark { display:none; }
  .atlas-tabs { gap:8px 16px; }
  .ticket-focus .ticket-meta { grid-template-columns:minmax(0,1fr); }
  .rich-content { font-size:14px; }
}
@keyframes workspaceEnter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .focus-workspace *,.atlas-workspace * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Attention uses static department/security indicators rather than pulsing all work. */
.app .task-glow,.app .task-glow:after { animation:none; }
@media(max-height:720px) and (min-width:701px) {
  .ticket-focus .ticket-detail-heading { padding:24px 32px; }
  .ticket-focus .ticket-detail-heading h1 { font-size:28px; max-width:42ch; }
  .focus-path { margin-bottom:14px; }
  .ticket-focus .ticket-detail-body { padding-top:26px; }
}
@media(max-width:700px) {
  .app { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  .app>aside { display:flex; flex-direction:row; align-items:center; gap:8px; position:relative; width:auto; height:auto; min-width:0; padding:6px 10px; border-right:0; border-bottom:1px solid var(--workspace-border); }
  .app>aside>.brand { display:none; }
  .app>aside>nav { display:flex; flex-direction:row; flex:1; gap:3px; min-width:0; overflow-x:auto; margin:0; }
  .app>aside>nav button { flex:1 0 34px; width:auto; min-height:38px; padding:6px; border-left:0; }
  .app>aside>nav button span { display:none; }
  .app>aside>.user { display:block; margin:0; padding:0; border:0; }
  .app>aside>.user>#avatar,.app>aside>.user>div { display:none; }
  .app>aside>.user #logout { width:36px; height:36px; margin:0; padding:0; font-size:16px; }
  .app>aside>.user #logout span { display:none; }
  .app>.shell>.content { padding:16px; }
  .ticket-focus .ticket-detail-heading>div { flex-basis:100%; }
  .ticket-focus .ticket-detail-heading h1 { font-size:26px; }
  .ticket-focus .ticket-detail-heading>.ticket-state { order:-1; }
}
.ticket-browser-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.ticket-browser-toolbar>button { min-height:40px; font:500 13px/1.5 ui-sans-serif,system-ui,sans-serif; }

.workspace-topbar button { font:600 12px/1.4 ui-sans-serif,system-ui,sans-serif; letter-spacing:0; }
.atlas-context .ghost { font:500 12px/1.5 ui-sans-serif,system-ui,sans-serif; min-height:40px; }

/* Shared project documentation entry: readable at every viewport. */
.documentation-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #9582ca; border-radius:8px; background:#262337; color:#e6ddff; font:600 13px/1.4 ui-sans-serif,system-ui,sans-serif; letter-spacing:0; cursor:pointer; }
.documentation-action svg { flex-shrink:0; }
.documentation-action:hover { background:#37304e; border-color:#c6b6ff; }
.documentation-action:focus-visible { outline:2px solid #c6b6ff; outline-offset:3px; }
.documentation-action:disabled { opacity:.45; cursor:not-allowed; }
.focus-path .focus-project-identity { color:var(--workspace-muted); overflow-wrap:anywhere; min-width:0; font-size:13px; }
@media(max-width:600px) { .focus-project-identity { flex-basis:calc(100% - 100px); } .focus-path .documentation-action { margin-right:auto; } }
