.builder-page{min-height:calc(100vh - 74px);background:#eeebe8;display:grid;grid-template-columns:250px minmax(0,1fr);position:relative}
.builder-sidebar{background:#17151a;color:#fff;padding:26px 18px;position:sticky;top:74px;height:calc(100vh - 74px);display:flex;flex-direction:column;z-index:8}
.builder-sidebar-brand{display:grid;gap:8px;padding:4px 8px 25px;border-bottom:1px solid rgba(255,255,255,.1)}
.builder-sidebar-brand span{font-size:9px;letter-spacing:.16em;color:#d38da0}
.builder-sidebar-brand strong{font-size:18px}
.builder-dashboard-tabs{display:grid;gap:6px;margin-top:20px;overflow:auto}
.builder-dashboard-tabs a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border-radius:11px;padding:11px 12px;color:#aaa3ac}
.builder-dashboard-tabs a.active{background:#2a252c;color:#fff}
.builder-dashboard-tabs small{background:rgba(255,255,255,.08);border-radius:999px;padding:3px 7px}
.builder-new-dashboard{border:1px dashed rgba(255,255,255,.18)}
.builder-sidebar-actions{display:grid;gap:7px;margin-top:auto}
.builder-sidebar-actions button,.builder-sidebar-actions a{border:1px solid rgba(255,255,255,.11);background:transparent;color:#fff;border-radius:11px;padding:12px;text-align:start;font-weight:750}
.builder-sidebar-actions button{background:#8b2d48;border-color:#8b2d48;cursor:pointer}
.builder-sidebar-actions span{display:inline-block;width:26px;color:#d995a7}
.builder-main{padding:35px 38px 80px;min-width:0}
.builder-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}
.builder-header>div:first-child{max-width:900px}
.builder-header span{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#8b2d48;font-weight:850}
.builder-header h1{font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.06em;margin:11px 0}
.builder-header p{color:#706a72;margin:0}
.builder-header-actions{display:flex;gap:8px}
.builder-header-actions button{border:0;border-radius:11px;padding:12px 15px;font-weight:850;cursor:pointer}
.builder-header-actions button:first-child{background:#8b2d48;color:#fff}
.builder-header-actions button:last-child{background:#17151a;color:#fff}
.builder-insight-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#17151a;color:#fff;border-radius:16px;overflow:hidden;margin-bottom:16px}
.builder-insight-strip article{padding:16px 18px;border-inline-end:1px solid rgba(255,255,255,.08);display:grid;gap:5px}
.builder-insight-strip span{font-size:8px;text-transform:uppercase;color:#8d868f}
.builder-insight-strip strong{font-size:20px}
.builder-canvas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.builder-empty{grid-column:1/-1;background:#17151a;color:#fff;border-radius:20px;min-height:450px;padding:48px;display:flex;flex-direction:column;justify-content:center}
.builder-empty>span{color:#d58fa2}
.builder-empty h2{font-size:clamp(38px,4vw,60px);letter-spacing:-.055em;margin:18px 0}
.builder-empty p{color:#aaa3ac;max-width:760px;line-height:1.65}
.builder-empty>div{display:flex;gap:9px;margin-top:22px}
.builder-empty button{border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;border-radius:10px;padding:12px 14px;font-weight:800}
.builder-empty button:last-child{background:#8b2d48;border-color:#8b2d48}
.builder-widget{background:#fff;border:1px solid #dcd6d6;border-radius:16px;padding:15px;min-width:0;position:relative;transition:.18s ease;cursor:grab}
.builder-widget:hover{border-color:#b78e9a;box-shadow:0 16px 38px rgba(28,20,25,.07);transform:translateY(-2px)}
.builder-widget.is-dragging{opacity:.45;transform:scale(.98)}
.builder-widget.is-removing{opacity:.3;pointer-events:none}
.builder-widget-handle{position:absolute;top:8px;left:10px;color:#b7afb8;font-size:11px;letter-spacing:-2px}
.builder-widget-remove{position:absolute;top:8px;right:9px;border:0;background:#f2edef;color:#8f2e46;width:24px;height:24px;border-radius:50%;cursor:pointer;z-index:2}
.builder-widget-content{display:block;padding-top:13px}
.builder-widget-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.builder-widget-head>div{min-width:0}
.builder-widget-head span{font-size:8px;text-transform:uppercase;color:#8b2d48;font-weight:850}
.builder-widget-head h2{font-size:14px;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-widget-head>b{font-size:10px}
.builder-widget-price{display:block;font-size:24px;margin:13px 0 4px}
.builder-widget-price small{font-size:9px;color:#706a72}
.builder-sparkline{width:100%!important;height:82px!important}
.builder-widget-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-top:1px solid #eee9e8;padding-top:10px}
.builder-widget-metrics div{display:grid;gap:3px}
.builder-widget-metrics span{font-size:7px;text-transform:uppercase;color:#8f8890}
.builder-widget-metrics b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-research-placeholder{height:140px;border-radius:12px;background:#17151a;color:#fff;margin-top:15px;padding:17px;display:flex;flex-direction:column;justify-content:space-between}
.builder-research-placeholder span{font-size:9px;color:#aaa3ac;text-transform:uppercase}
.builder-search-drawer{position:fixed;inset:74px 0 0 auto;width:min(620px,100%);background:#f5f2ef;z-index:50;box-shadow:-25px 0 70px rgba(17,12,15,.18);padding:34px;transform:translateX(105%);transition:.26s ease;overflow:auto}
.builder-search-drawer.is-open{transform:translateX(0)}
.builder-search-close{position:absolute;top:18px;right:18px;border:0;background:#17151a;color:#fff;width:35px;height:35px;border-radius:50%;font-size:20px}
.builder-search-head span{font-size:9px;letter-spacing:.16em;color:#8b2d48;font-weight:850}
.builder-search-head h2{font-size:42px;letter-spacing:-.05em;margin:15px 0 8px}
.builder-search-head p{color:#706a72;line-height:1.55}
.builder-search-box{position:relative;margin:24px 0}
.builder-search-box input{width:100%;border:1px solid #d8d1d2;background:#fff;border-radius:14px;padding:16px 48px 16px 16px;font-size:16px}
.builder-search-box>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#8b2d48;font-weight:850}
.builder-search-results{display:grid;gap:9px}
.builder-search-hint{background:#fff;border:1px dashed #cfc7c9;border-radius:14px;padding:22px;color:#706a72}
.builder-result-card{background:#fff;border:1px solid #ddd7d7;border-radius:14px;padding:15px;display:grid;grid-template-columns:1fr auto auto;gap:13px;align-items:center}
.builder-result-card>div:first-child{min-width:0}
.builder-result-card span{font-size:8px;text-transform:uppercase;color:#8b2d48}
.builder-result-card h3{font-size:15px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-result-card strong{font-size:18px}
.builder-result-card strong small{font-size:8px;color:#706a72}
.builder-result-meta{display:grid;gap:3px;text-align:end}
.builder-result-meta span,.builder-result-meta b{font-size:9px}
.builder-result-card button{border:0;background:#8b2d48;color:#fff;width:36px;height:36px;border-radius:10px;font-size:20px;cursor:pointer}
.builder-toast{position:fixed;right:24px;bottom:24px;background:#17151a;color:#fff;border-radius:11px;padding:13px 17px;transform:translateY(80px);opacity:0;transition:.2s;z-index:90}
.builder-toast.is-visible{transform:translateY(0);opacity:1}
.builder-toast.is-error{background:#9f3049}
@media(max-width:1250px){.builder-canvas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.builder-page{grid-template-columns:1fr}.builder-sidebar{position:static;height:auto;padding:14px}.builder-sidebar-brand{display:none}.builder-dashboard-tabs{display:flex;margin:0;overflow:auto}.builder-sidebar-actions{display:flex;margin-top:12px}.builder-main{padding:28px 20px 70px}.builder-canvas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.builder-header{display:grid}.builder-header-actions{flex-wrap:wrap}.builder-insight-strip{grid-template-columns:repeat(2,1fr)}.builder-canvas{grid-template-columns:1fr}.builder-empty{padding:28px}.builder-empty>div{display:grid}.builder-search-drawer{inset:0;width:100%;padding:28px 18px}.builder-sidebar-actions{display:grid}.builder-dashboard-tabs{display:grid}}
.builder-widget.is-comparison-chart{grid-column:span 3;min-height:390px}
.builder-comparison-chart{width:100%!important;height:315px!important}
.chart-builder-drawer{position:fixed;inset:74px 0 0 auto;width:min(650px,100%);background:#f5f2ef;z-index:51;box-shadow:-25px 0 70px rgba(17,12,15,.18);padding:34px;transform:translateX(105%);transition:.26s ease;overflow:auto}
.chart-builder-drawer.is-open{transform:translateX(0)}
.chart-builder-field{display:grid;gap:7px;margin:24px 0 12px}
.chart-builder-field span{font-size:10px;text-transform:uppercase;color:#8b2d48;font-weight:850}
.chart-builder-field input{border:1px solid #d8d1d2;background:#fff;border-radius:12px;padding:13px}
.chart-builder-periods{display:flex;gap:7px}
.chart-builder-periods button{border:1px solid #d8d1d2;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800}
.chart-builder-periods button.active{background:#17151a;color:#fff}
.chart-selected-assets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chart-selected-assets button{border:1px solid #d8d1d2;background:#fff;border-radius:999px;padding:7px 10px;font-size:10px}
.chart-builder-create{position:sticky;bottom:0;width:100%;border:0;background:#8b2d48;color:#fff;border-radius:12px;padding:14px;font-weight:850;margin-top:18px}
.chart-builder-create:disabled{opacity:.4}
@media(max-width:950px){.builder-widget.is-comparison-chart{grid-column:span 2}}
@media(max-width:650px){.builder-widget.is-comparison-chart{grid-column:span 1}.chart-builder-drawer{inset:0;width:100%;padding:28px 18px}}
