.public-footer .inner { width: min(1100px,100%); margin:auto; display:flex; justify-content:space-between; gap:20px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px 1fr; background: #fff; }
.sidebar { position: sticky; top: 0; height: 100vh; border-right: 1px solid var(--line-soft); background: rgba(250,250,252,.95); padding: 24px 16px; display: flex; flex-direction: column; }
.workspace { margin-top: 26px; border: 1px solid var(--line); background: #fff; border-radius: 11px; padding: 10px 11px; display:flex; align-items:center; justify-content:space-between; font-size:13px; }
.workspace-name { display:flex; align-items:center; gap:9px; font-weight:600; }
.workspace-icon { width:24px; height:24px; border-radius:7px; display:grid; place-items:center; background:#1d1d1f; color:#fff; font-size:11px; }
.side-section { margin-top: 25px; }
.side-label { padding: 0 10px 8px; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.side-link { width: 100%; border: 0; background: transparent; display: flex; align-items: center; gap: 11px; padding: 10px 11px; border-radius: 9px; color: #3a3a3c; font-size: 13px; text-align:left; }
.side-link:hover { background:#f1f1f3; }
.side-link.active { background:#eaf2ff; color:var(--blue); font-weight:600; }
.side-icon { width: 18px; height: 18px; display:grid; place-items:center; font-size:15px; }
.sidebar-bottom { margin-top:auto; }
.main { min-width: 0; background: var(--surface-2); }
.topbar { height: 72px; padding: 0 34px; display:flex; align-items:center; justify-content:flex-end; background: rgba(255,255,255,.8); backdrop-filter: blur(20px); border-bottom:1px solid var(--line-soft); position:sticky; top:0; z-index:10; }
.top-actions { display:flex; align-items:center; gap:14px; }
.mode-chip { padding:7px 10px; border-radius:999px; font-size:11px; font-weight:600; background:#fff2d6; color:#8a4b00; border:1px solid #f1d59c; }
.mode-chip.live { background:#e8f5ec; color:var(--green); border-color:#c8e6d1; }
.avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#1d1d1f; color:#fff; font-size:12px; }
.content { padding: 38px 36px 60px; max-width: 1500px; margin:auto; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.page-head h1 { margin:0; font-size:34px; letter-spacing:-.045em; }
.page-head p { margin:8px 0 0; color:var(--muted); font-size:14px; }
.toolbar { display:flex; gap:10px; flex-wrap:wrap; }
.control { border:1px solid var(--line); background:#fff; border-radius:10px; padding:10px 13px; color:#3a3a3c; font-size:13px; }
.primary-control { border:0; background:var(--blue); color:#fff; }
.primary-control:hover { background:var(--blue-hover); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:28px; }
.stat { border:1px solid var(--line-soft); border-radius:17px; background:#fff; padding:21px; min-height:132px; box-shadow: 0 1px 1px rgba(0,0,0,.015); }
.stat-top { display:flex; align-items:center; gap:12px; color:#515154; font-size:13px; }
.stat-icon { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#f0f3f8; }
.stat-number { font-size:30px; margin-top:14px; font-weight:700; letter-spacing:-.04em; }
.stat-note { margin-top:5px; font-size:12px; color:var(--muted); }
.positive { color:var(--green); }
.negative { color:var(--red); }
.grid-2 { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; margin-top:14px; }
.panel { border:1px solid var(--line-soft); border-radius:17px; background:#fff; overflow:hidden; }
.panel-head { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line-soft); }
.panel-title { font-size:15px; font-weight:650; letter-spacing:-.02em; }
.panel-link { border:0; background:transparent; color:var(--blue); font-size:12px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:680px; }
th { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.055em; font-weight:600; padding:12px 18px; text-align:left; background:#fafafa; }
td { padding:15px 18px; border-top:1px solid var(--line-soft); font-size:13px; }
.brand-cell { display:flex; align-items:center; gap:10px; }
.brand-avatar { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#ececf1; font-size:11px; font-weight:700; }
.brand-meta b { display:block; font-size:13px; }
.brand-meta span { color:var(--muted); font-size:11px; }
.badge { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:600; }
.badge.green { background:#e8f5ec; color:var(--green); }
.badge.blue { background:#eaf2ff; color:var(--blue); }
.badge.orange { background:#fff2df; color:var(--orange); }
.badge.red { background:#fdebed; color:var(--red); }
.chart-panel { padding:20px; min-height:350px; }
.chart-meta { display:flex; justify-content:space-between; align-items:center; }
.chart { height:230px; margin-top:24px; position:relative; }
.chart-lines { position:absolute; inset:0; display:grid; grid-template-rows:repeat(4,1fr); }
.chart-lines i { border-top:1px solid #ededf0; }
.chart svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.lower-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.progress-row { display:grid; grid-template-columns:1.2fr .7fr .7fr .35fr; gap:14px; align-items:center; padding:16px 20px; border-top:1px solid var(--line-soft); font-size:12px; }
.progress { height:5px; border-radius:999px; background:#ececf0; overflow:hidden; }
.progress span { display:block; height:100%; background:var(--blue); border-radius:999px; }
.section-view { display:none; }
.section-view.active { display:block; }
.empty { padding:70px 24px; text-align:center; color:var(--muted); }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:22px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:12px; font-weight:600; }
.field input,.field textarea,.field select { border:1px solid var(--line); background:#fff; border-radius:10px; padding:11px 12px; outline:none; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,113,227,.12); }
.question-row { display:grid; grid-template-columns:28px 1fr 120px 80px; gap:12px; align-items:center; padding:14px 18px; border-top:1px solid var(--line-soft); font-size:13px; }
.question-num { width:24px; height:24px; border-radius:50%; background:#f0f0f2; display:grid; place-items:center; font-size:10px; }
.report-hero { padding:60px 24px 34px; background:#fff; border-bottom:1px solid var(--line-soft); }
.report-inner { width:min(1040px,100%); margin:auto; }
.report-header { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.report-brand h1 { margin:15px 0 4px; font-size:42px; letter-spacing:-.05em; }
