:root {
  --ink: #152722;
  --muted: #6f7c77;
  --line: #e6ebe7;
  --paper: #ffffff;
  --bg: #f3f5f1;
  --green: #0b694d;
  --green-2: #12835f;
  --mint: #dff2e8;
  --amber: #c97920;
  --orange: #f1a75c;
  --red: #b84f41;
  --shadow: 0 14px 40px rgba(31, 52, 44, .07);
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 236px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 18px 20px; background: #102e26; color: white; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 28px; border-bottom: 1px solid rgba(255,255,255,.11); }
.brand-mark { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 14px; display: grid; place-items: center; color: #153c30; background: linear-gradient(145deg, #f7d293, #e9a85d); font: 800 12px/1.15 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-align: center; }
.brand-copy { min-width: 0; }
.brand strong, .brand span, .brand small { display: block; }
.brand strong { font-size: 21px; line-height: 1.25; letter-spacing: .01em; }
.brand span { margin-top: 4px; color: #a8c1b8; font-size: 14.3px; }
.brand small { margin-top: 5px; color: #edbd7b; font-size: 10px; font-weight: 700; }
nav { display: grid; gap: 8px; margin-top: 26px; }
.nav-item { width: 100%; border: 0; padding: 13px 15px; border-radius: 12px; background: transparent; color: #bad0c8; text-align: left; display: flex; gap: 13px; align-items: center; }
.nav-item span { width: 21px; color: #d3e3dc; font-size: 18px; text-align: center; }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.1); color: white; }
.nav-item.active { box-shadow: inset 3px 0 #edb266; }
.sidebar-foot { margin-top: auto; display: flex; gap: 10px; align-items: center; padding: 14px 10px; border-top: 1px solid rgba(255,255,255,.11); color: #dcebe5; }
.sidebar-foot strong, .sidebar-foot small { display: block; }
.sidebar-foot strong { font-size: 12px; }.sidebar-foot small { margin-top: 3px; color: #8fb1a5; font-size: 10px; }
.mode-dot { width: 9px; height: 9px; border-radius: 50%; background: #55d495; box-shadow: 0 0 0 5px rgba(85,212,149,.12); }
main { min-width: 0; padding: 0 42px 56px; }
.topbar { min-height: 116px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.eyebrow { margin: 0 0 7px; color: #819088; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 29px; letter-spacing: -.04em; }
h2 { margin-bottom: 0; font-size: 19px; letter-spacing: -.02em; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.version { padding: 8px 12px; border-radius: 999px; background: #e4ece7; color: #466258; font-size: 12px; font-weight: 700; }
button.primary, button.secondary { border-radius: 10px; padding: 10px 16px; font-weight: 700; border: 1px solid transparent; }
button.primary { background: var(--green); color: white; box-shadow: 0 7px 18px rgba(11,105,77,.16); }
button.primary:hover { background: var(--green-2); }
button.secondary { background: white; color: #344b43; border-color: #d9e1dc; }
button:disabled { cursor: wait; opacity: .65; }
.wide { width: 100%; }
.page { display: none; }.page.active { display: block; }
.safety-banner { padding: 17px 20px; border: 1px solid #cce1d5; border-radius: 15px; background: linear-gradient(95deg, #e9f5ee, #f8fbf7); display: flex; align-items: center; gap: 14px; }
.safety-banner .shield { width: 40px; height: 40px; border-radius: 12px; background: var(--green); color: white; display: grid; place-items: center; font-weight: 800; }
.safety-banner strong { font-size: 15px; }.safety-banner p { margin: 4px 0 0; color: #5f736b; font-size: 12px; }
.safety-banner > span { margin-left: auto; padding: 7px 10px; border-radius: 999px; color: var(--green); background: white; font-size: 11px; font-weight: 700; }
.stats { margin: 22px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat-card { position: relative; overflow: hidden; min-height: 122px; padding: 19px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
.stat-card::after { content: ''; position: absolute; right: -22px; bottom: -34px; width: 95px; height: 95px; border-radius: 50%; background: #e9f2ec; }
.stat-card span, .stat-card small, .stat-card strong { display: block; position: relative; z-index: 1; }
.stat-card span { color: var(--muted); font-size: 12px; }.stat-card strong { margin: 9px 0 5px; font: 700 32px Georgia, serif; }.stat-card small { color: #9aa59f; }
.stat-card.s2::after { background: #fbecd9; }.stat-card.s3::after { background: #f5e6e2; }
.dashboard-grid, .two-column { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 18px; margin-bottom: 18px; }
.panel { padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--shadow); }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.muted { color: var(--muted); font-size: 12px; }.block-copy { line-height: 1.7; }
.text-btn { border: 0; background: transparent; color: var(--green); font-weight: 700; font-size: 12px; }
.focus-list { display: grid; }
.focus-item { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; border: 0; border-top: 1px solid #edf0ed; background: transparent; padding: 13px 2px; text-align: left; }
.focus-item:first-child { border-top: 0; }.focus-item:hover strong { color: var(--green); }
.focus-item strong, .focus-item small { display: block; }.focus-item strong { font-size: 13px; }.focus-item small { margin-top: 5px; color: #87928d; font-size: 11px; }
.priority { width: 37px; padding: 4px 0; border-radius: 6px; display: inline-block; font-style: normal; text-align: center; font-size: 10px; font-weight: 800; }
.priority.p0 { color: #a43f35; background: #f8e5e1; }.priority.p1 { color: #97601b; background: #faedd8; }.priority.p2 { color: #416259; background: #e6eeea; }
.status { padding: 5px 8px; border-radius: 7px; font-style: normal; font-size: 10px; font-weight: 700; white-space: nowrap; }
.status.active { color: #0d7655; background: #e2f3eb; }.status.review { color: #a36319; background: #fff0d9; }.status.pending { color: #a24c3e; background: #f8e5e1; }.status.ready { color: #38628c; background: #e4eff9; }.status.draft,.status.off { color: #6d7773; background: #edf0ee; }
.progress-panel { text-align: center; }.progress-panel .panel-head { text-align: left; }
.progress-ring { --progress: 0deg; width: 124px; height: 124px; margin: 5px auto 17px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--green) var(--progress), #e7ede9 0); position: relative; }
.progress-ring::before { content: ''; position: absolute; inset: 10px; border-radius: 50%; background: white; }.progress-ring span { position: relative; font: 700 26px Georgia, serif; }
.progress-panel > p { min-height: 40px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.layer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.layer-grid article { min-height: 150px; padding: 17px; border-radius: 13px; background: #f7f8f5; border: 1px solid #edf0ed; }
.layer-no { color: #b6c2bc; font: italic 16px Georgia, serif; }.layer-grid h3 { margin: 17px 0 7px; }.layer-grid p { color: var(--muted); font-size: 12px; line-height: 1.6; }.layer-grid b { color: var(--green); font-size: 11px; }
.controls-panel { display: grid; grid-template-columns: minmax(250px, 2fr) repeat(5, minmax(115px, 1fr)); gap: 10px; padding: 14px; }
.search-wrap { position: relative; }.search-wrap span { position: absolute; left: 13px; top: 9px; color: #88938e; font-size: 21px; }.search-wrap input { padding-left: 39px; }
input, select, textarea { width: 100%; border: 1px solid #dfe5e1; border-radius: 10px; padding: 10px 12px; background: #fbfcfa; color: var(--ink); outline: 0; }
input:focus, select:focus, textarea:focus { border-color: #5d9b82; box-shadow: 0 0 0 3px rgba(18,131,95,.09); }
textarea { resize: vertical; line-height: 1.6; }
.library-head { margin: 17px 2px 11px; display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }.library-head p { margin: 0; }
.legend { display: flex; align-items: center; gap: 6px; }.legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }.legend i.p1 { margin-left: 8px; background: var(--amber); }
.instruction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.instruction-card { min-height: 330px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 8px 25px rgba(34,56,48,.04); cursor: pointer; display: flex; flex-direction: column; transition: transform .18s ease, box-shadow .18s ease; }
.instruction-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(34,56,48,.09); }.card-top { display: flex; justify-content: space-between; }
.card-id { margin: 18px 0 7px; color: #8c9892; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.instruction-card h3 { margin-bottom: 10px; font-size: 16px; }
.directive { color: #56665f; font-size: 12px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 12px; }.tags span { padding: 4px 7px; border-radius: 5px; color: #527165; background: #edf4f0; font-size: 9px; }
.scope-summary { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }.scope-summary span { padding:4px 7px; border-radius:6px; font-size:9px; font-weight:700; }.scene-chip { color:#236348; background:#dff0e7; }.audience-chip { color:#8a5a1c; background:#f8ecd9; }.target-line { margin:8px 0 0; color:#7d6451; font-size:9px; line-height:1.5; }
.instruction-card footer { margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf0ee; display: flex; justify-content: space-between; color: #8c9692; font-size: 9px; }.instruction-card footer b { color: #61736b; }
.small-badge { padding: 6px 9px; border-radius: 7px; background: #f5e9d8; color: #926221; font-size: 10px; font-weight: 700; }
.check-list { display: grid; gap: 8px; }.check-row { display: grid; grid-template-columns: 22px 1fr; gap: 11px; align-items: center; padding: 13px; border: 1px solid #e7ebe8; border-radius: 11px; cursor: pointer; }
.check-row:hover { background: #fafbf9; }.check-row input { display: none; }.custom-check { width: 21px; height: 21px; border: 1.5px solid #c7d1cc; border-radius: 6px; color: transparent; display: grid; place-items: center; font-size: 11px; }
.check-row.done .custom-check { color: white; border-color: var(--green); background: var(--green); }.check-row.done strong { color: #7b8782; text-decoration: line-through; }
.check-row strong, .check-row small { display: block; }.check-row strong { font-size: 12px; }.check-row small { margin-top: 4px; color: #959e9a; font-size: 10px; }
.sticky-panel { align-self: start; position: sticky; top: 18px; }.health-row { width: 100%; display: grid; gap: 8px; border: 0; border-top: 1px solid #edf0ed; padding: 12px 0; background: transparent; text-align: left; }.health-row:first-child { border-top: 0; }
.health-row strong,.health-row small { display:block; }.health-row strong { font-size: 12px; }.health-row small { margin-top: 3px; color:#a06625; font-size:10px; }.mini-progress { height: 4px; border-radius: 4px; background:#edf0ee; overflow:hidden; }.mini-progress i { display:block; height:100%; background:var(--orange); }
.release-layout { grid-template-columns: 1.1fr .9fr; }.source-list { display: grid; gap: 8px; }.source-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; padding: 12px; border-radius: 11px; background: #f7f9f6; }
.file-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background:#e0eee7; color:var(--green); font-size:9px; font-weight:800; }.source-row strong,.source-row small { display:block; }.source-row strong { font-size:12px; }.source-row small { margin-top:3px; color:#8a9690; font-size:9px; }.source-meta { color:#85918b; font: 10px ui-monospace, monospace; }
.source-row.missing { background:#fbebe7; }.source-row.missing .file-icon { color:var(--red); background:#f4dcd6; }
.release-card { padding: 28px; background: linear-gradient(145deg,#153d31,#0d2d25); color:white; }.release-card .eyebrow { color:#9ec1b4; }.release-card h2 { font-size:24px; }.release-card > p:not(.eyebrow) { margin:14px 0 20px; color:#b9d0c7; font-size:12px; line-height:1.7; }
.release-flow { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:20px 0; }.release-flow span { padding:7px 9px; border-radius:7px; background:rgba(255,255,255,.08); font-size:10px; }.release-flow b { color:#e8b66f; }
.release-card .primary { background:#ebb26a; color:#143329; box-shadow:none; }.export-result { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:15px; }.export-result strong,.export-result small { grid-column:1/-1; }.export-result a { color:white; text-decoration:none; padding:8px; border:1px solid rgba(255,255,255,.2); border-radius:7px; text-align:center; font-size:10px; }.export-result small { color:#9fc0b4; }
.history-list { position:relative; }.history-list::before { content:''; position:absolute; left:14px; top:18px; bottom:18px; width:1px; background:#dce3df; }.history-row { position:relative; display:grid; grid-template-columns:30px 1fr auto; gap:13px; padding:12px 0; align-items:center; }.timeline-dot { position:relative; z-index:1; width:29px; height:29px; border-radius:50%; background:#e4efe9; color:var(--green); display:grid; place-items:center; font-size:9px; font-weight:800; }.history-row strong { font-size:12px; }.history-row p { margin:4px 0 0; color:var(--muted); font-size:11px; }.history-row time { color:#7d8983; font-size:10px; text-align:right; }.history-row time small { display:block; margin-top:4px; }
.scenario-hero { margin-bottom:18px; padding:25px 27px; border-radius:18px; background:linear-gradient(120deg,#faf0df,#f5dfbf); border:1px solid #efd2a8; display:flex; justify-content:space-between; align-items:center; gap:20px; }.scenario-hero h2 { font-size:25px; }.scenario-hero p:last-child { margin:8px 0 0; color:#765f43; font-size:12px; }.scenario-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.scenario-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.scenario-stats span,.scenario-stats strong,.scenario-stats small { display:block; }.scenario-stats span { color:var(--muted); font-size:10px; }.scenario-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.scenario-stats small { color:#99a39f; font-size:9px; }
.scenario-architecture { margin-bottom:18px; padding:14px; border:1px solid #dce6e1; border-radius:15px; background:#fff; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; }.scenario-architecture > b { color:#bf8c4b; font-size:18px; }.scenario-architecture article { min-width:0; padding:13px; border-radius:11px; background:#f6f9f7; display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:center; }.scenario-architecture article > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; background:#165e49; font:700 13px Georgia,serif; }.scenario-architecture small,.scenario-architecture strong,.scenario-architecture p { display:block; }.scenario-architecture small { color:#89958f; font-size:8px; }.scenario-architecture strong { margin:3px 0; font-size:12px; }.scenario-architecture p { margin:0; color:#738078; font-size:8px; }
.scenario-role-panel { margin-bottom:18px; }.scenario-role-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.scenario-role-button { padding:10px; border:1px solid #e0e7e3; border-radius:10px; background:#fafbf9; display:grid; grid-template-columns:32px 1fr; gap:9px; align-items:center; text-align:left; }.scenario-role-button:hover,.scenario-role-button.active { border-color:#187154; background:#e8f3ee; }.scenario-role-button > span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; color:#1a664e; background:#e2eee8; font:700 11px Georgia,serif; }.scenario-role-button.active > span { color:#fff; background:#17694f; }.scenario-role-button strong,.scenario-role-button small { display:block; }.scenario-role-button strong { overflow:hidden; color:#30483f; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.scenario-role-button small { margin-top:3px; color:#8a9690; font-size:8px; }
.scenario-controls { display:grid; grid-template-columns:minmax(260px,2fr) repeat(3,minmax(130px,1fr)); gap:10px; padding:14px; margin-bottom:18px; }.scenario-groups { display:grid; gap:26px; }.scenario-group-head { margin-bottom:12px; padding:10px 12px; border-left:4px solid #17694f; border-radius:8px; background:#f5f8f6; display:grid; grid-template-columns:43px 1fr auto; gap:10px; align-items:center; }.scenario-group-number { width:41px; height:41px; display:grid!important; place-items:center; border-radius:10px; color:#fff; background:#17694f; font:700 15px Georgia,serif; }.scenario-group-copy { min-width:0; display:grid!important; grid-template-columns:auto auto 1fr; gap:8px!important; align-items:center; }.scenario-group-copy span { font-size:15px; font-weight:800; }.scenario-group-copy b { padding:4px 7px; border-radius:6px; color:#597067; background:#e0ebe5; font-size:9px; }.scenario-group-copy small { min-width:0; color:#75827c; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.scenario-group-head p { margin:0; color:#9b6b2d; font-size:10px; }.scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.scenario-card { min-height:380px; padding:18px; border:1px solid var(--line); border-radius:15px; background:white; box-shadow:0 8px 25px rgba(34,56,48,.04); cursor:pointer; display:flex; flex-direction:column; transition:.18s; }.scenario-card:hover { transform:translateY(-3px); border-color:#a9cabb; box-shadow:0 16px 32px rgba(34,56,48,.09); }.scene-card-header { margin-bottom:11px; display:flex; justify-content:space-between; align-items:flex-start; }.scenario-number { display:flex; align-items:baseline; gap:4px; }.scenario-number strong { color:#143f32; font:700 34px/1 Georgia,serif; }.scenario-number span { color:#a4aea9; font:700 9px Georgia,serif; }.scene-card-badges { display:flex; gap:6px; align-items:center; }.identity-role-line { margin:0 0 8px; display:flex; align-items:center; gap:7px; }.identity-role-line b { padding:4px 7px; border-radius:6px; color:#fff; background:#17694f; font-size:8px; }.identity-role-line span { color:#45675a; font-size:9px; font-weight:800; }.scenario-card h3 { margin-bottom:10px; font-size:17px; }.scenario-description { color:#56665f; font-size:11px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }.scenario-meta { margin-top:12px; display:grid; gap:6px; }.scenario-meta span { color:#74827c; font-size:9px; line-height:1.45; }.scenario-card footer { margin-top:auto; padding-top:13px; border-top:1px solid #edf0ee; display:flex; justify-content:space-between; color:#8c9692; font-size:9px; }.scenario-card footer b { color:#61736b; }
.task-hero { margin-bottom:18px; padding:25px 27px; border-radius:18px; color:white; background:linear-gradient(120deg,#173d33,#256c54); display:flex; justify-content:space-between; align-items:center; gap:20px; }.task-hero .eyebrow { color:#a6c9bc; }.task-hero h2 { font-size:25px; }.task-hero p:last-child { margin:8px 0 0; color:#c5ddd4; font-size:12px; }.memory-badge { padding:8px 11px; border-radius:999px; color:#244738; background:#efbd76; font-size:10px; font-weight:800; white-space:nowrap; }
.task-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.task-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.task-stats span,.task-stats strong,.task-stats small { display:block; }.task-stats span { color:var(--muted); font-size:10px; }.task-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.task-stats small { color:#99a39f; font-size:9px; }
.task-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:18px; align-items:start; }.task-list { display:grid; gap:14px; }.task-card { padding:21px; border:1px solid #dce7e1; border-radius:17px; background:white; box-shadow:var(--shadow); }.task-card h3 { margin-bottom:10px; font-size:20px; }.task-memory-state { padding:10px 12px; border-radius:10px; color:#5e6f68; background:#eaf3ee; font-size:11px; }.task-memory-state strong { color:#116c50; }.task-schedule { color:#52635c; font-size:11px; line-height:1.7; }.task-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:13px 0; }.task-facts span { min-width:0; padding:9px 10px; border-radius:9px; color:#697972; background:#f7f9f7; font-size:9px; line-height:1.5; overflow-wrap:anywhere; }.task-facts b { display:block; margin-bottom:3px; color:#324d43; font-size:9px; }.task-definition { padding:12px; border-left:3px solid #e6ae68; color:#617069; background:#fffaf3; font-size:10px; line-height:1.65; }.task-definition b { display:block; margin-bottom:4px; color:#80551f; }.task-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }.task-actions button { padding:9px 12px; font-size:10px; }.remind-btn { border:1px solid #df9b45; border-radius:10px; color:#7c4a13; background:#f9e5c9; font-weight:800; }.task-boundary { display:block; margin-top:10px; color:#929e98; font-size:8px; }
.decision-panel { margin-bottom:18px; scroll-margin-top:18px; border-color:#e2c18b; background:linear-gradient(145deg,#fffdf9,#fff7e9); }.decision-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }.decision-head h2 { font-size:23px; }.decision-head p:last-child { max-width:720px; margin:8px 0 0; color:#6c685e; font-size:11px; line-height:1.6; }.decision-head-actions { display:flex; gap:8px; align-items:center; }.decision-principles { margin:17px 0; display:flex; flex-wrap:wrap; gap:7px; }.decision-principles span { padding:7px 9px; border:1px solid #ead9bd; border-radius:8px; color:#6e5b40; background:#fff; font-size:9px; }.decision-principles b { margin-right:6px; color:#12684e; font:700 9px Georgia,serif; }.decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }.decision-card { min-height:360px; padding:16px; border:1px solid #eadcc5; border-radius:13px; background:#fff; cursor:pointer; display:flex; flex-direction:column; transition:.18s; }.decision-card:hover { transform:translateY(-2px); border-color:#d19a4d; box-shadow:0 12px 26px rgba(99,70,33,.08); }.decision-card-head { display:flex; justify-content:space-between; align-items:flex-start; }.decision-card-head > span { color:#155e48; font:700 29px/1 Georgia,serif; }.decision-card h3 { margin:8px 0; font-size:15px; }.decision-question { min-height:42px; color:#5f6f67; font-size:10px; line-height:1.55; }.decision-recommendation,.decision-result { margin-top:10px; padding:10px; border-radius:9px; }.decision-recommendation { background:#f1f7f4; }.decision-result { background:#fff6e8; }.decision-recommendation b,.decision-recommendation span,.decision-result b,.decision-result span { display:block; }.decision-recommendation b,.decision-result b { margin-bottom:5px; color:#1c624d; font-size:8px; }.decision-recommendation span,.decision-result span { color:#66756e; font-size:9px; line-height:1.55; }.decision-card footer { margin-top:auto; padding-top:11px; border-top:1px solid #eee8de; display:flex; justify-content:space-between; gap:8px; color:#8b938f; font-size:8px; }.decision-card footer span { max-width:78%; }.decision-card footer b { color:#9b6325; white-space:nowrap; }.decision-boundary { display:block; margin-top:13px; color:#9a8c78; font-size:8px; }.decision-open-btn { border-color:#d8ad6d; color:#80541f; background:#fff7e9; }
.task-log-panel { position:sticky; top:18px; max-height:calc(100vh - 36px); overflow:auto; }.task-log-list { display:grid; }.task-log-row { display:grid; grid-template-columns:27px 1fr auto; gap:10px; padding:12px 0; border-top:1px solid #edf0ee; align-items:start; }.task-log-row:first-child { border-top:0; }.task-log-row > span { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; color:#17694f; background:#e4f0ea; font-size:8px; font-weight:800; }.task-log-row strong { font-size:11px; }.task-log-row p { margin:4px 0; color:#66766f; font-size:9px; line-height:1.55; }.task-log-row div small { color:#9b7651; font-size:8px; overflow-wrap:anywhere; }.task-log-row time { color:#7f8b85; font-size:8px; text-align:right; white-space:nowrap; }.task-log-row time small { display:block; margin-top:4px; }
.svip-hero,.brand-hero { margin-bottom:18px; padding:25px 27px; border-radius:18px; display:flex; justify-content:space-between; align-items:center; gap:20px; }.svip-hero { border:1px solid #ecd2a9; background:linear-gradient(120deg,#fff5e6,#f6dfbb); }.brand-hero { border:1px solid #bdd8cc; background:linear-gradient(120deg,#123b31,#1d624d); color:white; }.svip-hero h2,.brand-hero h2 { font-size:25px; }.svip-hero p:last-child,.brand-hero p:last-child { margin:8px 0 0; font-size:12px; }.svip-hero p:last-child { color:#765f43; }.brand-hero .eyebrow,.brand-hero p:last-child { color:#b9d5cb; }.brand-hero .primary { background:#edb66f; color:#173a2f; box-shadow:none; }
.svip-stats,.brand-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.svip-stats article,.brand-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.svip-stats span,.svip-stats strong,.svip-stats small,.brand-stats span,.brand-stats strong,.brand-stats small { display:block; }.svip-stats span,.brand-stats span { color:var(--muted); font-size:10px; }.svip-stats strong,.brand-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.svip-stats small,.brand-stats small { color:#99a39f; font-size:9px; }
.svip-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:18px; align-items:start; }.svip-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.svip-card { padding:20px; border:1px solid #e3e8e4; border-radius:16px; background:white; box-shadow:var(--shadow); }.svip-tier { padding:5px 8px; border-radius:7px; color:#7d4b16; background:#f8e7cc; font-size:9px; font-weight:800; }.svip-card h3 { margin-bottom:10px; font-size:19px; }.svip-card h3 small { color:#8b9691; font-size:9px; font-weight:600; }.svip-cadence { min-height:44px; color:#68766f; font-size:10px; line-height:1.6; }.svip-health { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:12px 0; }.svip-health span { padding:8px; border-radius:8px; color:#7f8d86; background:#f7f9f7; font-size:8px; }.svip-health b { display:block; margin-top:4px; color:#274f40; font-size:10px; }.svip-boundary { margin:12px 0 0; color:#9b6b31; font-size:9px; }.svip-empty { min-height:230px; display:grid; place-items:center; border:1px dashed #d1dcd6; border-radius:16px; background:white; }.svip-side-panel { max-height:650px; overflow:auto; }.svip-playbook-list { display:grid; gap:8px; }.svip-playbook { display:grid; grid-template-columns:auto 1fr; gap:10px; padding:11px; border-radius:10px; background:#f8faf7; }.svip-playbook > span { align-self:start; padding:5px 7px; border-radius:6px; color:#24624d; background:#e2f0e8; font-size:8px; font-weight:800; }.svip-playbook strong,.svip-playbook small { display:block; }.svip-playbook strong { font-size:11px; }.svip-playbook small { margin-top:4px; color:#9a7650; font-size:8px; }.svip-playbook p { margin:6px 0 0; color:#68766f; font-size:9px; line-height:1.5; }.svip-touch-panel { margin-top:18px; }.svip-touch-list { display:grid; }.svip-touch-row { display:grid; grid-template-columns:26px 1fr auto; gap:10px; padding:11px 0; border-top:1px solid #edf0ee; }.svip-touch-row:first-child { border-top:0; }.svip-touch-row > span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#17694f; background:#e4f0ea; font-size:8px; }.svip-touch-row strong { font-size:11px; }.svip-touch-row p { margin:4px 0; color:#68766f; font-size:9px; }.svip-touch-row small,.svip-touch-row time { color:#8c9792; font-size:8px; }
.brand-match-panel { margin-bottom:18px; }.brand-match-form { display:grid; grid-template-columns:1fr 1fr 1.7fr auto; gap:9px; }.brand-match-result { margin-top:13px; display:grid; gap:8px; }.brand-match-result > span { padding:15px; color:#86918c; text-align:center; }.brand-match-result article { display:grid; grid-template-columns:31px 1fr; gap:10px; align-items:center; padding:10px 11px; border-radius:9px; background:#f7f9f7; }.brand-match-result article > span { width:29px; height:29px; display:grid; place-items:center; border-radius:8px; color:white; background:#17694f; font-size:10px; font-weight:800; }.brand-match-result strong,.brand-match-result small { display:block; }.brand-match-result strong { font-size:11px; }.brand-match-result small { margin-top:4px; color:#8a9690; font-size:8px; }.brand-filter-panel { margin-bottom:18px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; padding:14px; }.brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.brand-card { min-height:390px; padding:18px; border:1px solid var(--line); border-radius:15px; background:white; box-shadow:0 8px 25px rgba(34,56,48,.04); cursor:pointer; display:flex; flex-direction:column; transition:.18s; }.brand-card:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(34,56,48,.09); }.brand-card h3 { margin-bottom:9px; font-size:16px; }.brand-card > p:not(.card-id) { color:#5f6f67; font-size:10px; line-height:1.65; }.brand-source { margin-top:12px; padding:10px; border-radius:9px; background:#f7f9f7; }.brand-source b,.brand-source span { display:block; }.brand-source b { margin-bottom:4px; color:#2f5b4a; font-size:8px; }.brand-source span { color:#87928d; font-size:8px; line-height:1.5; overflow-wrap:anywhere; }.brand-card footer { margin-top:auto; padding-top:12px; border-top:1px solid #edf0ee; display:flex; justify-content:space-between; gap:8px; color:#8c9692; font-size:8px; }.brand-card footer span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.brand-card footer b { color:#61736b; white-space:nowrap; }
.knowledge-hero { margin-bottom:18px; padding:25px 27px; border-radius:18px; background:linear-gradient(120deg,#e4f1eb,#f4f8f4); border:1px solid #cfe2d7; display:flex; justify-content:space-between; align-items:center; gap:20px; }.knowledge-hero h2 { font-size:25px; }.knowledge-hero p:last-child { margin:8px 0 0; color:#587066; font-size:12px; }.knowledge-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.knowledge-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.knowledge-stats span,.knowledge-stats strong,.knowledge-stats small { display:block; }.knowledge-stats span { color:var(--muted); font-size:10px; }.knowledge-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.knowledge-stats small { color:#99a39f; font-size:9px; }
.knowledge-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:18px; }.knowledge-upload-form { display:grid; gap:13px; }.upload-drop { min-height:116px; padding:18px; border:1.5px dashed #9ebdad; border-radius:13px; background:#f6faf7; display:grid; place-items:center; text-align:center; cursor:pointer; }.upload-drop input { position:absolute; opacity:0; pointer-events:none; }.upload-drop span { padding:8px 13px; border-radius:8px; background:#17694f; color:white; font-size:11px; font-weight:800; }.upload-drop strong { color:#70817a; font-size:10px; font-weight:500; }.upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.upload-grid label { color:#53645c; font-size:10px; font-weight:700; }.upload-grid input,.upload-grid select { margin-top:6px; }
.ingestion-flow { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.ingestion-flow span { padding:7px 8px; border-radius:7px; background:#edf4f0; color:#3d6556; font-size:9px; font-weight:700; }.ingestion-flow b { color:#c08745; }.knowledge-rules { margin-top:18px; display:grid; gap:8px; }.knowledge-rules p { margin:0; padding:10px 11px; border-radius:9px; background:#fafbf9; }.knowledge-rules strong,.knowledge-rules span { display:block; }.knowledge-rules strong { font-size:10px; }.knowledge-rules span { margin-top:4px; color:#84908b; font-size:9px; }
.knowledge-files-panel,.knowledge-sources-panel { margin-bottom:18px; }.knowledge-file-list { display:grid; gap:8px; }.knowledge-file-row { display:grid; grid-template-columns:40px 1fr auto auto; gap:11px; align-items:center; padding:11px; border:1px solid #e8ece9; border-radius:11px; background:#fafbf9; }.knowledge-file-row strong,.knowledge-file-row small { display:block; }.knowledge-file-row strong { font-size:11px; }.knowledge-file-row small { margin-top:4px; color:#84908a; font-size:9px; }.knowledge-file-row a { padding:7px 9px; border-radius:7px; color:#17694f; background:#e2f0e9; text-decoration:none; font-size:9px; font-weight:700; }
.knowledge-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.knowledge-source-card { min-height:300px; padding:17px; border:1px solid var(--line); border-radius:14px; background:#fbfcfa; cursor:pointer; display:flex; flex-direction:column; transition:.18s; }.knowledge-source-card:hover { transform:translateY(-2px); background:white; box-shadow:0 12px 26px rgba(34,56,48,.07); }.source-type { padding:5px 8px; border-radius:6px; color:#315f50; background:#e4f0ea; font-size:9px; font-weight:800; }.knowledge-source-card h3 { margin-bottom:9px; font-size:15px; }.knowledge-source-card > p:not(.card-id) { color:#617069; font-size:10px; line-height:1.6; }.knowledge-source-card footer { margin-top:auto; padding-top:12px; border-top:1px solid #e7ebe8; display:flex; justify-content:space-between; gap:8px; color:#8b9691; font-size:8px; }.knowledge-source-card footer span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.knowledge-source-card footer b { color:#64776e; white-space:nowrap; }
.identity-hero { margin-bottom:18px; padding:25px 27px; border:1px solid #e4c48f; border-radius:18px; background:linear-gradient(120deg,#fff4df,#f1d29d); display:flex; justify-content:space-between; align-items:center; gap:20px; }.identity-hero h2 { font-size:25px; }.identity-hero p:last-child { margin:8px 0 0; color:#725d3f; font-size:12px; }.identity-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.identity-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.identity-stats span,.identity-stats strong,.identity-stats small { display:block; }.identity-stats span { color:var(--muted); font-size:10px; }.identity-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.identity-stats small { color:#99a39f; font-size:9px; }
.identity-layout { margin-bottom:18px; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.95fr); gap:18px; align-items:start; }.identity-list { display:grid; gap:14px; }.identity-card { padding:21px; border:1px solid #e2e7e3; border-radius:16px; background:white; box-shadow:var(--shadow); cursor:pointer; transition:.18s; }.identity-card:hover { transform:translateY(-2px); border-color:#d8b575; }.identity-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#143e32; background:#f0bd76; font-size:17px; font-weight:900; }.identity-card h3 { margin:9px 0; font-size:21px; }.identity-card > p:not(.card-id) { color:#596a62; font-size:11px; line-height:1.7; }.identity-detail { margin:13px 0; padding:11px; border-radius:10px; background:#f7f9f7; }.identity-detail b,.identity-detail span { display:block; }.identity-detail b { margin-bottom:5px; color:#2e5c4a; font-size:9px; }.identity-detail span { color:#697870; font-size:10px; line-height:1.6; }.identity-card footer { margin-top:14px; padding-top:12px; border-top:1px solid #edf0ee; display:flex; justify-content:space-between; color:#87938d; font-size:9px; }.identity-card footer b { color:#1b6f55; }
.runtime-panel > label { color:#53645c; font-size:10px; font-weight:700; }.runtime-panel select { margin-top:7px; }.runtime-preview { margin-top:14px; display:grid; gap:8px; }.runtime-preview article { padding:12px; border:1px solid #e3e9e5; border-radius:10px; background:#f9faf8; }.runtime-preview span,.runtime-preview strong,.runtime-preview small { display:block; }.runtime-preview span { color:#8a9690; font-size:8px; text-transform:uppercase; }.runtime-preview strong { margin:5px 0; color:#214f3e; font-size:12px; }.runtime-preview small { color:#68786f; font-size:9px; line-height:1.55; overflow-wrap:anywhere; }.role-panel { margin-bottom:18px; }.role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.role-card { padding:15px; border:1px solid #e4e9e5; border-radius:12px; background:#fafbf9; }.role-card > span { display:inline-block; padding:4px 7px; border-radius:6px; color:#17694f; background:#e2f0e9; font-size:8px; font-weight:800; }.role-card h3 { margin:9px 0 6px; font-size:13px; }.role-card p { min-height:45px; margin:0; color:#68776f; font-size:9px; line-height:1.6; }.role-card small { display:block; margin-top:10px; color:#98724a; font-size:8px; }
.model-hero { margin-bottom:18px; padding:24px 26px; border-radius:18px; background:linear-gradient(120deg,#133c31,#1a5e49); color:white; display:flex; align-items:center; justify-content:space-between; gap:20px; box-shadow:var(--shadow); }.model-hero .eyebrow { color:#9ec4b6; }.model-hero h2 { font-size:25px; }.model-hero p:last-child { margin:8px 0 0; color:#bdd5cc; font-size:12px; }.model-actions { display:flex; gap:9px; }.model-actions .secondary { background:rgba(255,255,255,.1); color:white; border-color:rgba(255,255,255,.18); }.model-actions .primary { background:#eab06b; color:#18382e; box-shadow:none; }
.model-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.model-stats article { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:white; }.model-stats span,.model-stats strong,.model-stats small { display:block; }.model-stats span { color:var(--muted); font-size:10px; }.model-stats strong { margin:7px 0 3px; font:700 23px Georgia,serif; }.model-stats small { color:#99a39f; font-size:9px; }
.production-model-runtime { margin-bottom:18px; padding:20px 22px; border:1px solid #b8d8ca; border-radius:16px; background:linear-gradient(135deg,#f4fbf8,#fffaf3); box-shadow:0 8px 22px rgba(20,70,54,.06); }.runtime-model-main { display:flex; align-items:center; gap:13px; }.runtime-model-main small,.runtime-model-main strong,.runtime-model-main p { display:block; }.runtime-model-main small { color:#71847c; font-size:9px; letter-spacing:.12em; }.runtime-model-main strong { margin-top:4px; color:#123f32; font-size:24px; }.runtime-model-main p { margin:5px 0 0; color:#718078; font-size:10px; }.runtime-live-dot { width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:#16a36f; box-shadow:0 0 0 6px rgba(22,163,111,.12); }.runtime-live-dot.off { background:#a7afab; box-shadow:0 0 0 6px rgba(120,130,126,.1); }.runtime-model-meta { margin-top:17px; display:grid; grid-template-columns:.7fr .6fr 1.5fr .8fr; gap:10px; }.runtime-model-meta span { padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.75); color:#52615b; font-size:10px; }.runtime-model-meta b { display:block; margin-bottom:4px; color:#1e4d3e; font-size:9px; }.runtime-model-notice { margin:12px 0 0; color:#8b755a; font-size:9px; }
.model-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:18px; margin-bottom:18px; }.lower-model-layout { grid-template-columns:1.2fr .8fr; }.privacy-badge { padding:6px 9px; border-radius:999px; color:#0d7655; background:#e2f3eb; font-size:9px; font-weight:800; }
.provider-list,.model-list,.route-list { display:grid; gap:8px; }.provider-row,.model-row { width:100%; border:1px solid #e6ebe7; border-radius:11px; background:#fafbf9; padding:12px; text-align:left; display:grid; align-items:center; gap:10px; }.provider-row { grid-template-columns:38px 1fr auto; }.model-row { grid-template-columns:1fr auto auto; }.provider-row:hover,.model-row:hover { border-color:#a8c8ba; background:white; }.provider-logo { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; color:white; background:#1a6c52; font-weight:800; }.provider-row strong,.provider-row small,.provider-row code,.model-row strong,.model-row small { display:block; }.provider-row strong,.model-row strong { font-size:12px; }.provider-row small,.model-row small { margin-top:4px; color:#89958f; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:440px; }.provider-row code { margin-top:5px; color:#7e6a54; font-size:9px; }.price { min-width:105px; text-align:right; }.price b { display:block; color:#185e49; font-size:11px; }
.route-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) auto; gap:8px; align-items:center; padding:11px 0; border-top:1px solid #edf0ed; }.route-row:first-child { border-top:0; }.route-row strong,.route-row small { display:block; }.route-row strong { font-size:12px; }.route-row small { margin-top:4px; color:#89958f; font-size:9px; }.route-row select { padding:8px 9px; font-size:10px; }.route-row button { padding:8px 11px; font-size:10px; }
.cost-form { display:grid; gap:12px; }.cost-form label { color:#53645c; font-size:10px; font-weight:700; }.cost-form input,.cost-form select { margin-top:6px; }.cost-inputs { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.cost-result { margin-top:15px; padding:18px; border-radius:13px; background:#edf5f1; text-align:center; }.cost-result span,.cost-result strong,.cost-result small { display:block; }.cost-result span { color:#6a7c74; font-size:10px; }.cost-result strong { margin:6px 0; color:#0b694d; font:700 25px Georgia,serif; }.cost-result small { color:#87948e; font-size:9px; }.switch-line { display:flex; align-items:center; gap:8px; }.switch-line input { width:auto; margin:0; }.switch-line span { color:#40584f; font-size:11px; }.form-grid label small { display:block; margin-top:6px; color:#8a9690; font-size:9px; font-weight:400; }
dialog { width:min(940px, calc(100vw - 30px)); max-height:90vh; overflow:hidden; border:0; border-radius:18px; padding:0; color:var(--ink); box-shadow:0 30px 90px rgba(18,38,31,.3); }dialog::backdrop { background:rgba(7,26,20,.55); backdrop-filter:blur(4px); }dialog form { padding:24px; overflow-x:hidden; overflow-y:auto; max-height:90vh; }
.dialog-head { display:flex; justify-content:space-between; margin-bottom:20px; }.icon-btn { border:0; background:#edf1ee; border-radius:8px; width:34px; height:34px; font-size:21px; color:#697771; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.form-grid > * { min-width:0; }.form-grid label { color:#53645c; font-size:11px; font-weight:700; }.form-grid input,.form-grid textarea,.form-grid select { margin-top:7px; font-weight:400; }.form-grid .full { grid-column:1/-1; }.dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.option-section { margin:0; padding:14px; border:1px solid #dfe7e2; border-radius:12px; background:#f8faf7; }.option-section legend { padding:0 7px; color:#314d43; font-size:12px; font-weight:800; }.option-section legend small { margin-left:5px; color:#8d9994; font-size:9px; font-weight:500; }.check-chips { display:flex; flex-wrap:wrap; gap:8px; }.check-chips label { cursor:pointer; }.check-chips input { position:absolute; opacity:0; pointer-events:none; }.check-chips span { display:block; padding:8px 11px; border:1px solid #dce4df; border-radius:8px; background:white; color:#62716b; font-size:10px; font-weight:600; transition:.15s; }.check-chips input:checked + span { border-color:#1c7a59; background:#deefe7; color:#0b694d; box-shadow:inset 0 0 0 1px rgba(11,105,77,.12); }.control-chips input:checked + span { border-color:#b9782d; background:#faecd9; color:#895415; }.compact-section { padding-block:12px; }
.empty { padding:28px; color:#8b9691; text-align:center; font-size:12px; }.wide-empty { grid-column:1/-1; background:white; border-radius:13px; }
#toast { position:fixed; left:50%; bottom:28px; z-index:20; transform:translate(-50%,20px); padding:11px 16px; border-radius:9px; background:#18382e; color:white; opacity:0; pointer-events:none; transition:.2s; font-size:12px; box-shadow:0 10px 28px rgba(18,38,31,.22); }#toast.show { opacity:1; transform:translate(-50%,0); }#toast.error { background:#9b4035; }
.login-screen { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 20% 10%,#f4d7a7,transparent 34%),linear-gradient(135deg,#0d3329,#174f3f); }.login-screen[hidden] { display:none; }.login-card { width:min(420px,100%); padding:34px; border-radius:22px; background:#fffdf8; box-shadow:0 30px 90px rgba(4,22,17,.38); }.login-mark { width:68px; height:68px; display:grid; place-items:center; margin-bottom:20px; border-radius:19px; background:#efba70; color:#123f33; font-size:20px; font-weight:900; }.login-card h1 { margin:5px 0 9px; font-size:28px; }.login-card > p:not(.eyebrow) { margin-bottom:22px; color:#697871; font-size:12px; line-height:1.7; }.login-card label { display:block; margin-top:13px; color:#40564d; font-size:11px; font-weight:800; }.login-card input { margin-top:7px; }.login-card button { margin-top:20px; }.login-card > small { display:block; min-height:18px; margin-top:10px; color:#a33d36; text-align:center; font-size:10px; }.sync-badge { padding:7px 10px; border-radius:999px; background:#edf4f0; color:#42675a; font-size:9px; font-weight:800; white-space:nowrap; }.sync-badge.synced { background:#dff2e9; color:#087154; }.sync-badge.syncing { background:#fff1d7; color:#8b601b; }.sync-badge.offline { background:#f6dfdc; color:#9a3c35; }

@media (max-width: 1180px) { .instruction-grid,.scenario-grid,.knowledge-source-grid,.brand-grid { grid-template-columns:repeat(2,1fr); }.controls-panel,.scenario-controls { grid-template-columns:repeat(3,1fr); }.controls-panel .search-wrap,.scenario-controls .search-wrap { grid-column:1/-1; }.layer-grid { grid-template-columns:repeat(2,1fr); }.model-layout,.lower-model-layout,.knowledge-layout,.task-layout,.svip-layout,.identity-layout { grid-template-columns:1fr; }.role-grid,.scenario-role-nav,.decision-grid { grid-template-columns:repeat(2,1fr); }.task-log-panel { position:static; max-height:none; }.route-row { grid-template-columns:1fr 1fr; }.route-row > span { grid-column:1/-1; } }
@media (max-width: 760px) { .app-shell { grid-template-columns:1fr; }.sidebar { position:static; height:auto; padding:15px; }.brand { padding-bottom:14px; }nav { margin-top:14px; grid-template-columns:repeat(auto-fit,minmax(42px,1fr)); gap:3px; }.nav-item { padding:10px 3px; justify-content:center; font-size:0; }.nav-item span { font-size:16px; }.sidebar-foot { display:none; }main { padding:0 15px 35px; }.topbar { min-height:94px; }.top-actions .version,.top-actions #refresh-btn,.top-actions #logout-btn { display:none; }.stats,.model-stats,.scenario-stats,.knowledge-stats,.task-stats,.svip-stats,.brand-stats,.identity-stats { grid-template-columns:repeat(2,1fr); }.dashboard-grid,.two-column,.release-layout { grid-template-columns:1fr; }.instruction-grid,.scenario-grid,.knowledge-source-grid,.brand-grid,.svip-list,.role-grid,.scenario-role-nav,.decision-grid { grid-template-columns:1fr; }.decision-head { flex-direction:column; }.decision-head-actions { width:100%; justify-content:space-between; }.scenario-architecture { grid-template-columns:1fr; }.scenario-architecture > b { transform:rotate(90deg); justify-self:center; }.scenario-group-head { grid-template-columns:41px 1fr; }.scenario-group-head > p { display:none; }.scenario-group-copy { grid-template-columns:1fr auto; }.scenario-group-copy small { grid-column:1/-1; }.controls-panel,.scenario-controls,.brand-filter-panel,.brand-match-form { grid-template-columns:1fr; }.layer-grid { grid-template-columns:1fr 1fr; }.safety-banner > span { display:none; }.form-grid { grid-template-columns:1fr; }.form-grid .full { grid-column:1; }.sticky-panel { position:static; }.model-hero,.scenario-hero,.knowledge-hero,.task-hero,.svip-hero,.brand-hero,.identity-hero { align-items:flex-start; flex-direction:column; }.model-actions { width:100%; }.model-actions button { flex:1; }.provider-row { grid-template-columns:36px 1fr; }.provider-row .status { grid-column:2; justify-self:start; }.model-row { grid-template-columns:1fr auto; }.model-row .status { grid-column:1/-1; justify-self:start; }.route-row { grid-template-columns:1fr; }.route-row > span { grid-column:auto; }.runtime-model-meta { grid-template-columns:1fr; }.runtime-model-main strong { font-size:20px; }.cost-inputs,.upload-grid,.task-facts,.svip-health { grid-template-columns:1fr; }.knowledge-file-row { grid-template-columns:38px 1fr; }.knowledge-file-row .status,.knowledge-file-row a { grid-column:2; justify-self:start; }.login-card { padding:26px 22px; }.login-card h1 { font-size:23px; }.sync-badge { padding:6px 8px; } }
