.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}input{background:var(--bg3);border:1px solid var(--border);color:#fff;padding:10px;border-radius:var(--r);outline:none;font-family:JetBrains Mono,monospace;font-size:13px;transition:border-color .2s}input:focus{border-color:var(--accent)}.range-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:12px;background:var(--bg3);border-radius:var(--r);border:1px solid var(--border)}.range-row .control-group{flex:1;min-width:130px}.range-row .range-label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;min-width:80px}.range-row .range-label .color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.gantt-chart{position:relative;width:100%;height:auto;min-height:200px;padding:20px 0}.gantt-axis{display:flex;justify-content:space-between;padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.gantt-axis span{font-size:10px;color:var(--muted);font-family:JetBrains Mono,monospace}.gantt-bar-wrapper{position:relative;height:36px;margin:4px 0}.gantt-bar-track{position:absolute;top:8px;left:0;right:0;height:20px;background:var(--bg3);border-radius:4px}.gantt-bar{position:absolute;top:8px;height:20px;border-radius:4px;min-width:2px;transition:all .2s;cursor:pointer}.gantt-bar.r1{background:#00a8ff99;border:1px solid rgba(0,168,255,.8)}.gantt-bar.r2{background:#2ea04399;border:1px solid rgba(46,160,67,.8)}.gantt-bar.r3{background:#d2992299;border:1px solid rgba(210,153,34,.8)}.gantt-bar.overlap{background:#af6edcb3;border:1px solid rgba(175,110,220,.9)}.gantt-label{position:absolute;left:-80px;top:8px;height:20px;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--muted);width:75px;text-align:right;justify-content:flex-end;padding-right:8px}.overlap-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.overlap-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:16px}.overlap-card .overlap-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.overlap-card .overlap-value{font-size:22px;font-weight:700;color:#fff;font-family:JetBrains Mono,monospace;margin-top:4px}.overlap-card .overlap-value.accent{color:var(--accent)}.overlap-card .overlap-value.success{color:var(--success)}.overlap-card .overlap-value.warning{color:var(--warning)}.overlap-card .overlap-value.purple{color:#af6edc}.overlap-detail{margin-top:4px;font-size:12px;color:var(--muted)}.overlap-detail strong{color:var(--text)}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot-r1{background:#00a8ff99;border:1px solid rgba(0,168,255,.8)}.legend-dot-r2{background:#2ea04399;border:1px solid rgba(46,160,67,.8)}.legend-dot-r3{background:#d2992299;border:1px solid rgba(210,153,34,.8)}.legend-dot-overlap{background:#af6edcb3;border:1px solid rgba(175,110,220,.9)}@media(max-width:768px){.range-row{flex-direction:column;align-items:stretch}.range-row .control-group{min-width:auto}.gantt-label{position:static;text-align:left;padding-right:0;margin-bottom:4px;height:auto}.overlap-results{grid-template-columns:1fr}}
