:root{--accent: #3559d6;--accent-soft: #eef2ff;--amber: #d88418;--blue: #2e6bd9;--coral: #d85243;--ink: #1c2430;--line: #dfe7ed;--muted: #637384;--surface: #ffffff;--teal: #1d8c8a;--violet: #7555d9;color:#1c2430;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@keyframes optiraTrace{to{--trace-angle: 360deg}}@property --trace-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}*{box-sizing:border-box}body{margin:0}button{border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:10px 16px}button.secondary{background:#eef2f7;color:#2d4158}.shell{min-height:100vh;padding:28px}.loadedShell{padding-top:18px}.hero{align-items:start;display:flex;gap:24px;justify-content:space-between;margin:0 auto 28px;max-width:1360px}.brand{color:#253b6f;font-size:14px;font-weight:800;margin:0 0 12px;text-transform:uppercase}h1{font-size:clamp(36px,6vw,72px);letter-spacing:0;line-height:.95;margin:0;max-width:760px}.intro{color:#4c5b69;font-size:19px;margin:18px 0 0}.dropzone{align-items:center;background:#fff;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--trace-angle),#aebbd8,#f2c872,#4aa7c8,#c9b8ff,#aebbd8) border-box;border:2px solid transparent;border-radius:8px;display:flex;flex-direction:column;gap:10px;margin:0 auto 20px;max-width:1360px;min-height:210px;padding:34px;animation:optiraTrace 8s linear infinite;transition:border-color .16s ease,background .16s ease}.compactDropzone{align-items:center;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;min-height:72px;padding:14px 18px}.dropzone.dragging{background:linear-gradient(#f2f6ff,#f2f6ff) padding-box,conic-gradient(from var(--trace-angle),var(--accent),var(--amber),var(--teal),var(--accent)) border-box}.dropzone input{display:none}.dropzone strong{font-size:24px}.dropzone span,.note{color:#657482}.compactDropzone strong{font-size:17px}.compactDropzone span{justify-self:start}.note,.error{margin:18px auto;max-width:1360px}.error{background:#fff1f1;border-left:4px solid #b42318;color:#7a271a;padding:14px 16px}.error p{margin:0}.error code{background:#7a271a14;border-radius:4px;display:block;font-size:13px;margin-top:10px;overflow-wrap:anywhere;padding:10px}.viewer{background:#fff;border:1px solid var(--line);border-radius:8px;margin:0 auto;max-width:1360px;overflow:hidden;transition:max-width .18s ease,width .18s ease;width:min(100%,1360px)}.viewer.standard{max-width:1180px;width:min(100%,1180px)}.viewer.wide{max-width:1480px;width:min(100%,1480px)}.viewer.max{max-width:none;width:100%}.projectBar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px 18px}.fileName{color:#253b6f;font-size:13px;font-weight:800;margin:0 0 4px}.projectBar h2{font-size:18px;margin:0 0 4px}.projectBar p{color:#657482;margin:0}.stats{display:flex;gap:10px}.stats span{background:#eef2ff;border-radius:999px;color:#2d3f7f;font-size:13px;padding:6px 10px}.toolbar{align-items:end;background:linear-gradient(90deg,#fbfcff,#f8fbfc);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 18px}.searchBox{display:grid;gap:5px;min-width:220px}.searchBox label{color:#516270;font-size:12px;font-weight:800}.searchBox input{border:1px solid #cfd8de;border-radius:6px;color:#1c2430;font:inherit;min-height:38px;padding:8px 10px}.linkButton{align-self:start;background:transparent;color:var(--accent);font-size:13px;padding:0;text-align:left}.resultCount{color:#657482;font-size:13px;margin:0}.buttonGroup,.segmented{display:flex;gap:6px}.buttonGroup button,.segmented button{min-height:38px;padding:8px 11px}.segmented{background:linear-gradient(#edf2f4,#edf2f4) padding-box,conic-gradient(from var(--trace-angle),#d8e1e6,#f5d98d,#bdd5ff,#d7c8ff,#d8e1e6) border-box;animation:optiraTrace 12s linear infinite;border:1px solid transparent;border-radius:7px;padding:3px}.segmented button{background:transparent;color:#3b4b58;text-transform:capitalize}.segmented button.active{background:#fff;color:var(--accent);box-shadow:0 1px 5px #24345314}.focusSegmented button{min-width:76px}.widthSegmented button{min-width:68px}.taskInspector{align-items:start;background:#f9fbff;border-bottom:1px solid var(--line);display:grid;gap:14px;grid-template-columns:minmax(240px,1.2fr) minmax(420px,2fr) minmax(260px,1fr) auto;padding:14px 18px}.scheduleSnapshot{align-items:stretch;background:linear-gradient(135deg,#fbfcff,#f7fafc) padding-box,conic-gradient(from var(--trace-angle),#dfe8ed,#f3cc70,#a8cbff,#d4c0ff,#dfe8ed) border-box;animation:optiraTrace 16s linear infinite;border-bottom:1px solid #dde4e8;border-top:1px solid transparent;display:grid;gap:18px;grid-template-columns:minmax(150px,.65fr) minmax(430px,1.45fr) minmax(320px,1fr);padding:16px 18px}.scheduleSnapshot h3{font-size:17px;margin:0}.snapshotStats{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(92px,1fr))}.metricTile{align-items:center;background:#fff;border:1px solid #e2e9ed;border-radius:6px;color:#526273;display:flex;flex-direction:column;font-size:12px;justify-content:center;min-height:74px;padding:11px 10px;text-align:center}.metricTile strong{color:#1c2430;display:block;font-size:25px;line-height:1;margin-bottom:6px}.metricTile.blue{border-top:4px solid var(--blue)}.metricTile.coral{border-top:4px solid var(--coral)}.metricTile.violet{border-top:4px solid var(--violet)}.metricTile.amber{border-top:4px solid var(--amber)}.milestoneStrip{display:grid;gap:4px}.milestoneStrip strong{color:#324452;font-size:12px}.milestoneStrip span{color:#5a6975;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taskInspector h3{font-size:16px;margin:0}.taskInspector dl{display:grid;gap:8px 14px;grid-template-columns:repeat(3,minmax(110px,1fr));margin:0}.taskInspector dl div{min-width:0}.taskInspector dt{color:#6b7a86;font-size:11px;font-weight:800;text-transform:uppercase}.taskInspector dd{color:#23313d;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relationshipList{display:grid;gap:4px}.relationshipList strong{color:#324452;font-size:12px}.relationshipList span{color:#5a6975;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid{display:grid;max-height:68vh;overflow-x:hidden;overflow-y:auto;position:relative}.divider{align-self:stretch;background:linear-gradient(90deg,#edf2f6 0,#d8e3eb 45%,#c8d6e0 55%,#edf2f6);border-radius:0;cursor:col-resize;min-height:100%;padding:0;position:relative;z-index:6}.divider:hover{background:var(--accent)}.taskList{background:#fff;min-width:0;overflow:hidden;position:relative;z-index:5}.row{display:grid;grid-template-columns:70px minmax(220px,1fr) 108px 108px;min-height:34px;min-width:0}button.row{background:#fff;border-radius:0;color:inherit;cursor:default;font-weight:400;padding:0;text-align:left;width:100%}button.row:hover span{background:#f8fafb}button.row.selected span{background:#eef2ff;color:#273f92;font-weight:800}button.row.related span{background:#fff7e8}.row span{align-items:center;border-bottom:1px solid #edf1f3;display:flex;font-size:13px;min-width:0;overflow:hidden;padding:0 9px;text-overflow:ellipsis;white-space:nowrap}.row.header span{background:#f2f5f6;color:#40515f;font-weight:800}.gantt{min-width:760px;position:relative;z-index:1}.ganttViewport{min-width:0;overflow-x:auto;overflow-y:hidden;position:relative}.ganttHeader{background:#f2f5f6;border-bottom:1px solid #edf1f3;height:34px;position:sticky;top:0;z-index:2}.ganttHeader span{border-left:1px solid var(--line);color:#40515f;font-size:12px;font-weight:800;height:34px;overflow:hidden;padding:9px 8px 0;position:absolute;white-space:nowrap}.todayMarker{background:var(--coral);bottom:0;position:absolute;top:34px;width:2px;z-index:1}.dependencyLayer{left:0;pointer-events:none;position:absolute;top:0;z-index:2}.dependencyLine{fill:none;opacity:.28;stroke:#8b9aa8;stroke-dasharray:5 6;stroke-linecap:round;stroke-width:1.1}.dependencyLine.highlighted{opacity:.9;stroke:var(--amber);stroke-dasharray:none;stroke-width:2}#arrow-muted path{fill:#8b9aa8;opacity:.48}#arrow-active path{fill:var(--amber)}.ganttRow{border-bottom:1px solid #edf1f3;height:34px;position:relative}.bar{background:var(--teal);border-radius:3px;border:0;height:12px;min-width:6px;padding:0;position:absolute;top:11px;z-index:4}.bar.summary{background:#27364c;height:8px;top:13px}.bar.milestone{background:var(--amber);height:10px;min-width:10px;transform:rotate(45deg)}.bar.selected{box-shadow:0 0 0 3px #3559d638}.bar.related{background:var(--violet)}@media(max-width:760px){.shell{padding:18px}.hero,.projectBar{align-items:stretch;flex-direction:column}.stats{flex-wrap:wrap}.compactDropzone,.toolbar,.taskInspector,.scheduleSnapshot{align-items:stretch;display:flex;flex-direction:column}.taskInspector dl{grid-template-columns:repeat(2,minmax(120px,1fr))}}
