:root{--ink:#142b27;--muted:#536b67;--line:#d9e4e1;--canvas:#f4f7f6;--panel:#fff;--teal:#087f71;--teal-dark:#075f57;--mint:#e6f4f0;--orange:#c87613;--red:#c43e38;--blue:#256da8;--purple:#6d55a4;--shadow:0 8px 28px #142b2712}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{transition:border-color .15s,background .15s,box-shadow .15s}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(26px,3vw,38px)}h2{letter-spacing:-.015em;margin-bottom:0;font-size:18px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--teal);margin:0 0 7px;font-size:10px;font-weight:800}.button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:10px 14px;font-weight:750}.button:hover{border-color:var(--teal)}.button-primary{background:var(--teal);border-color:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark)}.button-muted{background:#f6f9f8}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;min-width:0;padding:20px}.panel-title,.section-heading,.records-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.panel-title>span,.section-heading>span{color:var(--muted);font-size:12px}.brand-lockup{align-items:center;gap:11px;display:flex}.brand-lockup>span:last-child{display:grid}.brand-lockup b{font-size:17px}.brand-lockup small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.brand-mark{color:#fff;background:linear-gradient(145deg,#10a28f,#07675d);border-radius:11px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:900;display:grid}.app-header{z-index:30;border-bottom:1px solid var(--line);background:#fffffff5;align-items:center;height:68px;padding:0 24px;display:flex;position:sticky;top:0}.menu-button{background:0 0;border:0;margin-right:8px;font-size:22px;display:none}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.header-search{border:1px solid var(--line);background:#f7f9f8;border-radius:9px;align-items:center;gap:7px;padding:0 10px;display:flex}.header-search input{width:260px;color:var(--ink);background:0 0;border:0;outline:none;padding:10px 0}.demo-badge{color:#266257;background:#e9f4f1;border:1px solid #cde4de;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:750}.header-icon{color:var(--orange);background:0 0;border:0}.header-avatar{color:#fff;background:#153c35;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.app-shell-body{min-height:calc(100vh - 68px);display:flex}.sidebar{border-right:1px solid var(--line);z-index:21;background:#fff;flex-direction:column;flex:0 0 230px;width:230px;height:calc(100vh - 68px);padding:25px 14px;display:flex;position:sticky;top:68px}.sidebar-label{text-transform:uppercase;letter-spacing:.13em;color:#71837f;padding:0 12px 10px;font-size:10px;font-weight:800}.sidebar nav{gap:6px;display:grid}.sidebar-link{color:#435c57;border-radius:9px;align-items:center;gap:11px;padding:11px 12px;font-weight:700;display:flex}.sidebar-link:hover{background:#f0f6f4}.sidebar-link-active{background:var(--mint);color:var(--teal-dark);box-shadow:inset 3px 0 var(--teal)}.sidebar-icon{width:21px;font-size:18px}.sidebar-source{color:var(--muted);background:#f2f6f5;border-radius:10px;gap:5px;margin-top:auto;padding:14px 12px;display:grid;overflow:hidden}.sidebar-source b{color:var(--ink);font-size:11px}.sidebar-source span{overflow-wrap:anywhere;font-size:10px}.sidebar-source small{font-size:9px}.sidebar-backdrop{display:none}.workspace-main{width:calc(100% - 230px);padding:28px;overflow:hidden}.dashboard-page,.records-page{max-width:1700px;margin:0 auto}.page-intro{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.page-intro>div>p:last-child{color:var(--muted);margin:0}.as-of{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:10px 12px;font-size:11px;display:flex}.as-of b{color:var(--ink)}.live-dot{background:#20a777;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #dff3ec}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(7,minmax(110px,1fr)) auto;align-items:end;gap:10px;margin-bottom:24px;padding:14px;display:grid;box-shadow:0 4px 16px #142b270a}.filter-bar label{color:#435c57;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.filter-bar input,.filter-bar select,.table-actions input{min-width:0;height:39px;color:var(--ink);background:#fff;border:1px solid #cddbd7;border-radius:8px;outline:none;padding:0 9px}.filter-bar input:focus,.filter-bar select:focus,.table-actions input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087f711c}.section-heading{align-items:end;margin:0 0 12px}.kpi-grid{grid-template-columns:repeat(8,minmax(120px,1fr));gap:10px;margin-bottom:22px;display:grid}.kpi-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;min-width:0;padding:15px 13px;display:flex;box-shadow:0 5px 18px #142b270d}.kpi-icon{background:var(--mint);height:31px;color:var(--teal);border-radius:8px;flex:0 0 31px;place-items:center;font-weight:900;display:grid}.kpi-card div{gap:5px;min-width:0;display:grid}.kpi-card small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.kpi-card strong{font-size:20px}.pipeline-panel{margin-bottom:14px}.pipeline{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.pipeline-step{background:#f3f8f6;border:1px solid #d8e9e4;border-radius:10px;place-items:center;gap:3px;padding:12px;display:grid;position:relative}.pipeline-step span{color:var(--teal-dark);font-size:20px;font-weight:850}.pipeline-step b{font-size:11px}.pipeline-step i{color:#78918b;font-size:17px;font-style:normal;position:absolute;right:-13px}.analytics-grid{grid-template-columns:1.25fr .9fr .9fr;gap:14px;margin-bottom:14px;display:grid}.portfolio-panel{grid-row:span 2}.portfolio-content{justify-content:center;align-items:center;gap:28px;min-height:265px;display:flex}.donut{border-radius:50%;flex:none;place-items:center;width:190px;height:190px;display:grid}.donut span{width:116px;height:116px;color:var(--muted);box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:50%;place-items:center;font-size:11px;display:grid}.donut b{color:var(--ink);font-size:28px}.legend-list{gap:12px;min-width:190px;display:grid}.legend-list>div{grid-template-columns:10px 1fr auto 35px;align-items:center;gap:8px;display:grid}.legend-list b{font-size:11px}.legend-list em{font-style:normal;font-weight:800}.legend-list small{color:var(--muted);text-align:right}.legend-dot,.chart-legend i{background:#16856b;border-radius:2px;width:8px;height:8px}.batch-in-progress{background:#2876bd}.batch-planned{background:#e6a13a}.batch-delayed{background:#d9534f}.batch-on-hold{background:#7c68ad}.bar-list{gap:11px;display:grid}.bar-list>div{grid-template-columns:95px 1fr 25px;align-items:center;gap:9px;font-size:10px;display:grid}.bar-list>div>div{background:#e8efed;border-radius:99px;height:8px;overflow:hidden}.bar-list i{background:linear-gradient(90deg,#0e937e,#54b9a3);border-radius:99px;height:100%;display:block}.bar-list b{text-align:right}.trend-chart{border-bottom:1px solid var(--line);justify-content:space-around;align-items:end;height:150px;display:flex}.trend-chart>div{flex-direction:column;justify-content:end;align-items:center;gap:7px;width:13%;height:100%;display:flex}.trend-chart>div>div{align-items:end;gap:3px;height:125px;display:flex}.trend-chart i{border-radius:3px 3px 0 0;width:10px;min-height:2px;display:block}.trend-good,.good{background:#16856b!important}.trend-late,.late{background:#e39a32!important}.trend-chart span{color:var(--muted);font-size:9px}.chart-legend{color:var(--muted);gap:14px;margin-top:10px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.compact-panel .panel-title>b{color:var(--red);font-size:27px}.risk-list{gap:9px;display:grid}.risk-list>div{border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.quality-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quality-grid>div{background:#f4f8f7;border-radius:8px;gap:3px;padding:10px;display:grid}.quality-grid strong{font-size:18px}.quality-grid span{color:var(--muted);font-size:9px}.attention-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e9efed;padding:11px 10px}th{color:#526a65;text-transform:uppercase;background:#f5f8f7;font-size:9px}td small{color:var(--muted);margin-top:3px;display:block}.status-pill{color:#405954;background:#edf2f1;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.status-completed,.status-released,.status-success,.status-healthy,.status-active{color:#166a50;background:#e2f3eb}.status-in-progress,.status-under-testing,.status-info,.status-medium{color:#245f93;background:#e5f0fa}.status-not-started,.status-planned,.status-warning,.status-expiring-soon,.status-due-soon{color:#9a5909;background:#fff0d9}.status-overdue,.status-delayed,.status-critical,.status-rejected,.status-low-stock{color:#a62d28;background:#fbe4e2}.status-on-hold,.status-qa-review,.status-quality-hold,.status-high{color:#684b99;background:#eee8f8}.danger-text{font-weight:800;color:var(--red)!important}.empty-state{text-align:center;color:var(--muted);padding:24px}.notifications-panel{margin-bottom:14px}.notification-list{grid-template-columns:repeat(3,1fr);gap:0 18px;display:grid}.notification-list article{border-bottom:1px solid #e9efed;grid-template-columns:28px 1fr auto;gap:10px;padding:12px 0;display:grid}.alert-icon{background:#edf2f1;border-radius:7px;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.alert-critical{color:var(--red);background:#fbe4e2}.alert-warning{color:var(--orange);background:#fff0d9}.alert-success{color:var(--teal);background:#e2f3eb}.alert-info{color:var(--blue);background:#e5f0fa}.notification-list b{font-size:11px}.notification-list p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.45}.notification-list time{color:var(--muted);font-size:9px}.register-panel{margin-bottom:28px}.table-actions{align-items:center;gap:8px;display:flex}.table-actions input{width:230px}.pagination{color:var(--muted);justify-content:space-between;align-items:center;padding-top:16px;font-size:10px;display:flex}.pagination>div{align-items:center;gap:10px;display:flex}.pagination button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px}.pagination button:disabled{opacity:.45}.dataset-tabs{gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex;overflow-x:auto}.dataset-tabs button{border:1px solid var(--line);color:#4c625e;background:#fff;border-radius:9px;flex:none;align-items:center;gap:8px;padding:9px 11px;font-size:11px;font-weight:700;display:flex}.dataset-tabs button b{background:#edf2f1;border-radius:99px;place-items:center;min-width:21px;height:21px;font-size:9px;display:grid}.dataset-tabs button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}.dataset-tabs button.active b{background:#ffffff2b}.records-heading{align-items:center}.records-heading p{color:var(--muted);margin:5px 0 0;font-size:11px}.records-table{min-height:490px}.records-table th{padding:0}.records-table th button{text-align:left;text-transform:uppercase;color:#526a65;background:0 0;border:0;width:100%;padding:11px 10px;font-size:9px;font-weight:800}.column-control{position:relative}.column-menu{z-index:5;border:1px solid var(--line);width:210px;box-shadow:var(--shadow);background:#fff;border-radius:10px;gap:7px;padding:10px;display:grid;position:absolute;top:44px;right:0}.column-menu label{gap:8px;font-size:11px;display:flex}.records-page>.page-intro{align-items:center}.login-page{grid-template-columns:minmax(360px,44%) 1fr;min-height:100vh;padding:0;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(145deg,#062f2b,#075e55 64%,#087f71);flex-direction:column;padding:52px clamp(35px,6vw,90px);display:flex;position:relative;overflow:hidden}.login-brand-panel:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:390px;height:390px;position:absolute;bottom:-120px;right:-160px;box-shadow:0 0 0 60px #ffffff06,0 0 0 120px #ffffff05}.brand-lockup-large .brand-mark{color:var(--teal-dark);background:#fff}.brand-lockup-large b{font-size:20px}.brand-lockup-large small{color:#c6e2dc}.login-pitch{z-index:1;margin:auto 0;position:relative}.login-pitch h2{letter-spacing:-.05em;margin-bottom:27px;font-size:clamp(40px,5vw,67px);line-height:1.02}.login-pitch p{color:#d8ebe7;max-width:500px;font-size:16px;line-height:1.7}.login-pitch ul{gap:14px;margin-top:28px;padding:0;list-style:none;display:grid}.login-pitch li{color:#eef8f6;font-weight:650}.login-pitch li:before{content:"✓";color:#a9eadc;margin-right:10px}.login-form-panel{background:#fff;place-items:center;padding:42px;display:grid}.login-form{width:min(580px,100%)}.login-form h1{color:var(--ink);font-size:42px}.login-subtitle{color:#4f6863;margin-bottom:38px;font-size:17px}.login-form>.form-label{color:#2f4843;margin:19px 0 8px;font-size:12px;font-weight:800;display:block}.login-form>input{width:100%;height:58px;color:var(--ink);border:1px solid #c9d8d4;border-radius:11px;outline:none;padding:0 16px;font-size:15px}.login-form>input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #087f711a}.login-options{color:#465f5a;justify-content:space-between;margin:20px 0 28px;font-size:12px;display:flex}.login-options span{color:var(--teal-dark);font-weight:700}.login-button{color:#fff;background:linear-gradient(90deg,#0d9c89,#08786c);border:0;border-radius:11px;width:100%;height:56px;font-size:15px;font-weight:850}.demo-notice{color:#445d58;background:#eff5f3;border-radius:10px;margin:20px 0 0;padding:15px;font-size:11px}.login-disclaimer{text-align:center;color:#71847f;margin:44px 0 0;font-size:10px}@media (max-width:1400px){.kpi-grid,.filter-bar{grid-template-columns:repeat(4,1fr)}.analytics-grid{grid-template-columns:1.2fr 1fr}.portfolio-panel{grid-row:auto}.notification-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:1050px){.workspace-main{padding:20px}.header-search{display:none}.analytics-grid,.attention-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:repeat(3,1fr)}.pipeline{grid-template-columns:repeat(6,150px);overflow-x:auto}.login-page{grid-template-columns:40% 60%}.login-brand-panel{padding:38px 30px}}@media (max-width:760px){.menu-button{display:block}.sidebar{box-shadow:var(--shadow);transition:left .2s;position:fixed;top:68px;left:-250px}.sidebar-open{left:0}.sidebar-backdrop{z-index:20;background:#05201c61;border:0;display:block;position:fixed;inset:68px 0 0}.workspace-main{width:100%;padding:17px}.demo-badge,.as-of{display:none}.filter-bar,.kpi-grid{grid-template-columns:repeat(2,1fr)}.portfolio-content{flex-direction:column}.notification-list{grid-template-columns:1fr}.records-heading{display:block}.table-actions{flex-wrap:wrap;margin-top:14px}.login-page{display:block}.login-brand-panel{min-height:280px;padding:28px}.login-pitch{margin-top:55px}.login-pitch h2{font-size:38px}.login-pitch p,.login-pitch ul{display:none}.login-form-panel{padding:38px 22px}}@media (max-width:480px){.app-header{padding:0 13px}.brand-lockup b{font-size:14px}.brand-lockup small{display:none}.filter-bar{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{padding:12px 9px}.quality-grid{grid-template-columns:1fr 1fr}.page-intro{display:block}.records-page>.page-intro .button{margin-top:14px;display:inline-block}.login-brand-panel{min-height:220px}.login-pitch{margin-top:42px}.login-pitch h2{font-size:34px}.login-form-panel{display:block}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
