:root{color-scheme:light;font-family:Arial,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,sans-serif;--kpmg-blue: #00338d;--kpmg-medium-blue: #005eb8;--kpmg-light-blue: #0091da;--kpmg-violet: #483698;--kpmg-purple: #470a68;--kpmg-light-purple: #6d2077;--brand: var(--kpmg-blue);--brand-dark: #002a74;--primary: var(--kpmg-medium-blue);--primary-soft: #eef4fb;--bg: #f4f5f7;--surface: #ffffff;--surface-soft: #f7f8fa;--line: #e2e3e7;--line-strong: #d6d6dc;--text: #172033;--muted: #626a78;--soft: #8a92a3;--success: #237a57;--success-soft: #eef7f2;--warning: #a86000;--warning-soft: #fff7e6;--danger: #d43f4a;--danger-soft: #fff1f2;--violet: var(--kpmg-violet);--shadow: 0 2px 8px rgba(23, 32, 51, .04)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,94,184,.18);outline-offset:1px}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;z-index:70;display:flex;height:100vh;flex-direction:column;gap:20px;border-right:1px solid var(--line-strong);background:#fff;color:var(--text);padding:18px 14px}.brand{display:flex;align-items:center;flex-direction:column;gap:10px;border:0;background:transparent;padding:8px 10px 12px}.brand-logo{display:block;width:182px;max-width:100%;height:auto}.brand-product{width:100%;border-top:1px solid var(--line);color:#25324a;font-size:16px;font-weight:700;letter-spacing:.02em;padding-top:10px;text-align:center}.nav-list{display:grid;gap:5px}.nav-item{position:relative;display:flex;width:100%;min-height:46px;align-items:center;gap:13px;border:1px solid transparent;border-radius:4px;background:transparent;color:#526078;cursor:pointer;font-size:15px;font-weight:600;overflow:hidden;padding:0 14px 0 26px;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.nav-item:before{position:absolute;inset:8px auto 8px 0;width:3px;background:transparent;content:""}.nav-item:hover{background:#f5f7fa;color:var(--kpmg-blue);transform:translate(2px)}.nav-item.is-active{border-color:#d9e5f3;background:#eef4fb;box-shadow:none;color:var(--kpmg-blue)}.nav-item.is-active:before{background:var(--kpmg-medium-blue)}.sidebar-spacer{flex:1}.pmo-identity{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:18px 6px 2px}.pmo-identity>span:last-child{display:grid;min-width:0;gap:2px}.pmo-identity strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pmo-identity small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pmo-mark{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid #cdd9ea;border-radius:4px;background:#f3f7fc;color:var(--kpmg-blue);font-size:10px;font-weight:800;letter-spacing:.04em}.topbar{position:sticky;top:0;z-index:50;display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 30px}.page-heading,.top-actions,.operator,.search-box,.section-heading,.surface-footer,.page-toolbar,.filter-row,.inline-select,.gantt-range,.gantt-legend,.drawer-header,.drawer-actions,.drawer-badges,.form-section-title,.supervision-type{display:flex;align-items:center}.page-heading{gap:10px}.page-heading h1{margin:0;font-size:23px;font-weight:720;letter-spacing:-.02em}.mobile-menu{display:none;border:0;background:transparent;cursor:pointer;padding:4px}.top-actions{gap:20px}.search-box{width:min(320px,30vw);height:39px;gap:9px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--soft);padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #4573d21a}.search-box input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font-size:13px;outline:none}.search-box button{display:grid;place-items:center;border:0;background:transparent;color:var(--soft);cursor:pointer;padding:2px}.operator{gap:10px;border-left:1px solid var(--line);padding-left:20px}.operator>span:last-child{display:grid;gap:1px}.operator strong{font-size:13px;font-weight:700}.operator small{color:var(--muted);font-size:11px}.operator-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-size:13px;font-weight:800}.page-content{padding:24px 28px 32px}.dashboard-layout,.supervision-page{display:grid;gap:18px}.surface,.metric-strip,.stage-timeline-panel,.supervision-summary{border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 1px 2px #1b355705}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:112px}.metric-item{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;padding:20px}.metric-item:not(:last-child):after{position:absolute;top:24px;right:0;bottom:24px;width:1px;background:var(--line);content:""}.metric-icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border:1.5px solid currentColor;border-radius:50%}.metric-item>span:last-child{display:grid;gap:4px}.metric-item small{color:var(--muted);font-size:13px}.metric-item strong{color:var(--text);font-size:28px;font-weight:720;line-height:1}.metric-blue{color:var(--primary)}.metric-orange{color:var(--warning)}.metric-red{color:var(--danger)}.metric-violet{color:var(--violet)}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:stretch}.project-progress-panel,.task-rail,.projects-page,.gantt-page,.task-ledger-page{overflow:hidden}.section-heading,.page-toolbar{justify-content:space-between;gap:20px;min-height:68px;padding:17px 20px}.section-heading h2,.page-toolbar h2,.drawer-header h2,.modal-header h2{margin:0;font-size:17px;font-weight:720;letter-spacing:-.01em}.section-heading p,.page-toolbar p,.modal-header p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.section-heading.compact{min-height:69px;padding-right:14px}.section-heading.compact .button{flex:0 0 auto}.table-wrap{overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:auto}.project-table th{height:43px;background:var(--surface-soft);color:#526071;font-size:12px;font-weight:680;text-align:left;white-space:nowrap}.project-table th,.project-table td{border-bottom:1px solid var(--line);padding:0 14px}.project-table tr:last-child td{border-bottom:0}.project-table tbody tr{height:58px;cursor:pointer;transition:background .14s ease}.project-table tbody tr:hover,.project-table tbody tr.is-selected{background:#f3f7ff}.project-table tbody tr.is-selected{box-shadow:inset 3px 0 var(--primary)}.task-filter-row{justify-content:flex-start;gap:32px}.task-project-filter{min-width:280px}.task-project-filter select{min-width:180px;flex:1}.task-table-wrap{overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.task-table{width:100%;min-width:1120px;border-collapse:collapse}.task-table th,.task-table td{height:58px;border-bottom:1px solid var(--line);padding:0 14px;text-align:left;white-space:nowrap}.task-table th{height:45px;background:var(--surface-soft);color:#465268;font-size:11px;font-weight:700}.task-table tbody tr:last-child td{border-bottom:0}.task-table tbody tr:hover{background:#f3f7ff}.task-number{color:var(--kpmg-blue);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700}.task-name-cell{display:grid;max-width:260px;gap:3px}.task-name-cell strong,.task-name-cell small{overflow:hidden;text-overflow:ellipsis}.task-name-cell strong{font-size:12px}.task-name-cell small{max-width:250px;color:var(--muted);font-size:10px}.table-link{max-width:190px;overflow:hidden;border:0;background:transparent;color:var(--kpmg-medium-blue);cursor:pointer;font-size:11px;padding:0;text-align:left;text-overflow:ellipsis}.task-row-actions{display:flex;gap:5px}.task-row-actions button{display:grid;width:29px;height:29px;place-items:center;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted);cursor:pointer}.task-row-actions button:hover{border-color:#9eb6d3;background:var(--primary-soft);color:var(--kpmg-blue)}.task-empty-state{min-height:480px;background:#fff;padding:36px 20px}.task-empty-state .button{margin-top:8px}.task-form-modal{width:min(720px,100%)}.project-cell{display:flex;max-width:260px;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;padding:0;text-align:left}.project-cell strong{overflow:hidden;font-size:13px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.project-cell svg{flex:0 0 auto;color:var(--soft)}.department-cell{display:block;max-width:150px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.table-progress{display:flex;min-width:116px;align-items:center;gap:8px}.table-progress>span:first-child{width:33px;flex:0 0 auto;color:var(--muted);font-size:12px;text-align:right}.progress{display:block;width:100%;height:7px;overflow:hidden;border-radius:6px;background:#e7ebf1}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .22s ease}.progress.is-compact{min-width:72px;height:6px}.badge{display:inline-flex;min-height:25px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:680;padding:3px 8px;white-space:nowrap}.badge-active{border-color:#cddcff;background:var(--primary-soft);color:var(--primary)}.badge-success{border-color:#cdebd8;background:var(--success-soft);color:#158149}.badge-warning{border-color:#f1d8ae;background:var(--warning-soft);color:#a96106}.badge-danger{border-color:#f2c8ca;background:var(--danger-soft);color:#c2373c}.badge-muted{background:#f4f6f8;color:var(--muted)}.risk-cell{width:50px;color:var(--soft);text-align:center}.risk-high{color:var(--danger)}.risk-medium{color:var(--warning)}.surface-footer{min-height:50px;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;padding:0 20px}.surface-footer button,.rail-action{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;font-weight:680;padding:4px}.task-rail{display:flex;min-height:100%;flex-direction:column}.recent-task-list{display:grid;gap:0;border-top:1px solid var(--line)}.recent-task-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid var(--line);padding:12px 14px}.item-check{width:17px;height:17px;border:1px solid #acb5c2;border-radius:4px;background:#fff;cursor:pointer;margin-top:2px;padding:0}.item-check:hover{border-color:var(--primary);background:var(--primary-soft)}.item-copy{display:grid;min-width:0;gap:3px;border:0;background:transparent;cursor:pointer;padding:0;text-align:left}.item-copy strong,.item-copy span,.item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-copy strong{font-size:12px;font-weight:680}.item-copy span{color:var(--primary);font-size:11px}.item-copy small{color:var(--muted);font-size:11px}.item-date{color:var(--danger);font-size:11px;font-weight:680;white-space:nowrap}.rail-action{margin:auto 10px 8px;padding:10px 4px}.stage-timeline-panel{overflow:hidden;padding-bottom:19px}.timeline-heading{min-height:66px;padding-bottom:10px}.stage-timeline{position:relative;display:grid;grid-template-columns:repeat(var(--stage-count),minmax(130px,1fr));min-width:max-content;padding:14px 30px 4px}.stage-line{position:absolute;top:27px;right:8%;left:8%;height:2px;background:#d9dee7}.stage-node{position:relative;z-index:1;display:grid;min-width:145px;place-items:center;gap:6px;padding:0 14px;text-align:center}.stage-index{display:grid;width:28px;height:28px;place-items:center;border:2px solid #c8d0dc;border-radius:50%;background:#fff;color:#6d7786;font-size:12px;font-weight:720}.stage-node.is-done .stage-index,.stage-node.is-active .stage-index{border-color:var(--primary);background:var(--primary);color:#fff}.stage-node strong{font-size:12px}.stage-node small{color:var(--muted);font-size:10px}.stage-progress-mini{display:block;width:72px;height:3px;overflow:hidden;background:#e6eaf0}.stage-progress-mini i{display:block;height:100%;background:var(--primary)}.button,.icon-button{display:inline-flex;height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:#405068;cursor:pointer;font-size:12px;font-weight:680;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.button:hover,.icon-button:hover{border-color:#aebfe8;box-shadow:0 7px 16px #4573d21f;transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.button-primary{border-color:var(--primary);background:var(--primary);color:#fff}.button-primary:hover{border-color:#365fbb;background:#365fbb}.icon-button{width:34px;padding:0}.page-toolbar{min-height:76px;padding:18px 20px}.filter-row{flex-wrap:wrap;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:13px 20px}.segmented{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:3px}.segmented button{height:30px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:650;padding:0 11px}.segmented button:hover,.segmented button.is-active{background:#fff;box-shadow:0 2px 7px #1b355714;color:var(--primary)}.inline-select{height:36px;gap:7px;border:1px solid var(--line);border-radius:7px;color:var(--muted);padding:0 10px}.inline-select span{font-size:11px;font-weight:680}.inline-select select{border:0;background:transparent;color:var(--text);font-size:12px;outline:none}.empty-state{display:grid;min-height:150px;place-items:center;align-content:center;gap:6px;color:var(--muted);text-align:center}.empty-state strong{color:var(--text);font-size:13px}.empty-state span{font-size:12px}.drawer-overlay,.mobile-overlay{position:fixed;inset:0;z-index:79;border:0;background:#121c2d47}.mobile-overlay{z-index:69}.project-drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;display:flex;width:min(510px,92vw);flex-direction:column;border-left:1px solid var(--line);background:#fff;box-shadow:-24px 0 50px #18223521;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{min-height:78px;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:15px 20px}.drawer-kicker{display:block;margin-bottom:4px;color:var(--primary);font-size:10px;font-weight:760;letter-spacing:.12em}.drawer-actions{gap:7px;border-bottom:1px solid var(--line);padding:12px 20px}.drawer-scroll{display:grid;gap:0;overflow-y:auto;padding:0 20px 30px}.drawer-summary,.drawer-section{border-bottom:1px solid var(--line);padding:18px 0}.drawer-badges{gap:7px;margin-bottom:16px}.drawer-progress{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:14px}.drawer-progress>span{display:grid}.drawer-progress strong{font-size:24px}.drawer-progress small{color:var(--muted);font-size:10px}.drawer-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0}.drawer-summary dl>div{display:grid;gap:4px}.drawer-summary dt{color:var(--muted);font-size:10px}.drawer-summary dd{margin:0;font-size:12px;font-weight:650}.drawer-section h3{margin:0 0 12px;font-size:13px}.drawer-section p{margin:0;color:#455166;font-size:12px;line-height:1.7}.drawer-section .secondary-copy{margin-top:8px;color:var(--muted)}.drawer-stage-list{display:grid}.drawer-stage{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;border-left:1px solid var(--line);margin-left:12px;min-height:50px;padding-left:17px}.drawer-stage>span:first-child{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:#fff;color:var(--muted);font-size:10px;margin-left:-30px}.drawer-stage.is-done>span:first-child,.drawer-stage.is-active>span:first-child{border-color:var(--primary);background:var(--primary);color:#fff}.drawer-stage>div{display:grid;gap:3px}.drawer-stage strong,.drawer-stage b{font-size:11px}.drawer-stage small{color:var(--muted);font-size:10px}.check-record{display:grid;gap:9px;border-left:3px solid var(--primary);background:var(--surface-soft);padding:12px 14px}.check-record>span{color:var(--muted);font-size:10px}.check-record>div{display:grid;gap:3px}.check-record>div strong{color:var(--primary);font-size:10px}.check-record>div span{font-size:11px}.drawer-item-list{display:grid;gap:10px}.drawer-item-list>div{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:9px}.drawer-item-list>div>span:last-child{display:grid;gap:2px}.drawer-item-list strong{font-size:11px}.drawer-item-list small{color:var(--muted);font-size:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--warning);margin-top:5px}.status-dot.is-done{background:var(--success)}.status-dot.is-suspended{background:#bd7417}.danger-text-button{display:inline-flex;width:max-content;align-items:center;gap:6px;border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:11px;margin-top:18px;padding:4px 0}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;overflow-y:auto;place-items:start center;background:#121c2d61;padding:4vh 20px}.modal{width:min(590px,100%);overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 28px 70px #121c2d33;animation:modal-in .17s ease-out}.project-form-modal{width:min(760px,100%)}@keyframes modal-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 20px}.modal-body{display:grid;gap:16px;max-height:69vh;overflow-y:auto;padding:20px}.modal-footer{display:flex;min-height:64px;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:var(--surface-soft);padding:12px 20px}.field{display:grid;gap:7px}.field-label{color:#4d596a;font-size:11px;font-weight:680}.field-label em{color:var(--danger);font-style:normal;margin-left:3px}.field>input,.field>select,.field>textarea{width:100%;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--text);font-size:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field>input,.field>select{height:38px;padding:0 10px}.field>textarea{min-height:64px;line-height:1.6;padding:9px 10px;resize:vertical}.field>input:focus,.field>select:focus,.field>textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #4573d21a}.field>small{color:var(--danger);font-size:10px}.field-grid{display:grid;gap:12px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-section{display:grid;gap:13px;border-bottom:1px solid var(--line);padding-bottom:18px}.form-section:last-child{border-bottom:0;padding-bottom:0}.form-section-title{gap:8px}.form-section-title>span{display:grid;width:22px;height:22px;place-items:center;border-radius:5px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:760}.form-section-title strong{font-size:12px}.form-section-title small{color:var(--muted);font-size:10px;margin-left:auto}.owner-note{border-left:3px solid var(--primary);background:var(--primary-soft);color:#45608c;font-size:10px;line-height:1.6;padding:7px 10px}.stage-template-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stage-template-row{display:grid;grid-template-columns:38px minmax(180px,1fr) 82px;align-items:center;gap:8px;min-height:58px;border-bottom:1px solid var(--line);background:#fafbfc;padding:6px 10px}.stage-template-row:last-child{border-bottom:0}.stage-template-row.is-enabled{background:#fff}.stage-template-row>input,.duration-control{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff}.stage-template-row>input{min-width:0;padding:0 9px}.stage-template-row .stage-deliverables-input{grid-column:2 / -1}.stage-template-row>input:disabled,.duration-control:has(input:disabled){background:#f3f5f7;color:var(--soft)}.check-control{display:flex;align-items:center;gap:6px}.check-control span{color:var(--muted);font-size:10px}.duration-control{display:grid;grid-template-columns:1fr 24px;align-items:center}.duration-control input{width:100%;min-width:0;border:0;background:transparent;font-size:11px;outline:none;padding-left:7px}.duration-control span{color:var(--muted);font-size:10px}.supervision-summary{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;align-items:center;gap:0;min-height:92px;padding:10px 20px}.supervision-summary>div{display:grid;gap:6px;border-right:1px solid var(--line);padding:0 28px}.supervision-summary>div:first-child{padding-left:0}.supervision-summary span{color:var(--muted);font-size:11px}.supervision-summary strong{font-size:24px}.supervision-summary .button{margin-left:24px}.supervision-table-panel .page-toolbar{border-bottom:1px solid var(--line)}.supervision-table{overflow-x:auto}.supervision-table-head,.supervision-row{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(180px,1fr) 90px 100px 80px 110px;min-width:920px;align-items:center;column-gap:16px;border-bottom:1px solid var(--line);padding:0 20px}.supervision-table-head{min-height:42px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:680}.supervision-row{position:relative;min-height:82px}.supervision-row.is-high:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--danger);content:""}.supervision-row>div:first-child,.supervision-row>span:nth-child(4){display:grid;gap:3px}.supervision-row>div:first-child strong{font-size:12px}.supervision-row small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.supervision-row>button:not(.button){overflow:hidden;border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:11px;text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:0}.supervision-type{gap:5px;color:var(--muted);font-size:10px}.item-status{display:inline-flex;width:max-content;align-items:center;color:var(--warning);font-size:11px;font-weight:680}.item-status.is-done{color:var(--success)}.gantt-toolbar{border-bottom:1px solid var(--line)}.gantt-range{gap:8px}.gantt-range>span{color:var(--soft)}.gantt-range label{display:flex;height:36px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:0 8px}.gantt-range label span{color:var(--muted);font-size:10px;font-weight:680}.gantt-range input{border:0;background:transparent;color:var(--text);font-size:11px;outline:none}.gantt-legend{min-height:48px;justify-content:flex-end;gap:16px;border-bottom:1px solid var(--line);padding:0 20px}.gantt-legend>span:not(.badge){display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.gantt-legend i{display:block;width:18px;height:6px;border-radius:3px;background:var(--primary)}.gantt-legend .legend-stage{background:#64a4d7}.gantt-legend .legend-task{background:var(--kpmg-violet)}.gantt-legend .legend-today{width:2px;height:14px;border-radius:0;background:var(--danger)}.gantt-scroll{max-height:calc(100vh - 345px);overflow:auto}.gantt-grid{display:grid;grid-template-columns:250px var(--timeline-width);min-width:calc(250px + var(--timeline-width))}.gantt-corner{position:sticky;top:0;left:0;z-index:8;display:flex;height:44px;align-items:center;gap:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px;font-weight:680;padding:0 16px}.gantt-months{position:sticky;top:0;z-index:7;display:flex;height:44px;border-bottom:1px solid var(--line);background:#fff}.gantt-months span{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);color:#556176;font-size:10px;font-weight:680}.gantt-labels{position:sticky;left:0;z-index:5;border-right:1px solid var(--line);background:#fff}.gantt-label{display:flex;width:100%;height:52px;align-items:center;gap:7px;border:0;border-bottom:1px solid var(--line);background:#fff;cursor:pointer;padding:0 13px;text-align:left}.gantt-label.is-stage{background:#fafbfc;padding-left:29px}.gantt-label.is-task{background:#f9f7fb;padding-left:43px}.gantt-label:hover{background:var(--primary-soft)}.gantt-label>span:last-child{display:grid;min-width:0;gap:2px}.gantt-label strong,.gantt-label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-label strong{font-size:11px}.gantt-label small{color:var(--muted);font-size:9px}.stage-indent{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#78aeda}.task-indent{width:9px;height:3px;flex:0 0 auto;border-radius:2px;background:var(--kpmg-violet)}.gantt-tracks{position:relative;background-color:#fff;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 25px,rgba(226,231,239,.7) 25px,rgba(226,231,239,.7) 26px)}.gantt-track{position:relative;height:52px;border-bottom:1px solid var(--line)}.gantt-track.is-stage{background-color:#f8fafc94}.gantt-track.is-task{background-color:#48369809}.gantt-bar{position:absolute;top:13px;display:flex;height:26px;min-width:26px;align-items:center;gap:6px;overflow:hidden;border:0;border-radius:5px;background:var(--primary);box-shadow:0 4px 10px #4573d22e;color:#fff;cursor:pointer;padding:0 8px;text-align:left}.gantt-bar.is-stage{top:15px;height:22px;background:#64a4d7}.gantt-bar.is-task{top:16px;height:20px;background:var(--kpmg-violet);box-shadow:0 4px 10px #4836982b}.gantt-bar.is-done{background:#47a878}.gantt-bar.is-planned{background:#93a1b5}.gantt-bar span{overflow:hidden;font-size:9px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.gantt-bar b{margin-left:auto;font-size:8px;font-weight:700}.gantt-bar i{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:#fff}.today-line{position:absolute;top:0;bottom:0;z-index:4;width:2px;background:#e5484db3;pointer-events:none}.today-line i{position:sticky;top:4px;display:block;width:max-content;background:var(--danger);color:#fff;font-size:8px;font-style:normal;padding:2px 4px}.toast{position:fixed;right:24px;bottom:24px;z-index:130;border:1px solid #cad8f7;border-radius:8px;background:#fff;box-shadow:var(--shadow);color:#2e4f8e;font-size:12px;font-weight:680;padding:11px 16px;animation:toast-in .16s ease-out}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.main{background:var(--bg)}.topbar{min-height:80px;border-bottom-color:var(--line-strong);background:#fffffffa;padding:0 28px}.page-heading h1{color:#111c32;font-size:25px;font-weight:700;letter-spacing:0}.search-box{height:42px;border-color:#cfd6e1;border-radius:4px}.search-box:focus-within{border-color:var(--kpmg-medium-blue);box-shadow:0 0 0 3px #005eb81a}.operator-icon{border:1px solid #d8e3f1;border-radius:4px;background:#f2f6fb;color:var(--kpmg-blue)}.page-content{padding:26px 28px 34px}.dashboard-layout,.supervision-page{gap:16px}.surface,.metric-strip,.stage-timeline-panel,.supervision-summary{border-color:var(--line-strong);border-radius:5px;box-shadow:none}.metric-strip{min-height:122px}.metric-item{justify-content:center;gap:20px}.metric-item:not(:last-child):after{background:var(--line-strong)}.metric-icon{width:52px;height:52px;border-width:1px}.metric-item:nth-child(1){color:var(--kpmg-blue)}.metric-item:nth-child(2){color:var(--kpmg-medium-blue)}.metric-item:nth-child(3){color:var(--kpmg-light-blue)}.metric-item:nth-child(4){color:var(--kpmg-violet)}.metric-item small{color:#4e586b;font-size:13px}.metric-item strong{color:#111c32;font-size:30px;font-weight:700}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 340px;gap:14px}.project-progress-panel,.task-rail{min-height:438px}.section-heading,.page-toolbar{min-height:66px;padding:16px 20px}.section-heading h2,.page-toolbar h2,.drawer-header h2,.modal-header h2{color:#152039;font-size:17px;font-weight:700}.project-table th{height:45px;background:#f7f8fa;color:#465268;font-weight:700}.project-table tbody tr:hover,.project-table tbody tr.is-selected{background:#f1f5fa}.project-table tbody tr.is-selected{box-shadow:inset 3px 0 var(--kpmg-medium-blue)}.project-empty-state{min-height:315px;border-top:1px solid var(--line);background:#fff}.empty-state{gap:8px}.empty-state-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid #d4dbe5;border-radius:50%;background:#fafbfd;color:#8490a4;margin-bottom:3px}.project-empty-state .button{margin-top:8px}.recent-task-list .empty-state{min-height:300px;padding:30px 20px}.recent-task-list .empty-state strong{color:var(--kpmg-purple)}.stage-timeline-panel.is-empty{min-height:250px;padding-bottom:0}.stage-empty-state{min-height:174px}.stage-empty-state .empty-state-icon{color:var(--kpmg-violet)}.button,.icon-button,.badge,.segmented,.segmented button,.inline-select,.field>input,.field>select,.field>textarea,.stage-template-list,.modal{border-radius:4px}.button-primary{border-color:var(--kpmg-medium-blue);background:var(--kpmg-medium-blue)}.button-primary:hover{border-color:var(--kpmg-blue);background:var(--kpmg-blue)}.button:hover,.icon-button:hover{border-color:#9eb6d3;box-shadow:0 4px 10px #00338d17}.badge-active{border-color:#cddced;background:#eef4fb;color:var(--kpmg-medium-blue)}.progress>span,.stage-node.is-done .stage-index,.stage-node.is-active .stage-index,.stage-progress-mini i,.drawer-stage.is-done>span:first-child,.drawer-stage.is-active>span:first-child{background:var(--kpmg-medium-blue)}.owner-note,.check-record{border-left-color:var(--kpmg-violet);background:#f4f1f8;color:#4c3f70}.form-section-title>span{background:#eef4fb;color:var(--kpmg-blue)}.toast{border-color:#c9d7e8;border-radius:4px;color:var(--kpmg-blue)}@media(max-width:1180px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-right:12px;padding-left:12px}.brand img{width:156px}.dashboard-main-grid{grid-template-columns:1fr}.page-content{padding:20px}.metric-item{gap:14px}.metric-icon{width:46px;height:46px}.project-table th,.project-table td{padding-right:10px;padding-left:10px}}@media(max-width:1320px)and (min-width:1181px){.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 340px}.project-progress-panel .project-table{min-width:630px}.project-progress-panel .project-table th:last-child,.project-progress-panel .project-table td:last-child{display:none}.project-progress-panel .project-table th,.project-progress-panel .project-table td{padding-right:9px;padding-left:9px}.project-progress-panel .project-cell{max-width:195px}}@media(max-width:920px){.app-shell{display:block}.sidebar{position:fixed;left:0;width:220px;transform:translate(-100%);transition:transform .18s ease}.sidebar.is-open{transform:translate(0)}.mobile-menu{display:grid;place-items:center}.topbar{padding:0 18px}.operator{display:none}.search-box{width:min(330px,50vw)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item:nth-child(2):after{display:none}.metric-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.dashboard-main-grid{grid-template-columns:1fr}.task-rail{min-height:420px}.stage-timeline-panel{overflow-x:auto}.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.topbar{min-height:60px;gap:12px;padding:0 14px}.page-heading{flex:0 0 auto}.page-heading h1{font-size:18px;white-space:nowrap}.top-actions{flex:1;justify-content:flex-end}.search-box{width:min(190px,50vw)}.page-content{padding:14px}.metric-item{justify-content:flex-start;min-height:92px;padding:14px}.metric-icon{width:40px;height:40px}.metric-item strong{font-size:23px}.section-heading,.page-toolbar{align-items:flex-start;flex-direction:column}.section-heading.compact,.page-toolbar{padding:14px}.section-heading.compact .button,.page-toolbar .button{width:100%}.filter-row{align-items:stretch;flex-direction:column}.task-project-filter{width:100%;min-width:0}.task-project-filter select{min-width:0}.segmented{overflow-x:auto}.segmented button{flex:0 0 auto}.field-grid.two,.field-grid.three{grid-template-columns:1fr}.stage-template-row{grid-template-columns:34px minmax(0,1fr) 72px;padding:7px}.stage-template-row .stage-name-input{grid-column:2 / 3}.stage-template-row .stage-deliverables-input{grid-column:2 / -1}.drawer-actions{flex-wrap:wrap}.drawer-actions .button{flex:1}.drawer-summary dl{grid-template-columns:1fr}.supervision-summary{grid-template-columns:repeat(3,1fr);padding:10px}.supervision-summary>div{padding:0 10px}.supervision-summary .button{grid-column:1 / -1;width:100%;margin:10px 0 0}.gantt-toolbar{align-items:stretch}.gantt-range{width:100%;align-items:stretch;flex-direction:column}.gantt-range>span{display:none}.gantt-range label{justify-content:space-between}.modal-backdrop{padding:0}.modal{min-height:100vh;border:0;border-radius:0}.modal-body{max-height:calc(100vh - 138px)}.toast{right:14px;bottom:14px;left:14px;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--md-primary: #1769e0;--md-on-primary: #ffffff;--md-primary-container: #dce8ff;--md-on-primary-container: #08295c;--md-secondary: #7048e8;--md-secondary-container: #ebe4ff;--md-tertiary: #0098b7;--md-tertiary-container: #d4f5fb;--md-accent: #ed7a26;--md-accent-container: #ffeadb;--md-surface: #ffffff;--md-surface-dim: #eef1f7;--md-surface-container: #f5f7fb;--md-surface-container-high: #edf1f8;--md-on-surface: #18202d;--md-on-surface-variant: #596273;--md-outline: #798190;--md-outline-variant: #d9dfe9;--md-error: #b3261e;--md-radius-xs: 4px;--md-radius-sm: 8px;--md-radius-md: 12px;--md-radius-lg: 16px;--md-radius-xl: 28px;--md-elevation-1: 0 1px 2px rgba(24, 32, 45, .12), 0 1px 3px 1px rgba(24, 32, 45, .06);--md-elevation-2: 0 2px 5px rgba(24, 32, 45, .13), 0 1px 8px rgba(24, 32, 45, .07);--md-elevation-3: 0 4px 9px rgba(24, 32, 45, .14), 0 2px 12px rgba(24, 32, 45, .08);--md-elevation-4: 0 8px 18px rgba(24, 32, 45, .16), 0 3px 24px rgba(24, 32, 45, .09);--md-elevation-5: 0 14px 28px rgba(24, 32, 45, .18), 0 8px 40px rgba(24, 32, 45, .1);--md-motion-standard: cubic-bezier(.2, 0, 0, 1);--md-motion-emphasized: cubic-bezier(.2, 0, 0, 1.2);--bg: var(--md-surface-container);--surface: var(--md-surface);--surface-soft: #f7f9fd;--line: var(--md-outline-variant);--line-strong: #cbd3df;--text: var(--md-on-surface);--muted: var(--md-on-surface-variant);--primary: var(--md-primary);--primary-soft: var(--md-primary-container);font-family:Inter,SF Pro Display,Avenir Next,PingFang SC,Noto Sans SC,sans-serif}html,body{background:var(--md-surface-container)}body{color:var(--md-on-surface);font-size:13px;letter-spacing:.01em}.app-shell{grid-template-columns:220px minmax(0,1fr);background:var(--md-surface-container)}.sidebar{z-index:70;gap:16px;border-right:0;background:var(--md-surface);box-shadow:2px 0 12px #18202d17;padding:16px 12px 14px}.brand{align-items:flex-start;gap:0;padding:2px 10px 10px}.brand-logo{width:164px}.brand-product{border-top:0;color:var(--md-on-surface);font-size:15px;font-weight:650;letter-spacing:.01em;padding-top:14px;text-align:center}.nav-list{gap:5px}.nav-item{min-height:44px;gap:12px;border:0;border-radius:var(--md-radius-md);color:var(--md-on-surface-variant);font-size:13px;font-weight:560;padding:0 14px;transition:background-color .18s var(--md-motion-standard),color .18s var(--md-motion-standard),box-shadow .18s var(--md-motion-standard),transform .18s var(--md-motion-standard)}.nav-item:before{display:none}.nav-item:hover{background:#005eb814;color:var(--md-primary);transform:translate(2px)}.nav-item:active{transform:scale(.985)}.nav-item.is-active{border:0;background:var(--md-primary-container);box-shadow:inset 0 0 0 1px #005eb814;color:#003d7a}.nav-item.is-active svg{filter:drop-shadow(0 1px 1px rgba(0,94,184,.18))}.pmo-identity{min-height:58px;gap:9px;border-top:1px solid var(--md-outline-variant);border-radius:0;background:transparent;padding:12px 6px 0}.identity-copy{display:grid;min-width:0;flex:1;gap:2px}.sync-state{display:inline-flex;align-items:center;gap:4px;overflow:hidden;color:#718096;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.sync-state.is-saved{color:#14805b}.sync-state.is-error{color:var(--md-error)}.logout-button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:transparent;color:#657188;cursor:pointer;transition:background-color .16s var(--md-motion-standard),color .16s var(--md-motion-standard)}.logout-button:hover{background:#fff0ee;color:var(--md-error)}.pmo-mark,.operator-icon{border:0;border-radius:50%;background:var(--md-secondary-container);box-shadow:var(--md-elevation-1);color:var(--md-secondary)}.main{min-width:0}.topbar{z-index:50;min-height:70px;border-bottom:0;background:#fffffff5;box-shadow:var(--md-elevation-1);padding:0 24px}.page-heading h1{color:var(--md-on-surface);font-size:21px;font-weight:560;letter-spacing:-.015em}.search-box{width:min(360px,34vw);height:40px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm);background:var(--md-surface);box-shadow:none;padding:0 13px;transition:border-color .18s var(--md-motion-standard),box-shadow .18s var(--md-motion-standard),background .18s var(--md-motion-standard)}.search-box:hover{background:#fbfcff}.search-box:focus-within{border:2px solid var(--md-primary);box-shadow:0 0 0 3px #005eb81a}.search-box input{font-size:12px}.operator{display:flex}.page-content{padding:20px 24px 30px}.page-content>*{animation:md-page-enter .36s var(--md-motion-standard) both}@keyframes md-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-layout{gap:18px}.surface,.stage-timeline-panel{border:0;border-radius:var(--md-radius-md);background:var(--md-surface);box-shadow:var(--md-elevation-2);transition:box-shadow .22s var(--md-motion-standard),transform .22s var(--md-motion-standard)}.project-progress-panel:hover,.task-rail:hover,.stage-timeline-panel:hover{box-shadow:var(--md-elevation-3)}.metric-strip{display:grid;min-height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border:0;border-radius:0;background:transparent;box-shadow:none}.metric-item{min-height:108px;justify-content:flex-start;gap:14px;border:0;border-radius:var(--md-radius-md);background:var(--md-surface);box-shadow:var(--md-elevation-2);padding:18px 20px;transition:box-shadow .22s var(--md-motion-standard),transform .22s var(--md-motion-standard),background .22s var(--md-motion-standard)}.metric-item:after,.metric-item:not(:last-child):after{display:none}.metric-item:nth-child(1){animation:md-card-enter .4s 40ms var(--md-motion-standard) both}.metric-item:nth-child(2){animation:md-card-enter .4s 80ms var(--md-motion-standard) both}.metric-item:nth-child(3){animation:md-card-enter .4s .12s var(--md-motion-standard) both}.metric-item:nth-child(4){animation:md-card-enter .4s .16s var(--md-motion-standard) both}@keyframes md-card-enter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.metric-item:hover{background:#fbfcff;box-shadow:var(--md-elevation-3);transform:translateY(-2px)}.metric-icon{display:grid;width:40px;height:40px;border:0;border-radius:12px;box-shadow:none}.metric-blue .metric-icon{background:#dce8ff;color:#1769e0}.metric-cyan .metric-icon{background:#d4f5fb;color:#008ba7}.metric-violet .metric-icon{background:#ebe4ff;color:#7048e8}.metric-orange .metric-icon{background:#ffeadb;color:#d76818}.metric-green .metric-icon{background:#dcf3e7;color:#16845b}.metric-item>span:last-child{align-self:center;gap:7px}.metric-item small{color:var(--md-on-surface-variant);font-size:12px;font-weight:520}.metric-item strong{color:var(--md-on-surface);font-size:32px;font-weight:430;letter-spacing:-.03em;line-height:1}.dashboard-main-grid{grid-template-columns:minmax(0,2fr) minmax(300px,.78fr);gap:18px}.standard-templates-panel{overflow:hidden}.standard-templates-heading{border-bottom:1px solid var(--md-outline-variant)}.template-total{display:inline-flex;align-items:center;gap:6px;border-radius:16px;background:var(--md-secondary-container);color:var(--md-secondary);font-size:10px;font-weight:650;padding:7px 10px;white-space:nowrap}.standard-template-list{display:grid}.standard-template-row{display:grid;min-height:82px;grid-template-columns:44px minmax(250px,1fr) 58px 66px minmax(145px,.5fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--md-outline-variant);padding:12px 20px}.standard-template-row:last-child{border-bottom:0}.standard-template-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--md-primary-container),var(--md-secondary-container));color:var(--md-secondary)}.standard-template-copy,.standard-template-source{display:grid;min-width:0;gap:4px}.standard-template-copy strong{font-size:13px}.standard-template-copy span{overflow:hidden;color:var(--md-on-surface-variant);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.standard-template-stat{display:grid;justify-items:center;gap:2px}.standard-template-stat b{color:var(--md-primary);font-size:18px;font-weight:620}.standard-template-stat small,.standard-template-source small{color:var(--md-on-surface-variant);font-size:9px}.standard-template-source>span{width:max-content;border-radius:12px;background:var(--md-tertiary-container);color:#08758b;font-size:9px;font-weight:650;padding:4px 8px}.standard-template-source small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standard-template-actions{display:flex;gap:7px;justify-content:flex-end}.standard-template-empty{min-height:130px}.template-preview-modal{width:min(760px,100%)}.template-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-preview-summary>span{display:flex;min-height:52px;align-items:center;justify-content:center;gap:6px;border-radius:10px;background:var(--md-surface-container);color:var(--md-on-surface-variant);font-size:10px}.template-preview-summary svg{color:var(--md-primary)}.template-preview-summary b{color:var(--md-on-surface);font-size:16px}.template-stage-list{display:grid;border:1px solid var(--md-outline-variant);border-radius:10px;overflow:hidden}.template-stage-item{border-bottom:1px solid var(--md-outline-variant);background:#fff}.template-stage-item:last-child{border-bottom:0}.template-stage-item summary{display:grid;min-height:48px;grid-template-columns:28px minmax(170px,1fr) minmax(180px,auto) 18px;align-items:center;gap:9px;cursor:pointer;list-style:none;padding:0 14px}.template-stage-item summary::-webkit-details-marker{display:none}.template-stage-item summary>span{color:var(--md-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700}.template-stage-item summary strong{font-size:11px}.template-stage-item summary small{color:var(--md-on-surface-variant);font-size:9px;text-align:right}.template-stage-item summary svg{color:var(--md-on-surface-variant);transition:transform .15s var(--md-motion-standard)}.template-stage-item[open] summary{background:#f5f8fe}.template-stage-item[open] summary svg{transform:rotate(180deg)}.template-stage-item>div{display:grid;background:#fbfcff;padding:5px 14px 10px 51px}.template-stage-item p{display:grid;min-height:34px;grid-template-columns:60px minmax(0,1fr) 110px;align-items:center;gap:8px;border-bottom:1px dashed #e1e6ef;margin:0}.template-stage-item p:last-child{border-bottom:0}.template-stage-item p b{color:var(--md-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.template-stage-item p span{font-size:10px}.template-stage-item p span em{display:inline-flex;align-items:center;gap:3px;color:#805b18;font-size:8px;font-style:normal;font-weight:650;margin-left:8px;white-space:nowrap}.template-stage-item p small{color:var(--md-on-surface-variant);font-size:9px;text-align:right}.template-create-note{border-left:3px solid var(--md-tertiary);border-radius:7px;background:var(--md-tertiary-container);color:#256272;font-size:10px;line-height:1.6;padding:9px 11px}.project-progress-panel,.task-rail{min-height:380px}.section-heading,.page-toolbar{min-height:66px;padding:15px 20px}.section-heading h2,.page-toolbar h2,.drawer-header h2,.modal-header h2{color:var(--md-on-surface);font-size:17px;font-weight:600;letter-spacing:-.01em}.section-heading p,.page-toolbar p,.modal-header p{color:var(--md-on-surface-variant);font-size:11px;line-height:1.55}.section-heading.compact{min-height:66px;padding:15px 20px}.table-wrap,.task-table-wrap{border-top:1px solid var(--md-outline-variant);border-bottom:1px solid var(--md-outline-variant)}.project-table th,.task-table th{height:42px;background:#f6f8fc;color:var(--md-on-surface-variant);font-size:12px;font-weight:650}.project-table th,.project-table td,.task-table th,.task-table td{border-bottom-color:var(--md-outline-variant);padding-right:14px;padding-left:14px}.project-table tbody tr,.task-table td{height:52px}.project-table tbody tr{transition:background-color .16s var(--md-motion-standard),box-shadow .16s var(--md-motion-standard)}.project-table tbody tr:hover,.project-table tbody tr.is-selected,.task-table tbody tr:hover{background:#005eb80f}.project-table tbody tr.is-selected{box-shadow:inset 4px 0 var(--md-primary)}.project-task-link{display:inline-flex;min-height:30px;align-items:center;gap:5px;border:1px solid var(--md-outline-variant);border-radius:16px;background:var(--md-surface);color:var(--md-primary);cursor:pointer;font-size:10px;font-weight:650;padding:0 10px;white-space:nowrap;transition:border-color .15s var(--md-motion-standard),background-color .15s var(--md-motion-standard),box-shadow .15s var(--md-motion-standard)}.project-task-link:hover{border-color:#9eb6d3;background:var(--md-primary-container);box-shadow:var(--md-elevation-1)}.project-task-link:focus-visible{outline:3px solid rgba(23,105,224,.2);outline-offset:2px}.project-empty-state,.task-empty-state,.stage-empty-state{background:transparent}.project-empty-state{min-height:300px}.task-empty-state{min-height:476px}.empty-state{gap:12px;color:var(--md-on-surface-variant)}.empty-state strong{color:var(--md-on-surface);font-size:15px;font-weight:600}.empty-state span{font-size:13px}.empty-state-icon{width:64px;height:64px;border:0;border-radius:50%;background:var(--md-surface-container-high);box-shadow:inset 0 0 0 1px #7981901f;color:#8790a0}.surface-footer{min-height:46px;color:var(--md-on-surface-variant);font-size:12px;padding:0 18px}.surface-footer button,.rail-action{min-height:40px;border-radius:20px;color:var(--md-primary);padding:0 12px;transition:background-color .16s var(--md-motion-standard)}.surface-footer button:hover,.rail-action:hover{background:#005eb814}.recent-task-item{min-height:62px;border-bottom-color:var(--md-outline-variant);padding:10px 16px;transition:background-color .16s var(--md-motion-standard)}.stage-progress-copy{display:flex;align-items:center;gap:6px}.stage-progress-copy b{min-width:28px;color:var(--md-on-surface-variant);font-size:9px;font-weight:650;text-align:right}.recent-task-item:hover{background:#005eb80d}.item-check{border-radius:50%;transition:border-color .16s var(--md-motion-standard),background-color .16s var(--md-motion-standard),transform .16s var(--md-motion-standard)}.item-check:active{transform:scale(.85)}.item-check.is-blocked{display:grid;place-items:center;border-color:#929baa;background:#f0f2f5;color:#667080}.item-check.is-suspended{display:grid;place-items:center;border-color:#bd7417;background:#fff0d8;color:#8a4f07}.item-check.is-overdue{display:grid;place-items:center;border-color:var(--md-error);background:#ffdad6;color:#8c1d18}.stage-timeline-panel{min-height:218px;overflow:hidden}.stage-timeline-panel.is-empty{min-height:218px}.stage-index{box-shadow:0 0 0 5px var(--md-surface),var(--md-elevation-1)}.button,.icon-button{position:relative;height:38px;overflow:hidden;gap:8px;border-radius:var(--md-radius-sm);font-size:13px;font-weight:620;letter-spacing:.015em;padding:0 14px;transition:background-color .18s var(--md-motion-standard),border-color .18s var(--md-motion-standard),box-shadow .18s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.button:after,.icon-button:after{position:absolute;inset:0;background:currentColor;content:"";opacity:0;pointer-events:none;transition:opacity .14s var(--md-motion-standard)}.button:hover:after,.icon-button:hover:after{opacity:.06}.button:active,.icon-button:active{transform:scale(.97)}.button-primary{border:0;background:var(--md-primary);box-shadow:var(--md-elevation-2);color:var(--md-on-primary)}.button-primary:hover{border:0;background:#004f9d;box-shadow:var(--md-elevation-3);transform:translateY(-1px)}.button-default,.icon-button{border:1px solid var(--md-outline);background:var(--md-surface);box-shadow:none;color:var(--md-primary)}.icon-button{width:38px;padding:0}.badge{min-height:24px;border:0;border-radius:14px;padding:3px 9px}.badge-active{background:var(--md-primary-container);color:#003d7a}.badge-success{background:#d9f3e4;color:#115a39}.badge-warning{background:#ffddb3;color:#6d3a00}.badge-danger{background:#ffdad6;color:#8c1d18}.badge-muted{background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}.progress{height:6px;border-radius:3px;background:var(--md-surface-container-high)}.progress>span{background:var(--md-primary)}.filter-row{min-height:58px;border-top:1px solid var(--md-outline-variant);padding:10px 18px}.task-filter-row{justify-content:flex-start;gap:14px}.task-filter-row .segmented button{min-width:84px}.segmented{gap:0;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-sm);background:var(--md-surface-container);padding:2px}.segmented button{min-width:76px;height:34px;border-radius:6px;font-size:12px;font-weight:560;transition:background-color .16s var(--md-motion-standard),color .16s var(--md-motion-standard),box-shadow .16s var(--md-motion-standard)}.segmented button:hover{background:#005eb814;box-shadow:none}.segmented button.is-active{background:var(--md-surface);box-shadow:var(--md-elevation-1);color:var(--md-primary)}.inline-select{height:40px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm);background:var(--md-surface);padding:0 14px}.task-owner-filter{min-width:170px;margin-left:auto}.task-filter-group{display:grid;align-items:center;gap:5px}.task-filter-group>span{color:var(--md-on-surface-variant);font-size:9px;font-weight:680;padding-left:2px}.traffic-filter-segmented button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:76px}.traffic-filter-segmented button i{width:8px;height:8px;border:1.5px solid #9aa5b5;border-radius:50%;background:#fff}.traffic-filter-segmented button.is-unassigned i{background:#fff}.traffic-filter-segmented button.is-green i{border-color:#1b9c68;background:#23ad76}.traffic-filter-segmented button.is-yellow i{border-color:#cc8a18;background:#e7a52d}.traffic-filter-segmented button.is-red i{border-color:#c6403b;background:#dc514b}.traffic-filter-segmented button.is-active.is-unassigned{color:#687588}.traffic-filter-segmented button.is-active.is-green{color:#117a50}.traffic-filter-segmented button.is-active.is-yellow{color:#9a6104}.traffic-filter-segmented button.is-active.is-red{color:#b12f2b}.project-block-selector{display:grid;gap:10px;border-top:1px solid var(--md-outline-variant);border-bottom:1px solid var(--md-outline-variant);background:linear-gradient(135deg,#f8fbfff5,#f7f5ffe6);padding:12px 18px;transition:gap .3s var(--md-motion-standard),padding .3s var(--md-motion-standard)}.project-block-selector.is-collapsed{gap:0;padding-block:9px}.project-block-selector>header{display:flex;min-width:0;align-items:end;justify-content:space-between;gap:12px}.project-block-selector>header span{color:var(--md-on-surface);font-size:12px;font-weight:720}.project-block-selector>header small,.project-block-controls>b{color:var(--md-on-surface-variant);font-size:9px;font-weight:520}.project-block-selector>header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-block-leading{display:flex;min-width:0;align-items:center;gap:10px}.project-block-heading{display:grid;min-width:0;gap:2px}.project-block-controls{display:flex;flex:0 0 auto;align-items:center;gap:8px}.project-block-toggle,.project-block-picker-trigger{display:inline-flex;height:30px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(108,132,170,.26);border-radius:999px;background:#ffffffb8;color:#536b8f;cursor:pointer;font-size:9px;font-weight:680;padding:0 11px;transition:border-color .16s var(--md-motion-standard),background-color .16s var(--md-motion-standard),color .16s var(--md-motion-standard)}.project-block-toggle:hover,.project-block-picker-trigger:hover{border-color:#1769e057;background:#fff;color:var(--md-primary)}.project-block-picker-trigger{border-color:#2d67c53d;background:#ebf3ffc7;color:var(--md-primary)}.project-block-collapse-body{display:grid;min-height:0;grid-template-rows:1fr;opacity:1;transform:translateY(0);transition:grid-template-rows .3s var(--md-motion-standard),opacity .22s var(--md-motion-standard),transform .3s var(--md-motion-standard)}.project-block-selector.is-collapsed .project-block-collapse-body{grid-template-rows:0fr;opacity:0;pointer-events:none;transform:translateY(-4px)}.project-block-list{display:flex;min-height:0;gap:9px;overflow-x:auto;overflow-y:hidden;padding:1px 2px 5px;scrollbar-width:thin}.project-block-list>button{display:grid;min-width:220px;height:58px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid rgba(152,170,198,.34);border-radius:13px;background:#ffffffc2;box-shadow:0 3px 12px #364d730f;color:var(--md-on-surface);cursor:pointer;padding:8px 11px;text-align:left;transition:border-color .16s var(--md-motion-standard),box-shadow .16s var(--md-motion-standard),transform .16s var(--md-motion-standard),background-color .16s var(--md-motion-standard)}.project-block-list>button:hover{border-color:#1769e05c;background:#fff;box-shadow:0 7px 18px #31538a1a;transform:translateY(-1px)}.project-block-list>button.is-selected{border-color:#1769e080;background:linear-gradient(135deg,#e8f2fffa,#f0ebfff5);box-shadow:0 8px 22px #32589c24,inset 0 0 0 1px #ffffffa3}.project-block-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:var(--md-surface-container-high);color:var(--md-primary)}.project-block-list>button.is-selected .project-block-icon{background:var(--md-primary);color:#fff}.project-block-copy{display:grid;min-width:0;gap:3px}.project-block-copy strong,.project-block-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-block-copy strong{font-size:11px}.project-block-copy small{color:var(--md-on-surface-variant);font-size:8px}.project-block-progress{display:flex;align-items:center;gap:5px;color:var(--md-primary)}.project-block-progress b{font-size:10px}.project-block-empty{display:grid;min-height:58px;flex:1;place-items:center;border:1px dashed var(--md-outline-variant);border-radius:13px;color:var(--md-on-surface-variant);font-size:10px}.import-owner-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:9px}.import-owner-filters .directory-select{min-width:0}.task-ledger-page,.projects-page,.gantt-page{border-radius:var(--md-radius-md);box-shadow:var(--md-elevation-2)}.task-ledger-page{display:flex;min-height:calc(100vh - 120px);flex-direction:column}.task-ledger-page .page-toolbar,.task-ledger-page .filter-row,.task-ledger-page .surface-footer{flex:0 0 auto}.task-ledger-page .page-toolbar .button-primary{min-width:132px;height:40px;font-size:13px}.hierarchy-toolbar{align-items:center;gap:16px}.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.hierarchy-toolbar .button{height:38px;padding:0 14px}.task-ledger-page .task-table-wrap{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.task-ledger-page .task-table{flex:0 0 auto}.task-ledger-page .task-empty-state{min-height:380px;flex:1 1 auto}.task-row-actions button{border:0;border-radius:50%;background:transparent;transition:background-color .16s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.task-row-actions button:hover{border:0;background:#005eb81a;transform:scale(1.06)}.hierarchy-table-wrap{overflow-x:auto;overflow-y:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y}.hierarchy-table{min-width:1160px}.hierarchy-table th:first-child{min-width:300px}.hierarchy-table th:nth-child(6){min-width:205px}.hierarchy-table td{height:52px}.hierarchy-row{transition:background-color .15s var(--md-motion-standard)}.hierarchy-project-row{background:#f3f7ff}.hierarchy-stage-row{background:#f8fbff}.hierarchy-item-row.is-checkpoint{background:#fffcf6}.hierarchy-project-row:hover{background:#e9f1ff!important}.hierarchy-stage-row:hover{background:#eef7fb!important}.hierarchy-toggle,.hierarchy-item-name{display:flex;min-width:0;align-items:center;gap:9px}.hierarchy-toggle{width:100%;border:0;background:transparent;cursor:pointer;padding:0;text-align:left}.hierarchy-toggle.level-1{color:#102f61}.hierarchy-toggle.level-2{padding-left:25px;color:#24516f}.hierarchy-item-name.level-2{padding-left:30px}.hierarchy-item-name.level-3{padding-left:56px}.hierarchy-toggle strong,.hierarchy-item-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item-name>span:last-child{display:grid;min-width:0;gap:3px}.hierarchy-item-name small{overflow:hidden;max-width:230px;color:var(--md-on-surface-variant);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.hierarchy-index{color:#70809a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700}.hierarchy-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--md-secondary);box-shadow:0 0 0 4px #ebe4ff}.is-checkpoint .hierarchy-dot{background:var(--md-accent);box-shadow:0 0 0 4px var(--md-accent-container)}.cell-secondary{display:block;color:var(--md-on-surface-variant);font-size:9px;margin-top:3px}.cell-muted{color:var(--md-on-surface-variant);font-size:11px}.deliverable-copy{display:block;max-width:230px;overflow:hidden;color:var(--md-on-surface-variant);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.hierarchy-progress{display:grid;min-width:170px;grid-template-columns:minmax(60px,1fr) 32px auto;align-items:center;gap:8px}.hierarchy-progress>span:nth-child(2){color:var(--md-on-surface-variant);font-size:10px}.empty-actions{display:flex;gap:10px;margin-top:8px}.hierarchy-table.checkpoint-table{min-width:1760px;table-layout:fixed}.checkpoint-table th:first-child{width:32%;min-width:520px}.checkpoint-table th:nth-child(2){width:12%;min-width:180px}.checkpoint-table th:nth-child(3){width:13%;min-width:190px}.checkpoint-table th:nth-child(4){width:6%;min-width:100px}.checkpoint-table th:nth-child(5){width:17%;min-width:230px}.checkpoint-table th:nth-child(6){width:9%;min-width:160px}.checkpoint-table th:nth-child(7){width:8%;min-width:150px}.checkpoint-table th:last-child{width:3%;min-width:50px}.checkpoint-table .hierarchy-item-name>span:last-child{display:inline-flex}.checkpoint-table .hierarchy-toggle small{color:var(--md-on-surface-variant);font-size:10px;font-weight:500}.checkpoint-table .hierarchy-item-row.is-done{background:#f3f8ff;color:#4f6380}.checkpoint-table .hierarchy-item-row.is-done .hierarchy-item-name strong{color:#557095}.checkpoint-table .hierarchy-item-row.is-suspended{background:#f3f5f7}.checkpoint-table .hierarchy-item-row.is-suspended .hierarchy-dot{background:#737d8b;box-shadow:0 0 0 4px #e3e7ec}.checkpoint-table .hierarchy-item-row.is-overdue{background:#fff7f6}.checkpoint-table .hierarchy-item-row.is-overdue .hierarchy-dot{background:var(--md-error);box-shadow:0 0 0 4px #ffdad6}.checkpoint-table .hierarchy-item-row.is-blocked{background:#f6f7f9}.checkpoint-name-preview-button{flex:1 1 auto;min-width:0;overflow:hidden;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer;padding:3px 5px;text-align:left;transition:background-color .15s var(--md-motion-standard),color .15s var(--md-motion-standard)}.checkpoint-name-preview-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkpoint-name-preview-button:hover,.checkpoint-name-preview-button:focus-visible{background:var(--md-primary-container);color:var(--md-primary);outline:0}.checkpoint-name-preview-button:focus-visible{box-shadow:0 0 0 3px #1769e02e}.checkpoint-preview-modal{width:min(760px,100%)}.checkpoint-preview-modal .modal-header>div{min-width:0}.checkpoint-preview-modal .modal-header h2{max-width:650px;font-size:18px;line-height:1.45;overflow-wrap:anywhere}.checkpoint-preview-modal .modal-body{display:grid;max-height:min(72vh,680px);gap:16px;overflow:auto}.checkpoint-preview-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.checkpoint-preview-meta article{display:grid;min-height:66px;align-content:center;gap:5px;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);padding:10px 12px}.checkpoint-preview-meta article.is-wide{grid-column:1 / -1}.checkpoint-preview-meta span,.checkpoint-preview-sections section>span{color:var(--md-on-surface-variant);font-size:9px;font-weight:650}.checkpoint-preview-meta strong{overflow-wrap:anywhere;color:var(--md-on-surface);font-size:11px;line-height:1.45}.checkpoint-preview-meta small{color:var(--md-on-surface-variant);font-size:9px}.checkpoint-preview-meta .badge{justify-self:start}.checkpoint-preview-sections{display:grid;gap:10px}.checkpoint-preview-sections section{display:grid;gap:7px}.checkpoint-preview-sections p{max-height:220px;overflow:auto;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);color:var(--md-on-surface);font-size:12px;line-height:1.75;margin:0;overflow-wrap:anywhere;padding:12px 14px;white-space:pre-wrap}.checkpoint-preview-sections p.is-empty{color:var(--md-on-surface-variant)}.checkpoint-attachment-count{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;border:1px solid rgba(116,92,184,.22);border-radius:999px;background:#eee8ffc7;color:var(--md-secondary);font-size:8px;font-weight:700;padding:3px 6px}.checkpoint-attachments-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.checkpoint-attachments-heading>span{color:var(--md-on-surface-variant);font-size:9px;font-weight:650}.checkpoint-attachments-heading>div{display:flex;align-items:center;gap:9px}.checkpoint-attachments-heading small{color:var(--md-on-surface-variant);font-size:8px}.checkpoint-upload-button{display:inline-flex;height:29px;align-items:center;gap:5px;border:1px solid rgba(23,105,224,.3);border-radius:999px;background:#e8f2ffe6;color:var(--md-primary);cursor:pointer;font-size:9px;font-weight:700;padding:0 10px;transition:background-color .15s var(--md-motion-standard),box-shadow .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.checkpoint-upload-button:hover{background:var(--md-primary-container);box-shadow:0 3px 9px #1769e024;transform:translateY(-1px)}.checkpoint-upload-button.is-busy{cursor:wait;opacity:.68;transform:none}.checkpoint-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.checkpoint-attachment-list{display:grid;gap:7px}.checkpoint-attachment-row{display:grid;min-width:0;grid-template-columns:30px minmax(0,1fr) 30px 30px;align-items:center;gap:8px;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:#f7faffdb;padding:8px 10px}.checkpoint-attachment-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#e8f2fff2;color:var(--md-primary)}.checkpoint-attachment-info{display:grid;min-width:0;gap:2px}.checkpoint-attachment-info strong{overflow:hidden;color:var(--md-on-surface);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.checkpoint-attachment-info small{color:var(--md-on-surface-variant);font-size:8px}.checkpoint-attachment-row>a,.checkpoint-attachment-row>button{display:grid;width:29px;height:29px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--md-primary);cursor:pointer;text-decoration:none;transition:background-color .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.checkpoint-attachment-row>a:hover{background:var(--md-primary-container);transform:scale(1.05)}.checkpoint-attachment-row>button{color:var(--md-error)}.checkpoint-attachment-row>button:hover{background:#fff0ef;transform:scale(1.05)}.checkpoint-attachment-row>button:disabled{cursor:wait;opacity:.45;transform:none}.checkpoint-attachment-empty{display:flex;min-height:54px;align-items:center;justify-content:center;gap:7px;border:1px dashed rgba(127,145,174,.48);border-radius:var(--md-radius-md);background:#f7f9fc94;color:var(--md-on-surface-variant);font-size:9px}.task-bulk-assignment-bar{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(220px,.9fr) auto auto;align-items:center;gap:10px;border-top:1px solid rgba(152,182,224,.5);border-bottom:1px solid rgba(152,182,224,.5);background:linear-gradient(105deg,#ebf4ffe6,#f4f0ffe0);box-shadow:inset 0 1px #ffffffb8;padding:10px 18px}.task-bulk-summary{display:grid;min-width:0;gap:3px}.task-bulk-summary strong{color:var(--md-on-surface);font-size:11px}.task-bulk-summary span{overflow:hidden;color:var(--md-on-surface-variant);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.task-bulk-select-all{height:32px;border:0;border-radius:16px;background:#ffffffa8;color:var(--md-primary);cursor:pointer;padding:0 11px;font-size:9px;font-weight:650}.task-bulk-select-all:hover{background:#fff}.task-bulk-select-all:disabled{color:var(--md-on-surface-variant);cursor:default;opacity:.55}.task-bulk-owner-select{display:grid;height:38px;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(164,180,207,.72);border-radius:11px;background:#ffffffb8;padding:0 10px}.task-bulk-owner-select>span{color:var(--md-on-surface-variant);font-size:9px;white-space:nowrap}.task-bulk-owner-select select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--md-on-surface);font-size:10px}.bulk-checkpoint-selector{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;cursor:pointer}.bulk-checkpoint-selector input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.bulk-checkpoint-selector>span{display:grid;width:17px;height:17px;place-items:center;border:1.5px solid #8e9aab;border-radius:5px;background:#fff;color:#fff;transition:border-color .14s var(--md-motion-standard),background-color .14s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.bulk-checkpoint-selector:hover>span{border-color:var(--md-primary);transform:scale(1.06)}.bulk-checkpoint-selector input:focus-visible+span{outline:3px solid rgba(23,105,224,.18);outline-offset:2px}.bulk-checkpoint-selector input:checked+span{border-color:var(--md-primary);background:var(--md-primary)}.checkpoint-table .hierarchy-item-row.is-bulk-selected{background:#edf5ff;box-shadow:inset 3px 0 0 var(--md-primary)}@media(max-width:640px){.checkpoint-preview-meta{grid-template-columns:1fr 1fr}.checkpoint-attachments-heading{align-items:flex-start;flex-direction:column}.checkpoint-attachments-heading>div{width:100%;justify-content:space-between}.task-bulk-assignment-bar{grid-template-columns:1fr 1fr}.task-bulk-summary,.task-bulk-owner-select{grid-column:1 / -1}}@media(max-width:1100px)and (min-width:641px){.task-bulk-assignment-bar{grid-template-columns:minmax(180px,1fr) auto minmax(220px,1fr)}.task-bulk-assignment-bar .button{justify-content:center}}.prerequisite-number-button{border:0;border-radius:7px;background:#eef1f5;color:#5e6878;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:700;padding:5px 7px;transition:background-color .15s var(--md-motion-standard),color .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.prerequisite-number-button:hover{background:var(--md-primary-container);color:var(--md-primary);transform:translateY(-1px)}.prerequisite-number-button.is-ready{background:#e6f4ec;color:#176a4a}.stage-ledger-title{display:flex;min-width:0;align-items:center;gap:6px}.stage-ledger-title .hierarchy-toggle{min-width:0}.stage-add-checkpoint-button{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;border:1px solid #b8cff0;border-radius:999px;background:#f5f9ff;color:var(--md-primary);cursor:pointer;font-size:8px;font-weight:700;padding:4px 7px;white-space:nowrap;transition:background-color .15s var(--md-motion-standard),box-shadow .15s var(--md-motion-standard)}.stage-add-checkpoint-button:hover{background:var(--md-primary-container);box-shadow:0 2px 7px #145cae29}.checkpoint-table .hierarchy-item-row.is-prerequisite-target{position:relative;z-index:1;animation:prerequisite-target-highlight 2.6s var(--md-motion-standard)}@keyframes prerequisite-target-highlight{0%,to{box-shadow:inset 0 0 #146adc00}12%,72%{box-shadow:inset 0 0 0 2px #2479e8,inset 5px 0 #2479e8,0 5px 16px #2479e82e}}.dependency-error{color:var(--md-error);font-size:10px}.checkpoint-detail{display:-webkit-box;overflow:hidden;max-width:280px;color:var(--md-on-surface-variant);font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.checkpoint-detail-cell{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:7px}.checkpoint-detail-cell .checkpoint-detail{max-width:none}.checkpoint-detail-cell:disabled{cursor:default;opacity:.64}.checkpoint-deliverable-cell .checkpoint-detail{color:#334b6f;font-weight:550}.inline-edit-button,.gantt-stage-edit{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--md-on-surface-variant);cursor:pointer;padding:0;transition:background-color .15s var(--md-motion-standard),color .15s var(--md-motion-standard)}.inline-edit-button:hover,.gantt-stage-edit:hover{background:var(--md-primary-container);color:var(--md-primary)}.compact-progress{display:flex;width:142px;align-items:center;gap:8px}.compact-progress>span{width:34px;flex:0 0 auto;color:var(--md-on-surface-variant);font-size:10px;text-align:right}.task-status-option:disabled{cursor:not-allowed;opacity:.52}.task-delete-button{margin-right:auto;border-color:#e5aaa6;color:var(--md-error)}.task-delete-button:hover{border-color:#d6847e;background:#fff1f0}.task-delete-confirm-copy{margin-right:auto;color:var(--md-error);font-size:10px;font-weight:650}.task-delete-confirm-button{border-color:var(--md-error);background:var(--md-error);color:#fff}.task-delete-confirm-button:hover{border-color:#8f1f19;background:#8f1f19}.task-status-choices{display:grid;width:max-content;grid-template-columns:repeat(2,max-content);align-items:center;gap:4px 10px}.task-status-option{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--md-on-surface-variant);cursor:pointer;padding:0}.task-status-option>span{display:grid;width:21px;height:21px;place-items:center;border:1.5px solid #8d97a8;border-radius:50%;background:#fff;color:transparent;transition:border-color .14s var(--md-motion-standard),background-color .14s var(--md-motion-standard),color .14s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.task-status-option strong{font-size:10px;font-weight:650;white-space:nowrap}.task-status-option:hover>span{border-color:var(--md-primary);transform:scale(1.05)}.task-status-option:active>span{transform:scale(.9)}.task-status-option:focus-visible{outline:3px solid rgba(23,105,224,.2);outline-offset:3px;border-radius:6px}.task-status-choices.is-done .task-status-option.is-done{color:#155aa8}.task-status-choices.is-done .task-status-option.is-done>span{border-color:#1769c2;background:#1769c2;color:#fff}.task-status-choices.is-suspended .task-status-option.is-suspended{color:#596474}.task-status-choices.is-suspended .task-status-option.is-suspended>span{border-color:#737d8b;background:#737d8b;color:#fff}.task-status-choices.is-overdue .task-status-option.is-overdue{color:#9b241f}.task-status-choices.is-overdue .task-status-option.is-overdue>span{border-color:var(--md-error);background:var(--md-error);color:#fff}.task-status-choices.is-blocked .task-status-option.is-done>span{border-color:#9aa3b1;background:#f0f2f5}.task-status-choices>small{grid-column:1 / -1;color:var(--md-on-surface-variant);font-size:8px}.task-status-choices.is-blocked>small{color:#657080}.checkpoint-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkpoint-toggle input{position:absolute;width:1px;height:1px;opacity:0}.checkpoint-toggle>span{display:grid;width:19px;height:19px;place-items:center;border:1.5px solid #8994a6;border-radius:5px;background:#fff;color:#fff;transition:border-color .14s var(--md-motion-standard),background .14s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.checkpoint-toggle:hover>span{border-color:var(--md-primary)}.checkpoint-toggle:active>span{transform:scale(.9)}.checkpoint-toggle input:focus-visible+span{outline:3px solid rgba(23,105,224,.2);outline-offset:2px}.checkpoint-toggle input:checked+span{border-color:#16845b;background:#16845b}.checkpoint-toggle strong{color:var(--md-on-surface-variant);font-size:11px;font-weight:600}.checkpoint-toggle.is-blocked>span{border-color:#929baa;background:#f0f2f5;color:#667080}.checkpoint-toggle.is-blocked strong{color:#657080}.checkpoint-form-section .field>small{color:var(--md-on-surface-variant);line-height:1.5}.bind-phone-button{width:max-content;border:0;background:transparent;color:var(--md-primary);cursor:pointer;font-size:9px;font-weight:650;padding:0;text-align:left}.bind-phone-button:hover{text-decoration:underline}.import-modal{width:min(820px,100%)}.import-guide{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;gap:10px}.import-guide>div{display:grid;min-height:116px;place-items:center;align-content:center;gap:5px;border-radius:12px;background:#f3f7ff;text-align:center}.import-guide>div:nth-of-type(2){background:#f1edff}.import-guide>div:nth-of-type(3){background:#fff5eb}.import-guide>div>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#1769e0;color:#fff;font-weight:700}.import-guide>div:nth-of-type(2)>span{background:#7048e8}.import-guide>div:nth-of-type(3)>span{background:#ed7a26}.import-guide strong{font-size:13px}.import-guide small{color:var(--md-on-surface-variant);font-size:10px}.import-guide>i{height:2px;background:linear-gradient(90deg,#a9c8f8,#c3b5f3)}.import-field-reference{border:1px solid var(--md-outline-variant);border-radius:12px;margin-top:20px;overflow:hidden}.import-field-reference header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8faff;padding:14px 16px}.import-field-reference h3{font-size:13px;margin:0 0 4px}.import-field-reference p{color:var(--md-on-surface-variant);font-size:10px;margin:0}.import-field-reference p em{color:var(--md-error);font-style:normal}.import-field-reference>div{display:flex;flex-wrap:wrap;gap:7px;padding:14px 16px}.import-field-reference>div span{border-radius:14px;background:var(--md-surface-container-high);color:#526078;font-size:10px;padding:6px 9px}.import-field-reference>div span.is-required{background:#dce8ff;color:#174f9e}.import-field-reference>div span.is-required:after{color:var(--md-error);content:" *"}.import-dropzone{display:grid;min-height:144px;place-items:center;align-content:center;gap:7px;border:1.5px dashed #94a5bd;border-radius:12px;background:#fbfcff;color:#607089;cursor:pointer;margin-top:20px;transition:border-color .16s ease,background .16s ease}.import-dropzone:hover,.import-dropzone.has-file{border-color:var(--md-primary);background:#f3f7ff;color:var(--md-primary)}.import-dropzone strong{color:var(--md-on-surface);font-size:13px}.import-dropzone span{font-size:10px}.import-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.import-message,.import-preview{margin-top:14px;border-radius:9px;background:#eef8f3;color:#176a4a;font-size:11px;padding:12px 14px}.import-message.is-error{background:#fff0ee;color:var(--md-error)}.import-preview{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.import-preview strong{margin-right:auto}.project-import-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #c9d9f2;border-radius:var(--md-radius-md);background:#f3f7ff;padding:14px 16px}.project-import-entry>div:first-child{display:grid;min-width:0;gap:4px}.project-import-entry strong{color:#184f9e;font-size:12px}.project-import-entry span{color:var(--md-on-surface-variant);font-size:10px;line-height:1.5}.project-import-actions{display:flex;flex:0 0 auto;gap:8px}.quick-edit-modal{width:min(540px,100%)}.quick-edit-note{border-left:3px solid var(--md-tertiary);border-radius:var(--md-radius-sm);background:var(--md-tertiary-container);color:#256272;font-size:10px;line-height:1.6;margin:6px 0 0;padding:10px 12px}.quick-edit-modal .field>small{color:var(--md-on-surface-variant);font-size:9px;line-height:1.5}.gantt-bar.is-stage.tone-0:not(.is-done):not(.is-planned){background:#268bd2}.gantt-bar.is-stage.tone-1:not(.is-done):not(.is-planned){background:#7048e8}.gantt-bar.is-stage.tone-2:not(.is-done):not(.is-planned){background:#0098b7}.table-link{color:var(--md-primary)}.field>input,.field>select,.field>textarea,.stage-template-row>input,.duration-control{border:1px solid var(--md-outline);border-radius:var(--md-radius-sm);background:var(--md-surface);transition:border-color .16s var(--md-motion-standard),box-shadow .16s var(--md-motion-standard),background-color .16s var(--md-motion-standard)}.field>input,.field>select{min-height:42px}.field>textarea{padding-top:10px;padding-bottom:10px}.field>input:hover,.field>select:hover,.field>textarea:hover{background:#fbfcff}.field>input:focus,.field>select:focus,.field>textarea:focus{border:2px solid var(--md-primary);box-shadow:0 0 0 3px #005eb81a}.form-section{gap:13px}.form-section-title{min-height:34px}.form-section-title>span{width:24px;height:24px;border-radius:50%;background:var(--md-primary-container);color:#003d7a}.stage-template-list{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);overflow:hidden}.stage-template-row{min-height:58px;background:var(--md-surface-container);transition:background-color .16s var(--md-motion-standard)}.stage-template-row.is-enabled{background:var(--md-surface)}.owner-note,.check-record{border-left:4px solid var(--md-secondary);border-radius:var(--md-radius-sm);background:#f4f0ff;color:#493b72}.modal-backdrop{background:#141b285c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:md-fade-in .18s var(--md-motion-standard) both}@keyframes md-fade-in{0%{opacity:0}to{opacity:1}}.modal{border:0;border-radius:var(--md-radius-lg);box-shadow:var(--md-elevation-5);animation:md-dialog-enter .26s var(--md-motion-emphasized) both}@keyframes md-dialog-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header,.modal-footer{border-color:var(--md-outline-variant);padding-right:20px;padding-left:20px}.modal-body{padding:18px 20px}.drawer-overlay{background:#141b2852;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-drawer{width:min(480px,92vw);border-left:0;border-radius:var(--md-radius-lg) 0 0 var(--md-radius-lg);box-shadow:var(--md-elevation-5);animation:md-drawer-enter .3s var(--md-motion-emphasized)}@keyframes md-drawer-enter{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header,.drawer-actions{border-color:var(--md-outline-variant)}.drawer-summary,.drawer-section{border-color:var(--md-outline-variant);border-radius:var(--md-radius-md)}.drawer-summary{background:var(--md-surface-container)}.drawer-stage,.drawer-item-list>div{border-color:var(--md-outline-variant)}.danger-text-button{min-height:38px;border-radius:22px;color:var(--md-error);transition:background-color .16s var(--md-motion-standard)}.danger-text-button:hover{background:#b3261e14}.gantt-toolbar,.gantt-legend,.gantt-corner,.gantt-months,.gantt-label,.gantt-track{border-color:var(--md-outline-variant)}.gantt-grid{grid-template-columns:300px var(--timeline-width);min-width:calc(300px + var(--timeline-width))}.gantt-label.is-stage{padding-left:28px}.gantt-stage-label{cursor:default}.gantt-stage-toggle{display:flex;min-width:0;flex:1;align-items:center;align-self:stretch;gap:7px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}.gantt-stage-toggle>span{display:grid;min-width:0;flex:1;gap:2px}.gantt-stage-toggle strong,.gantt-stage-toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-stage-toggle strong{font-size:11px}.gantt-stage-toggle small{color:var(--md-on-surface-variant);font-size:9px}.gantt-stage-edit{background:#fff;box-shadow:0 1px 3px #1f2f491f}.gantt-label.is-checkpoint{gap:8px;cursor:default;background:#fbfaff;padding:0 10px 0 52px}.gantt-check-button{display:grid;width:19px;height:19px;flex:0 0 auto;place-items:center;border:1.5px solid #8d97a8;border-radius:5px;background:#fff;color:#fff;cursor:pointer;padding:0}.gantt-check-button:hover{border-color:var(--md-primary)}.gantt-check-button.is-done{border-color:#16845b;background:#16845b}.gantt-check-button.is-suspended{border-color:#bd7417;background:#fff0d8;color:#8a4f07}.gantt-check-button.is-overdue{border-color:var(--md-error);background:#ffdad6;color:#8c1d18}.gantt-check-button.is-blocked{border-color:#929baa;background:#f0f2f5;color:#667080}.gantt-label.is-checkpoint.is-blocked{background:#f6f7f9}.gantt-check-copy{display:grid;min-width:0;flex:1;gap:2px;border:0;background:transparent;cursor:pointer;padding:0;text-align:left}.gantt-check-copy strong,.gantt-check-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-check-copy strong{color:var(--md-on-surface);font-size:10px}.gantt-check-copy small{color:var(--md-on-surface-variant);font-size:9px}.gantt-track.is-checkpoint{background-color:#7048e809}.gantt-bar.is-checkpoint{top:16px;height:20px;background:var(--md-secondary);box-shadow:0 3px 8px #7048e82e}.gantt-bar.is-checkpoint.is-planned{background:#8f7bcf}.gantt-bar.is-checkpoint.is-done{background:#16845b}.gantt-bar.is-checkpoint.is-suspended{background:#bd7417}.gantt-bar.is-checkpoint.is-overdue{background:var(--md-error)}.gantt-legend .legend-checkpoint{background:var(--md-secondary)}.gantt-legend{min-height:48px}.gantt-range label{height:38px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm);background:var(--md-surface)}.gantt-bar{border-radius:var(--md-radius-sm);box-shadow:var(--md-elevation-2);justify-content:flex-start;padding:0 6px;transition:box-shadow .16s var(--md-motion-standard),transform .16s var(--md-motion-standard),filter .16s var(--md-motion-standard)}.gantt-bar b{margin-left:0;font-size:8px}.gantt-bar-label{position:absolute;top:13px;z-index:2;display:block;overflow:hidden;max-width:260px;height:26px;border:0;background:transparent;color:var(--md-on-surface);cursor:pointer;font-size:9px;font-weight:650;line-height:26px;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.gantt-bar-label.is-stage{top:15px;height:22px;line-height:22px}.gantt-bar-label.is-checkpoint{top:16px;height:20px;color:#4f3d7d;font-size:8px;line-height:20px}.gantt-bar-label:hover{color:var(--md-primary);text-decoration:underline}.gantt-bar:hover{z-index:3;box-shadow:var(--md-elevation-3);filter:saturate(1.08);transform:translateY(-2px)}.toast{min-height:48px;border:0;border-radius:var(--md-radius-sm);background:#2f3440;box-shadow:var(--md-elevation-4);color:#fff;animation:md-snackbar-enter .26s var(--md-motion-emphasized) both}@keyframes md-snackbar-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.app-shell{grid-template-columns:204px minmax(0,1fr)}.sidebar{padding-right:12px;padding-left:12px}.brand-logo{width:154px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.task-rail{min-height:360px}.operator{display:none}.hierarchy-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start}.standard-template-row{grid-template-columns:44px minmax(220px,1fr) 52px 58px auto}.standard-template-source{display:none}}@media(max-width:920px){.app-shell{display:block}.sidebar{width:240px;border-radius:0 var(--md-radius-lg) var(--md-radius-lg) 0;box-shadow:var(--md-elevation-5)}.sidebar.is-open{animation:md-nav-drawer-enter .28s var(--md-motion-emphasized) both}@keyframes md-nav-drawer-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-overlay{z-index:69;background:#141b2852;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.topbar{min-height:64px;padding:0 18px}.page-content{padding:18px}.search-box{width:min(330px,48vw)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metric-item{min-height:104px}}@media(max-width:640px){.topbar{min-height:0;flex-wrap:wrap;gap:6px;padding:10px 14px}.page-heading{min-height:42px}.page-heading h1{font-size:20px}.top-actions{width:100%}.search-box{width:100%;height:42px}.page-content{padding:16px 14px 28px}.dashboard-layout{gap:16px}.metric-strip{gap:12px}.metric-item{min-height:112px;padding:18px}.metric-item>span:last-child{gap:12px}.metric-item strong{font-size:32px}.surface,.stage-timeline-panel,.task-ledger-page,.projects-page,.gantt-page{border-radius:var(--md-radius-md)}.section-heading,.page-toolbar,.section-heading.compact{min-height:72px;padding:18px}.section-heading h2,.page-toolbar h2{font-size:18px}.filter-row{min-height:0;padding:14px 18px}.task-project-filter{margin-left:0}.task-project-filter,.task-owner-filter{width:100%;min-width:0}.segmented{width:100%;overflow-x:auto}.segmented button{flex:1 0 76px}.task-filter-row .segmented button{min-width:84px}.toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.toolbar-actions .button{justify-content:center}.import-owner-filters,.import-guide{grid-template-columns:1fr}.import-guide>i{width:2px;height:20px;justify-self:center}.import-field-reference header{align-items:flex-start;flex-direction:column}.project-import-entry{align-items:stretch;flex-direction:column}.project-import-actions{display:grid;grid-template-columns:1fr}.project-import-actions .button{justify-content:center}.project-progress-panel,.task-rail{min-height:380px}.task-ledger-page{min-height:calc(100vh - 100px)}.task-ledger-page .task-empty-state{min-height:340px}.modal{border-radius:0}.project-drawer{border-radius:var(--md-radius-lg) 0 0 var(--md-radius-lg)}.standard-templates-heading{align-items:flex-start}.standard-template-row{grid-template-columns:40px minmax(0,1fr) 52px 58px;gap:9px;padding:14px}.standard-template-copy{grid-column:2 / -1}.standard-template-copy span{white-space:normal;line-height:1.45}.standard-template-stat{grid-row:2}.standard-template-stat:nth-of-type(1){grid-column:3}.standard-template-stat:nth-of-type(2){grid-column:4}.standard-template-actions{grid-column:1 / -1}.standard-template-actions .button{flex:1;justify-content:center}.template-preview-summary{grid-template-columns:1fr}.template-stage-item summary{grid-template-columns:26px minmax(0,1fr) 18px}.template-stage-item summary small{display:none}.template-stage-item>div{padding-left:14px}.template-stage-item p{grid-template-columns:54px minmax(0,1fr)}.template-stage-item p small{display:none}}.checkpoint-editable-cell{display:block;width:100%;min-height:36px;border:1px solid transparent;border-radius:var(--md-radius-sm);background:transparent;cursor:text;padding:6px 8px;text-align:left;transition:border-color .15s var(--md-motion-standard),background-color .15s var(--md-motion-standard),box-shadow .15s var(--md-motion-standard)}.checkpoint-editable-cell:hover,.checkpoint-editable-cell:focus-visible{border-color:#c8d6ec;background:#f7faff;box-shadow:inset 3px 0 0 var(--md-primary);outline:none}.checkpoint-editable-cell:active{background:var(--md-primary-container)}.checkpoint-editable-cell .checkpoint-detail{max-width:none;pointer-events:none}.checkpoint-deliverable-cell.checkpoint-editable-cell .checkpoint-detail{color:#334b6f;font-weight:550}.task-owner-cell{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px}.task-owner-cell>span{min-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-owner-cell small{display:block;overflow:hidden;margin-top:2px;color:var(--md-on-surface-variant);font-size:8px;text-overflow:ellipsis}.send-ding-button{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:#fff0df;color:#a65308;cursor:pointer;transition:background-color .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.send-ding-button:hover{background:#ffe0bd;transform:scale(1.06)}.contacts-page{display:flex;min-height:calc(100vh - 120px);flex-direction:column;border-radius:var(--md-radius-md);box-shadow:var(--md-elevation-2)}.contacts-toolbar{align-items:center;gap:16px}.contact-metrics{display:grid;grid-template-columns:repeat(3,minmax(130px,.7fr)) minmax(220px,1.3fr);gap:12px;border-top:1px solid var(--md-outline-variant);border-bottom:1px solid var(--md-outline-variant);background:var(--md-surface-container);padding:14px 18px}.contact-metrics article{display:flex;min-height:66px;align-items:center;gap:11px;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:#fff;box-shadow:var(--md-elevation-1);padding:12px 14px}.contact-metrics article>div{display:grid;gap:4px}.contact-metrics small{color:var(--md-on-surface-variant);font-size:10px}.contact-metrics strong{color:var(--md-on-surface);font-size:21px;line-height:1}.contact-sync-metric strong{font-size:12px;font-weight:650;line-height:1.4}.contact-metric-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px}.contact-metric-icon.is-blue{background:var(--md-primary-container);color:var(--md-primary)}.contact-metric-icon.is-green{background:#dcf3e7;color:#167152}.contact-metric-icon.is-purple{background:var(--md-secondary-container);color:var(--md-secondary)}.contact-filter-row{justify-content:space-between}.contact-table-wrap{min-height:0;flex:1 1 auto;overflow:auto}.contact-table{width:100%;min-width:980px;border-collapse:collapse}.contact-table th,.contact-table td{height:54px;border-bottom:1px solid var(--md-outline-variant);padding:8px 14px;text-align:left}.contact-table th{position:sticky;z-index:2;top:0;background:#f8faff;color:var(--md-on-surface-variant);font-size:10px;font-weight:700}.contact-table td{color:var(--md-on-surface);font-size:11px}.contact-table tbody tr{transition:background-color .14s var(--md-motion-standard)}.contact-table tbody tr:hover{background:#f7faff}.contact-name-cell{display:flex;align-items:center;gap:9px}.contact-name-cell>span{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--md-primary-container),var(--md-secondary-container));color:#24467c;font-weight:750}.contact-duty{font-size:11px}.ding-ready{color:#8992a2;font-size:9px}.ding-ready.is-ready{color:#14805b;font-weight:650}.contact-empty,.contact-loading{min-height:320px}.contact-loading{display:grid;place-items:center;color:var(--md-on-surface-variant)}.contact-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-footer>div{display:flex;gap:6px}.contact-footer button{min-width:62px;height:28px;border:1px solid var(--md-outline-variant);border-radius:15px;background:#fff;color:var(--md-primary);cursor:pointer;font-size:10px}.contact-footer button:disabled{background:var(--md-surface-container);color:#a1a8b4;cursor:default}.project-members-modal{width:min(680px,100%)}.member-search{display:flex;height:44px;align-items:center;gap:9px;border:1px solid var(--md-outline-variant);border-radius:22px;background:var(--md-surface-container);color:var(--md-on-surface-variant);padding:0 14px}.member-search:focus-within{border-color:var(--md-primary);box-shadow:0 0 0 3px #1769e01a}.member-search input{width:100%;border:0;outline:0;background:transparent;font:inherit}.member-modal-note{margin:10px 2px 12px;color:var(--md-on-surface-variant);font-size:10px;line-height:1.5}.member-picker-list{display:grid;max-height:52vh;gap:6px;overflow:auto;padding-right:3px}.member-picker-row{display:grid;min-height:56px;grid-template-columns:24px 36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid transparent;border-radius:var(--md-radius-md);background:var(--md-surface-container);cursor:pointer;padding:8px 11px;text-align:left;transition:border-color .14s var(--md-motion-standard),background-color .14s var(--md-motion-standard),transform .14s var(--md-motion-standard)}.member-picker-row:hover{border-color:#c5d5ed;transform:translateY(-1px)}.member-picker-row.is-selected{border-color:#a8c6f2;background:#eef5ff}.member-check{display:grid;width:21px;height:21px;place-items:center;border:1.5px solid #98a2b2;border-radius:6px;color:#fff}.member-picker-row.is-selected .member-check{border-color:var(--md-primary);background:var(--md-primary)}.member-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--md-secondary-container);color:#5135a4;font-weight:700}.member-copy{display:grid;min-width:0;gap:3px}.member-copy strong,.member-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-copy strong{font-size:12px}.member-copy small{color:var(--md-on-surface-variant);font-size:9px}.member-empty{min-height:220px}.drawer-actions{flex-wrap:wrap}.drawer-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-section-heading h3{margin:0}.project-member-chips{display:grid;gap:7px;margin-top:10px}.project-member-chips>span{display:flex;align-items:center;gap:9px;border:1px solid var(--md-outline-variant);border-radius:10px;background:var(--md-surface-container);padding:8px 10px}.project-member-chips>span>b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--md-primary-container);color:var(--md-primary)}.project-member-chips>span>span{display:grid;min-width:0;gap:2px}.project-member-chips strong{font-size:11px}.project-member-chips small{color:var(--md-on-surface-variant);font-size:9px}.project-member-chips>p{margin:0;color:var(--md-on-surface-variant);font-size:10px}.ding-recipient-card{display:flex;align-items:center;gap:11px;border:1px solid #f0d0a9;border-radius:var(--md-radius-md);background:#fff9f0;padding:11px 13px}.ding-recipient-card>span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#ffe0bd;color:#984b09;font-weight:750}.ding-recipient-card>div{display:grid;gap:3px}.ding-recipient-card small{color:var(--md-on-surface-variant);font-size:9px}@media(max-width:900px){.contact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-filter-row{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:640px){.contacts-page{min-height:calc(100vh - 100px)}.contact-metrics{grid-template-columns:1fr}.contact-footer{align-items:flex-start;flex-direction:column}.project-members-modal .modal-body{padding-right:14px;padding-left:14px}.member-picker-row{grid-template-columns:22px 32px minmax(0,1fr)}.member-picker-row .badge{display:none}}@media(prefers-reduced-motion:reduce){.page-content>*,.metric-item,.modal,.modal-backdrop,.project-drawer,.sidebar.is-open,.toast{animation:none!important}.surface,.metric-item,.button,.icon-button,.nav-item,.gantt-bar,.project-block-selector,.project-block-collapse-body,.dashboard-project-switcher,.dashboard-project-collapse-body{transition:none!important}}.contact-directory-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(170px,.7fr) minmax(170px,.7fr) auto;align-items:end;gap:10px;border-bottom:1px solid var(--md-outline-variant);background:#fff;padding:12px 18px 14px}.directory-search,.directory-select{display:flex;min-width:0;border:1px solid var(--md-outline-variant);background:var(--md-surface-container)}.directory-search{height:42px;align-items:center;gap:8px;border-radius:22px;color:var(--md-on-surface-variant);padding:0 13px}.directory-search:focus-within,.directory-select:focus-within{border-color:var(--md-primary);box-shadow:0 0 0 3px #1769e01a}.directory-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--md-on-surface);font:inherit}.directory-select{height:42px;justify-content:center;flex-direction:column;gap:1px;border-radius:11px;padding:4px 10px}.directory-select>span{color:var(--md-on-surface-variant);font-size:8px}.directory-select select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--md-on-surface);font-size:10px}.directory-clear{display:flex;height:36px;align-items:center;gap:5px;border:0;border-radius:18px;background:transparent;color:var(--md-primary);cursor:pointer;padding:0 10px;font-size:10px}.directory-clear:hover{background:var(--md-primary-container)}.contact-send-button{display:inline-flex;height:29px;align-items:center;gap:6px;border:1px solid #b9d2f5;border-radius:15px;background:#eef5ff;color:var(--md-primary);cursor:pointer;padding:0 10px;font-size:9px;font-weight:650;transition:background-color .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.contact-send-button:hover{background:#dceaff;transform:translateY(-1px)}.project-drawer{top:3vh;right:2vw;bottom:3vh;left:calc(248px + 2vw);width:auto;height:auto;max-height:none;border:1px solid var(--md-outline-variant);border-radius:22px;box-shadow:0 24px 72px #141b283d;animation:md-workspace-drawer-enter .3s var(--md-motion-emphasized)}@keyframes md-workspace-drawer-enter{0%{transform:translate(48px) scale(.985);opacity:0}to{transform:none;opacity:1}}.project-drawer .drawer-header{min-height:72px;padding:12px 24px}.project-drawer .drawer-actions{padding:10px 24px}.project-drawer .drawer-scroll{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:14px;padding:16px 24px 28px}.project-drawer .drawer-summary,.project-drawer .drawer-section{height:100%;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:#fff;padding:16px}.project-drawer .drawer-summary{grid-column:span 5;background:var(--md-surface-container)}.project-drawer .drawer-goal-section{grid-column:span 7}.project-drawer .drawer-members-section{grid-column:span 4}.project-drawer .drawer-stages-section{grid-column:span 8}.project-drawer .drawer-check-section{grid-column:span 4}.project-drawer .drawer-tasks-section{grid-column:span 8}.project-drawer .danger-text-button{grid-column:1 / -1;justify-self:start}.project-drawer .project-member-chips{max-height:215px;overflow:auto}.project-form-modal{width:min(940px,100%)}.searchable-picker{position:relative;min-width:0}.searchable-picker-control{display:flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(125,148,183,.32);border-radius:var(--md-radius-sm);background:#ffffff94;box-shadow:inset 0 1px #fffc,0 4px 12px #3957840a;color:#71829a;padding:0 10px;-webkit-backdrop-filter:blur(15px) saturate(145%);backdrop-filter:blur(15px) saturate(145%);transition:border-color .16s var(--md-motion-standard),box-shadow .16s var(--md-motion-standard),background-color .16s var(--md-motion-standard)}.searchable-picker-control:hover{background:#ffffffc2}.searchable-picker.is-open .searchable-picker-control{border-color:var(--md-primary);box-shadow:0 0 0 3px #005eb81a;background:#ffffffe6}.searchable-picker.is-disabled{opacity:.66}.searchable-picker.is-disabled .searchable-picker-control{background:#eef1f5;box-shadow:none;cursor:not-allowed}.searchable-picker.is-disabled input{cursor:not-allowed}.checkpoint-inline-attachments{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;margin-left:3px}.checkpoint-row-attachment-action{position:relative;display:grid;min-width:54px;min-height:36px;flex:0 0 auto;place-items:center;border:1px solid rgba(23,105,224,.28);border-radius:9px;background:#eef5ff;color:var(--md-primary);cursor:pointer;gap:1px;padding:3px 6px;transition:background-color .14s var(--md-motion-standard),transform .14s var(--md-motion-standard)}.checkpoint-row-attachment-action small{font-size:7px;font-weight:650;line-height:1.15;white-space:nowrap}.checkpoint-row-attachment-action:hover{background:var(--md-primary-container);transform:translateY(-1px)}.checkpoint-row-attachment-action.is-busy{cursor:wait;opacity:.55;transform:none}.checkpoint-row-attachment-action.is-download{border-color:#745cb83d;background:#eee8ffb8;color:var(--md-secondary)}.checkpoint-row-attachment-action.is-download:hover{background:#e6dcfff0}.checkpoint-row-attachment-action:disabled{border-color:#8591a333;background:#f0f3f7bd;color:#9aa3b1;cursor:not-allowed;opacity:.72;transform:none}.checkpoint-row-attachment-action b{position:absolute;top:-5px;right:-5px;display:grid;min-width:15px;height:15px;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--md-secondary);color:#fff;font-size:7px;padding:0 3px}.checkpoint-row-attachment-action input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.traffic-light-picker,.traffic-light-options{display:grid;gap:7px}.traffic-light-option{display:inline-flex;width:max-content;align-items:center;gap:7px;border:0;background:transparent;color:var(--md-on-surface-variant);cursor:pointer;padding:0;text-align:left}.traffic-light-option>span{width:15px;height:15px;flex:0 0 auto;border:2px solid #b3bbc6;border-radius:50%;background:#fff;box-shadow:0 0 0 3px transparent;transition:border-color .14s var(--md-motion-standard),background-color .14s var(--md-motion-standard),box-shadow .14s var(--md-motion-standard),transform .12s var(--md-motion-standard)}.traffic-light-option strong{font-size:10px;font-weight:650}.traffic-light-option:hover>span{transform:scale(1.08)}.traffic-light-option.is-green.is-selected>span{border-color:#17845d;background:#29a475;box-shadow:0 0 0 3px #d9f2e7}.traffic-light-option.is-yellow.is-selected>span{border-color:#c37b15;background:#efa82f;box-shadow:0 0 0 3px #fff0d2}.traffic-light-option.is-red.is-selected>span{border-color:#b7352f;background:#d84a43;box-shadow:0 0 0 3px #ffe1de}.traffic-light-option:disabled{cursor:not-allowed;opacity:.54}.checkpoint-table th:nth-child(2),.checkpoint-table td:nth-child(2){text-align:center}.checkpoint-table td:nth-child(2){padding-right:10px;padding-left:10px}.checkpoint-table td:nth-child(2)>.cell-muted{display:block;width:100%;text-align:center}.traffic-light-column-heading{display:block;width:100%;font:inherit;text-align:center}.traffic-light-picker.is-compact{display:grid;width:100%;min-width:132px;place-items:center;gap:5px;text-align:center}.traffic-light-picker.is-compact .traffic-light-options{display:flex;width:100%;align-items:center;justify-content:center;gap:7px}.traffic-light-picker.is-compact .traffic-light-option{display:grid;width:24px;height:24px;place-items:center}.traffic-light-picker.is-compact .traffic-light-option>span{width:14px;height:14px;border-width:1.5px}.traffic-light-current{width:100%;color:var(--md-on-surface-variant);font-size:9px;font-weight:620;line-height:1.25;text-align:center;white-space:nowrap}.traffic-light-current.is-green{color:#167451}.traffic-light-current.is-yellow{color:#9a620f}.traffic-light-current.is-red{color:#a52f2a}.traffic-light-current.is-unassigned{color:#7d8897}.traffic-light-table-heading{display:grid;gap:4px;padding:5px 0}.traffic-light-table-heading>strong{color:var(--md-on-surface-variant);font-size:12px}.traffic-light-table-heading>small{display:grid;gap:2px;color:var(--md-on-surface-variant);font-size:7px;font-weight:520;line-height:1.25}.traffic-light-table-heading>small>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.traffic-light-table-heading i{width:6px;height:6px;flex:0 0 auto;border-radius:50%}.traffic-light-table-heading i.is-green{background:#29a475}.traffic-light-table-heading i.is-yellow{background:#efa82f}.traffic-light-table-heading i.is-red{background:#d84a43}.checkpoint-preview-light{display:inline-flex!important;align-items:center;gap:6px}.checkpoint-preview-light i,.dashboard-light-badge i{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:50%}.checkpoint-preview-light.is-green i,.dashboard-light-badge.is-green i{background:#29a475}.checkpoint-preview-light.is-yellow i,.dashboard-light-badge.is-yellow i{background:#efa82f}.checkpoint-preview-light.is-red i,.dashboard-light-badge.is-red i{background:#d84a43}.checkpoint-preview-light.is-unassigned i,.dashboard-light-badge.is-unassigned i{border:1.5px solid #aeb7c4;background:transparent}.prerequisite-number-button small{margin-left:4px;font-size:7px;opacity:.74}.drawer-primary-actions{display:flex;align-items:center;gap:8px;border-right:1px solid rgba(125,148,183,.24);margin-right:3px;padding-right:11px}.project-view-switch-row{justify-content:space-between;gap:12px}.project-view-switch button{display:inline-flex;align-items:center;gap:5px}.project-dashboard{display:grid;gap:14px;padding:16px 18px 22px}.project-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.project-dashboard-header h3{margin:0 0 4px;color:var(--md-on-surface);font-size:17px}.project-dashboard-header p{margin:0;color:var(--md-on-surface-variant);font-size:10px}.project-dashboard-header>label{display:flex;min-width:250px;height:42px;align-items:center;gap:9px;border:1px solid var(--md-outline-variant);border-radius:11px;background:#ffffffb3;padding:0 11px}.project-dashboard-header>label span{color:var(--md-on-surface-variant);font-size:9px;white-space:nowrap}.project-dashboard-header select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--md-on-surface);font:inherit;font-size:10px}.project-dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.project-dashboard-metrics article{display:flex;min-height:68px;align-items:center;gap:10px;border:1px solid rgba(142,161,188,.28);border-radius:14px;background:#ffffffa8;box-shadow:0 7px 18px #2d45680f;padding:11px 13px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-dashboard-metrics article>div{display:grid;gap:4px}.project-dashboard-metrics strong{color:#17345d;font-size:21px;line-height:1}.project-dashboard-metrics small{color:var(--md-on-surface-variant);font-size:8px;line-height:1.35}.dashboard-metric-symbol{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:11px}.dashboard-metric-symbol.is-blue,.dashboard-metric-symbol.is-primary{background:#e5f0ff;color:#1769c2}.dashboard-metric-symbol.is-green{background:#ddf3e9;color:#17845d}.dashboard-metric-symbol.is-yellow{background:#fff0d2;color:#ae6908}.dashboard-metric-symbol.is-red{background:#ffe1de;color:#b7352f}.project-dashboard-panel{min-width:0;overflow:hidden;border:1px solid rgba(140,160,188,.28);border-radius:14px;background:#ffffffb8;box-shadow:0 8px 22px #2c41600f}.project-dashboard-panel>header{display:flex;min-height:55px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--md-outline-variant);background:linear-gradient(100deg,#e6f1ffb8,#f3efff94);padding:10px 14px}.project-dashboard-panel h4{margin:0 0 3px;color:#183b68;font-size:12px}.project-dashboard-panel header p{margin:0;color:var(--md-on-surface-variant);font-size:8px}.project-dashboard-table-wrap{width:100%;overflow:auto}.project-dashboard-table{width:100%;min-width:1180px;border-collapse:collapse;table-layout:fixed}.project-dashboard-table th,.project-dashboard-table td{height:45px;border-right:1px solid #dce5f0;border-bottom:1px solid #dce5f0;padding:7px 9px;text-align:left}.project-dashboard-table th{background:#1e4f7b;color:#fff;font-size:9px;font-weight:700;text-align:center}.project-dashboard-table th:nth-child(3){width:210px;text-align:left}.project-dashboard-table td{color:#334155;font-size:9px;text-align:center}.project-dashboard-table td:nth-child(3){text-align:left}.project-dashboard-table tbody tr:hover{background:#f6f9fd}.dashboard-light-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;background:#f1f3f6;color:#4f5d70;padding:4px 7px;font-weight:700}.dashboard-progress-cell{display:grid;min-width:92px;grid-template-columns:30px 1fr;align-items:center;gap:5px}.dashboard-progress-cell>span{color:#385b83;font-size:8px;text-align:right}.project-dashboard-table .is-green-count{background:#ddf3e985;color:#177652;font-weight:700}.project-dashboard-table .is-yellow-count{background:#fff0d294;color:#9d610b;font-weight:700}.project-dashboard-table .is-red-count,.project-dashboard-table .is-overdue-count{background:#ffe1de80;color:#a62e28;font-weight:700}.project-dashboard-secondary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.project-dashboard-table.is-compact{min-width:620px}.project-dashboard-table.is-compact th:nth-child(1),.project-dashboard-table.is-compact td:nth-child(1){width:180px;text-align:left}.dashboard-stage-plan-list{display:grid;max-height:330px;overflow:auto;padding:6px 12px 12px}.dashboard-stage-plan-list article{display:grid;min-height:48px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--md-outline-variant);padding:6px 3px}.dashboard-stage-light{width:9px;height:9px;border-radius:50%}.dashboard-stage-light.is-green{background:#29a475}.dashboard-stage-light.is-yellow{background:#efa82f}.dashboard-stage-light.is-red{background:#d84a43}.dashboard-stage-light.is-unassigned{border:1.5px solid #aeb7c4;background:transparent}.dashboard-stage-plan-list article>div{display:grid;min-width:0;gap:3px}.dashboard-stage-plan-list strong{overflow:hidden;color:var(--md-on-surface);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dashboard-stage-plan-list small{color:var(--md-on-surface-variant);font-size:8px}.dashboard-stage-plan-list b{color:#285b96;font-size:11px}.project-dashboard-empty{display:grid;min-height:340px;place-items:center;align-content:center;gap:8px;color:var(--md-on-surface-variant)}.project-dashboard-empty strong{color:var(--md-on-surface);font-size:13px}.project-dashboard-empty span{font-size:10px}.admin-page{min-height:calc(100vh - 116px)}.admin-toolbar{align-items:center}.admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;border-top:1px solid var(--md-outline-variant);border-bottom:1px solid var(--md-outline-variant);background:#eff4fc9e;padding:14px 18px}.admin-metrics article{display:flex;min-height:66px;align-items:center;gap:10px;border:1px solid rgba(139,157,184,.28);border-radius:14px;background:#ffffffb8;padding:10px 12px}.admin-metrics article>div{display:grid;gap:3px}.admin-metrics strong{color:#17345d;font-size:20px}.admin-metrics small{color:var(--md-on-surface-variant);font-size:9px}.admin-metric-icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:11px}.admin-metric-icon.is-blue{background:#e5f0ff;color:#1769c2}.admin-metric-icon.is-green{background:#ddf3e9;color:#17845d}.admin-metric-icon.is-purple{background:#eee8ff;color:#6547b5}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--md-outline-variant);padding:13px 18px}.admin-section-heading h3{margin:0 0 3px;font-size:13px}.admin-section-heading p{margin:0;color:var(--md-on-surface-variant);font-size:9px}.admin-user-search{display:flex;width:min(320px,40vw);height:38px;align-items:center;gap:8px;border:1px solid var(--md-outline-variant);border-radius:20px;background:#f7f9fc;color:var(--md-on-surface-variant);padding:0 12px}.admin-user-search input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:10px}.admin-table-wrap{position:relative;min-height:300px;overflow:auto}.admin-user-table{width:100%;min-width:850px;border-collapse:collapse}.admin-user-table th,.admin-user-table td{height:54px;border-bottom:1px solid var(--md-outline-variant);padding:8px 14px;text-align:left}.admin-user-table th{position:sticky;z-index:2;top:0;background:#f4f7fb;color:var(--md-on-surface-variant);font-size:9px}.admin-user-table td{color:var(--md-on-surface);font-size:10px}.admin-user-table td>strong,.admin-user-table td>span{display:block}.admin-user-table td small{display:block;margin-top:2px;color:var(--md-on-surface-variant);font-size:8px}.admin-role-actions{display:inline-flex;border:1px solid var(--md-outline-variant);border-radius:18px;background:#f4f6f9;padding:2px}.admin-role-actions button{height:27px;border:0;border-radius:14px;background:transparent;color:var(--md-on-surface-variant);cursor:pointer;padding:0 10px;font-size:8px;font-weight:650}.admin-role-actions button.is-active{background:#fff;color:var(--md-primary);box-shadow:0 2px 6px #2841641f}.admin-role-actions button:disabled{cursor:not-allowed;opacity:.52}.admin-loading{display:grid;min-height:220px;place-items:center;color:var(--md-on-surface-variant);font-size:10px}.project-owner-modal{width:min(580px,100%)}.gantt-check-button.is-done{border-color:#1769c2;background:#1769c2;color:#fff}.gantt-check-button.is-suspended{border-color:#737d8b;background:#e9edf2;color:#596474}.gantt-bar.is-checkpoint.is-done{background:#1769c2}.gantt-bar.is-checkpoint.is-suspended{background:#737d8b}.item-check.is-suspended{border-color:#737d8b;background:#e9edf2;color:#596474}@media(max-width:1180px){.project-dashboard-metrics,.admin-metrics{grid-template-columns:repeat(3,minmax(130px,1fr))}.project-dashboard-secondary-grid{grid-template-columns:1fr}}@media(max-width:720px){.project-dashboard-header,.admin-section-heading{align-items:flex-start;flex-direction:column}.project-dashboard-header>label,.admin-user-search{width:100%;min-width:0}.project-dashboard-metrics,.admin-metrics{grid-template-columns:1fr 1fr}}.searchable-picker-control>input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--md-on-surface);font:inherit}.searchable-picker-control>input::placeholder{color:#8a98ab}.searchable-picker-chevron{flex:0 0 auto;transition:transform .16s var(--md-motion-standard)}.searchable-picker.is-open .searchable-picker-chevron{transform:rotate(180deg)}.searchable-picker-menu{position:absolute;z-index:80;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:248px;gap:3px;overflow-y:auto;border:1px solid rgba(113,137,175,.28);border-radius:12px;background:#fbfdfff5;box-shadow:0 18px 42px #18335c33,inset 0 1px #ffffffeb;padding:6px;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}.searchable-picker-option{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:8px;background:transparent;color:var(--md-on-surface);cursor:pointer;padding:7px 9px;text-align:left}.searchable-picker-option:hover,.searchable-picker-option.is-selected{background:#dae8ffb8;color:#174f9a}.searchable-picker-option>span{display:grid;min-width:0;gap:2px}.searchable-picker-option strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.searchable-picker-option small{overflow:hidden;color:var(--md-on-surface-variant);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.searchable-picker-empty{color:var(--md-on-surface-variant);font-size:10px;padding:14px 10px;text-align:center}.field>.project-form-help{color:var(--md-on-surface-variant);line-height:1.5}.project-members-modal{width:min(1040px,100%)}.project-members-modal .modal-body{display:block;min-height:0;overflow:hidden}.project-members-layout{display:grid;min-height:0;grid-template-columns:minmax(290px,.8fr) minmax(430px,1.2fr);align-items:start;gap:16px}.project-members-modal .member-modal-note{grid-column:1 / -1;margin:0}.selected-member-panel,.available-member-panel{display:grid;gap:10px}.selected-member-panel>header,.available-member-panel>header{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:8px}.selected-member-panel>header>div{display:flex;align-items:center;gap:8px}.selected-member-panel header span,.available-member-panel header span{color:var(--md-on-surface-variant);font-size:9px}.member-selected-search{height:40px}.selected-member-list{display:grid;max-height:min(52vh,520px);gap:6px;overflow:auto;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);padding:7px}.selected-member-row{display:grid;min-height:54px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid transparent;border-radius:11px;background:#fff;padding:7px 9px}.selected-member-empty{display:grid;min-height:96px;place-items:center;color:var(--md-on-surface-variant);font-size:10px}.member-list-hint{position:sticky;bottom:0;border:1px solid rgba(140,161,194,.24);border-radius:9px;background:#f7fafff0;color:var(--md-on-surface-variant);font-size:9px;padding:8px 10px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.member-remove-button,.member-add-button{display:inline-flex;height:30px;align-items:center;gap:5px;border-radius:16px;cursor:pointer;padding:0 9px;font-size:9px;font-weight:650}.member-remove-button{border:0;background:#fff0f0;color:var(--md-error)}.member-remove-button:hover{background:#ffe0e0}.member-add-button{border:1px solid #b9d2f5;background:#eef5ff;color:var(--md-primary)}.member-add-button:hover{background:#dceaff}.member-directory-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) minmax(130px,.7fr);gap:7px}.member-directory-filters .member-search{height:42px}.member-picker-list{max-height:min(52vh,520px)}.member-picker-row{grid-template-columns:36px minmax(0,1fr) auto auto;cursor:default}.member-picker-row:hover{transform:none}.owner-cell-actions{display:flex;flex:0 0 auto;gap:4px}.owner-edit-button,.send-ding-button{width:25px;height:25px}.owner-edit-button{display:grid;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:var(--md-primary-container);color:var(--md-primary);cursor:pointer;transition:background-color .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.owner-edit-button:hover{background:#d6e7ff;transform:scale(1.06)}.task-owner-picker{display:grid;max-height:48vh;gap:7px;overflow:auto}.task-owner-modal{width:min(760px,100%)}.task-owner-filters{margin-top:10px}.task-owner-option{display:grid;min-height:58px;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);cursor:pointer;padding:8px 11px;text-align:left}.task-owner-option:hover{border-color:#a8c6f2}.task-owner-option.is-selected{border-color:var(--md-primary);background:#eef5ff}.owner-radio{display:grid;width:21px;height:21px;place-items:center;border:1.5px solid #98a2b2;border-radius:50%;color:#fff}.task-owner-option.is-selected .owner-radio{border-color:var(--md-primary);background:var(--md-primary)}.invite-recipient-card{border-color:#b9d2f5;background:#f3f7ff}.invite-recipient-card>span{background:var(--md-primary-container);color:var(--md-primary)}@media(max-width:1180px){.project-drawer{left:calc(204px + 2vw)}.project-drawer .drawer-summary,.project-drawer .drawer-goal-section,.project-drawer .drawer-members-section,.project-drawer .drawer-stages-section,.project-drawer .drawer-check-section,.project-drawer .drawer-tasks-section{grid-column:span 6}.contact-directory-filters{grid-template-columns:1fr 1fr 1fr}.directory-search{grid-column:span 3}}@media(max-width:920px){.project-drawer{left:2vw;border-radius:22px}.project-members-layout{grid-template-columns:1fr}.selected-member-list{max-height:220px}}@media(max-width:680px){.contact-directory-filters,.member-directory-filters{grid-template-columns:1fr}.directory-search{grid-column:auto}.project-drawer{top:2vh;right:0;bottom:0;left:0;height:auto;border-radius:20px 20px 0 0}.project-drawer .drawer-scroll{grid-template-columns:1fr;padding-right:14px;padding-left:14px}.project-drawer .drawer-summary,.project-drawer .drawer-goal-section,.project-drawer .drawer-members-section,.project-drawer .drawer-stages-section,.project-drawer .drawer-check-section,.project-drawer .drawer-tasks-section{grid-column:1}.contact-send-button span,.member-add-button span,.member-remove-button span{display:none}}.profile-link-button{width:max-content;border:0;background:transparent;color:var(--md-primary);cursor:pointer;font-size:9px;padding:1px 0}.profile-link-button:hover{text-decoration:underline}.user-profile-modal{width:min(620px,100%)}.user-profile-hero{display:flex;align-items:center;gap:12px;border:1px solid #c7daf5;border-radius:var(--md-radius-md);background:#f2f7ff;padding:14px}.user-profile-hero>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--md-primary);color:#fff;font-size:16px;font-weight:750}.user-profile-hero>div{display:grid;gap:4px}.user-profile-hero strong{font-size:14px}.user-profile-hero small{color:var(--md-on-surface-variant);font-size:10px}.user-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.user-profile-grid>div{display:grid;gap:5px;border:1px solid var(--md-outline-variant);border-radius:11px;background:var(--md-surface-container);padding:11px 13px}.user-profile-grid dt{display:flex;align-items:center;gap:6px;color:var(--md-on-surface-variant);font-size:9px}.user-profile-grid dd{margin:0;color:var(--md-on-surface);font-size:12px;font-weight:650}.profile-source-note{margin:0;color:var(--md-on-surface-variant);font-size:9px;line-height:1.5}@media(max-width:520px){.user-profile-grid{grid-template-columns:1fr}}:root{--glass-canvas: #eaf1fb;--glass-surface: rgba(255, 255, 255, .7);--glass-surface-strong: rgba(255, 255, 255, .84);--glass-surface-soft: rgba(247, 250, 255, .56);--glass-stroke: rgba(255, 255, 255, .78);--glass-stroke-muted: rgba(147, 166, 195, .28);--glass-shadow: 0 18px 48px rgba(50, 78, 120, .12), 0 3px 12px rgba(50, 78, 120, .07), inset 0 1px 0 rgba(255, 255, 255, .82);--glass-shadow-soft: 0 10px 30px rgba(50, 78, 120, .09), 0 2px 7px rgba(50, 78, 120, .05), inset 0 1px 0 rgba(255, 255, 255, .76);--glass-blur: blur(24px) saturate(150%);--glass-blur-strong: blur(32px) saturate(165%);--md-surface: var(--glass-surface-strong);--md-surface-container: rgba(241, 246, 253, .68);--md-surface-container-high: rgba(228, 237, 249, .72);--md-outline-variant: rgba(129, 148, 178, .24);--bg: transparent;--surface: var(--glass-surface);--surface-soft: var(--glass-surface-soft)}html,body{background:var(--glass-canvas)}body{position:relative;min-height:100vh;background-image:radial-gradient(circle at 14% 9%,rgba(74,149,255,.25),transparent 30%),radial-gradient(circle at 86% 13%,rgba(137,104,245,.2),transparent 29%),radial-gradient(circle at 72% 82%,rgba(61,199,214,.15),transparent 31%),linear-gradient(145deg,#eef5ff,#e9eef9 46%,#f2f0fb);background-attachment:fixed}body:before,body:after{position:fixed;z-index:0;width:34vw;height:34vw;border-radius:50%;content:"";filter:blur(8px);opacity:.48;pointer-events:none}body:before{top:16vh;left:15vw;background:radial-gradient(circle,#4aa0ff33,#4aa0ff00)}body:after{right:5vw;bottom:-9vw;background:radial-gradient(circle,#8968f533,#8968f500)}#root,.app-shell{position:relative;z-index:1}.app-shell,.main{background:transparent}.sidebar{border-right:1px solid rgba(255,255,255,.64);background:linear-gradient(155deg,#ffffffc7,#f2f7ff8f);box-shadow:12px 0 42px #2d48701a,inset -1px 0 #8097ba21,inset 1px 0 #ffffffe0;-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong)}.brand-product{color:#203a61;text-shadow:0 1px 0 rgba(255,255,255,.78)}.nav-item{border:1px solid transparent}.nav-item:hover{border-color:#ffffffa8;background:#ffffff7a;box-shadow:inset 0 1px #ffffffb8,0 5px 14px #365b910f}.nav-item.is-active{border-color:#ffffffbd;background:linear-gradient(135deg,#dceaffe0,#eee6ffb8);box-shadow:0 8px 20px #2963b41a,inset 0 1px #ffffffdb,inset 0 0 0 1px #2f70cf14}.pmo-identity{border-top-color:#7f97bb2e}.pmo-mark,.operator-icon{border:1px solid rgba(255,255,255,.78);background:linear-gradient(145deg,#e0eaffeb,#ebe0ffd1);box-shadow:0 7px 18px #444c961f,inset 0 1px #ffffffdb}.topbar{border-bottom:1px solid rgba(255,255,255,.7);background:linear-gradient(105deg,#ffffffbd,#f6f9ff8c);box-shadow:0 9px 28px #2b487014,inset 0 -1px #758eb41f,inset 0 1px #ffffffd1;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.search-box,.inline-select,.directory-search,.directory-select,.field>input,.field>select,.field>textarea{border-color:#7d94b752;background:#ffffff94;box-shadow:inset 0 1px #fffc,0 4px 12px #3957840a;-webkit-backdrop-filter:blur(15px) saturate(145%);backdrop-filter:blur(15px) saturate(145%)}.search-box:hover,.field>input:hover,.field>select:hover,.field>textarea:hover{background:#ffffffc2}.surface,.metric-item,.stage-timeline-panel,.supervision-summary,.task-ledger-page,.projects-page,.gantt-page,.contacts-page,.standard-templates-panel{border:1px solid var(--glass-stroke);background:linear-gradient(145deg,#ffffffbf,#f5f9ff8f);box-shadow:var(--glass-shadow-soft);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.metric-item{overflow:hidden}.metric-item:hover{border-color:#ffffffeb;background:linear-gradient(145deg,#ffffffdb,#f4f9ffab);box-shadow:var(--glass-shadow)}.section-heading,.page-toolbar,.filter-row,.surface-footer,.contact-directory-filters,.gantt-toolbar,.contact-filter-row{background:#ffffff2e}.project-table th,.task-table th,.contact-table th,.hierarchy-table th{background:#f1f6fdd1;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.project-table tbody tr:hover,.task-table tbody tr:hover,.contact-table tbody tr:hover,.hierarchy-table tbody tr:hover{background:#dae9ff6b}.button-default,.icon-button,.project-task-link,.contact-footer button{border-color:#7a95bc57;background:#ffffff94;box-shadow:inset 0 1px #ffffffd9,0 5px 14px #2d4d7b0f;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%)}.button-primary{background:linear-gradient(135deg,#1769e0,#6257dc);box-shadow:0 10px 24px #375bd340,inset 0 1px #ffffff42}.button-primary:hover{background:linear-gradient(135deg,#0f5fd6,#5649cf);box-shadow:0 13px 28px #375bd34d,inset 0 1px #ffffff4d}.segmented{border-color:#7d94b740;background:#e2ecf97a;box-shadow:inset 0 1px 3px #5066890f,inset 0 1px #ffffff9e}.segmented button.is-active{background:#ffffffd1;box-shadow:0 5px 14px #3454841f,inset 0 1px #ffffffeb}.modal-backdrop,.drawer-overlay{background:#26334b47;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%)}.modal,.project-drawer{border:1px solid rgba(255,255,255,.82);background:linear-gradient(145deg,#ffffffe0,#eff6ffb8);box-shadow:0 30px 90px #1b2e4d40,0 7px 24px #1b2e4d1f,inset 0 1px #fffffff5;-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong)}.modal-header,.modal-footer,.drawer-header,.drawer-actions{border-color:#7d94b733;background:#ffffff4d}.project-drawer .drawer-summary,.project-drawer .drawer-section,.selected-member-list,.selected-member-row,.task-owner-option,.user-profile-grid>div{border-color:#8197b93d;background:#ffffff8c;box-shadow:inset 0 1px #ffffffb8}.gantt-corner,.gantt-months,.gantt-label,.gantt-track,.gantt-tracks{background-color:#ffffff6b}.import-guide>div,.import-field-reference,.import-dropzone,.import-template-note{border:1px solid rgba(129,151,185,.24);background:#ffffff80;box-shadow:inset 0 1px #ffffffc7}.import-guide>div:nth-of-type(1){background:#e0edff94}.import-guide>div:nth-of-type(2){background:#ede5ff94}.import-guide>div:nth-of-type(3){background:#ffeddb94}.import-field-reference header{background:#f5f9ff85}.import-template-note{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;border-color:#4877c542;border-radius:12px;color:var(--md-primary);margin-top:12px;padding:11px 13px}.import-template-note>svg{display:grid;width:32px;height:32px;border-radius:50%;background:#dbe9ffb8;padding:7px}.import-template-note>span{display:grid;gap:3px}.import-template-note strong{color:#244c88;font-size:11px}.import-template-note small{color:var(--md-on-surface-variant);font-size:9px;line-height:1.55}.toast{border:1px solid rgba(70,118,184,.42);border-left:4px solid var(--md-primary);background:#e8f2fff5;box-shadow:0 12px 30px #1b3b6933,0 2px 8px #1b3b691a;color:#123b6a;font-weight:720;text-shadow:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.sidebar,.topbar,.surface,.metric-item,.stage-timeline-panel,.task-ledger-page,.projects-page,.gantt-page,.contacts-page,.modal,.project-drawer,.toast{background:#f9fbfff5}}@media(max-width:760px){body:before,body:after{width:70vw;height:70vw;opacity:.34}.sidebar{background:#f9fbffe6}.topbar{background:#f9fbffd1}.modal{background:#f9fbfff0}.import-template-note{align-items:start}}.project-report-preview-modal{width:min(1180px,calc(100vw - 44px));height:min(900px,calc(100vh - 36px));max-width:none;display:flex;flex-direction:column;overflow:hidden}.project-report-preview-modal .modal-header{flex:0 0 auto}.project-report-preview-modal .modal-body{min-height:0;flex:1;display:flex;overflow:hidden;padding:14px 18px}.project-report-preview-modal .modal-footer{flex:0 0 auto}.project-report-preview-ready{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;gap:10px}.project-report-preview-summary{display:flex;min-height:30px;flex:0 0 auto;align-items:center;gap:14px;color:var(--md-on-surface-variant);font-size:10px}.project-report-preview-summary span{display:inline-flex;align-items:center;gap:5px}.project-report-preview-summary span:first-child{color:var(--md-primary);font-weight:750}.project-report-preview-pages{min-height:0;flex:1;display:grid;justify-items:center;gap:16px;overflow:auto;border:1px solid rgba(113,137,173,.28);border-radius:12px;background:#e8edf4;box-shadow:inset 0 1px 3px #182a4517;padding:18px}.project-report-preview-pages figure{width:min(100%,1040px);margin:0}.project-report-preview-pages figcaption{color:#62718a;font-size:9px;font-weight:700;margin:0 0 6px;text-align:center}.project-report-preview-pages img{display:block;width:100%;height:auto;border-radius:4px;background:#fff;box-shadow:0 5px 18px #1f314f29}.project-report-preview-state{min-height:420px;flex:1;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--md-on-surface-variant);text-align:center}.project-report-preview-state strong{color:var(--md-on-surface);font-size:14px}.project-report-preview-state span{max-width:430px;font-size:10px;line-height:1.7}.project-report-preview-state svg{color:var(--md-primary)}.project-report-preview-state.is-error svg,.project-report-preview-state.is-error span{color:var(--md-error)}.project-report-preview-state .is-spinning{animation:activity-log-spin 1s linear infinite}@media(max-width:760px){.project-report-preview-modal{width:calc(100vw - 18px);height:calc(100vh - 18px)}.project-report-preview-modal .modal-body{padding:10px}.project-report-preview-summary{flex-wrap:wrap;gap:5px 12px}.project-report-preview-pages{padding:8px}}.demo-launcher{display:flex;width:100%;min-height:52px;align-items:center;gap:10px;border:1px solid rgba(88,103,227,.2);border-radius:14px;background:linear-gradient(135deg,#e0eeffc7,#efe6ffb8);box-shadow:0 8px 22px #2a4d8717,inset 0 1px #ffffffe0;color:#31538f;cursor:pointer;padding:8px 10px;text-align:left;transition:transform .18s var(--md-motion-standard),border-color .18s var(--md-motion-standard),box-shadow .18s var(--md-motion-standard)}.demo-launcher:hover{border-color:#405bdb6b;box-shadow:0 11px 27px #2a4d8724,inset 0 1px #ffffffeb;transform:translateY(-1px)}.demo-launcher>span:first-child{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:10px;background:linear-gradient(145deg,#2f7de9,#7457e7);box-shadow:0 5px 12px #3c54cd40;color:#fff}.demo-launcher>span:last-child{display:grid;min-width:0;gap:2px}.demo-launcher strong{color:#234b85;font-size:11px;font-weight:760}.demo-launcher small{overflow:hidden;color:#6e7890;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.demo-project-label{display:inline-flex;align-items:center;border:1px solid rgba(105,77,222,.2);border-radius:999px;background:#ebe4ffb8;color:#6744c7;font-size:8px;font-weight:760;margin-left:5px;padding:2px 6px;vertical-align:1px}.project-table tr.is-demo-project td:first-child{box-shadow:inset 3px 0 #674bd9b8}.demo-welcome-modal{width:min(620px,100%)}.demo-welcome-modal .modal-body{display:grid;gap:18px}.demo-welcome-hero{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;border:1px solid rgba(94,116,189,.22);border-radius:18px;background:linear-gradient(135deg,#deeeffb8,#eee5ffad);box-shadow:inset 0 1px #ffffffdb;padding:16px}.demo-welcome-hero>span{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:linear-gradient(145deg,#277ae5,#7453e1);box-shadow:0 10px 22px #4154cd3d;color:#fff}.demo-welcome-hero div{display:grid;gap:5px}.demo-welcome-hero strong{color:#173a70;font-size:14px}.demo-welcome-hero p{color:#5f6e84;font-size:11px;line-height:1.7;margin:0}.demo-welcome-flow{display:flex;align-items:center;justify-content:center;gap:8px}.demo-welcome-flow span{border:1px solid rgba(107,128,162,.22);border-radius:999px;background:#ffffff9e;color:#40536e;font-size:10px;font-weight:680;padding:6px 10px}.demo-welcome-flow i{width:18px;height:1px;background:#49669761}.demo-welcome-note{border-left:3px solid #4d79d8;color:var(--md-on-surface-variant);font-size:10px;line-height:1.7;margin:0;padding:2px 0 2px 11px}.guided-tour-layer{position:fixed;z-index:320;inset:0;pointer-events:none}.guided-tour-guard{position:absolute;z-index:0;inset:0;pointer-events:auto}.guided-tour-shade{position:absolute;z-index:1;background:#121e3438;inset:0;opacity:1;pointer-events:none;transition:opacity .15s var(--md-motion-standard)}.guided-tour-ring{position:fixed;z-index:1;border:2px solid rgba(218,167,70,.96);border-radius:14px;background:#f4dda514;box-sizing:border-box;opacity:1;pointer-events:none;transition:opacity .15s var(--md-motion-standard)}.guided-tour-card{position:fixed;z-index:2;display:grid;width:min(336px,calc(100vw - 32px));gap:13px;border:1px solid rgba(255,255,255,.84);border-radius:18px;background:linear-gradient(145deg,#fffffff5,#ebf3ffeb);box-shadow:0 24px 65px #0a1c3b52,0 5px 18px #0a1c3b29,inset 0 1px #fffffff5;color:var(--md-on-surface);padding:15px;pointer-events:auto;-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%);opacity:1;animation:guided-card-in .18s var(--md-motion-standard);transition:opacity .15s var(--md-motion-standard)}@keyframes guided-card-in{0%{opacity:0}to{opacity:1}}.guided-tour-layer.is-transitioning .guided-tour-shade,.guided-tour-layer.is-transitioning .guided-tour-ring,.guided-tour-card.is-settling{opacity:0}.guided-tour-card>header{display:flex;align-items:center;justify-content:space-between}.guided-tour-step{border-radius:999px;background:#dbe8ffd1;color:#295ea8;font-size:9px;font-weight:800;letter-spacing:.08em;padding:5px 8px}.guided-tour-card>header button{display:grid;width:29px;height:29px;place-items:center;border:0;border-radius:50%;background:transparent;color:#66758b;cursor:pointer}.guided-tour-card>header button:hover{background:#d6e0efa8;color:#233b5d}.guided-tour-card>header button:disabled{cursor:default;opacity:.45}.guided-tour-copy{display:grid;gap:7px}.guided-tour-copy>strong{color:#17375f;font-size:15px;font-weight:760;letter-spacing:-.01em}.guided-tour-copy>p{color:#56667d;font-size:11px;line-height:1.72;margin:0}.guided-tour-copy>small{border-left:2px solid #8a65e7;color:#6b6381;font-size:9px;line-height:1.55;padding-left:8px}.guided-tour-waiting{color:#718096;font-size:9px}.guided-tour-inspection-note{border-left:3px solid #6f55df;border-radius:8px;background:#eee9ffc7;color:#584f75;font-size:10px;line-height:1.6;padding:8px 10px}.guided-tour-card>footer{display:flex;align-items:center;gap:7px;border-top:1px solid rgba(119,141,175,.18);padding-top:12px}.guided-tour-spacer{flex:1}.guided-tour-card>footer button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;border:0;border-radius:9px;cursor:pointer;font-size:10px;font-weight:700;padding:0 10px}.guided-tour-card>footer button:disabled{cursor:default;opacity:.72;transform:none}.guided-tour-exit{background:transparent;color:#6e798a}.guided-tour-exit:hover{background:#dce3eea8}.guided-tour-back{background:#e2e9f4c2;color:#40526c}.guided-tour-next{position:relative;overflow:visible;border:1px solid rgba(226,180,87,.9)!important;background:linear-gradient(135deg,#216fdb,#6c51df);box-shadow:0 0 0 3px #daa74633,0 7px 16px #3453ca3d;color:#fff}.guided-tour-button-pointer{position:absolute;right:-7px;bottom:-8px;color:#d8a746;fill:#fff8e7;pointer-events:none}.guided-tour-next.is-ready{box-shadow:0 0 0 4px #daa74642,0 8px 18px #3453ca4d}.guided-tour-next:hover{box-shadow:0 9px 20px #3453ca52;transform:translateY(-1px)}@media(max-width:760px){.demo-launcher{min-height:46px}.demo-welcome-flow{align-items:stretch;flex-direction:column}.demo-welcome-flow i{width:1px;height:8px;margin-left:22px}.guided-tour-card{gap:10px;padding:13px}.guided-tour-copy>strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.guided-tour-card{animation:none;transition:none}.guided-tour-shade,.guided-tour-ring{transition:none}}.app-shell{transition:grid-template-columns .24s var(--md-motion-standard)}.app-shell.is-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{transition:width .24s var(--md-motion-standard),padding .24s var(--md-motion-standard)}.brand-logo-compact{display:none;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(50,76,177,.14))}.sidebar-collapse-button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid rgba(123,148,185,.26);border-radius:10px;background:#ffffff8a;box-shadow:inset 0 1px #ffffffd6;color:#4f6685;cursor:pointer;transition:background-color .16s var(--md-motion-standard),color .16s var(--md-motion-standard),transform .16s var(--md-motion-standard)}.sidebar-collapse-button:hover{background:#e2edffc7;color:var(--md-primary);transform:translateY(-1px)}.sidebar.is-collapsed{gap:12px;padding-right:10px;padding-left:10px}.sidebar.is-collapsed .brand{align-items:center;padding:3px 0 8px}.sidebar.is-collapsed .brand-logo,.sidebar.is-collapsed .brand-product,.sidebar.is-collapsed .nav-item>span,.sidebar.is-collapsed .demo-launcher>span:last-child,.sidebar.is-collapsed .identity-copy,.sidebar.is-collapsed .logout-button{display:none}.sidebar.is-collapsed .brand-logo-compact{display:block}.sidebar.is-collapsed .nav-item{min-height:46px;justify-content:center;padding:0}.sidebar.is-collapsed .nav-item:hover{transform:translateY(-1px)}.sidebar.is-collapsed .demo-launcher{min-height:46px;justify-content:center;padding:6px}.sidebar.is-collapsed .pmo-identity{justify-content:center;padding-right:0;padding-left:0}.project-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.project-progress-panel .project-table.is-compact-home{min-width:640px}.project-progress-panel .project-table.is-compact-home th:last-child,.project-progress-panel .project-table.is-compact-home td:last-child{display:table-cell;width:214px}.project-table.is-compact-home th:first-child{width:32%}.project-task-link.is-dashboard{border-color:#644ed63d;background:#efe9ffa8;color:#6148c2}.project-task-link.is-dashboard:hover{border-color:#644ed66b;background:#e9e1ffe0}.task-ledger-page{height:calc(100vh - 120px);min-height:540px}@media(min-width:921px){.app-shell.is-view-tasks .topbar{position:relative;min-height:0;height:0;overflow:visible;border:0;background:transparent;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell.is-view-tasks .topbar .page-heading h1{display:none}.app-shell.is-view-tasks .topbar .page-heading{position:absolute;z-index:4;top:18px;left:28px;pointer-events:none}.app-shell.is-view-tasks .topbar .sidebar-collapse-button{pointer-events:auto}.app-shell.is-view-tasks .page-content{padding:8px 18px 10px}.app-shell.is-view-tasks .task-ledger-page{height:calc(100vh - 18px);min-height:580px}.app-shell.is-view-tasks .hierarchy-toolbar{min-height:54px;gap:12px;padding:8px 14px 8px 68px}.app-shell.is-view-tasks .hierarchy-toolbar>div:first-child{flex:0 0 auto}.app-shell.is-view-tasks .hierarchy-toolbar h2{font-size:15px;white-space:nowrap}.app-shell.is-view-tasks .hierarchy-toolbar p{display:none}.app-shell.is-view-tasks .toolbar-actions{gap:6px}.app-shell.is-view-tasks .hierarchy-toolbar .button{height:34px;font-size:10px;padding:0 10px}.app-shell.is-view-tasks .task-filter-row{min-height:50px;gap:12px;padding:7px 14px}.app-shell.is-view-tasks .task-filter-row .segmented button{min-width:90px;height:32px;font-size:10px}}@media(min-width:1180px){.app-shell.is-view-tasks .hierarchy-toolbar .toolbar-actions{flex-wrap:nowrap}}.hierarchy-table-wrap{position:relative}.hierarchy-table thead th{position:sticky;z-index:12;top:0;height:42px;box-shadow:0 1px #7b91b238}.hierarchy-stage-row>td{position:sticky;z-index:9;top:42px;background:#f2f8fff5;box-shadow:0 1px #7f97bb38,0 7px 18px #3550760f;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}.hierarchy-stage-row.is-secondary-stage>td{background:#f7fafff7}.traffic-light-table-heading{display:inline;padding:0}.projects-page:has(.project-dashboard){overflow:visible}.projects-page.is-dashboard-mode{overflow:visible;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.projects-page.is-dashboard-mode>.page-toolbar{min-height:58px;border:0;background:transparent;padding:0 0 12px}.projects-page.is-dashboard-mode>.project-dashboard{padding:0}.project-dashboard{gap:16px;padding:18px}.dashboard-project-switcher{display:grid;gap:12px;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:linear-gradient(145deg,#ffffffb8,#eef5ff80);box-shadow:0 14px 34px #2c497414,inset 0 1px #ffffffeb;padding:14px;-webkit-backdrop-filter:blur(26px) saturate(155%);backdrop-filter:blur(26px) saturate(155%);transition:gap .3s var(--md-motion-standard),padding .3s var(--md-motion-standard),box-shadow .3s var(--md-motion-standard)}.dashboard-project-switcher.is-collapsed{gap:0;padding-block:11px;box-shadow:0 9px 24px #2c497412,inset 0 1px #ffffffeb}.dashboard-project-collapse-body{display:grid;min-height:0;grid-template-rows:1fr;opacity:1;transform:translateY(0);transition:grid-template-rows .3s var(--md-motion-standard),opacity .22s var(--md-motion-standard),transform .3s var(--md-motion-standard)}.dashboard-project-collapse-body>.dashboard-recent-projects{min-height:0;overflow:hidden}.dashboard-project-switcher.is-collapsed .dashboard-project-collapse-body{grid-template-rows:0fr;opacity:0;pointer-events:none;transform:translateY(-4px)}.dashboard-project-switcher>header,.project-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-project-heading{display:flex;min-width:0;align-items:center;gap:11px}.dashboard-project-heading>div{min-width:0}.dashboard-project-switcher h3,.project-dashboard-header h3{margin:0 0 4px;color:#172f52;font-size:16px;font-weight:730;letter-spacing:-.02em}.dashboard-project-switcher p,.project-dashboard-header p{margin:0;color:#65748b;font-size:10px;line-height:1.45}.dashboard-project-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-project-actions>button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(108,132,170,.28);border-radius:999px;background:#ffffffad;color:#2f61a1;cursor:pointer;font-size:10px;font-weight:700;padding:0 14px}.dashboard-project-actions>button:first-child{border-color:#4a69b93d;background:#e7efffc7;color:#285fa7}.dashboard-project-actions>.dashboard-project-ledger{border-color:transparent;background:linear-gradient(135deg,#2672d9,#6954dc);box-shadow:0 8px 18px #3253bf33;color:#fff}.dashboard-project-actions>.dashboard-project-ledger:hover{border-color:transparent;background:linear-gradient(135deg,#1f65c3,#5c46cd);box-shadow:0 10px 22px #3253bf40}.dashboard-project-toggle{display:inline-flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;border-color:#65708e33;border-style:solid;border-width:1px;border-radius:999px;background:#f6f8fcb8;color:#5d6b80;cursor:pointer;font-size:10px;font-weight:700;padding:0 14px}.dashboard-project-toggle:hover{border-color:#4670bf66;background:#ffffffeb;color:#2f61a1}.dashboard-project-actions>button:hover{border-color:#4670bf66;background:#ffffffeb}.dashboard-recent-projects{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.dashboard-recent-projects>button{display:grid;min-width:0;min-height:84px;gap:12px;border:1px solid rgba(132,154,188,.2);border-radius:16px;background:#ffffff8f;box-shadow:inset 0 1px #ffffffe0,0 7px 18px #324c730d;color:inherit;cursor:pointer;padding:12px;text-align:left;transition:border-color .17s var(--md-motion-standard),background-color .17s var(--md-motion-standard),box-shadow .17s var(--md-motion-standard),transform .17s var(--md-motion-standard)}.dashboard-recent-projects>button:hover{border-color:#4c74c357;background:#ffffffc7;box-shadow:0 11px 23px #324c7317,inset 0 1px #fff;transform:translateY(-2px)}.dashboard-recent-projects>button.is-selected{border-color:#3669d66b;background:linear-gradient(145deg,#e2efffeb,#efe8ffc7);box-shadow:0 11px 25px #3553a71f,inset 0 1px #fff}.dashboard-recent-projects>button>span{display:grid;min-width:0;gap:4px}.dashboard-recent-projects strong{overflow:hidden;color:#213c63;font-size:11px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.dashboard-recent-projects small{overflow:hidden;color:#77859a;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.dashboard-recent-projects>button>span:last-child{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px}.dashboard-recent-projects b{color:#3269ad;font-size:10px}.dashboard-recent-projects .dashboard-more-projects{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;background:#ebf1fa85}.dashboard-more-projects>svg{color:#627898}.project-dashboard-header{border:1px solid rgba(255,255,255,.74);border-radius:18px;background:linear-gradient(120deg,#e2efffb8,#efe8ff99);box-shadow:inset 0 1px #ffffffe6;padding:15px 17px;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.dashboard-project-report-card{display:grid;gap:14px;border:1px solid rgba(255,255,255,.84);border-radius:24px;background:linear-gradient(145deg,#ffffffb8,#ebf3ff7a);box-shadow:0 20px 48px #263f651c,inset 0 1px #fffffff5;padding:14px;-webkit-backdrop-filter:blur(28px) saturate(155%);backdrop-filter:blur(28px) saturate(155%)}.dashboard-project-report-card>.project-dashboard-header{background:linear-gradient(120deg,#deedffc7,#eee6ffa8);box-shadow:inset 0 1px #fffffff0}.dashboard-project-report-card .project-dashboard-panel{box-shadow:0 8px 22px #2d486f0e,inset 0 1px #ffffffeb}.dashboard-status-summary{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:stretch;gap:14px}.dashboard-traffic-summary{overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:#ffffff7a;box-shadow:0 8px 22px #2d486f0d,inset 0 1px #ffffffeb}.dashboard-traffic-summary>header{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(125,148,183,.14);padding:10px 14px}.dashboard-traffic-summary h4{margin:0 0 3px;color:#213e67;font-size:13px}.dashboard-traffic-summary p{margin:0;color:#748197;font-size:9px}.dashboard-traffic-summary>header>button{min-height:29px;border:1px solid rgba(95,124,169,.22);border-radius:999px;background:#ebf1fab3;color:#526984;cursor:pointer;font-size:9px;font-weight:700;padding:0 11px;white-space:nowrap}.dashboard-traffic-summary>header>button.is-active{background:#e1edffeb;color:#275fa8}.dashboard-traffic-cards{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px;padding:12px}.dashboard-traffic-card{display:grid;min-height:112px;place-items:center;align-content:center;gap:4px;border:1px solid rgba(255,255,255,.8);border-radius:17px;background:#fff9;box-shadow:0 7px 18px #2d486f0b,inset 0 1px #fffffff0;color:inherit;cursor:pointer;padding:12px;text-align:center;transition:border-color .17s var(--md-motion-standard),box-shadow .17s var(--md-motion-standard),transform .17s var(--md-motion-standard)}.dashboard-traffic-card:hover,.dashboard-traffic-card.is-selected{border-color:#4569ca4d;box-shadow:0 11px 24px #304a9617,inset 0 1px #fff;transform:translateY(-2px)}.dashboard-traffic-card .dashboard-metric-symbol{width:38px;height:38px;border-radius:50%}.dashboard-traffic-card strong{color:#17345d;font-size:22px;line-height:1}.dashboard-traffic-card>span:not(.dashboard-metric-symbol){color:#2f4767;font-size:10px;font-weight:740}.dashboard-traffic-card small{color:#7a8799;font-size:8px;line-height:1.35}.dashboard-outcome-summary{display:grid;grid-template-columns:repeat(2,104px);place-content:center;gap:12px;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:#fff6;box-shadow:0 8px 22px #2d486f0d,inset 0 1px #ffffffeb;padding:12px 10px}.dashboard-outcome-card{display:grid;width:104px;height:104px;place-items:center;align-content:center;gap:3px;border:1px solid rgba(255,255,255,.86);border-radius:50%;background:#ffffffb8;box-shadow:0 9px 23px #304a7014,inset 0 1px #fffffff5;cursor:pointer;transition:border-color .17s var(--md-motion-standard),box-shadow .17s var(--md-motion-standard),transform .17s var(--md-motion-standard)}.dashboard-outcome-card:hover,.dashboard-outcome-card.is-selected{transform:translateY(-2px)}.dashboard-outcome-card.is-done{color:#2266b3}.dashboard-outcome-card.is-done.is-selected{border-color:#2266b361;box-shadow:0 12px 28px #2266b326,inset 0 1px #fff}.dashboard-outcome-card.is-suspended{color:#677386}.dashboard-outcome-card.is-suspended.is-selected{border-color:#67738661;box-shadow:0 12px 28px #4f5d7224,inset 0 1px #fff}.dashboard-outcome-card strong{color:currentColor;font-size:23px;line-height:1}.dashboard-outcome-card span{font-size:9px;font-weight:720}.project-dashboard-header>span{display:grid;color:#245fa9;font-size:24px;font-weight:760;line-height:1;text-align:right}.project-dashboard-header>span small{color:#718096;font-size:8px;font-weight:600;margin-top:5px}.project-dashboard-metrics{grid-template-columns:repeat(5,minmax(130px,1fr))}.project-dashboard-metrics>button{display:flex;min-height:76px;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:#fff9;box-shadow:0 9px 24px #304a700f,inset 0 1px #fffffff0;color:inherit;cursor:pointer;padding:12px 13px;text-align:left;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);transition:border-color .17s var(--md-motion-standard),box-shadow .17s var(--md-motion-standard),transform .17s var(--md-motion-standard)}.project-dashboard-metrics>button:hover,.project-dashboard-metrics>button.is-selected{border-color:#4569ca52;box-shadow:0 13px 28px #304a961c,inset 0 1px #fff;transform:translateY(-2px)}.project-dashboard-metrics>button>span:last-child{display:grid;gap:4px}.project-dashboard-panel{border-color:#ffffffc2;border-radius:20px;background:#ffffff94;box-shadow:0 14px 34px #2d486f12,inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.project-dashboard-panel>header{min-height:62px;border-bottom-color:#7d94b729;background:#ffffff40;padding:12px 16px}.project-dashboard-panel h4{color:#213e67;font-size:14px;font-weight:730;letter-spacing:-.01em}.project-dashboard-panel header p{color:#748197;font-size:10px}.project-dashboard-table{min-width:900px;border-collapse:separate;border-spacing:0}.project-dashboard-table th,.project-dashboard-table td{height:52px;border-right:0;border-bottom:1px solid rgba(132,153,183,.14);padding:9px 12px}.project-dashboard-table th{background:#e9f0fab8;color:#65748a;font-size:10px;font-weight:720;letter-spacing:.02em;text-align:left}.project-dashboard-table th:first-child{width:300px}.project-dashboard-table td{color:#344862;font-size:10px;text-align:left}.project-dashboard-table tbody tr{transition:background-color .15s var(--md-motion-standard)}.project-dashboard-table tbody tr:hover{background:#e0edff57}.dashboard-stage-name{display:flex;min-width:0;align-items:center;gap:10px}.dashboard-stage-name>i,.dashboard-stage-detail-heading>i{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:9px;background:#deebffd1;color:#2b68b0;font-size:9px;font-style:normal;font-weight:760}.dashboard-stage-name>span{display:grid;min-width:0;gap:3px}.dashboard-stage-name strong{overflow:hidden;color:#243c5d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-stage-name small,.dashboard-owner-department{display:block;color:#8591a3;font-size:9px;margin-top:3px}.dashboard-progress-cell{min-width:110px;grid-template-columns:34px minmax(60px,1fr)}.dashboard-count-button{display:grid;min-width:30px;height:27px;place-items:center;border:0;border-radius:9px;cursor:pointer;font-size:9px;font-weight:760;margin:0 auto}.dashboard-count-button.is-green{background:#d8f4e8c7;color:#177652}.dashboard-count-button.is-yellow{background:#ffefcdd1;color:#9d610b}.dashboard-count-button.is-red,.dashboard-count-button.is-overdue{background:#ffe0dcd1;color:#a62e28}.dashboard-stage-expand-button{display:grid;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;border:0;background:transparent;color:#58708f;cursor:pointer;padding:0;text-align:left}.dashboard-stage-expand-button:hover{color:#2868b5}.project-dashboard-table tbody tr.is-expanded{background:#e1eeff61}.dashboard-stage-expansion>td{height:auto;background:#f1f6fe75;padding:0 12px 12px}.dashboard-stage-expansion:hover{background:transparent!important}.dashboard-stage-expansion .dashboard-checkpoint-list{overflow:hidden;border:1px solid rgba(121,150,192,.18);border-radius:14px;background:#ffffff94;box-shadow:inset 0 1px #ffffffeb}.dashboard-stage-overview>header{align-items:center;gap:16px}.dashboard-stage-overview>header>div:first-child{min-width:230px}.dashboard-stage-overview .project-dashboard-table th:not(:first-child),.dashboard-stage-overview .project-dashboard-table td:not(:first-child){text-align:center}.dashboard-stage-overview .dashboard-light-badge,.dashboard-stage-overview .dashboard-progress-cell{margin:0 auto}.dashboard-stage-overview .project-dashboard-table th:nth-child(3),.dashboard-stage-overview .project-dashboard-table th:nth-child(4){width:92px}.dashboard-stage-overview .project-dashboard-table th:nth-child(5){width:180px}.dashboard-stage-stat{color:#304968;font-size:12px;font-weight:760}.dashboard-stage-stat.is-completed{color:#24745a}.project-dashboard-secondary-grid .project-dashboard-table.is-compact th:not(:first-child),.project-dashboard-secondary-grid .project-dashboard-table.is-compact td:not(:first-child){text-align:center}.dashboard-detail-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.dashboard-detail-filters button{min-height:29px;border:1px solid transparent;border-radius:999px;background:#e2eaf68f;color:#617188;cursor:pointer;font-size:9px;font-weight:690;padding:0 10px}.dashboard-detail-filters button.is-active{border-color:#4867c43d;background:#ffffffe0;box-shadow:0 5px 14px #36507b1a;color:#315fa5}.dashboard-stage-detail-list{display:grid;gap:8px;padding:12px}.dashboard-stage-detail-list>article{overflow:hidden;border:1px solid rgba(132,153,184,.16);border-radius:15px;background:#ffffff70}.dashboard-stage-detail-heading{display:grid;width:100%;min-height:52px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;border:0;background:transparent;color:#4e627e;cursor:pointer;padding:9px 12px;text-align:left}.dashboard-stage-detail-heading>span{display:grid;min-width:0;gap:3px}.dashboard-stage-detail-heading strong{color:#284261;font-size:11px}.dashboard-stage-detail-heading small{color:#8792a3;font-size:9px}.dashboard-checkpoint-list{display:grid;border-top:1px solid rgba(131,153,186,.14)}.dashboard-checkpoint-list>div{display:grid;min-height:58px;grid-template-columns:9px minmax(260px,1fr) minmax(140px,200px) auto auto;align-items:center;gap:11px;border-bottom:1px solid rgba(132,153,184,.12);padding:9px 14px}.dashboard-checkpoint-list>div:last-child{border-bottom:0}.dashboard-task-light{width:9px;height:9px;border-radius:50%}.dashboard-task-light.is-green{background:#29a475;box-shadow:0 0 0 4px #29a4751a}.dashboard-task-light.is-yellow{background:#efa82f;box-shadow:0 0 0 4px #efa82f1f}.dashboard-task-light.is-red{background:#d84a43;box-shadow:0 0 0 4px #d84a431c}.dashboard-task-light.is-unassigned{border:1.5px solid #aeb7c4;background:transparent}.dashboard-task-copy,.dashboard-task-owner{display:grid;min-width:0;gap:3px}.dashboard-task-copy strong,.dashboard-task-owner strong{overflow:hidden;color:#283f5f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-copy small,.dashboard-task-owner small{overflow:hidden;color:#8490a1;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-status{border-radius:999px;background:#e1e9f5b8;color:#67758a;font-size:9px;font-weight:700;padding:5px 8px;white-space:nowrap}.dashboard-task-status.is-done{background:#daeaffc7;color:#1f64b8}.dashboard-task-status.is-suspended{background:#e5e9efd1;color:#66717f}.dashboard-task-status.is-overdue{background:#ffe0dcd1;color:#a62e28}.dashboard-ledger-jump{display:inline-flex;min-height:29px;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(52,103,185,.24);border-radius:999px;background:#ecf4ffc7;color:#2d65ad;cursor:pointer;font-size:9px;font-weight:700;padding:0 9px;white-space:nowrap;transition:border-color .15s var(--md-motion-standard),background-color .15s var(--md-motion-standard),box-shadow .15s var(--md-motion-standard),transform .15s var(--md-motion-standard)}.dashboard-ledger-jump:hover{border-color:#2a66c675;background:#dfedfff5;box-shadow:0 4px 11px #2d65ad21;transform:translate(2px)}.dashboard-detail-empty,.dashboard-project-picker-empty{display:grid;min-height:130px;place-items:center;color:#8490a1;font-size:10px}.dashboard-project-picker{width:min(720px,100%);border-color:#ffffffd1;border-radius:22px;background:#f7faffdb;box-shadow:0 28px 80px #1c2d4b38,inset 0 1px #fff;-webkit-backdrop-filter:blur(30px) saturate(155%);backdrop-filter:blur(30px) saturate(155%)}.dashboard-project-search{display:flex;height:42px;align-items:center;gap:9px;border:1px solid rgba(120,145,181,.28);border-radius:13px;background:#ffffffb3;color:#718096;padding:0 12px}.dashboard-project-search input{width:100%;border:0;outline:0;background:transparent;color:#253b59;font:inherit}.dashboard-project-picker-list{display:grid;max-height:54vh;gap:7px;overflow:auto;padding-top:10px}.dashboard-project-picker-list>button{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(128,151,185,.18);border-radius:14px;background:#ffffff8a;color:inherit;cursor:pointer;padding:9px 12px;text-align:left}.dashboard-project-picker-list>button:hover,.dashboard-project-picker-list>button.is-selected{border-color:#4065c74d;background:#e7f0ffbd}.dashboard-project-picker-list>button>span{display:grid;gap:3px}.dashboard-project-picker-list>button>span:last-child{flex:0 0 auto;text-align:right}.dashboard-project-picker-list strong{color:#294464;font-size:10px}.dashboard-project-picker-list b{color:#2c66ad;font-size:11px}.dashboard-project-picker-list small{color:#7e8a9b;font-size:8px}@media(max-width:1280px){.dashboard-recent-projects{grid-template-columns:repeat(3,minmax(160px,1fr))}.project-dashboard-metrics{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:920px){.dashboard-status-summary{grid-template-columns:1fr}.app-shell.is-sidebar-collapsed{display:block}.sidebar.is-collapsed{width:240px;gap:16px;padding:16px 12px 14px}.sidebar.is-collapsed .brand{align-items:flex-start;padding:2px 10px 10px}.sidebar.is-collapsed .brand-logo,.sidebar.is-collapsed .brand-product{display:block}.sidebar.is-collapsed .nav-item>span{display:inline}.sidebar.is-collapsed .demo-launcher>span:last-child,.sidebar.is-collapsed .identity-copy{display:grid}.sidebar.is-collapsed .logout-button{display:grid}.sidebar.is-collapsed .nav-item,.sidebar.is-collapsed .demo-launcher,.sidebar.is-collapsed .pmo-identity{justify-content:flex-start}.sidebar.is-collapsed .nav-item{padding:0 14px}.sidebar.is-collapsed .demo-launcher{padding:8px 10px}.sidebar.is-collapsed .brand-logo-compact,.sidebar-collapse-button{display:none}.task-ledger-page{height:auto}}@media(max-width:720px){.dashboard-project-switcher>header,.project-dashboard-header,.dashboard-stage-overview>header{align-items:flex-start;flex-direction:column}.dashboard-project-report-card{border-radius:19px;padding:10px}.dashboard-project-actions{width:100%;justify-content:flex-start}.dashboard-project-actions>button{flex:1 1 0}.dashboard-recent-projects{grid-template-columns:1fr}.dashboard-traffic-summary>header{align-items:flex-start;flex-direction:column}.dashboard-traffic-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:9px}.dashboard-traffic-card{min-height:96px;padding:9px 5px}.dashboard-traffic-card small{display:none}.dashboard-outcome-summary{grid-template-columns:repeat(2,104px)}.dashboard-detail-filters{justify-content:flex-start}.dashboard-checkpoint-list>div{grid-template-columns:9px minmax(0,1fr) auto}.dashboard-task-owner{grid-column:2}.dashboard-task-status{grid-column:3;grid-row:1}.dashboard-ledger-jump{grid-column:2 / -1;justify-self:end}}.hierarchy-toggle.level-3{padding-left:54px;color:#49657e}.hierarchy-item-name.level-4{padding-left:84px}.hierarchy-stage-row.is-secondary-stage{background:#f5f9ffb8}.hierarchy-stage-row.is-secondary-stage:hover{background:#eaf3fcdb!important}.stage-template-list{overflow:visible}.stage-template-group{border-bottom:1px solid var(--md-outline-variant);background:#f1f6fd8f}.stage-template-group:last-child{border-bottom:0}.primary-stage-template-row{display:grid;min-height:58px;grid-template-columns:38px 42px minmax(200px,1fr) 82px 30px;align-items:center;gap:8px;border-bottom:0;padding:7px 10px}.stage-template-group.is-enabled .primary-stage-template-row{background:#ffffffc2}.stage-level-label{display:inline-flex;width:max-content;align-items:center;justify-content:center;border-radius:999px;background:#dce8ff;color:#174f9e;font-size:9px;font-weight:740;padding:4px 7px;white-space:nowrap}.stage-level-label.is-secondary{background:#eee8ff;color:#6544b7}.stage-duration-summary{color:var(--md-on-surface-variant);font-size:10px;text-align:center;white-space:nowrap}.stage-template-remove{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--md-on-surface-variant);cursor:pointer}.stage-template-remove:hover:not(:disabled){background:#fff0f0;color:var(--md-error)}.stage-template-remove:disabled{cursor:not-allowed;opacity:.28}.secondary-stage-template-list{display:grid;gap:6px;border-top:1px dashed rgba(129,148,178,.26);padding:8px 10px 10px 56px}.secondary-stage-template-row{display:grid;min-height:46px;grid-template-columns:48px 42px minmax(190px,1fr) 82px 30px;align-items:center;gap:8px;border:1px solid rgba(129,148,178,.2);border-radius:10px;background:#ffffffa8;padding:6px 8px}.secondary-stage-template-row>input{min-width:0;height:32px;border:1px solid var(--md-outline);border-radius:6px;background:#ffffffd6;padding:0 9px}.secondary-stage-index{color:#7c8798;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:700}.add-secondary-stage-button,.add-primary-stage-button{display:inline-flex;width:max-content;min-height:32px;align-items:center;justify-content:center;gap:5px;border:1px dashed #9ab6dc;border-radius:9px;background:#f2f7ffbd;color:var(--md-primary);cursor:pointer;font-size:9px;font-weight:700;padding:0 10px}.add-secondary-stage-button:hover,.add-primary-stage-button:hover{border-style:solid;background:var(--md-primary-container)}.add-primary-stage-button{min-height:36px;margin-top:9px}.project-stage-error{display:block;color:var(--md-error);font-size:9px;margin-top:7px}.drawer-stage-group{display:grid}.drawer-stage.is-secondary-stage{min-height:44px;margin-left:38px;border-left-style:dashed;padding-left:15px}.drawer-stage.is-secondary-stage>span:first-child{width:22px;height:22px;margin-left:-27px;background:#f6f2ff;color:#6544b7}.template-secondary-stage{display:grid;border-top:1px dashed #d8dfec;margin-top:3px}.template-secondary-stage h4{display:flex;min-height:32px;align-items:center;justify-content:space-between;color:#4f4182;font-size:10px;margin:0}.template-secondary-stage h4 small{color:var(--md-on-surface-variant);font-size:8px;font-weight:500}.template-secondary-stage p,.gantt-label.is-stage.is-primary-stage{padding-left:12px}.gantt-label.is-stage.is-secondary-stage{background:#f7f9ffc7;padding-left:34px}.gantt-label.is-checkpoint.depth-primary{padding-left:36px}.gantt-label.is-checkpoint.depth-secondary{padding-left:58px}.gantt-stage-rollup{flex:0 0 auto;border-radius:999px;background:#dfe7f2c7;color:#68778d;font-size:8px;padding:4px 7px}.gantt-track.is-stage.is-secondary-stage{background-color:#7048e806}.gantt-bar.is-stage.is-secondary-stage{top:17px;height:18px;background:#7364bd}.gantt-bar-label.is-stage.is-secondary-stage{top:16px;color:#52477f}.gantt-legend .legend-primary-stage{background:#3b8bc8}.gantt-legend .legend-secondary-stage{background:#7364bd}.stage-timeline-hierarchy{align-items:start;gap:12px;padding-bottom:12px}.stage-timeline-hierarchy .stage-line{right:calc(50% / var(--stage-count));left:calc(50% / var(--stage-count))}.stage-node-group{display:grid;min-width:190px;gap:10px}.stage-node-group>.stage-node{min-width:0}.stage-secondary-nodes{display:grid;gap:6px;border-top:1px dashed rgba(129,148,178,.3);padding-top:8px}.stage-secondary-node{display:grid;min-height:38px;grid-template-columns:34px minmax(90px,1fr) auto;align-items:center;gap:6px;border:1px solid rgba(129,148,178,.2);border-radius:9px;background:#ffffff8f;padding:6px 8px}.stage-secondary-node>span{color:#6544b7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:720}.stage-secondary-node strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.stage-secondary-node small{grid-column:2;color:var(--md-on-surface-variant);font-size:8px}.stage-secondary-node>b{grid-row:1 / span 2;grid-column:3;color:#5b4a93;font-size:9px}.stage-secondary-node.is-done{border-color:#16845b3d;background:#e6f6ed99}.stage-direct-note{color:var(--md-on-surface-variant);font-size:8px;text-align:center}@media(max-width:640px){.primary-stage-template-row{grid-template-columns:34px 40px minmax(0,1fr) 72px 28px;padding:7px}.secondary-stage-template-list{padding-left:20px}.secondary-stage-template-row{grid-template-columns:46px 40px minmax(0,1fr) 72px 28px}.hierarchy-item-name.level-4{padding-left:72px}}.activity-log-page{min-height:calc(100vh - 116px);overflow:hidden}.activity-log-toolbar{border-bottom:1px solid rgba(129,148,178,.2)}.activity-log-filters{min-height:66px;justify-content:flex-start;gap:12px;border-bottom:1px solid rgba(129,148,178,.18);padding:12px 22px}.activity-log-filters .inline-select{min-width:230px}.activity-log-count{margin-left:auto;color:var(--md-on-surface-variant);font-size:10px;font-weight:650}.activity-log-list{display:grid;align-content:start;max-height:calc(100vh - 258px);overflow:auto;padding:8px 22px 22px}.activity-log-item{display:grid;min-height:72px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid rgba(129,148,178,.16);padding:10px 4px}.activity-log-item:last-child{border-bottom:0}.activity-log-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#e9f2ff;color:#1d64b5}.activity-log-icon.is-task{background:#e8f7f0;color:#157553}.activity-log-icon.is-stage{background:#fff2df;color:#9b5b12}.activity-log-icon.is-message{background:#fff3e5;color:#9c5b19}.activity-log-icon.is-export{background:#e6f6ed;color:#14724e}.activity-log-icon.is-member{background:#f0ebff;color:#6747b5}.activity-log-copy{min-width:0}.activity-log-copy>div{display:flex;align-items:center;gap:8px}.activity-log-copy strong{overflow:hidden;color:var(--md-on-surface);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.activity-log-copy p{display:flex;align-items:center;gap:6px;color:var(--md-on-surface-variant);font-size:9px;margin:5px 0 0}.activity-log-copy p span{color:#a5afbd}.activity-log-item time{color:#748198;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;white-space:nowrap}.activity-log-state{display:grid;min-height:360px;place-content:center;justify-items:center;gap:8px;color:var(--md-on-surface-variant);font-size:10px;text-align:center}.activity-log-state strong{color:var(--md-on-surface);font-size:12px}.activity-log-state button{border:0;background:transparent;color:var(--md-primary);cursor:pointer;font-size:10px;font-weight:700}.activity-log-state.is-error{color:var(--md-error)}.activity-log-state .is-spinning{animation:activity-log-spin 1s linear infinite}@keyframes activity-log-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.activity-log-filters{align-items:stretch;flex-direction:column}.activity-log-filters .inline-select{min-width:0;width:100%}.activity-log-count{margin-left:0}.activity-log-list{max-height:none;padding:4px 14px 18px}.activity-log-item{grid-template-columns:34px minmax(0,1fr)}.activity-log-item time{grid-column:2;margin-top:-9px}.drawer-primary-actions{width:100%;border-right:0;border-bottom:1px solid rgba(125,148,183,.2);margin:0 0 3px;padding:0 0 9px}.drawer-primary-actions .button{flex:1 1 0}}.auth-page{display:grid;min-height:100vh;place-items:center;background:#f3f6fb;color:#12223a;font-family:Inter,SF Pro Display,Avenir Next,PingFang SC,Noto Sans SC,sans-serif;padding:32px 20px}.auth-card{width:min(470px,100%);border:1px solid #d9e0eb;border-radius:16px;background:#fff;box-shadow:0 18px 48px #223d6724,0 4px 14px #223d670f;padding:30px 44px 28px;animation:auth-card-enter .36s cubic-bezier(.2,0,0,1) both}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-brand-header{display:grid;justify-items:center;gap:14px;text-align:center}.auth-brand-header img{width:190px;height:auto}.auth-brand-header h1{color:#17345c;font-size:20px;font-weight:700;letter-spacing:.06em;margin:0 0 18px}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid #dbe2ed}.auth-tabs button{position:relative;height:44px;border:0;background:transparent;color:#707a8b;cursor:pointer;font-size:14px;font-weight:650}.auth-tabs button:after{position:absolute;right:14px;bottom:-1px;left:14px;height:3px;border-radius:2px 2px 0 0;background:#1769e0;content:"";opacity:0;transform:scaleX(.45);transition:opacity .18s ease,transform .18s ease}.auth-tabs button.is-active{color:#1769e0}.auth-tabs button.is-active:after{opacity:1;transform:scaleX(1)}.auth-heading{text-align:center}.auth-heading h2{font-size:25px;font-weight:700;letter-spacing:-.025em;margin:26px 0 6px}.auth-heading p{color:#687386;font-size:12px;margin:0 0 22px}.auth-card form{display:grid;gap:14px}.auth-field{display:grid;gap:6px}.auth-field>span{color:#2d3748;font-size:12px;font-weight:650}.auth-field>div{display:flex;height:46px;align-items:center;gap:10px;border:1px solid #8994a6;border-radius:8px;background:#fff;color:#647087;padding:0 13px;transition:border-color .16s ease,box-shadow .16s ease}.auth-field>div:focus-within{border:2px solid #1769e0;box-shadow:0 0 0 3px #1769e01a}.auth-field input{min-width:0;flex:1;border:0;background:transparent;color:#12223a;font-size:13px;outline:none}.auth-field button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:50%;background:transparent;color:#647087;cursor:pointer}.auth-field button:hover{background:#1769e014}.auth-field .auth-code-button{width:auto;min-width:84px;height:32px;border-radius:17px;background:#eaf2ff;color:#1769e0;font-size:11px;font-weight:700;padding:0 11px;white-space:nowrap}.auth-field .auth-code-button:hover{background:#d8e8ff}.auth-field .auth-code-button:disabled{cursor:default;opacity:.58}.auth-identity-preview{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #b9dccd;border-radius:10px;background:#f1faf6;padding:10px 12px}.auth-identity-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#d9f1e6;color:#176f50;font-weight:750}.auth-identity-preview>div{display:grid;min-width:0;gap:4px}.auth-identity-preview strong,.auth-identity-preview small{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-identity-preview strong{color:#183f32;font-size:12px}.auth-identity-preview small{color:#5d766d;font-size:9px}.auth-identity-preview em{border-radius:12px;background:#d9f1e6;color:#176f50;font-size:9px;font-style:normal;padding:4px 7px;white-space:nowrap}.auth-error{border-radius:7px;background:#fff0ee;color:#a62820;font-size:11px;padding:9px 11px}.auth-submit{height:48px;border:0;border-radius:8px;background:#1769e0;box-shadow:0 6px 16px #1769e03d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:3px;transition:background .16s ease,box-shadow .16s ease,transform .12s ease}.auth-submit:hover{background:#0d59ca;box-shadow:0 9px 22px #1769e047;transform:translateY(-1px)}.auth-submit:active{transform:scale(.985)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-switch{display:block;border:0;background:transparent;color:#1769e0;cursor:pointer;font-size:12px;font-weight:650;margin:16px auto 0}.auth-legacy-link{display:block;border:0;background:transparent;color:#818a9a;cursor:pointer;font-size:10px;margin:9px auto 0;padding:0}.auth-legacy-link:hover{color:#1769e0;text-decoration:underline}.auth-trust{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #e1e6ef;color:#687386;font-size:10px;margin-top:19px;padding-top:16px}.auth-trust svg{color:#21a66f}.auth-loading{display:grid;min-height:100vh;place-items:center;align-content:center;gap:14px;background:#f3f6fb;color:#516078}.auth-loading span{width:34px;height:34px;border:3px solid #d8e5f8;border-top-color:#1769e0;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:540px){.auth-page{padding:0}.auth-card{min-height:100vh;border:0;border-radius:0;box-shadow:none;padding:34px 24px}.auth-identity-preview{grid-template-columns:36px minmax(0,1fr)}.auth-identity-preview em{display:none}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-loading span{animation:none}}.auth-page,.auth-loading{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(64,151,255,.24),transparent 32%),radial-gradient(circle at 85% 12%,rgba(137,104,245,.2),transparent 30%),radial-gradient(circle at 74% 86%,rgba(54,198,213,.14),transparent 32%),linear-gradient(145deg,#eef5ff,#e9eef9 48%,#f2f0fb)}.auth-page:before,.auth-page:after{position:absolute;border-radius:50%;content:"";filter:blur(5px);pointer-events:none}.auth-page:before{top:-12vw;left:-8vw;width:38vw;height:38vw;background:radial-gradient(circle at 60% 60%,#539eff3d,#539eff00)}.auth-page:after{right:-7vw;bottom:-12vw;width:42vw;height:42vw;background:radial-gradient(circle at 45% 40%,#835eef33,#835eef00)}.auth-card{position:relative;z-index:1;border:1px solid rgba(255,255,255,.82);background:linear-gradient(145deg,#ffffffc7,#f6f9ff94);box-shadow:0 30px 90px #233b602e,0 7px 22px #233b6014,inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}.auth-field>div{border-color:#728aaf5c;background:#ffffff8f;box-shadow:inset 0 1px #ffffffd1,0 5px 14px #304c750d;-webkit-backdrop-filter:blur(14px) saturate(145%);backdrop-filter:blur(14px) saturate(145%)}.auth-submit{background:linear-gradient(135deg,#1769e0,#6257dc);box-shadow:0 12px 28px #375bd347,inset 0 1px #ffffff47}.auth-submit:hover{background:linear-gradient(135deg,#0f5fd6,#5649cf);box-shadow:0 15px 32px #375bd352,inset 0 1px #ffffff52}@media(max-width:540px){.auth-card{background:#f8fbffd6;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}}
