:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17332b;background:#f2f8f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.signin-shell,.center-card{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#dff3e5 0,transparent 34%),linear-gradient(145deg,#f8fcf9,#edf6f0)}.signin-card{width:min(480px,100%);padding:48px;border:1px solid #c9ded0;border-radius:24px;background:#fff;box-shadow:0 24px 70px #17332b18;text-align:center}.signin-card h1{margin:12px 0;font-size:clamp(30px,5vw,44px)}.signin-card>p:not(.eyebrow):not(.alert){color:#5f716b;line-height:1.6}.signin-card small{display:block;margin-top:16px;color:#71817b}.brand-mark{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#0c6a4c;color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:0 10px 24px #0c6a4c36}.brand-mark.small{width:44px;height:44px;border-radius:12px;font-size:13px;box-shadow:none}.eyebrow{margin:0;color:#618076;font-size:11px;font-weight:800;letter-spacing:.14em}.primary,.secondary,.account button{border:0;border-radius:10px;cursor:pointer;font-weight:750}.primary{width:100%;margin-top:18px;padding:14px 20px;background:#0d684c;color:#fff}.primary:hover{background:#09563e}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:15px clamp(18px,4vw,56px);border-bottom:1px solid #d4e3d9;background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar>div:first-child{display:flex;align-items:center;gap:13px}.topbar h1{margin:2px 0 0;font-size:19px}.account{display:flex;align-items:center;gap:12px;color:#586d65;font-size:13px}.account button{padding:9px 13px;color:#0d684c;background:#edf6f0}main{width:min(1600px,100%);margin:auto;padding:32px clamp(18px,4vw,56px) 48px}.page-heading,.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.page-heading{margin-bottom:22px}.page-heading h2{margin:0;font-size:30px}.page-heading p,.panel-heading p{margin:6px 0 0;color:#687b74}.secondary{padding:10px 16px;border:1px solid #a9c8b5;background:#fff;color:#0d684c}.secondary:disabled{opacity:.65}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin-bottom:22px}.summary-card{min-height:130px;padding:20px;border:1px solid #cae0d1;border-radius:16px;background:#fff}.summary-card span{display:block;color:#61766e;font-size:13px}.summary-card strong{display:block;margin-top:16px;color:#075f43;font-size:clamp(20px,2vw,28px);white-space:nowrap}.summary-card small{display:block;margin-top:8px;color:#788982}.panel{overflow:hidden;margin-top:20px;border:1px solid #cbded2;border-radius:17px;background:#fff;box-shadow:0 10px 32px #224b3d0a}.panel-heading{padding:20px 22px;border-bottom:1px solid #dce9e0}.panel-heading h3{margin:0}.filters{display:flex;gap:10px}.filters input,.filters select{min-width:190px;padding:10px 12px;border:1px solid #bfd4c6;border-radius:9px;background:#fbfdfb;color:#17332b}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{padding:13px 15px;background:#eaf5ec;text-align:left;white-space:nowrap}td{padding:15px;border-top:1px solid #e1ece4;vertical-align:top}td strong,td small{display:block}td small{margin-top:5px;color:#6c7d77}.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e8f5ed;color:#14714f;font-size:12px;font-weight:800;text-transform:capitalize}.pill.delayed{background:#fff0ee;color:#bb3b31}.pill.ahead{background:#e8f3ff;color:#2167a8}.pill.neutral{background:#eef1ef;color:#617069}.variance.delayed{color:#b7352d;font-weight:800}.variance.ahead{color:#14714f;font-weight:800}.lower-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(440px,1.25fr);gap:20px}.member-list,.activity-list{margin:0;padding:8px 22px 18px;list-style:none}.member-list li,.activity-list li{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #e4ece7}.member-list li:last-child,.activity-list li:last-child{border:0}.member-list li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e3f3e8;color:#0b6548;font-weight:900}.activity-list li{justify-content:space-between}.activity-list div span{display:block;margin-top:4px;color:#6a7d75;font-size:13px}.activity-list time{color:#71817b;font-size:12px;text-align:right}.alert{padding:12px;border-radius:10px;background:#fff0ee;color:#9f3028}.alert.wide{display:flex;gap:8px;flex-direction:column;margin:0 0 20px;padding:16px 20px;border:1px solid #efc5c0}.empty{padding:25px!important;color:#71817b;text-align:center}.center-card{align-content:center;color:#587168}.spinner{width:36px;height:36px;border:3px solid #cfe1d5;border-top-color:#0d684c;border-radius:50%;animation:spin .8s linear infinite}footer{padding:18px;text-align:center;color:#70827b;font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1200px){.summary-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:780px){.topbar,.page-heading,.panel-heading,.account{align-items:flex-start}.topbar,.page-heading,.panel-heading{flex-direction:column}.account{width:100%;justify-content:space-between}.summary-grid{grid-template-columns:repeat(2,1fr)}.lower-grid{grid-template-columns:1fr}.filters{width:100%;flex-direction:column}.filters input,.filters select{width:100%;min-width:0}.signin-card{padding:34px 24px}}@media (max-width:480px){.summary-grid{grid-template-columns:1fr}.summary-card{min-height:auto}.page-heading h2{font-size:25px}}.summary-card strong{overflow-wrap:anywhere;font-size:clamp(18px,1.65vw,27px);line-height:1.12;white-space:normal}.schedule-open{display:grid;justify-items:start;gap:5px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.schedule-open small{color:#397260;text-decoration:underline}.schedule-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:12px;background:#08251e9c}.schedule-dialog{width:min(1280px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:22px;border-radius:18px;background:#fff;box-shadow:0 28px 80px #051f19}.schedule-dialog>header{position:sticky;z-index:3;top:-22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-22px -22px 18px;padding:18px 22px;border-bottom:1px solid #d8e6e1;background:#fff}.schedule-dialog h2,.schedule-dialog h3{margin:16px 0 7px}.schedule-dialog>header h2{margin:4px 0}.schedule-dialog>header span,.schedule-section-title p{color:#687b74}.schedule-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.schedule-metrics article{padding:13px;border-radius:10px;background:#edf5f2}.schedule-metrics span{display:block;color:#62766f;font-size:12px}.schedule-metrics strong{display:block;margin-top:5px;font-size:20px}.schedule-curve{overflow:auto;padding:10px;border:1px solid #d6e5df;border-radius:12px}.schedule-curve svg{display:block;width:100%;min-width:720px}.schedule-curve line{stroke:#dce7e3}.schedule-curve text{fill:#5d716a;font-size:11px}.schedule-curve path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.schedule-curve path.planned{stroke:#245ac4}.schedule-curve path.actual{stroke:#0a946d}.schedule-curve circle{fill:#fff;stroke:#0a946d;stroke-width:3}.schedule-legend{display:flex;justify-content:center;gap:24px}.schedule-legend span:before{content:"";display:inline-block;width:22px;height:3px;margin-right:7px;vertical-align:middle}.schedule-legend .planned:before{background:#245ac4}.schedule-legend .actual:before{background:#0a946d}.schedule-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:16px}.schedule-section-title h3,.schedule-section-title p{margin:0}.period-switch{display:flex;padding:3px;border:1px solid #bdd4ca;border-radius:9px;background:#edf5f2}.period-switch button{padding:7px 14px;border:0;border-radius:6px;background:transparent;color:#36574c;cursor:pointer}.period-switch button[aria-pressed=true]{background:#147b5d;color:#fff;font-weight:800}.accumulated{overflow:auto;border:1px solid #d6e5df;border-radius:10px}.accumulated table{min-width:1050px;font-size:12px}.accumulated th,.accumulated td{padding:8px 10px;white-space:nowrap}.gantt{overflow:auto;border:1px solid #d6e5df;border-radius:10px}.gantt-head,.gantt-row{display:grid;grid-template-columns:minmax(270px,34%) minmax(500px,1fr);min-width:820px}.gantt-head>*{padding:10px 13px;background:#17483d;color:#fff}.gantt-row>div{padding:9px 13px;border-top:1px solid #e0e9e5}.gantt-row small{display:block;margin-top:3px;color:#687b74}.gantt-track{position:relative;background-image:linear-gradient(to right,#e0e8e4 1px,transparent 1px);background-size:10% 100%}.gantt-track i{position:absolute;top:12px;height:24px;overflow:hidden;border-radius:5px;background:#2a8dad}.gantt-track i.complete{background:#0b7658}.gantt-track i span{display:block;height:100%;background:#075f4561}.readonly-note{color:#687b74;font-size:12px}@media (max-width: 780px){.schedule-dialog>header,.schedule-section-title{flex-direction:column;align-items:flex-start}.schedule-metrics{grid-template-columns:repeat(2,1fr)}}
