:root{--ink:#302a39;--muted:#706976;--navy:#292333;--teal:#68547c;--line:#e3dfe7;--bg:#f5f3f6;--gold:#c4b18b;--white:#fff;--radius:14px;font-family:'Leelawadee UI',Tahoma,'Segoe UI',system-ui,sans-serif;font-size:16px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0}button svg,a svg{vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1{font-size:30px;line-height:1.55;letter-spacing:-.4px}h2{font-size:19px;line-height:1.6;margin-bottom:12px}h3{font-size:16px;line-height:1.7;margin-bottom:8px}p{line-height:1.8}small,.small{font-size:14px}strong{font-weight:600}button{color:inherit}input,select{border:1px solid #d5cedc;border-radius:8px;background:#fff;min-height:43px;padding:10px 12px;width:100%;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #68547c1c}input::placeholder{color:#8a8291}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}select{font-size:15px;padding-right:28px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c4b18b;outline-offset:4px}button{border:0;background:none}.muted{color:var(--muted)}.source-text{white-space:pre-line;line-height:1.9;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:#fff;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.initial-load,.loading-state{padding:80px 24px;text-align:center;color:var(--muted)}
.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;padding:11px 17px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:15px;min-height:43px;font-weight:600;white-space:nowrap}.button:hover{border-color:var(--teal);background:#f3eef8}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button.primary:hover{background:#554267}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}.icon-button:hover{background:#ffffff15}.text-link,.text-button{color:var(--teal);display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;padding:4px 0}.text-link:hover,.text-button:hover{text-decoration:underline}.text-link svg,.text-button svg{width:16px;height:16px}.eyebrow{font-size:13px;letter-spacing:1.4px;font-weight:600;color:var(--teal);display:block;margin-bottom:7px}.eyebrow.light{color:#c4b18b}
.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand img{width:38px;height:38px}.brand>span{font-size:21px;font-weight:600;white-space:nowrap}.brand-plus{color:var(--gold);padding:0 2px}.brand small{display:block;font-size:12px;letter-spacing:1.2px;color:#c5bbce;margin-top:5px;font-weight:400}
.login-page{min-height:100vh;display:grid;grid-template-columns:53% 47%;background:#fff}.login-story{background:var(--navy);color:#fff;padding:44px 10%;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:700px}.login-story:before{content:'';position:absolute;width:650px;height:650px;border:1px solid #ffffff0a;border-radius:50%;bottom:-250px;right:-400px;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff02;pointer-events:none}.login-story .brand{align-self:flex-start}.login-intro{position:relative;padding:60px 0}.login-intro h1{font-size:43px;line-height:1.55;font-weight:500;margin:18px 0 23px;letter-spacing:-.7px}.login-intro p{color:#d3cadb;font-size:15px;line-height:2}.login-facts{display:flex;gap:35px;margin-top:45px;padding-top:27px;border-top:1px solid #ffffff20}.login-facts strong{font-size:29px;font-weight:500;display:block;color:#dac9a7}.login-facts span{display:block;font-size:13px;color:#c9bfd2;margin-top:8px;line-height:1.8}.login-foot{font-size:13px;color:#c9bfd2;display:flex;justify-content:space-between;gap:20px}.login-foot span{font-size:13px}.login-side{display:flex;align-items:center;justify-content:center;padding:55px 40px}.login-box{width:100%;max-width:360px}.login-box h2{font-size:28px;line-height:1.6;margin:12px 0 8px}.login-box>p{margin-bottom:33px;font-size:15px}.login-box form label:not(:first-child){margin-top:21px}.login-box input{min-height:48px}.password-wrap{position:relative}.password-wrap input{padding-right:64px}.password-toggle{position:absolute;right:8px;top:7px;height:34px;font-size:13px;color:var(--teal)}.form-error{min-height:22px;color:#a74332;font-size:14px;margin:12px 0}.login-submit{width:100%}.login-note{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;display:flex;gap:12px;font-size:13px;line-height:1.9;color:var(--muted)}.login-note svg{color:var(--teal);width:17px;margin-top:3px}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--navy);color:#ddd5e5;display:flex;flex-direction:column;padding:30px 18px 0;z-index:30}.sidebar .brand{padding-left:9px}.workspace-label{margin:41px 10px 14px;color:#b6a9c3;font-size:13px;letter-spacing:.3px;display:flex;justify-content:space-between;align-items:center}.workspace-label span{border:1px solid #b9a6cf55;color:#d8cce2;padding:3px 7px;border-radius:4px;font-size:13px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:13px 13px;border-radius:8px;font-size:14px;min-height:45px}.sidebar nav a.active{background:#51415f;color:#fff;border-left:3px solid var(--gold);padding-left:10px}.sidebar nav a:hover{background:#3c3049}.sidebar nav a svg{width:18px;height:18px}.sidebar nav b{font-size:13px;font-weight:400;padding:3px 6px;background:#ffffff0d;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:35px}.version-card{display:flex;align-items:center;gap:8px;background:#ffffff08;padding:13px 11px;border-radius:8px;font-size:13px}.version-card strong{font-size:13px;color:#dac9a7}.version-dot{height:6px;width:6px;background:#c4b18b;border-radius:50%}.roadmap-button{display:flex;width:100%;align-items:center;gap:10px;font-size:13px;padding:18px 10px}.roadmap-button svg{width:17px;height:17px}.roadmap-button svg:last-child{margin-left:auto;width:15px}.sidebar-user{margin:0 -18px;padding:20px 20px;display:flex;gap:11px;align-items:center;border-top:1px solid #ffffff12}.sidebar-user>svg{background:#ffffff0e;border-radius:50%;padding:7px;width:35px;height:35px}.sidebar-user strong{font-size:13px;font-weight:400;color:#fff}.sidebar-user small{font-size:12px;display:block;color:#c0b2cd;margin-top:5px}.sidebar-user button{margin-left:auto}.sidebar-user button svg{width:17px;height:17px}
.main-wrap{margin-left:232px;min-width:0}.topbar{height:70px;background:#ffffffeb;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.topbar-left{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:24px}.local-pill{font-size:13px;color:var(--teal);background:#f2eef7;border:1px solid #e1d8eb;border-radius:20px;padding:6px 10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.local-pill>span{width:5px;height:5px;border-radius:50%;background:#7a648e}.year-label{font-size:13px;color:var(--muted)}.year-label strong{color:var(--ink);margin-left:4px;font-size:14px}.mobile-menu{display:none}#main{padding:33px 35px 28px;max-width:1600px;margin:auto;outline:none;min-height:calc(100vh - 133px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.page-heading h1{margin:0 0 7px}.page-heading p{font-size:14px;color:var(--muted);margin:0}.site-footer{max-width:1600px;margin:auto;padding:18px 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.site-footer button{font-size:13px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px;min-height:153px}.stat-card.accent{background:var(--navy);color:#fff;border-color:var(--navy)}.stat-label{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.stat-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f2edf7;color:var(--teal)}.stat-icon svg{width:17px;height:17px}.stat-value{font-size:34px;letter-spacing:-1px;margin-top:10px;display:flex;align-items:baseline;gap:9px;font-weight:500;white-space:nowrap}.stat-value small{font-size:13px;color:var(--muted);letter-spacing:0;font-weight:400}.stat-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.7}.accent .stat-label,.accent .stat-value small,.accent .stat-note{color:#d2c7dc}.accent .stat-icon{background:#ffffff0e;color:var(--gold)}.info-notice{display:flex;gap:12px;align-items:center;padding:15px 17px;border:1px solid #e1d8e9;border-radius:9px;background:#f4f0f7;margin-bottom:24px;color:#655573}.info-notice>svg{width:18px;height:18px}.info-notice strong{font-size:13px;margin-right:14px;line-height:1.8}.info-notice span{font-size:13px;line-height:1.8}.info-notice .tiny-pill{margin-left:auto;border:1px solid #ddd3e7;padding:2px 7px;border-radius:4px;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:20px;margin-bottom:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{padding:23px 23px 15px;display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-heading h2{margin:0}.panel-heading .eyebrow{font-size:12px;letter-spacing:1.3px;margin-bottom:5px}.panel-heading p{font-size:13px;color:var(--muted);margin:5px 0 0}.panel-foot{padding:13px 23px;border-top:1px solid #ede9ef;color:var(--muted);font-size:12px;line-height:1.8}.so-list{padding:0 23px 14px}.so-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #ede9ef}.so-row:last-child{border-bottom:0}.so-row:hover .so-info strong{color:var(--teal)}.so-square{width:39px;height:39px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.so-info{flex:1;min-width:0}.so-info strong{font-size:13px;line-height:1.7;display:block}.so-info small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.so-track{height:4px;background:#f0ecf3;border-radius:4px;margin-top:8px}.so-fill{height:100%;display:block;border-radius:4px}.so-number{text-align:right;font-size:22px;font-weight:500;min-width:37px}.so-number small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.so-row>svg{width:13px;color:#9ba9a6;margin-left:0}.so-SO1{color:#287666;background:#e8f2eb}.so-SO2{color:#4974a3;background:#ebf0f8}.so-SO3{color:#927239;background:#f7f0e0}.so-SO4{color:#826897;background:#f1ebf6}.so-fill.so-SO1{background:#5a9c86}.so-fill.so-SO2{background:#6d90bb}.so-fill.so-SO3{background:#c2a169}.so-fill.so-SO4{background:#a28bb5}.unit-label{font-size:12px;color:var(--muted);white-space:nowrap}.chart-description{font-size:13px;color:var(--muted);margin:0;padding:0 23px}.month-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;padding:34px 25px 0;height:246px}.month-column{display:flex;flex-direction:column;align-items:center;min-width:0}.bar-value{font-size:12px;color:#536a67;margin-bottom:8px}.bar-space{display:flex;align-items:flex-end;flex:1;width:100%;max-width:27px}.month-bar{background:#639d8d;width:100%;min-height:2px;border-radius:4px 4px 0 0}.month-bar.quarter-first{background:#a1beb2}.month-label{font-size:12px;white-space:nowrap;margin-top:12px;color:var(--muted)}.chart-years{display:grid;grid-template-columns:3fr 9fr;margin:10px 23px 20px;font-size:12px;color:#8b9993;text-align:center}.chart-years span{border-top:1px solid #ede9ef;padding-top:7px}.chart-years span+span{border-left:1px solid #ede9ef}.month-panel{display:flex;flex-direction:column}.month-panel .panel-foot{margin-top:auto}.overview-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:23px;gap:15px;font-size:13px;color:var(--muted)}.overview-bottom>span{display:flex;align-items:center;gap:8px}.overview-bottom svg{width:14px;height:14px;color:var(--teal)}
.table-scroll{overflow-x:auto;width:100%}.project-table{border-collapse:collapse;width:100%;min-width:700px;table-layout:fixed;font-size:14px}.project-table th{font-size:13px;text-align:left;padding:12px 16px;background:#f8f6fa;font-weight:400;color:var(--muted);border-top:1px solid #eee9f2;border-bottom:1px solid var(--line)}.project-table th:first-child{width:47%;padding-left:23px}.project-table th:nth-child(2){width:11%}.project-table th:nth-child(3){width:16%}.project-table th:nth-child(4){width:8%}.project-table th:nth-child(5){width:13%}.project-table th:last-child{width:5%;padding:0}.project-table.compact th:first-child{width:54%}.project-table.compact th:nth-child(3){width:16%}.project-table.compact th:nth-child(4){width:14%}.project-table td{border-bottom:1px solid #ede9ef;padding:18px 16px;vertical-align:middle;line-height:1.8}.project-table td:first-child{padding-left:23px}.project-table tbody tr:last-child td{border-bottom:0}.project-table tbody tr:hover{background:#fcfaff}.project-name-link{display:flex;align-items:flex-start;gap:13px;line-height:1.9;font-size:13px}.project-name-link:hover{color:var(--teal)}.project-no{color:#7d7387;font-size:13px;flex-shrink:0;width:19px;margin-top:1px}.so-badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:3px 7px;border-radius:5px;font-size:13px;font-weight:600;white-space:nowrap}.badge-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.unit-tags{display:flex;gap:5px;flex-wrap:wrap}.unit-tags span{font-size:13px;line-height:1.7}.unit-tags span+span:before{content:' / ';color:#afa3b8}.unit-tags.large{gap:7px}.unit-tags.large span{padding:5px 9px;border:1px solid var(--line);border-radius:5px;font-size:13px}.unit-tags.large span+span:before{content:none}.numeric{text-align:right!important;font-variant-numeric:tabular-nums}.budget-number{font-size:14px;font-weight:500;white-space:nowrap}.detail-arrow{color:var(--teal);display:flex;justify-content:center}.detail-arrow svg{width:17px;height:17px}.project-table th small{display:block;font-size:12px;margin-top:4px}
.filters{display:grid;grid-template-columns:1.55fr 1.25fr 1fr 1fr;gap:15px;padding:23px;background:#fff}.input-icon{position:relative}.input-icon svg{position:absolute;left:12px;top:13px;width:17px;height:17px;color:#978b9f}.input-icon input{padding-left:38px;font-size:14px}.results-toolbar{padding:17px 23px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}.results-toolbar strong{font-size:18px;color:var(--teal);margin-right:4px}.result-budget{color:var(--muted);font-size:13px;margin-left:6px}.sort-controls{display:flex;gap:17px;align-items:center}.sort-controls select{min-height:34px;padding:7px 28px 7px 10px;width:174px;font-size:13px}.pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:17px 23px;gap:15px;font-size:13px;color:var(--muted)}.pagination>div{display:flex;gap:6px}.page-button{width:31px;height:31px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.page-button svg{width:14px}.page-button.selected{background:var(--teal);color:#fff;border-color:var(--teal)}.page-button:not(:disabled):hover{border-color:var(--teal)}.subtle-note{font-size:13px;color:var(--muted);line-height:1.9;margin-top:17px}.empty-state{padding:65px 25px;text-align:center;color:var(--muted)}.empty-state>svg{width:35px;height:35px;color:#89749c;margin-bottom:18px}.empty-state h2{color:var(--ink)}.empty-state p{font-size:14px}.empty-state .button{margin-top:12px}.empty-state .text-link{margin-left:15px}
.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-size:13px;margin-bottom:25px}.back-link svg{width:16px;height:16px}.project-header-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:17px}.outline-badge{border:1px solid #d9cfe3;padding:4px 9px;border-radius:5px;font-size:13px}.neutral-badge{font-size:13px;color:var(--muted);margin-left:5px}.plan-version{font-size:13px;color:var(--muted);white-space:nowrap}.project-header h1{font-size:28px;line-height:1.8;margin-bottom:17px;max-width:1100px}.detail-meta{display:flex;gap:25px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.detail-meta>span{display:flex;gap:8px;align-items:center}.detail-meta svg{width:15px;height:15px}.detail-meta strong{color:var(--ink);margin-left:5px;font-size:13px}.detail-stats{margin:26px 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:12px}.detail-stats>div{padding:19px 23px;border-right:1px solid var(--line)}.detail-stats>div:last-child{border:0}.detail-stats span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.detail-stats strong{font-size:22px;font-weight:500}.detail-stats strong small{font-size:13px;font-weight:400;color:var(--muted)}.detail-stats .no-report{font-size:15px;line-height:2;color:var(--muted)}.detail-tabs{display:flex;gap:25px;border-bottom:1px solid #ddd4e6;margin:0 0 25px;overflow-x:auto;white-space:nowrap}.detail-tabs a{font-size:14px;padding:13px 0 16px;position:relative}.detail-tabs a.active{color:var(--teal);font-weight:600;border-bottom:3px solid var(--teal)}.detail-tabs span{font-size:12px;padding:2px 6px;border-radius:4px;background:#eee6f6;margin-left:5px}.detail-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:22px}.stack{display:flex;flex-direction:column;gap:20px;min-width:0}.content-card{padding:23px}.content-card h2{margin-bottom:16px}.content-card .source-text{font-size:14px}.content-card h3{font-size:13px;color:var(--muted);margin-top:18px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.source-details{margin-top:23px;border-top:1px solid var(--line);padding-top:16px;font-size:13px}.source-details summary{cursor:pointer;color:var(--teal)}.source-details .source-text{margin-top:15px;font-size:13px}.strategy-links>div{padding:13px 0;border-bottom:1px solid #ede9ef}.strategy-links>div:first-child{padding-top:0}.strategy-links>div:last-child{border:0;padding-bottom:0}.strategy-links small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.strategy-links strong{font-size:13px;line-height:1.9;display:block;font-weight:400}.source-reference{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.9;margin-top:25px}.source-reference svg{width:13px;height:16px}
.timeline-select{min-width:130px}.timeline-select label{font-size:13px;margin-bottom:5px;color:var(--muted);font-weight:400}.timeline-select select{min-height:34px;font-size:13px}.timeline-scroll{overflow:auto}.timeline{min-width:900px}.timeline-head,.timeline-row{display:grid;grid-template-columns:36% 64%;border-top:1px solid #e9e3ed}.timeline-head{font-size:13px;background:#f8f6fa;color:var(--muted)}.timeline-head>div:first-child{padding:14px 23px}.timeline-months,.timeline-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.timeline-months span{text-align:center;padding:11px 2px;border-left:1px solid #e9eee8;font-size:12px}.timeline-months small{display:block;font-size:12px;margin-top:5px;color:#8d9d94}.timeline-activity{padding:16px 19px 16px 23px;display:flex;gap:12px;line-height:1.8;font-size:13px;border-right:1px solid var(--line)}.timeline-activity>span{color:#91a098;font-size:12px;padding-top:2px}.timeline-activity a:hover{text-decoration:underline;color:var(--teal)}.timeline-activity small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.timeline-track{position:relative;isolation:isolate}.timeline-cell{border-left:1px solid #f0f2ed;position:relative;display:flex;align-items:center;justify-content:center}.timeline-cell.quarter-start{border-color:#dde7df}.timeline-cell.scheduled:after{content:'';background:#8ab7a5;height:17px;width:100%;position:relative;z-index:1}.timeline-no-period{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9aa69e;pointer-events:none}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 15px;gap:15px}.section-title h2{margin:0}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-card{border:1px solid var(--line);border-radius:10px;background:#fff;scroll-margin-top:25px}.activity-card summary{list-style:none;display:flex;gap:15px;align-items:flex-start;padding:20px 22px;cursor:pointer}.activity-card summary::-webkit-details-marker{display:none}.activity-number{font-size:13px;background:#f1f6f0;min-width:30px;height:29px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#719481}.activity-card summary>div{flex:1}.activity-card summary strong{font-size:14px;line-height:1.9;font-weight:500}.activity-card summary small{font-size:13px;color:var(--muted);display:block;margin-top:7px;line-height:1.8}.activity-card summary>svg{width:16px;height:16px;margin-top:5px;color:#8a9e92}.activity-card[open] summary>svg{transform:rotate(90deg)}.activity-content{border-top:1px solid var(--line);margin:0 22px 20px;padding-top:18px;font-size:13px}.activity-content h3{font-size:13px}.activity-content .two-columns{grid-template-columns:1.5fr 1fr;gap:30px}.activity-note{background:#f6f8f3;padding:13px;margin-top:18px}.activity-source{margin-top:18px;font-size:12px}.count-chip{font-size:13px;background:#eff5ee;padding:5px 9px;border-radius:5px;white-space:nowrap;color:#6e8476}.data-table{border-collapse:collapse;width:100%;font-size:13px;min-width:600px}.data-table th{background:#f7f9f5;font-size:13px;font-weight:400;color:var(--muted);text-align:left;padding:13px 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.data-table td{padding:20px 23px;vertical-align:top;border-bottom:1px solid #ede9ef;line-height:1.9}.data-table tr:last-child td{border-bottom:0}.data-table th:first-child{width:40%}.data-table .empty-cell{text-align:center;padding:30px;color:var(--muted)}.budget-summary{display:grid;grid-template-columns:1.3fr 1fr 1fr;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:23px}.budget-summary>div{padding:24px;border-right:1px solid var(--line)}.budget-summary>div:first-child{background:#eaf3ed;border-radius:12px 0 0 12px}.budget-summary>div:last-child{border:0}.budget-summary span{display:block;font-size:13px;color:var(--muted);margin-bottom:15px}.budget-summary strong{font-size:27px;font-weight:500;white-space:nowrap}.budget-summary small{font-size:13px;color:var(--muted);font-weight:400}.budget-table th:first-child{width:55%}.risk-table th:first-child{width:40%}.trigger-list{display:flex;flex-direction:column;gap:13px}.trigger-card{padding:23px;display:flex;align-items:flex-start;gap:17px}.trigger-icon{padding:9px;border-radius:9px;background:#f6f0e3;color:#a38a54;height:38px}.trigger-icon svg{width:20px;height:20px}.trigger-card>div:nth-child(2){flex:1;min-width:0}.trigger-card h3{margin:0 0 8px;font-size:14px}.trigger-card .source-text{font-size:13px}.trigger-card p{margin:13px 0 0;font-size:13px}.trigger-date{background:#f5f7f2;font-size:13px;padding:7px 10px;border-radius:6px;white-space:nowrap}
dialog{max-width:850px;width:calc(100% - 40px);max-height:88vh;padding:0;border:1px solid var(--line);border-radius:15px;color:var(--ink);box-shadow:0 24px 90px #21162f30}dialog::backdrop{background:#21182d80;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;gap:20px;padding:27px 29px 20px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:28px;margin:0}.dialog-header p{font-size:13px;color:var(--muted);margin:7px 0 0}.dialog-header .icon-button:hover{background:#f1ebf6}.roadmap-list{padding:0 29px}.roadmap-item{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.roadmap-item:last-child{border-bottom:0}.roadmap-version{font-size:19px;color:#96869f}.roadmap-version small{display:block;font-size:12px;margin-top:9px;font-weight:400;color:var(--teal)}.roadmap-item.current .roadmap-version{color:var(--teal)}.roadmap-item.current{background:linear-gradient(90deg,#f6f1fa,transparent)}.roadmap-item h3{font-size:15px;margin:0 0 8px}.roadmap-item p{font-size:13px;color:var(--muted);margin-bottom:8px}.roadmap-item small{font-size:13px;line-height:1.9;color:var(--muted)}.dialog-footer{padding:19px 29px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.9;background:#faf8fc}.dialog-content{padding:23px 29px;font-size:14px;line-height:1.9}.source-facts{display:grid;grid-template-columns:repeat(3,1fr);background:#f3eef8;border-radius:10px;margin:22px 0}.source-facts>div{padding:16px 12px;text-align:center}.source-facts strong{font-size:28px;font-weight:500;display:block}.source-facts span{font-size:13px;color:var(--muted)}.source-table{min-width:0}.source-table th:first-child{width:70%}.source-table td{padding:10px 17px;font-size:13px}.dialog-content>p:last-child{margin-top:25px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy);color:#fff;padding:14px 21px;border-radius:9px;box-shadow:0 8px 40px #29233330;z-index:100;transition:opacity .2s,transform .2s;max-width:90%;font-size:14px;line-height:1.8}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.stat-value{font-size:39px}.stat-card{padding:23px}.month-chart{height:263px}.so-row{padding:17px 0}.project-name-link{font-size:14px}.project-table td{padding-top:20px;padding-bottom:20px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:14px;padding-right:14px}.sidebar .brand{padding-left:3px}.brand>span{font-size:20px}.brand img{width:33px;height:33px}.sidebar-user{margin:0 -14px;padding:18px 14px}.main-wrap{margin-left:205px}#main{padding:27px 25px}.topbar{padding:0 25px}.site-footer{padding:16px 25px}.stat-card{padding:16px}.stat-value{font-size:29px;gap:6px}.stat-label{font-size:13px}.stat-value small{font-size:12px}.stat-note{font-size:12px}.stat-icon{width:25px;height:25px}.info-notice strong{display:block}.dashboard-grid{gap:16px;grid-template-columns:1fr 1fr}.panel-heading{padding:20px 19px 14px}.panel-heading h2{font-size:16px}.panel-heading .small{font-size:12px}.so-list{padding:0 19px 10px}.so-row{gap:10px}.so-square{width:33px;height:33px;font-size:13px}.so-number{font-size:21px;min-width:28px}.so-info strong{font-size:13px}.month-chart{gap:6px;padding-left:17px;padding-right:17px}.chart-description{padding:0 19px;font-size:12px}.filters{grid-template-columns:1.3fr 1.2fr 1fr;gap:13px}.filters>div:last-child{grid-column:3}.search-field{grid-column:1/3}.filters>div:nth-child(2){grid-column:3;grid-row:1}.filters>div:nth-child(3){grid-column:1/3;grid-row:2}.result-budget{display:block;margin:7px 0 0}.detail-columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:16px}.content-card{padding:20px}.detail-tabs{gap:22px}.detail-tabs a{font-size:13px}.detail-stats>div{padding:18px}.budget-summary strong{font-size:23px}.login-story{padding:38px 8%}.login-facts{gap:23px}.login-intro h1{font-size:38px}}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:140px}.stat-value{font-size:35px}.stat-note{font-size:13px}.stat-label{font-size:14px}.stat-value small{font-size:13px}.dashboard-grid{grid-template-columns:1fr}.so-info strong{font-size:14px}.so-info small{font-size:13px}.so-row{padding:17px 0}.month-chart{height:240px;padding-left:28px;padding-right:28px}.month-label{font-size:13px}.bar-value{font-size:13px}.detail-columns{grid-template-columns:1fr}.detail-columns>aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}.two-columns{gap:16px}.budget-summary{grid-template-columns:1fr 1fr}.budget-summary>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);border-right:0;border-radius:12px 12px 0 0}.project-header h1{font-size:22px}.detail-stats{grid-template-columns:1fr 1fr}.detail-stats>div:nth-child(2){border-right:0}.detail-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.detail-stats>div{padding:17px 20px}.detail-tabs{gap:21px}.info-notice span{font-size:13px}.login-page{grid-template-columns:48% 52%}.login-story{padding:34px 10%;min-height:680px}.login-intro h1{font-size:32px}.login-facts{flex-wrap:wrap;gap:24px}.login-facts div:last-child{display:none}.login-intro p br{display:none}.login-foot{flex-direction:column;gap:10px}.login-side{padding:35px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px;box-shadow:10px 0 30px #2923331f;padding-top:23px}.sidebar.is-open{transform:translateX(0)}.main-wrap{margin-left:0}.mobile-menu{display:flex;color:var(--ink);margin-left:-7px}.topbar{height:61px;padding:0 20px}.topbar-left{font-size:10px}.topbar-right{gap:12px}.year-label{display:none}.local-pill{font-size:9px;padding:5px 8px}#main{padding:23px 20px 25px}.page-heading{gap:17px;align-items:flex-start;margin-bottom:21px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.page-heading>.button{font-size:10px;padding:9px 11px;margin-top:24px}.page-heading>.button svg{width:15px}.eyebrow{font-size:9px}.site-footer{padding:15px 20px;font-size:9px;flex-wrap:wrap}.stats-grid{gap:12px;margin-bottom:16px}.stat-card{padding:16px;min-height:140px}.stat-label{font-size:10px}.stat-value{font-size:32px;margin-top:12px}.stat-value small{font-size:9px}.stat-note{font-size:9px;margin-top:10px}.info-notice{padding:13px;gap:10px;margin-bottom:20px}.info-notice strong{font-size:10px}.info-notice span{font-size:9px}.info-notice .tiny-pill{display:none}.panel-heading h2{font-size:16px}.panel-heading .eyebrow{font-size:9px}.so-info strong{font-size:11px}.so-info small{font-size:9px}.overview-bottom{flex-wrap:wrap;gap:8px}.overview-bottom>span{font-size:9px}.overview-bottom button{font-size:10px}.filters{padding:19px;grid-template-columns:1fr 1fr;gap:16px 12px}.search-field{grid-column:1/-1!important}.filters>div:nth-child(2){grid-column:1;grid-row:2}.filters>div:nth-child(3){grid-column:2;grid-row:2}.filters>div:last-child{grid-column:1/-1}.filters label{font-size:10px}.filters select{font-size:11px}.filters input{font-size:11px}.results-toolbar{padding:16px 19px;align-items:flex-start;flex-direction:column;gap:13px}.result-budget{font-size:9px}.sort-controls{width:100%;justify-content:space-between;flex-direction:row-reverse}.sort-controls select{margin-right:auto}.sort-controls .text-button{font-size:10px}.pagination{padding:15px 18px;flex-wrap:wrap}.pagination>span{font-size:9px}.project-table{min-width:700px}.project-table.compact{min-width:680px}.project-table td:first-child,.project-table th:first-child{padding-left:18px}.project-name-link{font-size:11px}.project-header h1{font-size:20px;margin-bottom:17px;line-height:1.8}.project-header-top{flex-wrap:wrap;gap:12px}.detail-meta{gap:12px;flex-direction:column;font-size:10px}.detail-meta strong{font-size:10px}.back-link{font-size:10px;margin-bottom:20px}.detail-stats{margin:22px 0}.detail-stats span{font-size:9px}.detail-stats strong{font-size:23px}.detail-stats>div{padding:16px}.detail-stats .no-report{font-size:12px}.detail-tabs{margin-bottom:20px;gap:21px}.detail-tabs a{font-size:11px}.detail-columns>aside{display:flex}.two-columns{grid-template-columns:1fr}.content-card{padding:20px}.content-card h2{font-size:16px}.content-card .source-text{font-size:12px}.activity-content .two-columns{grid-template-columns:1fr;gap:18px}.activity-card summary{padding:18px 16px;gap:11px}.activity-card summary strong{font-size:11px}.activity-card summary small{font-size:9px}.activity-content{margin:0 17px 18px}.timeline-panel .panel-heading{align-items:flex-start}.timeline-panel .panel-heading h2{font-size:14px}.timeline-panel .panel-heading p{font-size:9px}.timeline-select{min-width:100px}.timeline-select label{font-size:9px}.section-title h2{font-size:16px}.section-title .small{font-size:9px}.budget-summary>div{padding:19px}.budget-summary strong{font-size:24px}.budget-summary small{font-size:9px}.budget-summary span{font-size:10px}.trigger-card{padding:18px;gap:12px;flex-wrap:wrap}.trigger-card h3{font-size:11px}.trigger-date{margin-left:50px;font-size:9px}.trigger-card>div:nth-child(2){min-width:calc(100% - 60px)}dialog{width:calc(100% - 24px);max-height:90vh;border-radius:12px}.dialog-header{padding:23px 20px 18px}.dialog-header h2{font-size:23px}.roadmap-list{padding:0 20px}.roadmap-item{grid-template-columns:60px 1fr;gap:14px;padding:20px 0}.roadmap-version{font-size:15px}.roadmap-item h3{font-size:12px}.roadmap-item p{font-size:10px}.roadmap-item small{font-size:9px}.dialog-footer{padding:17px 20px;font-size:9px}.dialog-content{padding:20px;font-size:11px}.source-table td{font-size:10px;padding:9px 7px}.source-table th{padding:11px 7px}.source-facts strong{font-size:22px}.source-facts span{font-size:9px}}
@media(max-width:560px){.login-page{display:flex;flex-direction:column}.login-story{min-height:auto;padding:26px 25px 30px}.login-story .brand img{width:31px}.login-story .brand>span{font-size:20px}.login-story .brand small{font-size:7px}.login-intro{padding:32px 0 0}.login-intro .eyebrow{display:none}.login-intro h1{font-size:30px;line-height:1.5;margin:0 0 13px}.login-intro p{font-size:13px;margin:0;max-width:320px}.login-intro p br{display:none}.login-facts,.login-foot{display:none}.login-side{padding:32px 25px}.login-box{max-width:420px}.login-box h2{font-size:23px;margin-top:5px}.login-box>p{font-size:13px;margin-bottom:24px}.login-note{margin-top:25px;padding-top:19px;font-size:13px}.login-box input{min-height:46px}.login-box form label:not(:first-child){margin-top:17px}.form-error{font-size:13px}.page-heading{flex-wrap:wrap}.page-heading>.button{margin-top:0;font-size:13px}.page-heading h1{font-size:23px}.stat-value{font-size:30px}.stat-value small{font-size:12px}.stat-note{font-size:12px}.stat-card{padding:14px;min-height:137px}.stat-icon{width:23px;height:23px}.stat-icon svg{width:14px;height:14px}.stat-label{font-size:12px}.so-list{padding-left:16px;padding-right:16px}.so-row{gap:11px}.so-square{width:33px;height:33px}.so-info strong{font-size:13px}.so-number{font-size:21px}.so-row>svg{display:none}.month-chart{padding-left:17px;padding-right:17px;gap:7px;height:227px}.month-label{font-size:12px}.bar-value{font-size:12px}.panel-heading{padding-left:17px;padding-right:17px}.panel-heading .text-link{font-size:12px}.panel-heading .text-link svg{width:13px}.budget-panel .panel-heading h2{font-size:16px}.panel-foot{padding-left:17px;padding-right:17px;font-size:12px}.chart-description{padding-left:17px;font-size:12px}.data-table{min-width:650px}.risk-table{min-width:570px}.source-table{min-width:0}.site-footer>span{line-height:1.9}.pagination{gap:13px}.trigger-card{gap:10px}.timeline-select{min-width:90px}.timeline-panel .panel-heading h2{font-size:15px}.timeline-panel .panel-heading p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Keep visually hidden table headings inside the horizontal scroll region. */
.table-scroll{position:relative}
@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.is-open{visibility:visible}.sidebar-close{align-self:flex-end;margin:-12px 0 8px;color:#ddd5e5}}

/* V0.2 desktop account and assignment views. Mobile redesign is deferred. */
.demo-pill{background:#fff3d5;color:#755614;border:1px solid #eed9a5;border-radius:20px;padding:6px 11px;font-size:13px;white-space:nowrap}
.account-password-link{display:block;font-size:13px;color:#ddd5e5;text-decoration:underline;margin-top:7px}
.access-notice{display:flex;align-items:center;gap:12px;border:1px solid #e1d8e9;background:#f4f0f7;border-radius:10px;padding:17px 20px;font-size:14px;line-height:1.8;margin-bottom:24px}
.my-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.owner-project{padding:25px;display:flex;flex-direction:column;gap:18px}.owner-project h2{font-size:19px;line-height:1.8;margin:0}.owner-project h3{font-size:13px;color:var(--muted);margin:0}.owner-project .unit-tags{margin-top:-10px}.owner-project-foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;color:var(--muted)}
.access-table{min-width:800px;width:100%}.access-table td{vertical-align:top;line-height:1.8}.access-table th{font-size:13px}.access-table td:first-child{max-width:390px}.access-table .text-link{font-size:14px;line-height:1.9}.access-table .badge-row{margin-top:9px}.access-table .button{font-size:13px;min-height:35px;padding:8px 12px}.block{display:block}.member-name{margin:0 0 6px;font-size:14px}
.planning-search{width:320px;font-size:13px;margin:0}.planning-search input{margin-top:6px;font-size:14px}
.access-form{display:grid;gap:18px}.access-form label{margin:0;font-size:14px}.access-form input,.access-form select{margin-top:8px}.access-form .button{justify-self:start}.access-form p{margin:0}.password-card{max-width:600px}.password-reset-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.member-list{margin:20px 0 24px}.member-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}.member-entry strong{font-size:15px}.member-entry small{display:block;font-size:13px;color:var(--muted);margin-top:5px}.danger{color:#a63737}.status-chip{display:inline-block;border-radius:15px;padding:3px 9px;background:#f4f0f7;color:#68547c;font-size:13px}.status-chip.inactive{background:#f3eaea;color:#8d4444}.audit-json{font-family:monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#f6f3f8;padding:12px;border-radius:7px;max-width:500px}

:root{--draft-soft:#f5f0f8}
.owner-actions{display:flex;gap:8px;align-items:center}.owner-project h2 a{display:block}.draft-toolbar{display:flex;align-items:center;gap:28px;margin:0 0 22px}.draft-toolbar>label{min-width:260px}.draft-toolbar p{margin:8px 0 0}.draft-toolbar>a{margin-left:auto}.draft-toolbar select{display:block;width:100%;margin-top:8px}.draft-toolbar select,.draft-activity select,.draft-activity input[type=date]{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}.draft-warning{background:#fff5db;border:1px solid #ead6a5;padding:16px 20px;border-radius:10px;line-height:1.8;margin-bottom:18px}.draft-activities{display:grid;gap:18px;margin:22px 0}.draft-activity-head{padding:20px 24px;background:var(--draft-soft);border-radius:14px 14px 0 0}.draft-activity-head label{display:flex;gap:12px;align-items:flex-start;line-height:1.8}.draft-activity-head input{margin-top:6px;width:18px;height:18px;accent-color:var(--teal);flex-shrink:0}.draft-activity-head p{margin:10px 0 0 30px}.draft-activity-body{padding:24px}.draft-activity-body[hidden]{display:none}.draft-activity-body label,.draft-summary{display:grid;gap:8px;font-size:15px;font-weight:500;margin-bottom:18px}.draft-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.draft-activity textarea,.draft-summary textarea,.draft-recovery{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;line-height:1.8;padding:12px;resize:vertical;font-weight:400}.draft-activity textarea:focus,.draft-summary textarea:focus{outline:2px solid #b4a0c6;outline-offset:1px}.draft-activity details{margin-top:10px}.draft-activity details summary{cursor:pointer;font-size:14px;color:var(--teal);margin-bottom:15px}.draft-save-bar{display:flex;align-items:center;gap:16px;padding:20px 24px;margin-bottom:18px;position:sticky;bottom:12px;z-index:3;box-shadow:0 5px 24px #29233315}.draft-save-bar>div{margin-right:auto}.draft-save-bar p{margin:8px 0 0}.draft-save-bar strong{font-size:15px}.draft-dialog-actions{display:flex;gap:12px}.draft-delay-note{margin:0 0 16px;padding:10px;background:#fff5db;border-radius:8px}.draft-recovery{font-size:14px}#draft-fields{border:0;padding:0;margin:0;min-width:0}#draft-fields:disabled{opacity:.8}#draft-error:not(:empty){padding:18px;background:#fff1ed;border-radius:8px;margin-bottom:20px}#draft-form+.content-card{margin-top:20px}

#draft-reauth[hidden],.draft-delay-note[hidden]{display:none!important}

/* V0.4 desktop report review and shared submissions. */
.report-period-bar{display:flex;align-items:center;gap:28px;padding:22px;margin-bottom:22px}.report-period-bar label{display:grid;gap:6px;min-width:240px}.report-period-bar button{margin-left:auto}.report-overview{margin:22px 0}.report-overview .panel-heading{padding:0;border:0}.report-sent{background:#e6f5ed;color:#1b6947}.report-late{color:#a84329;font-weight:600}.report-table td:first-child{width:42%;min-width:300px}.report-table td:last-child{white-space:nowrap}.report-receipt{border-left:4px solid #22845d;margin-bottom:20px}.report-activity-list{display:grid;gap:18px;margin:20px 0}.report-activity-list h2{font-size:20px;line-height:1.6}.report-activity-list h3{font-size:16px;margin:20px 0 6px}.report-activity-list .button{margin-top:16px}.submission-errors{max-height:45vh;overflow:auto;line-height:1.8;padding-left:22px}.submission-errors li{margin-bottom:10px}.previous-report{background:#f3f6f7;padding:14px;margin-bottom:18px;border-radius:8px}.draft-save-bar{flex-wrap:wrap}.draft-save-bar>div{flex:1;min-width:220px}

.planning-report-entry{display:flex;align-items:center;gap:18px;margin:20px 0}

/* Keep account actions reachable after adding plan management navigation. */
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}

#plan-form fieldset{border:0;padding:0;margin:0;min-width:0}#plan-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;margin:12px 0}#plan-form input,#plan-form select,#plan-form textarea{width:100%;font:inherit;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}#plan-form textarea{min-height:90px;resize:vertical}#plan-form fieldset:disabled input,#plan-form fieldset:disabled select,#plan-form fieldset:disabled textarea{color:#51475b;opacity:1;background:#f6f3f8}#plan-form details{margin-top:12px}

/* V0.7 uses the existing desktop panels and tables; no mobile redesign. */
.dashboard-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-filters label{display:flex;flex-direction:column;gap:7px;font-size:14px}.dashboard-filters select,.dashboard-filters input{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:white}.dashboard-filter-actions{display:flex;gap:10px;align-items:end}.dashboard-count-links{display:flex;gap:24px;flex-wrap:wrap}.dashboard-groups{display:grid;gap:22px}.dashboard-bar-link{display:flex;align-items:center;gap:12px;min-width:170px}.dashboard-bar{display:block;height:9px;width:100px;background:#e6eeeb;border-radius:8px;overflow:hidden}.dashboard-bar>span{display:block;height:100%;background:#b86b48}.dashboard-project-table td{vertical-align:top}.dashboard-project-table td:first-child{min-width:230px}.dashboard-project-table td:last-child{min-width:160px}.dashboard-project-detail{margin-top:24px}.dashboard-project-detail details{margin-top:12px}.dashboard-project-detail summary{cursor:pointer}.dashboard-group-table td:not(:first-child){white-space:nowrap}

/* Copy the one-time password without selecting it manually. */
.temporary-password-row{display:flex;gap:12px;align-items:stretch;margin-top:8px}.temporary-password-row input{flex:1;min-width:0;margin:0}.temporary-password-row .button{white-space:nowrap;flex-shrink:0}#temporary-copy-status:empty{display:none}

/* Desktop planning workspace: three tasks, one place for each workflow. */
.sidebar .planning-secondary-nav{margin-top:30px;padding-top:16px;border-top:1px solid #ffffff24}
.workspace-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:0 0 24px;padding-bottom:0}
.workspace-tabs a{padding:12px 20px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;text-decoration:none}
.workspace-tabs a[aria-current="page"]{color:var(--teal);border-bottom-color:var(--teal);background:#eee6f5;border-radius:7px 7px 0 0}
.monthly-period-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;color:var(--muted);font-size:14px}
.monthly-period-note>div{display:flex;align-items:center;gap:12px}.monthly-period-note strong{font-size:20px;color:var(--ink)}
.monthly-filters{margin-bottom:20px}.monthly-filter-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.monthly-filters label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
.monthly-filters input,.monthly-filters select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:white;color:var(--ink)}
.monthly-search{display:flex;align-items:end;gap:12px;margin-top:16px}.monthly-search label{flex:1}.monthly-search .button{min-height:40px}
.monthly-more{margin-top:14px}.monthly-more summary{cursor:pointer;color:var(--muted);font-size:14px}.monthly-more[open] summary{margin-bottom:12px}
.monthly-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}
.monthly-counts>div{display:flex;align-items:center;gap:14px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px}.monthly-counts strong{font-size:29px;color:var(--teal)}.monthly-counts span{font-size:14px;color:var(--muted)}
.monthly-table td{vertical-align:top}.monthly-table td:first-child{width:32%;min-width:245px}.monthly-table td:last-child{min-width:175px}.monthly-table .block{margin-top:7px;line-height:1.7}.monthly-table th{white-space:nowrap}.monthly-table .button{padding:9px 12px;font-size:14px}.monthly-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.monthly-row-actions .text-link{font-size:14px}
.project-workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0}.project-workspace-actions h2{font-size:18px;margin:0 0 8px}.project-workspace-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.planning-stat-link{text-decoration:none;color:inherit;display:block}.planning-stat-link .stat-card{height:100%}.planning-stat-link:hover .stat-card{border-color:var(--teal)}

#main.planning-monthly-page{padding-top:24px}
.planning-monthly-page .page-heading{margin-bottom:16px}.planning-monthly-page .page-heading h1{margin:5px 0 8px}.planning-monthly-page .page-heading .eyebrow{display:none}
.planning-monthly-page .workspace-tabs{margin-bottom:16px}.planning-monthly-page .workspace-tabs a{padding:9px 18px}
.planning-monthly-page .monthly-filters{padding:18px;margin-bottom:16px}.planning-monthly-page .monthly-counts{margin-bottom:16px}.planning-monthly-page .monthly-counts>div{padding:12px 16px}
.planning-monthly-page .monthly-projects .panel-heading{padding-top:16px;padding-bottom:12px}

/* Planning performance dashboard: compact controls and linked, evidence-based charts. */
#main.planning-visual-page{padding-top:24px}.planning-visual-page .page-heading{margin-bottom:18px}.planning-visual-page .page-heading .eyebrow{display:none}.planning-visual-page .page-heading h1{font-size:28px;margin:4px 0 8px}.planning-visual-page .workspace-tabs{margin-bottom:17px}.planning-visual-page .workspace-tabs a{padding:8px 18px}
.visual-filters{position:relative;margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}.visual-filter-line{display:flex;gap:16px;align-items:center;flex:1;min-width:0}.visual-filters label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;white-space:nowrap}.visual-filters select,.visual-filters input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 10px;font:inherit;color:var(--ink);min-width:0}.visual-filter-line select[name=so]{max-width:210px}.visual-filter-line select[name=period]{width:130px}.visual-clear{font-size:13px;white-space:nowrap}.visual-scope{font-size:13px;color:var(--muted);white-space:nowrap;margin-left:auto}.visual-filter-more summary{cursor:pointer;font-size:14px;color:var(--teal);font-weight:600;white-space:nowrap}.visual-filter-more[open]{flex-basis:100%}.visual-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:8px}.visual-extra-grid label{display:flex;flex-direction:column;align-items:stretch;gap:6px}.visual-extra-grid .button{justify-self:start}.visual-filter-chips{display:flex;gap:8px;flex-wrap:wrap;flex-basis:100%}.visual-filter-chips a{font-size:13px;padding:4px 9px;border-radius:5px;background:#eee7f4;color:var(--teal);max-width:450px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.visual-chart-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px}.visual-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.visual-panel-heading h2{font-size:19px;margin:0 0 6px}.visual-panel-heading p{font-size:13px;color:var(--muted);margin:0}.visual-panel-heading>.text-link{font-size:13px;white-space:nowrap}.visual-chart-hint{font-size:13px;color:var(--muted)}
.so-chart-cluster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.so-chart{text-align:center;padding:0 10px}.so-chart+.so-chart{border-left:1px solid #efebf2}.so-chart-title{display:flex;flex-direction:column;gap:4px;align-items:center;min-height:47px;color:var(--ink)}.so-chart-title strong{font-size:18px;color:var(--teal)}.so-chart-title>span{font-size:13px;line-height:1.5}.so-ring-link{position:relative;display:block;width:144px;height:144px;margin:7px auto 8px;color:var(--ink)}.so-ring{display:block;width:100%;height:100%}.so-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.so-ring-center strong{font-size:23px;font-weight:600;letter-spacing:-.7px}.so-ring-center small{font-size:13px;color:var(--muted);margin-top:2px}.so-ring-link:hover{transform:translateY(-2px)}.so-chart-facts{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.so-chart-facts>a:first-child{color:var(--ink)}.so-chart-facts b{color:#b54e3c}.so-chart-facts .so-awaiting{color:#4c7049}.visual-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:var(--muted)}.visual-legend span{display:flex;align-items:center;gap:6px}.visual-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.overall-status{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.overall-status-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:13px;color:var(--muted)}.overall-status-heading h2{font-size:14px;margin:0;color:var(--ink)}.overall-status-bar{display:flex;height:17px;gap:2px;border-radius:4px;overflow:hidden;background:#efebf2}.overall-status-bar a{display:flex;align-items:center;justify-content:center;font-size:13px;color:#183330;min-width:2px}.overall-status-bar a:hover{filter:brightness(.9)}
.owner-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.owner-ranking{display:flex;flex-direction:column;gap:18px}.owner-bar-row{display:block;color:var(--ink)}.owner-bar-label{display:flex;justify-content:space-between;gap:14px;font-size:14px;margin-bottom:8px}.owner-bar-label>span{display:flex;gap:9px;align-items:center}.owner-bar-label>span>small{color:var(--muted);font-size:13px}.owner-bar-label strong{font-size:16px;white-space:nowrap}.owner-bar-label strong small{font-size:13px;font-weight:400;color:var(--muted)}.owner-bar-track{height:13px;border-radius:3px;background:#f2eef5;overflow:hidden}.owner-bar-track>span{display:block;height:100%;border-radius:3px}.owner-bar-row:hover .owner-bar-track>span{filter:brightness(.88)}.visual-axis-note{font-size:13px;color:var(--muted);margin:16px 0 0}.visual-chart-empty{padding:35px 18px;text-align:center;font-size:15px;color:var(--muted);line-height:1.8}.visual-chart-empty small{display:block;font-size:13px}.unassigned-followup{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:20px}.unassigned-followup>div{display:flex;flex-direction:column;gap:5px}.unassigned-followup strong{font-size:15px}.unassigned-followup span{font-size:14px;color:var(--muted)}.unassigned-followup .button{font-size:14px;padding:9px 14px}.visual-definitions{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.8}.visual-definitions summary{cursor:pointer}.visual-definitions p{max-width:1000px}
.visual-heading-actions{display:flex;align-items:center;gap:18px}.visual-heading-actions .text-button{font-size:13px;white-space:nowrap}

/* Shared visual theme. Existing names remain aliases so every screen uses the same palette. */
:root{--accent:#68547c;--accent-strong:#554267;--accent-soft:#f1ebf7;--surface:#fffefd;--surface-muted:#f8f6fa;--focus:#9a7fb1;--draft-soft:#f5f0f8;color-scheme:light}
body{line-height:1.65;background:var(--bg)}
input,select,textarea{accent-color:var(--accent)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #68547c20}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.button{border-radius:9px;box-shadow:0 1px 2px #302a3905}.button.primary{box-shadow:0 3px 8px #49335614}.button.primary:hover{background:var(--accent-strong)}
.button:hover{background:var(--accent-soft)}.button.primary:hover{color:#fff}
.sidebar{background:linear-gradient(165deg,#302739 0%,#272131 78%);border-right:1px solid #52435d}
.sidebar nav a{font-weight:500}.sidebar nav a.active{background:#51415f;border-left-color:var(--gold);box-shadow:inset 0 0 0 1px #c6b3d21a}
.sidebar .brand>span{font-size:21px}.sidebar .brand small{font-size:9px;letter-spacing:.7px;color:#c6bbcf}
.sidebar-user strong{font-size:14px}.sidebar-user small,.account-password-link{font-size:12px}.sidebar-user{padding-top:17px;padding-bottom:17px}.sidebar-bottom{padding-top:24px}.sidebar .workspace-label{font-size:12px}
.version-card{color:#d3c8dd}.version-card span:last-child{font-size:12px}.version-card strong{color:#dfceaa}.roadmap-button{color:#d8cce3}
.topbar{background:#fffefd;border-bottom-color:#ddd5e4}.topbar-right{gap:18px}.topbar-left{color:#655b6e}
.local-pill{background:#f1ebf7;border-color:#e0d4eb;color:#68547c}.demo-pill{background:#f6f1e7;border-color:#e8dcc5;color:#746044}
.panel,.stat-card,.visual-chart-panel,.monthly-counts>div{background:var(--surface);border-color:var(--line);box-shadow:0 3px 14px #302a3904}
.stat-card.accent{background:#40324e;border-color:#40324e}.panel-heading,.visual-panel-heading{color:var(--ink)}
.project-table th,.data-table th,.timeline-head{background:#f7f4f9;color:#665b70;font-weight:600;border-color:var(--line)}
.project-table tbody tr:hover,.data-table tbody tr:hover{background:#faf7fc}.project-table td,.data-table td{border-color:#ece6f0}
.project-name-link,.data-table td{font-size:15px;line-height:1.8}.project-table td{padding-top:17px;padding-bottom:17px}.data-table th{font-size:13px}
.content-card .source-text{font-size:16px;line-height:1.95}.source-text{color:var(--ink)}
.access-notice,.info-notice{background:#f4f0f8;border-color:#e1d7ea;color:#63516f}.info-notice strong{color:#53405f}
.status-chip{background:#f0eaf5;color:#68547c}.status-chip.report-sent{background:#eaf3ef;color:#356756}.status-chip.inactive{background:#f4e9ea;color:#8d4444}
.report-late,.danger,.form-error{color:#a34c40}.draft-warning,.draft-delay-note{background:#faf3e4;border-color:#e7d7b7;color:#775f35}
.report-receipt{border-left-color:#6f8c7d}.previous-report{background:#f1eef5}.audit-json{background:#f5f1f8;color:#554661}
.workspace-tabs a[aria-current=page]{background:#eee6f5;border-bottom-color:var(--accent)}.detail-tabs span{background:#ede5f4}
.filters,.monthly-filters,.visual-extra-grid{background:var(--surface)}.access-form input,.access-form select,.draft-activity textarea,.draft-summary textarea,#plan-form textarea{background:#fffefd}
.draft-activity-head{background:#f4eff8}.draft-save-bar{box-shadow:0 5px 24px #39274414;border-color:#dcd0e5}
.draft-activity textarea:focus,.draft-summary textarea:focus{outline:none;box-shadow:0 0 0 3px #68547c20}
#plan-form fieldset:disabled input,#plan-form fieldset:disabled select,#plan-form fieldset:disabled textarea{background:#f6f3f8;color:#5a5062}
dialog{background:var(--surface);border-color:#d8cce2;border-radius:16px;box-shadow:0 24px 90px #281a3a30}.dialog-header{background:#faf7fc}.dialog-header h2{font-size:26px}.dialog-content{font-size:15px}.dialog-header .eyebrow{color:#897095}
.toast{background:#40324e}.login-page{background:#fcfafc}.login-story{background:linear-gradient(145deg,#493650,#2b2335 72%)}.login-side{background:#fcfafc}.login-box{max-width:400px}.login-box h2{color:#46334f}.login-intro p{font-size:16px}.login-story .brand small{font-size:11px}.login-story .eyebrow{color:#dac9a7}.login-note{color:#766b7e}
.visual-filter-line{gap:12px;flex-wrap:wrap}.visual-filter-line select[name=so]{max-width:185px}.visual-scope{font-size:13px}.visual-filters label{font-size:14px}.visual-filter-chips a{background:#eee6f5;color:#68547c}
.visual-panel-heading{flex-wrap:wrap;row-gap:8px}.visual-panel-heading h2{font-size:19px}.visual-chart-hint{font-size:13px}.visual-legend{font-size:13px;gap:10px 16px}.visual-legend i{width:10px;height:10px}
.so-chart-title{min-height:67px}.so-chart-title>span{font-size:14px;line-height:1.6}.so-chart-title strong{font-size:20px}.so-chart+.so-chart{border-left-color:#ece6f0}.so-chart-facts{font-size:14px}.so-ring-center small{font-size:13px}.so-ring-center strong{font-size:25px}
.owner-bar-label{flex-wrap:wrap;gap:4px 12px;font-size:15px}.owner-bar-label strong{font-size:16px}.owner-bar-label strong small{font-size:13px}.owner-bar-track{background:#f1edf4;height:14px}.owner-bar-label>span>small{font-size:13px}
.overall-status-heading{font-size:14px}.overall-status-heading h2{font-size:14px}.overall-status-bar{height:21px}.overall-status-bar a{font-size:13px}
.visual-definitions{font-size:13px}.visual-heading-actions{gap:12px}.visual-heading-actions .text-button{font-size:13px}.unassigned-followup strong{font-size:15px}
.monthly-counts span{font-size:14px}.monthly-table .button,.monthly-row-actions .text-link{font-size:14px}.monthly-table td:first-child{min-width:240px}.monthly-table td:last-child{min-width:175px}.monthly-period-note{flex-wrap:wrap;gap:8px}.monthly-period-note>span{font-size:13px}
.project-workspace-actions{flex-wrap:wrap}.project-workspace-buttons{gap:12px}.project-workspace-actions h2{font-size:18px}
.so-SO1{background:#eee6f5;color:#735584}.so-SO2{background:#eaf0f5;color:#56738c}.so-SO3{background:#f6efe3;color:#887049}.so-SO4{background:#f4eaf0;color:#8a627b}
.so-fill.so-SO1{background:#947ca7}.so-fill.so-SO2{background:#7994aa}.so-fill.so-SO3{background:#b7a17c}.so-fill.so-SO4{background:#b18ca5}.month-bar{background:#927da5}.month-bar.quarter-first{background:#c3b3d0}.bar-value{color:#776781}
.so-chart-title{height:88px;min-height:88px;justify-content:flex-start}.so-chart-title>span{max-width:100%}

/* Planning monthly workspace: expose project actions before secondary controls. */
.planning-monthly-page .page-heading{margin-bottom:10px}.planning-monthly-page .page-heading h1{font-size:27px;margin:0 0 3px}.planning-monthly-page .page-heading p{font-size:13px}.planning-monthly-page .workspace-tabs{margin-bottom:12px}.planning-monthly-page .workspace-tabs a{padding:7px 16px;font-size:14px}
.monthly-compact-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px;padding:0}
.monthly-compact-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.monthly-compact-main label{margin:0}.monthly-month{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.monthly-month select{width:150px;font-size:14px;min-height:42px}.monthly-query{flex:1;min-width:160px}.monthly-query input{font-size:14px;min-height:42px;margin:0}.monthly-compact-main .button{min-height:42px;padding:8px 16px;font-size:14px}
.monthly-compact-more summary{cursor:pointer;white-space:nowrap;color:var(--accent);font-size:14px;font-weight:600}.monthly-compact-more[open]{flex-basis:100%}.monthly-extra-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:10px}.monthly-extra-fields label{font-size:14px;margin:0;display:flex;flex-direction:column;gap:6px}.monthly-extra-fields select{font-size:14px;min-width:0;width:100%}
.monthly-active-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-basis:100%;font-size:13px}.monthly-active-filters a{padding:3px 9px;background:var(--accent-soft);border-radius:5px;color:var(--accent);max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-active-filters .monthly-clear{background:none;text-decoration:underline;padding-left:5px}
.monthly-quick-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.monthly-quick-filters a{font-size:14px;padding:5px 13px;border:1px solid transparent;border-radius:6px;color:var(--muted)}.monthly-quick-filters a[aria-current=page]{background:#eae1f1;color:var(--accent-strong);border-color:#dcd0e6;font-weight:600}.monthly-quick-filters a:hover{background:var(--accent-soft)}
.monthly-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);font-size:13px}.monthly-list-heading p{margin:0;font-size:14px}.monthly-list-heading strong{font-size:16px;color:var(--accent)}
.monthly-action-table{table-layout:fixed;min-width:800px}.monthly-action-table .monthly-col-project{width:41%}.monthly-action-table .monthly-col-action{width:21%}.monthly-action-table .monthly-col-submission{width:20%}.monthly-action-table .monthly-col-result{width:18%}
.monthly-action-table th,.monthly-action-table td{padding:14px 16px}.monthly-action-table th{font-size:13px}.monthly-action-table td{vertical-align:top;font-size:14px;line-height:1.7}.monthly-action-table td:first-child,.monthly-action-table td:last-child{width:auto;min-width:0}.monthly-action-table td:first-child .text-link{font-size:15px;line-height:1.7}.monthly-action-table .block{font-size:13px;margin-top:7px}.monthly-action-table .monthly-row-actions{gap:9px}.monthly-action-table .status-chip{font-size:13px}.monthly-action-table .monthly-row-actions .button{padding:8px 12px;min-height:40px;font-size:14px}.monthly-action-table .monthly-row-actions .text-link{font-size:13px;white-space:normal}.monthly-work-note{font-size:13px;margin-top:12px}

/* Project detail: clear framed groups, one continuous desktop page. */
.project-detail-page{--project-border:#d8cfe2;--project-heading:#443254;--project-tint:#f2edf7}
.project-detail-page .back-link{margin-bottom:12px;font-size:14px}
.project-detail-page .project-header{border:1px solid #cfc0dc;border-top:3px solid #88709f;border-radius:14px;background:linear-gradient(115deg,#fff 35%,#f3edf8);padding:18px 20px 0;box-shadow:0 4px 18px #3e275207;margin-bottom:20px}
.project-detail-page .project-header-top{margin-bottom:8px;gap:12px}.project-detail-page .project-header h1{font-size:25px;line-height:1.55;margin:0 0 10px;max-width:none;color:#352640}
.project-detail-page .detail-meta{font-size:14px;gap:12px 22px;padding-bottom:14px}.project-detail-page .detail-meta strong{font-size:14px}
.project-detail-page .project-workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 -20px;padding:12px 20px;border-top:1px solid var(--project-border);background:#f4eff8;border-radius:0 0 14px 14px}
.project-detail-page .project-members{flex:1;min-width:200px}.project-detail-page .project-members p{margin:0;font-size:14px;line-height:1.7}.project-detail-page .project-members .small{font-size:13px}.project-members p>span:first-child{margin-right:7px}
.project-detail-page .project-workspace-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.project-detail-page .button{padding:8px 12px;font-size:14px;min-height:40px;background:#fff}.project-detail-page .button.primary{background:var(--accent)}.project-detail-page .button:hover{background:var(--accent-soft)}.project-detail-page .button.primary:hover{background:var(--accent-strong)}
.project-reader-actions{display:flex;align-items:center;gap:18px;padding:0 0 16px}
.project-detail-page .detail-meta{align-items:center}
.project-meta-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}
.project-meta-actions .button{min-height:36px;padding:7px 13px;font-size:14px}
.project-sections{display:flex;flex-direction:column;gap:20px}
.project-detail-page .panel{border:1px solid var(--project-border);border-radius:12px;background:#fff;box-shadow:0 3px 12px #3e275205;overflow:hidden}
.project-detail-page .panel-heading{padding:14px 18px;gap:14px;border-bottom:1px solid var(--project-border);background:#f5f1f8;min-height:65px}.project-detail-page .panel-heading h2,.project-detail-page .project-group-heading h2{font-size:19px;line-height:1.5;margin:0;color:var(--project-heading)}.project-detail-page .panel-heading p{margin-top:3px;font-size:13px;color:#71677b}
.project-section-title{display:flex;align-items:center;gap:11px;min-width:0}.project-section-icon{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:#e8dff1;color:#72588d;display:flex;align-items:center;justify-content:center}.project-section-icon svg{width:19px;height:19px}.project-heading-count{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}
.project-group-heading{margin:0 0 12px;padding:0 2px}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:16px;align-items:start}
.project-facts,.project-context{display:flex;flex-direction:column;gap:14px;min-width:0}
.project-detail-page .project-card-heading{padding:10px 16px;border-bottom:1px solid var(--project-border);background:#f5f1f8}
.project-detail-page .project-card-heading h3{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.6;color:var(--project-heading);margin:0;font-weight:600}.project-card-heading h3 svg{width:17px;height:17px;flex-shrink:0;color:#836998}.project-card-heading h3 small{font-size:13px;font-weight:400;color:#756682}
.project-card-body{padding:13px 16px}.project-detail-page .source-text{font-size:16px;line-height:1.8;color:#3e3746}.project-detail-page .project-fact h4,.project-objective h4{font-size:14px;font-weight:600;color:#6c5c79;margin:0 0 6px}.project-objective{margin-top:14px;padding:12px 14px;border:1px solid #dacee4;border-left:3px solid #a58bb9;border-radius:8px;background:#f8f4fb}.project-objective h4{display:flex;align-items:center;gap:7px;color:#69507e}.project-objective h4 svg{width:16px;height:16px}
.project-deliverables{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.project-detail-page .project-output{border-color:#cadce2}.project-detail-page .project-output .project-card-heading{background:#eef5f8;border-color:#cadce2}.project-detail-page .project-output h3{color:#426a7a}
.project-detail-page .project-outcome{border-color:#cdddd5}.project-detail-page .project-outcome .project-card-heading{background:#eff6f2;border-color:#cdddd5}.project-detail-page .project-outcome h3{color:#486b5c}
.project-unit-row{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:14px;border-bottom:1px solid #eee8f2}.project-unit-row:first-child{padding-top:0}.project-unit-row>span{color:var(--muted);min-width:80px}.project-unit-row .unit-tags{flex:1}.project-detail-page .unit-tags span{font-size:14px}
.project-detail-page .source-details{margin-top:9px;padding-top:0;border:0;font-size:13px}.project-detail-page .source-details .source-text{margin-top:8px;font-size:14px}
.project-detail-page .strategy-links{padding:0 16px}.project-detail-page .strategy-links>div{padding:10px 0;border-bottom:1px solid #e8e1ef}.project-detail-page .strategy-links>div:last-child{border:0}.project-detail-page .strategy-links small{font-size:13px;color:#766a81;margin-bottom:4px}.project-detail-page .strategy-links strong{display:flex;align-items:baseline;gap:8px;font-size:15px;line-height:1.7;font-weight:500;color:#4b3b5c}.strategy-code{display:inline-block;min-width:37px;padding:1px 5px;border-radius:5px;background:#f0e9f6;border:1px solid #e3d8ec;text-align:center;font-size:12px;color:#715486;flex-shrink:0}
.project-detail-page .timeline-select{display:flex;align-items:center;gap:8px;min-width:0}.project-detail-page .timeline-select label{font-size:14px;margin:0;white-space:nowrap}.project-detail-page .timeline-select select{width:110px;font-size:14px;min-height:36px;background:white}
.project-detail-page .timeline{min-width:780px}.project-detail-page .timeline-head,.project-detail-page .timeline-row{grid-template-columns:43% 57%}
.project-detail-page .timeline-head{background:#faf8fc;border-top:0}.project-detail-page .timeline-head>div:first-child{padding:11px 18px;font-size:14px}.project-detail-page .timeline-months span{padding:8px 2px;font-size:13px}.project-detail-page .timeline-months small{margin-top:1px;font-size:12px;color:var(--muted)}
.project-activity-row{scroll-margin-top:18px;border-bottom:1px solid #ded5e7}.project-activity-row:last-child{border-bottom:0}.project-activity-row>summary{list-style:none;cursor:pointer;border-top:0}.project-activity-row>summary::-webkit-details-marker{display:none}.project-activity-row:nth-child(odd)>summary{background:#faf8fc}.project-activity-row>summary:hover{background:#f2edf7}
.project-detail-page .timeline-activity{padding:12px 15px;gap:9px;line-height:1.75;font-size:15px;align-items:flex-start}.project-detail-page .timeline-activity strong{font-size:15px;font-weight:600;color:#453650}.project-detail-page .timeline-activity>span{font-size:13px;color:#715786;background:#ece4f3;border-radius:5px;padding:1px 5px}.project-detail-page .timeline-activity small{font-size:13px;line-height:1.6;margin-top:4px}.project-detail-page .timeline-activity>svg{width:12px;height:16px;flex-shrink:0;margin-top:5px;color:var(--accent)}
.project-activity-row[open] .timeline-activity>svg{transform:rotate(90deg)}.project-activity-row[open]>summary{background:#eee5f6}.project-activity-row[open]{border-left:3px solid #9475ab}
.project-detail-page .timeline-cell.scheduled:after{background:#9d83b1;height:15px}.project-detail-page .timeline-no-period{color:var(--muted);font-size:13px}
.project-detail-page .activity-content{margin:0;padding:14px 16px;background:#f8f5fb;font-size:15px}.project-detail-page .activity-content h3{font-size:14px;margin:0 0 6px;color:var(--accent-strong)}.project-detail-page .activity-content .two-columns{gap:12px}.project-detail-page .activity-content .two-columns>div{border:1px solid #ded3e7;background:#fff;border-radius:8px;padding:12px 14px}.project-detail-page .activity-content p{margin:6px 0 10px}.project-detail-page .activity-note{margin-top:10px;padding:10px;background:var(--accent-soft)}.project-detail-page .activity-source{margin-top:10px}
.project-detail-page .data-table th,.project-detail-page .data-table td{padding:12px 18px}.project-detail-page .data-table th{font-size:14px;background:#fbf9fc;border-top:0}.project-detail-page .data-table td{font-size:15px;line-height:1.8}.project-detail-page .data-table td+td{border-left:1px solid #ece6f1}.project-detail-page .data-table tbody tr:nth-child(even){background:#fbf9fd}.project-detail-page .data-table .source-text{margin:0;font-size:15px}
.project-indicators .data-table{table-layout:fixed;min-width:850px}.project-indicators .data-table th:first-child{width:10%}.project-indicators .data-table th:nth-child(2){width:34%}.project-indicators .data-table th:nth-child(3){width:15%}.project-indicators .data-table th:nth-child(4){width:29%}.project-indicators .data-table th:nth-child(5){width:12%}.project-detail-page .project-indicators th,.project-detail-page .project-indicators td{padding:12px;overflow-wrap:anywhere}.indicator-type{display:inline-block;padding:4px 8px;border-radius:6px;background:#eee7f5;font-size:14px;color:var(--accent-strong);white-space:nowrap}.indicator-type small{display:block;font-size:12px;color:var(--muted)}
.project-budget-total{font-size:14px}.project-budget-total strong{font-size:17px;color:var(--accent-strong);margin-left:6px}.project-budget-breakdown{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 18px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line)}.project-budget-breakdown strong{font-weight:500;color:var(--ink);margin-left:6px}
.project-detail-page .panel-foot{padding:9px 18px;font-size:13px;background:#fcfafc}.project-empty-note{margin:0;padding:14px 18px;font-size:14px;color:var(--muted)}
.project-risk-section{display:flex;flex-direction:column;gap:20px}.project-risk-panel>.panel-heading{background:#f7f2eb}.project-risk-panel .project-section-icon{background:#eee2d1;color:#927347}
.project-detail-page .trigger-list{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.project-detail-page .trigger-card{padding:14px 16px;gap:12px;border:1px solid #dcd1e5;border-radius:9px;background:#faf7fc}.project-detail-page .trigger-card h3{font-size:16px;margin-bottom:5px;color:#4e3b5d}.project-detail-page .trigger-card p{margin-top:7px;font-size:13px}.project-detail-page .trigger-date{font-size:14px;background:#eee5f5;border:1px solid #ddcfe7;color:#6b4e80}.project-detail-page .trigger-icon{background:#eee5f5;color:#806293}
.project-detail-page .source-reference{margin-top:16px;font-size:13px}
.project-detail-page .count-chip{background:#ede5f4;color:#735788}

/* Monthly reporting directly inside the project activity rows. */
.inline-report-context{border:1px solid #d9cce4;border-left:4px solid #9475ab;border-radius:10px;background:#fbf8fd;padding:13px 17px}
.inline-report-month{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline-report-month label{font-size:16px;margin:0;color:#4e3b5d}.inline-report-month select{width:235px;min-height:40px;font-size:15px;background:white}.inline-report-context>p{font-size:13px;color:var(--muted);margin:6px 0 0}.inline-lock-note{display:flex;align-items:center;gap:9px;padding:10px 12px;background:#f3eee5;border:1px solid #e4d8c5;border-radius:7px;margin-top:10px;font-size:14px;color:#786342}.inline-lock-note svg{width:17px;height:17px;flex-shrink:0}.inline-submitted-note{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-top:10px}.inline-grants{margin-top:10px;font-size:14px}.inline-grants>summary{color:var(--accent);cursor:pointer}.inline-grants .content-card{margin-top:10px;padding:16px}
.inline-report-form{margin:0;min-width:0}.inline-report-form>fieldset{border:0;margin:0;padding:0;min-width:0}.inline-activity-badge{display:table;margin-top:6px;padding:2px 7px;border-radius:5px;font-size:12px;font-weight:400;border:1px solid #e1d8e8;background:#f5f1f8;color:#71657a}.inline-activity-badge.pending{background:#fbf1df;border-color:#ead7b6;color:#816126}.inline-activity-badge.saved{background:#edf5f0;border-color:#d4e4da;color:#466e56}
.inline-activity-editor{padding:15px 18px;background:#fbf9fd;border-top:1px solid #ded3e7}.inline-activity-choice{display:flex;flex-wrap:wrap;align-items:center;gap:7px 18px;margin-bottom:12px}.inline-activity-choice label{display:flex;align-items:center;gap:8px;font-size:14px;margin:0}.inline-activity-choice input{width:17px;min-height:17px;height:17px;margin:0}.inline-activity-choice>span{font-size:13px;color:var(--muted)}
.project-detail-page .inline-activity-editor .draft-activity-body{padding:0}.inline-main-fields{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px}.inline-activity-editor label,.inline-project-summary label{display:block;font-size:15px;font-weight:500;color:#50415c}.inline-activity-editor select,.inline-activity-editor textarea,.inline-activity-editor input[type=date],.inline-project-summary textarea{font-size:15px;background:#fff;margin-top:6px;width:100%}.inline-activity-editor textarea{line-height:1.8;resize:vertical;min-height:95px}.inline-activity-editor .draft-two-columns{gap:16px;margin-top:12px}.inline-activity-editor .draft-delay-note{margin-top:10px}.inline-activity-editor [hidden]{display:none!important}.inline-optional-fields{margin-top:12px;font-size:14px}.inline-optional-fields>summary,.inline-plan-reference>summary{cursor:pointer;color:var(--accent)}.inline-optional-fields>label{max-width:330px;margin-top:12px}.inline-output-field{margin-top:12px}.inline-row-save{display:flex;align-items:center;gap:12px;margin-top:13px}.inline-row-save span{font-size:13px;color:var(--muted)}
.inline-plan-reference{border-top:1px solid #e3dbe9;font-size:14px;background:#f8f5fb}.inline-plan-reference>summary{padding:10px 18px}.inline-plan-reference .activity-content{border-top:1px solid #e3dbe9}.inline-outside-year{padding:12px 18px;margin:0;color:var(--muted);font-size:14px}.inline-project-summary{margin-top:14px;padding:14px 18px}.inline-project-summary textarea{resize:vertical;line-height:1.8}
.project-detail-page .inline-save-bar{margin-top:14px;position:sticky;bottom:12px;z-index:5;padding:12px 16px;border-color:#cbb9d9;background:#fff;box-shadow:0 3px 18px #4a32521a;gap:10px}.inline-save-bar>div{min-width:190px}.inline-save-bar strong{font-size:15px}.inline-save-bar p{margin:3px 0 0;font-size:13px}.inline-validation{border:1px solid #e2d6be;background:#fffaf0;border-radius:9px;padding:12px 16px;font-size:14px}.inline-validation>summary{cursor:pointer;color:#806632}.inline-validation li{margin:8px 0}.inline-validation .text-button{text-align:left;white-space:normal;font-size:14px}
.inline-report-form fieldset:disabled textarea,.inline-report-form fieldset:disabled select{background:#f5f2f6;color:#6f6577}
.inline-activity-editor textarea,.inline-project-summary textarea{border:1px solid #d8cce2;border-radius:8px;padding:10px 12px;font-family:inherit}.inline-activity-editor textarea:focus,.inline-project-summary textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #68547c20}

/* Strong month boundaries and a current-month marker on the chart only. */
.project-detail-page .timeline-cell{border-left:1px solid #c6b6d4}
.project-detail-page .timeline-cell.quarter-start{border-left:2px solid #a991bb}
.project-detail-page .timeline-months span{border-left:1px solid #c6b6d4}
.project-detail-page .timeline-months span:nth-child(4),.project-detail-page .timeline-months span:nth-child(7),.project-detail-page .timeline-months span:nth-child(10){border-left:2px solid #a991bb}
.project-detail-page .project-activity-row[open]{border-left:0}
.project-detail-page .project-activity-row[open]>.timeline-row{box-shadow:inset 3px 0 #9475ab}
.timeline-current-key{display:flex;align-items:center;gap:8px;padding:7px 18px;font-size:13px;color:#805730;background:#fcfaf7;border-bottom:1px solid #e3d8e8}
.timeline-current-key i{height:18px;border-left:2px dashed #a76b36;display:inline-block}
.project-detail-page .timeline-months .timeline-current-heading{color:#845328;background:#f7ecd9;font-weight:600;position:relative}
.project-detail-page .timeline-months .timeline-current-heading small{color:#845328}
.project-detail-page .timeline-current-cell:before{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed #a76b36;transform:translateX(-50%);z-index:2;pointer-events:none}

/* Project workspace — selected layered-plum concept, desktop trial.
   Shared dark palette; the global theme switch controls every route and dialog. */
body:is(.theme-dark,.theme-light) {background-attachment:fixed}
body.theme-dark{--ink:#f7eff9;--muted:#d1c1d7;--navy:#29182f;--teal:#e5b9f0;--line:#73577c;--bg:#1d1125;--accent:#e6bdf0;--accent-strong:#f2d8f8;--accent-soft:#62476e;--surface:#45314f;--surface-muted:#382540;--focus:#e8bcf8;--draft-soft:#503b5b;--gold:#e8baf2;color:var(--ink);color-scheme:dark;background:radial-gradient(ellipse at 86% 0%,#57335d 0,transparent 55%),linear-gradient(145deg,#331b3d,#170f1f 75%)}
:is(.theme-dark,.theme-light) .sidebar {border-right-width:1px;border-right-style:solid}
.theme-dark .sidebar{background:linear-gradient(160deg,#402047,#24142d 60%,#1b1124);border-right-color:#ffffff09;color:#e6d9ec}
:is(.theme-dark,.theme-light) .sidebar .brand {gap:9px}
:is(.theme-dark,.theme-light) .sidebar .brand>span {font-size:23px}
.theme-dark .brand-plus {color:#e2a7ed}
:is(.theme-dark,.theme-light) .sidebar nav a {font-size:15px;border-width:0;border-style:none;padding:13px 12px;border-radius:12px}
.theme-dark .sidebar nav a{border-color:currentColor}
.theme-dark .sidebar nav a:hover {background:#69466f66}
.theme-dark .sidebar nav a.active {background:#f0dcf5;color:#51245e;box-shadow:0 4px 18px #13091b15}
:is(.theme-dark,.theme-light) .sidebar nav a svg {width:21px;height:21px}
:is(.theme-dark,.theme-light) .workspace-label {margin-top:32px}
.theme-dark .workspace-label{color:#cdb7d5}
.theme-dark .workspace-label span {border-color:#ffffff24;color:#dfcee7}
.theme-dark .planning-secondary-nav {border-top-color:#ffffff19}
.theme-dark .sidebar-user,.theme-dark .site-footer {border-color:#ffffff15}
.theme-dark .sidebar-user small,.theme-dark .account-password-link,.theme-dark .version-card {color:#d1bfd9}
.theme-dark .version-card {background:#ffffff05}
:is(.theme-dark,.theme-light) .topbar {backdrop-filter:blur(16px);padding:0 26px}
.theme-dark .topbar{background:#5a435f99;border-color:#ffffff0d}
:is(.theme-dark,.theme-light) .topbar-left {font-size:16px}
.theme-dark .topbar-left{color:#ead9ef}
:is(.theme-dark,.theme-light) .topbar-right {gap:14px}
.theme-dark .local-pill,.theme-dark .demo-pill {color:#e1cde7;background:#ffffff09;border-color:#ffffff20}
.theme-dark .local-pill>span {background:#93dcc4}
:is(.theme-dark,.theme-light) #main {padding:24px 26px 28px}
.theme-dark .project-detail-page {--project-heading:#f6eafb;--project-border:#72547e}
:is(.theme-dark,.theme-light) .back-link {font-size:14px;margin-bottom:14px}
.theme-dark .back-link{color:#d7c2df}
:is(.theme-dark,.theme-light) .project-header {border-width:0;border-style:none;border-radius:18px;padding:14px 22px 0;margin-bottom:16px}
.theme-dark .project-header{border-color:currentColor;background:linear-gradient(110deg,#57405f77,#63496b88);box-shadow:none}
:is(.theme-dark,.theme-light) .project-header h1 {font-size:25px;line-height:1.5;margin-bottom:6px;font-weight:500}
.theme-dark .project-header h1{color:#f9effc}
:is(.theme-dark,.theme-light) .project-header-top {margin-bottom:9px}
:is(.theme-dark,.theme-light) .detail-meta {padding-bottom:12px}
.theme-dark .detail-meta{color:#d6c3df}
.theme-dark .detail-meta strong {color:#f2e7f6}
:is(.theme-dark,.theme-light) .outline-badge,:is(.theme-dark,.theme-light) .neutral-badge,:is(.theme-dark,.theme-light) .so-badge {border-width:0;border-style:none;border-radius:8px}
.theme-dark .outline-badge,.theme-dark .neutral-badge,.theme-dark .so-badge{border-color:currentColor;background:#7e5c8b66;color:#f3defa}
.theme-dark .plan-version {color:#d8c6e0}
:is(.theme-dark,.theme-light) .project-workspace-actions {margin:0 -22px;padding:9px 22px;border-top-width:1px;border-top-style:solid;border-radius:0 0 18px 18px}
.theme-dark .project-workspace-actions{background:#ffffff04;border-top-color:#ffffff10}
.theme-dark .project-members p {color:#e1cfe9}
:is(.theme-dark,.theme-light) .project-workspace-buttons .button {font-size:14px;min-height:36px;padding:6px 11px}
:is(.theme-dark,.theme-light) .project-sections {gap:18px}
:is(.theme-dark,.theme-light) .panel {border-width:1px;border-style:solid;border-radius:20px}
.theme-dark .panel{background:#4b3655;border-color:#ffffff12;box-shadow:0 12px 30px #10071714}
:is(.theme-dark,.theme-light) .panel-heading {border-width:0;border-style:none;padding:20px 22px 12px}
.theme-dark .panel-heading{background:transparent;border-color:currentColor}
:is(.theme-dark,.theme-light) .panel-heading h2,:is(.theme-dark,.theme-light) .project-group-heading h2 {font-weight:500;font-size:22px}
.theme-dark .panel-heading h2,.theme-dark .project-group-heading h2{color:#f5eafa}
:is(.theme-dark,.theme-light) .panel-heading p {font-size:14px}
.theme-dark .panel-heading p{color:#d3bedc}
:is(.theme-dark,.theme-light) .project-section-icon {border-radius:11px;width:36px;height:36px}
.theme-dark .project-section-icon{background:#77538577;color:#e1b7ef}
:is(.theme-dark,.theme-light) .project-heading-count {font-size:14px}
.theme-dark .project-heading-count{color:#d3bedc}
:is(.theme-dark,.theme-light) .inline-report-context {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;padding:13px 20px;border-width:1px;border-style:solid;border-radius:16px}
.theme-dark .inline-report-context{border-color:#ffffff12;background:#523a5b99}
:is(.theme-dark,.theme-light) .inline-report-month,:is(.theme-dark,.theme-light) .inline-report-context>p:first-of-type,:is(.theme-dark,.theme-light) .inline-lock-note,:is(.theme-dark,.theme-light) .inline-submitted-note {grid-column:1 / -1}
:is(.theme-dark,.theme-light) .inline-report-context>.inline-grants {margin:0;align-self:start}
:is(.theme-dark,.theme-light) .inline-report-context>.inline-grants[open] {grid-column:1 / -1}
:is(.theme-dark,.theme-light) .inline-report-month label {font-weight:500}
.theme-dark .inline-report-month label{color:#f3e6f9}
:is(.theme-dark,.theme-light) .inline-report-context>p {font-size:14px;margin:0}
.theme-dark .inline-report-context>p{color:#d3c0dc}
:is(.theme-dark,.theme-light) .inline-report-month select {width:235px}
:is(.theme-dark,.theme-light) .inline-grants {font-size:14px}
.theme-dark .status-chip {color:#edcef6;background:#79518b66}
.theme-dark .status-chip.report-sent,.theme-dark .inline-activity-badge.saved {color:#b2eed4;background:#2b54494d;border-color:#94dcb43d}
.theme-dark .inline-lock-note {background:#6b50414d;border-color:#e0b08a38;color:#f1d0af}
:is(.theme-dark,.theme-light) .timeline-panel {padding:0 16px 16px}
.theme-dark .timeline-panel{background:linear-gradient(120deg,#523c5d,#412d4b)}
:is(.theme-dark,.theme-light) .timeline-panel>.panel-heading {padding:20px 5px 8px}
:is(.theme-dark,.theme-light) .timeline-select label {font-size:14px}
.theme-dark .timeline-select label{color:#dfcee7}
:is(.theme-dark,.theme-light) .timeline-select select {font-size:15px}
.theme-dark .timeline-select select{background:#3c2946;color:#fff0ff;border-color:#a486b1}
:is(.theme-dark,.theme-light) .timeline-current-key {border-width:0;border-style:none;padding:0 6px 13px;font-size:13px}
.theme-dark .timeline-current-key{background:transparent;color:#edb9b8;border-color:currentColor}
:is(.theme-dark,.theme-light) .timeline-current-key i {height:16px}
.theme-dark .timeline-current-key i{border-color:#eea19b}
:is(.theme-dark,.theme-light) .timeline-head,:is(.theme-dark,.theme-light) .timeline-row {grid-template-columns:42% 58%}
:is(.theme-dark,.theme-light) .timeline-head {border-width:0;border-style:none;border-radius:12px 12px 0 0}
.theme-dark .timeline-head{background:#32203d70;border-color:currentColor;color:#e3d1ec}
:is(.theme-dark,.theme-light) .timeline-head>div:first-child {font-size:14px;padding:12px}
:is(.theme-dark,.theme-light) .timeline-months span {font-size:13px;padding:9px 1px}
.theme-dark .timeline-months span{border-color:#ffffff18}
:is(.theme-dark,.theme-light) .timeline-months small {font-size:12px}
.theme-dark .timeline-months small{color:#ccbad6}
:is(.theme-dark,.theme-light) .timeline-months span:nth-child(4),:is(.theme-dark,.theme-light) .timeline-months span:nth-child(7),:is(.theme-dark,.theme-light) .timeline-months span:nth-child(10) {border-left-width:1px;border-left-style:solid}
.theme-dark .timeline-months span:nth-child(4),.theme-dark .timeline-months span:nth-child(7),.theme-dark .timeline-months span:nth-child(10){border-left-color:#e0c5ee55}
:is(.theme-dark,.theme-light) .timeline-months .timeline-current-heading {border-radius:8px 8px 0 0}
.theme-dark .timeline-months .timeline-current-heading{background:#ab6e7740;color:#ffd1c9}
.theme-dark .timeline-months .timeline-current-heading small {color:#ffd1c9}
:is(.theme-dark,.theme-light) .project-activity-row {border-width:0;border-style:none;border-bottom-width:1px;border-bottom-style:solid;scroll-margin-top:20px}
.theme-dark .project-activity-row{border-color:currentColor;border-bottom-color:#ffffff17}
:is(.theme-dark,.theme-light) .project-activity-row>summary {transition:background .15s ease}
.theme-dark .project-activity-row>summary{background:transparent}
.theme-dark .project-activity-row>summary:hover {background:#c4a4d319}
:is(.theme-dark,.theme-light) .project-activity-row[open] {border-radius:14px;border-width:0;border-style:none;margin-bottom:7px}
.theme-dark .project-activity-row[open]{background:#6e507b55;border-color:currentColor}
:is(.theme-dark,.theme-light) .project-activity-row[open]>.timeline-row {border-radius:14px 14px 0 0}
.theme-dark .project-activity-row[open]>.timeline-row{background:#9672a52b;box-shadow:none}
:is(.theme-dark,.theme-light) .timeline-activity {padding:15px 12px;gap:8px;line-height:1.7}
:is(.theme-dark,.theme-light) .timeline-activity strong {font-size:16px;font-weight:500}
.theme-dark .timeline-activity strong{color:#f5eafa}
:is(.theme-dark,.theme-light) .timeline-activity>span {font-size:14px;padding:2px 6px;border-radius:8px}
.theme-dark .timeline-activity>span{background:#b888c533;color:#f4e1fb}
.theme-dark .project-activity-row[open] .timeline-activity>span {background:#d5abe7;color:#382043}
:is(.theme-dark,.theme-light) .timeline-activity small {font-size:13px}
.theme-dark .timeline-activity small{color:#cfbada}
:is(.theme-dark,.theme-light) .timeline-activity>svg {width:13px}
.theme-dark .timeline-activity>svg{color:#e6cbed}
:is(.theme-dark,.theme-light) .timeline-cell {border-left-width:1px;border-left-style:solid}
.theme-dark .timeline-cell{border-left-color:#d0afd13d}
:is(.theme-dark,.theme-light) .timeline-cell.quarter-start {border-left-width:1px;border-left-style:solid}
.theme-dark .timeline-cell.quarter-start{border-left-color:#ddbee76b}
:is(.theme-dark,.theme-light) .timeline-cell.scheduled:after {height:12px;left:0;right:0}
.theme-dark .timeline-cell.scheduled:after{background:#d2a8e6;box-shadow:0 2px 8px #e4a9ff0b}
:is(.theme-dark,.theme-light) .timeline-cell.scheduled:not(.scheduled + .scheduled):after {border-radius:8px 0 0 8px}
:is(.theme-dark,.theme-light) .timeline-cell.scheduled:not(:has(+ .scheduled)):after {border-top-right-radius:8px;border-bottom-right-radius:8px}
:is(.theme-dark,.theme-light) .timeline-current-cell:before {border-left-width:2px;border-left-style:dashed}
.theme-dark .timeline-current-cell:before{border-left-color:#efa19c}
:is(.theme-dark,.theme-light) .inline-activity-badge {border-radius:6px;font-size:12px}
.theme-dark .inline-activity-badge{background:#75508344;color:#e5c6ed;border-color:#ddbbe329}
.theme-dark .inline-activity-badge.pending {background:#8253433b;border-color:#e7b4933d;color:#f0c7a8}
:is(.theme-dark,.theme-light) .inline-activity-editor {border-width:0;border-style:none;padding:20px 22px 16px}
.theme-dark .inline-activity-editor{background:#ffffff04;border-color:currentColor}
:is(.theme-dark,.theme-light) .inline-activity-choice {gap:8px 16px;margin-bottom:18px}
:is(.theme-dark,.theme-light) .inline-activity-choice label {display:flex;align-items:center;gap:10px;font-size:15px}
.theme-dark .inline-activity-choice label{color:#f3e7f8}
:is(.theme-dark,.theme-light) .inline-activity-choice>span {font-size:13px}
.theme-dark .inline-activity-choice>span{color:#d9c4e3}
:is(.theme-dark,.theme-light) .inline-activity-choice input {width:19px;height:19px;min-height:19px}
.theme-dark .inline-activity-choice input{accent-color:#e5b8ee}
:is(.theme-dark,.theme-light) .inline-main-fields {grid-template-columns:210px minmax(0,1fr);gap:20px}
:is(.theme-dark,.theme-light) .inline-main-fields>label {margin-bottom:0}
:is(.theme-dark,.theme-light) .inline-activity-editor label,:is(.theme-dark,.theme-light) .inline-project-summary label {font-size:16px;font-weight:400}
.theme-dark .inline-activity-editor label,.theme-dark .inline-project-summary label{color:#f0e2f5}
:is(.theme-dark,.theme-light) input:not([type=checkbox]),:is(.theme-dark,.theme-light) select,:is(.theme-dark,.theme-light) textarea {border-width:1px;border-style:solid;border-radius:10px;font-family:inherit;font-size:16px;min-height:44px;padding:10px 13px}
.theme-dark input:not([type=checkbox]),.theme-dark select,.theme-dark textarea{color:#fff7ff;background:#302139;border-color:#ab8bb9;color-scheme:dark}
:is(.theme-dark,.theme-light) textarea {line-height:1.85}
.theme-dark textarea{caret-color:#f0b6fa}
:is(.theme-dark,.theme-light) .inline-activity-editor textarea {min-height:120px}
:is(.theme-dark,.theme-light) input::placeholder,:is(.theme-dark,.theme-light) textarea::placeholder {opacity:1}
.theme-dark input::placeholder,.theme-dark textarea::placeholder{color:#c6afd1}
:is(.theme-dark,.theme-light) input:focus,:is(.theme-dark,.theme-light) select:focus,:is(.theme-dark,.theme-light) textarea:focus {outline-width:2px;outline-style:solid;outline-offset:2px}
.theme-dark input:focus,.theme-dark select:focus,.theme-dark textarea:focus{border-color:#ecc4fa;outline-color:#dcaaee;box-shadow:0 0 0 5px #d9a4e918;background:#35243e}
.theme-dark select option {background:#302139;color:#fff3ff}
:is(.theme-dark,.theme-light) input[type=checkbox]:focus {outline-width:2px;outline-style:solid}
.theme-dark input[type=checkbox]:focus{outline-color:#ecc4fa;box-shadow:none}
:is(.theme-dark,.theme-light) .inline-optional-fields {margin-top:18px;border-top-width:1px;border-top-style:solid;padding-top:13px;font-size:15px}
.theme-dark .inline-optional-fields{border-top-color:#ffffff16}
:is(.theme-dark,.theme-light) .inline-optional-fields>summary,:is(.theme-dark,.theme-light) .inline-plan-reference>summary {font-weight:400}
.theme-dark .inline-optional-fields>summary,.theme-dark .inline-plan-reference>summary{color:#e2cbe9}
.theme-dark .inline-plan-reference {background:transparent;border-color:#ffffff18}
:is(.theme-dark,.theme-light) .inline-plan-reference>summary {padding:13px 22px;font-size:15px}
:is(.theme-dark,.theme-light) .inline-row-save {margin-top:18px;gap:15px}
.theme-dark .inline-row-save span {color:#d6bfdf}
:is(.theme-dark,.theme-light) .button {border-width:1px;border-style:solid;border-radius:10px;padding:10px 15px;font-size:15px;font-weight:500;min-height:44px}
.theme-dark .button{color:#eddef4;background:#795e8033;border-color:#ab8bb9;box-shadow:none}
.theme-dark .button:hover:not(:disabled) {background:#8c689a55;border-color:#e4beef}
:is(.theme-dark,.theme-light) .button.primary {font-weight:600}
.theme-dark .button.primary{background:#efd5f6;color:#3c1949;border-color:#efd5f6;box-shadow:0 3px 12px #14071d20}
.theme-dark .button.primary:hover:not(:disabled) {background:#f9e8ff;color:#34103f;border-color:#f9e8ff}
:is(.theme-dark,.theme-light) button:disabled,:is(.theme-dark,.theme-light) .button.primary:disabled {opacity:1}
.theme-dark button:disabled,.theme-dark .button.primary:disabled{color:#b9a7c3;background:#4e3b58;border-color:#735a80;box-shadow:none}
:is(.theme-dark,.theme-light) button:focus-visible,:is(.theme-dark,.theme-light) a:focus-visible,:is(.theme-dark,.theme-light) summary:focus-visible {outline-width:2px;outline-style:solid;outline-offset:4px}
.theme-dark button:focus-visible,.theme-dark a:focus-visible,.theme-dark summary:focus-visible{outline-color:#efd2f9}
:is(.theme-dark,.theme-light) .inline-save-bar {border-width:1px;border-style:solid;border-radius:16px;padding:16px 18px;bottom:12px;gap:10px}
.theme-dark .inline-save-bar{background:#513c5c;border-color:#a285b253;box-shadow:0 8px 30px #0e061b66}
:is(.theme-dark,.theme-light) .inline-save-bar>div {flex:1 1 220px;min-width:180px}
:is(.theme-dark,.theme-light) .inline-save-bar strong {font-size:15px;font-weight:500}
.theme-dark .inline-save-bar strong{color:#f3e3fa}
:is(.theme-dark,.theme-light) .inline-save-bar p {font-size:13px;line-height:1.6}
.theme-dark .inline-save-bar p{color:#d2bedc}
:is(.theme-dark,.theme-light) .inline-save-bar .button {padding:10px 13px}
:is(.theme-dark,.theme-light) .inline-save-bar [data-action=draft-latest] {font-size:14px}
.theme-dark .inline-save-bar [data-action=draft-latest]{background:transparent;border-color:transparent}
:is(.theme-dark,.theme-light) .inline-save-bar [type=submit] {min-width:160px}
:is(.theme-dark,.theme-light) .inline-project-summary {padding:18px 22px}
.theme-dark .inline-project-summary{background:#493253}
:is(.theme-dark,.theme-light) .inline-validation {border-radius:14px}
.theme-dark .inline-validation{background:#64503f45;color:#ecd2b6;border-color:#ccac8347}
.theme-dark .inline-validation>summary {color:#edceb0}
:is(.theme-dark,.theme-light) .inline-report-form fieldset:disabled textarea,:is(.theme-dark,.theme-light) .inline-report-form fieldset:disabled select {opacity:1}
.theme-dark .inline-report-form fieldset:disabled textarea,.theme-dark .inline-report-form fieldset:disabled select{background:#3b2c43;color:#dac8e3;border-color:#7f658e}
:is(.theme-dark,.theme-light) .previous-report {border-width:1px;border-style:solid}
.theme-dark .previous-report{background:#35243e;color:#e6d3ee;border-color:#ffffff19}
.theme-dark .draft-warning,.theme-dark .draft-delay-note {background:#69523e55;color:#f6d5ac;border-color:#b78d6255}
.theme-dark .form-error,.theme-dark .danger {color:#ffb5b4}
:is(.theme-dark,.theme-light) #draft-error:not(:empty) {border-width:1px;border-style:solid}
.theme-dark #draft-error:not(:empty){background:#663b4f;color:#ffd6dc;border-color:#c58a9e66}
:is(.theme-dark,.theme-light) #draft-fields:disabled {opacity:1}
:is(.theme-dark,.theme-light) .project-card-heading,:is(.theme-dark,.theme-light) .project-output .project-card-heading,:is(.theme-dark,.theme-light) .project-outcome .project-card-heading {padding:13px 18px}
.theme-dark .project-card-heading,.theme-dark .project-output .project-card-heading,.theme-dark .project-outcome .project-card-heading{background:#ffffff05;border-color:#ffffff15}
:is(.theme-dark,.theme-light) .project-card-heading h3,:is(.theme-dark,.theme-light) .project-output h3,:is(.theme-dark,.theme-light) .project-outcome h3 {font-weight:500}
.theme-dark .project-card-heading h3,.theme-dark .project-output h3,.theme-dark .project-outcome h3{color:#efdcf8}
.theme-dark .project-card-heading h3 small,.theme-dark .project-card-heading h3 svg {color:#d6b7e4}
:is(.theme-dark,.theme-light) .project-card-body {padding:17px 18px}
.theme-dark .source-text {color:#f0e3f6}
.theme-dark .project-fact h4,.theme-dark .project-objective h4 {color:#e6c5f4}
:is(.theme-dark,.theme-light) .project-objective {border-radius:12px}
.theme-dark .project-objective{background:#b28ec011;border-color:#ac80c23b;border-left-color:#bb93ce}
.theme-dark .project-output,.theme-dark .project-outcome {border-color:#ffffff19}
.theme-dark .project-unit-row,.theme-dark .strategy-links>div {border-color:#ffffff17}
.theme-dark .strategy-links small {color:#cfb8db}
.theme-dark .strategy-links strong {color:#eee0f4}
.theme-dark .strategy-code,.theme-dark .indicator-type {background:#8e65994d;color:#edd5f7;border-color:#ffffff12}
.theme-dark .activity-content,.theme-dark .activity-note {background:#37243e;color:#e8d7f1}
.theme-dark .activity-content h3 {color:#e6c5f3}
:is(.theme-dark,.theme-light) .activity-content .two-columns>div {border-radius:12px}
.theme-dark .activity-content .two-columns>div{background:#51385d;border-color:#ffffff14}
.theme-dark .data-table th {background:#3a2744;color:#d9c0e5;border-color:#ffffff16}
.theme-dark .data-table td,.theme-dark .data-table td+td {color:#f1e2f8;border-color:#ffffff18}
.theme-dark .data-table tbody tr:nth-child(even) {background:#ffffff04}
.theme-dark .data-table tbody tr:hover {background:#ffffff08}
.theme-dark .panel-foot {background:#33223e66;border-color:#ffffff14;color:#ceb8d9}
.theme-dark .project-budget-total strong,.theme-dark .project-budget-breakdown strong {color:#f0d6fb}
.theme-dark .project-risk-panel>.panel-heading {background:transparent}
.theme-dark .project-risk-panel .project-section-icon {background:#77538577;color:#e1b7ef}
:is(.theme-dark,.theme-light) .trigger-card {border-radius:12px}
.theme-dark .trigger-card{background:#3d2948;border-color:#7b598d}
.theme-dark .trigger-card h3 {color:#f0d6fb}
.theme-dark .trigger-icon,.theme-dark .trigger-date,.theme-dark .count-chip {background:#6e4b7d77;border-color:#ffffff14;color:#e7c7f4}
.theme-dark dialog {background:#392640;color:#f2e5f8;border-color:#91739f;box-shadow:0 30px 100px #0c051baa;color-scheme:dark}
:is(.theme-dark,.theme-light) dialog::backdrop {backdrop-filter:blur(4px)}
.theme-dark dialog::backdrop{background:#100819b0}
.theme-dark .dialog-header {background:#503959;border-color:#ffffff17}
.theme-dark .dialog-header h2 {color:#f4e6fb}
.theme-dark .dialog-header .eyebrow {color:#d5a9e9}
.theme-dark .access-form input,.theme-dark .access-form select {background:#302139;color:#fff7ff}
.theme-dark .access-notice,.theme-dark .info-notice {background:#583863;color:#ead1f4;border-color:#9571a3}
.theme-dark .info-notice strong {color:#f4defe}
.theme-dark .toast {background:#f0d5f7;color:#3c2148;box-shadow:0 5px 30px #12051e55}


/* One persistent, keyboard-operable switch for every page including login. */
.theme-toggle {position:absolute;z-index:40;right:24px;top:13px;width:120px;height:44px;border:1px solid #a594b5;border-radius:28px;padding:4px;display:flex;align-items:center;background:#302338;color:#eadcf3;box-shadow:inset 0 2px 5px #0003;cursor:pointer;isolation:isolate;font-size:14px;font-weight:600}
.theme-toggle>* {pointer-events:none}
.theme-toggle-thumb {position:absolute;left:4px;top:4px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f9f7fc;color:#706078;box-shadow:0 2px 6px #0003;transition:transform .18s ease,background .18s ease;transform:translateX(76px)}
.theme-toggle-thumb svg {width:23px;height:23px;grid-area:1 / 1}
.theme-toggle-label {display:block;width:71px;text-align:center;line-height:1}
.theme-toggle .theme-sun {display:none}
.theme-toggle[aria-checked=false] {background:#e6e9eb;color:#405158;border-color:#bfcacf}
.theme-toggle[aria-checked=false] .theme-toggle-thumb {transform:translateX(0);color:#51676f}
.theme-toggle[aria-checked=false] .theme-toggle-label {margin-left:35px}
.theme-toggle[aria-checked=false] .theme-sun {display:block}
.theme-toggle[aria-checked=false] .theme-moon {display:none}
.theme-toggle:hover {filter:brightness(1.08)}
.theme-toggle:focus-visible {outline:3px solid #c28cda;outline-offset:3px}
.topbar {padding-right:166px}
body:is(.theme-dark,.theme-light) .topbar {padding-right:166px}
html[data-theme=dark] {background:#1d1125;color-scheme:dark}
html[data-theme=light] {background:#f2eff3;color-scheme:light}
@media(prefers-reduced-motion:reduce){.theme-toggle-thumb{transition:none}}

/* Shared dark surfaces for the report list, charts, plan editor and account pages. */
body.theme-dark :is(.visual-chart-panel,.stat-card,.monthly-counts>div,.filters,.monthly-filters,.visual-extra-grid,.monthly-extra-fields,.content-card,.activity-card,.budget-summary) {background:#493451;border-color:#ffffff18;color:var(--ink);box-shadow:none}
body.theme-dark :is(.stat-card.accent,.budget-summary>div:first-child) {background:#61436e;color:#f7e8fc}
body.theme-dark :is(.project-table th,.data-table th,.draft-activity-head) {background:#3b2944;color:#e7d4ef;border-color:#ffffff20}
body.theme-dark :is(.project-table td,.data-table td,.so-row,.panel-foot,.member-entry,.owner-project-foot,.monthly-list-heading,.budget-summary>div) {border-color:#ffffff20}
body.theme-dark :is(.project-table tbody tr:hover,.data-table tbody tr:hover) {background:#8e6a9d25}
body.theme-dark :is(.project-name-link,.so-info strong,.monthly-period-note strong,.visual-panel-heading,.so-ring-center,.owner-bar-label,.overall-status-heading h2) {color:#f4e8f9}
body.theme-dark :is(.project-no,.stat-icon,.so-track,.owner-bar-track,.overall-status-bar,.dashboard-bar) {background:#281c32;color:#d9b7e7}
body.theme-dark :is(.so-square,.so-badge,.neutral-badge,.outline-badge,.tiny-pill,.indicator-type) {background:#79568b55;border-color:#ac85bf44;color:#efd9fa}
body.theme-dark .so-SO2 {color:#b7dcf3;background:#42647855}
body.theme-dark .so-SO3 {color:#f2d6a6;background:#77604455}
body.theme-dark .so-SO4 {color:#f1bfde;background:#75445d55}
body.theme-dark :is(.workspace-tabs a[aria-current=page],.monthly-quick-filters a[aria-current=page]) {background:#79558b66;border-color:#d2a5e3;color:#f3dcfc}
body.theme-dark :is(.monthly-active-filters a,.visual-filter-chips a) {background:#76548266;color:#eed5f8}
body.theme-dark .overall-status-bar a {color:#182e2b}
body.theme-dark :is(.so-chart-facts b,.report-late) {color:#ffb5a9}
body.theme-dark .so-chart-facts .so-awaiting {color:#b8d4ac}
body.theme-dark :is(.so-chart+.so-chart,.overall-status,.unassigned-followup,.visual-filters,.chart-years span) {border-color:#ffffff24}
body.theme-dark :is(.status-chip.inactive,.danger) {color:#ffc1ca}
body.theme-dark .status-chip.inactive {background:#80455b66}
body.theme-dark :is(.audit-json,.previous-report,.activity-content,.activity-note) {background:#32223c;color:#efdef7;border-color:#856690}
body.theme-dark :is(.login-page,.login-side) {background:transparent}
body.theme-dark .login-story {background:linear-gradient(145deg,#4b2754,#221429 80%)}
body.theme-dark :is(.login-box h2,.login-intro h1) {color:#f7e8fd}
body.theme-dark :is(.login-intro p,.login-note,.login-facts span,.login-foot) {color:#d5c2df}
body:is(.theme-dark,.theme-light) .login-side {padding-top:80px}
body.theme-dark :is(.login-note,.password-reset-section) {border-color:#ffffff23}
body.theme-dark :is(.report-receipt,.draft-save-bar,.draft-warning) {border-color:#9575a3}
body.theme-dark .report-receipt {border-left-color:#8ed6b3}
body.theme-dark .draft-save-bar {background:#513c5c;box-shadow:0 8px 30px #0e061b55}
body:is(.theme-dark,.theme-light) :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary,.inline-report-context,.timeline-select) :is(input:not([type=checkbox]),select,textarea),
body:is(.theme-dark,.theme-light) #plan-form :is(input:not([type=checkbox]),select,textarea),
body:is(.theme-dark,.theme-light) .draft-recovery {border-width:1px;border-style:solid}
body.theme-dark :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary,.inline-report-context,.timeline-select) :is(input:not([type=checkbox]),select,textarea),
body.theme-dark #plan-form :is(input:not([type=checkbox]),select,textarea),
body.theme-dark .draft-recovery{background:#302139;color:#fff7ff;border-color:#ab8bb9;color-scheme:dark}
body.theme-dark #plan-form fieldset:disabled :is(input,select,textarea) {background:#3b2c43;color:#dac8e3;border-color:#7f658e}
body:is(.theme-dark,.theme-light) :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary) :is(input,select,textarea):focus,
body:is(.theme-dark,.theme-light) #plan-form :is(input,select,textarea):focus {outline-width:2px;outline-style:solid;outline-offset:2px}
body.theme-dark :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary) :is(input,select,textarea):focus,
body.theme-dark #plan-form :is(input,select,textarea):focus{outline-color:#e6b4f4;border-color:#ecc4fa;box-shadow:none}
body.theme-dark .copy-password-status {color:#b2eed4}
body.theme-dark .skip-link {background:#f0d5f7;color:#3c2148}
body.theme-dark .theme-toggle {background:#302338;color:#eadcf3;border-color:#a594b5}

.followup-panel {margin-top:24px;padding:24px}
.followup-deadline {font-size:14px;color:var(--muted);white-space:nowrap}
.followup-table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}
.followup-table th,.followup-table td {padding:14px 18px;border-bottom:1px solid #dce4e2;border-right:1px solid #dce4e2;text-align:left;vertical-align:middle}
.followup-table tr>:last-child {border-right:0}
.followup-table th:first-child {width:28%}
.followup-table th:nth-child(2)[rowspan] {width:16%}
.followup-table thead th {background:#f2f6f4;font-weight:650}
.followup-table .followup-group {text-align:center;background:#eaf1ed}
.followup-table small {display:block;font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);margin-top:4px}
.followup-table tbody th strong {font-size:18px}
.followup-base {font-size:21px;font-weight:650}
.followup-number {display:block;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:8px;text-align:left;color:inherit;cursor:pointer;font:inherit}
.followup-number>span {display:flex;align-items:baseline;gap:10px;justify-content:space-between}
.followup-number strong {font-size:24px}
.followup-number i {display:block;height:5px;border-radius:6px;background:#e4e9e6;overflow:hidden;margin-top:9px}
.followup-number b {display:block;height:100%;background:#947aa9;border-radius:6px}
.followup-delayed b {background:#bd5845}
.followup-overdue b {background:#9dbb95}
.followup-number:hover,.followup-number[aria-expanded=true] {background:#edf2ee;border-color:#b8cabc}
.followup-number:focus-visible {outline:3px solid #75628c;outline-offset:2px}
.followup-total {background:#f2f6f4}
.followup-dot {display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}
.followup-dot.delayed {background:#bd5845}.followup-dot.overdue {background:#9dbb95}
.followup-note {font-size:14px;line-height:1.8;color:var(--muted);margin:16px 0 0}
.followup-projects {border-top:1px solid #dce4e2;margin-top:20px;padding-top:16px;scroll-margin-top:90px}
.followup-list-heading {display:flex;align-items:center;justify-content:space-between;gap:16px}
.followup-list-heading h3 {margin:0;font-size:18px}.followup-list-heading h3 span {font-size:14px;font-weight:400;margin-left:12px}
.followup-project {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #dce4e2}
.followup-project>div:first-child {flex:1}.followup-project small {display:block;margin-top:7px;font-size:14px;color:var(--muted)}
.followup-reasons {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.followup-badge {border:1px solid;border-radius:7px;padding:6px 10px;font-size:14px;white-space:nowrap}
.followup-badge.delayed {background:#fbefeb;color:#a54232;border-color:#e3b6aa}
.followup-badge.overdue {background:#edf4e9;color:#456740;border-color:#bfd1b9}
body.theme-dark .followup-table th,body.theme-dark .followup-table td {border-color:rgba(221,194,238,.17)}
body.theme-dark .followup-table thead th,body.theme-dark .followup-total {background:rgba(27,15,37,.26)}
body.theme-dark .followup-table .followup-group {background:rgba(201,165,224,.12)}
body.theme-dark .followup-number i {background:rgba(216,194,229,.16)}
body.theme-dark .followup-all b {background:#c0a1d4}
body.theme-dark .followup-number:hover,body.theme-dark .followup-number[aria-expanded=true] {background:rgba(216,194,229,.1);border-color:rgba(216,194,229,.4)}
body.theme-dark .followup-number:focus-visible {outline-color:#e4c7f5}
body.theme-dark .followup-badge.delayed {color:#ffc0b5;background:rgba(189,88,69,.16);border-color:rgba(230,151,133,.45)}
body.theme-dark .followup-badge.overdue {color:#c7e4bc;background:rgba(157,187,149,.12);border-color:rgba(157,187,149,.45)}
body.theme-dark .followup-project,body.theme-dark .followup-projects {border-color:rgba(221,194,238,.17)}

/* Selected purple background stays fixed while translucent cards scroll over it. */
body.theme-dark {
  --glass-surface:rgba(28,18,39,.16);
  --glass-border:rgba(231,216,248,.18);
  --glass-shadow:0 8px 24px rgba(8,3,17,.16);
  background:#211329 url('/purple-glass-background-v1.png') center center / cover no-repeat fixed;
}
body:is(.theme-dark,.theme-light) :is(.panel,.visual-chart-panel,.stat-card,.monthly-counts>div,.filters,.monthly-filters,.visual-extra-grid,.monthly-extra-fields,.content-card,.activity-card,.budget-summary,.project-header,.inline-report-context) {border-width:1px;border-style:solid;border-radius:18px;-webkit-backdrop-filter:blur(10px) saturate(105%);backdrop-filter:blur(10px) saturate(105%)}
body.theme-dark :is(.panel,.visual-chart-panel,.stat-card,.monthly-counts>div,.filters,.monthly-filters,.visual-extra-grid,.monthly-extra-fields,.content-card,.activity-card,.budget-summary,.project-header,.inline-report-context){background:var(--glass-surface);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}
body.theme-dark .timeline-panel .timeline-head {background:rgba(15,9,27,.36)}
body.theme-dark .timeline-panel .timeline-activity strong {color:#f8f3fc}
body.theme-dark .timeline-panel .timeline-cell {border-color:rgba(224,205,246,.23)}
body.theme-dark :is(.stat-card.accent,.budget-summary>div:first-child) {
  background:linear-gradient(130deg,rgba(151,99,177,.3),rgba(81,46,104,.48));
}
body:is(.theme-dark,.theme-light) .sidebar {border-right-width:1px;border-right-style:solid;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
body.theme-dark .sidebar{background:linear-gradient(165deg,rgba(68,36,79,.82),rgba(28,16,39,.92));border-right-color:rgba(216,182,236,.16);box-shadow:inset -1px 0 0 rgba(227,198,248,.025)}
body:is(.theme-dark,.theme-light) .topbar {border-bottom-width:1px;border-bottom-style:solid;-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%)}
body.theme-dark .topbar{background:linear-gradient(100deg,rgba(135,99,150,.17),rgba(73,45,86,.28));border-bottom-color:rgba(224,194,245,.18);box-shadow:inset 0 1px 0 rgba(255,237,255,.06)}
body.theme-dark :is(.panel-heading,.project-card-heading,.monthly-list-heading,.project-workspace-actions) {
  background:rgba(218,183,240,.025);
  border-color:rgba(221,194,238,.13);
}
body.theme-dark :is(.project-table th,.data-table th,.draft-activity-head,.timeline-head) {
  background:rgba(27,15,37,.32);
  border-color:rgba(221,194,238,.13);
}
body.theme-dark :is(.project-table td,.data-table td,.so-row,.project-unit-row) {border-color:rgba(221,194,238,.12)}
body.theme-dark :is(.project-table tbody tr:hover,.data-table tbody tr:hover) {background:rgba(204,168,226,.075)}
body.theme-dark .project-activity-row[open] {background:rgba(184,142,208,.12)}
body.theme-dark .project-activity-row[open]>.timeline-row {background:rgba(207,170,229,.1)}
body.theme-dark .inline-activity-editor {background:rgba(53,32,66,.25)}
body.theme-dark :is(.inline-plan-reference,.panel-foot,.project-objective,.activity-content,.activity-note,.previous-report,.trigger-card) {
  background:rgba(36,21,46,.32);
  border-color:rgba(221,194,238,.15);
}
body.theme-dark .activity-content .two-columns>div {background:rgba(110,76,131,.17);border-color:rgba(221,194,238,.16)}
/* Avoid compounding blur on nested cards, especially in long activity forms. */
body:is(.theme-dark,.theme-light) .panel :is(.panel,.content-card,.activity-card) {-webkit-backdrop-filter:none;backdrop-filter:none}
body:is(.theme-dark,.theme-light) :is(.draft-save-bar,.project-detail-page .inline-save-bar) {-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
body.theme-dark :is(.draft-save-bar,.project-detail-page .inline-save-bar){background:linear-gradient(110deg,rgba(149,111,168,.15),rgba(78,45,98,.12)),rgba(49,29,62,.93);border-color:rgba(228,196,246,.35);box-shadow:inset 0 1px 0 rgba(255,236,255,.15),0 8px 28px rgba(11,4,21,.32)}
body:is(.theme-dark,.theme-light) dialog {-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
body.theme-dark dialog{background:linear-gradient(135deg,rgba(157,115,176,.12),rgba(59,32,76,.1)),rgba(43,25,53,.95);border-color:rgba(228,196,246,.35);box-shadow:inset 0 1px 0 rgba(255,236,255,.15),0 24px 80px rgba(11,4,21,.5)}
body.theme-dark .dialog-header {background:rgba(165,124,184,.12);border-color:rgba(221,194,238,.14)}
/* Maintain an opaque fallback when backdrop filtering is unavailable. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body.theme-dark {--glass-surface:linear-gradient(135deg,#493552,#35243f)}
}


.followup-mapping-note {margin-top:12px;font-size:14px;line-height:1.8;color:var(--muted)}
.followup-mapping-note summary {cursor:pointer}
.followup-mapping-note p {margin:8px 0}

/* SO identity from FY2570 V2.2 Word: purple / orange / blue / green.
   These are strategy identifiers, independent of reporting-status colors. */
body .so-SO1 {--so-bg:#ebdff5;--so-text:#70499c;--so-edge:#b79bce;--so-fill:#70499c}
body .so-SO2 {--so-bg:#ffe1cd;--so-text:#8a390d;--so-edge:#d99a70;--so-fill:#e46e2f}
body .so-SO3 {--so-bg:#c8e2f8;--so-text:#005594;--so-edge:#82afd4;--so-fill:#0070c0}
body .so-SO4 {--so-bg:#c4edc1;--so-text:#006741;--so-edge:#7dbb8b;--so-fill:#00955e}
body.theme-dark .so-SO1 {--so-bg:#49305f;--so-text:#e1c5f4;--so-edge:#a87ac5}
body.theme-dark .so-SO2 {--so-bg:#553421;--so-text:#ffd4b4;--so-edge:#b87546}
body.theme-dark .so-SO3 {--so-bg:#203c59;--so-text:#b9ddff;--so-edge:#518ac4}
body.theme-dark .so-SO4 {--so-bg:#234736;--so-text:#b6ebcd;--so-edge:#559c77}
body:is(.theme-dark,.theme-light) :is(.so-badge,.so-square):is(.so-SO1,.so-SO2,.so-SO3,.so-SO4) {
  background:var(--so-bg);color:var(--so-text);border:1px solid var(--so-edge);
}
body .so-fill:is(.so-SO1,.so-SO2,.so-SO3,.so-SO4) {background:var(--so-fill)}

body.theme-dark .report-table td:first-child > a.text-link {color:#fff}
body:is(.theme-dark,.theme-light) .report-table td:first-child > a.text-link:is(:hover,:focus-visible) {text-decoration:underline;text-underline-offset:3px}
body.theme-dark .report-table td:first-child > a.text-link:is(:hover,:focus-visible){color:#fff}

/* History remains beside the activity form; reading it never replaces form fields. */
.inline-history {margin:16px 20px;border:1px solid var(--line);border-radius:12px;background:rgba(111,88,139,.045);overflow:hidden}
.history-latest,.history-original,.history-entry {padding:14px 18px}
.inline-history h3,.inline-published h3 {font-size:16px;margin:0 0 10px}
.history-report-text {font-size:15px;line-height:1.8;display:grid;gap:9px}
.history-report-text .status-chip {justify-self:start}
.history-report-text .source-text {line-height:1.8}
.history-report-text strong {font-size:14px;color:var(--muted)}
.history-work {max-height:180px;overflow:auto;overflow-wrap:anywhere}
.history-empty {margin:0 0 10px}
.history-latest>p,.history-entry>p {margin-bottom:10px}
.history-older,.history-original {border-top:1px solid var(--line)}
.history-older>summary,.history-original>summary {padding:12px 18px;cursor:pointer;font-size:15px;font-weight:600}
.history-original>summary {padding:0}
.history-original[open]>summary {margin-bottom:12px}
.history-entry+.history-entry {border-top:1px solid var(--line)}
.inline-published {padding:18px 24px;border-top:1px solid var(--line)}
.inline-published .history-work {max-height:none}
.history-entry h4 {margin:0 0 6px;font-size:16px}
body.theme-dark .inline-history {background:rgba(17,10,26,.27);border-color:rgba(221,194,238,.2)}
body.theme-dark :is(.history-older,.history-original,.history-entry,.inline-published) {border-color:rgba(221,194,238,.18)}
body.theme-dark .inline-published {background:rgba(17,10,26,.14)}


/* Activity amendment requests: compact, readable in both existing themes. */
.notification-link { display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;padding:8px 12px }
.notification-link svg { width:19px;height:19px }
#request-count { min-width:23px;text-align:center;border-radius:20px;padding:1px 6px;background:var(--primary,#77518b);color:white }
.activity-request { margin-top:16px;padding-top:14px;border-top:1px solid var(--border,#d7cedf) }
.activity-request p { margin:0 0 9px }
.inline-scope-note { margin:0;padding:14px 22px;color:var(--text);background:rgba(93,164,132,.12) }
.request-card { margin-top:18px;padding:24px }
.request-card h2 { font-size:21px;margin:8px 0 }
.request-card h3 { font-size:17px;line-height:1.6 }
.request-card-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:24px }
.request-card-heading .status-chip { white-space:nowrap }
.request-comparison { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0 }
.request-comparison section { padding:16px;border:1px solid var(--border,#d7cedf);border-radius:10px;background:rgba(128,110,150,.05) }
.request-comparison h4 { margin:0 0 10px;font-size:15px }
.request-card-actions { display:flex;align-items:center;gap:12px;margin-top:16px }
#edit-request-form textarea,#edit-review-form textarea { width:100%;font:inherit;line-height:1.65;padding:12px 14px;border-radius:10px;border:1px solid var(--border,#cbbbd8);resize:vertical }
body.theme-dark #edit-request-form textarea,body.theme-dark #edit-review-form textarea { background:rgba(20,15,29,.68);color:#f8f3fc;border-color:rgba(224,204,242,.38) }
body.theme-dark .activity-request { border-color:rgba(224,204,242,.2) }
body.theme-dark .request-comparison section { background:rgba(16,12,23,.28);border-color:rgba(224,204,242,.2) }
body.theme-dark .notification-link { color:#f7eefc }

/* Unified planning notification workspace. */
.notification-tabs { margin-bottom:14px }
.notification-tabs a { display:inline-flex;align-items:center;gap:9px }
.notification-tab-count { padding:1px 8px;border-radius:14px;background:rgba(130,105,153,.14);font-size:13px }
.notification-toolbar { display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:12px 0 }
.notification-toolbar label { display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap }
.notification-toolbar select { width:auto;min-width:150px;min-height:39px;padding:7px 30px 7px 10px }
.notification-toolbar > span { font-size:14px;color:var(--muted) }
.notification-source-note { margin:8px 0 18px }
.notification-feed { display:grid;gap:16px }
.notification-feed .request-card { margin-top:0 }
.notification-report { padding:22px 24px }
.notification-report h2 { font-size:20px;line-height:1.6;margin:12px 0 8px }
.notification-report time { font-size:14px;color:var(--muted) }
.notification-report p { margin:8px 0 16px }
.notification-summary { margin:12px 0 18px }
.notification-summary .source-text { margin-top:10px }

.sidebar #request-count { display:block;width:fit-content;margin-top:4px;padding:2px 7px;font-size:11px;font-weight:500 }
.sidebar #request-count[hidden] { display:none }

/* Only the fields that changed in a published activity revision. */
.activity-change-field{padding:12px 0;border-top:1px solid var(--line)}
.activity-change-field>.draft-two-columns{margin-top:6px}
.activity-change-field>.draft-two-columns>div>span{display:block;margin-bottom:6px}

/* Each report month uses the same surface, including the current month's form. */
.activity-month-card{margin:16px 20px;border:1px solid var(--line);border-radius:12px;background:rgba(111,88,139,.045);overflow:hidden}
.inline-published.activity-month-card,.inline-activity-editor.activity-month-card,.history-entry.activity-month-card{padding:14px 18px}
.activity-month-card>p{margin-bottom:10px}
body:is(.theme-dark,.theme-light) .activity-month-card{border-width:1px;border-style:solid}
body.theme-dark .activity-month-card{background:rgba(17,10,26,.27);border-color:rgba(221,194,238,.2)}
body.theme-light .activity-month-card{background:rgba(111,88,139,.045);border:1px solid var(--line)}
.month-history-group{margin:16px 20px;border:0;background:transparent}
.month-history-group>.activity-month-card{margin:16px 0}

/* Read each month's result across one row; delayed work has three clear columns. */
.report-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:2px 0}
.report-detail-grid-late{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-detail-field{min-width:0;overflow-wrap:anywhere}
.report-detail-field>strong{display:block;margin-bottom:6px}
.report-detail-grid-late>.report-detail-field{padding:0 20px}
.report-detail-grid-late>.report-detail-field:first-child{padding-left:0}
.report-detail-grid-late>.report-detail-field:last-child{padding-right:0}
.report-detail-grid-late>.report-detail-field+.report-detail-field{border-left:1px solid var(--line)}
body.theme-dark .report-detail-grid-late>.report-detail-field+.report-detail-field{border-color:rgba(221,194,238,.2)}
.report-additional-fields{display:flex;flex-wrap:wrap;gap:12px 28px}
.report-additional-fields>.report-detail-field{flex:1 1 240px}
.history-report-text .report-actual-dates{margin:0;font-size:14px}

/* Match the report's reading order while keeping the same draft inputs in the DOM. */
.inline-entry-status{display:flex;align-items:flex-end;gap:12px 20px;margin-bottom:14px}
.inline-entry-status>label{width:280px;max-width:100%;margin:0;flex-shrink:0}
.inline-entry-status>.draft-delay-note{margin:0;padding:8px 12px;flex:1}
.inline-entry-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.inline-entry-fields.is-late{grid-template-columns:repeat(3,minmax(0,1fr))}
.inline-entry-fields>.inline-delay-fields{display:contents}
.inline-entry-fields label{min-width:0;margin:0}
.inline-entry-fields textarea{display:block;margin-top:6px;min-height:120px}

/* Report status tags share one shape and typography; only the status colours vary. */
.status-chip:is(.report-on-track,.report-late){display:inline-block;font:600 13px/1.8 'Leelawadee UI',Tahoma,'Segoe UI',system-ui,sans-serif;letter-spacing:normal;padding:3px 9px;border:1px solid;border-radius:15px;vertical-align:middle}
.status-chip.report-on-track,body.theme-light .status-chip.report-on-track{color:#23633f;background:#e4f4e9;border-color:#b6dcc5}
.status-chip.report-late,body.theme-light .status-chip.report-late{color:#a84329;background:#fff0e8;border-color:#efc7b4}
body.theme-dark .status-chip.report-on-track{color:#b6efd0;background:rgba(44,112,81,.36);border-color:rgba(127,210,162,.35)}
body.theme-dark .status-chip.report-late{color:#ffb5a9;background:rgba(168,75,50,.26);border-color:rgba(255,181,169,.35)}
.inline-part-comparison>section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px}
.inline-part-comparison .report-detail-grid{grid-template-columns:minmax(0,1fr);gap:12px}
.inline-part-comparison .report-detail-field{padding:0;border-left:0}
#roadmap-dialog:has(.inline-part-comparison) .draft-dialog-actions{flex-wrap:wrap}


/* Light palette only. Layout, type, spacing and control geometry are shared
   with dark mode above; do not introduce theme-specific dimensions here. */
body.theme-light {
  --ink:#342d3f;--muted:#70647c;--navy:#40324c;--teal:#72568c;
  --line:#d5ccdf;--bg:#f2eff3;--accent:#72568c;--accent-strong:#593d75;
  --accent-soft:#e9e0f0;--surface:#f7f4f9;--surface-muted:#eee8f3;
  --focus:#8b68a8;--draft-soft:#f0eaf5;--gold:#93759e;
  --glass-surface:rgba(250,247,252,.72);--glass-border:rgba(127,100,148,.22);
  --glass-shadow:0 8px 24px rgba(60,38,77,.055);
  color:var(--ink);color-scheme:light;
  background:radial-gradient(ellipse at 90% 4%,rgba(195,171,216,.16),transparent 52%),radial-gradient(ellipse at 15% 85%,rgba(222,210,233,.18),transparent 50%),#f2eff3;
  background-attachment:fixed;
}
body.theme-light .project-detail-page {--project-heading:#483453;--project-border:#d5ccdf}
body.theme-light :is(.panel,.visual-chart-panel,.stat-card,.monthly-counts>div,.filters,.monthly-filters,.visual-extra-grid,.monthly-extra-fields,.content-card,.activity-card,.budget-summary,.project-header,.inline-report-context) {
  background:var(--glass-surface);border-color:var(--glass-border);color:var(--ink);box-shadow:var(--glass-shadow);
}
body.theme-light .sidebar {background:linear-gradient(165deg,rgba(241,234,247,.96),rgba(231,223,239,.96));border-color:#d3c7df;color:#5c496d;box-shadow:inset -1px 0 0 #faf7fc}
body.theme-light .brand {color:#422d53}
body.theme-light .brand-plus {color:#9470a5}
body.theme-light :is(.brand small,.workspace-label,.sidebar-user small,.account-password-link,.version-card,.version-card strong) {color:#776283}
body.theme-light .workspace-label span {color:#645070;border-color:#c9b9d6}
body.theme-light .sidebar nav a {color:#5a466b}
body.theme-light .sidebar nav a:hover {background:#e3d7ed}
body.theme-light .sidebar nav a.active {background:#dcccE9;color:#513669;box-shadow:none}
body.theme-light :is(.sidebar-user,.planning-secondary-nav,.site-footer) {border-color:#d4c9de}
body.theme-light .sidebar-user strong {color:#483453}
body.theme-light :is(.sidebar nav b,.sidebar-user>svg,.version-card) {background:rgba(124,91,151,.065)}
body.theme-light .version-dot {background:#93759e}
body.theme-light .topbar {background:rgba(245,240,249,.85);border-color:#d9cfe2;box-shadow:none}
body.theme-light :is(.topbar-left,.back-link,.detail-meta,.plan-version,.project-members p,.panel-heading p,.project-heading-count,.timeline-select label,.inline-report-context>p,.timeline-activity small,.inline-activity-choice>span,.inline-row-save span,.inline-save-bar p,.panel-foot,.strategy-links small,.notification-report time) {color:var(--muted)}
body.theme-light :is(.project-header h1,.panel-heading h2,.project-group-heading h2,.timeline-panel .timeline-activity strong,.detail-meta strong,.project-card-heading h3,.project-output h3,.project-outcome h3,.source-text,.strategy-links strong,.project-name-link,.so-info strong,.monthly-period-note strong,.visual-panel-heading,.so-ring-center,.owner-bar-label,.overall-status-heading h2,.inline-save-bar strong,.dialog-header h2) {color:var(--ink)}
body.theme-light :is(.project-fact h4,.project-objective h4,.project-card-heading h3 small,.project-card-heading h3 svg,.activity-content h3,.project-budget-total strong,.project-budget-breakdown strong,.trigger-card h3) {color:#65467c}
body.theme-light :is(.panel-heading,.project-card-heading,.monthly-list-heading,.project-workspace-actions,.dialog-header) {background:rgba(222,211,233,.26);border-color:#ddd3e5}
body.theme-light :is(.project-table th,.data-table th,.draft-activity-head,.timeline-head,.timeline-panel .timeline-head) {background:rgba(222,211,233,.46);color:#655172;border-color:#d7cbdf}
body.theme-light :is(.project-table td,.data-table td,.data-table td+td,.so-row,.project-unit-row,.strategy-links>div,.member-entry,.owner-project-foot,.budget-summary>div,.so-chart+.so-chart,.overall-status,.unassigned-followup,.visual-filters,.chart-years span) {color:inherit;border-color:#d9d0e2}
body.theme-light .data-table tbody tr:nth-child(even) {background:rgba(230,221,237,.23)}
body.theme-light :is(.project-table tbody tr:hover,.data-table tbody tr:hover) {background:rgba(215,195,232,.25)}
body.theme-light :is(.project-no,.stat-icon,.project-section-icon,.project-risk-panel .project-section-icon,.trigger-icon,.trigger-date,.strategy-code,.indicator-type,.count-chip,.neutral-badge,.outline-badge,.tiny-pill,.status-chip) {background:#e8ddf1;color:#73528d;border-color:#d3c1e0}
body.theme-light :is(.stat-card.accent,.budget-summary>div:first-child) {background:#e1d4ec;color:#513664}
body.theme-light :is(.accent .stat-label,.accent .stat-value small,.accent .stat-note) {color:#725c81}
body.theme-light :is(.so-track,.owner-bar-track,.overall-status-bar,.dashboard-bar) {background:#e2d9e8;color:#634777}
body.theme-light .overall-status-bar a {color:#27352c}
body.theme-light :is(.workspace-tabs a[aria-current=page],.monthly-quick-filters a[aria-current=page]) {background:#e5d9ef;border-color:#b69bc9;color:#64417f}
body.theme-light :is(.monthly-active-filters a,.visual-filter-chips a) {background:#e9dff1;color:#694780}
body.theme-light :is(.local-pill,.demo-pill,.access-notice,.info-notice) {background:rgba(227,216,236,.65);color:#6b4c7f;border-color:#cdbbda}
body.theme-light .info-notice strong {color:#57386d}
body.theme-light .local-pill>span {background:#67a78b}
body.theme-light :is(.project-activity-row,.inline-plan-reference,.inline-optional-fields) {border-color:#d9cee3}
body.theme-light .project-activity-row>summary {background:transparent}
body.theme-light .project-activity-row>summary:hover {background:rgba(198,176,215,.18)}
body.theme-light .project-activity-row[open] {background:rgba(211,193,225,.28)}
body.theme-light .project-activity-row[open]>.timeline-row {background:rgba(195,169,215,.22);box-shadow:none}
body.theme-light .timeline-activity>span {background:#e5d6ef;color:#745188}
body.theme-light .project-activity-row[open] .timeline-activity>span {background:#cbb1df;color:#4c2f65}
body.theme-light .timeline-activity>svg {color:#7b618c}
body.theme-light :is(.timeline-cell,.timeline-panel .timeline-cell,.timeline-months span) {border-color:#cfc1da}
body.theme-light :is(.timeline-cell.quarter-start,.timeline-months span:nth-child(4),.timeline-months span:nth-child(7),.timeline-months span:nth-child(10)) {border-color:#baa6cb}
body.theme-light .timeline-cell.scheduled:after {background:#ab8bc6;box-shadow:none}
body.theme-light :is(.timeline-current-cell:before,.timeline-current-key i) {border-color:#b96773}
body.theme-light .timeline-current-key {background:transparent;color:#975663}
body.theme-light .timeline-months small {color:#7b6988}
body.theme-light .timeline-months .timeline-current-heading {background:#ead1d9;color:#8b4b58}
body.theme-light .timeline-months .timeline-current-heading small {color:#8b4b58}
body.theme-light :is(.inline-activity-editor,.inline-published,.inline-history,.activity-month-card) {background:rgba(249,245,252,.68);border-color:#d4c5df}
body.theme-light :is(.history-older,.history-original,.history-entry,.activity-request,.report-detail-grid-late>.report-detail-field+.report-detail-field) {border-color:#d7cbe1}
body.theme-light :is(.inline-activity-editor label,.inline-project-summary label,.inline-report-month label,.inline-activity-choice label) {color:#53425f}
body.theme-light :is(.inline-optional-fields>summary,.inline-plan-reference>summary) {color:#78588e}
body.theme-light :is(.inline-plan-reference,.panel-foot,.project-objective,.activity-content,.activity-note,.previous-report,.trigger-card,.audit-json,.request-comparison section) {background:rgba(235,227,242,.55);color:#5b476a;border-color:#d3c4df}
body.theme-light .project-objective {border-left-color:#a887c0}
body.theme-light .activity-content .two-columns>div {background:rgba(247,242,251,.7);border-color:#d8cae3}
body.theme-light :is(.project-output,.project-outcome) {border-color:#d8cae3}
body.theme-light input:not([type=checkbox]),body.theme-light select,body.theme-light textarea,
body.theme-light :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary,.inline-report-context,.timeline-select) :is(input:not([type=checkbox]),select,textarea),
body.theme-light #plan-form :is(input:not([type=checkbox]),select,textarea),body.theme-light .draft-recovery,
body.theme-light #edit-request-form textarea,body.theme-light #edit-review-form textarea {background:#f8f5fa;color:#392c45;border-color:#b7a4c5;color-scheme:light;caret-color:#72508e}
body.theme-light :is(input,textarea)::placeholder {color:#93859f;opacity:1}
body.theme-light select option {background:#f5f0f8;color:#392c45}
body.theme-light :is(input,select,textarea):focus,
body.theme-light :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary) :is(input,select,textarea):focus,
body.theme-light #plan-form :is(input,select,textarea):focus {background:#faf7fc;border-color:#8c65a8;outline-color:#a181b8;box-shadow:0 0 0 5px #8b5ca512}
body.theme-light input[type=checkbox] {accent-color:#8865a0}
body.theme-light input[type=checkbox]:focus {outline-color:#a181b8;box-shadow:none}
body.theme-light .inline-report-form fieldset:disabled textarea,body.theme-light .inline-report-form fieldset:disabled select,
body.theme-light #plan-form fieldset:disabled :is(input,select,textarea) {background:#eae3ef;color:#7c6d88;border-color:#cabbd6}
body.theme-light .button {background:rgba(245,238,249,.6);color:#6a4b80;border-color:#bba6ca;box-shadow:none}
body.theme-light .button:hover:not(:disabled) {background:#e8dbf1;border-color:#9874b0}
body.theme-light .button.primary {background:#79558f;color:#faf5fc;border-color:#79558f;box-shadow:0 3px 12px #61447814}
body.theme-light .button.primary:hover:not(:disabled) {background:#66447d;color:#faf5fc;border-color:#66447d}
body.theme-light button:disabled,body.theme-light .button.primary:disabled {background:#e8e0ee;color:#9a8ba5;border-color:#cfc0da;box-shadow:none}
body.theme-light :is(button,a,summary):focus-visible {outline-color:#9d7bb5}
body.theme-light :is(.draft-save-bar,.project-detail-page .inline-save-bar) {background:rgba(241,232,248,.94);border-color:#c5b1d5;box-shadow:0 8px 28px #62477312}
body.theme-light :is(.inline-activity-badge.saved,.status-chip.report-sent,.status-chip.report-on-track) {background:#e3f0e7;color:#2b6b48;border-color:#a9cdb7}
body.theme-light :is(.inline-activity-badge.pending,.draft-warning,.draft-delay-note,.inline-lock-note,.inline-validation) {background:#f3e9df;color:#8b6040;border-color:#d7bfa9}
body.theme-light .inline-validation>summary {color:#8b6040}
body.theme-light :is(.status-chip.report-late,.followup-badge.delayed) {background:#f7e5de;color:#a74730;border-color:#ddb6a8}
body.theme-light :is(.report-late,.so-chart-facts b) {color:#b2503c}
body.theme-light .so-chart-facts .so-awaiting {color:#56754b}
body.theme-light .copy-password-status {color:#2b6b48}
body.theme-light :is(.form-error,.danger) {color:#a94057}
body.theme-light .status-chip.inactive {background:#f0dfe6;color:#a14b64}
body.theme-light #draft-error:not(:empty) {background:#f1dfe5;color:#a94057;border-color:#d3a6b3}
body.theme-light dialog {background:rgba(246,240,250,.97);color:var(--ink);border-color:#bca7ca;box-shadow:0 24px 80px #42304f30;color-scheme:light}
body.theme-light dialog::backdrop {background:rgba(53,38,66,.35)}
body.theme-light .dialog-header .eyebrow {color:#89649e}
body.theme-light :is(.toast,.skip-link) {background:#e5d8ee;color:#4e335e;box-shadow:0 5px 30px #61447822}
body.theme-light :is(.login-page,.login-side) {background:transparent}
body.theme-light .login-story {background:linear-gradient(145deg,#e5daee,#d3c3e0);color:#4e355f}
body.theme-light :is(.login-box h2,.login-intro h1) {color:#483153}
body.theme-light :is(.login-intro p,.login-note,.login-facts span,.login-foot,.login-facts strong) {color:#725b81}
body.theme-light :is(.login-note,.login-facts,.password-reset-section) {border-color:#c7b6d5}
body.theme-light .theme-toggle {background:#e7dfed;color:#6c547d;border-color:#b9a5c9;box-shadow:inset 0 2px 5px #69537914}
body.theme-light .theme-toggle-thumb {background:#f7f3fa;color:#8b6a9e;box-shadow:0 2px 6px #69537924}
body.theme-light .notification-link {color:#674c7b}
body.theme-light :is(.followup-table th,.followup-table td,.followup-project,.followup-projects) {border-color:#d5c9df}
body.theme-light :is(.followup-table thead th,.followup-total) {background:rgba(224,213,235,.4)}
body.theme-light .followup-table .followup-group {background:#e5d9ee}
body.theme-light .followup-number i {background:#ddd3e5}
body.theme-light .followup-all b {background:#a283b9}
body.theme-light .followup-number:hover,body.theme-light .followup-number[aria-expanded=true] {background:#e8dfee;border-color:#b5a2c4}
body.theme-light .followup-badge.overdue {background:#e6efdf;color:#537046;border-color:#bdcfae}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body.theme-light {--glass-surface:#f3edf7}
}

body.theme-light .eyebrow.light {color:#82618f}

/* Plan and monthly published results: two compact lanes, unchanged row geometry. */
.project-detail-page .timeline-cell.scheduled:after{position:absolute;top:calc(50% - 15px);height:12px}
.timeline-report-bar{position:absolute;top:calc(50% + 3px);left:0;right:0;height:12px;border-radius:8px;z-index:1}
/* Join adjacent months, including color changes. Round only the run's outer ends. */
.timeline-cell:has(> .timeline-report-bar) + .timeline-cell > .timeline-report-bar{left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}
.timeline-cell:has(+ .timeline-cell > .timeline-report-bar) > .timeline-report-bar{border-top-right-radius:0;border-bottom-right-radius:0}
.report-bar-late{background:#ec985f}
.report-bar-on-track{background:#6cba8c}
.report-bar-ahead{background:#61bcb2}
.report-bar-missing{background:#e85f70}
.theme-light .report-bar-late{background:#c66c31}
.theme-light .report-bar-on-track{background:#32835a}
.theme-light .report-bar-ahead{background:#268981}
.theme-light .report-bar-missing{background:#c63f56}
.timeline-current-key{flex-wrap:wrap;justify-content:space-between;gap:6px 20px}
.timeline-date-key,.timeline-report-legend,.timeline-report-legend>span{display:inline-flex;align-items:center;gap:6px}
.timeline-report-legend{flex-wrap:wrap;gap:6px 15px;color:var(--muted);font-weight:400;font-size:12px}
.timeline-report-legend b{width:16px;height:6px;border-radius:4px;display:inline-block}
.project-detail-page .timeline-no-period{transform:translateY(-9px)}

/* Distinguish card title bands from glass content; paint only, no added height. */
body.theme-dark{--section-title-fill:linear-gradient(110deg,rgba(211,178,238,.17),rgba(174,132,205,.09));--section-title-divider:rgba(227,199,247,.27)}
body.theme-light{--section-title-fill:linear-gradient(110deg,rgba(152,115,180,.17),rgba(186,162,206,.10));--section-title-divider:rgba(124,91,151,.25)}
body:is(.theme-dark,.theme-light) :is(.panel-heading,.project-card-heading,.monthly-list-heading,.visual-panel-heading,.dialog-header),
body:is(.theme-dark,.theme-light) .project-detail-page :is(.panel-heading,.project-card-heading){
  background:var(--section-title-fill);
  border-bottom-color:var(--section-title-divider);
  box-shadow:inset 0 -1px 0 var(--section-title-divider);
}

/* Match the other card headers: full-width title band, same content position/height. */
body:is(.theme-dark,.theme-light) .timeline-panel>.panel-heading{
  margin-inline:-16px;
  padding-inline:21px;
  border-radius:17px 17px 0 0;
}

/* Full-width chart title bands. Preserve title and chart content coordinates. */
body:is(.theme-dark,.theme-light) .visual-chart-panel{--chart-title-inset:22px}
body:is(.theme-dark,.theme-light) .visual-chart-panel.followup-panel{--chart-title-inset:24px}
body:is(.theme-dark,.theme-light) .visual-chart-panel>.visual-panel-heading{
  margin:calc(-1 * var(--chart-title-inset)) -24px 8px;
  padding:var(--chart-title-inset) 24px 12px;
  border-radius:17px 17px 0 0;
}

/* Planning reference palette: off-white canvas, violet navigation and table
   headings. Paint only: shared spacing, typography and layout stay unchanged. */
body.theme-light {
  --ink:#271c35;--muted:#685875;--navy:#532179;--teal:#71339e;
  --line:#dfd0ed;--bg:#f7f3fc;--accent:#7938a7;--accent-strong:#5b207f;
  --accent-soft:#eee1fa;--surface:#fcfaff;--surface-muted:#f2eafb;
  --focus:#8b48b9;--draft-soft:#f5effc;--gold:#8d58b0;
  --glass-surface:rgba(253,251,255,.87);--glass-border:rgba(154,111,188,.24);
  --glass-shadow:0 8px 24px rgba(79,31,109,.055);
  --section-title-fill:linear-gradient(110deg,rgba(242,231,253,.88),rgba(250,246,255,.7));
  --section-title-divider:rgba(157,114,190,.23);
  background:#f7f3fc url('./light-purple-waves.svg') center top / cover fixed no-repeat;
}
body.theme-light .project-detail-page {--project-heading:#5d2384;--project-border:#dfd0ed}
body.theme-light .sidebar {
  background:radial-gradient(ellipse at 0 72%,rgba(198,149,230,.54),transparent 54%),linear-gradient(165deg,#74339f 0%,#8847b3 58%,#9564bb 100%);
  color:#fcf8ff;border-color:#ac78cf;box-shadow:inset -1px 0 0 rgba(255,255,255,.15);
}
body.theme-light :is(.brand,.brand-plus,.sidebar-user strong,.sidebar nav a,.version-card strong) {color:#fff9ff}
body.theme-light :is(.brand small,.workspace-label,.sidebar-user small,.account-password-link,.version-card) {color:#f1e3fa}
body.theme-light .workspace-label span {background:rgba(255,255,255,.13);color:#fff9ff;border-color:rgba(255,255,255,.22)}
body.theme-light .sidebar nav a:hover {background:rgba(255,255,255,.13)}
body.theme-light .sidebar nav a.active {background:#f4eafa;color:#5d2186;box-shadow:0 3px 12px rgba(57,18,83,.08)}
body.theme-light :is(.sidebar-user,.planning-secondary-nav) {border-color:rgba(255,255,255,.2)}
body.theme-light :is(.sidebar nav b,.sidebar-user>svg,.version-card) {background:rgba(65,18,97,.16)}
body.theme-light .version-dot {background:#f1ce75}
body.theme-light .topbar {background:rgba(252,249,255,.91);border-color:#e5d8f0}
body.theme-light :is(.project-header h1,.page-header h1,.panel-heading h2,.project-group-heading h2,.project-card-heading h3,.visual-panel-heading h2,.dialog-header h2) {color:#602583}
body.theme-light :is(.project-table th,.data-table th,.timeline-head,.timeline-panel .timeline-head) {background:#8443af;color:#fcf8ff;border-color:#a46cc6}
body.theme-light .timeline-months :is(span,small) {color:#fcf8ff;border-color:rgba(247,232,255,.25)}
body.theme-light .timeline-months .timeline-current-heading {background:#f7d983;color:#48301b}
body.theme-light .timeline-months .timeline-current-heading small {color:#48301b}
body.theme-light :is(.timeline-current-cell:before,.timeline-current-key i) {border-color:#d58c15}
body.theme-light .timeline-current-key {color:#875a16}
body.theme-light .timeline-report-legend {color:#574362}
body.theme-light .timeline-cell.scheduled:after {background:#b58ae9}
body.theme-light :is(.timeline-cell,.timeline-panel .timeline-cell) {border-color:#e0cfef}
body.theme-light .timeline-cell.quarter-start {border-color:#cdb2e3}
body.theme-light .project-activity-row>summary {background:rgba(249,244,255,.48)}
body.theme-light .project-activity-row:nth-child(even)>summary {background:rgba(237,226,251,.38)}
body.theme-light .project-activity-row>summary:hover {background:rgba(231,212,248,.56)}
body.theme-light .project-activity-row[open] {background:rgba(245,236,253,.62)}
body.theme-light .project-activity-row[open]>.timeline-row {background:rgba(233,214,248,.5)}
body.theme-light .timeline-activity>span,
body.theme-light .project-activity-row[open] .timeline-activity>span {background:#8a4cb3;color:#fff9ff}
body.theme-light .timeline-activity>svg {color:#7834a1}
body.theme-light :is(.inline-activity-editor,.inline-published,.inline-history,.activity-month-card) {background:rgba(253,250,255,.91);border-color:#dac6e9}
body.theme-light :is(.project-no,.stat-icon,.project-section-icon,.strategy-code,.count-chip,.neutral-badge,.outline-badge,.tiny-pill) {background:#edddf9;color:#71349b;border-color:#dac1eb}
body.theme-light :is(.inline-activity-editor label,.inline-project-summary label,.inline-report-month label,.inline-activity-choice label) {color:#382445}
body.theme-light input:not([type=checkbox]),body.theme-light select,body.theme-light textarea,
body.theme-light :is(.access-form,.dashboard-filters,.visual-filters,.monthly-filters,.filters,.draft-toolbar,.draft-activity,.draft-summary,.inline-report-context,.timeline-select) :is(input:not([type=checkbox]),select,textarea),
body.theme-light #plan-form :is(input:not([type=checkbox]),select,textarea),
body.theme-light #edit-request-form textarea,body.theme-light #edit-review-form textarea {background:#fcfaff;color:#2c1e39;border-color:#b799ce;caret-color:#7834a1}
body.theme-light :is(input,textarea)::placeholder {color:#817089}
body.theme-light select option {background:#fcfaff;color:#2c1e39}
body.theme-light .button {background:rgba(253,250,255,.86);color:#6c2a96;border-color:#a476c2}
body.theme-light .button:hover:not(:disabled) {background:#ecdcf8;border-color:#8950b0}
body.theme-light .button.primary {background:#7934a5;color:#fff9ff;border-color:#7934a5}
body.theme-light .button.primary:hover:not(:disabled) {background:#67258f;border-color:#67258f}
body.theme-light :is(.draft-save-bar,.project-detail-page .inline-save-bar) {background:linear-gradient(105deg,rgba(248,242,254,.97),rgba(232,214,250,.96));border-color:#c9a8e1;box-shadow:0 8px 24px #60258312}
body.theme-light .report-bar-late {background:#efa51e}
body.theme-light .report-bar-on-track {background:#27a956}
body.theme-light .report-bar-ahead {background:#299e96}
body.theme-light .report-bar-missing {background:#e34c59}
body.theme-light :is(.status-chip.report-on-track,.status-chip.report-ahead,.status-chip.report-sent,.inline-activity-badge.saved) {background:#e0f3e7;color:#206b3e;border-color:#97cfae}
body.theme-light :is(.status-chip.report-late,.followup-badge.delayed) {background:#fff0d4;color:#975409;border-color:#e6bf7e}
body.theme-light dialog {background:rgba(251,247,255,.98);border-color:#c9a6e0}
body.theme-light .theme-toggle {background:#eadef3;color:#602583;border-color:#b28bcf}
body.theme-light .theme-toggle-thumb {background:#fcf9ff;color:#7637a1}
body.theme-light .project-detail-page :is(.project-header h1,.panel-heading h2,.project-card-heading h3),
body.theme-light :is(.page-heading h1,.visual-chart-panel .visual-panel-heading h2) {color:#602583}

/* Prompt by Cadson Demak / Google Fonts. OFL 1.1 in /fonts/OFL.txt.
   Serve locally so Thai typography does not depend on an external font service. */
@font-face {font-family:'Prompt';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Prompt-Regular.ttf') format('truetype')}
@font-face {font-family:'Prompt';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/Prompt-Medium.ttf') format('truetype')}
@font-face {font-family:'Prompt';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/Prompt-SemiBold.ttf') format('truetype')}
@font-face {font-family:'Prompt';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Prompt-Bold.ttf') format('truetype')}
:root,body:is(.theme-dark,.theme-light) {font-family:'Prompt','Leelawadee UI',Tahoma,sans-serif;font-weight:500}
body:is(.theme-dark,.theme-light) :is(button,input,select,textarea) {font-family:inherit}
body:is(.theme-dark,.theme-light) :is(input,select,textarea,.source-text,.history-report-text) {font-weight:500}
body:is(.theme-dark,.theme-light) :is(h1,h2,h3,strong,.panel-heading h2,.project-card-heading h3,.timeline-activity strong) {font-weight:600}
body:is(.theme-dark,.theme-light) .project-detail-page :is(.project-header h1,.panel-heading h2,.project-card-heading h3,.timeline-activity strong) {font-weight:600}
body:is(.theme-dark,.theme-light) .inline-activity-editor label,
body:is(.theme-dark,.theme-light) .inline-project-summary label {font-weight:500}

/* Light workspace: a dark violet top bar, preserving existing geometry. */
body.theme-light .topbar {background:linear-gradient(105deg,#63288c,#7736a1);border-color:#8547ae;color:#fff8ff}
body.theme-light .topbar :is(.topbar-left,.text-button,.icon-button) {color:#fff8ff}
body.theme-light .topbar :is(.demo-pill,.local-pill) {background:rgba(255,255,255,.12);border-color:rgba(244,222,255,.3);color:#fff5ff}
body.theme-light .topbar .local-pill>span {background:#9bdfbb}
body.theme-light .theme-toggle {background:#f0e4fa;border-color:#d5b8ea;color:#602583}

/* Owner action page: current round, actionable activities, no KPI tiles. */
.owner-report-page{--task-line:rgba(219,189,238,.22);--task-heading:rgba(164,113,190,.14);--task-title:#f6e9ff;--task-text:#f4edf8;--task-muted:#d2bddf;--task-track:rgba(18,8,29,.4);--task-green:#73c69a;--task-orange:#efb16f;color:var(--task-text)}
body.theme-light .owner-report-page{--task-line:#e2d5ec;--task-heading:#f1e9f8;--task-title:#652c8d;--task-text:#342340;--task-muted:#756581;--task-track:#e9dff1;--task-green:#29935c;--task-orange:#ae621a}
.owner-report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.owner-report-heading h1{font-size:28px;line-height:1.5;margin:0 0 6px;color:var(--task-title)}
.owner-report-heading p{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0;font-size:15px;color:var(--task-muted)}
.owner-round-dot{width:8px;height:8px;border-radius:50%;background:var(--task-muted);flex-shrink:0}
.owner-round-dot.is-open{background:var(--task-green)}
.owner-report-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,29%);gap:24px;align-items:start}
.owner-task-feed{display:grid;gap:26px;min-width:0}
.owner-task-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.owner-task-section-heading h2,.owner-report-progress h2{font-size:19px;line-height:1.5;margin:0;color:var(--task-title)}
.owner-task-section-heading .count-chip{font-size:13px;white-space:nowrap}
.owner-report-page .owner-task-project{padding:0;margin:0 0 14px;overflow:hidden}
.owner-task-project:last-child{margin-bottom:0}
.owner-task-project-heading{padding:14px 18px;background:var(--task-heading);border-bottom:1px solid var(--task-line);font-size:15px;font-weight:600;line-height:1.7}
.owner-task-project-heading a,.owner-progress-project h3 a{color:var(--task-title);text-decoration:none}
.owner-task-project-heading a:hover,.owner-progress-project h3 a:hover{text-decoration:underline}
.owner-task-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--task-line)}
.owner-task-row:last-child{border-bottom:0}
.owner-task-copy{min-width:0}
.owner-task-name{display:flex;gap:10px;align-items:baseline}
.owner-task-name>span{font-size:12px;color:var(--task-muted);background:var(--task-heading);border-radius:5px;padding:2px 5px;flex-shrink:0}
.owner-task-name h3{font-size:15px;font-weight:500;line-height:1.75;margin:0;color:var(--task-text);overflow-wrap:anywhere}
.owner-task-row>.button{flex-shrink:0;min-height:40px;padding:8px 12px;font-size:13px;white-space:nowrap;gap:8px}
.owner-task-row>.button svg{width:15px;height:15px}
.owner-task-status{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--task-muted);margin:7px 0 0 33px}
.owner-task-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.owner-task-status.is-late{color:var(--task-orange)}
.owner-task-status.is-draft{color:var(--task-title)}
.owner-task-project-late .owner-task-project-heading{box-shadow:inset 3px 0 var(--task-orange)}
.owner-report-page .owner-report-progress{padding:0;overflow:hidden}
.owner-progress-heading{padding:18px;background:var(--task-heading);border-bottom:1px solid var(--task-line)}
.owner-progress-heading p{font-size:13px;color:var(--task-muted);margin:5px 0 0}
.owner-progress-project{padding:18px;border-bottom:1px solid var(--task-line)}
.owner-progress-project h3{font-size:14px;line-height:1.7;margin:0 0 12px;overflow-wrap:anywhere}
.owner-progress-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;margin-bottom:8px}
.owner-progress-label strong{font-weight:500;white-space:nowrap}
.owner-progress-track{height:8px;border-radius:5px;background:var(--task-track);overflow:hidden}
.owner-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--task-green)}
.owner-progress-project p{font-size:13px;margin:7px 0 0;color:var(--task-muted)}
.owner-progress-project .owner-progress-done{color:var(--task-green)}
.owner-progress-note{padding:14px 18px;font-size:12px;color:var(--task-muted);margin:0}
.owner-report-page .owner-task-empty{padding:24px;margin:0;display:grid;gap:8px}
.owner-task-empty>svg{color:var(--task-green)}
.owner-task-empty h2,.owner-task-empty h3{font-size:17px;margin:0;color:var(--task-title)}
.owner-task-empty p{font-size:14px;margin:0;color:var(--task-muted)}
.owner-report-footnote{margin:22px 0 0;font-size:13px;color:var(--task-muted)}
.owner-report-page{--task-overdue:#ffacb4;--task-overdue-bg:rgba(178,39,62,.15);--task-overdue-line:rgba(255,140,159,.38)}
body.theme-light .owner-report-page{--task-overdue:#ad283d;--task-overdue-bg:#fff0f2;--task-overdue-line:#efc2c9}
.owner-overdue-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin:10px 0 0 33px;color:var(--task-overdue);background:var(--task-overdue-bg);border:1px solid var(--task-overdue-line);border-radius:9px;font-size:13px}
.owner-overdue-warning>svg{width:16px;height:16px;flex-shrink:0;margin-top:3px}
.owner-overdue-warning>div{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.owner-overdue-warning strong{font-weight:600}
.owner-overdue-warning span{display:flex;gap:5px 14px;flex-wrap:wrap}
.owner-overdue-warning a{color:var(--task-overdue);font-weight:600;display:inline-flex;align-items:center;gap:5px;text-underline-offset:3px}
.owner-overdue-warning a svg{width:13px;height:13px}

/* Deadline settings reuse the shared light/dark palette and desktop geometry. */
.deadline-page .page-heading{margin-bottom:20px}
.deadline-page .panel{padding:0;overflow:hidden;margin-bottom:20px}
.deadline-page .panel-heading{margin:0;padding:18px 22px;border-bottom:1px solid var(--border)}
.deadline-page h2{font-size:18px;margin:0}
.deadline-page .panel-heading p{margin:4px 0 0;font-size:13px}
.deadline-period-label{display:flex;align-items:center;gap:12px}
.deadline-period-label select{width:210px}
.deadline-body{padding:20px 22px}
.deadline-fields{display:flex;align-items:flex-end;gap:18px}
.deadline-fields>label:not(.deadline-check){display:grid;gap:6px;font-size:13px}
.deadline-fields input[type=date]{width:170px}
.deadline-fields input[type=time]{width:125px}
.deadline-check{display:flex;align-items:center;gap:9px;min-height:44px;white-space:nowrap;font-size:14px}
.deadline-page input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary,#813cac);cursor:pointer}
.deadline-table th:first-child,.deadline-table td:first-child{width:72px;text-align:center}
.deadline-table tbody th{width:40%;font-weight:500;line-height:1.7}
.deadline-table td,.deadline-table th{vertical-align:middle}
.deadline-table fieldset{border:0;padding:0;margin:0;min-width:0}
.deadline-table .deadline-fields{gap:12px;flex-wrap:wrap}
.deadline-table [data-deadline-effective]{margin:8px 0;font-size:13px}
.deadline-save{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0 28px}
.deadline-save p{margin:5px 0 0}
.deadline-actions{display:flex;gap:10px;flex-shrink:0}
.deadline-page [hidden]{display:none!important}

.deadline-fields input[type=time]{width:155px}
.deadline-save{padding:12px 0 0;border-top:1px solid var(--line,#866b98);align-items:flex-start;flex-wrap:wrap}
.deadline-save strong{font-size:13px;font-weight:500}
.deadline-save>div:first-child{flex:1;min-width:260px}
.deadline-save .deadline-actions{margin-left:auto}
.deadline-global .deadline-body{padding:16px 22px}
.deadline-table th:first-child,.deadline-table td:first-child{min-width:75px;white-space:nowrap}
.deadline-page .page-heading .eyebrow{display:none}
.deadline-page .page-heading h1{margin:0;font-size:28px;line-height:1.4}
.deadline-page .page-heading p{margin:5px 0 0}
.deadline-page label{margin:0}
.deadline-page .panel-heading{padding:12px 22px}
.deadline-body>p{margin:8px 0;font-size:13px;line-height:1.6}
.deadline-save{gap:12px}
.deadline-save p{font-size:12px;line-height:1.6}
.deadline-save .form-error:empty{display:none}
.responsibility-panel{padding:0;overflow:hidden}
.responsibility-panel>.panel-heading{margin:0;padding:16px 22px;align-items:center}
.responsibility-panel .panel-heading p{margin:4px 0 0;font-size:13px}
.responsibility-search{display:grid;gap:5px;min-width:300px;font-size:13px;margin:0}
.responsibility-table{table-layout:fixed;width:100%;min-width:880px}
.responsibility-table th:nth-child(1){width:20%}
.responsibility-table th:nth-child(2){width:37%}
.responsibility-table th:nth-child(3){width:29%}
.responsibility-table th:nth-child(4){width:14%}
.responsibility-table td{vertical-align:top;padding:16px 20px;font-size:14px}
.responsibility-table td:first-child strong{font-size:17px}
.responsibility-table small{font-size:12px;line-height:1.7;margin-top:4px}
.responsibility-links{display:grid;gap:7px;line-height:1.65}
.responsibility-links a,.responsibility-links span{display:block}
.responsibility-links details summary{font-size:12px;cursor:pointer;margin-top:3px;color:var(--muted)}
.responsibility-links details[open]>*:not(summary){margin-top:8px}
.responsibility-password{display:block;margin:10px 0 0;padding:0;font-size:12px;text-align:left;white-space:nowrap}
.responsibility-panel>.panel-foot{padding:16px 22px;font-size:12px;line-height:1.8}
.responsibility-missing{padding:14px 22px;border-bottom:1px solid var(--line);color:var(--ink)}
.responsibility-missing summary{cursor:pointer;color:var(--danger,#cf625b)}
dialog.responsibility-dialog{width:min(1100px,94vw);max-width:1100px}
.responsibility-dialog .dialog-content{padding:18px 24px}
.responsibility-account{margin:0 0 6px}
.responsibility-picker{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin:16px 0}
.responsibility-picker section{min-width:0}
.responsibility-picker h3{font-size:17px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}
.responsibility-picker h3 span{font-size:13px;color:var(--muted);font-weight:400}
.responsibility-picker input[type=search]{width:100%;margin-bottom:10px}
.responsibility-options{height:clamp(160px,calc(100vh - 490px),420px);overflow-y:auto;border:1px solid var(--line);border-radius:12px}
.responsibility-choice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.65;cursor:pointer}
.responsibility-choice:last-child{border-bottom:0}
.responsibility-choice input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--primary,#813cac)}
.responsibility-choice small{font-size:12px;margin-top:3px}
.responsibility-choice:has(input:checked){background:rgba(161,112,198,.12)}
.responsibility-choice[hidden]{display:none!important}
.responsibility-actions{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
body .app-shell .deadline-page .deadline-table tbody th{background:transparent;color:var(--ink);font-size:14px;font-weight:500;border-color:var(--line)}
.responsibility-discard{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.responsibility-copy-user{font-size:12px;padding:0;margin-top:4px;text-align:left} #initial-credentials label{display:block;margin-top:16px;margin-bottom:6px} #initial-credentials .temporary-password-row{margin-bottom:14px}

/* KPI reports reuse both theme palettes and the same desktop geometry. */
.kpi-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:14px 0}
.kpi-toolbar label{display:flex;align-items:center;gap:12px;font-weight:500}
.kpi-toolbar select{width:auto;min-width:170px;margin:0}
.kpi-count{margin-left:auto;font-weight:600}
.kpi-list-panel{padding:0;overflow:hidden}
.kpi-table{table-layout:fixed;width:100%}
.kpi-table th:first-child{width:auto}
.kpi-table th:last-child{width:136px}
.kpi-table th:nth-last-child(2){width:146px}
.kpi-table.kpi-planning th:nth-child(2){width:104px}
.kpi-table td{vertical-align:top;padding:16px 12px}
.kpi-table th{padding:16px 12px}
.kpi-table .button{font-size:14px;padding:10px 12px}
.kpi-table td:last-child{white-space:nowrap}
.kpi-table strong{font-size:16px;line-height:1.7}
.kpi-target-preview{margin:10px 0;font-size:14px}
.kpi-target-preview summary{cursor:pointer;font-weight:500}
.kpi-target-preview p{margin:10px 0}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.kpi-detail,.kpi-report-card{padding:0;overflow:hidden;margin-bottom:18px}
.kpi-detail>.panel-heading,.kpi-report-card>.panel-heading{margin:0;padding:18px 22px}
.kpi-detail h1{font-size:23px;line-height:1.6;margin:8px 0 0}
.kpi-report-card h2{font-size:18px;margin:0}
.kpi-detail-body{padding:18px 22px}
.kpi-form-meta{display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:16px}
.kpi-form-meta label,.kpi-narrative label,.kpi-evidence{font-weight:500;font-size:15px}
.kpi-form-meta input,.kpi-form-meta select,.kpi-criterion input,.kpi-criterion select{margin-top:8px}
.kpi-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.kpi-criterion:only-child{grid-column:1/-1}
.kpi-criterion{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;line-height:1.7}
.kpi-number{display:flex;align-items:center;gap:12px}
.kpi-number input{max-width:240px}
.kpi-number span{font-size:14px}
.kpi-narrative{display:grid;grid-template-columns:1fr;gap:16px;margin:16px 0}
.kpi-narrative.has-gap{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi-narrative [hidden]{display:none}
.kpi-narrative textarea{width:100%;margin-top:8px;min-height:130px;font:inherit;line-height:1.7}
.kpi-narrative h3{font-size:14px;margin:0}
.kpi-narrative p{margin:8px 0;line-height:1.8}
.kpi-evidence{margin:16px 0}
.kpi-evidence textarea{width:100%;margin-top:8px;font:inherit}
.kpi-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.kpi-published-meta{display:flex;align-items:center;gap:14px;margin-bottom:16px;font-size:14px}
.kpi-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.kpi-values>div{border:1px solid var(--line);border-radius:10px;padding:14px}
.kpi-values strong{display:block;margin-top:8px;font-size:19px}
.kpi-history{padding:18px 22px;margin-bottom:16px}
.kpi-history summary{cursor:pointer;font-weight:500}
.kpi-history article{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.kpi-report-card textarea{border:1px solid var(--line);border-radius:8px;padding:12px;resize:vertical}

/* Same geometry in both themes; tab switching keeps both unsaved tables mounted. */
.deadline-tabs{display:flex;gap:8px;padding:10px 22px;border-bottom:1px solid var(--line)}
.deadline-tabs button{font:inherit;font-weight:600;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 22px;cursor:pointer}
.deadline-tabs button[aria-selected="true"]{color:var(--ink);background:var(--surface-soft,rgba(148,100,183,.18));border-color:var(--line)}
.deadline-tabs button:focus-visible{outline:2px solid var(--primary,#ac7bcd);outline-offset:2px}
.deadline-tabs small{font-size:13px;margin-left:8px}

/* Compact department follow-up: retain every row and drilldown, reduce vertical space. */
.followup-compact .followup-table{font-size:15px;line-height:1.5}
.followup-compact .followup-col-name{width:28%}
.followup-compact .followup-col-total{width:12%}
.followup-compact .followup-table th,.followup-compact .followup-table td{padding:5px 12px;border-right:0}
.followup-compact .followup-table thead th{padding:11px 12px;font-size:14px;font-weight:600;text-align:right;white-space:nowrap}
.followup-compact .followup-table thead th:first-child{text-align:left;width:auto}
.followup-compact .followup-table tbody th strong,.followup-compact .followup-table tfoot th strong{font-size:15px;font-weight:600}
.followup-compact .followup-table tbody th,.followup-compact .followup-table tfoot th{font-size:15px;line-height:1.5}
.followup-compact .followup-number{display:flex;justify-content:flex-end;align-items:center;min-height:32px;width:100%;padding:3px 7px;border-radius:6px;line-height:1.5}
.followup-compact .followup-number>span{justify-content:flex-end;gap:10px;width:auto}
.followup-compact .followup-number strong{font-size:17px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}
.followup-compact .followup-number small{display:inline;margin:0;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.followup-compact .followup-number.is-zero strong{color:var(--muted);font-weight:400}
.followup-compact .followup-number.has-value{background:rgba(148,100,183,.10)}
.followup-compact .followup-delayed.has-value{background:rgba(189,88,69,.10)}
.followup-compact .followup-overdue.has-value{background:rgba(157,187,149,.14)}
.followup-compact .has-attention>th:first-child{box-shadow:inset 3px 0 #a283b9}
.followup-compact .followup-total th,.followup-compact .followup-total td{border-top:2px solid var(--line)}
.followup-compact .followup-note{margin-top:10px;font-size:13px;line-height:1.6}
.followup-compact .followup-mapping-note{margin-top:6px;font-size:13px}
.followup-compact .visual-panel-heading{flex-wrap:wrap;gap:6px 18px}
.followup-compact .followup-deadline{font-size:13px;white-space:normal}
.followup-compact .followup-table thead th{white-space:normal;line-height:1.4}

/* Project / strategic KPI dashboards share the same shell and theme geometry. */
.dashboard-viewbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:10px}
.dashboard-viewbar .workspace-tabs{margin:0;border:0}
.dashboard-scope-switch{display:flex;flex-shrink:0;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(140,100,175,.12)}
.dashboard-scope-switch a{min-width:104px;padding:9px 20px;text-align:center;border-radius:9px;color:var(--muted);font-weight:600;text-decoration:none}
.dashboard-scope-switch a[aria-current="page"]{background:#ead8f4;color:#472360;box-shadow:0 2px 6px #140b231a}
body.theme-light .dashboard-scope-switch a[aria-current="page"]{background:#7933a7;color:#fff}
.dashboard-scope-switch a:focus-visible,.kpd-stacked a:focus-visible{outline:3px solid #c9a8ec;outline-offset:3px}
.kpd-section-label{font-weight:600;color:var(--muted)}
.kpd-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:12px 0 18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.kpd-filters label{display:flex;align-items:center;gap:8px;font-size:14px}
.kpd-filters select{width:auto;max-width:270px;min-height:40px;padding:8px 28px 8px 12px}
.kpd-scope{margin-left:auto;color:var(--muted);font-size:14px}
.kpd-chart-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:20px;margin-bottom:22px}
.kpd-dashboard .visual-chart-panel{min-width:0;margin-bottom:0}
.kpd-dashboard .visual-panel-heading h2{font-size:19px}
.kpd-dashboard .visual-panel-heading p{font-size:13px;line-height:1.6}
.kpd-so-rows{display:grid;gap:20px;padding-top:5px}
.kpd-so-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:center}
.kpd-so-label strong{font-size:17px;display:block;color:var(--ink)}
.kpd-so-label span{font-size:12px;color:var(--muted);display:block;line-height:1.5}
.kpd-stacked{display:flex;height:24px;border-radius:6px;overflow:hidden;background:var(--line)}
.kpd-stacked a{display:flex;align-items:center;justify-content:center;color:#191a22;font-size:13px;font-weight:600;text-decoration:none;min-width:0}
.kpd-stacked a:hover{filter:brightness(1.12)}
.kpd-so-facts{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:5px;color:var(--muted)}
.kpd-legend{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:22px;font-size:12px}
.kpd-legend a{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none}
.kpd-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.kpd-reporting-body{display:flex;flex-direction:column;align-items:center;gap:12px}
.kpd-ring{position:relative;width:148px;height:148px}
.kpd-ring svg{display:block;width:100%;height:100%}
.kpd-ring>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.kpd-ring strong{font-size:29px;font-weight:600;line-height:1.4}
.kpd-ring span{font-size:13px;color:var(--muted)}
.kpd-report-facts{width:100%;display:grid;gap:7px;font-size:14px}
.kpd-report-facts a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:1px solid var(--line)}
.kpd-report-facts>span{color:var(--muted);font-size:12px}
.kpd-footnote{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 0}
.kpd-list-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.kpd-list-filters a{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px;text-decoration:none}
.kpd-list-filters a.selected{background:rgba(160,115,194,.2);color:var(--ink);border-color:#a37abb}
.kpd-list-filters a span{font-variant-numeric:tabular-nums;font-weight:600}
.kpd-table{table-layout:fixed;width:100%;font-size:14px}
.kpd-table th,.kpd-table td{padding:12px 10px;vertical-align:top}
.kpd-table thead th:first-child{width:44%}
.kpd-table thead th:nth-child(2){width:15%}
.kpd-table thead th:nth-child(3){width:27%}
.kpd-table thead th:last-child{width:14%}
.kpd-table tbody th{font-weight:400;text-align:left}
.kpd-table .button{padding:8px 10px;min-height:36px;font-size:13px;white-space:nowrap}
.kpd-table .block{margin-top:5px;font-size:12px;line-height:1.5}
.kpd-detail summary{cursor:pointer;line-height:1.7;font-weight:500}
.kpd-detail .so-badge{font-size:11px;padding:2px 5px;margin-right:3px}
.kpd-detail[open] summary{margin-bottom:12px}
.kpd-expanded{font-size:13px;line-height:1.7;padding:12px;border-radius:8px;background:rgba(150,110,175,.09);border:1px solid var(--line)}
.kpd-expanded h3{font-size:13px;margin:0 0 7px;font-weight:600}
.kpd-expanded p{margin:7px 0 14px}
.kpd-measurements{display:grid;gap:9px}
.kpd-measurements>div{display:grid;gap:3px}
.kpd-measurements span{color:var(--muted)}
.kpd-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid transparent;line-height:1.5}
.kpd-achieved,.kpd-on_target{background:#21955b22;color:#a3e5bf;border-color:#78b89555}
.kpd-below_target{background:#e5915022;color:#f3b78a;border-color:#e5915055}
.kpd-not_assessed{background:#b49acc22;color:#dac7e9;border-color:#b49acc55}
.kpd-not_submitted{background:#a8a1b01a;color:var(--muted);border-color:var(--line)}
.kpd-warning{color:#edb386}.kpd-danger{color:#ff9aad!important}
.kpd-row-overdue>th{box-shadow:inset 3px 0 #d94d64}
body.theme-light .kpd-achieved,body.theme-light .kpd-on_target{background:#e1f2e8;color:#196b40;border-color:#a9d2ba}
body.theme-light .kpd-below_target{background:#fcf0e4;color:#9f510e;border-color:#e7c59c}
body.theme-light .kpd-not_assessed{background:#eee6f5;color:#73518a;border-color:#cbb4dc}
body.theme-light .kpd-warning{color:#a25313}body.theme-light .kpd-danger{color:#b42c48!important}

.kpd-filters{gap:10px}.kpd-filters label{margin-bottom:0}
.kpd-filters select[name="so"]{max-width:215px}.kpd-filters select[name="unit"]{max-width:165px}
.kpd-scope{font-size:12px}
.kpd-overdue{background:#d94d6422;color:#ff9aad;border-color:#d94d6455}
body.theme-light .kpd-overdue{background:#fbe8ed;color:#b42c48;border-color:#eab5c0}

.kpd-chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)}
.kpd-so-row{grid-template-columns:115px minmax(0,1fr);gap:14px}
.kpd-table thead th:last-child{width:115px}
.kpd-table thead th:first-child{width:auto}

/* PDF actions share the existing theme and do not alter report forms. */
.export-pdf-button{font-size:.85rem;white-space:normal;}
.kpi-table td:last-child .export-pdf-button{display:block;margin-top:8px;}
#export-period{display:block;margin-top:8px;min-width:240px;}
/* Risk management: compact desktop tables; existing theme supplies typography/colors. */
.risk-management { --risk-line:var(--border,#cbbadd); }
.risk-page-heading,.risk-toolbar,.risk-actions,.risk-editor-title,.risk-factor-heading,.risk-table-caption {display:flex;align-items:center;gap:12px;justify-content:space-between}
.risk-page-heading {margin-bottom:18px}.risk-page-heading h1 {margin:0}.risk-page-heading p {margin:5px 0 0}
.risk-toolbar {justify-content:flex-start;flex-wrap:wrap;margin-bottom:18px}.risk-toolbar label {display:flex;align-items:center;gap:8px}.risk-toolbar select,.risk-toolbar input {width:auto;max-width:250px}.risk-toolbar small{margin-left:auto}
.risk-factor-panel {margin-bottom:14px;padding:0;overflow:hidden}.risk-factor-heading,.risk-table-caption {padding:14px 18px;background:rgba(153,105,190,.12);border-bottom:1px solid var(--risk-line)}
.risk-factor-heading>div:first-child {flex:1}.risk-factor-heading small {display:block;margin-top:4px;opacity:.8}.risk-factor-heading .risk-code{margin-right:9px}.risk-actions{justify-content:flex-start;flex-wrap:wrap}.risk-actions .button {padding:8px 12px;white-space:nowrap}
.risk-item {border-bottom:1px solid var(--risk-line)}.risk-item:last-child {border-bottom:0}.risk-item>summary {display:flex;align-items:center;gap:12px;padding:13px 18px;cursor:pointer;list-style:none}.risk-item>summary::-webkit-details-marker{display:none}.risk-item[open]>summary{background:rgba(154,113,188,.10)}
.risk-code {display:inline-block;font-weight:600;padding:3px 8px;border-radius:7px;background:rgba(157,114,193,.17);white-space:nowrap;font-size:.85rem}.risk-item-title {flex:1;line-height:1.6}.risk-owner-label{width:140px;font-size:.85rem;opacity:.8}.risk-tag{display:inline-block;padding:3px 8px;font-size:.78rem;border:1px solid var(--risk-line);border-radius:6px;white-space:nowrap}.risk-shared{background:rgba(69,157,120,.13)}.risk-scheduled{display:block;opacity:.8}.risk-expanded{padding:16px 20px}.risk-expanded>p{margin-top:0}
.risk-thresholds {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}.risk-thresholds>div{padding:12px;background:rgba(145,110,175,.08);border:1px solid var(--risk-line);border-radius:8px}.risk-thresholds p{margin:6px 0 0}
.risk-form-grid{display:grid;grid-template-columns:180px 1fr 1fr;gap:14px;margin:14px 0}.risk-name-field{grid-column:span 2}.risk-management label{font-size:.9rem}.risk-management textarea{resize:vertical;min-height:65px;width:100%}.risk-management label>input:not([type=checkbox]),.risk-management label>textarea,.risk-management label>select{margin-top:4px}.risk-owners {border:1px solid var(--risk-line);border-radius:8px;padding:10px 14px;margin:14px 0}.risk-owners>div{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.risk-owners label{display:flex;align-items:center;gap:6px}.risk-owners input{width:16px;height:16px}.risk-criteria{table-layout:fixed;width:100%;margin:10px 0}.risk-criteria th:first-child{width:65px}.risk-management .risk-criteria td{padding:9px;vertical-align:top;font-size:.9rem}.risk-reason{display:block;margin-top:12px}.risk-editor-title h2{font-size:1.1rem;margin:0}
.risk-history {margin-top:16px;border-top:1px solid var(--risk-line);padding-top:12px}.risk-history article{padding:12px;border-bottom:1px solid var(--risk-line)}.risk-history small{display:block;opacity:.8}.risk-history p{margin:5px 0}.risk-empty{padding:12px 18px}.risk-new{padding:18px;margin-bottom:18px}.risk-control-list{padding:0;overflow:hidden}#risk-error{color:#c64048}.risk-shared-note{padding:10px 12px;border-left:3px solid #9a71b9;background:rgba(145,110,175,.1)}
html[data-theme=dark] .risk-management{--risk-line:rgba(209,182,225,.20)}

/* Risk scheduling reuses Planning dimensions and both theme palettes. */
.risk-deadline-page .rd-table th:nth-child(2){width:48%;}
.risk-deadline-page .rd-table td,.risk-deadline-page .rd-table th{padding:12px 16px;}
.risk-deadline-page .rd-table small{display:block;margin-top:4px;font-weight:400;color:var(--muted);}
.risk-deadline-page .rd-history{margin-top:18px;}
.risk-deadline-page .rd-history li{margin:4px 0;}
/* Risk reporting: shared geometry for both themes, isolated per item/month. */
.risk-report-page .rr-item {padding:0;margin:12px 0;overflow:hidden}
.rr-item>summary {display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px 20px;background:var(--surface-alt,rgba(130,83,167,.1));border-bottom:1px solid var(--border,#9982ac55)}
.rr-item>summary:before {content:'›';font-size:20px}.rr-item[open]>summary:before {transform:rotate(90deg)}
.rr-item>summary strong {flex:1}.rr-months,.rr-review {padding:16px}.rr-month {padding:18px;margin:0 0 16px;border:1px solid var(--border,#9982ac55);border-radius:12px;background:rgba(24,13,35,.17)}
:root[data-theme="light"] .rr-month {background:rgba(255,253,255,.72)}
.rr-month-heading {display:flex;justify-content:space-between;align-items:baseline;gap:16px}.rr-month h3 {font-size:16px;margin:0 0 10px}.rr-thresholds,.rr-two {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}.rr-thresholds {padding:12px;border:1px solid var(--border,#9982ac55);border-radius:8px}.rr-thresholds p {margin:6px 0;white-space:pre-wrap}
.rr-month label,.rr-review label {display:grid;gap:8px}.rr-month textarea,.rr-review textarea {width:100%;min-height:90px;resize:vertical}.rr-form-actions {display:flex;align-items:center;gap:12px;margin-top:12px}.rr-form-actions span {margin-left:auto}
.rr-values {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.rr-values div {min-width:0}.rr-values dt {font-weight:600;font-size:14px}.rr-values dd {margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.rr-values div:first-child {grid-column:1/-1}
.rr-rating {border:1px solid var(--border,#9982ac55);border-radius:10px;padding:14px}.rr-scores {display:flex;gap:8px;margin:10px 0}.rr-scores label {display:block;position:relative;cursor:pointer}.rr-scores input {position:absolute;opacity:0;width:100%;height:100%;margin:0}.rr-scores span {display:grid;place-items:center;width:40px;height:38px;border:1px solid #9d7db8;border-radius:7px}.rr-scores input:checked+span {background:#8150aa;color:white;border-color:#8150aa}.rr-scores input:focus-visible+span {outline:3px solid #b298cb;outline-offset:3px}.rr-selected {min-height:62px;white-space:pre-wrap}.rr-history,.rr-criteria {margin:14px 0}.rr-history td {white-space:pre-wrap;overflow-wrap:anywhere}.rr-history table {table-layout:fixed;width:100%}.rr-past>summary {padding:10px;cursor:pointer}.rr-pending {border-left:3px solid #a481c1;padding:10px}.rr-review .rr-values {display:block}.rr-review .rr-values div {margin-bottom:10px}

.rr-reading {white-space:pre-wrap;overflow-wrap:anywhere}.rr-history .data-table th,.rr-history .data-table td {padding:10px 12px;font-size:14px}
/* Risk overview: one geometry for both themes; colours distinguish I/L from KRI results. */
.ro-matrix-panel,.ro-kris,.ro-projects{padding:0;overflow:hidden;margin:18px 0}.ro-matrix-panel>.panel-heading,.ro-kris>.panel-heading,.ro-projects>.panel-heading{margin:0;padding:15px 20px;border-radius:17px 17px 0 0}.ro-matrix-panel h2,.ro-kris h2,.ro-projects h2{font-size:19px;margin:0}.ro-matrix-panel .panel-heading p,.ro-kris .panel-heading p,.ro-projects .panel-heading p{margin:4px 0 0}.ro-matrix-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:24px;padding:20px}.ro-matrix{display:flex;gap:8px}.ro-axis-y{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;text-align:center;letter-spacing:.03em}.ro-matrix-rows{flex:1;min-width:0}.ro-matrix-row{display:grid;grid-template-columns:20px repeat(5,minmax(0,1fr));gap:5px;margin-bottom:5px}.ro-matrix-row>b{align-self:center;text-align:center;font-size:13px}.ro-cell{min-height:59px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;padding:5px;border-radius:7px;border:1px solid var(--border)}.ro-axis-x{display:block;text-align:center;font-size:13px}.ro-point{border:2px solid #faf6ff;background:#39234f;color:#fff;border-radius:50%;min-width:31px;height:31px;font-size:12px;font-family:inherit;font-weight:600;padding:2px;cursor:pointer;box-shadow:0 2px 6px #170b2540}.ro-point:hover,.ro-point.selected{outline:2px solid #c7a6f8;outline-offset:2px}.ro-level-key{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0 6px}.ro-badge{display:inline-flex;align-items:center;line-height:1.4;max-width:100%;font-size:12px;font-weight:500;padding:4px 8px;border:1px solid var(--border);border-radius:8px;white-space:normal;background:rgba(160,140,185,.12)}.ro-UNSET{background:rgba(150,140,170,.13);color:var(--ink)}.ro-LOW{background:#266c51;color:#effff5}.ro-MEDIUM{background:#8b6b27;color:#fff7d9}.ro-HIGH{background:#965330;color:#fff4e9}.ro-EXTREME{background:#8f3046;color:#fff1f4}.ro-unassessed{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--border);padding-top:12px;font-size:13px}.ro-unassessed .button{padding:5px 10px;min-height:32px}.ro-factor-detail{border-left:1px solid var(--border);padding-left:24px}.ro-factor-detail h3{font-size:18px;line-height:1.6;margin:0 0 8px}.ro-assessment-score{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.ro-distinction{border-top:1px solid var(--border);padding-top:12px;color:var(--muted)}.ro-criteria{font-size:13px;margin:12px 0;border-top:1px solid var(--border);padding-top:10px}.ro-criteria p{white-space:pre-wrap}.ro-matrix-form{padding:20px;border-top:1px solid var(--border)}.ro-matrix-form>label{display:grid;gap:6px;margin:12px 0;max-width:100%}.ro-matrix-form>label>select{max-width:240px}.ro-matrix-editor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ro-matrix-editor-grid label{display:grid;gap:4px;font-size:12px}.ro-matrix-editor-grid select{width:100%;min-width:0;font-size:13px;padding:8px 6px}.ro-matrix-form textarea{width:100%;min-height:65px}.ro-kri-head,.ro-kri>summary{display:grid;grid-template-columns:36% 14% 27% 23%;align-items:center;gap:0;padding:12px 20px}.ro-kri-head{background:rgba(142,93,177,.23);font-size:12px;font-weight:600}.ro-kri>summary{list-style:none;cursor:pointer;font-size:14px;border-top:1px solid var(--border)}.ro-kri>summary>*{padding-right:16px}.ro-kri>summary>.ro-badge{justify-self:start;padding:4px 8px}.ro-kri small{display:block;color:var(--muted);font-weight:400;line-height:1.5;font-size:12px;margin-top:3px}.ro-kri>summary:hover,.ro-project>summary:hover{background:rgba(155,112,188,.09)}.ro-kri-detail{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:20px;padding:16px 20px;border-top:1px solid var(--border)}.ro-kri-detail>section+section{border-left:1px solid var(--border);padding-left:20px}.ro-kri-detail h4{font-size:14px;margin:0 0 5px}.ro-kri-detail p{white-space:pre-wrap;font-size:14px;line-height:1.7;margin:4px 0 12px;overflow-wrap:anywhere}.ro-UNKNOWN{color:#d9cbe7;background:rgba(155,137,178,.12)}.ro-MEETS_RA{color:#a9e9c6;background:#2c865533;border-color:#64bd8c55}.ro-MEETS_RT,.ro-incomplete{color:#f8d19b;background:#ab762b25;border-color:#c9a36e55}.ro-BELOW_RT,.ro-overdue{color:#ffa6b6;background:#b8365420;border-color:#de708555}.ro-late{color:#ffc595;background:#a9662925;border-color:#c9996a55}.ro-note{padding:12px 20px;border-top:1px solid var(--border);margin:0}.ro-empty{padding:12px 0;color:var(--muted)}.ro-kris>.ro-empty,.ro-projects>.ro-empty{padding:20px}.ro-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.ro-follow-filters{display:flex;gap:8px;flex-wrap:wrap;padding:14px 20px}.ro-follow-filters .button{font-size:13px;padding:7px 10px;min-height:36px}.ro-follow-filters b{margin-left:5px}.ro-project-head,.ro-project>summary{display:grid;grid-template-columns:43% 16% 21% 20%;gap:0;align-items:center;padding:10px 20px}.ro-project-head{font-size:12px;font-weight:600;background:rgba(142,93,177,.23)}.ro-project>summary{list-style:none;cursor:pointer;font-size:14px;border-top:1px solid var(--border);min-height:68px}.ro-project>summary>div{padding-right:14px;min-width:0}.ro-project>summary strong{font-size:14px;line-height:1.6;display:block}.ro-project>summary small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:3px}.ro-project-flags{display:flex;gap:5px;flex-wrap:wrap}.ro-project-detail{padding:16px 20px;border-top:1px solid var(--border)}.ro-project-detail h4{font-size:14px;margin:16px 0 8px}.ro-project-detail p,.ro-project-detail li{font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.ro-project-detail ul{margin:4px 0 12px;padding-left:22px}.ro-late-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ro-late-columns p{margin:0;padding-right:12px}.ro-late-columns p+p{border-left:1px solid var(--border);padding-left:14px}.ro-pagination{display:flex;gap:12px;align-items:center;padding:12px 20px;border-top:1px solid var(--border);font-size:13px}.ro-pagination>span:first-child{margin-right:auto}.ro-pagination .button{padding:6px 12px;min-height:32px;font-size:13px}.ro-management{margin:20px 0}.ro-management>summary{cursor:pointer;font-weight:600;padding:14px 0;border-top:1px solid var(--border)}.ro-management[open]>summary{margin-bottom:10px}
body.theme-light .ro-LOW{background:#dcefe3;color:#20543a}body.theme-light .ro-MEDIUM{background:#f5e6b7;color:#70551b}body.theme-light .ro-HIGH{background:#f2d2b7;color:#824624}body.theme-light .ro-EXTREME{background:#edbfca;color:#85283e}body.theme-light .ro-UNSET{background:#eee8f4;color:#6d5d7b}body.theme-light .ro-UNKNOWN{background:#eee7f5;color:#6e5b7c}body.theme-light .ro-MEETS_RA{background:#e1f1e6;color:#256f45}body.theme-light .ro-MEETS_RT,body.theme-light .ro-incomplete{background:#fbefd9;color:#856019}body.theme-light .ro-BELOW_RT,body.theme-light .ro-overdue{background:#fbe6eb;color:#b23851}body.theme-light .ro-late{background:#fbead9;color:#a25a24}body.theme-light :is(.ro-matrix-panel,.ro-kris,.ro-projects) h2{color:#602583}

.ro-matrix-panel,.ro-kris,.ro-projects,.ro-management{--border:var(--line)}
.ro-project>summary>div:first-child>strong::before,.ro-kri>summary>strong::before{content:'›';display:inline-block;margin-right:8px;color:var(--muted)}
.ro-project[open]>summary>div:first-child>strong::before,.ro-kri[open]>summary>strong::before{content:'⌄'}

/* Risk-only project work: shared geometry and readable desktop entry in both themes. */
.rp-page {display:grid;gap:18px}.rp-heading{padding:20px;display:flex;align-items:center;gap:18px;justify-content:space-between}.rp-heading h1{font-size:24px;line-height:1.5;margin:12px 0}.rp-heading>div{min-width:0}.rp-heading>button{flex-shrink:0}.rp-timeline{padding:0;overflow:hidden}.rp-timeline>.panel-heading{margin:0;padding:18px 20px;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0}.rp-timeline h2{font-size:20px;margin:0}.rp-timeline h2 small{font-size:14px;font-weight:400;margin-left:10px}.rp-timeline .panel-heading p{margin:4px 0 0}.rp-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 20px;font-size:12px}.rp-grid{display:grid;grid-template-columns:42% repeat(12,minmax(0,1fr));align-items:stretch}.rp-grid-heading{background:rgba(120,68,155,.5);font-size:12px}.rp-grid-heading>strong{padding:14px 16px}.rp-grid-heading>span{padding:10px 2px;text-align:center;border-left:1px solid rgba(180,155,200,.35)}.rp-activity>summary{list-style:none;cursor:pointer}.rp-activity>summary::-webkit-details-marker{display:none}.rp-activity{border-top:1px solid rgba(180,155,200,.3)}.rp-activity[open]>summary{background:rgba(171,130,197,.15)}.rp-activity-title{display:flex;gap:10px;padding:16px 18px;align-items:flex-start;font-size:15px}.rp-activity-title:before{content:'›'}.rp-activity[open] .rp-activity-title:before{content:'⌄'}.rp-activity-title small{display:block;margin-top:6px;font-size:12px;opacity:.8}.rp-month-cell{position:relative;border-left:1px solid rgba(180,155,200,.35);min-height:72px}.rp-current{background:rgba(230,181,91,.12)}.rp-month-cell.rp-current:after{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed #dc9d61;pointer-events:none}.rp-bar{display:block;position:absolute;left:0;right:0;height:8px;z-index:1}.rp-plan{top:calc(50% - 11px);background:#b48be6}.rp-result{top:calc(50% + 3px)}.rp-start{border-radius:5px 0 0 5px}.rp-end{border-radius:0 5px 5px 0}.rp-start.rp-end{border-radius:5px}.rp-result.rp-ON_PLAN,.rp-result.rp-COMPLETED{background:#36b574}.rp-result.rp-BEHIND_PLAN{background:#eba050}.rp-result.rp-AHEAD_OF_PLAN{background:#42b6b0}.rp-result.rp-MISSING{background:#ed5a70}.rp-label-BEHIND_PLAN{color:#eba050}.rp-label-ON_PLAN{color:#57c18b}.rp-label-AHEAD_OF_PLAN{color:#55c6bf}.rp-label-MISSING{color:#f5788b}.rp-months{padding:16px;display:grid;gap:12px}.rp-months .rr-month{margin:0}.rp-status{display:inline-flex;padding:5px 10px;border-radius:18px;font-family:inherit;font-weight:500;font-size:13px;line-height:1.4;border:1px solid transparent}.rp-status.rp-ON_PLAN,.rp-status.rp-COMPLETED{color:#a7e7c6;background:rgba(48,163,108,.16);border-color:rgba(48,163,108,.35)}.rp-status.rp-BEHIND_PLAN{color:#ffd09a;background:rgba(217,136,49,.16);border-color:rgba(217,136,49,.35)}.rp-status.rp-AHEAD_OF_PLAN{color:#a1e6e0;background:rgba(49,165,161,.16);border-color:rgba(49,165,161,.35)}.rp-entry-columns,.rp-report-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:12px 0}.rp-three{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-entry-columns label,.rp-plan-form label{display:grid;gap:7px}.rp-entry-columns [hidden]{display:none}.rp-report-columns p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.rp-report-columns small{font-size:13px;opacity:.8}.rp-report-columns.rp-three>div+div{border-left:1px solid rgba(180,155,200,.3);padding-left:16px}.rp-status-field{display:grid;gap:7px;width:280px;max-width:100%;margin:12px 0}.rp-page textarea{width:100%;resize:vertical;min-height:80px}.rp-plan-reference,.rp-plan-history{margin-top:14px;padding-top:12px;border-top:1px solid rgba(180,155,200,.3);font-size:13px}.rp-plan-reference p{white-space:pre-wrap}.rp-plan-history>section{padding:14px 0}.rp-plan-history td{white-space:pre-wrap;padding:10px}.rp-plan-form{padding:20px}.rp-plan-table{table-layout:fixed;margin:16px 0}.rp-plan-table th:first-child{width:32%}.rp-plan-table th:nth-child(2){width:20%}.rp-plan-table th:nth-child(3){width:36%}.rp-plan-table td{padding:10px;vertical-align:top}.rp-plan-table select{width:100%;margin-bottom:8px}.rp-plan-table textarea{min-height:90px}.rp-empty{padding:20px;color:#f0b4c1}.rp-project-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(180,155,200,.3)}.rp-project-row:last-child{border:0}.rp-project-row .button{flex-shrink:0}.rp-project-row p{margin:5px 0 0}.rp-owner-list{margin-top:24px}.rp-owner-list>.panel{padding:0;overflow:hidden}
:root[data-theme="light"] .rp-grid-heading{background:#8244ad;color:#fff}:root[data-theme="light"] .rp-grid-heading .rp-current{background:#f6d98a;color:#422d36}:root[data-theme="light"] .rp-status.rp-ON_PLAN,:root[data-theme="light"] .rp-status.rp-COMPLETED{color:#1b7045;background:#e1f3e8}:root[data-theme="light"] .rp-status.rp-BEHIND_PLAN{color:#94550b;background:#fff0d8}:root[data-theme="light"] .rp-status.rp-AHEAD_OF_PLAN{color:#196c69;background:#def2ee}:root[data-theme="light"] .rp-label-ON_PLAN{color:#237a4f}:root[data-theme="light"] .rp-label-BEHIND_PLAN{color:#a25a10}:root[data-theme="light"] .rp-label-AHEAD_OF_PLAN{color:#237b76}:root[data-theme="light"] .rp-label-MISSING,:root[data-theme="light"] .rp-empty{color:#bd3049}


/* Default reference palette for the Matrix grid in both themes. */
.ro-matrix-panel .ro-cell.ro-LOW { background:#3e7b68; }
.ro-matrix-panel .ro-cell.ro-MEDIUM { background:#e4bc3c; }
.ro-matrix-panel .ro-cell.ro-HIGH { background:#c36535; }
.ro-matrix-panel .ro-cell.ro-EXTREME { background:#a62f50; }
body.theme-light .ro-matrix-panel .ro-cell.ro-LOW { background:#3e7b68; }
body.theme-light .ro-matrix-panel .ro-cell.ro-MEDIUM { background:#e4bc3c; }
body.theme-light .ro-matrix-panel .ro-cell.ro-HIGH { background:#c36535; }
body.theme-light .ro-matrix-panel .ro-cell.ro-EXTREME { background:#a62f50; }
.rm-matrix-form { padding:18px; border-top:1px solid var(--line); }
.rm-matrix-form > label { display:grid; gap:6px; margin:12px 0; }

/* Show every I/L criterion before selecting a score; shared by Owner and Risk. */
.rr-rating-options {display:grid;gap:8px;margin:12px 0 16px}
.rr-rating-option {position:relative;display:block!important;cursor:pointer;margin:0!important}
.rr-rating-option>input {position:absolute;opacity:0;width:1px;height:1px}
.rr-rating-choice {display:grid;grid-template-columns:32px minmax(0,1fr) 20px;gap:10px;align-items:start;padding:12px;border:1px solid #bda2d15c;border-radius:9px;background:rgba(20,10,30,.18);transition:background .15s,border-color .15s}
.rr-rating-level {display:grid;place-items:center;min-height:30px;border-radius:6px;background:rgba(194,153,222,.18);font-weight:700}
.rr-rating-description {font-weight:400;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.rr-rating-check {opacity:0;font-weight:700;padding-top:3px}
.rr-rating-option:hover .rr-rating-choice {border-color:#c5a0e0;background:rgba(194,153,222,.12)}
.rr-rating-option>input:checked+.rr-rating-choice {border-color:#d5adee;background:rgba(169,111,207,.24);box-shadow:inset 3px 0 #d5adee}
.rr-rating-option>input:checked+.rr-rating-choice .rr-rating-check {opacity:1}
.rr-rating-option>input:focus-visible+.rr-rating-choice {outline:3px solid #be93db;outline-offset:2px}
.rr-rating-option:has(input:disabled) {cursor:default}
.rr-previous-rating {display:block;font-size:12px;font-weight:600;opacity:.8;margin-top:4px}
body.theme-light .rr-rating-choice {background:#fcfaff;border-color:#dcd0e8;color:#30223e}
body.theme-light .rr-rating-level {background:#ece2f6;color:#754092}
body.theme-light .rr-rating-option:hover .rr-rating-choice {background:#f4edfb;border-color:#a97ac7}
body.theme-light .rr-rating-option>input:checked+.rr-rating-choice {background:#eee1f8;border-color:#8949b3;box-shadow:inset 3px 0 #8949b3}
body.theme-light .rr-rating-check {color:#7936a3}

/* Proportional Matrix cells and a compact, framed explanatory sidebar. */
.ro-matrix-panel .ro-matrix-layout {grid-template-columns:minmax(0,1fr) minmax(260px,30%);gap:28px;padding:24px;align-items:start}
.ro-matrix-chart {min-width:0}
.ro-matrix-panel .ro-matrix-row {grid-template-columns:44px repeat(5,minmax(0,1fr));gap:6px;margin-bottom:6px}
.ro-matrix-panel .ro-cell {aspect-ratio:1.65;min-height:90px;padding:8px;border-radius:6px;align-content:center;gap:7px;border-color:rgba(255,255,255,.25)}
.ro-matrix-panel .ro-axis-y {font-size:12px;letter-spacing:.08em}
.ro-matrix-panel .ro-axis-x {font-size:12px;letter-spacing:.1em;margin:12px 0 0 44px}
.ro-matrix-panel .ro-scale-label {font-size:14px;line-height:1.4}
.ro-scale-label small {display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:5px;white-space:nowrap}
.ro-matrix-panel .ro-x-labels {margin-top:9px}
.ro-matrix-panel .ro-point {flex:none;min-width:32px;width:32px;height:32px;padding:0;background:#fff;color:#44245e;border:2px solid #775596;box-shadow:0 0 0 2px #ffffffb3,0 3px 7px #1e0d3038;font-size:11px}
.ro-matrix-panel .ro-point:hover,.ro-matrix-panel .ro-point.selected {background:#eee1fa;outline:3px solid #e2c6fa;outline-offset:2px}
.ro-matrix-sidebar {display:grid;gap:16px;min-width:0}
.ro-matrix-legend,.ro-matrix-panel .ro-factor-detail {padding:18px;border:1px solid var(--line);border-radius:13px;background:rgba(25,12,35,.12)}
.ro-matrix-sidebar h3 {font-size:17px;line-height:1.5;margin:0 0 6px}
.ro-matrix-legend p {margin:0 0 12px}.ro-matrix-legend ul {list-style:none;margin:0;padding:0}
.ro-matrix-legend li {display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.ro-legend-swatch {width:18px;height:18px;border-radius:4px}
.ro-matrix-panel .ro-legend-swatch.ro-LOW {background:#3e7b68}.ro-matrix-panel .ro-legend-swatch.ro-MEDIUM {background:#e4bc3c}.ro-matrix-panel .ro-legend-swatch.ro-HIGH {background:#c36535}.ro-matrix-panel .ro-legend-swatch.ro-EXTREME {background:#a62f50}
.ro-matrix-panel .ro-factor-detail>p {line-height:1.75;font-size:14px}
.ro-matrix-panel .ro-unassessed {margin:20px 0 0 26px}
body.theme-light .ro-matrix-legend,body.theme-light .ro-matrix-panel .ro-factor-detail {background:rgba(255,255,255,.65)}
.ro-matrix-panel .ro-cell {width:100%;min-width:0;box-sizing:border-box}
.ro-matrix-panel .ro-matrix-layout {display:flex;flex-wrap:wrap}.ro-matrix-chart {flex:1 1 560px}.ro-matrix-sidebar {flex:1 1 260px}.ro-matrix-panel .ro-cell:has(.ro-point:nth-child(n+5)) {min-height:132px}

/* Risk workspace: one factor contains its assessment, KRIs and linked projects. */
.ru-list-heading,.ru-factor-tools,.ru-report-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 12px}
.ru-list-heading h2,.ru-report-heading h3 {margin:0;font-size:19px}.ru-list-heading h2 small {font-size:14px;font-weight:500;margin-left:10px}
.risk-unified-page .ru-factor {scroll-margin-top:18px}.ru-factor>summary {padding:18px 20px}
.ru-factor-state {display:grid;gap:6px;min-width:200px;justify-items:end}.ru-factor-state small {font-size:12px;color:var(--muted);font-weight:500}
.ru-factor-body {padding:0 20px 20px}.ru-factor-tools {padding:4px 0 16px;border-bottom:1px solid var(--line)}
.ru-factor-tools .risk-actions {flex-wrap:wrap}.ru-report-heading .count-chip {margin-left:auto}
.ru-factor-body .ru-report-item {background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;margin:18px 0 24px;padding:0}
.ru-report-item .rr-months {padding:0}.ru-report-item .rr-month:last-child {margin-bottom:0}
.ru-report-heading .text-link {font-size:13px}.ru-kri-comparison {display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.ru-factor-body section[id],.ru-factor-body div[id] {scroll-margin-top:20px}
.ru-project-links {border-top:1px solid var(--line);padding-top:4px}
.ru-project-link {display:grid;grid-template-columns:auto minmax(0,1fr) minmax(160px,24%) 18px;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.ru-project-link:hover {background:rgba(145,91,180,.08)}.ru-project-link strong {font-size:14px}.ru-project-link small {display:block;font-size:12px;color:var(--muted);margin-top:4px}
.ru-project-status {font-size:13px}.ru-project-status.ru-alert,.ru-project-status.ru-alert small {color:#ed7885}
body.theme-light .ru-project-status.ru-alert,body.theme-light .ru-project-status.ru-alert small {color:#ba304b}
.ru-management-editor {padding:20px;border:2px solid var(--line);margin:16px 0}.ru-management-editor h2 {font-size:21px}
.ru-factor>.ru-factor-body .rr-month h3 {font-size:16px}.ru-factor-list {margin-bottom:24px}

.ru-definition-period {display:flex;align-items:center;gap:12px;margin-bottom:12px}.ru-definition-period select {width:auto}.ru-scheduled {padding:20px}

/* Compact factor: I/L first; each KRI expands independently without recreating forms. */
.risk-unified-page .ru-factor>summary {padding:12px 16px;gap:10px}
.risk-unified-page .ru-factor-body {padding:0 16px 12px}
.risk-unified-page .ru-factor-body .ru-rating-report {margin:10px 0 12px}
.risk-unified-page .ru-report-heading {margin:8px 0;gap:12px}
.risk-unified-page .ru-report-heading h3 {font-size:16px}
.risk-unified-page .ru-report-heading .text-link {font-size:13px;white-space:nowrap}
.risk-unified-page .ru-rating-report .rr-month {padding:10px 12px;margin-bottom:8px}
.risk-unified-page .ru-rating-report .rr-month-heading h3 {margin:0;font-size:15px}
.risk-unified-page .ru-rating-report .rr-month>p {margin:6px 0;font-size:13px}
.risk-unified-page .ru-rating-report .rr-month>.rr-two {margin:8px 0;gap:14px}
.risk-unified-page .ru-rating-report .rr-criteria {margin:8px 0;font-size:14px}
.risk-unified-page .ru-rating-report .rr-past>summary {padding:5px 2px;font-size:14px}
.risk-unified-page .ru-rating-report [data-rr-request-area]>.button {padding:6px 12px;min-height:34px;font-size:14px}
.risk-unified-page .ru-kri-list-heading {margin:10px 0 6px}
.risk-unified-page .ru-kri-list-heading h2 {font-size:16px}
.risk-unified-page .ru-factor-body .ru-kri-fold {margin:0 0 6px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.risk-unified-page .ru-kri-fold>summary {padding:10px 12px;gap:10px;min-height:46px;box-sizing:border-box;border:0}
.risk-unified-page .ru-kri-fold>summary h3 {font-size:15px;line-height:1.5;margin:0;flex:1}
.risk-unified-page .ru-kri-fold>summary .count-chip {flex-shrink:0;font-size:12px}
.risk-unified-page .ru-kri-fold[open]>summary {border-bottom:1px solid var(--line)}
.risk-unified-page .ru-kri-body {padding:10px 12px}
.risk-unified-page .ru-report-tools {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.risk-unified-page .ru-report-tools>.text-link {flex-shrink:0;font-size:13px}
.risk-unified-page .ru-kri-comparison {margin:0;gap:8px}
.risk-unified-page .ru-project-links {padding:0;margin-top:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.risk-unified-page .ru-project-links>summary {display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:14px}
.risk-unified-page .ru-project-links>summary:before {content:'›';font-size:20px;line-height:1}
.risk-unified-page .ru-project-links[open]>summary:before {transform:rotate(90deg)}
.risk-unified-page .ru-project-links>summary .count-chip {margin-left:auto}
.risk-unified-page .ru-project-link {margin:0 12px;padding:10px 0}
/* Risk-only plan authoring uses the same monthly timeline as reporting. */
.rp-page .rp-timeline[hidden]{display:none!important}
.rp-page .rp-plan-form{padding:0}
.rp-plan-settings{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;padding:14px 18px 10px;align-items:start}
.rp-page .rp-plan-settings textarea{min-height:44px;height:44px}
.rp-project-output{padding:0 18px 14px}
.rp-page .rp-project-output textarea{min-height:66px}
.rp-plan-row{border-bottom:1px solid var(--border);background:rgba(164,122,194,.06)}
.rp-plan-row:nth-child(even){background:rgba(164,122,194,.12)}
.rp-plan-name{padding:10px 12px;display:flex;align-items:center;gap:10px;min-width:0}
.rp-page .rp-plan-name textarea{min-height:64px;height:64px;line-height:1.5;min-width:0;font-size:15px}
.rp-plan-name .text-link{font-size:12px;white-space:nowrap;padding:4px}
.rp-month-toggle{appearance:none;border:0;border-left:1px solid rgba(180,155,200,.5);border-radius:0;margin:0;padding:0;background:transparent;color:inherit;box-shadow:none;cursor:pointer;min-height:84px;width:100%;transition:background .12s}
.rp-month-toggle.rp-current{background:rgba(230,181,91,.12)}
.rp-month-toggle:hover{background:rgba(177,132,218,.2)}
.rp-month-toggle:focus-visible{outline:2px solid #aa79d2;outline-offset:-3px;z-index:2}
.rp-month-toggle .rp-plan{top:calc(50% - 5px);height:10px;pointer-events:none}
.rp-month-toggle .rp-plan[hidden]{display:none!important}
.rp-plan-add>div{padding:10px 12px}.rp-plan-add>span{grid-column:2/-1;align-self:center;padding:8px 12px;font-size:12px;color:var(--muted)}
.rp-plan-footer{padding:0 18px 16px}.rp-plan-footer>[data-rp-error]:empty{display:none}
.rp-output-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin:10px 0 0}

/* Compact project references: factor and control type are independent badges. */
.ro-project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}
.ro-reference-pair{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.ro-ref-badge{display:inline-flex;align-items:center;justify-content:center;min-width:29px;padding:2px 7px;border:1px solid var(--ref-edge);border-radius:5px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;background:var(--ref-bg);color:var(--ref-ink)}
.ro-factor-tone-0{--ref-bg:#a98add25;--ref-ink:#dcc9ff;--ref-edge:#9d72ce}
:root[data-theme="light"] .ro-factor-tone-0{--ref-bg:#eee5fa;--ref-ink:#643799;--ref-edge:#c9ace6}
.ro-factor-tone-1{--ref-bg:#7babe425;--ref-ink:#c6e0ff;--ref-edge:#4c86bd}
:root[data-theme="light"] .ro-factor-tone-1{--ref-bg:#e7f0ff;--ref-ink:#28578a;--ref-edge:#afc8eb}
.ro-factor-tone-2{--ref-bg:#58b49925;--ref-ink:#b0efda;--ref-edge:#3d927b}
:root[data-theme="light"] .ro-factor-tone-2{--ref-bg:#e1f4ee;--ref-ink:#17664e;--ref-edge:#91cdb8}
.ro-factor-tone-3{--ref-bg:#cf83b425;--ref-ink:#f5c4e2;--ref-edge:#b86a9c}
:root[data-theme="light"] .ro-factor-tone-3{--ref-bg:#f8e7f1;--ref-ink:#8b3468;--ref-edge:#dba9c6}
.ro-factor-tone-4{--ref-bg:#c8a76d25;--ref-ink:#f0d6a5;--ref-edge:#ab8444}
:root[data-theme="light"] .ro-factor-tone-4{--ref-bg:#f6efdf;--ref-ink:#785719;--ref-edge:#d8c18b}
.ro-factor-tone-5{--ref-bg:#6db9c725;--ref-ink:#baedf3;--ref-edge:#4b97a4}
:root[data-theme="light"] .ro-factor-tone-5{--ref-bg:#e2f3f6;--ref-ink:#226976;--ref-edge:#9bcad2}
.ro-factor-tone-6{--ref-bg:#9697dd25;--ref-ink:#d4d3ff;--ref-edge:#7674bd}
:root[data-theme="light"] .ro-factor-tone-6{--ref-bg:#ebebfc;--ref-ink:#514c94;--ref-edge:#bcb8e3}
.ro-factor-tone-7{--ref-bg:#bd9b8425;--ref-ink:#edd3bc;--ref-edge:#96765f}
:root[data-theme="light"] .ro-factor-tone-7{--ref-bg:#f4eae3;--ref-ink:#77503b;--ref-edge:#d3baa8}
.ro-control-C{--ref-bg:#4e9f9a22;--ref-ink:#b0e7df;--ref-edge:#568c88}
.ro-control-M{--ref-bg:#a586d52b;--ref-ink:#e4c9ff;--ref-edge:#9773bd}
.ro-control-other{--ref-bg:#99999920;--ref-ink:var(--ink);--ref-edge:var(--border)}
:root[data-theme="light"] .ro-control-C{--ref-bg:#e3f2ee;--ref-ink:#24675d;--ref-edge:#94bfb3}
:root[data-theme="light"] .ro-control-M{--ref-bg:#f0e5fa;--ref-ink:#733c99;--ref-edge:#c6a1df}

/* Capture view is an intentionally light, desktop-only sheet, independent of app theme. */
body:has(.risk-capture){background:#f2f0f5!important;color:#292338!important}
body:has(.risk-capture)::before,body:has(.risk-capture)::after,
body:has(.risk-capture) .sidebar,body:has(.risk-capture) .topbar,
body:has(.risk-capture) #theme-toggle,body:has(.risk-capture) .site-footer{display:none!important}
body:has(.risk-capture) .app-shell{display:block!important}
body:has(.risk-capture) .main-wrap{margin:0!important;padding:0!important;width:100%!important;min-width:0!important}
body:has(.risk-capture) #main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.risk-capture{font:400 13px/1.5 'Prompt',sans-serif;color:#292338;min-width:1360px;--ink:#292338;--muted:#6b6376;--line:#ded7e9}
.risk-capture *{box-sizing:border-box}
.risk-capture .rc-toolbar{display:flex;align-items:center;gap:18px;padding:10px 28px;background:#f2f0f5;color:#58426e;border-bottom:1px solid #ddd5e7}
.risk-capture .rc-toolbar a{font-weight:600;color:#63348b}
.risk-capture .rc-toolbar label{display:flex;align-items:center;gap:10px;margin:0;font-size:13px}
.risk-capture .rc-toolbar button,.risk-capture .rc-toolbar select{font:inherit;color:#63348b!important;background:#fff!important;border:1px solid #cdbbdf;border-radius:7px;padding:6px 12px;margin:0;min-height:34px;width:auto;box-shadow:none}
.risk-capture.rc-tools-hidden .rc-toolbar{display:none}
.risk-capture .rc-sheet{padding:24px 28px 16px;background:#fff;color:#292338;min-height:100vh}
.risk-capture .rc-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 14px;border-bottom:3px solid #79439c}
.risk-capture .rc-heading h1{font:600 27px/1.4 'Prompt',sans-serif;letter-spacing:0;color:#482760;margin:3px 0 6px}
.risk-capture .rc-heading p{font-size:13px;margin:0;color:#655772}
.risk-capture .rc-totals{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;color:#655772}
.risk-capture .rc-totals strong{font-size:22px;color:#482760}
.risk-capture .rc-legend{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding:12px 0 16px;font-size:12px}
.risk-capture .rc-kind{padding:4px 9px;border-radius:4px;border:1px solid #dad1e8}
.risk-capture .rc-kind-C{background:#eef5fc}
.risk-capture .rc-kind-M{background:#f3edf9}
.risk-capture .rc-columns{columns:4;column-gap:20px}
.risk-capture .rc-factor{break-inside:avoid;display:inline-block;width:100%;margin:0 0 17px;--factor:#74439d}
.risk-capture .rc-tone-1{--factor:#9c5b2e}.risk-capture .rc-tone-2{--factor:#36699b}.risk-capture .rc-tone-3{--factor:#397a63}
.risk-capture .rc-tone-4{--factor:#9c4c6e}.risk-capture .rc-tone-5{--factor:#547e85}.risk-capture .rc-tone-6{--factor:#7c6c30}.risk-capture .rc-tone-7{--factor:#74628f}
.risk-capture .rc-factor>header{display:flex;align-items:flex-start;gap:9px;margin-bottom:7px;border-bottom:2px solid var(--factor);padding:0 0 7px}
.risk-capture .rc-factor>header>b{display:grid;place-items:center;background:var(--factor);color:white;min-width:42px;height:36px;border-radius:5px;font-size:20px;line-height:1}
.risk-capture .rc-factor h2{margin:0;color:#34243f;font:600 14px/1.5 'Prompt',sans-serif}
.risk-capture .rc-factor h2 small{font-size:12px;color:#776681}
.risk-capture .rc-project{display:grid;grid-template-columns:34px 1fr;gap:6px;padding:7px 8px;margin:0 0 4px;border-radius:4px;border-left:3px solid #c0d4e8;color:#292338;text-decoration:none;break-inside:avoid}
.risk-capture .rc-project.rc-kind-M{border-left-color:#d2b9e8}
.risk-capture .rc-project:hover{outline:1px solid #8b65ae}
.risk-capture .rc-code{font-weight:600;font-size:12px;color:#4c3b60}
.risk-capture .rc-name{font:500 12.5px/1.5 'Prompt',sans-serif;color:#292338;overflow-wrap:anywhere}
.risk-capture .rc-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px;margin-top:4px}
.risk-capture .rc-owner{font-size:10px;color:#6b6376}
.risk-capture .rc-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;line-height:1.5;font-weight:500;color:#6a6074}
.risk-capture .rc-legend .rc-status{font-size:12px}
.risk-capture .rc-status b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font:600 12px/1 'Prompt',sans-serif;border:1px solid currentColor}
.risk-capture .rc-on-plan{color:#187341}.risk-capture .rc-on-plan b{background:#ddf3e5}
.risk-capture .rc-late{color:#a4520c}.risk-capture .rc-late b{background:#ffecd4}
.risk-capture .rc-missing{color:#bb3049}.risk-capture .rc-missing b{background:#ffe3e8}
.risk-capture .rc-unplanned,.risk-capture .rc-neutral{color:#6f6678}.risk-capture .rc-unplanned b,.risk-capture .rc-neutral b{background:#e9e5ef}
.risk-capture .rc-footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ded7e9;padding-top:10px;margin-top:5px;font-size:10px;color:#746981}
@media print{body:has(.risk-capture) .rc-toolbar{display:none}.risk-capture{min-width:0}.risk-capture .rc-sheet{padding:0}.risk-capture{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.risk-capture .rc-icons{display:flex;gap:3px;flex-wrap:wrap;margin-top:4px}.risk-capture .rc-project{padding-top:6px;padding-bottom:6px}

/* One status icon, code and project name share the first line. */
.risk-capture .rc-project{grid-template-columns:18px 30px minmax(0,1fr);align-items:start;gap:6px}
.risk-capture .rc-project-status{padding-top:1px}

/* Capture factor badges use the same level palette as the Risk Matrix. */
.risk-capture .rc-risk-LOW{--factor:#3e7b68}
.risk-capture .rc-risk-MEDIUM{--factor:#e4bc3c}
.risk-capture .rc-risk-HIGH{--factor:#c36535}
.risk-capture .rc-risk-EXTREME{--factor:#a62f50}
.risk-capture .rc-risk-UNSET{--factor:#81788c}
.risk-capture .rc-risk-MEDIUM>header>b{color:#392d12}

/* Compact risk-level key beside project status, including PNG exports. */
.risk-capture .rc-factor-legend{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;line-height:1.5;color:#655772;border-left:1px solid #ded7e9;padding-left:14px}
.risk-capture .rc-factor-legend>span{display:inline-flex;align-items:center;gap:4px}
.risk-capture .rc-factor-legend i{display:inline-block;width:11px;height:11px;flex:none;border-radius:2px;background:var(--factor)}

.owner-risk-page .ru-report-tools:has(.ru-kri-comparison:empty):not(:has(button)){display:none}

/* Supplied transparent PIM artwork directly on the sidebar in either theme. */
.sidebar .brand.pim-brand,.login-story .brand.pim-brand{display:block;padding:4px;background:transparent;border-radius:0;line-height:0;overflow:hidden}
.sidebar:has(.brand.pim-brand){padding-top:0;isolation:isolate}
.sidebar .brand.pim-brand{width:100%;padding:0;margin-top:-8px}
.login-story .brand.pim-brand{width:270px;max-width:100%}
.brand.pim-brand img.pim-logo{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}

/* Keep overview month selection alongside actions, above the matrix. */
.risk-unified-page .ru-overview-header{display:block;margin-bottom:18px}
.ru-overview-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ru-overview-controls>.risk-actions{margin:0;flex-shrink:0}
#ru-overview-filter .risk-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0}
#ru-overview-filter .risk-toolbar label{margin:0;white-space:nowrap}

/* Soft white light behind the logo, fading into the existing sidebar purple. */
.sidebar:has(.brand.pim-brand)::before{content:"";position:absolute;inset:0 0 auto;height:132px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,.98) 0%,rgba(255,255,255,.97) 42%,rgba(251,247,255,.83) 58%,rgba(241,228,251,.48) 74%,rgba(228,201,244,.15) 89%,rgba(228,201,244,0) 100%)}

/* Owner confirmation retains editors while collapsed. */
.owner-report-choice [hidden]{display:none!important}
.owner-choice-options{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 8px}
.owner-choice-options label{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer;font-weight:500}
.owner-choice-options input{width:17px;height:17px;margin:0;accent-color:var(--purple,#8546af)}
.owner-choice-options label:has(input:disabled){opacity:.5;cursor:not-allowed}
.owner-report-choice>p{margin:6px 0 12px}
.owner-choice-preview{padding:12px 16px;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;background:var(--surface)}
.owner-choice-preview .rr-values,.owner-choice-preview .rr-two{margin:0}

/* Owner Main: one compact work queue, no duplicated progress sidebar. */
.owner-main{max-width:1480px;margin:0 auto}
.om-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.om-heading h1{font-size:28px;margin:3px 0 5px}.om-heading p{margin:0;color:var(--muted);font-size:14px}
.om-summary{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:22px;font-size:14px}
.om-summary b{font-size:21px;margin-right:5px}.om-summary small{margin-left:auto;color:var(--muted)}
.om-section-title{display:flex;align-items:center;gap:12px;margin:22px 0 10px}.om-section-title h2{font-size:18px;margin:0}.om-section-title>span{font-size:13px;color:var(--muted)}
.om-project{padding:0!important;margin-bottom:12px;overflow:hidden}
.om-project>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;border-bottom:1px solid var(--line);background:rgba(150,103,184,.09)}
.om-project-name{min-width:0}.om-project-name>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:inherit;font-size:16px;font-weight:600;text-decoration:none;line-height:1.55}
.om-source{display:inline-block;color:var(--muted);font-size:12px;font-weight:500;margin-bottom:3px}.om-source-risk{color:#885bb2}
.om-progress{flex:0 0 155px;font-size:13px;color:var(--muted)}.om-progress b{color:var(--text)}
.om-track{height:5px;background:rgba(150,103,184,.17);border-radius:8px;margin-top:7px;overflow:hidden}.om-track i{display:block;height:100%;background:#299962;border-radius:8px}
.om-task{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line)}.om-task:last-child{border-bottom:0}
.om-number{align-self:start;margin-top:2px;border-radius:5px;background:rgba(150,103,184,.12);font-size:12px;text-align:center;padding:3px 0;color:var(--muted)}
.om-activity{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:inherit;font-size:14px;font-weight:500;line-height:1.6;text-decoration:none}
.om-task .button,.om-plan-row .button{padding:9px 14px;min-height:38px;white-space:nowrap;font-size:13px}
.om-status-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:5px}
.om-overdue{color:#c23852!important}.om-overdue .icon{width:14px;height:14px;vertical-align:middle}.om-overdue a{color:inherit}.om-late{color:#b46a14}.om-draft{color:#8553ac}
.om-plan-list{padding:0!important;overflow:hidden}.om-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:18px;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line)}.om-plan-row:last-child{border-bottom:0}
.om-plan-row .om-project-name>a{font-size:14px}.om-row-note{color:var(--muted);font-size:12px}
.om-done{padding:0!important;margin-top:22px;overflow:hidden}.om-done>summary{padding:15px 20px;cursor:pointer;font-weight:600;font-size:15px}.om-done>summary span{margin-left:10px;color:var(--muted);font-weight:400}
.om-empty{padding:20px!important;color:var(--muted);font-size:14px}.om-footnote{font-size:12px;color:var(--muted);margin-top:20px}
[data-theme=dark] .om-overdue{color:#ff99ae!important}[data-theme=dark] .om-late{color:#efb873}[data-theme=dark] .om-draft,[data-theme=dark] .om-source-risk{color:#d4b4ef}

/* Owner Main: distinct summary cards, section bands and project headers. */
.owner-main .om-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;border:0;margin:0}
.om-stat{--stat:#7442a0;--stat-soft:#eee4fa;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px 14px;padding:16px 20px;border:1px solid color-mix(in srgb,var(--stat) 25%,transparent);border-radius:16px;background:linear-gradient(115deg,var(--surface,#fbf9ff),var(--stat-soft));box-shadow:0 5px 18px rgba(48,24,70,.04);overflow:hidden}
.om-stat::before{content:"";position:absolute;inset:14px auto 14px 0;width:4px;border-radius:0 4px 4px 0;background:var(--stat)}
.om-stat-overdue{--stat:#b93b58;--stat-soft:#fae9ef}.om-stat-setup{--stat:#95611f;--stat-soft:#f8eedc}
.om-stat-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--stat);background:color-mix(in srgb,var(--stat) 12%,transparent)}
.om-stat-icon .icon{width:21px;height:21px}.om-stat strong{font-size:30px;line-height:1.2;font-weight:700;color:var(--stat)}
.owner-main .om-stat strong small{font-size:12px;font-weight:500;margin-left:8px;color:var(--muted)}
.om-stat-label{grid-column:1/-1;font-size:14px;font-weight:600;margin-top:3px;color:var(--text)}
.om-total{font-size:12px;color:var(--muted);text-align:right;margin:8px 0 16px}
.owner-main .om-section-title{padding:11px 15px;border-radius:10px;border:1px solid var(--line);border-left:4px solid #8650ad;background:rgba(134,80,173,.12);gap:10px;margin:20px 0 12px}
.om-section-title>.icon{width:19px;height:19px;color:#7b439f;flex-shrink:0}
.owner-main .om-section-title h2{font-size:17px;color:#633183}
.owner-main .om-section-title>span{margin-left:auto;border-radius:6px;padding:3px 9px;background:rgba(255,255,255,.6);color:#633183;font-weight:600;white-space:nowrap}
.owner-main .om-section-setup{background:#f6eddf;border-color:#e6d4b5;border-left-color:#ac7b39}
.owner-main .om-section-setup h2,.om-section-setup>.icon,.owner-main .om-section-setup>span{color:#82571f}
.owner-main .om-project>header{background:linear-gradient(110deg,#69368d,#8251a2);color:#fff;border:0;padding:13px 20px}
.owner-main .om-project-risk>header{background:linear-gradient(110deg,#356b65,#4c817b)}
.om-project>header .om-project-name>a{color:#fff;font-weight:600}
.om-source{border:1px solid rgba(134,80,173,.18);background:rgba(134,80,173,.07);padding:1px 7px;border-radius:5px;line-height:1.6;margin-bottom:5px}
.om-project>header .om-source{color:#f4eafa;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.om-project>header .om-progress,.om-project>header .om-progress b{color:#fff}.om-project>header .om-track{background:rgba(255,255,255,.23)}
.om-project>header .om-track i{background:#8ee2b2}
.om-status-line>span{padding:2px 7px;border-radius:5px;background:rgba(134,80,173,.07)}
.om-status-line>.om-overdue{background:rgba(200,53,86,.08);border:1px solid rgba(200,53,86,.16)}
.om-status-line>.om-late{background:rgba(199,121,28,.10)}
.om-plan-list .om-plan-row{grid-template-columns:minmax(0,1fr) auto}.om-plan-list .om-row-note{display:none}
.om-plan-list .om-plan-row:nth-child(even){background:rgba(134,80,173,.035)}
[data-theme=dark] .om-stat{--stat:#dab7ef;--stat-soft:#44304f;background:linear-gradient(115deg,rgba(31,18,42,.9),var(--stat-soft))}
[data-theme=dark] .om-stat-overdue{--stat:#ff9fb4;--stat-soft:#4c293b}[data-theme=dark] .om-stat-setup{--stat:#e9c28e;--stat-soft:#45362e}
[data-theme=dark] .owner-main .om-section-title{background:rgba(170,115,205,.2);border-color:rgba(210,177,231,.22);border-left-color:#c493e2}
[data-theme=dark] .owner-main .om-section-title h2,[data-theme=dark] .om-section-title>.icon{color:#ecd6fb}
[data-theme=dark] .owner-main .om-section-title>span{background:rgba(255,255,255,.1);color:#ecd6fb}
[data-theme=dark] .owner-main .om-section-setup{background:rgba(190,143,75,.15);border-left-color:#d2ac71}
[data-theme=dark] .owner-main .om-section-setup h2,[data-theme=dark] .om-section-setup>.icon,[data-theme=dark] .owner-main .om-section-setup>span{color:#eed1a6}
[data-theme=dark] .owner-main .om-project>header{background:linear-gradient(110deg,#553565,#714781)}
[data-theme=dark] .owner-main .om-project-risk>header{background:linear-gradient(110deg,#294f4b,#3d6b64)}
[data-theme=dark] .om-status-line>span{background:rgba(211,172,234,.1)}
[data-theme=dark] .om-status-line>.om-overdue{background:rgba(249,126,154,.10);border-color:rgba(249,126,154,.22)}

/* Centered sign-in: a single form with the PIM logo above it. */
body:is(.theme-dark,.theme-light) #main.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:68px 24px 36px}
body:is(.theme-dark,.theme-light) .login-page .login-side{width:100%;padding:0;background:transparent}
.login-page .login-box{width:100%;max-width:460px;padding:24px 30px 28px;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 36px #33124c0a}
.theme-light .login-page .login-box{background:rgba(252,250,255,.92)}
.theme-dark .login-page .login-box{background:rgba(35,20,46,.82);backdrop-filter:blur(16px)}
.login-logo{display:flex;justify-content:center;margin:0 0 12px}
.login-logo img{display:block;width:250px;max-width:100%;height:auto;object-fit:contain}
.login-heading{text-align:center;margin-bottom:24px}
.login-box .login-heading h2{font-size:26px;line-height:1.4;margin:0 0 8px}
.login-heading p{font-size:14px;margin:0}
.login-box .login-note{justify-content:center;margin-top:24px;padding-top:18px}
