:root{
  --bg:#f5f7fb; --panel:#fff; --ink:#17263b; --muted:#66768a; --line:#d9e0e9;
  --blue:#2f6fe4; --blue2:#eaf1ff; --navy:#173452; --green:#14866d; --green2:#e8f7f2;
  --amber:#d97706; --amber2:#fff3dc; --red:#b84444; --red2:#fff0f0; --purple:#7551bd; --purple2:#f2ecff;
  --shadow:0 14px 40px rgba(23,52,82,.10); --radius:16px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit} button{cursor:pointer}
.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:24px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--ink)} .brand-logo{width:188px;height:auto;max-height:54px;object-fit:contain;object-position:left center}.slice-pill{font-size:11px;font-weight:700;background:#eef3fa;color:#6a7890;padding:5px 7px;border-radius:999px}
.case-title-wrap{display:flex;flex-direction:column;min-width:0}.case-title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#8290a3}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.search{width:230px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd}.tabs{height:48px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;padding-left:22px;gap:6px}.tab{border:0;background:transparent;color:#66768a;padding:13px 16px 11px;border-bottom:3px solid transparent;font-weight:700}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.view{display:none}.view.active{display:block}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:700}.btn:hover{border-color:#b8c5d5;background:#fbfdff}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.small{padding:7px 10px;font-size:12px}.icon-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:10px;font-size:20px;color:var(--ink)}
.dashboard-shell{max-width:1220px;margin:0 auto;padding:30px}.hero-card{background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}.hero-card h1{margin:10px 0 8px;font-size:34px;letter-spacing:-1px}.hero-card p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:10px}.status-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em}.status-chip.court{background:var(--green2);color:var(--green)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metric strong{font-size:29px;display:block}.metric span{font-size:12px;color:var(--muted);font-weight:700}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel.wide{grid-column:1 / -1}.panel-heading{padding:16px 18px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:15px;margin:0}.issue-list,.compact-list{padding:8px}.issue-item,.compact-item{padding:12px;border-radius:10px}.issue-item:hover,.compact-item:hover{background:#f7f9fc}.issue-item strong,.compact-item strong{display:block;font-size:13px}.issue-item span,.compact-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.issue-item{border-left:3px solid var(--amber)}
.workspace{height:calc(100vh - 120px);display:grid;grid-template-columns:275px minmax(0,1fr) 330px;background:#eef2f7}.library-pane,.inspector-pane{background:#fff;overflow:auto}.library-pane{border-right:1px solid var(--line)}.inspector-pane{border-left:1px solid var(--line)}.pane-heading{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.pane-heading h2{margin:3px 0 0;font-size:18px}.library-tabs{display:flex;gap:5px;padding:10px;overflow-x:auto;border-bottom:1px solid var(--line)}.lib-tab{border:0;background:#f1f4f8;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;color:#69798d}.lib-tab.active{background:var(--blue2);color:var(--blue)}.library-list{padding:10px}.library-card{border:1px solid var(--line);border-radius:12px;padding:11px;margin-bottom:8px;background:#fff;cursor:grab;transition:.15s}.library-card:hover{border-color:#aabbd1;box-shadow:0 6px 18px rgba(23,52,82,.08)}.library-card .row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.library-card strong{font-size:12px}.library-card small{display:block;color:var(--muted);margin-top:4px}.type-pill{font-size:9px;font-weight:900;padding:4px 6px;border-radius:999px;background:#f1f4f8;color:#65758a}
.canvas-pane{display:flex;flex-direction:column;min-width:0}.canvas-toolbar{height:50px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 12px;gap:12px}.toolbar-group{display:flex;gap:6px;align-items:center}.mode-hint{margin-left:auto;color:var(--muted);font-size:11px}.select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;color:var(--ink)}.select.small{padding:7px 9px;font-size:12px}.canvas{position:relative;flex:1;overflow:hidden;background-color:#f8fafc;background-image:radial-gradient(#ced7e3 1px,transparent 1px);background-size:24px 24px}.node-layer{position:absolute;inset:0;transform-origin:0 0}.edge-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.canvas-watermark{position:absolute;right:14px;bottom:12px;color:#9da8b7;font-size:10px;font-weight:800;letter-spacing:.08em}.canvas-node{position:absolute;width:210px;min-height:98px;border:1px solid #ccd7e4;background:#fff;border-radius:13px;box-shadow:0 10px 24px rgba(23,52,82,.10);user-select:none;cursor:grab;overflow:hidden}.canvas-node.selected{outline:3px solid rgba(47,111,228,.25);border-color:var(--blue)}.canvas-node.connect-source{outline:3px solid rgba(117,81,189,.28);border-color:var(--purple)}.node-top{height:7px;background:#8ca0b6}.node-body{padding:12px}.node-kind{font-size:9px;font-weight:900;letter-spacing:.09em;color:#7a899c}.node-title{font-size:13px;font-weight:800;margin:4px 0 6px}.node-sub{font-size:11px;color:var(--muted);line-height:1.4}.node-badge{display:inline-flex;margin-top:8px;padding:4px 6px;border-radius:999px;font-size:9px;font-weight:900}.person .node-top{background:var(--blue)}.evidence .node-top{background:var(--green)}.event .node-top{background:#586b84}.location .node-top{background:#15998f}.document .node-top{background:#7c8ba0}.theory{border-style:dashed;border-color:#aa91df;background:#fbf9ff}.theory .node-top{background:var(--purple)}.theory .node-badge{background:var(--purple2);color:var(--purple)}
.edge-line{stroke:#7e8ea3;stroke-width:2}.edge-line.theory-edge{stroke:var(--purple);stroke-dasharray:6 5}.edge-label-bg{fill:white;stroke:#dbe2eb;stroke-width:1}.edge-label{font-size:10px;font-weight:700;fill:#526276;dominant-baseline:middle;text-anchor:middle}
.inspector{padding:16px}.empty-state{color:var(--muted);font-size:13px;line-height:1.55}.inspector h3{font-size:20px;margin:6px 0}.inspector .summary{color:var(--muted);line-height:1.5;font-size:13px}.meta-grid{display:grid;grid-template-columns:100px 1fr;gap:9px 10px;margin-top:16px;font-size:12px}.meta-grid dt{color:#7b899a;font-weight:700}.meta-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.source-section{margin-top:22px}.source-section h4{font-size:12px;margin:0 0 8px}.source-card{border:1px solid var(--line);border-radius:11px;padding:10px;margin-bottom:8px;background:#fbfcfe}.source-card strong{font-size:11px;display:block}.source-card span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.status-verified{background:var(--green2);color:var(--green)}.status-testimony{background:#edf2ff;color:#4f68ab}.status-disputed{background:var(--amber2);color:var(--amber)}.status-alleged{background:var(--red2);color:var(--red)}.status-theory{background:var(--purple2);color:var(--purple)}
.timeline-shell{max-width:1050px;margin:0 auto;padding:28px}.timeline-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:18px}.timeline-header h1{margin:4px 0 0}.timeline-filters{display:flex;gap:8px}.timeline-list{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.timeline-item{display:grid;grid-template-columns:100px 16px 1fr;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);cursor:pointer}.timeline-item:last-child{border-bottom:0}.timeline-item:hover{background:#f8faff}.timeline-time{font-weight:900;font-size:13px}.timeline-dot{position:relative}.timeline-dot::before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--blue);left:3px;top:4px}.timeline-dot::after{content:"";position:absolute;width:2px;background:#d9e1eb;left:7px;top:14px;bottom:-32px}.timeline-item:last-child .timeline-dot::after{display:none}.timeline-main strong{display:block;font-size:13px}.timeline-main p{margin:4px 0 8px;color:var(--muted);font-size:12px}.timeline-tags{display:flex;gap:6px;flex-wrap:wrap}.timeline-tags span{font-size:9px;font-weight:800;background:#f0f3f7;padding:4px 6px;border-radius:999px;color:#65758a}
.modal{border:0;border-radius:16px;padding:0;max-width:540px;width:calc(100% - 40px);box-shadow:0 28px 80px rgba(0,0,0,.24)}.modal::backdrop{background:rgba(10,24,42,.45)}.modal form{padding:20px}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{margin:0}.modal label{display:block;font-size:12px;font-weight:800;margin-top:16px}.modal input,.modal textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px}.warning-box{background:var(--purple2);color:#5d4298;padding:11px;border-radius:10px;font-size:11px;line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;background:#17263b;color:#fff;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:700;transition:.2s;pointer-events:none;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1000px){.workspace{grid-template-columns:235px 1fr}.inspector-pane{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.top-actions .search{display:none}.case-title-wrap{display:none}.timeline-header{align-items:flex-start;flex-direction:column}.timeline-filters{flex-wrap:wrap}}@media(max-width:700px){.library-pane{display:none}.workspace{grid-template-columns:1fr}.dashboard-shell,.timeline-shell{padding:16px}.hero-card{padding:20px;flex-direction:column}.hero-card h1{font-size:26px}.hero-actions{align-items:flex-start}.dashboard-grid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.slice-pill{display:none}.brand-logo{width:145px;max-height:44px}.timeline-item{grid-template-columns:78px 14px 1fr;padding:14px 12px}}

/* Slice 01.1 interaction + import additions */
.canvas{cursor:default;touch-action:none}
.canvas-scene{position:absolute;left:0;top:0;width:5000px;height:3000px;transform-origin:0 0;will-change:transform}
.node-layer{position:absolute;left:0;top:0;width:5000px;height:3000px;transform:none}
.edge-layer{position:absolute;left:0;top:0;width:5000px;height:3000px;pointer-events:none;overflow:visible}
.canvas-help{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:9px;padding:6px 9px;color:#708096;font-size:10px;font-weight:800;pointer-events:none;box-shadow:0 4px 12px rgba(23,52,82,.06)}
body.dragging-node,body.dragging-node *{cursor:grabbing!important}
body.panning-canvas,body.panning-canvas *{cursor:grabbing!important}
.canvas-node{touch-action:none}
.import-modal{max-width:650px}
.import-intro{color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 4px}
.file-field{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}
.file-field span{display:block;font-weight:500;color:var(--muted);font-size:11px;margin:4px 0 8px}
.file-field input[type=file]{background:#fff;padding:8px}
.template-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px;padding:10px 12px;border-radius:10px;background:#f4f7fb;font-size:11px}
.template-links a{color:var(--blue);font-weight:800;text-decoration:none}.template-links a:hover{text-decoration:underline}
.import-status{margin:14px 0;padding:10px 12px;border-radius:10px;background:#f4f7fb;color:var(--muted);font-size:12px;line-height:1.45}
.import-status.success{background:var(--green2);color:var(--green)}
.import-status.error{background:var(--red2);color:var(--red)}
.status-alleged{background:var(--red2);color:var(--red)}

/* Slice 01.2 — saved Case Library */
.cases-shell{max-width:1220px;margin:0 auto;padding:30px}
.cases-header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:18px}
.cases-header h1{margin:5px 0 7px;font-size:34px;letter-spacing:-1px}
.cases-header p{margin:0;max-width:760px;color:var(--muted);font-size:13px;line-height:1.55}
.case-library-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.case-library-summary>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px}
.case-library-summary strong{display:block;font-size:23px}.case-library-summary span{font-size:11px;color:var(--muted);font-weight:700}
.case-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.case-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 7px 22px rgba(23,52,82,.05);transition:.16s}
.case-card:hover{border-color:#b7c5d6;box-shadow:0 12px 28px rgba(23,52,82,.08)}
.case-card.active-case{border-color:#91afe8;box-shadow:0 0 0 3px rgba(47,111,228,.08)}
.case-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.active-case-pill{font-size:9px;font-weight:900;letter-spacing:.09em;padding:5px 7px;border-radius:999px;background:var(--blue2);color:var(--blue)}
.case-card h2{font-size:19px;margin:13px 0 7px;letter-spacing:-.3px}
.case-card-meta{display:flex;gap:8px;flex-wrap:wrap;min-height:22px;color:var(--muted);font-size:11px}
.case-card-meta span{background:#f4f7fb;border-radius:999px;padding:4px 7px}
.case-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.case-counts div{text-align:center}.case-counts strong{display:block;font-size:17px}.case-counts span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.case-saved{font-size:10px;color:var(--muted);margin-bottom:13px}
.case-card-actions{display:flex;gap:7px;flex-wrap:wrap}
.btn.danger{color:var(--red);border-color:#efd0d0}.btn.danger:hover{background:var(--red2);border-color:#dfaaaa}.btn.ghost{margin-left:auto}
.case-library-empty{grid-column:1 / -1;background:#fff;border:1px dashed #c9d3df;border-radius:16px;padding:36px;text-align:center;color:var(--muted)}
.case-library-empty strong{display:block;color:var(--ink);margin-bottom:5px}
@media(max-width:850px){.case-library-grid{grid-template-columns:1fr}.case-library-summary{grid-template-columns:repeat(2,1fr)}.cases-header{flex-direction:column}.btn.ghost{margin-left:0}}
@media(max-width:700px){.cases-shell{padding:16px}.cases-header h1{font-size:27px}.case-counts{grid-template-columns:repeat(2,1fr)}}


/* Slice 01.3 — category color system + explicit theory dialog controls */
:root{
  --cat-people:var(--blue); --cat-people-soft:var(--blue2);
  --cat-evidence:var(--green); --cat-evidence-soft:var(--green2);
  --cat-events:var(--amber); --cat-events-soft:var(--amber2);
  --cat-other:var(--purple); --cat-other-soft:var(--purple2);
}
.library-tabs{gap:7px;flex-wrap:wrap;overflow:visible}
.lib-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;padding:7px 10px;background:#f1f4f8;color:#69798d}
.lib-tab .cat-dot{width:8px;height:8px;border-radius:50%;background:#8a98aa;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.lib-tab.cat-person{background:var(--cat-people-soft);color:var(--cat-people);border-color:#c9d9fb}.lib-tab.cat-person .cat-dot{background:var(--cat-people)}
.lib-tab.cat-evidence{background:var(--cat-evidence-soft);color:var(--cat-evidence);border-color:#c6e7dc}.lib-tab.cat-evidence .cat-dot{background:var(--cat-evidence)}
.lib-tab.cat-event{background:var(--cat-events-soft);color:var(--cat-events);border-color:#f0d5a3}.lib-tab.cat-event .cat-dot{background:var(--cat-events)}
.lib-tab.cat-other{background:var(--cat-other-soft);color:var(--cat-other);border-color:#d8c9f5}.lib-tab.cat-other .cat-dot{background:var(--cat-other)}
.lib-tab.cat-all{background:#f1f4f8;color:#65758a;border-color:#dde4ec}.lib-tab.cat-all .cat-dot{background:#7b899a}
.lib-tab.active{box-shadow:0 0 0 2px currentColor inset;font-weight:900}
.library-card{border-left-width:5px}.library-card.cat-person{border-left-color:var(--cat-people)}.library-card.cat-evidence{border-left-color:var(--cat-evidence)}.library-card.cat-event{border-left-color:var(--cat-events)}.library-card.cat-other{border-left-color:var(--cat-other)}
.type-pill.cat-person{background:var(--cat-people-soft);color:var(--cat-people)}.type-pill.cat-evidence{background:var(--cat-evidence-soft);color:var(--cat-evidence)}.type-pill.cat-event{background:var(--cat-events-soft);color:var(--cat-events)}.type-pill.cat-other{background:var(--cat-other-soft);color:var(--cat-other)}
.canvas-node.cat-person{border-color:#bfd1f7}.canvas-node.cat-evidence{border-color:#bbdfd3}.canvas-node.cat-event{border-color:#e7c98e}.canvas-node.cat-other{border-color:#d2c0ef}
.canvas-node.cat-person .node-top{background:var(--cat-people)}.canvas-node.cat-evidence .node-top{background:var(--cat-evidence)}.canvas-node.cat-event .node-top{background:var(--cat-events)}.canvas-node.cat-other .node-top{background:var(--cat-other)}
.canvas-node.cat-person .node-kind{color:var(--cat-people)}.canvas-node.cat-evidence .node-kind{color:var(--cat-evidence)}.canvas-node.cat-event .node-kind{color:var(--cat-events)}.canvas-node.cat-other .node-kind{color:var(--cat-other)}
.timeline-dot::before{background:var(--cat-events)}
#theoryDialog .modal-actions{margin-top:18px}
#theoryDialog button{touch-action:manipulation}

/* Slice 01.4 — editable timeline + custom category color editor */
.timeline-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.timeline-actions{display:flex;gap:5px;flex:0 0 auto;margin-top:-3px}
.timeline-actions .icon-btn{width:28px;height:28px;border-radius:8px;font-size:13px}
.timeline-actions .timeline-delete{color:var(--red)}
.timeline-tags span.cat-person{background:var(--cat-people-soft);color:var(--cat-people)}
.timeline-tags span.cat-evidence{background:var(--cat-evidence-soft);color:var(--cat-evidence)}
.timeline-tags span.cat-event{background:var(--cat-events-soft);color:var(--cat-events)}
.timeline-tags span.cat-other{background:var(--cat-other-soft);color:var(--cat-other)}
.timeline-tags span.status-tag{background:#f0f3f7;color:#65758a}
.timeline-edit-modal{max-width:720px}
.form-grid{display:grid;gap:0 14px}.form-grid.two-col{grid-template-columns:1fr 1fr}
.modal select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.multi-select{min-height:120px}
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:600}
.color-editor-modal{max-width:600px}
.color-editor-intro{margin:10px 0 2px;color:var(--muted);font-size:13px;line-height:1.5}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.color-field{margin:0!important;border:1px solid var(--line);border-radius:12px;padding:11px 12px;display:flex!important;align-items:center;justify-content:space-between;background:#fbfcfe}
.color-field>span{display:flex;align-items:center;gap:8px;font-weight:800}
.color-field input[type=color]{width:52px;height:34px;padding:2px;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.color-swatch{width:12px;height:12px;border-radius:50%;display:inline-block}.color-swatch.people{background:var(--cat-people)}.color-swatch.evidence{background:var(--cat-evidence)}.color-swatch.events{background:var(--cat-events)}.color-swatch.other{background:var(--cat-other)}
.color-preview{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border:1px dashed var(--line);border-radius:12px;background:#fff;margin-bottom:16px}
.preview-chip{font-size:10px;font-weight:900;padding:7px 10px;border-radius:999px}.preview-chip.cat-person{background:var(--cat-people-soft);color:var(--cat-people)}.preview-chip.cat-evidence{background:var(--cat-evidence-soft);color:var(--cat-evidence)}.preview-chip.cat-event{background:var(--cat-events-soft);color:var(--cat-events)}.preview-chip.cat-other{background:var(--cat-other-soft);color:var(--cat-other)}
@media(max-width:700px){.form-grid.two-col,.color-grid{grid-template-columns:1fr}.timeline-actions{margin-left:auto}.timeline-title-row{align-items:flex-start}}

/* Slice 01.5 — independently resizable canvas cards */
.canvas-node{min-width:110px;min-height:55px;max-width:480px;max-height:460px}
.canvas-node .node-body{height:calc(100% - 7px);overflow:hidden}
.node-resize-handle{position:absolute;right:3px;bottom:3px;width:17px;height:17px;border:0;background:transparent;cursor:nwse-resize;z-index:5;padding:0}
.node-resize-handle::before{content:"";position:absolute;right:2px;bottom:2px;width:9px;height:9px;border-right:2px solid #78879a;border-bottom:2px solid #78879a;border-radius:1px;opacity:.85}
.node-resize-handle:hover::before{border-color:var(--blue)}
body.resizing-node,body.resizing-node *{cursor:nwse-resize!important}
.canvas-node.node-compact .node-body{padding:9px}.canvas-node.node-compact .node-title{font-size:11px;margin:3px 0 4px}.canvas-node.node-compact .node-sub{font-size:9px;line-height:1.25}.canvas-node.node-compact .node-badge{font-size:8px;margin-top:5px;padding:3px 5px}
.canvas-node.node-micro .node-body{padding:7px 8px}.canvas-node.node-micro .node-kind{font-size:7px}.canvas-node.node-micro .node-title{font-size:10px;line-height:1.1;margin:2px 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.canvas-node.node-micro .node-sub{display:none}.canvas-node.node-micro .node-badge{font-size:7px;margin-top:2px;padding:2px 4px;max-width:calc(100% - 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-size-modal{max-width:520px}.card-size-intro{color:var(--muted);font-size:13px;line-height:1.5}.card-size-presets{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.card-size-presets>span{font-size:11px;font-weight:900;color:var(--muted);margin-right:2px}

/* Slice 01.6 — restored canvas zoom controls */
.zoom-tools{gap:4px}.zoom-btn{min-width:34px;font-size:17px;line-height:1;padding:6px 9px}.zoom-percent{min-width:58px;font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink)}

/* Slice 01.8 — polished Output & Share dialog */
.output-modal{width:min(760px,calc(100vw - 32px));padding:0;overflow:hidden;border-radius:22px;}
.output-modal-shell{padding:24px;}
.output-heading{margin-bottom:16px;}
.output-context{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid #dbe4ef;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f8fafc);}
.output-context-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff;border:1px solid #dbe4ef;overflow:hidden;box-shadow:0 4px 12px rgba(15,23,42,.08)}.output-context-mark img{width:40px;height:32px;object-fit:contain;}
.output-context strong{display:block;color:#0f172a;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.output-context span:not(.output-view-badge){display:block;color:#64748b;font-size:12px;line-height:1.4;margin-top:2px;}
.output-view-badge{align-self:center;border-radius:999px;padding:6px 10px;background:#e7eef7;color:#29415f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.output-section{margin-top:22px;}
.output-section-secondary{padding-top:18px;border-top:1px solid #e7edf4;}
.output-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px;}
.output-section-heading h3{margin:0;color:#0f172a;font-size:14px;}
.output-section-heading p{margin:3px 0 0;color:#7b8a9d;font-size:11px;}
.output-grid{display:grid;gap:12px;margin:0;}
.output-grid-images{grid-template-columns:repeat(2,minmax(0,1fr));}
.output-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr));}
.output-option{appearance:none;border:1px solid #dce5ef;border-radius:16px;background:#fff;padding:15px;text-align:left;cursor:pointer;min-height:118px;display:grid;grid-template-columns:54px 1fr;gap:13px;align-items:start;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;}
.output-option:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,39,66,.10);border-color:#9fb5cc;background:#fbfdff;}
.output-option:focus-visible{outline:3px solid rgba(59,130,246,.24);outline-offset:2px;}
.output-option-copy{display:flex!important;flex-direction:column;gap:5px;}
.output-option-copy strong{font-size:14px;color:#0f172a;line-height:1.25;}
.output-option-copy span{font-size:11.5px;line-height:1.45;color:#64748b;}
.output-option-copy small{font-size:10px;color:#8b9bae;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;}
.output-format-icon{width:54px;height:54px;border-radius:14px;background:#edf4fb;color:#20466f;display:grid!important;place-items:center;font-size:11px!important;font-weight:900;letter-spacing:.04em;line-height:1!important;}
.output-format-icon.vertical{height:72px;border-radius:12px;background:linear-gradient(180deg,#0f2742,#355b86);color:white;align-self:center;}
.output-format-icon.document{background:#f3f0ff;color:#6248a8;}
.output-format-icon.data{background:#eaf7ef;color:#28794a;}
.social-option{border-color:#cbdceb;background:linear-gradient(135deg,#ffffff,#f5f9fe);}
.compact-output{min-height:92px;align-items:center;}
.output-option[hidden]{display:none!important;}
.output-note{margin-top:18px;padding:11px 13px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:11px;line-height:1.45;}
.output-note strong{color:#334155;}
.output-actions{margin-top:16px;padding-top:0;border-top:0;}
@media(max-width:700px){.output-modal-shell{padding:18px}.output-grid-images,.output-grid-secondary{grid-template-columns:1fr}.output-option{min-height:auto}.output-context{grid-template-columns:40px 1fr}.output-context-mark{width:40px;height:40px}.output-view-badge{grid-column:2;justify-self:start}.output-section-heading p{display:none}}

/* Slice 01.8 — per-user Creator Styles for output */
.output-style-panel{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto 150px;gap:14px;align-items:center;padding:14px;border:1px solid #dce5ef;border-radius:16px;background:#fff;}
.output-style-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.output-style-copy .eyebrow{font-size:9px}.output-style-copy strong{font-size:13px;color:#0f172a}.output-style-copy>span:last-child{font-size:10.5px;color:#718096;line-height:1.35}
.output-style-controls{display:grid;grid-template-columns:minmax(132px,1fr) auto auto;gap:6px;align-items:center}.output-style-controls .select{height:34px;min-width:148px;font-size:11px}.output-style-controls .btn{white-space:nowrap}
.output-style-preview{height:76px;border:1px solid #dce5ef;border-radius:12px;overflow:hidden;background:#eef3f8;display:grid;grid-template-rows:27px 1fr 18px;font-size:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.output-style-preview-head{display:flex;align-items:center;gap:6px;padding:0 8px;background:#0f2742;color:#fff}.output-style-preview-head span{width:17px;height:17px;border-radius:5px;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:6px;font-weight:900}.output-style-preview-head b{font-size:8px}
.output-style-preview-body{margin:7px 8px 4px;padding:6px;border-radius:6px;background:#fff;color:#0f172a;display:flex;flex-direction:column;gap:2px}.output-style-preview-body strong{font-size:7.5px}.output-style-preview-body span{font-size:6.5px;opacity:.62}.output-style-preview-foot{padding:3px 8px;background:#0f2742;color:#fff;text-align:right;font-size:6.5px}
.export-style-modal{width:min(660px,calc(100vw - 32px));}.export-style-intro{margin:-2px 0 16px;color:var(--muted);font-size:12px;line-height:1.5}.export-style-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-style-fields label{margin:0}.export-style-fields input,.export-style-fields select{margin-top:5px}
.export-style-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:16px 0}.export-style-colors label{margin:0;border:1px solid var(--line);border-radius:11px;padding:9px;background:#f8fafc;display:flex;flex-direction:column;gap:7px;align-items:stretch}.export-style-colors span{font-size:9px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.export-style-colors input[type=color]{width:100%;height:34px;padding:2px;border:1px solid #d6e0ea;border-radius:8px;background:white}
.check-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin:0 0 14px!important;font-size:11px!important;color:#475569!important}.check-row input{width:auto!important;margin:0!important}.style-editor-preview{height:190px;border-radius:16px;overflow:hidden;border:1px solid #d8e2ed;background:#eef3f8;display:grid;grid-template-rows:58px 1fr 36px}.style-editor-preview-head{background:#0f2742;color:#fff;padding:13px 18px;display:flex;justify-content:space-between;align-items:center}.style-editor-preview-head span{font-size:10px;font-weight:900;letter-spacing:.06em}.style-editor-preview-head strong{font-size:17px}.style-editor-preview-card{align-self:center;margin:0 22px;padding:18px;border-radius:13px;background:#fff;color:#0f172a;border-left:6px solid #3b82f6;display:flex;flex-direction:column;gap:5px}.style-editor-preview-card b{font-size:14px}.style-editor-preview-card span{font-size:10px;opacity:.65}.style-editor-preview-footer{background:#0f2742;color:#fff;padding:10px 18px;text-align:right;font-size:10px;font-weight:700}.export-style-actions{align-items:center}.modal-spacer{flex:1}.btn.danger{border-color:#efc3c3;color:#9f2424;background:#fff7f7}.btn.danger:hover{background:#fff0f0}
@media(max-width:760px){.output-style-panel{grid-template-columns:1fr}.output-style-controls{grid-template-columns:1fr auto auto}.output-style-preview{display:none}.export-style-fields{grid-template-columns:1fr}.export-style-colors{grid-template-columns:repeat(3,1fr)}}

/* Slice 01.9 — dedicated compact Timeline Output layout */
.output-timeline-summary{margin-top:14px;padding:12px 14px;border:1px solid #dce5ef;border-radius:14px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:16px}
.output-timeline-summary[hidden]{display:none!important}
.output-timeline-summary>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.output-timeline-summary .summary-kicker{font-size:8px;font-weight:900;letter-spacing:.08em;color:#6d7f93}
.output-timeline-summary strong{font-size:13px;color:#102a46}
.output-timeline-summary>span{font-size:10.5px;color:#60748a;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.output-modal[data-mode="timeline"]{width:min(700px,calc(100vw - 32px))}
.output-modal[data-mode="timeline"] .output-modal-shell{padding:22px}
.output-modal[data-mode="timeline"] .output-style-panel{grid-template-columns:minmax(0,1fr) auto;margin-top:12px;padding:12px 13px;background:#fbfdff}
.output-modal[data-mode="timeline"] .output-style-preview{display:none}
.output-modal[data-mode="timeline"] .output-style-copy>span:last-child{display:none}
.output-modal[data-mode="timeline"] .output-style-controls{grid-template-columns:minmax(150px,1fr) auto auto}
.output-modal[data-mode="timeline"] .output-section{margin-top:17px}
.output-modal[data-mode="timeline"] .output-section-secondary{padding-top:15px}
.output-modal[data-mode="timeline"] .output-section-heading{margin-bottom:8px}
.output-modal[data-mode="timeline"] .output-grid{gap:9px}
.output-modal[data-mode="timeline"] .output-option{min-height:96px;border-radius:13px;padding:12px;grid-template-columns:46px 1fr;gap:11px;align-items:center;box-shadow:none}
.output-modal[data-mode="timeline"] .output-format-icon{width:46px;height:46px;border-radius:11px}
.output-modal[data-mode="timeline"] .output-format-icon.vertical{height:60px}
.output-modal[data-mode="timeline"] .output-option-copy{gap:3px}
.output-modal[data-mode="timeline"] .output-option-copy strong{font-size:13px}
.output-modal[data-mode="timeline"] .output-option-copy span{font-size:10.5px;line-height:1.35}
.output-modal[data-mode="timeline"] .output-option-copy small{font-size:8.5px;margin-top:1px}
.output-modal[data-mode="timeline"] .compact-output{min-height:80px}
.output-modal[data-mode="timeline"] .output-note{margin-top:13px;padding:9px 11px}
.output-modal[data-mode="timeline"] .output-actions{margin-top:10px}
@media(max-width:700px){
  .output-timeline-summary{align-items:flex-start;flex-direction:column;gap:5px}
  .output-timeline-summary>span{max-width:100%;text-align:left;white-space:normal}
  .output-modal[data-mode="timeline"] .output-style-controls{grid-template-columns:1fr auto auto}
}

/* Slice 01.10 — responsive application shell, canvas drawers, and touch-friendly controls */
.mobile-canvas-tools,.mobile-add-card,.mobile-canvas-backdrop{display:none}

@media(max-width:1100px){
  .topbar{gap:14px;padding-inline:16px}
  .search{width:190px}
  .dashboard-shell,.cases-shell{padding:24px}
  .canvas-toolbar{gap:8px}
  .mode-hint{display:none}
  .timeline-shell{padding:24px}
}

@media(max-width:1000px){
  .mobile-canvas-tools{display:flex}
  #mobileLibraryBtn{display:none}
  #mobileInspectorBtn{display:inline-flex}
  .workspace{position:relative;grid-template-columns:235px minmax(0,1fr);height:calc(100dvh - 120px);min-height:520px;overflow:hidden}
  .inspector-pane{display:block!important;position:absolute;z-index:42;top:0;right:0;bottom:0;width:min(360px,86vw);transform:translateX(102%);transition:transform .2s ease;box-shadow:-18px 0 38px rgba(23,52,82,.16);border-left:1px solid var(--line)}
  .workspace.mobile-inspector-open .inspector-pane{transform:translateX(0)}
  .workspace.mobile-inspector-open .mobile-canvas-backdrop{display:block}
  .mobile-canvas-backdrop{position:absolute;z-index:41;inset:0;border:0;background:rgba(15,31,50,.32);padding:0}
  .canvas-toolbar{height:auto;min-height:50px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding:8px 10px;scrollbar-width:thin}
  .canvas-toolbar>.toolbar-group{flex:0 0 auto}
  .canvas-toolbar .btn,.canvas-toolbar .select{white-space:nowrap}
  .timeline-filters{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .timeline-filters .select,.timeline-filters .btn{width:100%;min-width:0}
}

@media(max-width:820px){
  body{min-width:0;overflow-x:hidden}
  .topbar{height:64px;padding:0 12px;gap:10px}
  .brand-logo{width:158px;max-height:46px}
  .case-title-wrap,.top-actions .search{display:none}
  .top-actions{gap:6px}
  .top-actions .btn{padding:8px 10px;font-size:12px}
  .tabs{height:46px;padding-left:8px;gap:2px;overflow-x:auto;overflow-y:hidden;align-items:stretch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto;padding:12px 12px 9px;font-size:12px}

  .dashboard-shell,.cases-shell,.timeline-shell{padding:16px}
  .hero-card{padding:20px;border-radius:18px;flex-direction:column;gap:18px}
  .hero-card h1{font-size:27px;line-height:1.08}
  .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .hero-actions .btn{width:100%}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .metric{padding:14px}.metric strong{font-size:24px}
  .dashboard-grid{grid-template-columns:1fr}
  .panel.wide{grid-column:auto}

  .case-library-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .case-card{padding:16px}
  .case-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .case-card-actions .btn{width:100%;margin:0}
  .case-card-actions .danger{grid-column:1/-1}

  #mobileLibraryBtn,#mobileInspectorBtn{display:inline-flex}
  .workspace{grid-template-columns:minmax(0,1fr)!important;height:calc(100dvh - 110px);min-height:480px;position:relative;overflow:hidden}
  .library-pane,.inspector-pane{display:block!important;position:absolute;z-index:42;top:0;bottom:0;width:min(340px,88vw);background:#fff;transition:transform .2s ease;box-shadow:0 0 38px rgba(23,52,82,.18)}
  .library-pane{left:0;right:auto;transform:translateX(-102%);border-right:1px solid var(--line)}
  .inspector-pane{right:0;left:auto;transform:translateX(102%);border-left:1px solid var(--line)}
  .workspace.mobile-library-open .library-pane{transform:translateX(0)}
  .workspace.mobile-inspector-open .inspector-pane{transform:translateX(0)}
  .workspace.mobile-library-open .mobile-canvas-backdrop,.workspace.mobile-inspector-open .mobile-canvas-backdrop{display:block}
  .mobile-add-card{display:block;width:100%;margin-top:9px;border:1px solid currentColor;background:transparent;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:900;color:inherit}
  .library-card{cursor:default}
  .canvas-pane{width:100%;min-width:0}
  .canvas-toolbar{padding:7px 8px;gap:7px}
  .canvas-toolbar .btn.small{padding:7px 9px;font-size:11px}
  .canvas-toolbar .select.small{max-width:132px;font-size:11px}
  .canvas-help{font-size:9px;left:8px;right:70px;white-space:normal;line-height:1.35}
  .canvas-watermark{font-size:9px}

  .timeline-header{gap:14px;margin-bottom:14px}
  .timeline-header h1{font-size:25px;line-height:1.12}
  .timeline-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .timeline-filters .btn,.timeline-filters .select{font-size:11px;padding:8px 9px}
  .timeline-item{grid-template-columns:1fr;gap:7px;padding:14px}
  .timeline-time{font-size:11px;color:var(--muted)}
  .timeline-dot{display:none}
  .timeline-main strong{font-size:14px}
  .timeline-main p{font-size:11px;line-height:1.45}
  .timeline-actions{margin-left:auto}

  .modal,.import-modal,.timeline-edit-modal,.color-editor-modal,.card-size-modal,.export-style-modal,.output-modal,.output-modal[data-mode="timeline"]{width:calc(100vw - 18px);max-width:none;max-height:calc(100dvh - 18px);margin:auto;border-radius:16px;overflow:auto}
  .modal form{padding:16px}
  .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:12px;padding-bottom:2px;z-index:2;flex-wrap:wrap}
  .output-modal-shell,.output-modal[data-mode="timeline"] .output-modal-shell{padding:16px}
  .output-style-controls,.output-modal[data-mode="timeline"] .output-style-controls{grid-template-columns:1fr!important}
  .output-style-controls .select,.output-style-controls .btn{width:100%}
  .export-style-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:520px){
  .slice-pill{display:none}.brand-logo{width:145px;max-height:44px}
  .top-actions .btn{padding:7px 8px;font-size:11px}
  .metrics{grid-template-columns:1fr 1fr}
  .hero-actions{grid-template-columns:1fr}
  .case-library-summary{grid-template-columns:1fr 1fr!important}
  .timeline-filters{grid-template-columns:1fr}
  .timeline-filters .btn,.timeline-filters .select{width:100%}
  .canvas-toolbar{scroll-snap-type:x proximity}
  .canvas-toolbar>.toolbar-group{scroll-snap-align:start}
  .output-grid-images,.output-grid-secondary{grid-template-columns:1fr!important}
  .output-option{grid-template-columns:46px 1fr;padding:12px}
  .output-format-icon{width:46px;height:46px}
  .export-style-colors{grid-template-columns:1fr 1fr}
  .style-editor-preview{height:160px}
}

@media(hover:none) and (pointer:coarse){
  .btn,.tab,.icon-btn,.lib-tab{min-height:40px}
  .node-resize-handle{width:24px;height:24px}
  .canvas-help{display:none}
}


/* Slice 01.11 — editable relationship lines */
.edge-layer{pointer-events:none}
.edge-group{pointer-events:none}
.edge-line{pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:filter .12s,opacity .12s}
.edge-line.selected{filter:drop-shadow(0 0 4px rgba(47,111,228,.55))}
.edge-hit{stroke:transparent;stroke-width:18;fill:none;pointer-events:stroke;cursor:pointer}
.edge-label-group{pointer-events:all;cursor:pointer}
.edge-label-bg{pointer-events:all}
.edge-label-bg.selected{fill:#eef4ff;stroke:#7fa5ef;stroke-width:1.5}
.edge-label.selected{fill:#1f5bc5}
.relationship-inspector-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.relationship-modal{max-width:720px}
.relationship-route{margin:8px 0 2px;padding:10px 12px;border-radius:10px;background:#f4f7fb;color:#53667c;font-size:12px;font-weight:800;line-height:1.4}
.relationship-modal .select{display:block;width:100%;margin-top:6px}
.relationship-modal input[type=color]{height:42px;padding:4px;cursor:pointer}
.relationship-modal input[type=range]{padding:0;border:0;margin-top:10px}
.range-value{float:right;color:var(--muted);font-size:11px;font-weight:800}
.relationship-label-toggle{margin-top:14px!important;display:flex!important;align-items:center;gap:8px}
.relationship-label-toggle input{width:auto!important;margin:0!important}
.relationship-preview{position:relative;margin:16px 0 10px;min-height:76px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:24px 34px}
.relationship-preview-line{width:min(320px,62%);border-top:2px solid #7e8ea3;display:block}
.relationship-preview-arrow{width:22px;text-align:center;font-size:15px;color:#526276;font-weight:900}
.relationship-preview strong{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #dbe2eb;border-radius:8px;padding:4px 10px;font-size:10px;color:#526276;white-space:nowrap;max-width:70%;overflow:hidden;text-overflow:ellipsis}
.relationship-secondary-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:6px 0 2px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:700px){
  .relationship-modal .form-grid.two-col{grid-template-columns:1fr}
  .relationship-preview{padding-left:18px;padding-right:18px}
  .relationship-secondary-actions{display:grid;grid-template-columns:1fr}
  .relationship-secondary-actions .btn{width:100%}
}

/* Slice 01.12 — full object editing */
.pane-heading-actions{display:flex;align-items:center;gap:7px}
.library-card{position:relative}
.library-card .library-card-actions{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.library-card .library-card-actions .btn{font-size:10px;padding:5px 8px}
.object-manager-modal{width:min(900px,calc(100vw - 28px));max-width:900px}
.object-manager-toolbar{display:grid;grid-template-columns:190px 1fr auto;gap:10px;margin:12px 0 16px}
.object-manager-toolbar input{min-width:0}
.object-manager-list{max-height:56vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.object-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}
.object-manager-row:last-child{border-bottom:0}
.object-manager-row-main{min-width:0}
.object-manager-row-main strong{display:block;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.object-manager-row-main span{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.object-manager-row-actions{display:flex;gap:7px}
.object-editor-modal{width:min(860px,calc(100vw - 28px));max-width:860px}
.object-editor-modal label[hidden]{display:none!important}
.object-editor-modal .multi-select{min-height:134px}
.object-links-grid{margin-top:12px}
.object-editor-danger{margin-top:16px;padding:12px;border:1px solid #f2c6c6;background:#fff7f7;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.object-editor-danger span{font-size:11px;color:#8b4b4b}
.inspector-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 2px}
.source-card .source-url{font-size:10px;overflow-wrap:anywhere}
@media(max-width:720px){
  .object-manager-toolbar{grid-template-columns:1fr}
  .object-manager-toolbar .btn,.object-manager-toolbar .select{width:100%}
  .object-manager-row{grid-template-columns:1fr}
  .object-manager-row-actions{display:grid;grid-template-columns:1fr 1fr}
  .object-manager-row-actions .btn{width:100%}
  .object-editor-modal .form-grid.two-col{grid-template-columns:1fr}
  .object-editor-danger{align-items:stretch;flex-direction:column}
}


/* Slice 01.13 — Canvas layers + per-card color override */
.layer-toolbar-btn{display:inline-flex!important;align-items:center;gap:6px}
.layer-toolbar-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:20px;padding:0 6px;border-radius:999px;background:#eef2f7;color:#53667c;font-size:9px;font-weight:900}
.layer-toolbar-btn.layer-filter-active{border-color:#b7791f;background:#fff8e8;color:#8a5b10}.layer-toolbar-btn.layer-filter-active .layer-toolbar-count{background:#f8e6b9;color:#81550e}
.canvas-node .node-top{background:var(--node-accent,#8ca0b6)!important}
.canvas-node.layer-node-locked{cursor:not-allowed;box-shadow:0 8px 20px rgba(23,52,82,.08)}
.canvas-node.layer-node-locked::after{content:'🔒';position:absolute;right:8px;top:11px;font-size:10px;opacity:.75}
.node-layer-dots{display:flex;align-items:center;gap:4px;margin-top:8px;min-height:8px;max-width:100%;overflow:hidden}
.node-layer-dots i{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1px rgba(15,23,42,.12)}
.layer-manager-modal{width:min(920px,calc(100vw - 28px));max-width:920px;padding:20px}
.layer-manager-intro{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.55}
.layer-manager-actions{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.layer-selected-hint{font-size:11px;color:var(--muted);font-weight:800}
.layer-manager-list{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:50vh;background:#f8fafc}
.layer-manager-row{display:grid;grid-template-columns:44px minmax(180px,1fr) auto;gap:12px;align-items:center;padding:11px 12px;background:#fff;border-bottom:1px solid var(--line)}
.layer-manager-row:last-child{border-bottom:0}.layer-manager-row.layer-hidden{opacity:.58;background:#fafafa}.layer-manager-row.layer-locked{box-shadow:inset 4px 0 0 #d97706}
.layer-color-input{width:38px!important;height:34px!important;padding:3px!important;border-radius:8px!important;cursor:pointer}
.layer-manager-main{min-width:0}.layer-manager-main strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-manager-main span{display:block;margin-top:3px;font-size:10px;color:var(--muted)}
.layer-manager-controls{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.layer-manager-controls .btn.assigned{border-color:#7551bd;background:#f1edfb;color:#6141a4}.btn.primary-soft{background:#edf4ff;border-color:#b8cff7;color:#225cb8}.btn.warning-soft{background:#fff5df;border-color:#edcb7c;color:#8c5d0a}
.custom-layer-form{display:grid!important;grid-template-columns:minmax(220px,1fr) 120px auto;gap:10px;align-items:end;margin:14px 0 4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.custom-layer-form label{margin:0!important}.custom-layer-form input[type=color]{height:42px;padding:4px;cursor:pointer}
.inspector-layer-section{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.inspector-layer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.inspector-layer-head h4{margin:0;font-size:12px}.layer-assignment-grid{display:grid;gap:5px}.layer-assignment-row{display:grid!important;grid-template-columns:auto 10px 1fr auto;align-items:center;gap:7px;margin:0!important;padding:6px 7px;border-radius:8px;background:#fff;border:1px solid #e7edf4;font-size:10px!important;cursor:pointer}.layer-assignment-row input{width:auto!important;margin:0!important}.layer-assignment-row i{width:9px;height:9px;border-radius:50%;display:block}.layer-assignment-row b{font-size:9px}.card-color-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.card-color-row label{display:grid!important;grid-template-columns:1fr 44px;align-items:center;gap:8px;margin:0!important;font-size:10px!important}.card-color-row input[type=color]{width:44px!important;height:32px!important;padding:3px!important}
@media(max-width:760px){.layer-manager-modal{width:calc(100vw - 18px);padding:16px}.layer-manager-row{grid-template-columns:40px 1fr}.layer-manager-controls{grid-column:1/-1;justify-content:stretch}.layer-manager-controls .btn{flex:1}.custom-layer-form{grid-template-columns:1fr 100px}.custom-layer-form .btn{grid-column:1/-1}.card-color-row{grid-template-columns:1fr}.card-color-row .btn{width:100%}}


/* Slice 01.14 — Advanced Timeline */
.timeline-shell{max-width:1500px}
.advanced-timeline-header{max-width:none;align-items:flex-start}.timeline-subtitle{margin:6px 0 0;color:var(--muted);font-size:12px}.timeline-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.timeline-filter-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:14px}.advanced-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;align-items:center}.timeline-filter-input{min-width:0;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--text);font:inherit;font-size:12px}.timeline-filter-summary{display:flex;gap:8px;align-items:center;margin-top:9px;padding-top:9px;border-top:1px solid #edf1f5;color:var(--muted);font-size:11px}.timeline-filter-summary strong{font-size:13px;color:var(--text)}.timeline-filter-summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-item{grid-template-columns:22px 110px 16px 1fr;position:relative;border-left:4px solid var(--timeline-event-color,var(--cat-events));transition:background .15s,border-color .15s,box-shadow .15s}.timeline-item .timeline-dot::before{background:var(--timeline-event-color,var(--cat-events))}.timeline-drag-handle{align-self:center;color:#a0aec0;cursor:grab;font-size:18px;letter-spacing:-4px;user-select:none}.timeline-item.timeline-dragging{opacity:.45}.timeline-item.timeline-drop-target{box-shadow:inset 0 3px 0 var(--timeline-event-color,var(--cat-events));background:#f5f9ff}.timeline-focused{animation:timelineFocusPulse 1.1s ease 2;background:#fff8e8!important}@keyframes timelineFocusPulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 5px rgba(245,158,11,.22)}}.perspective-tag{font-weight:900!important}.perspective-tag.neutral{background:#eef2f6!important;color:#55657a!important}.perspective-tag.prosecution{background:#fee4e2!important;color:#b42318!important}.perspective-tag.defense{background:#dbeafe!important;color:#1d4ed8!important}.perspective-tag.user{background:#ede9fe!important;color:#6d28d9!important}.timeline-list.compare-mode{background:transparent;border:0;overflow:visible}.timeline-compare-grid{display:grid;grid-template-columns:repeat(4,minmax(285px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}.timeline-lane{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:285px}.timeline-lane>header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:12px;font-weight:900;border-bottom:1px solid var(--line)}.timeline-lane>header b{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#eef2f6}.lane-prosecution>header{border-top:4px solid #b42318}.lane-defense>header{border-top:4px solid #2563eb}.lane-user>header{border-top:4px solid #7c3aed}.lane-neutral>header{border-top:4px solid var(--cat-events)}.timeline-lane-list .timeline-item{grid-template-columns:0 1fr 12px 1fr;padding:12px 10px;border-left-width:3px}.timeline-lane-list .timeline-drag-handle{display:none}.timeline-lane-list .timeline-time{grid-column:1/3;font-size:10px}.timeline-lane-list .timeline-dot{grid-column:3}.timeline-lane-list .timeline-main{grid-column:4}.timeline-lane-list .timeline-tags span{font-size:8px}.lane-empty{padding:24px 14px;font-size:11px}.timeline-perspective-fieldset{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:12px}.timeline-perspective-fieldset legend{font-size:11px;font-weight:900;padding:0 6px}.timeline-perspective-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.timeline-perspective-options label{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:700}.timeline-color-controls{margin-top:12px}.timeline-color-toggle>span:first-child{font-weight:700}.timeline-color-inline{display:flex!important;align-items:center;gap:9px;margin-top:5px}.timeline-color-inline input[type="color"]{width:54px;height:34px;padding:2px}.timeline-link-grid{margin-top:12px}.timeline-link-grid label:last-child{grid-column:1/-1}.timeline-edit-modal{width:min(820px,calc(100vw - 28px))}
@media(max-width:1200px){.advanced-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.timeline-toolbar-actions{justify-content:flex-start}.advanced-timeline-header{flex-direction:column}.timeline-compare-grid{grid-template-columns:repeat(4,300px)}}
@media(max-width:760px){.advanced-filters{grid-template-columns:1fr 1fr}.timeline-item{grid-template-columns:18px 76px 12px 1fr}.timeline-perspective-options{grid-template-columns:1fr 1fr}.timeline-toolbar-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.timeline-toolbar-actions .btn{white-space:nowrap}.timeline-filter-summary span{display:none}.timeline-link-grid{grid-template-columns:1fr!important}.timeline-link-grid label:last-child{grid-column:auto}.timeline-compare-grid{grid-template-columns:repeat(4,270px)}}


/* Slice 01.15 — Evidence & Source Manager */
.research-shell{max-width:1540px;margin:0 auto;padding:24px}.research-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.research-header h1{margin:4px 0 6px;font-size:28px}.research-header p{margin:0;color:var(--muted);font-size:12px;max-width:760px;line-height:1.6}.research-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.research-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:14px}.research-metrics>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.research-metrics strong{display:block;font-size:22px;color:var(--text)}.research-metrics span{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.research-workspace{display:grid;grid-template-columns:390px minmax(0,1fr);gap:14px;align-items:start}.research-browser,.research-detail{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:640px}.research-browser{overflow:hidden;position:sticky;top:92px}.research-mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#f8fafc}.research-mode{border:0;background:transparent;padding:12px 7px;font:inherit;font-size:10px;font-weight:900;color:#64748b;cursor:pointer;border-bottom:3px solid transparent}.research-mode.active{color:#1f5fbf;background:#fff;border-bottom-color:#3b82f6}.research-filters{display:grid;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.research-filters input{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font:inherit;font-size:12px}.research-list-summary{padding:9px 12px;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line)}.research-list-summary strong{color:var(--text);font-size:12px}.research-record-list{max-height:620px;overflow:auto}.research-record{display:block;width:100%;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:12px;text-align:left;cursor:pointer}.research-record:hover{background:#f8fbff}.research-record.active{background:#edf5ff;box-shadow:inset 4px 0 0 #3b82f6}.research-record-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.research-record-title strong{font-size:12px;color:var(--text)}.research-record-title span{font-size:9px;font-weight:900;color:#52667c;background:#eef2f6;padding:3px 6px;border-radius:999px;white-space:nowrap}.research-record-meta{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:9px;color:var(--muted);font-weight:800}.coverage-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:auto}.coverage-dot.sourced{background:#16a34a}.coverage-dot.unsourced{background:#dc2626}.research-record-meta b{font-size:11px;color:#2563eb}.research-detail{padding:20px;overflow:hidden}.research-detail.empty-state{display:grid;place-items:center;color:var(--muted)}.research-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.research-detail-head h2{margin:8px 0 6px;font-size:24px}.research-detail-head p{margin:0;color:#52667c;line-height:1.6;max-width:880px}.research-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.research-provenance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:12px 14px;border-radius:10px;border:1px solid}.research-provenance strong{font-size:12px}.research-provenance span{font-size:10px;font-weight:700}.research-provenance.sourced{background:#ecfdf3;border-color:#a7e7bd;color:#166534}.research-provenance.unsourced{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.research-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.research-section{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.research-section:last-child:nth-child(odd){grid-column:1/-1}.research-section h3{margin:0 0 10px;font-size:13px}.research-meta{display:grid;grid-template-columns:130px 1fr;gap:7px 10px;margin:0}.research-meta dt{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#7b8ca1}.research-meta dd{margin:0;font-size:11px;color:var(--text)}.break-word{overflow-wrap:anywhere}.research-citations{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.research-citations span{background:#eaf2ff;color:#205caf;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:900}.research-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.research-tags span{background:#f2edfb;color:#6741aa;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.research-notes{margin-top:12px;padding:10px;border-radius:9px;background:#fff8e8;border:1px solid #f4d38f}.research-notes strong{font-size:10px}.research-notes p{margin:5px 0 0;font-size:10px;line-height:1.5}.research-source-list{display:grid;gap:8px}.research-source-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e5ebf2;border-radius:10px;padding:10px;background:#fbfdff}.research-source-card>div:first-child strong{display:block;font-size:11px}.research-source-card>div:first-child span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.research-source-ref{grid-column:1/-1;font-size:9px;color:#60758b}.research-card-actions{display:flex;gap:6px;grid-column:1/-1}.research-warning{padding:11px;border-radius:9px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:10px;line-height:1.5}.research-relation-group{margin:10px 0}.research-relation-group>b{display:block;margin-bottom:6px;font-size:9px;text-transform:uppercase;color:#7b8ca1}.research-relation-group>div{display:flex;gap:6px;flex-wrap:wrap}.research-relation-pill{border:1px solid #d8e1ec;background:#f8fafc;border-radius:999px;padding:6px 9px;color:#36516e;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.research-relation-pill:hover{background:#eaf2ff;border-color:#b8cef0}.muted-text{font-size:10px;color:var(--muted)}.research-usage-list{display:grid;gap:7px}.research-usage-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #e8edf3;border-radius:9px}.research-usage-row strong{display:block;font-size:10px}.research-usage-row span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;margin-top:2px}
@media(max-width:1100px){.research-workspace{grid-template-columns:330px minmax(0,1fr)}.research-metrics{grid-template-columns:repeat(3,1fr)}.research-detail-grid{grid-template-columns:1fr}.research-section:last-child:nth-child(odd){grid-column:auto}.research-detail-head{flex-direction:column}.research-detail-actions{justify-content:flex-start}}
@media(max-width:760px){.research-shell{padding:14px}.research-header{flex-direction:column}.research-header-actions{justify-content:flex-start}.research-metrics{grid-template-columns:1fr 1fr}.research-workspace{grid-template-columns:1fr}.research-browser{position:static;min-height:0}.research-record-list{max-height:320px}.research-detail{min-height:420px;padding:14px}.research-mode-tabs{grid-template-columns:1fr 1fr}.research-meta{grid-template-columns:105px 1fr}.research-source-card{grid-template-columns:1fr}.research-card-actions{grid-column:auto}}


/* Slice 01.16 — Accounts, cloud persistence, RLS-aware production foundation */
.cloud-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:66px;height:32px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;border:1px solid var(--border,#dbe3ef);background:#f7f9fc;color:#5f6b7a;white-space:nowrap}.cloud-status-chip.connected{background:#e9f8f3;color:#0d765f;border-color:#bfe7d9}.cloud-status-chip.syncing{background:#fff5df;color:#9a6500;border-color:#f0d99c}.cloud-status-chip.error{background:#fff0f0;color:#a82b2b;border-color:#efc4c4}.cloud-shell{max-width:1480px;margin:0 auto;padding:28px}.cloud-header{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.cloud-header h1{margin:4px 0 8px}.cloud-header p{max-width:820px;color:var(--muted,#667085);margin:0}.cloud-identity-card{min-width:240px;background:var(--panel,#fff);border:1px solid var(--border,#dbe3ef);border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px rgba(30,50,80,.05)}.cloud-identity-card strong,.cloud-identity-card span{display:block}.cloud-identity-card span{margin-top:4px;color:var(--muted,#667085);font-size:12px}.cloud-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cloud-panel{padding:18px}.wide-cloud-panel{grid-column:1/-1}.cloud-panel .panel-heading{align-items:flex-start;gap:10px}.cloud-help{font-size:13px;line-height:1.55;color:var(--muted,#667085);margin:4px 0 14px}.cloud-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#465467;margin-bottom:10px}.cloud-panel input,.cloud-panel textarea{width:100%;box-sizing:border-box;border:1px solid var(--border,#dbe3ef);border-radius:9px;padding:10px 11px;background:#fff;color:#172033;font:inherit}.cloud-panel textarea{resize:vertical}.cloud-button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.cloud-recovery-card{padding:14px;border-radius:12px;background:#f6fbff;border:1px solid #c9ddf3}.cloud-recovery-card>strong{display:block;font-size:15px;color:#183b61}.cloud-recovery-card>p{margin:5px 0 12px;font-size:12px;line-height:1.5;color:var(--muted,#667085)}.cloud-user-details{padding:12px;border-radius:12px;background:#f7f9fc;border:1px solid var(--border,#dbe3ef)}.cloud-user-details strong,.cloud-user-details span{display:block}.cloud-user-details span{font-size:12px;color:var(--muted,#667085);margin-top:4px}.cloud-current-case{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:16px;align-items:center;border:1px solid var(--border,#dbe3ef);border-radius:14px;padding:14px;background:#fbfcfe}.cloud-current-case strong,.cloud-current-case span{display:block}.cloud-current-case span{font-size:12px;color:var(--muted,#667085);margin-top:3px}.cloud-inline-field{margin:0!important;min-width:150px}.cloud-toggle{margin:0!important;flex-direction:row!important;align-items:center;white-space:nowrap}.cloud-toggle input{width:auto!important}.cloud-progress{min-height:18px;font-size:12px;color:var(--muted,#667085);margin-top:8px}.cloud-progress.error{color:#a82b2b}.cloud-progress.success{color:#0d765f}.cloud-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cloud-case-card{border:1px solid var(--border,#dbe3ef);border-radius:14px;padding:14px;background:#fff}.cloud-case-card h3{margin:7px 0 5px;font-size:16px}.cloud-case-card p{margin:0 0 10px;font-size:12px;color:var(--muted,#667085)}.cloud-case-card .cloud-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.cloud-case-card .cloud-card-actions{display:flex;flex-wrap:wrap;gap:7px}.cloud-count{font-size:12px;color:var(--muted,#667085)}.cloud-audit-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.cloud-audit-row{border:1px solid var(--border,#dbe3ef);border-radius:10px;padding:9px 10px;background:#fbfcfe}.cloud-audit-row strong{display:block;font-size:12px}.cloud-audit-row span{display:block;margin-top:3px;font-size:11px;color:var(--muted,#667085)}.cloud-security-note{margin-top:18px;padding:14px 16px;border:1px solid #cce1f7;background:#f3f8fe;border-radius:14px;font-size:13px;line-height:1.55;color:#38516c}.cloud-security-note strong{color:#183b61}.cloud-panel code{font-size:11px;background:#f0f3f8;padding:2px 4px;border-radius:4px}@media(max-width:980px){.cloud-grid{grid-template-columns:1fr}.wide-cloud-panel{grid-column:auto}.cloud-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-current-case{grid-template-columns:1fr 1fr}.cloud-toggle{grid-column:1/-1}}@media(max-width:680px){.cloud-shell{padding:18px 12px}.cloud-header{flex-direction:column}.cloud-identity-card{width:100%;box-sizing:border-box}.cloud-case-grid{grid-template-columns:1fr}.cloud-current-case{grid-template-columns:1fr}.cloud-toggle{grid-column:auto}.cloud-status-chip{display:none}}


/* Slice 01.17 — multiple boards, collaborators, permissions and board sharing */
.board-switch-tools{gap:6px}.board-select{max-width:190px;min-width:130px}.collab-shell{max-width:1480px;margin:0 auto;padding:28px}.collab-header{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.collab-header h1{margin:4px 0 8px}.collab-header p{max-width:850px;color:var(--muted,#667085);margin:0}.case-role-card{min-width:230px;padding:14px 16px;border:1px solid var(--border,#dbe3ef);border-radius:16px;background:var(--panel,#fff);box-shadow:0 6px 18px rgba(30,50,80,.05)}.case-role-card strong,.case-role-card span{display:block}.case-role-card span{font-size:12px;color:var(--muted,#667085);margin-top:4px}.collab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.collab-panel{padding:18px}.wide-collab-panel{grid-column:1/-1}.collab-help{font-size:13px;line-height:1.55;color:var(--muted,#667085);margin:4px 0 14px}.board-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}.board-manager-card{border:1px solid var(--border,#dbe3ef);border-radius:14px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:10px;min-height:176px}.board-manager-card.active{border-color:#7aa7ff;box-shadow:0 0 0 2px rgba(47,111,228,.12)}.board-manager-card h3{margin:0}.board-manager-card p{margin:0;color:var(--muted,#667085);font-size:12px;line-height:1.45;min-height:34px}.board-meta-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.board-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.board-visibility-select{min-width:105px}.board-counts{font-size:11px;color:#64748b}.invite-form{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:end;margin:12px 0}.invite-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#465467}.invite-form input{border:1px solid var(--border,#dbe3ef);border-radius:9px;padding:10px 11px}.collab-notice{padding:11px 12px;border:1px dashed var(--border,#dbe3ef);border-radius:10px;color:#667085;background:#fbfcfe;font-size:12px}.collaborator-list,.pending-invite-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.collaborator-row,.invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 11px;border:1px solid var(--border,#dbe3ef);border-radius:11px;background:#fff}.collaborator-row strong,.collaborator-row span,.invite-row strong,.invite-row span{display:block}.collaborator-row span,.invite-row span{font-size:11px;color:#667085;margin-top:2px}.permission-matrix{border:1px solid var(--border,#dbe3ef);border-radius:12px;overflow:hidden}.permission-matrix>div{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:8px;padding:10px 12px;border-top:1px solid #edf1f6;font-size:12px;align-items:center}.permission-matrix>div:first-child{border-top:0}.permission-head{background:#f7f9fc;font-weight:800;color:#465467}.permission-matrix strong{color:#172033}.board-share-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.board-share-row{border:1px solid var(--border,#dbe3ef);border-radius:12px;padding:12px;background:#fff}.board-share-row h4{margin:0 0 5px}.board-share-row p{font-size:12px;color:#667085;margin:0 0 10px}.share-link-box{display:flex;gap:6px}.share-link-box input{flex:1;min-width:0;border:1px solid var(--border,#dbe3ef);border-radius:8px;padding:8px;font-size:11px;background:#f8fafc}.role-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#2758a5;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.role-chip.owner{background:#e9f8f3;color:#0d765f}.role-chip.viewer{background:#f1f3f6;color:#5e6877}.role-chip.researcher{background:#f4efff;color:#6d42a8}.board-copy-option{flex-direction:row!important;align-items:center!important}.board-copy-option input{width:auto!important}.board-editor-dialog{max-width:650px}.permission-disabled{opacity:.48;pointer-events:none}.readonly-banner{margin:0 0 10px;padding:8px 10px;border-radius:9px;background:#fff5df;color:#8a5a00;border:1px solid #efd79a;font-size:12px;font-weight:700}
@media(max-width:900px){.collab-grid{grid-template-columns:1fr}.wide-collab-panel{grid-column:auto}.collab-header{flex-direction:column}.case-role-card{width:100%;box-sizing:border-box}.invite-form{grid-template-columns:1fr}.permission-matrix{overflow-x:auto}.permission-matrix>div{min-width:620px}.board-switch-tools{order:-1;width:100%}.board-select{flex:1;max-width:none}}


/* Slice 01.18 — Media Library + relationship quick actions */
.library-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border,#dbe3ef)}.media-library-panel{padding:10px;overflow:auto}.media-upload-dropzone{width:100%;border:1.5px dashed #a9bad0;background:#f8fbff;border-radius:12px;padding:14px 10px;display:flex;flex-direction:column;gap:3px;align-items:center;color:#35506f;cursor:pointer}.media-upload-dropzone:hover,.media-upload-dropzone.drag-over{border-color:#2f6fe4;background:#eef5ff}.media-upload-dropzone span{font-size:11px;color:#6b7788}.media-library-controls{display:grid;grid-template-columns:1fr 112px;gap:6px;margin:10px 0}.media-library-controls input{min-width:0;border:1px solid var(--border,#dbe3ef);border-radius:8px;padding:8px 9px}.media-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-tile{position:relative;border:1px solid var(--border,#dbe3ef);border-radius:10px;background:#fff;overflow:hidden;cursor:grab}.media-tile:active{cursor:grabbing}.media-thumb{aspect-ratio:1.35;background:#eef2f7;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb span{font-size:10px;color:#7a8593}.media-tile-copy{padding:7px 8px 8px}.media-tile-copy strong,.media-tile-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-tile-copy strong{font-size:11px}.media-tile-copy span{font-size:9px;color:#758092;text-transform:uppercase;margin-top:2px}.media-edit-btn{position:absolute;top:5px;right:5px;width:26px;height:26px;background:rgba(255,255,255,.9)}.library-card-thumb{width:100%;height:70px;object-fit:cover;border-radius:7px;margin-bottom:7px}.node-media-thumb{position:absolute;right:8px;top:18px;width:52px;height:52px;border-radius:9px;object-fit:cover;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(20,35,60,.15)}.canvas-node:has(.node-media-thumb) .node-body{padding-right:68px}.inspector-media{margin-bottom:10px}.inspector-media img{width:100%;max-height:190px;object-fit:cover;border-radius:10px;border:1px solid var(--border,#dbe3ef)}.inspector-media .btn{margin-top:6px}.media-editor-preview{height:210px;background:#eef2f7;border-radius:12px;overflow:hidden;margin:8px 0 14px;display:flex;align-items:center;justify-content:center}.media-editor-preview img{width:100%;height:100%;object-fit:contain}.media-editor-modal,.media-placement-modal{max-width:720px}.quick-relationship-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #d9e3f0;background:#f5f9ff;box-shadow:0 2px 8px rgba(35,70,120,.05)}.quick-rel-route{display:flex;gap:7px;align-items:center;min-width:0;font-size:12px}.quick-rel-route strong{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-rel-buttons{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.canvas-node.quick-selected{box-shadow:0 0 0 4px rgba(47,111,228,.22),0 8px 20px rgba(20,35,60,.12)!important}.canvas-node.quick-selected::after{content:'REL';position:absolute;left:7px;top:5px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#2f6fe4;background:#fff;border-radius:5px;padding:2px 4px}@media(max-width:900px){.media-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-relationship-bar{align-items:flex-start;flex-direction:column}.quick-rel-buttons{justify-content:flex-start}}@media(max-width:620px){.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Slice 01.19 — Map & Location View */
.map-shell{padding:26px;max-width:1680px;margin:0 auto}.map-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.map-header h1{margin:3px 0 4px}.map-header p{margin:0;color:var(--muted);max-width:820px}.map-header-actions{display:flex;gap:8px;flex-wrap:wrap}.map-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:14px}.map-metrics>div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 15px;display:flex;flex-direction:column}.map-metrics strong{font-size:22px}.map-metrics span{color:var(--muted);font-size:12px;margin-top:2px}.map-workspace{display:grid;grid-template-columns:300px minmax(520px,1fr) 360px;gap:12px;min-height:650px}.map-browser,.map-detail,.map-stage-wrap{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0}.map-browser{padding:12px;overflow:auto}.map-filters{display:grid;gap:8px}.map-filters input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface);color:var(--text)}.map-overlay-toggles{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.map-overlay-toggles label{font-size:11px;font-weight:800;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.map-list-summary{font-size:12px;color:var(--muted);padding:8px 2px}.map-location-list{display:grid;gap:6px}.map-location-row{border:1px solid transparent;border-radius:11px;background:transparent;padding:9px;display:grid;grid-template-columns:10px 1fr auto;gap:9px;text-align:left;align-items:center;color:var(--text);cursor:pointer}.map-location-row:hover,.map-location-row.selected{background:var(--surface);border-color:var(--line)}.map-location-row i{width:9px;height:32px;border-radius:10px}.map-location-row span{min-width:0;display:flex;flex-direction:column;gap:2px}.map-location-row strong{font-size:13px}.map-location-row small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-location-row>b{font-size:10px;color:var(--muted)}.map-stage-wrap{padding:10px;display:flex;flex-direction:column;gap:10px}.case-map{min-height:570px;position:relative;overflow:hidden;border-radius:13px;border:1px solid #cfdbe8;background:linear-gradient(135deg,#f8fbfd,#eef5f6)}.map-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(15,118,110,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(15,118,110,.07) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(14,116,144,.09),transparent 26%),radial-gradient(circle at 75% 70%,rgba(37,99,235,.06),transparent 24%);background-size:36px 36px,36px 36px,100% 100%,100% 100%}.map-grid-lines:after{content:'';position:absolute;left:15%;top:20%;width:75%;height:58%;border:12px solid rgba(148,163,184,.13);border-radius:45% 25% 40% 22%;transform:rotate(-12deg)}.map-pins{position:absolute;inset:0}.map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;z-index:3;display:flex;flex-direction:column;align-items:center;max-width:150px;color:#0f2236}.map-pin .pin-head{display:grid;place-items:center;width:28px;height:28px;border-radius:50% 50% 50% 12%;transform:rotate(-45deg);background:var(--pin-color);color:white;border:3px solid white;box-shadow:0 4px 12px rgba(15,34,54,.22);font-size:0}.map-pin .pin-head:after{content:'';width:8px;height:8px;background:white;border-radius:50%}.map-pin .pin-label{margin-top:8px;background:rgba(255,255,255,.95);border:1px solid #d7e1eb;border-radius:7px;padding:3px 6px;font-size:10px;font-weight:800;box-shadow:0 2px 8px rgba(15,34,54,.08);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.map-pin.selected .pin-label{outline:3px solid color-mix(in srgb,var(--pin-color) 25%,transparent);border-color:var(--pin-color)}.pin-badges{display:flex;gap:2px;margin-top:3px}.pin-badges b{font-size:8px;padding:2px 3px;background:#fff;border:1px solid #d7e1eb;border-radius:4px}.pin-badges b.theory{color:#7c3aed}.map-compass{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #d7e1eb;display:grid;place-items:center;font-weight:900;color:#0f766e;box-shadow:0 2px 8px rgba(0,0,0,.08)}.map-compass:after{content:'↑';position:absolute;top:-2px;font-size:12px}.map-scale-note{position:absolute;left:12px;bottom:10px;background:rgba(255,255,255,.9);border:1px solid #d7e1eb;border-radius:7px;padding:5px 7px;font-size:9px;color:#53667c}.map-empty{position:absolute;inset:0;display:grid;place-items:center;color:#66788d;font-weight:700}.unmapped-locations{border:1px dashed var(--line);border-radius:12px;padding:10px}.unmapped-locations:empty{display:none}.unmapped-head{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:7px}.unmapped-grid{display:flex;flex-wrap:wrap;gap:6px}.unmapped-grid button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px;font-size:10px}.unmapped-grid span{color:var(--accent)}.map-detail{padding:16px;overflow:auto}.map-detail.empty-state{display:grid;place-items:center;text-align:center;color:var(--muted)}.map-detail-image{width:100%;max-height:170px;object-fit:cover;border-radius:12px;margin-bottom:10px}.map-detail h2{margin:6px 0}.map-detail>p{color:var(--muted);font-size:13px;line-height:1.5}.map-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.map-meta{display:grid;grid-template-columns:90px 1fr;gap:7px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:10px 0;font-size:11px}.map-meta dt{font-weight:800;color:var(--muted)}.map-meta dd{margin:0;overflow-wrap:anywhere}.map-linked-section{margin-top:14px}.map-linked-section h3{font-size:12px;margin:0 0 7px}.map-linked-record{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:8px;margin-bottom:5px;display:flex;flex-direction:column;gap:2px}.map-linked-record span{font-size:9px;color:var(--muted);font-weight:800}.map-linked-record strong{font-size:11px}.map-person-chips{display:flex;flex-wrap:wrap;gap:5px}.map-person-chips button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:5px 8px;font-size:10px}.theory-location .map-linked-record{border-color:#d8c8f4;background:#fbf8ff}.timeline-map{margin-left:auto}.object-links-grid [data-kinds="theory"]{align-self:start}
@media(max-width:1150px){.map-workspace{grid-template-columns:250px 1fr}.map-detail{grid-column:1/-1;min-height:220px}.map-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.map-shell{padding:14px}.map-header{align-items:flex-start;flex-direction:column}.map-workspace{grid-template-columns:1fr}.map-browser,.map-detail{max-height:none}.case-map{min-height:430px}.map-metrics{grid-template-columns:repeat(2,1fr)}}

/* Slice 01.19 — professional visual Canvas cards */
.card-density-select{min-width:142px}.professional-card.canvas-node{background:#fff!important;border:1px solid color-mix(in srgb,var(--node-accent) 35%,#d9e1ea)!important;border-radius:12px;box-shadow:0 7px 22px rgba(15,34,54,.10);overflow:hidden;transition:box-shadow .12s,border-color .12s,transform .12s}.professional-card.canvas-node:hover{box-shadow:0 11px 30px rgba(15,34,54,.15)}.professional-card.canvas-node.selected{outline:3px solid color-mix(in srgb,var(--node-accent) 22%,transparent);border-color:var(--node-accent)!important}.professional-card .node-top{height:6px;background:var(--node-accent)!important}.professional-card .node-media-frame{position:relative;width:100%;height:168px;overflow:hidden;background:#eaf0f6;border-bottom:1px solid #e4eaf0}.professional-card.density-visual .node-media-frame{height:215px}.professional-card.density-compact .node-media-frame{height:92px}.professional-card .node-media-thumb{position:static;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;object-fit:cover;display:block}.professional-card.person .node-media-thumb{object-position:center 24%}.professional-card:has(.node-media-thumb) .node-body{padding-right:14px}.professional-card .node-body{height:auto;min-height:0;padding:13px 14px 12px;overflow:hidden;display:flex;flex-direction:column}.professional-card .node-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.professional-card .node-kind{font-size:9px;font-weight:900;letter-spacing:.11em;color:var(--node-accent)}.professional-card .node-id{font-size:9px;font-weight:900;color:#65758a;background:#f1f5f9;border-radius:999px;padding:3px 6px}.professional-card .node-title{font-size:15px;line-height:1.2;font-weight:800;color:#12263d;margin:6px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.professional-card .node-sub{font-size:11px;color:#6b7a8b;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-card .node-badge{align-self:flex-start;margin-top:8px;font-size:8px;padding:4px 7px;letter-spacing:.03em}.professional-card .node-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:auto;padding-top:10px}.professional-card .node-stats span{min-width:0;border-top:1px solid #e8edf3;padding-top:7px;display:flex;flex-direction:column}.professional-card .node-stats strong{font-size:12px;color:#21364e}.professional-card .node-stats small{font-size:8px;color:#8290a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-card .node-layer-dots{margin-top:8px}.professional-card.theory{border-style:dashed!important;background:#fff!important}.professional-card.theory .node-top{background:#7551bd!important}.professional-card .node-visual-placeholder{height:128px;background:linear-gradient(145deg,#f5f8fb,#e8eef5);display:grid;place-items:center;border-bottom:1px solid #e4eaf0}.professional-card .node-visual-placeholder span{font-size:10px;letter-spacing:.14em;font-weight:900;color:#8b99a9}.professional-card.density-visual .node-visual-placeholder{height:168px}.professional-card.density-compact .node-visual-placeholder{display:none}.professional-card.density-compact .node-body{padding:9px 10px}.professional-card.density-compact .node-title{font-size:12px;margin:3px 0}.professional-card.density-compact .node-sub{font-size:9px}.professional-card.density-compact .node-stats{display:none}.professional-card.density-compact .node-badge{font-size:7px;margin-top:5px}.professional-card.node-micro .node-stats,.professional-card.node-micro .node-media-frame,.professional-card.node-micro .node-visual-placeholder{display:none}.professional-card.node-micro .node-body{padding:8px}.professional-card.node-micro .node-title{font-size:10px}.professional-card.node-micro .node-sub{display:none}.professional-card.layer-node-locked::after{top:10px;right:10px;background:rgba(255,255,255,.9);border-radius:5px;padding:2px}.professional-card.quick-selected::after{top:10px;left:9px}.professional-card .node-resize-handle{z-index:8}
@media(max-width:900px){.card-density-select{min-width:120px}.professional-card.density-visual .node-media-frame{height:185px}}


/* Slice 01.20 — Case Briefing Board & Creator Display */
.briefing-shell{padding:26px;max-width:1760px;margin:0 auto}.briefing-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.briefing-header h1{margin:4px 0 8px;font-size:32px}.briefing-header p{margin:0;max-width:850px;color:var(--muted)}.briefing-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.briefing-controls{display:grid;grid-template-columns:repeat(4,minmax(145px,220px)) 1fr;gap:12px;align-items:end;padding:14px 16px;margin-bottom:16px}.briefing-controls label{font-size:12px;font-weight:800;color:var(--muted);display:grid;gap:6px}.briefing-stats{justify-self:end;align-self:center;font-size:13px;color:var(--muted);font-weight:700}.briefing-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.briefing-library{padding:14px;position:sticky;top:78px;max-height:calc(100vh - 110px);overflow:auto}.briefing-library input[type=search]{width:100%;margin:8px 0 10px}.briefing-library-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.briefing-library-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;cursor:pointer}.briefing-library-tabs button.active{background:var(--navy);color:white;border-color:var(--navy)}.briefing-library-list{display:grid;gap:8px}.briefing-library-row{display:grid;grid-template-columns:48px 1fr auto;gap:9px;align-items:center;border:1px solid var(--border);background:white;border-radius:10px;padding:7px}.briefing-library-row img{width:48px;height:48px;object-fit:cover;border-radius:8px}.briefing-library-placeholder{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:#eef2f7;font-size:11px;font-weight:900;color:#64748b}.briefing-library-row strong{display:block;font-size:12px}.briefing-library-row span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.briefing-stage-wrap{min-width:0}.briefing-stage-toolbar{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin:0 2px 8px}.briefing-tip{font-weight:650}.briefing-stage{background:linear-gradient(145deg,#f7f9fc,#eef3f8);border:1px solid var(--border);border-radius:18px;box-shadow:0 16px 45px rgba(15,23,42,.08);margin:0 auto;overflow:auto;min-height:720px;position:relative;transition:max-width .2s ease}.briefing-stage.aspect-desktop{max-width:1200px;aspect-ratio:16/10}.briefing-stage.aspect-youtube{max-width:1200px;aspect-ratio:16/9;min-height:auto}.briefing-stage.aspect-square{max-width:850px;aspect-ratio:1/1;min-height:auto}.briefing-stage.aspect-tiktok{max-width:620px;aspect-ratio:9/16;min-height:900px}.briefing-brandline{height:52px;background:#0f172a;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.briefing-brandline span{font-weight:900;color:#60a5fa}.briefing-brandline strong{font-size:13px}.briefing-board{padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-content:start}.briefing-board.size-small{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:11px}.briefing-board.size-large{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.briefing-board.layout-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.briefing-board.layout-compare .briefing-card:nth-child(n+3){grid-column:auto}.briefing-board.layout-spotlight .briefing-card.is-focus{grid-column:span 2;grid-row:span 2}.briefing-board.layout-spotlight .briefing-card.is-focus .briefing-card-media{height:320px}.briefing-category-row{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:12px}.briefing-category-title{display:flex;align-items:center;gap:10px;border-bottom:1px solid #cbd5e1;padding-bottom:7px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.briefing-category-title i{width:10px;height:10px;border-radius:50%}.briefing-category-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.briefing-card{--briefing-accent:#2563eb;background:white;border:1px solid #dbe3ec;border-radius:13px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.10);min-width:0;cursor:pointer;position:relative;transition:transform .13s ease,box-shadow .13s ease}.briefing-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.15)}.briefing-card.is-focus{outline:3px solid color-mix(in srgb,var(--briefing-accent) 55%, white);outline-offset:2px}.briefing-card-header{background:var(--briefing-accent);color:white;padding:8px 11px;font-size:11px;font-weight:900;letter-spacing:.075em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:8px}.briefing-card-media{height:180px;background:#e8edf3;display:grid;place-items:center;overflow:hidden}.briefing-card-media img{width:100%;height:100%;object-fit:cover}.briefing-card-media .briefing-no-image{font-size:32px;font-weight:900;color:#94a3b8}.briefing-board.size-small .briefing-card-media{height:125px}.briefing-board.size-large .briefing-card-media{height:235px}.briefing-card-copy{padding:12px}.briefing-card-copy h3{margin:0 0 5px;font-size:17px;line-height:1.15;color:#111827}.briefing-card-copy p{margin:0;color:#64748b;font-size:12px;min-height:16px}.briefing-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.briefing-mini-chip{border:1px solid #d9e2ec;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800;color:#475569;background:#f8fafc}.briefing-status-chip{font-size:9px;font-weight:900;border-radius:5px;padding:3px 6px;background:#f1f5f9;color:#334155}.briefing-card-actions{position:absolute;right:7px;top:40px;display:flex;gap:4px;opacity:0;transition:opacity .12s}.briefing-card:hover .briefing-card-actions{opacity:1}.briefing-card-actions button,.briefing-card-actions label{border:1px solid rgba(255,255,255,.8);background:rgba(15,23,42,.82);color:#fff;border-radius:7px;font-size:10px;font-weight:800;padding:5px 7px;cursor:pointer}.briefing-card-actions input[type=color]{width:0;height:0;opacity:0;position:absolute}.briefing-empty{grid-column:1/-1;display:grid;place-items:center;min-height:360px;text-align:center;color:#64748b;padding:30px}.briefing-empty strong{display:block;color:#1e293b;font-size:20px;margin-bottom:7px}.briefing-presentation-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:#070b12;color:white}.briefing-presentation-dialog::backdrop{background:#070b12}.briefing-presentation-shell{height:100%;display:grid;grid-template-rows:auto 1fr 120px}.briefing-presentation-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #253047;background:#0b1220}.briefing-presentation-topbar strong{display:block;margin-top:2px}.briefing-presentation-actions{display:flex;gap:8px}.briefing-presentation-main{display:grid;place-items:center;padding:28px;overflow:hidden}.briefing-present-card{width:min(760px,80vw);max-height:70vh;border-radius:22px;overflow:hidden;background:white;color:#111827;box-shadow:0 30px 80px rgba(0,0,0,.45)}.briefing-present-card .briefing-card-header{font-size:15px;padding:12px 18px}.briefing-present-card .briefing-card-media{height:min(48vh,480px)}.briefing-present-card .briefing-card-copy{padding:22px}.briefing-present-card .briefing-card-copy h3{font-size:30px}.briefing-present-card .briefing-card-copy p{font-size:16px}.briefing-presentation-strip{display:flex;gap:10px;overflow-x:auto;padding:12px 20px;background:#0b1220;border-top:1px solid #253047}.briefing-present-thumb{min-width:110px;width:110px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#172033;color:white;cursor:pointer}.briefing-present-thumb.active{border-color:#60a5fa}.briefing-present-thumb img{width:100%;height:70px;object-fit:cover}.briefing-present-thumb span{display:block;padding:6px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.briefing-stage.export-flash{box-shadow:0 0 0 4px #60a5fa,0 18px 50px rgba(15,23,42,.15)}
@media(max-width:1000px){.briefing-workspace{grid-template-columns:1fr}.briefing-library{position:static;max-height:none}.briefing-controls{grid-template-columns:repeat(2,minmax(140px,1fr))}.briefing-stats{justify-self:start}.briefing-header{flex-direction:column}.briefing-header-actions{justify-content:flex-start}.briefing-stage.aspect-tiktok{min-height:780px}}
@media(max-width:640px){.briefing-shell{padding:14px}.briefing-controls{grid-template-columns:1fr}.briefing-board{grid-template-columns:1fr}.briefing-category-cards{grid-template-columns:1fr}.briefing-board.layout-compare{grid-template-columns:1fr}.briefing-board.layout-spotlight .briefing-card.is-focus{grid-column:auto;grid-row:auto}.briefing-stage{min-height:620px}.briefing-header-actions{width:100%}.briefing-header-actions .btn{flex:1}}

/* TrialTracing v1.22 brand assets */
.briefing-logo-wrap{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#fff!important;text-transform:none;letter-spacing:0}.briefing-logo-wrap img{width:30px;height:24px;object-fit:contain;background:#fff;border-radius:5px;padding:2px}.briefing-logo-wrap b{color:#60a5fa;font-style:italic}.mini-brand-icon{width:28px;height:22px;object-fit:contain;vertical-align:middle;margin-right:7px}.output-style-preview-head,.style-editor-preview-head{display:flex;align-items:center;gap:8px}


/* Slice 01.26 — User-facing account portal */
.account-portal-shell{max-width:1360px;margin:0 auto;padding:30px 28px 44px}
.account-portal-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:center;padding:34px 36px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#0e1d38 0%,#163c74 52%,#255fc0 100%);color:#fff;box-shadow:0 18px 45px rgba(21,48,91,.18)}
.account-portal-hero:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;top:-180px;background:rgba(116,179,255,.16)}
.account-portal-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:180px;bottom:-170px;background:rgba(91,231,201,.10)}
.account-hero-copy,.account-profile-summary{position:relative;z-index:1}
.account-portal-hero .eyebrow{color:#9fc7ff}
.account-portal-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.035em;margin:7px 0 12px}
.account-portal-hero p{max-width:760px;margin:0;color:#dbe9ff;font-size:15px;line-height:1.65}
.account-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.account-portal-hero .account-hero-actions .btn{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.09);color:#fff}
.account-portal-hero .account-hero-actions .btn.primary{background:#fff;color:#183b6c;border-color:#fff}
.account-portal-hero .account-hero-actions .btn:hover{transform:translateY(-1px)}
.account-profile-summary{min-height:150px;display:flex;flex-direction:column;justify-content:center;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:19px;background:rgba(6,20,45,.28);backdrop-filter:blur(10px);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.account-profile-summary strong,.account-profile-summary span,.account-profile-summary small{display:block}
.account-profile-summary strong{font-size:21px;margin:5px 0 5px}
.account-profile-summary span:not(.account-profile-kicker){color:#dceaff;font-size:13px;overflow-wrap:anywhere}
.account-profile-summary small{margin-top:10px;color:#acd0ff;font-size:11px}
.account-profile-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;color:#8cf0d6!important}
.account-welcome-banner{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px;margin:0 0 18px;border:1px solid #bce8dc;border-radius:18px;background:linear-gradient(135deg,#effcf8,#f6fbff);box-shadow:0 7px 20px rgba(25,110,91,.06)}
.account-welcome-banner[hidden]{display:none}
.account-welcome-banner .welcome-check{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#128268;color:#fff;font-weight:900;font-size:22px;box-shadow:0 7px 16px rgba(18,130,104,.18)}
.account-welcome-banner h2{margin:2px 0 4px;font-size:19px;color:#153d36}
.account-welcome-banner p{margin:0;color:#5b746d;font-size:13px;line-height:1.5}
.account-main-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px;margin-bottom:18px}
.account-card{padding:21px;border-radius:18px!important;box-shadow:0 8px 24px rgba(31,51,84,.045)}
.account-card .panel-heading{align-items:flex-start;gap:12px;margin-bottom:13px}
.account-card-intro{margin:0 0 15px;color:var(--muted,#667085);font-size:13px;line-height:1.55}
.account-card label,.developer-settings-body label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#465467;margin-bottom:10px}
.account-card input,.account-card textarea,.developer-settings-body input,.developer-settings-body textarea{width:100%;box-sizing:border-box;border:1px solid var(--border,#dbe3ef);border-radius:10px;padding:10px 11px;background:#fff;color:#172033;font:inherit}
.account-user-details{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #dce7f3;border-radius:14px;background:linear-gradient(135deg,#f9fbfe,#f3f8ff)}
.account-user-details>div:last-child{min-width:0}
.account-user-details strong,.account-user-details span,.account-user-details small{display:block}
.account-user-details strong{font-size:16px;color:#1b2e48}
.account-user-details span{margin-top:3px;font-size:12px;color:#617086;overflow-wrap:anywhere}
.account-user-details small{margin-top:5px;color:#168064;font-weight:700}
.account-user-avatar{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#2a6bd8,#55a0ff);color:#fff;font-weight:900;letter-spacing:.04em;box-shadow:0 7px 16px rgba(42,107,216,.20)}
.account-member-benefits{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:14px 2px 2px;font-size:12px;color:#52647a}
.account-member-benefits span:before{color:#15856b}
.account-progress{margin-top:14px}
.account-current-case{display:flex;align-items:center;gap:14px;padding:17px;margin:3px 0 14px;border:1px solid #dce6f1;border-radius:15px;background:#fbfdff}
.account-current-case-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#172f58;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}
.account-current-case-copy{min-width:0}
.account-current-case-copy strong,.account-current-case-copy span{display:block}
.account-current-case-copy strong{font-size:16px;color:#1a2e49;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-current-case-copy span{margin-top:5px;color:#6a778a;font-size:12px}
.account-workspace-options{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:15px;align-items:end}
.account-workspace-options .cloud-toggle{align-self:center}
.account-trust-line{display:flex;align-items:center;gap:8px;margin-top:15px;color:#6b7789;font-size:11px}
.trust-dot{width:8px;height:8px;border-radius:50%;background:#18a27f;box-shadow:0 0 0 4px #e2f8f1}
.account-library-card{margin-bottom:18px}
.account-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.account-developer-settings{margin-top:18px;border:1px solid #dfe6ef;border-radius:14px;background:#f9fbfd;overflow:hidden}
.account-developer-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;cursor:pointer;list-style:none}
.account-developer-settings>summary::-webkit-details-marker{display:none}
.account-developer-settings>summary span:first-child{display:flex;flex-direction:column;gap:2px}
.account-developer-settings>summary strong{font-size:12px;color:#45556a}
.account-developer-settings>summary small{font-size:10px;color:#8490a1}
.developer-settings-body{padding:16px;border-top:1px solid #e1e7ef;background:#fff}
.account-security-note{display:flex;gap:13px;align-items:flex-start;margin-top:18px;padding:15px 17px;border:1px solid #d8e7f6;border-radius:15px;background:#f5f9fe;color:#526a84}
.account-security-note .security-shield{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#e1efff;color:#1f63b7;font-weight:900}
.account-security-note strong,.account-security-note span{display:block}
.account-security-note strong{font-size:13px;color:#284b73}
.account-security-note span{margin-top:3px;font-size:11px;line-height:1.55}
@media(max-width:980px){
  .account-portal-hero{grid-template-columns:1fr}
  .account-profile-summary{min-height:auto}
  .account-main-grid,.account-secondary-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .account-portal-shell{padding:18px 12px 34px}
  .account-portal-hero{padding:24px 20px;border-radius:19px}
  .account-portal-hero h1{font-size:32px}
  .account-welcome-banner{grid-template-columns:auto 1fr}
  .account-welcome-banner #accountWelcomeDismissBtn{grid-column:2;justify-self:end}
  .account-workspace-options,.account-member-benefits{grid-template-columns:1fr}
  .account-hero-actions{display:grid}
  .account-hero-actions .btn{width:100%}
}

/* v1.27 — Creator-first social media export */
.creator-export-toolbar-btn{border-color:#9fb9ff!important;background:linear-gradient(135deg,#eef5ff,#f8f2ff)!important;color:#173d78!important;font-weight:900!important;box-shadow:0 3px 10px rgba(59,130,246,.10)}
.creator-export-toolbar-btn:hover{border-color:#6f93e8!important;background:linear-gradient(135deg,#e7f0ff,#f3ebff)!important}
.creator-export-toolbar-badge{display:inline-flex!important;align-items:center;margin-left:5px;padding:2px 5px;border-radius:999px;background:#2856c8;color:#fff;font-size:7px!important;line-height:1!important;letter-spacing:.07em;vertical-align:middle}
.output-modal{width:min(900px,calc(100vw - 32px));}
.creator-social-panel{margin-top:20px;padding:18px;border:1px solid #b9cdf9;border-radius:19px;background:radial-gradient(circle at 92% 5%,rgba(139,92,246,.11),transparent 30%),linear-gradient(145deg,#f7faff,#f8f7ff 58%,#fff);box-shadow:0 10px 28px rgba(37,70,130,.07)}
.creator-social-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.creator-social-heading>div{min-width:0}
.creator-social-kicker{display:block;font-size:9px;font-weight:950;letter-spacing:.11em;color:#315fc6;margin-bottom:5px}
.creator-social-heading h3{margin:0;color:#102a46;font-size:18px;line-height:1.2}
.creator-social-heading p{margin:6px 0 0;max-width:660px;color:#60748a;font-size:11.5px;line-height:1.5}
.creator-social-ready{flex:0 0 auto;display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#173d78;color:#fff;font-size:8px;font-weight:950;letter-spacing:.08em;box-shadow:0 5px 12px rgba(23,61,120,.16)}
.social-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.social-preset-card{appearance:none;border:1px solid #d4e0f2;border-radius:15px;background:rgba(255,255,255,.88);padding:13px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;min-height:94px}
.social-preset-card:hover{transform:translateY(-2px);border-color:#7ea2e9;background:#fff;box-shadow:0 10px 24px rgba(29,68,131,.11)}
.social-preset-card:focus-visible{outline:3px solid rgba(59,130,246,.24);outline-offset:2px}
.social-preset-featured{border-color:#789ee9;background:linear-gradient(145deg,#fff,#f1f6ff);box-shadow:inset 0 0 0 1px rgba(78,121,216,.08)}
.social-ratio-preview{width:46px;height:54px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(160deg,#102c50,#315d95);color:#fff;box-shadow:0 4px 10px rgba(15,39,66,.15)}
.social-ratio-preview b{font-size:10px;letter-spacing:.02em}
.social-ratio-preview.ratio-vertical{width:38px;height:64px;justify-self:center}
.social-ratio-preview.ratio-portrait{width:42px;height:53px;justify-self:center}
.social-ratio-preview.ratio-square{width:48px;height:48px;justify-self:center}
.social-ratio-preview.ratio-landscape{width:52px;height:30px;justify-self:center}
.social-preset-copy{display:flex!important;flex-direction:column;gap:3px;min-width:0}
.social-preset-copy strong{font-size:13px;color:#102a46;line-height:1.25}
.social-preset-copy span{font-size:10.5px;color:#61758c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-preset-copy small{font-size:9px;color:#315fc6;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.social-export-arrow{font-size:9px;color:#315fc6;font-weight:900;white-space:nowrap}
.creator-social-foot{margin-top:12px;padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.72);border:1px solid #d9e4f5;color:#65788e;font-size:10.5px;line-height:1.45}
.creator-social-foot strong{color:#244b89}
.output-section-secondary{margin-top:18px}
.output-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr));}
.output-modal[data-mode="timeline"]{width:min(820px,calc(100vw - 32px))}
.output-modal[data-mode="timeline"] .creator-social-panel{margin-top:14px;padding:14px}
.output-modal[data-mode="timeline"] .creator-social-heading p{display:none}
.output-modal[data-mode="timeline"] .social-preset-card{min-height:82px;padding:10px;grid-template-columns:42px minmax(0,1fr) auto}
.output-modal[data-mode="timeline"] .social-ratio-preview{transform:scale(.88)}
@media(max-width:760px){.creator-social-heading{flex-direction:column;gap:8px}.creator-social-ready{align-self:flex-start}.social-preset-grid{grid-template-columns:1fr}.social-preset-card{grid-template-columns:46px minmax(0,1fr) auto}.creator-export-toolbar-badge{display:none!important}}
.output-modal-shell{max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}

/* v1.28 — clean creator export redesign */
.output-modal{width:min(860px,calc(100vw - 28px));border-radius:20px}
.output-modal-shell{padding:22px 24px 18px;max-height:calc(100vh - 28px);overflow-y:auto}
.output-heading{margin-bottom:12px}
.output-context{padding:11px 13px;border-radius:13px;background:#f8fafc;border-color:#e1e8f0}
.output-context-mark{width:38px;height:38px;border-radius:10px}
.creator-social-panel{margin-top:16px;padding:18px 18px 16px;border:1px solid #d7e2ef;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(15,39,66,.05)}
.creator-social-heading{margin-bottom:15px;align-items:center}
.creator-social-kicker{font-size:9px;color:#2f6fe4;letter-spacing:.13em}
.creator-social-heading h3{font-size:20px;letter-spacing:-.01em;color:#142b45}
.creator-social-heading p{max-width:590px;margin-top:5px;font-size:11px;line-height:1.45;color:#6d7d90}
.creator-social-ready{background:#eef4ff;color:#285ab4;border:1px solid #c9dafb;box-shadow:none;font-size:7.5px;padding:5px 8px}
.social-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.social-preset-card{position:relative;min-height:156px;padding:14px 11px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center;border:1px solid #dce5ef;border-radius:14px;background:#fbfcfe;box-shadow:none}
.social-preset-card:hover{transform:translateY(-1px);border-color:#8eb0eb;background:#fff;box-shadow:0 8px 18px rgba(29,68,131,.08)}
.social-preset-featured{border-color:#8eb0eb;background:#f6f9ff;box-shadow:inset 0 0 0 1px rgba(47,111,228,.07)}
.social-recommended{position:absolute;top:8px;right:8px;padding:3px 6px;border-radius:999px;background:#2f6fe4;color:#fff;font-size:6.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.social-ratio-preview{margin-top:3px;width:48px;height:56px;background:#17324f;border-radius:9px;box-shadow:none}
.social-ratio-preview.ratio-vertical{width:34px;height:60px}
.social-ratio-preview.ratio-portrait{width:39px;height:50px}
.social-ratio-preview.ratio-square{width:46px;height:46px}
.social-ratio-preview.ratio-landscape{width:54px;height:31px;margin-top:17px;margin-bottom:11px}
.social-ratio-preview b{font-size:9px}
.social-preset-copy{align-items:center;gap:2px!important}
.social-preset-copy strong{font-size:12px;color:#17324f;line-height:1.2}
.social-preset-copy span{max-width:100%;font-size:9px;color:#6c7b8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-preset-copy small{font-size:8px;color:#2f6fe4;letter-spacing:.035em}
.social-export-arrow{display:none}
.creator-brand-row{margin-top:14px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e5ebf2;background:#f9fbfd;border-radius:11px}
.creator-brand-copy{display:flex;align-items:center;gap:10px;min-width:0}
.creator-brand-mark{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#17324f;color:#fff;font-size:11px;font-weight:950}
.creator-brand-copy strong,.creator-brand-copy span{display:block}
.creator-brand-copy strong{font-size:11px;color:#20364f}
.creator-brand-copy span{margin-top:2px;font-size:9.5px;color:#7a899b;line-height:1.35}
.creator-brand-controls{display:grid;grid-template-columns:minmax(150px,190px) auto auto;gap:6px;align-items:center;flex:0 0 auto}
.creator-brand-controls .select{height:34px;font-size:10.5px;background:#fff}
.creator-brand-controls .btn{height:34px;padding:0 10px;font-size:9.5px;white-space:nowrap}
.creator-brand-controls .btn.subtle{background:#fff;color:#53657a}
.output-section-secondary{margin-top:16px;padding-top:14px}
.output-section-heading{margin-bottom:8px}
.output-grid-secondary{gap:8px}
.output-grid-secondary .output-option{min-height:82px;padding:11px 12px;border-radius:12px;box-shadow:none}
.output-grid-secondary .output-format-icon{width:44px;height:44px;border-radius:10px}
.output-grid-secondary .output-option-copy strong{font-size:12px}
.output-grid-secondary .output-option-copy span{font-size:9.5px;line-height:1.35}
.output-grid-secondary .output-option-copy small{font-size:8px}
.output-note{margin-top:11px;padding:8px 10px;border-radius:10px;font-size:9.5px;line-height:1.4;background:#f8fafc;border-color:#e3e9f0;color:#758396}
.output-actions{margin-top:9px}

/* Branding editor: compact and editorial rather than a second export card. */
.export-style-modal{width:min(720px,calc(100vw - 28px))}
.export-style-intro{margin:0 0 14px;max-width:620px}
.export-style-fields{gap:10px}
.export-style-colors{margin:14px 0;gap:7px}
.export-style-colors label{padding:8px;border-radius:10px;background:#fafbfd}
.style-editor-preview{height:164px;border-radius:13px;background:#f4f7fb;grid-template-rows:42px 1fr 30px;box-shadow:none}
.style-editor-preview-head{background:#fff!important;color:#17324f!important;border-top:5px solid #2f6fe4;border-bottom:1px solid #dce5ef;padding:8px 14px}
.style-editor-preview-head strong{font-size:14px}
.style-editor-preview-card{margin:10px 18px;padding:14px;border-radius:10px;box-shadow:0 5px 14px rgba(15,39,66,.06)}
.style-editor-preview-footer{background:#fff!important;color:#52657a!important;border-top:1px solid #dce5ef;padding:7px 14px}

@media(max-width:760px){
  .output-modal{width:calc(100vw - 16px)}
  .output-modal-shell{padding:17px 16px 14px}
  .creator-social-heading{align-items:flex-start}
  .social-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .social-preset-card{min-height:145px}
  .creator-brand-row{align-items:flex-start;flex-direction:column}
  .creator-brand-controls{width:100%;grid-template-columns:1fr auto auto}
  .output-grid-secondary{grid-template-columns:1fr 1fr!important}
}
@media(max-width:500px){
  .social-preset-grid{grid-template-columns:1fr 1fr}
  .social-preset-card{min-height:140px;padding:12px 8px 10px}
  .social-preset-copy span{font-size:8px}
  .creator-brand-controls{grid-template-columns:1fr 1fr}
  .creator-brand-controls .select{grid-column:1/-1}
  .output-grid-secondary{grid-template-columns:1fr!important}
}
.output-modal[data-mode="timeline"] .creator-social-panel{margin-top:16px;padding:18px 18px 16px}
.output-modal[data-mode="timeline"] .social-preset-card{min-height:150px;padding:14px 11px 12px}
.output-modal[data-mode="timeline"] .social-ratio-preview{transform:none}

/* v1.31 — targeted #2 layout fix only.
   Preserve the v1.28 Creator Export design and prevent the featured 9:16
   preset from colliding with its label/copy on the two-column modal layout. */
@media (max-width:760px){
  .social-preset-featured{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:8px;
    row-gap:3px;
    align-items:center;
    justify-items:stretch;
    text-align:left;
    padding:10px 8px 10px 7px;
  }
  .social-preset-featured .social-recommended{
    position:static;
    grid-column:2;
    grid-row:1;
    justify-self:start;
    max-width:100%;
    padding:2px 5px;
    border-radius:999px;
    font-size:5.5px;
    line-height:1.15;
    white-space:nowrap;
  }
  .social-preset-featured .social-ratio-preview.ratio-vertical{
    grid-column:1;
    grid-row:1 / 3;
    width:27px;
    height:49px;
    margin:0;
    justify-self:start;
    align-self:center;
  }
  .social-preset-featured .social-ratio-preview.ratio-vertical b{
    font-size:7.5px;
  }
  .social-preset-featured .social-preset-copy{
    grid-column:2;
    grid-row:2;
    align-items:flex-start;
    gap:2px!important;
    min-width:0;
    width:100%;
  }
  .social-preset-featured .social-preset-copy strong{
    font-size:10.5px;
    line-height:1.15;
  }
  .social-preset-featured .social-preset-copy span{
    font-size:7.5px;
    line-height:1.2;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .social-preset-featured .social-preset-copy small{
    font-size:7px;
    line-height:1.15;
  }
}

/* Slice 01.34 — Create Case, case switching, public discovery, onboarding */
.case-switcher-wrap{min-width:260px;max-width:420px}.top-case-switcher{display:flex;align-items:center;gap:6px}.case-switcher-select{min-width:0;width:100%;height:30px;border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#1d2a3a;padding:3px 30px 3px 8px;font:700 12px/1.2 inherit}.case-switcher-new{flex:0 0 30px;width:30px;height:30px;border:1px solid #c9d7e8;border-radius:8px;background:#edf4ff;color:#245eb7;font-size:18px;font-weight:800;line-height:1;cursor:pointer}.case-switcher-new:hover{background:#e0ecff}.cases-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dashboard-primary-actions{flex-wrap:wrap;justify-content:flex-end}
.explore-shell{max-width:1220px;margin:0 auto;padding:30px}.explore-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px;border:1px solid #d8e3f0;border-radius:22px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:var(--shadow)}.explore-hero h1{margin:7px 0 8px;font-size:34px;letter-spacing:-1px}.explore-hero p{max-width:780px;margin:0;color:var(--muted);line-height:1.55}.explore-toolbar{display:flex;align-items:center;gap:10px;margin:18px 0}.explore-search{width:min(460px,100%)}.explore-count{margin-left:auto;color:var(--muted);font-size:12px;font-weight:800}.public-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.public-case-card{display:flex;flex-direction:column;min-height:230px;border:1px solid #dbe3ef;border-radius:16px;background:#fff;padding:18px;box-shadow:0 7px 18px rgba(27,55,88,.05)}.public-case-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;font-weight:700}.public-case-card h2{margin:13px 0 5px;font-size:19px;line-height:1.15}.public-case-meta{margin:0;color:#53667c;font-size:11px;font-weight:800}.public-case-summary{margin:12px 0 16px;color:var(--muted);font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.public-case-actions{margin-top:auto}.case-library-empty .btn{margin-top:14px}
.account-onboarding{margin:0 0 18px;padding:20px;border:1px solid #c9ddf3;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#f6fbf9)}.account-onboarding[hidden]{display:none}.onboarding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.onboarding-heading h2{margin:4px 0 5px;font-size:20px}.onboarding-heading p{margin:0;color:var(--muted);font-size:12px}.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.onboarding-card{appearance:none;text-align:left;border:1px solid #dbe3ef;border-radius:14px;background:#fff;padding:15px;cursor:pointer;color:var(--ink);box-shadow:0 4px 12px rgba(24,50,82,.04);transition:transform .12s,border-color .12s,box-shadow .12s}.onboarding-card:hover{transform:translateY(-1px);border-color:#9ebceb;box-shadow:0 8px 18px rgba(38,87,150,.09)}.onboarding-card .onboarding-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;margin-bottom:10px;background:#edf4ff;color:#2f6fe4;font-size:16px;font-weight:900}.onboarding-card strong{display:block;font-size:14px}.onboarding-card small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.onboarding-steps{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #dbe5ef;color:#53667c;font-size:11px;font-weight:800}.onboarding-steps span{display:flex;align-items:center;gap:6px}.onboarding-steps b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#17324f;color:#fff;font-size:9px}
.create-case-modal{width:min(760px,calc(100vw - 28px));max-width:760px}.create-case-intro{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.55}.create-case-visibility-note{display:flex;align-items:flex-start;gap:8px;margin:14px 0;padding:11px 12px;border:1px solid #c9ddf3;border-radius:10px;background:#f4f9ff;color:#53667c;font-size:11px;line-height:1.45}.create-case-visibility-note strong{color:#183b61;white-space:nowrap}
@media(max-width:1000px){.public-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-switcher-wrap{display:none}.explore-hero{flex-direction:column}.onboarding-grid{grid-template-columns:1fr}}
@media(max-width:700px){.explore-shell{padding:16px}.explore-hero{padding:20px}.explore-hero h1{font-size:27px}.explore-toolbar{flex-wrap:wrap}.explore-toolbar .explore-search{width:100%}.explore-count{margin-left:0;width:100%}.public-case-grid{grid-template-columns:1fr}.cases-header-actions{width:100%}.cases-header-actions .btn{flex:1}.dashboard-primary-actions{display:grid!important;grid-template-columns:1fr}.dashboard-primary-actions .btn{width:100%}.onboarding-heading{flex-direction:column}.create-case-visibility-note{flex-direction:column}.create-case-modal .form-grid.two-col{grid-template-columns:1fr}}

/* Slice 01.35 — single-file XLSX case import */
.single-workbook-import{display:grid;justify-items:center;gap:10px;padding:26px 18px 22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f6f9fd);text-align:center}
.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.choose-workbook-btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:12px 22px;border-radius:11px;background:var(--blue);color:#fff;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 7px 18px rgba(37,99,235,.18);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.choose-workbook-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(37,99,235,.24)}
.choose-workbook-btn:active{transform:translateY(0)}
.chosen-workbook-name{max-width:100%;font-size:12px;font-weight:750;color:var(--text);overflow-wrap:anywhere}
.workbook-format-note{font-size:11px;color:var(--muted)}
.workbook-preview{margin-top:14px;border:1px solid #cfe0f8;border-radius:13px;background:#f8fbff;padding:13px}
.workbook-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--text)}
.workbook-preview-head span{font-size:11px;color:var(--muted);font-weight:700}
.workbook-detected-sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.workbook-sheet-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #dce8f7;border-radius:9px;background:#fff;font-size:11px}
.workbook-sheet-chip strong{color:var(--text);font-size:11px}
.workbook-sheet-chip span{color:var(--green);font-weight:850}
.workbook-sheet-chip.missing{opacity:.65;background:#fafafa;border-color:var(--line)}
.workbook-sheet-chip.missing span{color:var(--muted)}
.full-case-template-link{justify-content:center}
.legacy-import-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.legacy-import-details summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:850;list-style-position:inside}
.legacy-import-details>p{margin:8px 0 10px;color:var(--muted);font-size:11px;line-height:1.45}
.legacy-import-details .file-field{display:block;margin-top:9px}
@media(max-width:620px){.workbook-detected-sheets{grid-template-columns:1fr}.single-workbook-import{padding:22px 14px}.choose-workbook-btn{width:100%}}


/* Slice 01.37 — Case Library publishing controls */
.case-library-publish-row{display:flex;align-items:end;gap:12px;justify-content:space-between;margin:14px 0 8px;padding:11px 12px;border:1px solid #dce6f1;border-radius:12px;background:#f8fbff}
.case-visibility-control{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#334155}
.case-visibility-control .select{min-width:128px;padding:8px 30px 8px 10px}
.case-visibility-note{font-size:11px;color:#64748b;text-align:right;max-width:210px;line-height:1.35}
.account-workspace-sync-only{align-items:center}
.account-visibility-help{font-size:11px;color:#64748b}
@media(max-width:720px){.case-library-publish-row{align-items:stretch;flex-direction:column}.case-visibility-control{justify-content:space-between}.case-visibility-note{text-align:left;max-width:none}}

/* Slice 01.38 — safe in-place workbook updates + case history */
.import-modal{max-width:860px}
.update-target-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #b8d3f3;border-radius:12px;background:#eef6ff;color:#1e3a5f}
.update-target-banner strong{font-size:13px}.update-target-banner span{font:800 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#526b88;overflow-wrap:anywhere}
.case-update-diff{margin-top:14px;padding:14px;border:1px solid #c9ddf3;border-radius:14px;background:#fbfdff}
.case-update-diff-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.case-update-diff-head h3{margin:3px 0 0;font-size:16px}.case-update-diff-head>strong{padding:5px 9px;border-radius:999px;background:#eaf4ff;color:#245eb7;font-size:11px;white-space:nowrap}
.case-update-diff-grid{display:grid;gap:4px;max-height:330px;overflow:auto;border:1px solid #e0e8f2;border-radius:10px;background:#fff}
.update-diff-header,.update-diff-row{display:grid;grid-template-columns:minmax(150px,1.7fr) repeat(4,minmax(54px,.55fr));align-items:center;gap:8px;padding:7px 9px;font-size:11px}
.update-diff-header{position:sticky;top:0;z-index:1;background:#edf3f9;color:#5a6b7f;font-weight:850;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #dbe4ee}
.update-diff-row{border-bottom:1px solid #eef2f6}.update-diff-row:last-child{border-bottom:0}.update-diff-row strong{font-size:11px;color:#27384c;overflow-wrap:anywhere}.update-diff-row span{text-align:center;font-weight:800;color:#64748b}.update-diff-row .new{color:#16805f}.update-diff-row .updated{color:#2563eb}.update-diff-row .deleted{color:#b42318}
.case-update-review-btn{margin-top:10px}.case-update-change-list{margin-top:10px;max-height:300px;overflow:auto;display:grid;gap:7px}.case-update-change-list[hidden]{display:none}
.update-change-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:start;padding:9px 10px;border:1px solid #e3eaf2;border-radius:9px;background:#fff}.update-change-item>span{display:inline-flex;justify-content:center;padding:3px 6px;border-radius:999px;background:#eef4fb;color:#50657c;font-size:9px;font-weight:900}.update-change-item.new>span{background:#e9f8f2;color:#177355}.update-change-item.updated>span{background:#edf4ff;color:#245eb7}.update-change-item.deleted>span{background:#fff0ef;color:#a61b12}.update-change-item strong{font-size:11px}.update-change-item p{margin:3px 0 0;color:#66778b;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.case-update-rule{margin:11px 0 0;padding-top:10px;border-top:1px solid #e4ebf3;color:#5d6f83;font-size:10.5px;line-height:1.45}.case-update-rule code{padding:1px 4px;border-radius:4px;background:#edf2f7;color:#27384c}
.case-history-modal{max-width:760px}.case-history-list{display:grid;gap:10px;max-height:60vh;overflow:auto;margin:14px 0}.case-history-entry{padding:13px;border:1px solid #dce5ef;border-radius:12px;background:#fbfdff}.case-history-entry>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.case-history-entry>div:first-child>strong{font-size:10px;color:#64748b}.case-history-entry h3{margin:8px 0 4px;font-size:13px;overflow-wrap:anywhere}.case-history-entry p{margin:0;color:#586b80;font-size:11px;line-height:1.45}.case-history-entry small{display:block;margin-top:5px;color:#7a8999;line-height:1.4}.case-history-entry .btn{margin-top:10px}.case-history-empty{padding:18px;border:1px dashed #cbd7e5;border-radius:10px;text-align:center;color:#718096;font-size:12px;background:#fff}
@media(max-width:700px){.update-target-banner{align-items:flex-start;flex-direction:column}.update-diff-header,.update-diff-row{grid-template-columns:minmax(115px,1.5fr) repeat(4,42px);gap:4px;padding:7px 6px;font-size:9px}.update-diff-row strong{font-size:10px}.case-update-diff{padding:10px}.update-change-item{grid-template-columns:62px minmax(0,1fr)}}

/* Slice 01.40 — Admin Control Center */
.system-announcement{background:#fff8e8;border-bottom:1px solid #f0d8a8;color:#8b5b08;padding:9px 22px;text-align:center;font-size:12px;font-weight:800;position:relative;z-index:18}
.admin-tab{color:var(--purple)}
.admin-shell{max-width:1380px;margin:0 auto;padding:28px 30px 50px}
.admin-hero{background:linear-gradient(135deg,#173452,#244f78);color:#fff;border-radius:22px;padding:26px 28px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow)}
.admin-hero .eyebrow{color:#bcd0e8}.admin-hero h1{font-size:32px;margin:5px 0 7px}.admin-hero p{margin:0;max-width:850px;color:#dce7f3;line-height:1.55;font-size:13px}.admin-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-hero .status-chip{background:#e8f7f2;color:#0f725d}
.admin-section-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}
.admin-section-tab{border:0;background:#f3f6fa;color:#627286;font-size:12px;font-weight:800;padding:9px 12px;border-radius:9px}.admin-section-tab:hover{background:#eaf1ff;color:var(--blue)}.admin-section-tab.active{background:var(--blue);color:#fff}
.admin-section-panel{display:none}.admin-section-panel.active{display:block}
.admin-panel-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:4px 0 14px}.admin-panel-header h2{font-size:25px;margin:5px 0}.admin-panel-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:900px}
.admin-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}.admin-metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 5px 18px rgba(23,52,82,.04)}.admin-metric strong{display:block;font-size:27px;letter-spacing:-.5px}.admin-metric span{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.admin-metric.alert{border-color:#efc7c7;background:#fffafa}.admin-metric.alert strong{color:var(--red)}
.admin-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-card{padding-bottom:6px}.admin-card .panel-heading{display:flex;justify-content:space-between;align-items:center}.admin-summary-list{padding:8px 16px 13px}.admin-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f5;padding:10px 0;font-size:12px}.admin-summary-row:last-child{border-bottom:0}.admin-summary-row span{color:var(--muted)}.admin-summary-row strong{text-align:right}.admin-summary-row .status-chip{font-size:9px}
.admin-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;margin-bottom:12px}.admin-toolbar input{flex:1;min-width:260px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}.admin-count{margin-left:auto;color:var(--muted);font-size:11px;font-weight:800}
.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px}.admin-table{width:100%;border-collapse:collapse;min-width:1000px}.admin-table th{position:sticky;top:0;background:#f5f8fc;color:#65758a;text-align:left;font-size:9px;letter-spacing:.07em;text-transform:uppercase;padding:10px;border-bottom:1px solid var(--line);z-index:1}.admin-table td{padding:11px 10px;border-bottom:1px solid #edf1f5;font-size:11px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table tr:hover td{background:#fbfdff}.admin-user-cell strong,.admin-case-name strong{display:block;font-size:12px}.admin-user-cell span,.admin-case-name span{display:block;color:var(--muted);font-size:10px;margin-top:2px;max-width:320px;overflow:hidden;text-overflow:ellipsis}.admin-role-pill,.admin-plan-pill,.admin-rank-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3fa;color:#52687e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.admin-role-pill.super_admin{background:var(--purple2);color:var(--purple)}.admin-role-pill.admin{background:var(--blue2);color:var(--blue)}.admin-role-pill.moderator{background:var(--amber2);color:var(--amber)}.admin-plan-pill.pro{background:var(--green2);color:var(--green)}.admin-status-active{background:var(--green2);color:var(--green)}.admin-status-suspended{background:var(--amber2);color:var(--amber)}.admin-status-blocked{background:var(--red2);color:var(--red)}
.admin-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.admin-plan-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.admin-plan-card.pro{border-color:#aac1eb;box-shadow:0 8px 24px rgba(47,111,228,.08)}.admin-plan-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-plan-top h3{font-size:20px;margin:0 0 4px}.admin-plan-top p{color:var(--muted);font-size:11px;margin:0;line-height:1.45}.admin-plan-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.admin-plan-card label,.admin-settings-card label,.admin-rank-card label,.admin-user-dialog label{font-size:10px;color:#67768a;font-weight:800}.admin-plan-card input,.admin-plan-card textarea,.admin-settings-card input,.admin-settings-card textarea,.admin-settings-card select,.admin-rank-card input,.admin-rank-card textarea,.admin-user-dialog input,.admin-user-dialog textarea,.admin-user-dialog select{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;margin-top:5px;background:#fff;color:var(--ink)}.admin-plan-toggle-row{display:flex;gap:14px;margin:12px 0;align-items:center}.admin-plan-toggle-row label{display:flex;align-items:center;gap:6px}.admin-plan-toggle-row input{width:auto;margin:0}.admin-info-note{margin-top:14px;padding:12px 14px;border:1px solid #cfdced;border-radius:12px;background:#f7faff;color:#5f7086;font-size:11px;line-height:1.5}
.admin-entitlement-matrix{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:auto}.entitlement-row{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(2,minmax(210px,1fr));border-bottom:1px solid #edf1f5;min-width:740px}.entitlement-row:last-child{border-bottom:0}.entitlement-row.head{background:#f5f8fc;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#65758a}.entitlement-row>div{padding:11px 13px;border-right:1px solid #edf1f5}.entitlement-row>div:last-child{border-right:0}.entitlement-feature strong{display:block;font-size:12px}.entitlement-feature span{font-size:9px;color:var(--muted)}.entitlement-control{display:flex;align-items:center;gap:8px}.entitlement-control label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800}.entitlement-control input[type=number]{width:78px;border:1px solid var(--line);border-radius:8px;padding:6px}.entitlement-control .btn{margin-left:auto}
.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.admin-settings-card h3{font-size:14px;margin:0 0 4px}.admin-settings-card p{font-size:10px;color:var(--muted);margin:0 0 10px;line-height:1.45}.admin-setting-control-row{display:flex;gap:8px;align-items:center}.admin-setting-control-row select,.admin-setting-control-row input[type=text]{flex:1;margin:0}.admin-setting-control-row input[type=checkbox]{width:auto;margin:0}.admin-setting-boolean{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fbfcfe;font-size:11px;font-weight:800}.admin-setting-boolean input{width:auto;margin:0}
.admin-ranks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-rank-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.admin-rank-card h3{margin:0;font-size:16px}.admin-rank-card .rank-code{display:block;color:var(--muted);font-size:9px;margin:2px 0 10px}.admin-rank-grid-small{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-rank-checks{display:flex;gap:12px;margin:10px 0}.admin-rank-checks label{display:flex;align-items:center;gap:5px}.admin-rank-checks input{width:auto;margin:0}
.admin-audit-list{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.admin-audit-row{display:grid;grid-template-columns:150px minmax(180px,1.3fr) minmax(220px,2fr) 170px;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f5;align-items:start;font-size:11px}.admin-audit-row:last-child{border-bottom:0}.admin-audit-row strong{font-size:11px}.admin-audit-row span{color:var(--muted);overflow-wrap:anywhere}.admin-audit-row .audit-action{text-transform:capitalize;color:var(--ink);font-weight:800}.admin-audit-empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}
.admin-user-dialog{max-width:780px}.admin-user-dialog-shell{padding:20px}.admin-user-identity{background:#f5f8fc;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0}.admin-user-identity strong{display:block}.admin-user-identity span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.admin-user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.admin-checkbox-label{display:flex!important;gap:7px;align-items:center;padding-top:24px}.admin-checkbox-label input{width:auto!important;margin:0!important}.admin-user-save-row{display:flex;justify-content:flex-end;margin:12px 0}.admin-restriction-actions{border-top:1px solid var(--line);padding-top:14px;margin-top:8px}.admin-restriction-actions>strong{margin-right:8px}.admin-restriction-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.admin-user-dialog .cloud-progress{margin-top:9px}
.account-membership-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.account-membership-summary>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fbfcfe}.account-membership-summary span{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.account-membership-summary strong{display:block;margin-top:3px;font-size:12px}.account-restriction-overlay{position:fixed;inset:0;background:rgba(13,27,44,.88);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.account-restriction-overlay[hidden]{display:none}.account-restriction-card{width:min(560px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.32)}.account-restriction-card h1{font-size:28px;margin:8px 0}.account-restriction-card p{color:var(--muted);line-height:1.55}.restriction-reason{background:var(--red2);color:#823737;border:1px solid #efc4c4;border-radius:10px;padding:11px;margin:12px 0;font-size:12px}
.public-case-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.official-case-chip{background:var(--blue2);color:var(--blue)}.featured-case-chip{background:var(--amber2);color:var(--amber)}
.feature-locked{display:none!important}.feature-pro-lock{font-size:9px;font-weight:900;color:var(--purple);background:var(--purple2);border-radius:999px;padding:4px 7px}

@media(max-width:1100px){.admin-metric-grid{grid-template-columns:repeat(3,1fr)}.admin-ranks-grid{grid-template-columns:repeat(2,1fr)}.admin-settings-grid{grid-template-columns:1fr}.admin-audit-row{grid-template-columns:130px 1fr 1.5fr}.admin-audit-row .audit-time{grid-column:2 / -1}}
@media(max-width:760px){.admin-shell{padding:16px}.admin-hero{align-items:flex-start;flex-direction:column}.admin-hero h1{font-size:26px}.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-overview-grid,.admin-plans-grid,.admin-ranks-grid{grid-template-columns:1fr}.admin-user-form-grid{grid-template-columns:1fr}.account-membership-summary{grid-template-columns:1fr}.admin-audit-row{display:block}.admin-audit-row>*{display:block;margin-bottom:5px}.admin-toolbar input{min-width:180px}.tabs{overflow-x:auto;align-items:stretch}.tab{white-space:nowrap}}

/* Slice 01.41 — Admin case edit / import / delete controls */
.admin-panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-case-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:180px}
.admin-case-dialog{max-width:760px}
.admin-case-dialog-shell{padding:20px}
.admin-case-dialog label{font-size:10px;color:#67768a;font-weight:800}
.admin-case-dialog input,.admin-case-dialog textarea,.admin-case-dialog select{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;margin-top:5px;background:#fff;color:var(--ink)}
.admin-case-dialog-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.admin-case-dialog .cloud-progress{margin-top:9px}
@media(max-width:760px){.admin-panel-header{align-items:flex-start;flex-direction:column}.admin-case-dialog-actions{align-items:stretch;flex-direction:column}.admin-case-dialog-actions .btn{width:100%}}

/* Slice 01.43 — Rank/public-discovery styles retained; admin delete fixed in SQL */
.public-case-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-4px 0 18px}.public-case-filter{appearance:none;border:1px solid #d7e1ee;background:#fff;color:#51657c;border-radius:999px;padding:8px 13px;font-size:10px;font-weight:900;cursor:pointer;transition:.16s ease}.public-case-filter:hover{border-color:#9db6d8;color:#1e5fb8}.public-case-filter.active{background:#173b67;color:#fff;border-color:#173b67;box-shadow:0 6px 16px rgba(23,59,103,.14)}
.public-case-card{position:relative;overflow:hidden}.public-case-card.featured-public-case{border-color:#d6b45e;box-shadow:0 11px 28px rgba(111,82,16,.11)}.public-case-card.official-public-case:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#1b68c9,#32b8d8)}.public-case-creator{display:flex;align-items:center;gap:9px;border-top:1px solid #e8eef5;padding-top:12px;margin-top:auto;margin-bottom:12px}.public-case-rank-icon{width:38px;height:38px;object-fit:cover;border-radius:10px;border:1px solid #bfd0e5;box-shadow:0 4px 12px rgba(20,55,93,.12);background:#08172a}.public-case-creator-copy{min-width:0;display:flex;flex-direction:column}.public-case-creator-copy strong{font-size:11px;color:#1f3249;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-case-creator-copy span{font-size:9px;color:#738298;font-weight:800}.creator-verified-mark{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:22px;height:22px;border-radius:50%;background:#e9f5ff;color:#1664bb;border:1px solid #b9d8f6;font-size:11px;font-weight:1000}.public-case-actions{margin-top:0}
.account-membership-summary>div.account-rank-summary{padding:8px}.account-rank-inline{display:flex;align-items:center;gap:8px}.account-rank-inline img{width:42px;height:42px;object-fit:cover;border-radius:10px;background:#07172a;border:1px solid #bfd0e5;box-shadow:0 4px 12px rgba(19,55,98,.12)}.account-rank-inline>span{font-size:12px}.account-membership-summary small{display:block;color:#7a899b;font-size:8px;font-weight:800;margin-top:4px;line-height:1.35}.account-verified-note{color:#1767b8!important}.account-rank-progress-bar{height:5px;border-radius:999px;background:#e5edf6;overflow:hidden;margin-top:5px}.account-rank-progress-bar>span{display:block;height:100%;background:linear-gradient(90deg,#245fb5,#28acd0);border-radius:999px}
.admin-ranks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-rank-card{display:grid;grid-template-columns:104px 1fr;gap:14px;position:relative}.admin-rank-art{width:104px;height:104px;border-radius:15px;overflow:hidden;border:1px solid #c8d7e9;background:#08182a;box-shadow:0 8px 22px rgba(17,54,93,.12)}.admin-rank-art img{display:block;width:100%;height:100%;object-fit:cover}.admin-rank-body{min-width:0}.admin-rank-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.admin-rank-order-pill{font-size:9px;font-weight:900;color:#315b8f;background:#eaf3ff;border:1px solid #c8ddf8;border-radius:999px;padding:4px 7px}.admin-rank-grid-small.three{grid-template-columns:1fr 1fr 1fr}.admin-rank-card .rank-icon-select{font-size:9px}.admin-rank-card textarea{resize:vertical}.admin-rank-save-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.admin-rank-manual-note{font-size:8px;color:#8b6b22;font-weight:800}
.admin-point-rules-panel{margin-top:18px}.admin-panel-copy{color:#68798e;font-size:11px;line-height:1.5;margin:-4px 0 13px}.admin-point-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-point-rule-card{border:1px solid #dce5ef;border-radius:13px;background:#fff;padding:13px}.admin-point-rule-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.admin-point-rule-top h3{font-size:13px;margin:0 0 3px}.admin-point-rule-top p{font-size:9px;color:#7a899a;margin:0;line-height:1.4}.admin-point-rule-code{font-size:8px;color:#8391a3;font-weight:800}.admin-point-rule-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:10px}.admin-point-rule-fields label{font-size:9px;color:#67768a;font-weight:800}.admin-point-rule-fields input[type="number"]{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 9px;margin-top:4px}.admin-point-rule-toggle{display:flex;align-items:center;gap:5px;padding-bottom:8px;font-size:9px;font-weight:800;color:#52677e}.admin-user-rank-cell{display:flex;align-items:center;gap:8px}.admin-user-rank-cell img{width:32px;height:32px;border-radius:8px;object-fit:cover;background:#07172a;border:1px solid #ccdaea}.admin-user-rank-copy{display:flex;flex-direction:column;min-width:0}.admin-user-rank-copy .admin-rank-pill{width:max-content}.admin-user-rank-copy .admin-cell-note{margin-top:2px}
@media(max-width:900px){.admin-ranks-grid,.admin-point-rules-grid{grid-template-columns:1fr}.public-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.public-case-grid{grid-template-columns:1fr}.admin-rank-card{grid-template-columns:78px 1fr}.admin-rank-art{width:78px;height:78px}.admin-rank-grid-small.three,.admin-point-rule-fields{grid-template-columns:1fr}.public-case-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.public-case-filter{white-space:nowrap}}
.account-point-rules{border:1px solid #dce6f1;border-radius:12px;background:#f8fbff;padding:11px 12px;margin:10px 0}.account-point-rules h4{margin:0 0 7px;font-size:11px;color:#294866}.account-point-rule-list{display:flex;gap:6px;flex-wrap:wrap}.account-point-rule-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d3e1f1;background:#fff;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;color:#59708a}.account-point-rule-chip strong{color:#1766b6;font-size:9px}

/* Slice 01.44 — Public Case Discussions & Moderation */
.discussion-shell{max-width:1280px;margin:0 auto;padding:26px 24px 56px;display:grid;gap:18px}
.discussion-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#102d4b,#1b4268);color:#fff;box-shadow:0 16px 40px rgba(15,43,72,.18)}
.discussion-hero h1{margin:4px 0 8px;font-size:clamp(1.7rem,3vw,2.45rem)}
.discussion-hero p{max-width:860px;margin:0;color:rgba(255,255,255,.82);line-height:1.6}
.discussion-hero .eyebrow{color:#9fd9ff}.discussion-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.discussion-availability{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-left:4px solid var(--accent,#2f6fe4)}
.discussion-availability strong{color:#17324f}.discussion-availability span{color:#526577;line-height:1.5}
.discussion-composer{padding:20px}.discussion-composer[hidden]{display:none!important}
.discussion-composer-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.4fr);gap:14px;margin-bottom:12px}
.discussion-composer label{display:grid;gap:6px;font-weight:700;color:#33485c;font-size:.88rem}.discussion-composer textarea,.discussion-composer input,.discussion-reply-composer textarea{width:100%;box-sizing:border-box;border:1px solid #cbd7e3;border-radius:11px;background:#fff;color:#172b3e;padding:11px 12px;font:inherit;resize:vertical}
.discussion-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;color:#66798b;font-size:.86rem}
.discussion-filters{display:flex;gap:8px;flex-wrap:wrap}.discussion-filter{border:1px solid #c8d5e1;background:#fff;color:#375069;border-radius:999px;padding:8px 13px;font-weight:700;cursor:pointer}.discussion-filter:hover,.discussion-filter.active{background:#173b61;color:#fff;border-color:#173b61}
.discussion-summary{font-size:.86rem;color:#65798c;font-weight:700}.discussion-thread-list{display:grid;gap:16px}
.discussion-thread{border:1px solid #d8e1e9;background:#fff;border-radius:18px;box-shadow:0 8px 24px rgba(27,54,78,.07);overflow:hidden}
.discussion-thread-header{padding:18px 20px 14px;border-bottom:1px solid #edf1f5;background:#f9fbfd}.discussion-thread-header h2{margin:7px 0 5px;font-size:1.18rem;color:#17324f}.discussion-thread-header>span{font-size:.8rem;color:#718394}.discussion-topic-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.discussion-topic-chip{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.72rem;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#e8eef5;color:#3d5267}.discussion-topic-chip.topic-person{background:var(--cat-people-soft);color:var(--cat-people)}.discussion-topic-chip.topic-evidence{background:var(--cat-evidence-soft);color:var(--cat-evidence)}.discussion-topic-chip.topic-event{background:var(--cat-events-soft);color:var(--cat-events)}.discussion-topic-chip.topic-theory{background:#eee9fb;color:#6844a5}.discussion-topic-chip.topic-general{background:#e4f1ff;color:#1d5f9a}
.discussion-post{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 20px}.discussion-post+.discussion-post{border-top:1px solid #edf1f5}.discussion-post-avatar img{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid #d4dde6;background:#f4f7fa}.discussion-post-byline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discussion-post-byline strong{color:#17324f}.discussion-post-byline>span:not(.creator-verified-mark):not(.discussion-owner-badge){font-size:.76rem;color:#627789}.discussion-post-byline time{margin-left:auto;font-size:.74rem;color:#81909d}.discussion-owner-badge{font-size:.65rem!important;font-weight:800;color:#12624f!important;background:#dff5ee;padding:4px 7px;border-radius:999px}.discussion-post-body{padding-top:8px;color:#263b4e;line-height:1.6;overflow-wrap:anywhere}.discussion-post-actions{margin-top:8px;display:flex;gap:10px}
.text-action{appearance:none;border:0;background:none;padding:0;color:#2a68a0;font:inherit;font-weight:700;cursor:pointer}.text-action:hover{text-decoration:underline}
.discussion-replies{margin:0 20px 0 58px;border-left:3px solid #e3eaf0}.discussion-replies .discussion-post{padding-left:16px}.discussion-thread-footer{display:flex;justify-content:flex-end;padding:10px 20px 15px;border-top:1px solid #f0f3f6}.discussion-reply-composer{padding:0 20px 18px;margin-left:58px}.discussion-reply-composer>div{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.admin-discussion-moderation-panel,.admin-account-moderation-panel{margin-top:18px;padding:18px}.admin-discussion-reports{display:grid;gap:12px}.admin-discussion-report{border:1px solid #d9e1e8;border-radius:14px;padding:15px;background:#fff}.admin-discussion-report-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-discussion-report-head>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.admin-discussion-report-head time{font-size:.76rem;color:#778896}.admin-discussion-report p{margin:12px 0;color:#263b4e;line-height:1.5;white-space:pre-wrap}.admin-discussion-report-meta{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:.78rem;color:#66798b}.admin-discussion-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:760px){.discussion-shell{padding:16px 12px 40px}.discussion-hero{padding:20px;display:grid}.discussion-composer-grid{grid-template-columns:1fr}.discussion-composer-actions{align-items:flex-start;flex-direction:column}.discussion-post{grid-template-columns:34px minmax(0,1fr);padding:14px}.discussion-post-avatar img{width:32px;height:32px}.discussion-replies{margin-left:28px;margin-right:10px}.discussion-reply-composer{margin-left:28px;padding-left:14px}.discussion-post-byline time{width:100%;margin-left:0}}

/* Slice 01.45 — Premium Case Canvas + Admin Identity */
.canvas{background-color:#f3f7fc;background-image:radial-gradient(circle at 1px 1px,rgba(72,103,140,.16) 1px,transparent 1.2px),linear-gradient(180deg,rgba(255,255,255,.72),rgba(239,245,252,.54));background-size:26px 26px,100% 100%}
.professional-card.canvas-node{border:1px solid color-mix(in srgb,var(--node-accent) 24%,#d7e2ee)!important;border-radius:18px;box-shadow:0 14px 34px rgba(17,39,65,.11),0 2px 8px rgba(17,39,65,.06);background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;isolation:isolate}
.professional-card.canvas-node:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(17,39,65,.15),0 5px 14px rgba(17,39,65,.08);border-color:color-mix(in srgb,var(--node-accent) 45%,#c9d7e6)!important}
.professional-card.canvas-node.selected{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--node-accent) 18%,transparent),0 22px 48px rgba(17,39,65,.18);border-color:var(--node-accent)!important}
.professional-card .node-top{height:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--node-accent) 72%,#fff),var(--node-accent),color-mix(in srgb,var(--node-accent) 58%,#102a47))!important}
.professional-card .node-media-frame{height:176px;background:#e9f0f7;border-bottom:0;position:relative}
.professional-card .node-media-frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,29,52,.02) 50%,rgba(9,29,52,.14) 100%)}
.professional-card.density-visual .node-media-frame{height:224px}.professional-card.density-compact .node-media-frame{height:98px}
.professional-card .node-media-thumb{transform:scale(1.002);transition:transform .2s ease}.professional-card:hover .node-media-thumb{transform:scale(1.025)}
.professional-card .node-body{padding:15px 16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.98));position:relative}
.professional-card .node-header-row{min-height:22px}.professional-card .node-kind{display:inline-flex;align-items:center;width:max-content;max-width:72%;font-size:8px;line-height:1;font-weight:900;letter-spacing:.12em;color:color-mix(in srgb,var(--node-accent) 88%,#10243d);background:color-mix(in srgb,var(--node-accent) 9%,#fff);border:1px solid color-mix(in srgb,var(--node-accent) 18%,#e5edf6);border-radius:999px;padding:6px 8px}
.professional-card .node-id{font-size:8px;color:#51657c;background:#eef3f8;border:1px solid #e0e8f1;padding:5px 7px}
.professional-card .node-title{font-size:16px;line-height:1.18;font-weight:850;letter-spacing:-.012em;color:#10263f;margin:9px 0 5px}
.professional-card .node-sub{font-size:11px;color:#66798e;line-height:1.45;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:16px}
.professional-card .node-badge{border:1px solid color-mix(in srgb,var(--node-accent) 16%,#dce5ef);box-shadow:0 2px 7px rgba(26,52,80,.04);padding:5px 8px;margin-top:9px}
.professional-card .node-stats{gap:8px;padding-top:12px}.professional-card .node-stats span{border-top:1px solid #e5edf5;padding-top:8px}.professional-card .node-stats strong{font-size:13px;color:#1c3856}.professional-card .node-stats small{font-size:8px;letter-spacing:.025em;color:#8594a5}
.professional-card .node-visual-placeholder{height:136px;background:radial-gradient(circle at 32% 20%,color-mix(in srgb,var(--node-accent) 10%,#fff),transparent 46%),linear-gradient(145deg,#f8fbfe,#eaf1f8);border-bottom:0}.professional-card .node-visual-placeholder span{color:color-mix(in srgb,var(--node-accent) 48%,#8091a3);border:1px solid color-mix(in srgb,var(--node-accent) 16%,#dfe8f1);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.68)}
.professional-card.density-compact .node-body{padding:10px 11px}.professional-card.density-compact .node-kind{padding:4px 6px}.professional-card.density-compact .node-title{font-size:12.5px;margin:5px 0 3px}
.professional-card.theory{border-style:solid!important;background:linear-gradient(180deg,#fff,#fcfaff)!important}
.professional-card.layer-node-locked{filter:saturate(.78)}

.library-card{border-radius:14px;border-color:#dbe5ef;box-shadow:0 3px 10px rgba(24,50,77,.035);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.library-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(24,50,77,.09)}.library-card-thumb{height:82px;border-radius:10px}

.briefing-stage{background:radial-gradient(circle at 16% 4%,rgba(74,139,220,.09),transparent 28%),linear-gradient(145deg,#f8fbff,#eef4fa);border-color:#d7e3ef;box-shadow:0 22px 58px rgba(16,38,66,.10)}
.briefing-card{border:1px solid color-mix(in srgb,var(--briefing-accent) 18%,#dbe5ef);border-radius:18px;box-shadow:0 13px 32px rgba(17,39,65,.10),0 2px 6px rgba(17,39,65,.04);background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.briefing-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(17,39,65,.15);border-color:color-mix(in srgb,var(--briefing-accent) 34%,#cdd9e6)}
.briefing-card-header{background:linear-gradient(105deg,color-mix(in srgb,var(--briefing-accent) 86%,#173451),var(--briefing-accent));padding:9px 13px;font-size:10px;letter-spacing:.085em}
.briefing-card-media{height:188px;border-bottom:0}.briefing-card-media img{transition:transform .2s ease}.briefing-card:hover .briefing-card-media img{transform:scale(1.02)}
.briefing-card-copy{padding:15px 15px 14px}.briefing-card-copy h3{font-size:18px;letter-spacing:-.012em;color:#10263f}.briefing-card-copy p{font-size:12px;line-height:1.45;color:#65778a}.briefing-mini-chip,.briefing-status-chip{border-radius:999px;background:#f4f8fc;border-color:#dce6f0;padding:4px 8px}
.briefing-present-card{border-radius:26px;box-shadow:0 36px 90px rgba(0,0,0,.48)}

.admin-username-editor{margin-top:12px;padding:13px 14px;border:1px solid #cddff1;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eef6ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.admin-username-editor[hidden]{display:none}.admin-username-copy strong,.admin-username-copy small{display:block}.admin-username-copy strong{font-size:13px;color:#1a3552;margin-top:2px}.admin-username-copy small{font-size:10px;line-height:1.4;color:#687b90;margin-top:3px}.admin-username-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:9px}.admin-username-controls input{margin:0!important;background:#fff}.admin-username-editor .cloud-progress{margin-top:6px;min-height:0}
@media(max-width:640px){.admin-username-controls{grid-template-columns:1fr}.admin-username-controls .btn{width:100%}.professional-card.canvas-node{border-radius:16px}}


/* Slice 01.46 — editable object types + relationship groups */
.canvas-group-tools{gap:6px;padding-left:4px;border-left:1px solid #dfe7f0}.canvas-group-tools select{min-width:180px;max-width:230px}.node-group-chip,.board-group-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#eef5ff;border:1px solid #d4e3f7;color:#365d87;font-size:9px;font-weight:800;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professional-card .node-group-chip{margin-top:7px}.board-group-pill{background:#f3f7fb;border-color:#dce6f0;color:#536b83;font-size:9px}.object-editor-form label[hidden]{display:none!important}
@media(max-width:1100px){.canvas-group-tools{border-left:0;padding-left:0}.canvas-group-tools select{min-width:140px;max-width:180px}}

/* Slice 01.47 — Relationship Hub Cards */
.canvas-node.relationshipHub{border:1px solid color-mix(in srgb,var(--node-accent) 46%,#d6e0ef);background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--node-surface) 68%,#fff) 100%);box-shadow:0 14px 34px rgba(24,48,86,.15),0 2px 8px rgba(24,48,86,.08);border-radius:18px;overflow:hidden}
.canvas-node.relationshipHub .node-top{height:7px;background:linear-gradient(90deg,var(--node-accent),color-mix(in srgb,var(--node-accent) 50%,#7fb4ff))}
.canvas-node.relationshipHub .relationship-hub-body{padding:14px 16px 15px;display:flex;flex-direction:column;gap:6px}
.canvas-node.relationshipHub .node-kind{letter-spacing:.12em;color:var(--node-accent);font-weight:850}
.canvas-node.relationshipHub .node-title{font-size:17px;line-height:1.15;font-weight:850;color:#17263b}
.canvas-node.relationshipHub .node-sub{font-size:11px;color:#61728a}
.relationship-hub-count{min-width:28px;height:28px;padding:0 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--node-accent);color:#fff;font-size:11px;font-weight:900;box-shadow:0 4px 12px color-mix(in srgb,var(--node-accent) 25%,transparent)}
.canvas-node.relationshipHub .relationship-hub-badge{align-self:flex-start;background:color-mix(in srgb,var(--node-accent) 10%,#fff);border-color:color-mix(in srgb,var(--node-accent) 25%,#dbe4ef);color:var(--node-accent)}
.canvas-node.relationshipHub.quick-selected::after{content:'GROUP';color:var(--node-accent)}
.relationship-hub-modal{width:min(760px,94vw)}
.relationship-hub-members-block{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}
.relationship-hub-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;max-height:310px;overflow:auto;padding:2px}
.hub-member-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #dbe4ef;border-radius:11px;padding:9px 10px;background:#fbfdff;cursor:pointer}
.hub-member-row:hover{border-color:#9eb9e5;background:#f4f8ff}.hub-member-row input{margin:0}.hub-member-row span{font-size:12px;font-weight:750;color:#24364f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-member-row small{font-size:8px;font-weight:800;letter-spacing:.08em;color:#728197}
@media(max-width:620px){.relationship-hub-members{grid-template-columns:1fr}}


/* Slice 01.48 — Multi-select, group movement, organization & history */
.canvas-toolbar{height:auto;min-height:50px;flex-wrap:wrap;padding:7px 12px}
.canvas-selection-tools{gap:5px;flex-wrap:wrap}
.canvas-selection-tools .select.small{max-width:145px}
.canvas-node.quick-selected{box-shadow:0 0 0 4px rgba(47,111,228,.22),0 12px 28px rgba(20,35,60,.14)!important}
.canvas-node.quick-selected::after{content:'SEL';position:absolute;left:7px;top:5px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#2f6fe4;background:#fff;border:1px solid rgba(47,111,228,.18);border-radius:5px;padding:2px 4px;z-index:8}
.selection-marquee{position:absolute;z-index:50;border:1.5px solid rgba(47,111,228,.9);background:rgba(47,111,228,.11);border-radius:5px;pointer-events:none}
body.selecting-canvas,body.selecting-canvas *{cursor:crosshair!important}
.container-layer,.guide-layer{position:absolute;left:0;top:0;width:5000px;height:3000px;pointer-events:none}
.container-layer{z-index:0}
.edge-layer{z-index:1}
.node-layer{z-index:2}
.guide-layer{z-index:3}
.canvas-container{position:absolute;border:2px dashed color-mix(in srgb,var(--container-color,#64748b) 55%,transparent);background:color-mix(in srgb,var(--container-color,#64748b) 7%,transparent);border-radius:20px;pointer-events:auto;cursor:grab;overflow:visible}
.canvas-container.locked{border-style:solid;background:color-mix(in srgb,var(--container-color,#64748b) 10%,transparent)}
.canvas-container-label{position:absolute;left:14px;top:-15px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 28px);padding:5px 10px;border:1px solid color-mix(in srgb,var(--container-color,#64748b) 35%,#fff);border-radius:999px;background:#fff;color:#334155;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 4px 10px rgba(15,23,42,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.canvas-container-label::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--container-color,#64748b);flex:0 0 auto}
.canvas-container.selected{box-shadow:0 0 0 4px rgba(47,111,228,.15)}
.canvas-guide{position:absolute;background:rgba(47,111,228,.65);pointer-events:none}
.canvas-guide.vertical{width:1px;top:0;height:3000px}
.canvas-guide.horizontal{height:1px;left:0;width:5000px}
.relationship-hub-group-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.canvas-history-disabled{opacity:.45;pointer-events:none}
@media(max-width:1050px){
  .canvas-selection-tools{width:100%;order:8}
  .mode-hint{margin-left:0;width:100%;order:9}
}


/* Slice 01.50 — Creator frames, Canvas text and stronger group containers */
.canvas-creator-tools{gap:5px;flex-wrap:wrap}
.canvas-creator-tools .select.small{max-width:170px}
.creator-frame-layer{position:absolute;left:0;top:0;width:5000px;height:3000px;pointer-events:none;z-index:0}
.creator-frame{position:absolute;border:3px dashed rgba(37,99,235,.88);border-radius:18px;background:rgba(37,99,235,.025);box-shadow:0 0 0 1px rgba(255,255,255,.86) inset;pointer-events:none}
.creator-frame::after{content:'';position:absolute;inset:5% 5% 7%;border:1.5px dotted rgba(37,99,235,.42);border-radius:12px;pointer-events:none}
.creator-frame-handle{position:absolute;left:0;top:-34px;display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 11px;border:1px solid rgba(37,99,235,.38);border-radius:10px;background:#fff;color:#1e3a5f;box-shadow:0 7px 18px rgba(15,23,42,.12);font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;pointer-events:auto;cursor:grab;white-space:nowrap}
.creator-frame-handle b{color:#2563eb}
.creator-frame-size{color:#64748b;font-weight:800;letter-spacing:0;text-transform:none}
body.dragging-creator-frame,body.dragging-creator-frame *{cursor:grabbing!important}

.canvas-container{border-width:3px!important;border-style:solid!important;border-color:color-mix(in srgb,var(--container-color,#315fa8) 78%,#0f172a)!important;background:color-mix(in srgb,var(--container-color,#315fa8) 15%,transparent)!important;box-shadow:0 0 0 1px rgba(255,255,255,.45) inset}
.canvas-container[data-strength="subtle"]{border-width:2px!important;border-style:dashed!important;border-color:color-mix(in srgb,var(--container-color,#315fa8) 58%,#334155)!important;background:color-mix(in srgb,var(--container-color,#315fa8) 8%,transparent)!important}
.canvas-container[data-strength="strong"]{border-width:4px!important;border-color:color-mix(in srgb,var(--container-color,#315fa8) 90%,#0f172a)!important;background:color-mix(in srgb,var(--container-color,#315fa8) 23%,transparent)!important}
.canvas-container-label{top:-18px!important;border:2px solid color-mix(in srgb,var(--container-color,#315fa8) 68%,#0f172a)!important;background:color-mix(in srgb,var(--container-color,#315fa8) 13%,#fff)!important;color:#172b45!important;font-size:11px!important;padding:6px 11px!important}
.canvas-container.selected{box-shadow:0 0 0 5px rgba(37,99,235,.22)!important}

.canvas-node.canvasText{overflow:visible;border-radius:12px;box-shadow:none;cursor:grab}
.canvas-node.canvasText .canvas-text-body{height:100%;width:100%;box-sizing:border-box;padding:12px 14px;display:flex;align-items:flex-start;white-space:pre-wrap;overflow:hidden;line-height:1.18;overflow-wrap:anywhere}
.canvas-node.canvasText.text-align-center .canvas-text-body{text-align:center;justify-content:center}
.canvas-node.canvasText.text-align-right .canvas-text-body{text-align:right;justify-content:flex-end}
.canvas-node.canvasText.text-kind-title .canvas-text-body{line-height:1.05;letter-spacing:-.025em}
.canvas-node.canvasText.text-kind-section .canvas-text-body{text-transform:uppercase;letter-spacing:.045em}
.canvas-node.canvasText.text-kind-caption .canvas-text-body{font-style:italic}
.canvas-node.canvasText.text-no-background{background:transparent!important}
.canvas-node.canvasText.text-no-border{border-color:transparent!important}
.canvas-node.canvasText.text-locked{cursor:default}
.canvas-node.canvasText .canvas-text-kind-chip{position:absolute;right:7px;top:-19px;font-size:8px;font-weight:900;letter-spacing:.07em;color:#526276;background:#fff;border:1px solid #d9e2ec;border-radius:999px;padding:3px 6px;opacity:.72}
.canvas-node.canvasText.selected .canvas-text-kind-chip,.canvas-node.canvasText.quick-selected .canvas-text-kind-chip{opacity:1}
.canvas-text-dialog{max-width:760px}
.canvas-container-dialog{max-width:620px}
.canvas-presentation-options{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 2px}
.canvas-text-actions{flex-wrap:wrap}
.canvas-text-dialog textarea{resize:vertical}

@media(max-width:1050px){
  .canvas-creator-tools{width:100%;order:7}
}

/* Slice 01.51 — Focus Mode, large-board navigation, mini-map & collapsing groups */
.canvas-navigation-tools{gap:5px;flex-wrap:wrap;align-items:center}
.canvas-navigation-tools .canvas-search-input{width:190px;min-height:30px;border:1px solid var(--border,#d8e0e9);border-radius:8px;padding:6px 9px;background:#fff;color:var(--text,#172b45);font-size:11px}
.canvas-navigation-tools .select.small{max-width:125px}
.canvas-node.canvas-focus-dim{opacity:.14;filter:grayscale(.72);transform:scale(.985);pointer-events:auto}
.canvas-node.canvas-focus-related{opacity:1}
.canvas-node.canvas-focus-root{box-shadow:0 0 0 5px rgba(37,99,235,.22),0 18px 42px rgba(15,23,42,.20)!important;z-index:999!important}
.canvas-node.canvas-focus-root::before{content:'FOCUS';position:absolute;right:8px;top:7px;z-index:20;border-radius:999px;padding:3px 7px;background:#2563eb;color:#fff;font-size:8px;font-weight:900;letter-spacing:.07em}
.edge-group.canvas-focus-dim{opacity:.10}
.canvas-node.canvas-search-hit{outline:4px solid rgba(245,158,11,.72)!important;outline-offset:3px}
.canvas-node.relationship-hub-collapsed{box-shadow:0 8px 20px rgba(15,23,42,.12);border-style:dashed}
.canvas-node.relationship-hub-collapsed .relationship-hub-count{background:#315fa8;color:#fff}
.canvas-container-collapse{position:absolute;right:10px;top:-18px;z-index:8;width:28px;height:28px;border-radius:999px;border:2px solid color-mix(in srgb,var(--container-color,#315fa8) 72%,#0f172a);background:#fff;color:#1f3f67;font-weight:900;cursor:pointer;box-shadow:0 5px 14px rgba(15,23,42,.13)}
.canvas-container.collapsed{min-height:78px!important;border-style:solid!important;background:color-mix(in srgb,var(--container-color,#315fa8) 19%,#fff)!important;box-shadow:0 10px 26px rgba(15,23,42,.12)}
.canvas-container.collapsed .canvas-container-label{max-width:calc(100% - 58px)}
.canvas-container-collapsed-copy{position:absolute;inset:20px 15px 10px;display:flex;gap:7px;align-items:center;color:#334155;font-size:11px;font-weight:700}
.canvas-container-collapsed-copy strong{font-size:23px;color:var(--container-color,#315fa8)}
.canvas-minimap{position:absolute;right:14px;bottom:42px;width:236px;border:1px solid rgba(148,163,184,.58);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(15,23,42,.18);z-index:80;overflow:hidden;backdrop-filter:blur(6px)}
.canvas-minimap[hidden]{display:none}
.canvas-minimap-head{height:32px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4ed;background:#f8fafc;color:#263b53;font-size:10px}
.canvas-minimap-head strong{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.canvas-minimap-head span{color:#718096;font-weight:700}
.canvas-minimap-stage{height:132px;position:relative;overflow:hidden;background:linear-gradient(#f8fafc,#eef3f8);cursor:default}
.minimap-node{position:absolute;min-width:4px;min-height:4px;padding:0;border:0;border-radius:2px;background:var(--mini-color,#315fa8);opacity:.78;cursor:pointer;z-index:2}
.minimap-node:hover{opacity:1;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(37,99,235,.30)}
.minimap-node.dim{opacity:.16}.minimap-node.root{opacity:1;box-shadow:0 0 0 2px #fff,0 0 0 4px #2563eb;z-index:4}
.minimap-viewport{position:absolute;border:2px solid rgba(37,99,235,.85);background:rgba(37,99,235,.06);border-radius:4px;pointer-events:none;z-index:5}
.canvas-minimap-empty{height:100%;display:grid;place-items:center;color:#94a3b8;font-size:10px;font-weight:800}
.inspector-focus-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
@media(max-width:1100px){.canvas-navigation-tools{width:100%;order:7}.canvas-navigation-tools .canvas-search-input{flex:1;min-width:170px}.canvas-minimap{width:205px}.canvas-minimap-stage{height:116px}}
@media(max-width:700px){.canvas-minimap{right:8px;bottom:48px;width:180px}.canvas-minimap-stage{height:102px}}
.minimap-container{position:absolute;padding:0;border:2px solid var(--mini-color,#315fa8);border-radius:3px;background:color-mix(in srgb,var(--mini-color,#315fa8) 24%,#fff);cursor:pointer;z-index:3}
.minimap-container:hover{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(37,99,235,.25)}


/* Slice 01.52 — Saved Views & Layout Snapshots */
.canvas-layout-tools{gap:5px;flex-wrap:wrap}
.layout-view-select{min-width:155px;max-width:210px}
.layout-manager-modal{width:min(1040px,94vw);max-width:1040px}
.layout-manager-shell{display:flex;flex-direction:column;gap:16px}
.layout-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.layout-manager-section{border:1px solid #dbe5f0;border-radius:18px;padding:16px;background:linear-gradient(180deg,#fbfdff,#f5f8fc);min-width:0}
.layout-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.layout-section-heading h3{margin:2px 0 0;font-size:16px;color:#172b45}
.layout-record-list{display:flex;flex-direction:column;gap:9px;margin-top:14px;max-height:460px;overflow:auto;padding-right:3px}
.layout-record{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8e2ee;border-radius:14px;background:#fff;padding:12px;box-shadow:0 4px 12px rgba(15,39,70,.045)}
.layout-record.active{border-color:#2f6fe4;box-shadow:0 0 0 3px rgba(47,111,228,.10)}
.layout-record.snapshot{border-left:4px solid #7551bd}
.layout-record-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.layout-record-copy strong{font-size:13px;color:#172b45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout-record-copy span{font-size:10px;color:#718096;line-height:1.3}
.layout-record-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;flex:0 0 auto}
.layout-record-actions .btn.small{padding:5px 8px;font-size:10px}
@media(max-width:900px){.layout-manager-grid{grid-template-columns:1fr}.layout-record{align-items:flex-start;flex-direction:column}.layout-record-actions{justify-content:flex-start}.canvas-layout-tools{width:100%;order:3}}

/* Slice 01.53 — Professional Creator Presentation Tools */
.creator-studio-tools{gap:5px;flex-wrap:wrap}.creator-studio-tools .select.small{max-width:155px}.canvas.presentation-theme-midnight{background-color:#071426}.canvas.presentation-theme-courtroom{background-color:#f3eee4}.canvas.presentation-theme-evidence{background-color:#eef7f5}.canvas.presentation-theme-creator{background-color:#eaf2ff}.canvasShape{box-shadow:none!important;background:transparent!important;border:0!important;overflow:visible!important}.canvasShape .shape-body{width:100%;height:100%;position:relative;box-sizing:border-box}.canvasShape.shape-highlight .shape-body{border-radius:18px;background:var(--shape-fill);border:2px solid var(--shape-color)}.canvasShape.shape-box .shape-body{border-radius:18px;border:var(--shape-thickness) solid var(--shape-color)}.canvasShape.shape-divider .shape-body::before{content:'';position:absolute;left:0;right:0;top:50%;height:var(--shape-thickness);background:var(--shape-color)}.canvasShape.shape-arrow .shape-body::before{content:'';position:absolute;left:0;right:20px;top:50%;height:var(--shape-thickness);background:var(--shape-color)}.canvasShape.shape-arrow .shape-body::after{content:'';position:absolute;right:0;top:calc(50% - 14px);border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:24px solid var(--shape-color)}.canvas-shape-dialog{max-width:600px}.story-set-card{border-color:rgba(43,103,232,.4)!important;background:linear-gradient(180deg,#fff,#f5f9ff)!important}


/* Slice 01.54 — Relationship Intelligence */
.relationship-intelligence-tools{gap:5px;flex-wrap:wrap}
.relationship-intelligence-tools .select.small{max-width:175px}
.relationship-intelligence-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.relationship-status-chip,.source-backed-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;border:1px solid transparent}
.relationship-status-chip.rel-status-confirmed,.rel-status-confirmed .edge-label-bg{border-color:#86c99a}.relationship-status-chip.rel-status-confirmed{background:#e9f8ed;color:#12652a}
.relationship-status-chip.rel-status-reported,.rel-status-reported .edge-label-bg{border-color:#8bb5ef}.relationship-status-chip.rel-status-reported{background:#eaf2ff;color:#1d58aa}
.relationship-status-chip.rel-status-alleged,.rel-status-alleged .edge-label-bg{border-color:#e5b86e}.relationship-status-chip.rel-status-alleged{background:#fff4df;color:#9a5b00}
.relationship-status-chip.rel-status-disputed,.rel-status-disputed .edge-label-bg{border-color:#ef9c9c}.relationship-status-chip.rel-status-disputed{background:#fff0f0;color:#b42323}
.relationship-status-chip.rel-status-unknown,.rel-status-unknown .edge-label-bg{border-color:#bac5d2}.relationship-status-chip.rel-status-unknown{background:#f1f5f9;color:#526276}
.source-backed-chip{background:#e7f7f4;color:#0f766e;border-color:#99d8cc}
.relationship-source-link{color:#2563eb;font-weight:700;text-decoration:none}.relationship-source-link:hover{text-decoration:underline}
.relationship-card-intel{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap}.relationship-card-intel small{font-size:9px;font-weight:800;color:#64748b}
@media(max-width:1050px){.relationship-intelligence-tools{width:100%;order:8}}

/* Slice 01.55 — Case Templates */
.case-template-picker{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr);gap:14px;margin:14px 0 18px}.case-template-picker label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#17324f}.case-template-preview{border:1px solid #cddbef;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#eef5ff);padding:13px 15px;min-height:76px}.case-template-preview strong{display:block;color:#12365f;font-size:14px;margin-bottom:5px}.case-template-preview p{margin:0;color:#526b86;font-size:12px;line-height:1.45}.case-template-preview .template-preview-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.case-template-preview .template-preview-meta span{border:1px solid #c8d8ee;background:#fff;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;color:#315fa8}.briefing-template-guide{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:13px;max-width:720px}.briefing-template-guide span{background:#fff;border:1px solid #cbd9eb;color:#315fa8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.template-board-watermark{font-size:10px!important;letter-spacing:.08em;text-transform:uppercase;color:#6b83a0!important}@media(max-width:720px){.case-template-picker{grid-template-columns:1fr}}

/* Slice 01.56 — Import Center Upgrade */
.import-analysis-panel{margin:14px 0;padding:16px;border:1px solid #cdd9ea;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f5f8fd)}
.import-analysis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.import-analysis-head h3{margin:2px 0 0}.import-analysis-head>strong{padding:6px 10px;border-radius:999px;background:#e7f6ee;color:#17623a;font-size:12px}
.import-analysis-head>strong.warn{background:#fff4d8;color:#8a5a00}.import-analysis-head>strong.error{background:#fee8e8;color:#a01f1f}
.import-analysis-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.import-analysis-stat{padding:11px;border-radius:12px;background:#fff;border:1px solid #dbe4f0}.import-analysis-stat strong{display:block;font-size:20px;color:#17355d}.import-analysis-stat span{display:block;font-size:11px;color:#61738a;margin-top:2px}
.import-analysis-warnings{display:grid;gap:7px;margin-top:12px}.import-analysis-warning{display:flex;gap:8px;padding:9px 11px;border-radius:10px;background:#fff8e8;border:1px solid #f0d493;font-size:12px}.import-analysis-warning.error{background:#fff0f0;border-color:#efb0b0}.import-analysis-warning.ok{background:#edf9f2;border-color:#b8e3c9}.import-analysis-details{margin-top:10px}.import-analysis-detail-item{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #e4ebf4;font-size:12px}.import-analysis-detail-item strong{color:#294c78}.package-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eaf2ff;color:#235ebc;font-size:11px;font-weight:700;margin-left:6px}
@media(max-width:760px){.import-analysis-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Slice 01.57 — Media Intelligence */
.media-intelligence-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:-2px 0 10px}.media-usage-stats{font-size:10px;color:#68778a;margin-left:auto}.media-tile.media-select-mode{cursor:pointer}.media-tile.media-selected{box-shadow:0 0 0 3px rgba(43,103,232,.35);border-color:#2b67e8}.media-select-check{position:absolute;left:6px;top:6px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);border:1px solid #cbd5e1;font-weight:900;color:#2b67e8;z-index:3}.media-usage-badge{position:absolute;left:6px;bottom:52px;padding:3px 6px;border-radius:999px;background:rgba(7,20,38,.82);color:#fff;font-size:8px;font-weight:800;letter-spacing:.04em}.media-primary-badge{position:absolute;right:6px;bottom:52px;padding:3px 6px;border-radius:999px;background:#2b67e8;color:#fff;font-size:8px;font-weight:800}.media-bulk-dialog,.entity-media-dialog{max-width:820px}.entity-media-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}.entity-media-item{border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;background:#fff;position:relative}.entity-media-item img{width:100%;aspect-ratio:1.25;object-fit:cover}.entity-media-item-copy{padding:7px}.entity-media-item-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-media-actions{display:flex;gap:4px;padding:0 7px 8px;flex-wrap:wrap}.entity-media-actions .btn{font-size:9px;padding:4px 6px}.entity-media-primary{box-shadow:0 0 0 2px #2b67e8}.entity-media-primary::after{content:'PRIMARY';position:absolute;right:5px;top:5px;background:#2b67e8;color:#fff;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}.media-crop-panel{border:1px solid #dbe3ef;background:#f8fbff;border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.media-crop-panel>strong{grid-column:1/-1}.media-crop-panel label{font-size:11px;display:flex;flex-direction:column;gap:5px}.media-crop-panel input[type=range]{width:100%}.node-media-thumb.media-smart-crop,.briefing-card-media img.media-smart-crop{object-position:var(--media-x,50%) var(--media-y,50%);transform:scale(var(--media-zoom,1));transform-origin:var(--media-x,50%) var(--media-y,50%)}.inspector-media-gallery-strip{display:flex;gap:5px;margin:6px 0;overflow:auto}.inspector-media-gallery-strip img{width:48px;height:40px;object-fit:cover;border-radius:6px;border:1px solid #dbe3ef}.media-meta-caption{font-size:10px;color:#64748b;margin-top:5px}.media-meta-attribution{font-size:9px;color:#7c8798;margin-top:2px}@media(max-width:650px){.entity-media-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.media-crop-panel{grid-template-columns:1fr}}


/* Slice 01.58 — Creator Profiles & Partner Onboarding */
.creator-profile-card{grid-column:1/-1}
.creator-profile-heading{align-items:flex-start}.creator-profile-status-stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.creator-verified-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e7f7ef;color:#13683f;font-size:11px;font-weight:800;border:1px solid #b9e6cf}
.creator-profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.creator-profile-preview{border:1px solid #d8e3ef;border-radius:18px;padding:22px;background:linear-gradient(180deg,#f8fbff,#fff);display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;position:sticky;top:16px}
.creator-profile-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#102b51;color:white;font-weight:900;font-size:27px;border:5px solid white;box-shadow:0 8px 26px rgba(16,43,81,.18);background-size:cover;background-position:center}
.creator-profile-preview>strong{font-size:19px;color:#10253e}.creator-profile-preview>span{color:#315fa8;font-weight:750}.creator-profile-preview>p{font-size:12px;line-height:1.5;color:#5b6f83;margin:5px 0 8px}
.creator-profile-preview-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.creator-profile-preview-links a{font-size:10px;font-weight:800;text-decoration:none;padding:5px 8px;border-radius:999px;background:#eef4fb;color:#264d78}
.creator-profile-preview-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:8px}.creator-profile-preview-meta span{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;background:#edf2f7;color:#385069}
.creator-profile-form .span-2{grid-column:1/-1}.creator-mode-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe5ef;border-radius:12px;padding:12px 14px;margin-top:12px}.creator-mode-check span{display:grid;gap:2px}.creator-mode-check small{color:#6b7e91}
.creator-featured-cases-block{margin-top:14px;border:1px solid #dbe5ef;border-radius:13px;padding:14px}.creator-featured-cases-head{display:flex;justify-content:space-between;gap:16px;align-items:end}.creator-featured-cases-head small{color:#6b7e91}.creator-featured-case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.creator-featured-case-option{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border:1px solid #e1e8ef;border-radius:10px;background:#fbfdff}.creator-featured-case-option span{display:grid}.creator-featured-case-option small{color:#718296}.creator-profile-actions{display:flex;align-items:center;gap:14px;margin-top:15px}.creator-onboarding-card{border-color:#bfd4f5!important;background:linear-gradient(180deg,#f4f8ff,#fff)!important}
.admin-creator-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:12px;border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff}.admin-creator-controls>.eyebrow{grid-column:1/-1}
@media(max-width:900px){.creator-profile-layout{grid-template-columns:1fr}.creator-profile-preview{position:static}.creator-featured-case-list{grid-template-columns:1fr}.admin-creator-controls{grid-template-columns:1fr}}


/* Slice 01.59.1 — Case Canvas grouped ribbon */
.canvas-ribbon{height:auto!important;min-height:62px!important;display:flex!important;align-items:stretch!important;gap:7px!important;padding:7px 9px!important;flex-wrap:wrap!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;border-bottom:1px solid #d7e1ee!important;overflow:visible!important}
.canvas-ribbon-mobile{align-self:center}
.ribbon-group{--ribbon-accent:#64748b;position:relative;display:flex;flex-direction:column;gap:3px;padding:5px 7px 7px;border:1px solid #dbe4ef;border-top:3px solid var(--ribbon-accent);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 2px 7px rgba(30,55,90,.04);min-width:0}
.ribbon-label{font-size:8px;line-height:1;font-weight:900;letter-spacing:.11em;color:var(--ribbon-accent);padding-left:2px;user-select:none}
.ribbon-actions{display:flex;align-items:center;gap:4px;min-height:31px}
.ribbon-board{--ribbon-accent:#475569}.ribbon-add{--ribbon-accent:#2563eb}.ribbon-connect{--ribbon-accent:#7c3aed}.ribbon-arrange{--ribbon-accent:#0f766e}.ribbon-navigate{--ribbon-accent:#0284c7}.ribbon-present{--ribbon-accent:#7e22ce}
.canvas-ribbon .btn.small,.canvas-ribbon .select.small,.canvas-ribbon .canvas-search-input{min-height:29px;border-radius:7px;font-size:10.5px;padding:5px 7px}
.canvas-ribbon .select.small{max-width:126px}.canvas-ribbon .board-select{max-width:140px}.canvas-ribbon .layout-view-select{max-width:120px}.canvas-ribbon .canvas-search-input{width:112px;padding:5px 8px;border:1px solid #cfd9e6}
.icon-compact{min-width:29px!important;padding:4px!important;font-size:15px!important}.primary-soft{background:#eef5ff!important;border-color:#b9d0f8!important;color:#1d4f9f!important;font-weight:800}
.ribbon-more{position:relative}.ribbon-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:29px;padding:5px 7px;border:1px solid #d4deea;border-radius:7px;background:#fff;color:#526275;font-size:10.5px;font-weight:700;white-space:nowrap}.ribbon-more>summary::-webkit-details-marker{display:none}.ribbon-more[open]>summary{border-color:var(--ribbon-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ribbon-accent) 14%,transparent)}
.ribbon-menu{position:absolute;z-index:500;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:170px;padding:8px;background:#fff;border:1px solid #d4deea;border-radius:10px;box-shadow:0 14px 32px rgba(25,45,75,.18)}.ribbon-menu-wide{min-width:215px}.ribbon-menu .btn,.ribbon-menu .select{width:100%;max-width:none!important;text-align:left}.ribbon-menu-note{font-size:10px;line-height:1.35;color:#738196;padding:4px 2px}.ribbon-zoom-row{display:grid;grid-template-columns:34px 1fr 34px;gap:4px}
.canvas-ribbon .mode-hint{display:flex;align-items:center;margin-left:auto;padding:0 6px;font-size:10px;max-width:180px}
.canvas-context-toolbar{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 11px;border-bottom:1px solid #d9e3f0;background:#f5f9ff;box-shadow:0 2px 7px rgba(35,70,120,.04);font-size:11px}.canvas-context-toolbar[hidden]{display:none}.canvas-context-title{display:flex;align-items:center;gap:7px;min-width:180px;max-width:310px}.canvas-context-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-context-kind{padding:3px 6px;border-radius:999px;background:#e5eefc;color:#315fa8;font-size:8px;font-weight:900;letter-spacing:.08em}.canvas-context-actions{display:flex;gap:5px;flex-wrap:wrap}.canvas-context-toolbar .btn.small{padding:5px 8px;font-size:10px}
@media(max-width:1250px){.canvas-ribbon{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important}.ribbon-group{flex:0 0 auto}.canvas-ribbon .mode-hint{display:none}}
@media(max-width:700px){.canvas-context-title{min-width:0;max-width:160px}.canvas-context-toolbar{overflow-x:auto}.canvas-context-actions{flex-wrap:nowrap}.ribbon-label{font-size:7px}}

/* Slice 01.60 — Following, Activity Feed & Notifications */
.nav-unread-badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;margin-left:5px;align-items:center;justify-content:center;border-radius:999px;background:#d92d20;color:#fff;font-size:10px;font-weight:800;vertical-align:middle}.activity-shell{max-width:1280px;margin:0 auto;padding:24px}.activity-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin-bottom:16px}.activity-hero h1{margin:4px 0 6px}.activity-hero p{margin:0;color:var(--muted)}.activity-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.activity-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:7px;background:#eef3f8;border:1px solid #d9e2ec;border-radius:14px;margin-bottom:16px}.activity-section-tab{appearance:none;border:0;background:transparent;padding:9px 14px;border-radius:10px;font:inherit;font-weight:700;color:#53657a;cursor:pointer}.activity-section-tab.active{background:#fff;color:#173f74;box-shadow:0 1px 4px rgba(15,39,66,.1)}.notification-count-chip{display:inline-flex;min-width:19px;height:19px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#e9eff8;color:#315fa8;font-size:11px;margin-left:4px}.activity-feed,.notification-list{display:grid;gap:12px}.activity-card{display:grid;grid-template-columns:54px 1fr;gap:14px;background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,39,66,.05)}.activity-card-icon{width:48px;height:48px;border-radius:13px;background:#eaf2ff;color:#2b67e8;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}.activity-card-meta{display:flex;justify-content:space-between;gap:10px;color:#687b90;font-size:12px}.activity-card h3{margin:4px 0}.activity-card p{margin:0 0 10px;color:#56697d}.activity-follow-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.following-list{display:grid;gap:8px}.following-row{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #e0e7ef;border-radius:12px}.following-row>div:nth-child(2){flex:1}.following-row strong,.following-row span{display:block}.following-row span{font-size:12px;color:#718198}.following-row-actions{margin-left:auto;display:flex;gap:6px}.creator-mini-avatar,.creator-profile-avatar.small{width:42px;height:42px;border-radius:50%;background:#173f74;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;flex:0 0 auto}.creator-mini-avatar img,.creator-profile-avatar.small img{width:100%;height:100%;object-fit:cover}.notification-row{display:grid;grid-template-columns:16px 1fr;gap:8px;background:#fff;border:1px solid #e0e7ef;border-radius:14px;padding:14px}.notification-row.unread{border-color:#9abef4;background:#f6f9ff}.notification-dot{width:8px;height:8px;border-radius:50%;background:#c6d1dc;margin-top:7px}.notification-row.unread .notification-dot{background:#2b67e8}.notification-row p{margin:3px 0;color:#53677c}.notification-row span{font-size:11px;color:#8493a3}.activity-discover-toolbar{display:flex;gap:8px;margin-bottom:14px}.activity-discover-toolbar .search{flex:1}.creator-discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.creator-discover-card{background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:16px}.creator-discover-head{display:flex;gap:11px;align-items:center}.creator-discover-head h3{margin:0}.creator-discover-head span{font-size:12px;color:#718198}.creator-discover-card>p{min-height:44px;color:#56697d}.creator-discover-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#718198}.creator-verified-inline{color:#2b67e8}.public-case-card [data-case-follow]{margin-left:4px}@media(max-width:800px){.activity-shell{padding:14px}.activity-hero{align-items:flex-start;flex-direction:column}.activity-follow-grid{grid-template-columns:1fr}.activity-card{grid-template-columns:1fr}.activity-card-icon{display:none}}
\n/* Slice 01.61 — Comments, Reactions & Community Discussion */
.discussion-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;flex-wrap:wrap}
.discussion-controls .discussion-filters{flex:1}.discussion-sort-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:#52697e;text-transform:uppercase;letter-spacing:.04em}.discussion-sort-label .select{min-width:155px;text-transform:none;letter-spacing:0}
.discussion-post-actions{align-items:center;justify-content:space-between;flex-wrap:wrap}.discussion-reaction-bar{display:flex;gap:6px;flex-wrap:wrap}.discussion-reaction{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5e0e9;background:#f8fafc;color:#4a6175;border-radius:999px;padding:5px 9px;font:700 .72rem/1 system-ui,sans-serif;cursor:pointer}.discussion-reaction:hover{border-color:#9db8d0;background:#f0f6fb}.discussion-reaction.active{background:#e5f1ff;border-color:#74a9dd;color:#16558f}.discussion-reaction span{font-size:.7rem}.discussion-reaction b{min-width:16px;text-align:center;color:inherit}.discussion-thread-header>span{display:block}.notification-actions{margin-top:8px}
@media(max-width:700px){.discussion-controls{align-items:stretch}.discussion-sort-label{width:100%;justify-content:space-between}.discussion-sort-label .select{flex:1}.discussion-reaction span{display:none}.discussion-reaction{padding:6px 8px}}

/* Slice 01.62 — Reputation / Trust / Source Quality */
.trust-shell{max-width:1500px;margin:0 auto;padding:26px;display:grid;gap:18px}.trust-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:24px}.trust-hero h1{margin:.2rem 0 .35rem}.trust-hero p{max-width:820px;margin:0;color:var(--muted)}.trust-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.trust-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.trust-metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:3px}.trust-metric strong{font-size:1.65rem;color:var(--navy)}.trust-metric span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.trust-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:18px}.trust-source-panel,.trust-reputation-panel,.trust-gaps-panel{padding:18px}.trust-source-list,.trust-gap-list{display:grid;gap:10px}.trust-source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.trust-source-main{display:grid;gap:6px}.trust-source-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trust-source-title strong{color:var(--navy)}.trust-source-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.trust-score{min-width:74px;text-align:center;border-radius:12px;padding:9px 10px;font-weight:800;border:1px solid}.trust-score.strong{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.trust-score.review{background:#fffbeb;color:#92400e;border-color:#fde68a}.trust-score.weak{background:#fef2f2;color:#991b1b;border-color:#fecaca}.trust-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:800;letter-spacing:.03em;background:#eef2ff;color:#3730a3}.trust-badge.official{background:#e0f2fe;color:#075985}.trust-badge.disputed{background:#fef2f2;color:#991b1b}.source-quality-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.source-quality-badge.strong{background:#dcfce7;color:#166534}.source-quality-badge.review{background:#fef3c7;color:#92400e}.source-quality-badge.weak{background:#fee2e2;color:#991b1b}.trust-reputation-card{display:grid;gap:14px}.trust-reputation-head{display:flex;align-items:center;gap:13px}.trust-reputation-head img{width:64px;height:64px;object-fit:contain}.trust-reputation-head strong{font-size:1.2rem;color:var(--navy)}.trust-reputation-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trust-reputation-score div{border:1px solid var(--line);border-radius:11px;padding:11px}.trust-reputation-score strong{display:block;font-size:1.25rem}.trust-reputation-score span{font-size:.76rem;color:var(--muted)}.trust-principles{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.trust-principles ul{padding-left:19px;color:var(--muted);line-height:1.55}.trust-gap-row{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line)}.trust-gap-row:last-child{border-bottom:0}.trust-gap-row span{color:var(--muted);font-size:.82rem}.trust-disclaimer{font-size:.78rem;color:var(--muted);background:#f8fafc;border:1px solid var(--line);padding:10px;border-radius:10px}
@media(max-width:1050px){.trust-grid{grid-template-columns:1fr}.trust-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.trust-shell{padding:14px}.trust-hero{flex-direction:column}.trust-metrics{grid-template-columns:1fr}.trust-source-row{grid-template-columns:1fr}.trust-score{justify-self:start}}

/* Slice 01.63 — Pro Membership & Billing UI */
.membership-billing-card{border:1px solid #c9d8ea;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.membership-billing-heading{align-items:flex-start}.membership-plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.membership-plan-card{position:relative;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.membership-plan-card.pro{border-color:#79a8e8;box-shadow:0 10px 28px rgba(31,91,166,.12)}.membership-plan-card.current{outline:2px solid #2b67e8;outline-offset:2px}.membership-plan-card h3{margin:0 0 6px}.membership-plan-price{font-size:26px;font-weight:900;color:#0c2c52}.membership-plan-price small{font-size:11px;color:var(--muted);font-weight:700}.membership-plan-features{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none;font-size:12px;color:#40546b}.membership-plan-features li:before{content:'✓';color:#16866e;font-weight:900;margin-right:7px}.membership-current-pill{position:absolute;right:12px;top:12px;background:#e8f0ff;color:#245aa6;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.membership-billing-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.membership-billing-detail>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.membership-billing-detail strong,.membership-billing-detail span{display:block}.membership-billing-detail strong{font-size:9px;text-transform:uppercase;color:var(--muted)}.membership-billing-detail span{font-size:12px;font-weight:800;margin-top:4px}.membership-billing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.membership-billing-note{margin-top:12px;padding:11px;border-radius:10px;background:#f2f6fb;color:#53667b;font-size:11px;line-height:1.5}.membership-request-status{margin-top:10px}.membership-request-chip{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border-radius:999px;background:#fff6db;border:1px solid #eed48e;font-size:11px;font-weight:800;color:#785d13}.admin-membership-request-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.admin-membership-request-list{display:grid;gap:8px}.admin-membership-request-row{display:grid;grid-template-columns:minmax(180px,1.3fr) 100px 110px minmax(170px,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font-size:11px}.admin-membership-request-row strong,.admin-membership-request-row span{display:block}.admin-membership-request-actions{display:flex;gap:6px;justify-content:flex-end}.membership-status-expired{color:#8c4d25}.membership-status-past_due{color:#9b3030}@media(max-width:820px){.membership-plan-cards,.membership-billing-detail{grid-template-columns:1fr}.admin-membership-request-row{grid-template-columns:1fr}.admin-membership-request-actions{justify-content:flex-start}}

/* Slice 01.64 — Moderation Center & Reporting */
.moderation-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px}.moderation-filter-bar .select{min-width:150px}.moderation-report-list{display:grid;gap:12px}.platform-report-card{border-left:4px solid #64748b}.platform-report-card.priority-high{border-left-color:#d97706}.platform-report-card.priority-urgent{border-left-color:#b91c1c}.platform-report-card.priority-low{border-left-color:#64748b}.moderation-metric-grid{margin-bottom:16px}.moderation-metric-grid .admin-metric{background:linear-gradient(180deg,#fff,#f8fbff)}.admin-platform-report-panel{margin-bottom:16px}.admin-discussion-report-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-discussion-report-meta{display:flex;gap:10px 18px;flex-wrap:wrap}.public-case-actions [data-platform-report-type],.creator-discover-footer [data-platform-report-type]{opacity:.78}.public-case-actions [data-platform-report-type]:hover,.creator-discover-footer [data-platform-report-type]:hover{opacity:1}


/* Slice 01.65 — Search / Discovery / Trending Cases */
.discovery-hero{background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 56%,#f7f3ff 100%);border:1px solid #d9e6f7}
.discovery-spotlight{background:#0b203b;color:#fff;border-radius:18px;padding:18px 20px;margin:0 0 18px;box-shadow:0 16px 38px rgba(10,32,59,.14)}
.discovery-spotlight .panel-heading{margin:0 0 13px}.discovery-spotlight .eyebrow{color:#77c6ff}.discovery-spotlight h2{color:#fff;margin:2px 0 0}.discovery-explainer{font-size:11px;color:#aac1dc;max-width:440px;text-align:right}
.trending-case-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trending-case-card{display:grid;grid-template-columns:34px 1fr;gap:10px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px;cursor:pointer;transition:.16s ease}.trending-case-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.11);border-color:rgba(119,198,255,.5)}.trending-rank{font-size:18px;font-weight:950;color:#77c6ff}.trending-card-top{display:flex;justify-content:space-between;gap:8px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#9eb6d2}.trending-card-top strong{color:#77c6ff}.trending-case-card h3{font-size:15px;line-height:1.2;color:#fff;margin:7px 0 4px}.trending-case-card p{font-size:10px;color:#a9bdd5;margin:0 0 10px}.trending-stats{display:flex;gap:9px;flex-wrap:wrap;font-size:9px;color:#d4e2f2}
.discovery-search-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,auto)) auto auto auto;gap:8px;align-items:center}.discovery-search-toolbar .select{min-width:0}.trending-case-chip{background:#efe8ff!important;color:#5e33aa!important;border-color:#d8c7fa!important}.public-discovery-stats{display:flex;gap:14px;flex-wrap:wrap;padding:9px 0 2px;color:#6a7f96;font-size:10px}.public-discovery-stats strong{color:#173b67;font-weight:900}
@media(max-width:1180px){.trending-case-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-search-toolbar{grid-template-columns:1fr 1fr 1fr}.discovery-search-toolbar .explore-search{grid-column:1/-1}.discovery-explainer{text-align:left}}
@media(max-width:680px){.trending-case-strip{grid-template-columns:1fr}.discovery-search-toolbar{grid-template-columns:1fr 1fr}.discovery-search-toolbar .explore-search{grid-column:1/-1}.discovery-spotlight{padding:15px}.discovery-spotlight .panel-heading{display:block}.discovery-explainer{display:block;margin-top:8px}}

/* Slice 01.66 — Creator Analytics */
.creator-analytics-shell{max-width:1500px;margin:0 auto;padding:24px;display:grid;gap:18px}.creator-analytics-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px}.creator-analytics-hero h1{margin:5px 0 8px}.creator-analytics-hero p{max-width:780px;margin:0;color:var(--muted)}.creator-analytics-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.creator-analytics-summary{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.creator-analytics-stat{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;display:grid;gap:5px}.creator-analytics-stat strong{font-size:28px;line-height:1}.creator-analytics-stat span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.creator-analytics-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px}.creator-analytics-chart{min-height:260px;padding:16px;display:flex;align-items:flex-end;gap:7px;overflow-x:auto}.analytics-bar-col{min-width:22px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:220px}.analytics-bar{width:100%;max-width:38px;min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#4aa3ff,#265fd2)}.analytics-bar-col small{font-size:9px;color:var(--muted);white-space:nowrap}.analytics-bar-col b{font-size:10px}.creator-analytics-funnel{padding:18px;display:grid;gap:12px}.analytics-funnel-row{display:grid;grid-template-columns:120px 1fr 56px;gap:10px;align-items:center}.analytics-funnel-track{height:13px;background:#e8edf5;border-radius:999px;overflow:hidden}.analytics-funnel-fill{height:100%;background:linear-gradient(90deg,#315fa8,#55b5ff);border-radius:999px}.analytics-funnel-row strong{text-align:right}.creator-analytics-table{overflow:auto}.creator-analytics-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(6,minmax(80px,.6fr));gap:8px;align-items:center;padding:12px 14px;border-top:1px solid var(--border)}.creator-analytics-row.header{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:0;background:rgba(49,95,168,.05)}.creator-analytics-case-title strong{display:block}.creator-analytics-case-title span{display:block;font-size:11px;color:var(--muted);margin-top:2px}@media(max-width:1100px){.creator-analytics-summary{grid-template-columns:repeat(3,1fr)}.creator-analytics-grid{grid-template-columns:1fr}.creator-analytics-row{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(70px,.7fr))}.creator-analytics-hide-mobile{display:none}}@media(max-width:650px){.creator-analytics-shell{padding:12px}.creator-analytics-hero{flex-direction:column}.creator-analytics-summary{grid-template-columns:repeat(2,1fr)}.creator-analytics-row{grid-template-columns:minmax(170px,2fr) repeat(2,minmax(64px,.7fr))}}


/* Slice 01.67 — Production Hardening / Launch Candidate */
.runtime-status-banner{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:9999;max-width:min(760px,calc(100vw - 28px));padding:10px 14px;border-radius:12px;background:#7c2d12;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.28);font-size:13px;font-weight:700}
.runtime-status-banner.info{background:#0f3b66}.runtime-status-banner.success{background:#166534}
.launch-health-card{min-height:178px}.launch-health-list{display:grid;gap:7px}.launch-health-row{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line,#dbe3ed);border-radius:10px;background:rgba(255,255,255,.72)}
.launch-health-row strong{font-size:13px}.launch-health-row span{font-size:12px;color:var(--muted,#667085)}.launch-health-row .health-ok{color:#15803d}.launch-health-row .health-warn{color:#b45309}.launch-health-row .health-bad{color:#b91c1c}
@media(max-width:700px){.runtime-status-banner{top:8px}.launch-health-row{grid-template-columns:20px 1fr}.launch-health-row span:last-child{grid-column:2}}


/* Slice 01.68 — Mobile Case Canvas Redesign */
.mobile-canvas-header,.mobile-canvas-dock,.mobile-canvas-sheet,.mobile-canvas-float-nav{display:none}

@media(max-width:820px){
  body.mobile-canvas-active{overflow:hidden;background:#edf2f8}
  body.mobile-canvas-active>.runtime-status-banner{z-index:1000}
  body.mobile-canvas-active .topbar,
  body.mobile-canvas-active .tabs,
  body.mobile-canvas-active #systemAnnouncement{display:none!important}
  body.mobile-canvas-active main{height:100dvh;overflow:hidden}
  body.mobile-canvas-active #canvasView.active{height:100dvh;overflow:hidden}
  body.mobile-canvas-active #canvasView .workspace{
    height:100dvh!important;min-height:0!important;width:100%;overflow:hidden;
    background:#e8eef5;display:grid!important;grid-template-columns:minmax(0,1fr)!important
  }
  body.mobile-canvas-active .canvas-pane{position:relative;height:100dvh;display:grid;grid-template-rows:58px minmax(0,1fr) 68px;overflow:hidden;background:#eef3f8}
  body.mobile-canvas-active .canvas-ribbon{display:none!important}
  .mobile-canvas-header{
    display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;
    height:58px;padding:6px 9px;background:rgba(255,255,255,.97);border-bottom:1px solid #dbe4ef;
    box-shadow:0 5px 16px rgba(21,44,72,.07);z-index:35
  }
  .mobile-canvas-icon-btn{
    width:38px;height:38px;border:1px solid #d7e1ed;border-radius:12px;background:#fff;color:#17324f;
    font-size:22px;font-weight:850;display:grid;place-items:center;padding:0;box-shadow:0 2px 7px rgba(18,42,70,.05)
  }
  .mobile-canvas-icon-btn:active{transform:scale(.96);background:#f2f6fb}
  .mobile-canvas-header-actions{display:flex;gap:5px}
  .mobile-canvas-header-actions .mobile-canvas-icon-btn{width:35px;height:35px;font-size:18px}
  .mobile-tools-trigger{letter-spacing:1px;font-size:16px!important}
  .mobile-canvas-title{min-width:0;display:grid;gap:1px}
  .mobile-canvas-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#10263e}
  .mobile-canvas-board-select{
    min-width:0;width:100%;max-width:210px;border:0;background:transparent;color:#5b6f85;
    font-size:10.5px;font-weight:750;padding:1px 20px 1px 0;outline:none
  }
  body.mobile-canvas-active .canvas{border:0;min-height:0;height:auto!important;background-size:20px 20px;touch-action:none}
  body.mobile-canvas-active .canvas-help{display:none}
  body.mobile-canvas-active .canvas-watermark{bottom:76px;right:10px;font-size:8px;opacity:.65}
  body.mobile-canvas-active .canvas-minimap{display:none;right:10px;bottom:145px;width:178px;z-index:28}
  body.mobile-canvas-active .canvas-minimap.mobile-visible{display:block}
  .mobile-canvas-float-nav{
    display:grid;position:absolute;right:10px;top:12px;z-index:24;gap:6px
  }
  .mobile-canvas-float-nav button{
    width:42px;height:42px;border-radius:13px;border:1px solid #d5e0ec;background:rgba(255,255,255,.95);
    color:#17324f;font-size:19px;font-weight:900;box-shadow:0 5px 16px rgba(23,50,82,.12)
  }
  .mobile-canvas-float-nav button:last-child{font-size:10px;letter-spacing:.02em}
  .mobile-canvas-dock{
    position:relative;pointer-events:auto;touch-action:manipulation;
    display:grid;grid-template-columns:repeat(5,1fr);height:68px;background:rgba(255,255,255,.98);
    border-top:1px solid #d9e3ef;box-shadow:0 -7px 22px rgba(24,47,75,.09);z-index:34;padding:4px 8px max(4px,env(safe-area-inset-bottom))
  }
  .mobile-canvas-dock button{
    position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;
    border:0;background:transparent;color:#5f7085;border-radius:12px;display:grid;place-items:center;align-content:center;gap:2px;
    min-width:0;font-size:18px
  }
  .mobile-canvas-dock button b{font-size:9.5px;letter-spacing:.01em}
  .mobile-canvas-dock button:active,.mobile-canvas-dock button.active{background:#eaf2ff;color:#235fb5}
  .mobile-canvas-dock .mobile-save-dock{background:#173f70;color:#fff;margin:4px 3px;border-radius:13px;box-shadow:0 4px 12px rgba(23,63,112,.18)}
  .mobile-canvas-dock .mobile-save-dock:active{background:#0f315a;color:#fff}
  .mobile-canvas-dock .mobile-save-dock:disabled{opacity:.48;box-shadow:none}
  .mobile-canvas-sheet{
    display:block;position:fixed;left:8px;right:8px;bottom:72px;z-index:260;max-height:min(68dvh,580px);
    overflow:hidden;background:#fff;border:1px solid #d8e3ef;border-radius:22px 22px 16px 16px;
    box-shadow:0 -12px 44px rgba(14,35,60,.22);transform:translateY(12px);animation:mobileSheetIn .16s ease forwards
  }
  .mobile-canvas-sheet[hidden]{display:none!important}
  @keyframes mobileSheetIn{to{transform:translateY(0)}}
  .mobile-canvas-sheet-grab{width:42px;height:4px;border-radius:99px;background:#d2dbe6;margin:8px auto 1px}
  .mobile-canvas-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;border-bottom:1px solid #edf1f5}
  .mobile-canvas-sheet-head h3{margin:2px 0 0;font-size:17px;color:#10263e}
  .mobile-canvas-sheet-head .eyebrow{font-size:7px}
  .mobile-canvas-sheet-body{padding:12px;overflow:auto;max-height:calc(min(68dvh,580px) - 70px)}
  .mobile-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-sheet-action{
    border:1px solid #dbe4ef;background:#fff;border-radius:14px;padding:12px 10px;min-height:62px;text-align:left;
    color:#19354f;display:flex;gap:9px;align-items:center;font-weight:800;font-size:11px
  }
  .mobile-sheet-action span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef4fb;color:#2a64ad;font-size:16px;flex:0 0 auto}
  .mobile-sheet-action.primary{background:#edf5ff;border-color:#b8d3f7;color:#1e5ba6}
  .mobile-sheet-action.danger{color:#a53030;background:#fff7f7}
  .mobile-sheet-wide{grid-column:1/-1}
  .mobile-sheet-section{margin:2px 0 12px}
  .mobile-sheet-section>strong{display:block;font-size:9px;letter-spacing:.09em;color:#7c8999;margin:0 2px 7px}
  .mobile-sheet-select{width:100%;border:1px solid #dbe4ef;border-radius:12px;padding:11px 12px;background:#fff;font-size:12px;color:#17324f}
  .mobile-sheet-note{font-size:10px;color:#78889b;line-height:1.4;margin:8px 2px 0}
  body.mobile-canvas-active .canvas-context-toolbar{
    position:absolute;left:8px;right:8px;bottom:72px;z-index:43;border:1px solid #d8e3ef;border-radius:17px;
    min-height:58px;padding:8px 9px;background:rgba(255,255,255,.98);box-shadow:0 -8px 26px rgba(21,45,75,.16);
    overflow-x:auto;overflow-y:hidden;align-items:center
  }
  body.mobile-canvas-active .canvas-context-title{min-width:118px;max-width:142px;display:grid;gap:2px}
  body.mobile-canvas-active .canvas-context-kind{justify-self:start}
  body.mobile-canvas-active .canvas-context-title strong{font-size:10.5px}
  body.mobile-canvas-active .canvas-context-actions{display:flex;flex-wrap:nowrap;gap:5px}
  body.mobile-canvas-active .canvas-context-toolbar .btn.small{min-height:38px;padding:7px 9px;font-size:9.5px;border-radius:11px;white-space:nowrap}
  body.mobile-canvas-active .quick-relationship-bar{
    position:absolute;left:8px;right:8px;bottom:142px;z-index:42;border:1px solid #d9e4f0;border-radius:15px;
    box-shadow:0 7px 24px rgba(20,44,72,.14);padding:8px;background:#fff
  }
  body.mobile-canvas-active .canvas-node.professional-card{border-radius:15px}
  body.mobile-canvas-active .professional-card .node-title{font-size:13px}
  body.mobile-canvas-active .professional-card .node-sub{font-size:10px}
  body.mobile-canvas-active .professional-card .node-body{padding:10px 11px 9px}
  body.mobile-canvas-active .professional-card .node-media-frame{height:132px}
  body.mobile-canvas-active .professional-card.density-compact .node-media-frame{height:82px}
  body.mobile-canvas-active .professional-card.density-visual .node-media-frame{height:170px}
  body.mobile-canvas-active .node-resize-handle{width:22px!important;height:22px!important}
  body.mobile-canvas-active .library-pane,
  body.mobile-canvas-active .inspector-pane{
    position:fixed!important;top:0!important;bottom:0!important;height:100dvh!important;z-index:55!important;
    width:min(92vw,380px)!important;max-width:none!important
  }
  body.mobile-canvas-active .library-pane{left:0}
  body.mobile-canvas-active .inspector-pane{right:0}
  body.mobile-canvas-active .mobile-canvas-backdrop{position:fixed!important;z-index:54!important;inset:0!important}
}
@media(max-width:430px){
  body.mobile-canvas-active .canvas-pane{grid-template-rows:56px minmax(0,1fr) 66px}
  .mobile-canvas-header{height:56px}
  .mobile-canvas-dock{height:66px}
  .mobile-canvas-sheet{left:5px;right:5px;bottom:69px}
  body.mobile-canvas-active .canvas-context-toolbar{left:5px;right:5px;bottom:69px}
  .mobile-canvas-float-nav{right:7px}
}


/* Slice 01.68 — Launch Readiness & Account Experience */
.launch-connectivity-banner{position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fff4d8;border-bottom:1px solid #e5bb52;color:#533b08}.launch-connectivity-banner[hidden]{display:none}.launch-connectivity-banner strong{font-size:13px}.launch-connectivity-banner span{font-size:12px;flex:1}.launch-role-picker{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 14px;padding:10px 12px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fbff}.launch-role-picker>span{font-size:12px;font-weight:800;color:#52667d;margin-right:3px}.launch-role-picker button{border:1px solid #cdd9e6;background:#fff;color:#19334f;border-radius:999px;padding:7px 10px;font:700 12px/1 system-ui;cursor:pointer}.launch-role-picker button.active{background:#173f70;border-color:#173f70;color:white}.launch-account-settings{margin-top:18px}.launch-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.launch-setting-card{padding:15px;border:1px solid #dfe7f0;border-radius:14px;background:#fbfdff}.launch-setting-card h3{margin:0 0 4px;color:#17324f}.launch-setting-card p{margin:0 0 12px;color:#66788b;font-size:12px}.launch-setting-card label{display:grid;gap:5px;margin:8px 0;font-size:12px;font-weight:700;color:#40566e}.launch-setting-card input[type=email],.launch-setting-card input[type=password]{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cfdbe8;border-radius:9px}.launch-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px;border:1px solid #efc3c3;background:#fff8f8;border-radius:14px}.launch-danger-zone>div:first-child{display:grid;gap:3px}.launch-danger-zone strong{color:#872d2d}.launch-danger-zone span,.launch-danger-zone small{font-size:12px;color:#765050}.account-legal-links{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;padding:16px;color:#64778b;font-size:12px}.account-legal-links div{display:flex;gap:12px;flex-wrap:wrap}.account-legal-links a{color:#24558d;font-weight:700;text-decoration:none}.launch-readiness-card .admin-summary-row strong{font-variant-numeric:tabular-nums}.launch-welcome-tour{position:fixed;inset:auto 18px 18px auto;z-index:210;width:min(360px,calc(100vw - 36px));padding:16px;border-radius:16px;background:#0e2948;color:#fff;box-shadow:0 18px 50px rgba(6,25,45,.28)}.launch-welcome-tour h3{margin:0 0 5px}.launch-welcome-tour p{margin:0 0 12px;color:#d6e6f7;font-size:13px}.launch-welcome-tour-actions{display:flex;gap:8px;justify-content:flex-end}.launch-welcome-tour .btn{background:#fff;color:#153755;border-color:#fff}.launch-welcome-tour .btn.ghost{background:transparent;color:#fff;border-color:#6d88a4}@media(max-width:760px){.launch-account-grid{grid-template-columns:1fr}.launch-danger-zone{align-items:flex-start;flex-direction:column}.launch-connectivity-banner{position:fixed;left:0;right:0;top:0}.account-legal-links{padding-bottom:86px}}


/* Slice 01.71 — Production Release */
.membership-payment-status{min-height:0;margin:4px 0 10px;font-size:.86rem;color:#52667d}
.membership-payment-status.success{color:#147a52}.membership-payment-status.error{color:#b42318}.membership-payment-status.pending{color:#8a5a00}
.membership-plan-card.pro .membership-plan-price{letter-spacing:-.02em}.membership-billing-actions{flex-wrap:wrap}
.membership-secure-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #d7e3f2;border-radius:999px;background:#f8fbff;color:#29496a;font-size:.78rem;font-weight:700}

/* Slice 01.71 — Live Launch Polish & User Conversion */
.beta-app-chip{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#e7f0ff;color:#245da9;font-size:9px;font-weight:900;letter-spacing:.09em;white-space:nowrap}.beta-feedback-fab{position:fixed;right:18px;bottom:18px;z-index:155;border:1px solid #b7cce8;border-radius:999px;background:#fff;color:#17324f;padding:10px 15px;font:800 11px/1 system-ui;box-shadow:0 10px 28px rgba(16,45,77,.18);cursor:pointer}.beta-feedback-fab:hover{border-color:#6594d6;transform:translateY(-1px)}.beta-feedback-dialog{width:min(660px,calc(100vw - 28px))}.feedback-intro{margin:-2px 0 16px;color:#64778b;font-size:12px;line-height:1.55}.feedback-contact{display:flex!important;flex-direction:row!important;gap:9px;align-items:flex-start!important;margin-top:10px}.feedback-contact input{width:auto!important;margin-top:3px}.feedback-contact span{font-size:12px;color:#5c7085}.public-case-card,.dashboard-card,.account-card,.panel{scroll-margin-top:90px}@media(max-width:820px){.beta-feedback-fab{display:none!important}.beta-app-chip{display:none}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.view h1{line-height:1.1}.panel-heading{gap:10px}.panel-heading h2{font-size:18px}.admin-panel-header,.cases-header{gap:14px}.account-card,.panel{border-radius:14px}.top-actions .btn{min-height:38px}}

.admin-feedback-list{display:grid;gap:9px}.admin-feedback-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:14px;align-items:start;padding:13px;border:1px solid #e0e8f0;border-radius:12px;background:#fbfdff}.admin-feedback-row strong,.admin-feedback-row span{display:block}.admin-feedback-row span{margin-top:3px;color:#718398;font-size:10px}.admin-feedback-row p{margin:8px 0 0;color:#34495e;font-size:12px;line-height:1.5;white-space:pre-wrap}@media(max-width:700px){.admin-feedback-row{grid-template-columns:1fr}}

/* v1.71.2 mobile Canvas corrections */
@media(max-width:820px){body.mobile-canvas-active.connect-mode .canvas-node{touch-action:manipulation}.mobile-canvas-dock{overflow:visible}.mobile-canvas-dock button{min-height:52px}}


/* v1.71.3 — Mobile Add Object viewport fit */
@media(max-width:820px){
  #objectEditorDialog.object-editor-modal{
    width:min(94vw,620px)!important;
    max-width:94vw!important;
    height:min(92dvh,720px)!important;
    max-height:92dvh!important;
    margin:auto!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }
  #objectEditorDialog.object-editor-modal::backdrop{background:rgba(10,24,42,.5)}
  #objectEditorDialog #objectEditorForm{
    box-sizing:border-box;
    height:100%;
    max-height:92dvh;
    padding:0!important;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    background:#fff;
  }
  #objectEditorDialog .modal-heading{
    position:relative;
    padding:10px 12px 8px;
    min-height:48px;
    border-bottom:1px solid var(--line);
    background:#fff;
    z-index:3;
  }
  #objectEditorDialog .modal-heading .eyebrow{font-size:8px;line-height:1}
  #objectEditorDialog .modal-heading h2{font-size:18px;line-height:1.05;margin-top:3px}
  #objectEditorDialog .modal-heading .icon-btn{width:36px;height:36px;min-width:36px}
  #objectEditorDialog .object-editor-body{
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    padding:2px 12px 10px;
    scrollbar-width:thin;
  }
  #objectEditorDialog .form-grid{gap:7px}
  #objectEditorDialog .form-grid.two-col{grid-template-columns:1fr!important}
  #objectEditorDialog label{margin-top:7px;font-size:10px;line-height:1.2}
  #objectEditorDialog input,
  #objectEditorDialog textarea,
  #objectEditorDialog select{
    min-height:36px;
    margin-top:4px;
    padding:7px 9px;
    border-radius:8px;
    font-size:12px;
    box-sizing:border-box;
  }
  #objectEditorDialog textarea{min-height:58px;max-height:86px;resize:vertical}
  #objectEditorDialog .field-help{font-size:9px;line-height:1.25;margin-top:3px}
  #objectEditorDialog .multi-select{min-height:72px!important;height:72px}
  #objectEditorDialog .object-links-grid{margin-top:5px}
  #objectEditorDialog .check-row{margin:7px 0 0;display:flex;gap:7px;align-items:flex-start}
  #objectEditorDialog .check-row input{width:auto;min-height:auto;margin-top:1px;padding:0}
  #objectEditorDialog .object-editor-danger{margin-top:8px;padding:8px;font-size:10px}
  #objectEditorDialog .modal-actions{
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;
    min-height:58px;
    display:grid!important;
    grid-template-columns:1fr 1.35fr;
    gap:8px;
    align-items:center;
    border-top:1px solid var(--line);
    background:#fff;
    box-shadow:0 -8px 18px rgba(19,47,77,.08);
    z-index:5;
  }
  #objectEditorDialog .modal-actions .btn{
    width:100%;
    min-height:40px;
    margin:0;
    font-size:12px;
  }
  body:has(#objectEditorDialog[open]){overflow:hidden!important;overscroll-behavior:none}
}
@media(max-width:420px){
  #objectEditorDialog.object-editor-modal{width:94vw!important;height:91dvh!important;max-height:91dvh!important}
  #objectEditorDialog #objectEditorForm{max-height:91dvh}
  #objectEditorDialog .modal-heading{padding:8px 10px 7px}
  #objectEditorDialog .object-editor-body{padding:1px 10px 8px}
  #objectEditorDialog label{margin-top:5px}
  #objectEditorDialog input,#objectEditorDialog textarea,#objectEditorDialog select{min-height:34px;padding:6px 8px}
  #objectEditorDialog .modal-actions{padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;min-height:56px}
}
