/* Roadmap features: functional UI, intentionally restrained. */
.road-card{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:18px}
.road-title{font-size:14px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}
.road-muted{font-size:12px;color:var(--fg-3);line-height:1.55}
.road-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.road-inline>input,.road-inline>select{min-width:180px;flex:1;height:38px;background:var(--bg-1);border:1px solid var(--line-2);border-radius:8px;color:var(--fg);padding:0 10px;font:inherit}
.road-grid2,.road-grid3{display:grid;gap:12px}.road-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.road-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.road-list{display:flex;flex-direction:column;gap:9px}
.road-row{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.road-row-main{min-width:0}.road-row-title{font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.road-row-meta{margin-top:4px;color:var(--fg-3);font-size:11px;line-height:1.55}.road-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.road-row button,.road-bulk button{height:30px;padding:0 10px;border:1px solid var(--line-2);border-radius:7px;background:transparent;color:var(--fg-2);font:600 11.5px var(--sans);cursor:pointer}.road-row button:hover,.road-bulk button:hover{background:var(--bg-2);color:var(--fg)}.road-row button.danger,.road-bulk button.danger{color:#ff9898;border-color:rgba(255,120,120,.22)}
.road-code{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#0c1015;font:11px/1.55 var(--mono);color:var(--fg-2);overflow-wrap:anywhere}
.road-checks{display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap}.road-checks label{display:flex;align-items:center;gap:7px;color:var(--fg-2);font-size:12px;cursor:pointer}.road-checks input{accent-color:var(--acc)}
.road-bulk{position:sticky;top:70px;z-index:30;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 9px;padding:9px 11px;border:1px solid var(--line-acc);border-radius:9px;background:rgba(18,24,32,.96);backdrop-filter:blur(12px)}.road-bulk strong{font-size:12px;margin-right:auto}.road-bulk button{background:var(--bg-1)}
.road-select{width:15px;height:15px;accent-color:var(--acc);cursor:pointer}
.road-modal{position:fixed;inset:0;z-index:500;background:rgba(2,5,9,.74);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px}.road-modal-card{width:min(720px,100%);max-height:min(760px,90vh);overflow:auto;border:1px solid var(--line-2);border-radius:12px;background:#11151a;box-shadow:0 24px 70px rgba(0,0,0,.45)}.road-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--line);background:#11151a}.road-modal-head strong{font-size:15px}.road-modal-close{border:0;background:transparent;color:var(--fg-3);font-size:22px;cursor:pointer}.road-modal-body{padding:18px}
.road-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.road-kpi{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-1)}.road-kpi span{display:block;color:var(--fg-3);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.road-kpi strong{display:block;margin-top:5px;font-size:18px}
.road-bars{height:130px;display:flex;align-items:flex-end;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}.road-bar{flex:1;min-width:2px;background:var(--acc);opacity:.72;border-radius:2px 2px 0 0}.road-subtitle{font-size:11px;font-weight:700;color:var(--fg-2);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.08em}.road-mini-list{display:flex;flex-direction:column;gap:6px}.road-mini{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--fg-2)}
.road-upload-extra{padding:0 24px 18px}.road-upload-extra .road-inline{margin-bottom:10px}.road-upload-drop{border:1px dashed var(--line-2);border-radius:9px;padding:18px;text-align:center;color:var(--fg-3);font-size:12px;cursor:pointer;transition:.15s}.road-upload-drop.drag{border-color:var(--acc);background:var(--acc-soft);color:var(--fg-2)}
#road-upload-queue{position:fixed;right:16px;bottom:16px;z-index:430;width:min(390px,calc(100vw - 32px));display:flex;flex-direction:column;gap:7px;pointer-events:none}.road-upload-item{pointer-events:auto;border:1px solid var(--line-2);background:rgba(17,21,26,.97);border-radius:10px;padding:11px 12px;box-shadow:0 16px 45px rgba(0,0,0,.38)}.road-upload-top{display:flex;gap:10px;align-items:center}.road-upload-name{min-width:0;flex:1;font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.road-upload-status{font:10px var(--mono);color:var(--fg-3)}.road-upload-actions{display:flex;gap:5px}.road-upload-actions button{border:0;background:transparent;color:var(--fg-3);font:11px var(--sans);cursor:pointer}.road-upload-progress{height:4px;margin-top:9px;border-radius:999px;background:#222832;overflow:hidden}.road-upload-progress i{display:block;height:100%;width:0;background:var(--acc);transition:width .16s}.road-upload-item.done .road-upload-progress i{width:100%}.road-upload-item.error{border-color:rgba(255,120,120,.3)}
.road-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid var(--line);border-radius:999px;color:var(--fg-3);font-size:10px}.road-pill.ok{color:#8ee9a8;border-color:rgba(126,240,160,.25)}.road-pill.warn{color:#f4c979;border-color:rgba(244,201,121,.25)}
.road-workspace-name{display:flex;gap:9px;align-items:center}.road-workspace-name input{height:36px;min-width:220px;background:var(--bg-1);border:1px solid var(--line-2);border-radius:7px;color:var(--fg);padding:0 10px}
.frow.road-selected{background:var(--acc-soft)!important}
@media(max-width:820px){.road-grid3{grid-template-columns:1fr 1fr}.road-grid2{grid-template-columns:1fr}.road-kpis{grid-template-columns:1fr 1fr}.road-bulk{top:64px}.road-row{align-items:flex-start;flex-direction:column}.road-row-actions{justify-content:flex-start}}
@media(max-width:560px){.road-grid3{grid-template-columns:1fr}.road-kpis{grid-template-columns:1fr 1fr}.road-modal{padding:8px}.road-modal-card{max-height:94vh}.road-upload-extra{padding-left:16px;padding-right:16px}}
