/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--navy:#07365d;--navy-2:#0a4f82;--blue:#0d78bd;--blue-soft:#eaf6fd;--green:#14977d;--green-soft:#eaf8f4;--orange:#ee982f;--orange-soft:#fff3e2;--red:#c85b50;--red-soft:#fff0ee;--ink:#17324a;--muted:#6d8291;--line:#dce7ed;--surface:#f4f7f9;--white:#fff;--shadow:0 10px 30px #0f3a5614}*{box-sizing:border-box}html,body{background:var(--surface);min-width:320px;min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{z-index:30;color:#fff;background:linear-gradient(#083a64 0%,#062f51 64%,#062943 100%);flex-direction:column;width:246px;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 24px #05253e1f}.brand-block{border-bottom:1px solid #ffffff1f;align-items:center;gap:11px;padding:0 8px 20px;display:flex}.brand-block img{object-fit:contain;background:#fff;border-radius:9px;width:46px;height:46px;padding:3px}.brand-block strong{letter-spacing:.12em;font-size:17px;display:block}.brand-block span{color:#a9c8db;letter-spacing:.18em;margin-top:4px;font-size:10px;display:block}.stage-chip{color:#cdeade;background:#159f831a;border:1px solid #76d2b840;border-radius:8px;align-items:center;gap:7px;margin:16px 7px 13px;padding:8px 10px;font-size:10px;display:flex}.stage-chip i{background:#3ed5aa;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3ed5aa1f}.main-nav{scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;flex-direction:column;gap:4px;min-height:0;padding-right:3px;display:flex;overflow-y:auto}.main-nav button{color:#c8d9e4;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;width:100%;padding:10px 11px;font-size:12px;transition:all .16s;display:grid}.main-nav button:hover{color:#fff;background:#ffffff12}.main-nav button.active{color:#fff;background:linear-gradient(90deg,#239bd747,#22b29229);box-shadow:inset 3px 0 #48c9a7}.nav-icon{color:#99cbe7;background:#ffffff0a;border:1px solid #ffffff24;border-radius:7px;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.main-nav button.active .nav-icon{color:#fff;background:#4cd1b124;border-color:#4cd1b173}.main-nav em{color:#8fb4c9;text-align:center;background:#ffffff17;border-radius:9px;min-width:21px;padding:2px 5px;font-size:9px;font-style:normal}.sidebar-note{color:#aec7d6;background:#ffffff0e;border-radius:9px;flex-direction:column;gap:6px;margin-top:auto;padding:14px 12px;font-size:9.5px;display:flex}.sidebar-note b{color:#fff;margin-bottom:2px;font-size:11px}.sidebar-note span:before{content:"·";color:#4bd1ac;margin-right:6px}.sidebar-footer{color:#7397ad;padding:15px 9px 0;font-size:8.5px;line-height:1.65}.workspace{min-height:100vh;margin-left:246px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:74px;padding:0 30px;display:flex}.menu-button{color:var(--navy);background:0 0;border:0;font-size:24px;display:none}.topbar-title span{color:var(--muted);font-size:9.5px;display:block}.topbar-title b{color:var(--navy);margin-top:4px;font-size:16px;font-weight:600;display:block}.topbar-actions{align-items:center;gap:9px;display:flex}.primary-button,.soft-button{border-radius:8px;min-height:36px;padding:8px 14px;font-size:11px;font-weight:600}.primary-button{border:1px solid var(--navy-2);background:linear-gradient(135deg,var(--navy-2),var(--blue));color:#fff;box-shadow:0 6px 14px #0a649d26}.primary-button:hover{filter:brightness(1.05)}.primary-button:disabled{opacity:.55;cursor:wait}.soft-button{border:1px solid var(--line);color:#4b687b;background:#fff}.soft-button:hover{background:#f8fbfc;border-color:#b9d2df}.user-chip{border-left:1px solid var(--line);align-items:center;gap:8px;margin-left:5px;padding-left:12px;display:flex}.user-chip>span{color:#fff;background:linear-gradient(135deg,var(--green),#35bba0);border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.user-chip b,.user-chip small{text-overflow:ellipsis;white-space:nowrap;max-width:130px;display:block;overflow:hidden}.user-chip b{font-size:10.5px}.user-chip small{color:var(--muted);margin-top:2px;font-size:8.5px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;padding:26px 30px 18px;display:flex}.page-head h1{color:var(--navy);letter-spacing:.03em;margin:0;font-size:28px;font-weight:650}.page-head p{color:var(--muted);margin:7px 0 0;font-size:11px}.trust-line{color:#628096;align-items:center;gap:8px;font-size:10px;display:flex}.trust-line span{color:var(--green);font-weight:700}.trust-line i{background:#b8ccd7;width:15px;height:1px}.dashboard,.manager-panel,.project-workspace,.rolebook{padding:0 30px 34px}.project-command-card{color:#fff;background:linear-gradient(115deg,#06375e 0%,#0b5485 68%,#0b6c83 100%);border:1px solid #164f75;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;gap:24px;margin-bottom:14px;padding:22px 24px;display:grid;box-shadow:0 12px 32px #04345729}.eyebrow{color:#70d5be;letter-spacing:.14em;font-size:8.5px;font-weight:700;display:block}.project-command-main h2{margin:6px 0 5px;font-size:17px}.project-command-main p{color:#c2d9e6;margin:0;font-size:9.5px}.command-progress{align-items:center;gap:10px;margin-top:15px;display:flex}.command-progress>i{background:#ffffff24;border-radius:7px;width:min(360px,70%);height:7px;display:block;overflow:hidden}.command-progress>i em{background:linear-gradient(90deg,#36d1aa,#85e1cb);border-radius:7px;height:100%;display:block}.command-progress>b{font-size:9px}.project-command-stats{grid-template-columns:repeat(3,90px);align-items:center;gap:8px;display:grid}.project-command-stats>div{background:#ffffff12;border:1px solid #ffffff1f;border-radius:9px;padding:11px}.project-command-stats b,.project-command-stats span{display:block}.project-command-stats b{font-size:19px}.project-command-stats span{color:#bed4e1;margin-top:3px;font-size:8px}.project-command-stats .alert b{color:#ffd08a}.project-command-stats button{color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:7px;grid-column:1/-1;padding:8px;font-size:9px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.metric-card{border:1px solid var(--line);min-height:124px;box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:19px;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--blue);width:4px;position:absolute;inset:0 auto 0 0}.metric-card.orange:before{background:var(--orange)}.metric-card.green:before{background:var(--green)}.metric-card.red:before{background:var(--red)}.metric-card div>span{color:var(--muted);font-size:10px;display:block}.metric-card div>b{color:var(--navy);margin:8px 0 3px;font-size:29px;font-weight:650;display:block}.metric-card div>small{color:#8a9ba6;font-size:9px;display:block}.metric-card>em{background:var(--blue-soft);width:46px;height:46px;color:var(--blue);border-radius:14px;place-items:center;font-size:17px;font-style:normal;font-weight:650;display:grid}.metric-card.orange>em{color:#b86b12;background:var(--orange-soft)}.metric-card.green>em{color:var(--green);background:var(--green-soft)}.metric-card.red>em{color:var(--red);background:var(--red-soft)}.metric-ring{--progress:0deg;background:conic-gradient(var(--blue) var(--progress),#e8f1f5 0);border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:relative}.metric-ring:after{content:"";background:#fff;border-radius:50%;width:42px;height:42px;position:absolute}.metric-ring i{z-index:1;color:var(--blue);font-size:9px;font-style:normal;font-weight:700;position:relative}.metric-ring.large{width:82px;height:82px}.metric-ring.large:after{width:64px;height:64px}.metric-ring.large i{font-size:13px}.dashboard-grid{grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px;display:grid}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;overflow:hidden}.panel-head{border-bottom:1px solid #e7eef2;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 19px 13px;display:flex}.panel-head h2{color:var(--navy);margin:0;font-size:15px;font-weight:650}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:9px}.panel-head button{color:var(--blue);background:0 0;border:0;font-size:9.5px}.focus-list{padding:3px 16px}.focus-row{border-bottom:1px solid #edf2f5;grid-template-columns:34px minmax(0,1fr) 42px auto;align-items:center;gap:9px;padding:11px 3px;display:grid}.focus-row>div{cursor:pointer;min-width:0}.focus-row b,.focus-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.focus-row b{font-size:10.5px;font-weight:600}.focus-row small{color:var(--muted);margin-top:4px;font-size:8.5px}.focus-row time{color:#6b8291;font-size:9px}.focus-row>button{color:var(--blue);background:#fff;border:1px solid #cfe2ec;border-radius:6px;padding:5px 7px;font-size:8.5px}.priority{color:#6c7f8c;background:#eef3f6;border-radius:6px;justify-content:center;align-items:center;min-width:29px;padding:4px 7px;font-size:8.5px;font-weight:700;display:inline-flex}.priority.p0{color:#a25e10;background:var(--orange-soft)}.priority.p1{color:var(--blue);background:var(--blue-soft)}.status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 7px;font-size:8px;display:inline-flex}.status.success{color:#08755f;background:var(--green-soft)}.status.warning{color:#a26114;background:var(--orange-soft)}.status.active{color:#086da9;background:var(--blue-soft)}.status.neutral{color:#697c89;background:#eef3f6}.inline-create{color:var(--blue);background:0 0;border:0;margin:10px 18px 15px;font-size:9.5px}.org-summary{grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 18px 10px;display:grid}.org-summary>div{text-align:center;background:#f6f9fb;border-radius:8px;padding:10px}.org-summary b{color:var(--navy);font-size:20px;display:block}.org-summary span{color:var(--muted);margin-top:3px;font-size:8.5px;display:block}.org-lines{flex-direction:column;gap:11px;padding:3px 18px 17px;display:flex}.org-lines>div>span{justify-content:space-between;gap:10px;margin-bottom:5px;display:flex}.org-lines b{font-size:9.5px}.org-lines small{color:var(--muted);font-size:8px}.org-lines>div>i,.pipeline article>i{background:#edf3f6;border-radius:5px;height:5px;display:block;overflow:hidden}.org-lines em,.pipeline em{background:linear-gradient(90deg,var(--blue),var(--green));border-radius:5px;height:100%;display:block}.pipeline{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 18px 19px;display:grid}.pipeline article{cursor:pointer;border:1px solid #e3ecf1;border-radius:9px;padding:13px;transition:all .16s}.pipeline article:hover{border-color:#b9d7e5;transform:translateY(-1px)}.pipeline span,.pipeline b,.pipeline small{display:block}.pipeline span{color:var(--green);font-size:8.5px}.pipeline b{margin:7px 0 4px;font-size:10.5px}.pipeline small{min-height:25px;color:var(--muted);font-size:8px;line-height:1.45}.pipeline i{margin-top:10px}.agenda-list{padding:4px 17px}.agenda-list article{cursor:pointer;border-bottom:1px solid #edf2f5;grid-template-columns:39px 1fr auto;align-items:center;gap:9px;padding:10px 2px;display:grid}.agenda-list time{height:32px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;font-size:8.5px;display:grid}.agenda-list b,.agenda-list small{display:block}.agenda-list b{font-size:9.5px}.agenda-list small{color:var(--muted);margin-top:3px;font-size:8px}.doc-strip{grid-template-columns:repeat(3,1fr);gap:8px;padding:13px 17px 17px;display:grid}.doc-strip button{text-align:left;background:#f9fbfc;border:1px solid #e2ebf0;border-radius:8px;align-items:center;gap:7px;min-width:0;padding:8px;display:flex}.doc-strip button>span{width:25px;height:28px;color:var(--green);background:var(--green-soft);border-radius:5px;place-items:center;font-size:9px;display:grid}.doc-strip button div{min-width:0}.doc-strip b,.doc-strip small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.doc-strip b{font-size:8.5px}.doc-strip small{color:var(--muted);margin-top:3px;font-size:7.5px}.module-overview{grid-template-columns:130px 130px 130px 1fr;gap:11px;margin-bottom:14px;display:grid}.module-overview>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:15px 17px}.module-overview span{color:var(--muted);font-size:9px;display:block}.module-overview b{color:var(--navy);margin-top:5px;font-size:23px;display:block}.module-overview .module-intro{background:linear-gradient(100deg,var(--navy),var(--navy-2));color:#fff;flex-direction:column;justify-content:center;display:flex}.module-overview .module-intro b{color:#fff;margin:0;font-size:14px}.module-overview .module-intro p{color:#bed5e4;margin:5px 0 0;font-size:9px}.table-toolbar{border:1px solid var(--line);background:#fff;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:12px;display:flex}.search-box{border:1px solid var(--line);background:#f9fbfc;border-radius:7px;flex:1;align-items:center;gap:7px;min-width:180px;padding:0 10px;display:flex}.search-box span{color:#7f95a3}.search-box input{width:100%;height:34px;color:var(--ink);background:0 0;border:0;outline:0;font-size:10px}.table-toolbar select{border:1px solid var(--line);color:#587083;background:#fff;border-radius:7px;height:36px;padding:0 30px 0 10px;font-size:9.5px}.data-table-wrap{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 10px 10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:980px}.data-table th{color:#6d8493;text-align:left;white-space:nowrap;background:#f4f8fa;padding:11px 12px;font-size:8.5px;font-weight:600}.data-table td{color:#4b6677;vertical-align:middle;border-top:1px solid #edf2f5;padding:11px 12px;font-size:9.5px}.data-table tr:hover td{background:#fbfdfe}.title-cell{text-align:left;background:0 0;border:0;max-width:390px;display:block}.title-cell b,.title-cell span{display:block}.title-cell b{color:var(--ink);font-size:10.5px}.title-cell span{text-overflow:ellipsis;white-space:nowrap;max-width:360px;color:var(--muted);margin-top:4px;font-size:8.5px;overflow:hidden}.owner-cell{white-space:nowrap;align-items:center;gap:7px;display:flex}.owner-cell i{background:var(--blue-soft);width:25px;height:25px;color:var(--blue);border-radius:50%;place-items:center;font-size:8px;font-style:normal;display:grid}.status-select{border:0;border-radius:999px;outline:0;max-width:100px;padding:5px 7px;font-size:8px}.status-select.success{color:#08755f;background:var(--green-soft)}.status-select.warning{color:#a26114;background:var(--orange-soft)}.status-select.active{color:#086da9;background:var(--blue-soft)}.status-select.neutral{color:#697c89;background:#eef3f6}.data-table time{white-space:nowrap}.data-table time.overdue{color:var(--red);font-weight:700}.row-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.row-actions button,.row-actions a{color:var(--blue);background:0 0;border:0;font-size:8.5px;text-decoration:none}.row-actions .danger{color:var(--red)}.empty-state{border:1px solid var(--line);text-align:center;background:#fff;border-radius:0 0 10px 10px;padding:70px 20px}.empty-state>span{background:var(--blue-soft);width:48px;height:48px;color:var(--blue);border-radius:14px;place-items:center;margin:0 auto;font-size:17px;display:grid}.empty-state h3{margin:13px 0 5px;font-size:14px}.empty-state p{color:var(--muted);margin:0 0 16px;font-size:10px}.project-hero{box-shadow:var(--shadow);color:#fff;background:linear-gradient(120deg,#07375d,#0a5687);border:1px solid #16537d;border-radius:13px;grid-template-columns:minmax(0,1fr) 180px;gap:24px;padding:26px 28px;display:grid}.project-hero-copy h2{margin:8px 0 7px;font-size:23px}.project-hero-copy>p{color:#c4dae6;max-width:780px;margin:0;font-size:10.5px;line-height:1.7}.project-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:17px;display:flex}.project-meta>span:not(.status){color:#d4e3eb;border-right:1px solid #ffffff29;padding-right:9px;font-size:9px}.project-score{border-left:1px solid #ffffff26;flex-direction:column;justify-content:center;align-items:center;display:flex}.project-score>b{margin-top:8px;font-size:11px}.project-score>span{color:#b8d1df;margin-top:3px;font-size:8px}.project-score>button{color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:6px;margin-top:10px;padding:6px 11px;font-size:8.5px}.cycle-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}.cycle-grid button{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:13px 11px;display:grid}.cycle-grid button:hover{border-color:#9fc9da;transform:translateY(-1px)}.cycle-grid button>span{background:var(--blue-soft);width:31px;height:31px;color:var(--blue);border-radius:8px;place-items:center;font-size:11px;font-weight:700;display:grid}.cycle-grid div{min-width:0}.cycle-grid b,.cycle-grid small{display:block}.cycle-grid b{font-size:10px}.cycle-grid small{color:var(--muted);margin-top:2px;font-size:7.5px}.cycle-grid button>em{color:var(--navy);font-size:17px;font-style:normal;font-weight:650}.cycle-grid button>i{color:#8597a3;grid-column:2/-1;font-size:7.5px;font-style:normal}.project-detail-grid{grid-template-columns:1.18fr 1fr;gap:14px;display:grid}.project-progress-panel{grid-row:span 2}.progress-list{padding:5px 18px 15px}.progress-list article{cursor:pointer;border-bottom:1px solid #edf2f5;padding:13px 1px}.progress-list article>div{grid-template-columns:1fr auto;gap:3px 12px;display:grid}.progress-list b,.progress-list span{display:block}.progress-list b{font-size:10.5px}.progress-list span{color:var(--muted);grid-column:1;font-size:8.5px}.progress-list strong{color:var(--navy);grid-area:1/2/3;align-self:center;font-size:17px}.progress-list article>i{background:#edf3f6;border-radius:6px;height:6px;margin-top:9px;display:block;overflow:hidden}.progress-list article>i em{background:linear-gradient(90deg,var(--blue),var(--green));border-radius:6px;height:100%;display:block}.progress-list p{color:#80939f;margin:7px 0 0;font-size:8px;line-height:1.5}.milestone-list{padding:6px 18px 15px}.milestone-list article{cursor:pointer;grid-template-columns:42px 12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;display:grid}.milestone-list time{color:var(--blue);font-size:8px}.milestone-list>article>i{border:2px solid #8ab8ce;border-radius:50%;width:10px;height:10px;position:relative}.milestone-list>article>i.done{border-color:var(--green);background:var(--green)}.milestone-list>article>i:after{content:"";background:#dce8ed;width:2px;height:32px;position:absolute;top:10px;left:2px}.milestone-list article:last-child>i:after{display:none}.milestone-list b,.milestone-list div span{display:block}.milestone-list b{font-size:9.5px}.milestone-list div span{color:var(--muted);margin-top:3px;font-size:8px}.milestone-list>article>em{font-style:normal}.blocker-list{padding:5px 17px}.blocker-list article{cursor:pointer;border-bottom:1px solid #edf2f5;grid-template-columns:34px 1fr;gap:9px;padding:11px 2px;display:grid}.blocker-list b,.blocker-list small,.blocker-list em{display:block}.blocker-list b{font-size:9.5px}.blocker-list small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.5}.blocker-list em{color:#b3691a;margin-top:5px;font-size:7.5px;font-style:normal}.compact-empty{text-align:center;color:var(--muted);padding:30px;font-size:9px}.rolebook-summary{grid-template-columns:minmax(300px,1.6fr) repeat(3,minmax(130px,.55fr));gap:11px;margin-bottom:13px;display:grid}.rolebook-summary>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11px;padding:18px 19px}.rolebook-summary>div:not(.rolebook-intro){flex-direction:column;justify-content:center;display:flex}.rolebook-summary>div>span{color:var(--muted);font-size:9px}.rolebook-summary>div>b{color:var(--navy);margin-top:6px;font-size:25px}.rolebook-summary>div>small{color:#8799a5;margin-top:3px;font-size:8px}.rolebook-summary .attention{background:#fffaf3;border-color:#f0d5b0}.rolebook-summary .attention b{color:#bd701c}.rolebook-intro{color:#fff;background:linear-gradient(110deg,#07375d,#0c5a89)!important}.rolebook-intro h2{margin:7px 0 6px;font-size:18px}.rolebook-intro p{color:#c8dce7;max-width:620px;margin:0;font-size:9px;line-height:1.6}.rolebook-toolbar{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;margin-bottom:13px;padding:11px 12px;display:flex}.rolebook-toolbar .search-box{max-width:270px}.unit-filters{align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.unit-filters button{color:#647c8c;white-space:nowrap;background:#f3f7f9;border:1px solid #0000;border-radius:7px;padding:7px 9px;font-size:8.5px}.unit-filters button.active{background:var(--blue-soft);color:var(--blue);border-color:#b9d8e7;font-weight:700}.rolebook-toolbar>.soft-button{white-space:nowrap;margin-left:auto}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-card{border:1px solid var(--line);min-height:260px;box-shadow:var(--shadow);color:var(--ink);text-align:left;background:#fff;border-radius:11px;flex-direction:column;padding:18px;transition:all .16s;display:flex}.role-card:hover{border-color:#9bc9dd;transform:translateY(-2px);box-shadow:0 14px 34px #0f4c701f}.role-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.role-card-top>span{color:var(--green);font-size:8.5px;font-weight:650}.role-card-top>em{font-style:normal}.role-card h3{color:var(--navy);margin:13px 0 7px;font-size:14px}.role-card>p{color:#6e8492;min-height:45px;margin:0;font-size:9px;line-height:1.65}.role-person{background:#f5f9fb;border-radius:8px;align-items:center;gap:8px;margin-top:13px;padding:9px;display:flex}.role-person>i{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:50%;place-items:center;font-size:10px;font-style:normal;font-weight:700;display:grid}.role-person b,.role-person small{display:block}.role-person b{font-size:9.5px}.role-person small{color:var(--muted);margin-top:3px;font-size:7.5px}.role-report{grid-template-columns:55px 1fr;gap:7px;margin-top:10px;display:grid}.role-report span{color:#8194a0;font-size:8px}.role-report b{font-size:8.5px;font-weight:600}.role-card-foot{border-top:1px solid #edf2f5;align-items:center;gap:7px;margin-top:auto;padding-top:13px;display:flex}.role-card-foot>span{color:#80919c;font-size:7.5px}.role-card-foot>strong{color:var(--blue);margin-left:auto;font-size:8px}.rolebook-empty{border:1px solid var(--line);text-align:center;background:#fff;border-radius:11px;padding:70px 20px}.rolebook-empty b,.rolebook-empty span{display:block}.rolebook-empty span{color:var(--muted);margin-top:5px;font-size:9px}.shared-tech-note{background:#f7fbfc;border:1px solid #d7e7ee;border-radius:9px;align-items:center;gap:12px;margin-top:13px;padding:12px 15px;display:flex}.shared-tech-note b{color:var(--navy);font-size:9px}.shared-tech-note span{color:var(--muted);font-size:8.5px}.role-drawer-layer{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#041d2f80;justify-content:flex-end;display:flex;position:fixed;inset:0}.role-drawer{background:#f5f8fa;flex-direction:column;width:min(780px,94vw);height:100%;animation:.2s ease-out drawer-in;display:flex;box-shadow:-20px 0 60px #031d2f3d}@keyframes drawer-in{0%{opacity:.7;transform:translate(35px)}to{opacity:1;transform:translate(0)}}.role-drawer-head{color:#fff;background:linear-gradient(110deg,#07375d,#0a5788);justify-content:space-between;align-items:flex-start;padding:23px 25px 17px;display:flex}.role-drawer-head span{color:#8ed7c5;font-size:8.5px}.role-drawer-head h2{margin:6px 0 0;font-size:21px}.role-drawer-head>button{color:#d5e7ef;background:0 0;border:0;font-size:25px}.role-drawer-body{flex:1;padding:17px 20px 25px;overflow:auto}.role-owner-band{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.role-owner-band>div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px 13px}.role-owner-band span,.role-owner-band b{display:block}.role-owner-band>div>span{color:var(--muted);font-size:8px}.role-owner-band>div>b{margin-top:5px;font-size:10px;line-height:1.5}.role-owner-band>div>em{margin-top:7px;font-style:normal}.role-mission{border-left:4px solid var(--green);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin-top:11px;padding:15px 17px}.role-mission span{color:var(--green);font-size:8px;font-weight:700}.role-mission p{margin:6px 0 0;font-size:10px;line-height:1.7}.role-detail-sections{grid-template-columns:repeat(2,1fr);gap:11px;margin-top:11px;display:grid}.role-list{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.role-list>div{border-bottom:1px solid #edf2f5;padding-bottom:10px}.role-list h3{color:var(--navy);margin:0;font-size:12px}.role-list>div>span{color:var(--muted);margin-top:3px;font-size:7.5px;display:block}.role-list ol{flex-direction:column;gap:9px;margin:12px 0 0;padding:0;list-style:none;display:flex}.role-list li{grid-template-columns:22px 1fr;align-items:start;gap:7px;font-size:9px;line-height:1.55;display:grid}.role-list li i{background:var(--blue-soft);width:20px;height:20px;color:var(--blue);border-radius:6px;place-items:center;font-size:7.5px;font-style:normal;font-weight:700;display:grid}.role-list.green li i{color:var(--green);background:var(--green-soft)}.role-list.orange li i{color:#b56c17;background:var(--orange-soft)}.role-list.red li i{color:var(--red);background:var(--red-soft)}.role-drawer-foot{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;display:flex}.role-drawer-foot>span{color:var(--muted);font-size:8px}.modal-layer{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#051f3285;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.record-modal{background:#fff;border-radius:14px;width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 28px 80px #031d2f52}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;display:flex}.modal-head span{color:var(--green);font-size:9px}.modal-head h2{color:var(--navy);margin:4px 0 0;font-size:20px}.modal-head button{color:#7c919e;background:0 0;border:0;font-size:24px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:20px 24px;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid label>span{color:#526d7f;font-size:9.5px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:10px 11px;font-size:10.5px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#76b8d8;box-shadow:0 0 0 3px #1a83bc17}.form-grid textarea{resize:vertical;line-height:1.6}.modal-actions{border-top:1px solid var(--line);background:#fafcfd;justify-content:flex-end;gap:8px;padding:15px 24px 20px;display:flex}.toast{z-index:80;color:#fff;background:#103e5d;border-radius:9px;padding:11px 16px;font-size:10.5px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #05283f3d}.error-banner{background:var(--red-soft);border:1px solid #f1c6bd;border-radius:9px;justify-content:space-between;gap:15px;margin:0 30px 16px;padding:13px 15px;display:flex}.error-banner b,.error-banner span{display:block}.error-banner b{font-size:11px}.error-banner span{color:#915b54;margin-top:3px;font-size:9px}.error-banner button{color:var(--red);background:0 0;border:0;font-size:9.5px;font-weight:700}.loading-grid{grid-template-columns:repeat(4,1fr);gap:13px;padding:0 30px;display:grid}.loading-grid div{background:linear-gradient(90deg,#e9eff3,#f7fafb,#e9eff3) 0 0/220% 100%;border-radius:12px;height:124px;animation:1.3s infinite loading}@keyframes loading{to{background-position:-220% 0}}.mobile-scrim{display:none}@media (width<=1380px){.cycle-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.project-detail-grid{grid-template-columns:1fr}.project-progress-panel{grid-row:auto}.module-overview{grid-template-columns:repeat(3,1fr)}.module-overview .module-intro{grid-column:1/-1}.user-chip div{display:none}.project-command-card{grid-template-columns:1fr}.project-command-stats,.rolebook-summary{grid-template-columns:repeat(3,1fr)}.rolebook-intro{grid-column:1/-1}.role-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.workspace{margin-left:0}.mobile-scrim{z-index:20;background:#051f3261;border:0;display:block;position:fixed;inset:0}.menu-button{display:block}.topbar{padding:0 18px}.topbar-title{margin-right:auto}.page-head{padding:22px 18px 16px}.dashboard,.manager-panel,.project-workspace,.rolebook{padding:0 18px 28px}.trust-line{display:none}.loading-grid{padding:0 18px}.error-banner{margin:0 18px 14px}.topbar-actions .soft-button{display:none}.module-overview{grid-template-columns:repeat(3,1fr)}.table-toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}.table-toolbar .primary-button{margin-left:auto}.project-hero{grid-template-columns:1fr}.project-score{border-top:1px solid #ffffff26;border-left:0;padding-top:20px}.cycle-grid{grid-template-columns:repeat(2,1fr)}.rolebook-toolbar{flex-wrap:wrap;align-items:stretch}.rolebook-toolbar .search-box{flex-basis:100%;max-width:none}.unit-filters{flex-basis:100%;order:2}.rolebook-toolbar>.soft-button{display:none}.role-detail-sections{grid-template-columns:1fr}}@media (width<=560px){.topbar{height:68px}.topbar-title span,.topbar-actions .user-chip{display:none}.page-head h1{font-size:24px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:108px}.dashboard-grid{gap:11px}.focus-row{grid-template-columns:30px minmax(0,1fr) auto}.focus-row time,.focus-row>button{display:none}.pipeline,.doc-strip{grid-template-columns:1fr}.module-overview{grid-template-columns:repeat(3,1fr);gap:7px}.module-overview>div{padding:12px 10px}.module-overview span{font-size:8px}.module-overview b{font-size:19px}.table-toolbar select{flex:1}.form-grid{grid-template-columns:1fr;padding:18px}.form-grid label.wide{grid-column:auto}.modal-head{padding:18px}.modal-actions{padding:13px 18px 18px}.record-modal{max-height:calc(100vh - 18px)}.toast{text-align:center;bottom:15px;left:15px;right:15px}.project-command-stats{grid-template-columns:1fr 1fr}.project-command-stats button{grid-column:1/-1}.cycle-grid{grid-template-columns:1fr}.project-hero{padding:22px 19px}.project-hero-copy h2{font-size:19px}.rolebook-summary{grid-template-columns:1fr 1fr}.rolebook-intro,.rolebook-summary>div:last-child{grid-column:1/-1}.role-grid,.role-owner-band{grid-template-columns:1fr}.role-drawer-head{padding:20px 18px}.role-drawer-body{padding:14px}.role-drawer-foot>span{display:none}.role-drawer-foot{justify-content:flex-end}}@media print{.sidebar,.topbar,.page-head .trust-line,.primary-button,.soft-button,.table-toolbar,.row-actions,.toast{display:none!important}.workspace{margin:0}.page-head{padding:12mm 10mm 5mm}.dashboard,.manager-panel{padding:0 10mm}.panel,.metric-card{box-shadow:none}.dashboard-grid{grid-template-columns:1fr}.data-table-wrap{overflow:visible}.data-table{min-width:0}.status-select{appearance:none}}
