/* Gantt Chart Maker & Project Planner (built on the simulations lab shell) */
.gc-hero{background:radial-gradient(circle at 85% 20%,#2fd3a033,transparent 40%),radial-gradient(circle at 60% 120%,#4f8dff26,transparent 45%),radial-gradient(circle at 0 0,#ffb84d22,transparent 45%),#0a0c1b}
.fp-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fp-badges span{font-size:11px;color:#d0c6e2;background:#ffffff08;padding:4px 11px;border:1px solid #4c425c;border-radius:20px}
.gc-page .gc-app{grid-template-columns:minmax(0,1fr) 340px}
.gc-toolbar{flex-wrap:wrap;gap:8px}
.gc-group{display:flex;flex-wrap:wrap;gap:4px}
.gc-page .gc-group button{min-height:34px;padding:4px 10px;font-size:12px;background:#0b0e20d9}
.gc-page .gc-group button:disabled{opacity:.4}
.gc-arena{position:relative;padding:0!important;display:block!important;min-height:0}
.gc-scroll{position:absolute;inset:0;overflow:auto;background:#fbfcfe;border-radius:12px;overscroll-behavior:contain}
.gc-inner{position:relative;display:flex;align-items:flex-start}
.gc-table{position:sticky;left:0;z-index:3;flex:none;width:500px;background:#fff;border-right:1px solid #cfd6e6;box-shadow:4px 0 10px #1e254012;color:#1e2540;font-size:12px}
.gc-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-end;height:48px;padding-bottom:7px;box-sizing:border-box;background:#eef2fa;border-bottom:1px solid #cfd6e6;font-weight:700;color:#4a5578;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.gc-head span,.gc-row>*{flex:none;padding:0 5px;box-sizing:border-box}
.gc-table .c-n{width:34px;text-align:right;color:#8a93ad}.gc-table .c-name{flex:1;min-width:0}.gc-table .c-dur{width:46px}.gc-table .c-start{width:116px}.gc-table .c-end{width:58px;font-size:11px}.gc-table .c-pct{width:46px}
.gc-row{display:flex;align-items:center;height:34px;border-bottom:1px solid #edf0f6;cursor:default}
.gc-row:hover{background:#f5f8ff}.gc-row.sel{background:#e3ecff;box-shadow:inset 3px 0 #2b5fd9}
.gc-row.phase{font-weight:700;background:#f6f7fb}.gc-row.phase.sel{background:#e3ecff}
.gc-row.behind .c-pct input{color:#c62f3f}
.gc-row .c-name{display:flex;align-items:center;gap:3px}
.gc-page .gc-row input{width:100%;min-height:26px;height:26px;margin:0;padding:2px 5px;font:inherit;font-size:12px;color:#1e2540;background:transparent;border:1px solid transparent;border-radius:6px;box-sizing:border-box}
.gc-page .gc-row input:hover{border-color:#d4dbea}.gc-page .gc-row input:focus{border-color:#2b5fd9;background:#fff;outline:none;box-shadow:0 0 0 2px #2b5fd933}
.gc-page .gc-row input:disabled{color:#5b6585;-webkit-text-fill-color:#5b6585;opacity:1}
.gc-page .gc-row input[type=number]{text-align:right;-moz-appearance:textfield}.gc-page .gc-row input::-webkit-inner-spin-button{display:none}
.gc-row .c-end{color:#5b6585;white-space:nowrap;font-variant-numeric:tabular-nums}
.gc-page .gc-tog{flex:none;width:18px;height:18px;min-height:0;padding:0;border:0;background:none;color:#4a5578;font-size:11px;cursor:pointer;border-radius:4px}
.gc-page .gc-tog:hover{background:#dde4f5}
.gc-tog.blank{visibility:hidden}
.gc-ms{flex:none;color:#d98a00;font-size:11px}
.gc-chart{flex:none;position:relative}
.gc-chart canvas{position:sticky;top:0;display:block;touch-action:none;cursor:default}
.gc-empty{padding:18px 14px;color:#5b6585;font-size:13px;line-height:1.5}
.gc-hint{z-index:5}
.gc-status{gap:10px;flex-wrap:wrap}
.gc-days{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.gc-days label{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #333b72;border-radius:8px;font-size:12px;color:#c8cbe6;cursor:pointer}
.gc-props{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gc-props .full{grid-column:1/-1}
.gc-props label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c8cbe6}
.gc-page .gc-props input[type=color]{min-height:34px;padding:2px;width:100%}
.gc-page textarea{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:7px 10px;color:#fff;background:#0a0d1f;border:1px solid #333b72;border-radius:10px;resize:vertical}
.gc-deps{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}
.gc-dep{display:grid;grid-template-columns:minmax(0,1fr) 62px 58px 30px;gap:5px;align-items:center;font-size:12px;color:#dfe4ff}
.gc-dep b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.gc-page .gc-dep select,.gc-page .gc-dep input{min-height:28px!important;padding:2px 4px;font-size:12px}
.gc-page .gc-dep button{min-height:28px;padding:0;font-size:12px}
.gc-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}
.gc-badge.crit{background:#5a1a24;color:#ffc6cf}.gc-badge.ok{background:#10301f;color:#bff5cf}
.fp-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c8cbe6;margin-bottom:10px}
.fp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.fp-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #2a3060;border-radius:10px;background:#0f1330;font-size:12px}
.fp-list li b{flex:1;color:#fff;font-weight:600}.fp-list li em{font-style:normal;font-family:ui-monospace,Consolas,monospace;color:#9ec0ff}
.fp-warn li{border-color:#5a2a33;background:#2a1018;color:#ffc6cf}.fp-warn li.ok{border-color:#2a5a3a;background:#10261a;color:#bff5cf}
.fp-swatch{width:14px;height:14px;border-radius:4px;border:1px solid #fff4;flex:none}
.fp-hint{position:absolute;left:10px;bottom:10px;max-width:70%;padding:6px 10px;border-radius:10px;background:#0b0e20e6;color:#dfe4ff;font-size:12px;pointer-events:none}
.fp-hint:empty{display:none}
.fp-grow{flex:1}.fp-total{font:700 12px ui-monospace,Consolas,monospace;color:#9ec0ff}.fp-saved{font-size:11px;color:#8b93b8}
.gc-page .fp-list button{min-height:26px;padding:2px 8px;font-size:11px}
.gc-bar{height:6px;border-radius:3px;background:#1d2350;overflow:hidden;flex:0 0 70px}.gc-bar i{display:block;height:100%;background:#4f8dff}
.gc-bar.over i{background:#ff6b7d}
@media(max-width:1000px){.gc-page .gc-app{grid-template-columns:1fr}.gc-arena{height:62vh;flex:none!important;aspect-ratio:auto!important}}
@media(max-width:640px){.gc-table{width:180px}.gc-table .c-dur{width:38px}.gc-table .c-start,.gc-table .c-end,.gc-table .c-pct{display:none}.gc-page .gc-group button span{display:none}.gc-page .gc-group button{min-width:36px}}
.gc-page .ns-pp input[type=date]{width:100%;box-sizing:border-box;font:inherit;font-size:13px;min-height:38px;padding:7px 10px;color:#fff;background:#0a0d1f;border:1px solid #333b72;border-radius:10px;color-scheme:dark}
@media(max-width:1250px) and (min-width:1001px){.gc-table{width:420px}.gc-table .c-end{display:none}}
