:root{--bg: #f6f7f8;--surface: #ffffff;--surface-soft: #f0f4f5;--ink: #151719;--muted: #66727a;--line: #dde4e6;--teal: #45bec7;--teal-dark: #1d7f87;--red: #e3063d;--red-soft: #fff0f3;--dark: #202326;--radius: 12px;--radius-sm: 8px;--shadow: 0 12px 30px rgba(21, 23, 25, .07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:24px;background:#101214;color:#fff}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:18px;line-height:1.1}.brand-lockup small{display:block;margin-top:3px;color:#aeb8bd;font-size:12px}.brand-mark{position:relative;width:42px;height:42px;border-radius:12px;background:#f5fbfc}.brand-mark:before,.brand-mark:after,.brand-mark span{position:absolute;content:"";border-radius:999px}.brand-mark:before{width:24px;height:14px;left:8px;top:19px;background:var(--teal);transform:rotate(-35deg)}.brand-mark:after{width:18px;height:13px;left:9px;top:9px;background:var(--red);transform:rotate(-32deg)}.brand-mark span{width:24px;height:14px;right:6px;top:18px;background:var(--teal);transform:rotate(42deg)}.side-nav{display:grid;gap:8px}.nav-item{display:grid;grid-template-columns:38px 1fr;align-items:center;min-height:44px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);background:transparent;color:#dfe5e7;text-align:left}.nav-item span{color:#7c8a91;text-align:center;font-size:12px}.nav-item:hover,.nav-item.active{border-color:#45bec799;background:#45bec71f;color:#fff}.sidebar-note{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:#ffffff0d}.sidebar-note span,.sidebar-note strong{display:block}.sidebar-note span{color:#aeb8bd;font-size:12px}.sidebar-note strong{margin-top:4px;font-size:14px}.main-shell{min-width:0;padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.kicker{margin:0 0 8px;color:var(--teal-dark);font-size:13px;font-weight:700}h1,h2,h3,h4,p{margin-top:0}h1{max-width:820px;margin-bottom:0;font-size:34px;line-height:1.08}h2{margin-bottom:8px;font-size:30px;line-height:1.14}h3{margin-bottom:10px;font-size:20px}h4{margin-bottom:8px;font-size:18px}p{color:var(--muted);line-height:1.55}.topbar-meta{display:grid;gap:4px;min-width:180px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.topbar-meta span{color:var(--muted);font-size:13px}.topbar-meta strong{font-size:14px}.view-stack{display:grid;gap:20px}.view-stack.tight{gap:14px}.hero-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:20px;min-height:360px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.hero-copy{display:flex;flex-direction:column;justify-content:center;max-width:760px}.hero-copy h2{max-width:680px;font-size:44px;line-height:1.04}.hero-copy p{max-width:620px;font-size:16px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.primary-button,.ghost-button{min-height:42px;padding:0 16px;border-radius:var(--radius-sm);font-weight:700}.primary-button{border:1px solid var(--red);background:var(--red);color:#fff}.ghost-button{border:1px solid var(--line);background:#fff;color:var(--ink)}.hero-media{overflow:hidden;border-radius:var(--radius);background:var(--surface-soft)}.hero-media img{display:block;width:100%;height:100%;min-height:312px;object-fit:cover}.kpi-grid,.mini-kpi-grid{display:grid;gap:12px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{min-height:116px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.kpi-card span,.kpi-card strong{display:block}.kpi-card span{min-height:38px;color:var(--muted);font-size:13px;line-height:1.35}.kpi-card strong{margin-top:10px;font-size:27px;line-height:1.06}.kpi-card.teal{border-color:#45bec773;background:#eefbfc}.kpi-card.red{border-color:#e3063d33;background:var(--red-soft)}.kpi-card.dark{background:var(--dark);color:#fff}.kpi-card.dark span{color:#bec7cc}.kpi-card.gray{background:#f3f5f6}.overview-grid{display:grid;grid-template-columns:.75fr 1fr 1.25fr;gap:12px}.overview-grid.two{grid-template-columns:.55fr 1.45fr}.panel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h3{margin:0}.result-count,.source-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap}.bars{display:grid;gap:14px}.bars.compact{gap:10px}.bar-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px}.bar-label span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{overflow:hidden;height:8px;border-radius:999px;background:#edf1f2}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--red))}.event-list{display:grid;gap:8px}.event-row{display:grid;grid-template-columns:96px 1fr minmax(120px,.55fr);align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);text-align:left}.event-row:hover{border-color:var(--teal)}.event-row span,.event-row small{color:var(--muted);font-size:12px}.event-row strong,.event-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 0}.section-head p{max-width:760px;margin-bottom:0}.strategy-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.segment-list{display:grid;gap:8px}.segment-item{display:grid;gap:5px;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-align:left}.segment-item span{color:var(--muted);font-size:12px}.segment-item.active{border-color:var(--teal);background:#edfafa}.strategy-detail{display:grid;gap:16px;min-width:0}.strategy-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.strategy-hero p{margin-bottom:12px}.strategy-hero img{width:100%;height:220px;border-radius:var(--radius-sm);object-fit:cover}.status-line{display:inline-flex;padding:9px 10px;border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink);font-size:13px;line-height:1.35}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;min-height:210px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.activity-card>img{width:100%;height:100%;min-height:184px;border-radius:var(--radius-sm);object-fit:cover}.activity-card p{margin-bottom:10px;font-size:14px}.activity-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.activity-tags span{padding:4px 7px;border-radius:999px;background:#eef7f8;color:var(--teal-dark);font-size:12px;font-weight:700}details{color:var(--muted);font-size:13px}summary{color:var(--ink);font-weight:700;outline:none}details[open] summary{margin-bottom:8px}.sheet-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.sheet-tab{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);white-space:nowrap}.sheet-tab span{min-width:22px;padding:2px 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px}.sheet-tab.active{border-color:var(--red);background:var(--red-soft)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.select-field,.search-field{display:grid;gap:6px}.select-field span,.search-field span{color:var(--muted);font-size:12px;font-weight:700}select,input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}select{padding:0 10px}input{padding:0 12px}select:focus,input:focus,.sheet-tab:focus,.nav-item:focus,.primary-button:focus,.ghost-button:focus,.segment-item:focus,.event-row:focus{outline:3px solid rgba(69,190,199,.24);outline-offset:2px}.table-search{max-width:360px;margin-bottom:12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}table{width:100%;min-width:920px;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;font-size:13px;line-height:1.35}th{position:sticky;top:0;z-index:1;background:#f4f7f8;color:#3f4a50;font-weight:800;white-space:nowrap}td{max-width:360px;color:#263036}tbody tr{transition:background .16s ease}tbody tr:hover,tbody tr.selected{background:#edfafa}tbody tr:last-child td{border-bottom:0}.table-footer{padding:10px 12px;border-top:1px solid var(--line);background:#f7f9fa;color:var(--muted);font-size:12px}.inspector{position:sticky;top:20px;display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.inspector h3{margin-bottom:0}.inspector p{margin-bottom:0;font-size:14px}.priority{width:fit-content;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.priority-a{background:var(--red-soft);color:var(--red)}.priority-b{background:#edfafa;color:var(--teal-dark)}.priority-c{background:#f1f1f1;color:var(--muted)}dl{display:grid;gap:10px;margin:0}dl div{display:grid;gap:2px}dt{color:var(--muted);font-size:12px}dd{margin:0;color:var(--ink);font-size:14px;line-height:1.35}.next-action{display:grid;gap:4px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-soft)}.next-action span{color:var(--muted);font-size:12px;font-weight:700}.next-action strong{font-size:14px;line-height:1.35}.empty-state{min-height:220px;padding:28px;border:1px dashed #c8d2d6;border-radius:var(--radius);background:var(--surface)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow-x:auto;padding-bottom:2px}.week-day{display:grid;gap:10px;min-height:280px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.week-day span{width:fit-content;padding:4px 9px;border-radius:999px;background:#edfafa;color:var(--teal-dark);font-weight:800}.week-day h3{margin-bottom:0;font-size:18px;line-height:1.18}.week-day p{margin-bottom:0;font-size:13px}.week-day strong,.week-day small{display:block}.week-day strong{color:var(--red)}.week-day small{color:var(--muted);font-size:13px}.week-day div{color:#3e4a50;font-size:13px;line-height:1.45}@media(max-width:1180px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.hero-panel,.strategy-hero,.calendar-layout{grid-template-columns:1fr}.inspector{position:static}.kpi-grid,.overview-grid,.overview-grid.two,.activity-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:16px}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main-shell{padding:18px}.topbar,.section-head{display:grid}h1{font-size:28px}h2,.hero-copy h2{font-size:30px}.hero-panel,.strategy-layout,.kpi-grid,.mini-kpi-grid,.overview-grid,.overview-grid.two,.activity-grid,.filter-grid,.activity-card{grid-template-columns:1fr}.activity-card>img{height:220px}.event-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}tbody tr{transition:none}}
