:root{--ink:#172033;--muted:#657084;--line:#e4e9f1;--blue:#3674e8;--bg:#f6f8fb;--public:#76d7c4;--semi:#70a7ff;--private:#9f8bea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 28px}.brand{display:flex;gap:10px;align-items:center}.brand b{display:block;font-size:16px}.brand small{color:var(--muted)}.mark{font-size:30px;color:var(--blue)}.header-actions{display:flex;gap:10px;align-items:center}button,.import{border:0;border-radius:8px;padding:10px 14px;background:var(--blue);color:#fff;font-weight:650;cursor:pointer;font:inherit}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.import{background:#eff5ff;color:#245cb9}main{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 72px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 20px;display:flex;flex-direction:column;gap:25px}.eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:750;color:var(--muted);margin:0 0 8px}.sidebar input[type=text],.sidebar input:not([type]){width:100%;border:0;font-size:16px;font-weight:700;padding:0;background:transparent;color:var(--ink)}.stats{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;gap:10px}.stats div{background:#f3f7fe;border-radius:10px;padding:11px}.stats strong{display:block;font-size:20px}.stats small,.muted{color:var(--muted)}.section-title{display:flex;justify-content:space-between;font-weight:700;margin-bottom:10px}.text-btn{padding:0;background:transparent;color:var(--blue);font-size:12px}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:3px}input[type=range]{width:100%;accent-color:var(--blue)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);border-radius:16px;padding:5px 9px;background:#fff;color:#59657a;font-size:12px}.chip.active{border-color:#9bbaf4;background:#edf4ff;color:#245cb9}.insight{border-left:3px solid var(--blue);padding:8px 0 8px 12px;background:#f8fbff}.insight p:last-child{margin:0;line-height:1.45}.sidebar section:last-child{margin-top:auto;font-size:12px;line-height:1.45}.workspace{padding:28px 34px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}h1{margin:0;font-size:26px}.legend{display:flex;gap:16px;color:var(--muted);font-size:12px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.public{background:var(--public)}.semi{background:var(--semi)}.private{background:var(--private)}.canvas-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;position:relative;box-shadow:0 3px 12px #17203308}canvas{display:block;width:100%;height:480px;background:#fbfcfe;border-radius:9px;cursor:grab}.canvas-hint{position:absolute;bottom:24px;left:26px;background:#ffffffd9;border:1px solid var(--line);padding:7px 9px;border-radius:6px;font-size:11px;color:var(--muted)}.dashboard{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:16px;margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;min-height:150px}.bars{display:flex;align-items:end;gap:7px;height:93px;padding-top:14px}.bar{width:100%;min-width:8px;border-radius:5px 5px 2px 2px;background:var(--blue);position:relative}.bar span{position:absolute;bottom:-17px;width:100%;text-align:center;font-size:10px;color:var(--muted)}.bar b{position:absolute;top:-16px;width:100%;text-align:center;font-size:10px}.ratios{display:flex;gap:14px;padding-top:20px}.ratio strong{font-size:24px;display:block;color:var(--blue)}.ratio small{color:var(--muted);font-size:11px}.detail{line-height:1.6}.detail b{color:var(--ink)}dialog{border:0;border-radius:14px;box-shadow:0 20px 70px #17203344;width:min(400px,calc(100% - 32px));padding:22px}dialog::backdrop{background:#17203366}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0}.icon{background:transparent;color:var(--ink);font-size:24px;padding:0}form label{display:block;font-weight:650;margin:13px 0}form input,form select{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:6px;font:inherit}.dialog-actions{display:flex;justify-content:end;gap:8px;margin-top:22px}@media(max-width:960px){main{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:20px}.dashboard{grid-template-columns:1fr}canvas{height:420px}.legend{display:none}}
