: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}*{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}.brandLockup{align-items:center;display:inline-flex;gap:14px;margin:0 0 22px}.brandLockup img{display:block;height:58px;width:58px}.brandLockup span{color:#121c2a;font-size:38px;font-weight:800;letter-spacing:0;line-height:1}h1{font-size:clamp(42px,5vw,84px);letter-spacing:0;line-height:1;margin:0;max-width:none;white-space:nowrap}.intro{color:#4c5b69;font-size:19px;margin:18px 0 0}.dropzone{align-items:center;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#dce6ed,#f1d186,#b9d2ff,#d7c9ff) 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;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,linear-gradient(135deg,var(--accent),var(--amber),var(--teal)) 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;background:radial-gradient(circle at 16px 16px,rgba(46,107,217,.06) 1px,transparent 1.5px),linear-gradient(135deg,#fff,#f8fbff 45%,#fbfcf8);background-size:18px 18px,auto;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(135deg,rgba(53,89,214,.035),transparent 38%),linear-gradient(90deg,#fbfcff,#f7fafb);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 18px}.searchBox{background:linear-gradient(#fbfcff,#fbfcff) padding-box,linear-gradient(135deg,#d8e1e6,#f5d98d,#bdd5ff,#d7c8ff) border-box;border:1px solid transparent;border-radius:7px;display:grid;gap:5px;min-width:220px;padding:3px}.searchBox label{color:#516270;font-size:12px;font-weight:800}.searchBox input{background:#fff;border:1px solid #d8e1e7;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}.segmented{display:flex;gap:6px}.segmented button{min-height:38px;padding:8px 11px}.segmented{background:linear-gradient(#eef3f6,#eef3f6) padding-box,linear-gradient(135deg,#d8e1e6,#f5d98d,#bdd5ff,#d7c8ff) border-box;border:1px solid transparent;border-radius:7px;padding:3px}.segmented button{background:transparent;color:#3b4b58;text-transform:capitalize}.segmented button.active{background:#fff;border:1px solid #dfe7ed;color:var(--accent);box-shadow:0 1px 5px #24345314}.focusSegmented button{min-width:76px}.hierarchySegmented button{min-width:112px}.widthSegmented button{min-width:68px}.taskInspector{align-items:start;background:radial-gradient(circle at 18px 18px,rgba(29,140,138,.055) 1px,transparent 1.5px),linear-gradient(135deg,#f9fbff,#f8fbfc 58%,#fbfcf8);background-size:20px 20px,auto;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:radial-gradient(circle at 18px 18px,rgba(53,89,214,.045) 1px,transparent 1.5px),linear-gradient(135deg,#fbfcff,#f7fafc 55%,#fcfbf5);background-size:20px 20px,auto;border-bottom:1px solid #dde4e8;border-top:1px solid #eef3f6;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}.milestoneStrip .milestoneItem{align-items:center;display:flex;gap:7px;min-width:0}.milestoneStrip .milestoneStatusIcon{border-radius:50%;flex:0 0 auto;height:9px;position:relative;width:9px}.milestoneStrip .milestoneItem>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.milestoneItem.overdue .milestoneStatusIcon{background:#d94b3d;box-shadow:0 0 0 3px #ffe9e5}.milestoneItem.upcoming .milestoneStatusIcon{background:#3156bd;box-shadow:0 0 0 3px #e8f1ff}.dependencyLegend{align-content:start;background:#ffffffeb;border:1px solid #dbe5eb;border-radius:6px;box-shadow:0 6px 20px #1827361a;display:grid;gap:6px 10px;grid-template-columns:repeat(2,minmax(54px,1fr));padding:8px 9px;pointer-events:none;position:absolute;right:28px;top:46px;z-index:8}.legendItem{align-items:center;color:#5a6975;display:flex;font-size:11px;font-weight:700;gap:6px}.legendItem span{border-top:2px solid currentColor;display:block;flex:0 0 26px;height:0}.legendItem.type-ss span{border-top-style:dashed}.legendItem.type-ff span{border-top-style:dotted}.legendItem.type-sf span{border-top-style:double}.legendItem.type-fs{color:#4f6375}.legendItem.type-ss{color:#168f8b}.legendItem.type-ff{color:#7652c7}.legendItem.type-sf{color:#c44f42}.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;height:clamp(320px,calc(100vh - 360px),760px);min-height:320px;overflow-x:hidden;overflow-y:hidden;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;display:grid;grid-template-rows:34px minmax(0,1fr);min-width:0;overflow:hidden;position:relative;z-index:5}.taskRows{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.taskRows::-webkit-scrollbar{height:0;width:0}.ganttViewport.panning,.ganttViewport.panning *{cursor:grabbing}.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}.ganttShell{display:grid;grid-template-rows:34px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;position:relative}.gantt{min-height:100%;min-width:760px;position:relative;z-index:1}.ganttViewport{cursor:grab;min-height:0;overflow:scroll;overscroll-behavior:contain;position:relative;scrollbar-gutter:stable both-edges;scrollbar-color:#8b9aa8 #edf2f6;scrollbar-width:auto;touch-action:none;-webkit-user-select:none;user-select:none}.ganttViewport::-webkit-scrollbar{height:14px;width:14px}.ganttViewport::-webkit-scrollbar-track{background:#edf2f6;border-left:1px solid #d7e0e7;border-top:1px solid #d7e0e7}.ganttViewport::-webkit-scrollbar-thumb{background:#8b9aa8;border:3px solid #edf2f6;border-radius:999px}.ganttViewport::-webkit-scrollbar-thumb:hover{background:#617080}.ganttViewport::-webkit-scrollbar-corner{background:#edf2f6}.ganttViewport.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.ganttHeaderRail{background:#f2f5f6;border-bottom:1px solid #edf1f3;min-width:0;overflow-y:hidden;overflow-x:hidden;position:relative}.ganttHeader{background:#f2f5f6;height:34px;min-width:760px;position:relative;z-index:2}.ganttHeader span{border-left:1px solid var(--line);color:#506171;font-size:11px;font-weight:600;height:34px;overflow:hidden;padding:9px 5px 0;position:absolute;white-space:nowrap}.todayMarker{background:var(--coral);bottom:0;position:absolute;top:0;width:2px;z-index:1}.dependencyLayer{left:0;pointer-events:none;position:absolute;top:0;z-index:2}.dependencyLine{fill:none;opacity:.4;stroke:#8b9aa8;stroke-linecap:round;stroke-width:.9}.dependencyLine.type-fs{stroke:#4f6375}.dependencyLine.type-ss{stroke:#168f8b;stroke-dasharray:5 5}.dependencyLine.type-ff{stroke:#7652c7;stroke-dasharray:1 5}.dependencyLine.type-sf{stroke:#c44f42;stroke-dasharray:8 4 1 4}.dependencyLine.type-unknown{stroke:#8b9aa8;stroke-dasharray:5 6}.dependencyLine.highlighted{opacity:.95;stroke-width:2.1}.dependencyEndpoint{fill:#8b9aa8;opacity:.62}.dependencyEndpoint.type-fs{fill:#4f6375}.dependencyEndpoint.type-ss{fill:#168f8b}.dependencyEndpoint.type-ff{fill:#7652c7}.dependencyEndpoint.type-sf{fill:#c44f42}.dependencyEndpoint.highlighted{opacity:.95;stroke:var(--blue);stroke-width:1.5}.ganttRow{border-bottom:1px solid #edf1f3;height:34px;position:relative}.bar{background:var(--teal);border-radius:3px;border:0;cursor:pointer;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)}.optiraCta{align-items:center;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#d7e1e8,#efd78b,#bed7ff,#d8caff) border-box;border:1px solid transparent;border-radius:8px;bottom:18px;box-shadow:0 14px 35px #16243329;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;left:18px;max-width:min(360px,calc(100vw - 36px));padding:14px 42px 14px 16px;position:fixed;z-index:20}.optiraCta strong{color:#121c2a;display:block;font-size:15px}.optiraCta span{color:#607080;display:block;font-size:12px;line-height:1.35;margin-top:2px}.optiraCta a{background:var(--accent);border-radius:6px;color:#fff;font-size:13px;font-weight:800;padding:9px 11px;text-decoration:none;white-space:nowrap}.ctaClose{align-items:center;background:#eef2f7;border-radius:999px;color:#45586a;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:9px;top:9px;width:24px}@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))}.brandLockup img{height:48px;width:48px}.brandLockup span{font-size:30px}h1{font-size:clamp(34px,12vw,52px);white-space:normal}.optiraCta{align-items:stretch;grid-template-columns:1fr}.optiraCta a{text-align:center}}
