:root{font-family:Inter,Segoe UI,Leelawadee UI,Noto Sans Thai,Sarabun,Tahoma,sans-serif;color:#243d39;background:#f5f7f8;font-synthesis:none;font-weight:400;font-size:14px;--green: #166957;--dark: #102c28;--muted: #7a8a87;--border: #e3e9e7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button{display:inline-flex;align-items:center;justify-content:center;gap:7px}button:focus-visible,a:focus-visible{outline:3px solid #62c7b0;outline-offset:3px}input,select,textarea{border:1px solid #dbe3e0;border-radius:7px;padding:10px 12px;background:#fff;color:#243d39;max-width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#229c80;box-shadow:0 0 0 3px #1c9d7e15}textarea{min-height:90px;resize:vertical}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650;line-height:1.3}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}h3{font-size:15px}small{font-size:11px;color:var(--muted)}p{line-height:1.7;color:#7a8a87}.app{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;background:var(--dark);color:#cfdfdb;position:fixed;top:0;bottom:0;padding:30px 17px 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;color:#fff;font-size:22px;letter-spacing:-.8px;font-weight:650;white-space:nowrap}.brand-mark{background:#5ce0bd;color:#113f33;border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;margin-right:10px}.brand-light{font-weight:350;color:#b4c8c3}.workspace-label{overflow-wrap:anywhere;font-size:10px;color:#7f9c95;letter-spacing:1.8px;margin:39px 12px 15px;display:flex;align-items:center;justify-content:space-between}.sidebar nav{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px;scrollbar-width:thin;scrollbar-color:#3b6e5e transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#3b6e5e;border-radius:3px}.sidebar nav button{border:0;background:none;color:#9db5af;justify-content:flex-start;padding:9px 14px;flex-shrink:0;text-align:left;font-size:12px;border-radius:7px;gap:11px}.sidebar nav button.active{color:#c7ffe9;background:#245346}.sidebar nav button:hover{background:#23443c}.sidebar nav small{margin-left:auto;color:inherit;background:#3b6e5e;padding:1px 7px;border-radius:5px}.sidebar-note{margin-top:auto;flex-shrink:0;padding:16px 10px;font-size:11px;color:#b6ccc6}.sidebar-note p{font-size:10px;margin-top:7px}.sidebar-note .app-version{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9.5px;color:#8fb0a8;margin-top:9px;overflow-wrap:anywhere}.about-system{margin-bottom:18px}.about-system h2{margin:0 0 12px;font-size:16px}.about-system dl{display:grid;grid-template-columns:max-content 1fr;gap:7px 18px;margin:0 0 14px}.about-system dt{color:var(--muted)}.about-system dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.live-dot{display:inline-block;width:6px;height:6px;background:#75d0a8;border-radius:100%;margin-right:7px}.profile{display:flex;align-items:center;flex-shrink:0;gap:9px;padding:16px 0;border-top:1px solid #2e4741}.profile strong{font-size:11px;color:#e4eeeb;display:block}.profile small{display:block;font-size:10px;margin-top:3px}.profile .icon{margin-left:auto;color:#a6bdb7}.avatar{width:30px;height:30px;border-radius:100%;background:#e5eee8;color:#35654f;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:650;flex-shrink:0}.avatar.sales{background:#e7eaf8;color:#626798}.avatar.presales{background:#e1f0e7}.avatar.presales_support{background:#f1f5f2;color:#5d7a69;border:1px dashed #b7cbbd}.avatars{display:flex;padding-left:3px}.avatars .avatar{border:2px solid white;margin-left:-4px}.app main{margin-left:238px;width:calc(100% - 238px);min-width:0;display:flex;flex-direction:column}.topbar{height:69px;border-bottom:1px solid var(--border);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:11px;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:14px}.topbar strong{font-weight:500;color:#35504a}.content{padding:33px 36px;flex:1}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;color:#5c9a85;margin-bottom:11px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{margin-top:8px;font-size:12px}.heading-actions{display:flex;gap:8px;flex-shrink:0}.primary,.secondary{border-radius:6px;padding:11px 14px;font-size:12px;font-weight:550;white-space:nowrap}.primary{background:#1c725b;border:1px solid #1c725b;color:#fff}.primary:hover{background:#155542}.secondary{background:#fff;border:1px solid #d8e2dd;color:#4c665d}.secondary.danger{color:#a6473b;border-color:#efd7d3}.secondary.danger:hover:not(:disabled){background:#fff0ed}.icon{background:none;border:0;padding:4px;color:inherit}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters select,.filter-select>button{padding:9px 27px 9px 10px;font-size:11px;min-width:150px;flex:1}.search{background:#fff;display:flex;gap:8px;align-items:center;padding:0 12px;border:1px solid #dbe3e0;border-radius:7px;flex:2;min-width:240px;color:#81988d}.search input{border:0;background:none;font-size:11px;width:100%;padding:10px 0;box-shadow:none}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:21px 20px}.kpi>div{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#778c83}.kpi svg{color:#73998b}.kpi>strong{display:block;font-size:28px;font-weight:600;letter-spacing:-1px;margin:16px 0 10px;color:#233d35}.kpi small{font-size:10px}.kpi-0{background:#eaf3ed;border-color:#dbe9e0}.kpi-2 svg{color:#ca9a52}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:23px;margin-bottom:30px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.section-heading p{font-size:11px;margin-top:5px}.badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:5px;font-size:9px;font-weight:600;color:#5c7382;background:#eff3f7}.badge.on_track,.badge.done,.badge.won,.badge.live{color:#377a57;background:#eaf4eb}.badge.at_risk,.badge.high,.badge.in_progress,.badge.poc{color:#a3772d;background:#fff4dd}.badge.blocked,.badge.critical,.badge.lost{color:#b35b58;background:#fbedeb}.badge.proposal,.badge.design{color:#74669d;background:#f1eef8}.badge.sales{color:#646aa0;background:#f0f1fa}.badge.presales{color:#367c6d;background:#e9f6f0}.chart{display:flex;align-items:flex-end;gap:16px;height:195px;padding-top:15px}.chart-column{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;gap:9px;min-width:0}.chart-column>strong{font-size:12px;color:#627a71;font-weight:500}.bar-track{height:135px;display:flex;align-items:flex-end;width:100%;background:linear-gradient(to top,transparent 32%,#f6f8f6 33%,transparent 34%,transparent 65%,#f6f8f6 66%,transparent 67%)}.bar{width:100%;min-height:2px;border-radius:5px 5px 0 0;background:#3f896f}.bar.design{background:#609e86}.bar.bom{background:#7cb39a}.bar.proposal{background:#a4c5b0}.bar.poc{background:#c9d9b9}.bar.tender{background:#e2dfba}.bar.negotiation{background:#b8c7c0}.chart-column>span{font-size:9px;color:#7a8b82}.chart-footer{border-top:1px solid #edf1ee;margin-top:21px;padding-top:16px;display:flex;justify-content:space-between;font-size:10px;color:#83998c}.chart-footer i{display:inline-block;background:#4e8c70;width:7px;height:7px;border-radius:2px;margin-right:6px}.chart-footer strong{font-weight:500;color:#587663}.actions .section-heading>svg{color:#7e9789}.action-row{display:flex;border:0;border-bottom:1px solid #edf1ee;background:#fff;width:100%;text-align:left;justify-content:flex-start;padding:15px 0;gap:10px}.action-row:last-child{border-bottom:0}.action-row>div{flex:1;min-width:0}.action-row strong{font-size:11px;display:block;font-weight:550}.action-row small{display:block;font-size:9px;margin-top:5px}.action-row>span:last-child{font-size:9px;white-space:nowrap}.action-icon{background:#f2f6f2;color:#7e9e8a;display:flex;padding:7px;border-radius:7px}.overdue{color:#bc786a}.muted{color:var(--muted);font-size:11px}.table-wrap{overflow:auto;padding:0}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;color:#84958c;font-weight:500;background:#fafcfb;padding:15px 17px;border-bottom:1px solid #e8eeea}td{padding:18px 17px;border-bottom:1px solid #edf1ee;font-size:11px}tr:last-child td{border-bottom:0}td strong{font-size:11px;font-weight:550}td small{display:block;margin-top:6px;font-size:9px}td small span{color:#a2ada7}.project-name{border:0;padding:0;color:#304e3e;background:none;font-size:12px;justify-content:flex-start;font-weight:600;text-align:left}.project-name:hover{color:#1f9d70}.project-name svg{color:#9bb2a3}.page-footer{border-top:1px solid #e3eae5;margin:0 36px;padding:18px 0;color:#8d9f94;font-size:10px;display:flex;justify-content:space-between}.empty{padding:36px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a7bbae;gap:10px;grid-column:1/-1}.empty p{font-size:12px}.segmented{display:flex;background:#eaf0eb;border-radius:7px;padding:3px}.segmented button{background:transparent;border:0;padding:7px 13px;font-size:11px;color:#7a9082;border-radius:5px}.segmented .selected{background:#fff;color:#345b42;box-shadow:0 1px 3px #183b2514}.team-mode{margin:4px 0 6px}.team-mode button{flex:1}.team-summary{display:block;margin-top:6px;color:#6b7f75}.kanban{display:flex;overflow:auto;gap:16px;padding-bottom:20px}.kanban>section{min-width:230px;width:230px;flex-shrink:0;background:#eaf0ed;padding:12px;border-radius:9px}.kanban h3{font-size:12px;margin:5px 0 15px;display:flex;justify-content:space-between}.kanban h3 span{color:#82998c}.kanban-card{display:block;text-align:left;border:1px solid #dfe7e1;border-radius:8px;background:#fff;padding:16px;width:100%;margin-bottom:12px}.kanban-card strong{display:block;margin:10px 0 14px;font-size:13px;line-height:1.5}.kanban-card p{color:#395b45;margin-top:15px;font-size:12px}.kanban-card small{font-size:10px;line-height:1.8}.footnote{font-size:11px;margin:18px 0;line-height:1.8}.utilization{height:7px;background:#edf3ee;width:150px;border-radius:6px;overflow:hidden}.utilization div{background:#69a480;height:100%}.utilization .over{background:#c77d6f}.matrix th,.matrix td{text-align:center}.matrix th:first-child{text-align:left}.heat{min-width:55px;padding:14px;background:#d4eadb;border:0;border-radius:5px;color:#366c49;font-size:17px}.heat.zero{background:#f5f7f5;color:#b3beb6}.customer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.customer-grid svg{color:#649377;margin-bottom:18px}.customer-grid h3{margin-bottom:9px}.customer-grid p{font-size:12px}.customer-grid strong{display:block;font-size:11px;margin-top:24px;color:#3e7752}.customer-grid .customer-th{font-size:12px;color:#3e524b;margin-bottom:4px}.customer-grid .customer-shorts{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.customer-grid .customer-shorts span{font-size:11px;font-weight:600;padding:1px 7px;border:1px solid #d5e0db;border-radius:5px;color:#3e7752}.customer-grid .customer-blocked{margin-top:10px;padding:6px 10px;border-radius:6px;background:#fbf0df;color:#8a5212;font-size:11px}.back{background:none;border:0;color:#768c7d;padding:0;margin-bottom:24px;font-size:11px}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}.detail-summary small{display:block;margin-bottom:10px}.detail-summary strong{font-size:20px;font-weight:550;display:block}.detail-summary>div>span:not(.badge){font-size:11px;display:block;color:#849589;margin-top:6px}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:22px}.project-meta h3{margin-bottom:13px}.project-meta p{font-size:12px;margin:5px 0}.project-meta strong{font-weight:500;color:#3a5742}.tabs{display:flex;overflow:auto;gap:4px;border-bottom:1px solid #dbe6df;margin-bottom:24px}.tabs button{border:0;background:none;white-space:nowrap;padding:14px 12px;font-size:11px;color:#83978a;border-bottom:2px solid transparent}.tabs .selected{color:#26714c;border-color:#26714c}.tabs span{font-size:9px;padding:2px 5px;background:#e7eee8;border-radius:4px}.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.item-card h3{margin:16px 0 10px}.item-card p{font-size:12px;margin-bottom:15px}.multiline{white-space:pre-wrap;overflow-wrap:anywhere}.item-card footer{display:flex;justify-content:space-between;border-top:1px solid #edf2ee;margin-top:20px;padding-top:15px;font-size:11px;color:#7d9586}.item-actions{display:flex;gap:6px;margin-left:auto}.secondary.small{padding:5px 11px;font-size:11px}.document-link{display:flex;gap:7px;color:#1a8660;text-decoration:none;font-size:12px}.effort-number{font-size:22px;color:#367d55}.audit-row{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid #edf1ee;font-size:12px}.audit-row small{margin-left:auto}.overlay{position:fixed;inset:0;background:#0c231a85;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fff;width:750px;max-width:100%;max-height:92vh;overflow:auto;padding:26px 30px;border-radius:12px;box-shadow:0 30px 90px #0b211a40}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;min-width:0}.field>span{font-size:11px;font-weight:500;color:#6b8273}.required-mark,.field .required-mark{color:#c0392b;font-weight:600}.field-hint{font-size:11px;color:#6b8273;margin-top:-3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-footer{display:flex;justify-content:flex-end;padding-top:17px;margin-top:18px;border-top:1px solid #edf2ee}.form-footer .primary{min-width:150px}.form-footer{gap:8px;flex-wrap:wrap;align-items:center}.clear-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto;font-size:12px;color:#a2382b}.required-note{margin:0 0 10px;font-size:11px;color:#6b8273}.check{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:12px}.check input{accent-color:#2c855b}fieldset{border:1px solid #e0e8e1;border-radius:7px;margin-bottom:16px;padding:10px 14px}legend{color:#6c8977;font-size:11px}.error{background:#fff0ed;color:#a6473b;padding:13px;border:1px solid #efd7d3;border-radius:7px;font-size:12px;margin:10px 0;line-height:1.6}.settings-panel{max-width:850px;margin-bottom:24px}.settings-panel>p{margin:12px 0 24px;font-size:12px}.settings-panel>h2{margin-bottom:22px}.account-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid #eef3ef}.account-row>div{flex:1}.account-row small{display:block;margin-top:5px}.account-row strong{font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{background:#123d31;padding:52px 60px;display:flex;flex-direction:column;justify-content:space-between;color:#e9f4ec;min-height:100vh;background-image:radial-gradient(ellipse at 70% 60%,#285c434d,transparent 70%)}.login-story h1{font-size:54px;font-weight:450;letter-spacing:-2px;line-height:1.2;margin:24px 0}.login-story p{color:#9abaac;font-size:14px}.login-story .eyebrow{color:#77b995}.login-story>small{font-size:10px;letter-spacing:2px}.login-pills{display:flex;gap:8px;margin-top:35px;flex-wrap:wrap}.login-pills span{padding:9px 11px;border:1px solid #406150;border-radius:5px;font-size:10px;color:#9ebaa9}.login-card{align-self:center;justify-self:center;width:380px;max-width:90%;padding:30px}.login-card>svg{color:#2b8960;margin-bottom:22px}.login-card h2{font-size:24px;line-height:1.4}.login-card p{margin:12px 0 30px;font-size:12px}.login-card .form-footer{border:0;padding:0}.login-card .primary{width:100%}.login-card>small{display:block;margin-top:24px;text-align:center}.loading{padding:80px;color:#477c5d}.mobile-toggle{display:none}@media(min-width:1600px){.content{max-width:1600px;width:100%;margin:auto}}@media(max-width:1200px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.app main{margin-left:205px;width:calc(100% - 205px)}.content{padding:28px 24px}.topbar{padding:0 24px}.kpis{gap:10px}.kpi{padding:17px 14px}.kpi>strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr}.customer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{transform:translate(-100%);width:235px;box-shadow:10px 0 30px #142d2525}.sidebar.open{transform:translate(0)}.app main{margin-left:0;width:100%}.mobile-toggle{display:inline-flex}.topbar{padding:0 18px}.top-date{font-size:9px}.content{padding:25px 18px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .heading-actions{flex-wrap:wrap;flex-shrink:1;max-width:100%}h1{font-size:27px}.kpis{grid-template-columns:1fr 1fr}.filters select,.filters .filter-select{min-width:0;flex:1 1 calc(50% - 4px)}.filters .search{flex-basis:100%}.project-meta{grid-template-columns:1fr}.detail-summary{grid-template-columns:1fr 1fr}.item-grid,.form-grid,.customer-grid{grid-template-columns:1fr}.modal{padding:20px}.overlay{padding:10px}.login{grid-template-columns:1fr}.login-story{display:none}.login-card{padding:25px}.account-row{gap:8px;flex-wrap:wrap}.account-row>div{flex-basis:100%}.page-footer{margin:0 18px;gap:12px;font-size:9px}.audit-row{flex-wrap:wrap}.audit-row small{margin-left:0}.chart{gap:9px}.chart-column>span{font-size:8px}.section-heading .field{max-width:160px}.kpi>strong{font-size:22px}.topbar>div{gap:8px}.project-name{max-width:250px;white-space:normal}.login-card{width:390px}.action-row strong{font-size:10px}}.filters input[type=date]{padding:8px 10px;font-size:11px;border:1px solid #dbe3e0;border-radius:7px}.audit-table td{vertical-align:top}.audit-detail{white-space:normal;min-width:220px;max-width:420px;color:#4c665d;line-height:1.5}.audit-tag{display:inline-block;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;background:#eef3ef;color:#4c665d}.audit-tag.audit-login,.audit-tag.audit-logout{background:#e8f0fb;color:#2f5d94}.audit-tag.audit-add{background:#e3f4ea;color:#1c725b}.audit-tag.audit-edit,.audit-tag.audit-password{background:#fdf3dc;color:#8a6212}.audit-tag.audit-delete,.audit-tag.audit-login_failed{background:#fff0ed;color:#a6473b}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;font-size:12px}.audit-row .muted{color:#84958c}.audit-result{font-size:10px;font-weight:600;white-space:nowrap}.audit-result.ok{color:#1c725b}.audit-result.fail{color:#a6473b}.audit-failed td{background:#fffaf9}.audit-detail strong{font-weight:550}.audit-detail small{white-space:normal;line-height:1.5;color:#6b7f75}.kpi-button{text-align:left;cursor:pointer;font:inherit}.kpi-button:hover{border-color:#b9d3c5}.audit-alert{display:grid;gap:8px;margin-bottom:18px}.audit-alert button{margin-left:10px;padding:4px 10px}.audit-top{font-size:11px;color:#6b7f75;margin:-8px 0 18px}.link-button{background:none;border:0;padding:0 3px;color:#1c725b;cursor:pointer;font:inherit;text-align:left}.link-button:hover strong,.link-button:hover{text-decoration:underline}.usage-link{font-weight:inherit;padding:0;text-decoration:underline dotted;text-underline-offset:3px}.usage-list{list-style:none;margin:0 0 14px;padding:0}.usage-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf2ee}.usage-list li small{flex:1;color:#6b7f75}.activity-uses-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.activity-uses-tools input{flex:1 1 220px}.activity-uses-project{border-top:1px solid #edf2ee;padding:12px 0 8px}.activity-uses-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.activity-uses-head small{flex:1;color:#6b7f75}.activity-uses-count{font-size:12px;color:#6b7f75}.activity-uses-project ul{list-style:none;margin:6px 0 0 4px;padding:0}.activity-uses-project li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:6px 0 6px 14px;border-left:2px solid #e3e9e7}.activity-uses-project li .link-button{text-align:left;justify-self:start}.activity-uses-project li small{grid-column:1 / -1;color:#6b7f75}.activity-uses-when{font-size:12px;color:#6b7f75;white-space:nowrap}.activity-uses-note{color:#6b7f75}.activity-uses-foot{display:block;border-top:1px solid #edf2ee;padding-top:12px;color:#6b7f75}@media(max-width:560px){.activity-uses-project li{grid-template-columns:1fr}.activity-uses-head small{order:3;flex-basis:100%}}.audit-tag.audit-security{background:#fff0ed;color:#a6473b}.backup-warning{margin-top:0}.backup-actions{align-items:stretch;margin-bottom:18px}.backup-actions .panel{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.row-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 8px;padding:9px 12px;background:#fbedeb;color:#a6473b;border:1px solid #efd7d3;border-radius:7px;font-size:12px}.value-totals{display:flex;flex-wrap:wrap;gap:10px 0;border:1px solid #dbe9e0;background:#f6faf7;border-radius:8px;padding:10px 6px;margin:0 0 14px}.value-totals>div{display:grid;padding:0 14px;min-width:0}.value-totals .value-total{border-right:1px solid #dbe9e0}.value-totals small{font-size:11px;color:#6b8273}.value-totals strong{font-size:15px;font-variant-numeric:tabular-nums;color:#102c28}.value-totals .value-total strong{font-size:18px}.value-group i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.value-group.open i{background:#2f6fa3}.value-group.won i{background:#1c8a5e}.value-group.lost i{background:#b5473a}@media(max-width:560px){.value-totals .value-total{border-right:0;flex-basis:100%}}.closed-filter-note{background:#eaf3ed;border:1px solid #bcd9c8;border-radius:10px;padding:18px 20px;margin-top:18px;display:grid;gap:8px}.closed-filter-note strong{color:#1c725b}.closed-filter-note p{margin:0}.closed-filter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.closed-filter-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;background:#eaf3ed;color:#1c725b;border-radius:7px;padding:8px 12px;margin:0 0 14px;font-size:12px}.closed-filter-line .link-button{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.notice{background:#eaf3ed;color:#1c725b;padding:13px;border:1px solid #dbe9e0;border-radius:7px;font-size:12px}.restore-confirm ul{font-size:12px;line-height:1.7;padding-left:18px}.primary.danger-fill{background:#a6473b;border-color:#a6473b}.primary.danger-fill:disabled{opacity:.5}.csv-import p{font-size:12px;line-height:1.6}.csv-import-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.csv-import .notice div,.csv-import .error div{margin-top:4px}.csv-passwords table{margin-top:8px;background:#fff}.csv-passwords td{padding:6px 10px}.account-filters{margin:14px 0 4px}.account-filters .search{flex:2;min-width:220px}.account-filters small{color:#6b7f75;font-size:11px}.solution-grid .heading-actions{margin-top:12px}.solution-grid .tags{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.solution-grid .tags span{background:#eef3ef;color:#4c665d;border-radius:999px;padding:2px 8px;font-size:10px}.solution-description{font-size:11px;line-height:1.5}.multi-select{position:relative}.multi-select-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;border:1px solid #dbe3e0;border-radius:7px;padding:10px 12px;background:#fff;color:#243d39;font:inherit}.multi-select-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-toggle.placeholder{color:#8a9a92}.multi-select-toggle[aria-expanded=true]{border-color:#229c80;box-shadow:0 0 0 3px #1c9d7e15}.multi-select-panel{position:absolute;z-index:20;top:64px;left:0;right:0;background:#fff;border:1px solid #dbe3e0;border-radius:8px;box-shadow:0 10px 30px #0c231a26;padding:10px}.multi-select-filter{width:100%;margin-bottom:8px}.multi-select-actions{display:flex;align-items:center;gap:10px;margin-bottom:6px}.multi-select-actions small{flex:1;color:#6b7f75}.multi-select-options{max-height:220px;overflow:auto;display:grid;gap:0}.customer-picker .picker-value{position:absolute;left:12px;top:34px;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.multi-select-toggle:disabled{background:#f4f7f5;color:#8a9a92}.picker-option{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;border:0;background:none;text-align:left;font:inherit;font-size:12px;color:#243d39;padding:5px 6px;border-radius:5px}.picker-option small{color:#8a9a92;font-size:11px;white-space:nowrap}.customer-picker .picker-option{flex-direction:column;align-items:flex-start;gap:1px}.customer-picker .picker-option small{white-space:normal}.picker-option.active{background:#f3f7f4}.picker-option.picked{font-weight:600;color:#1c725b}.multi-select-options .check{margin:0;padding:3px 6px;line-height:1.35;border-radius:5px}.multi-select-options .check input{margin:0;padding:0}.multi-select-options .check:hover{background:#f3f7f4}.multi-select-chips{display:flex;flex-wrap:wrap;gap:6px}.multi-select-chips span{display:inline-flex;align-items:center;gap:4px;background:#e3f4ea;color:#1c725b;border-radius:999px;padding:3px 4px 3px 10px;font-size:11px}.multi-select-chips button{border:0;background:none;color:inherit;font-size:14px;line-height:1;padding:0 4px}.card-note{flex-basis:100%;margin:8px 0 0;font-size:11px}.solution-grid .heading-actions{flex-wrap:wrap}.perf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.perf-tile{display:grid;gap:6px;padding:16px}.perf-tile small,.perf-tile span{color:#6b7f75;font-size:11px}.perf-tile strong{font-size:26px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.perf-meter{height:6px;background:#eaf0eb;border-radius:3px;overflow:hidden}.perf-meter i{display:block;height:100%;background:var(--green);border-radius:3px}.perf-meter i.over{background:#b35b58}.perf-table td{font-variant-numeric:tabular-nums;vertical-align:middle}.perf-table td small{color:#7a8a87}.perf-table td:first-child small{display:block}.perf-util{display:grid;grid-template-columns:70px auto;align-items:center;gap:8px}.perf-flag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 8px;margin:1px 4px 1px 0;font-size:10.5px;font-weight:600;white-space:nowrap}.perf-flag.warn{background:#fdf4e3;color:#a3772d}.perf-flag-link{border:0;font-family:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.perf-flag-link:hover{background:#f8e8c6}.perf-flag.crit{background:#fbedeb;color:#b35b58}.perf-flag.good{background:#e3f4ea;color:#2c855b}.perf-flag.muted{background:#eaf0eb;color:#6b7f75}.perf-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin:16px 0}.perf-detail{display:grid;gap:12px;align-content:start}.perf-detail h3{font-size:13px}.perf-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.perf-mini div{background:#f5f7f8;border-radius:8px;padding:10px;display:grid;gap:2px}.perf-mini small{color:#7a8a87;font-size:10px}.perf-mini strong{font-size:16px;font-variant-numeric:tabular-nums}.perf-chart{position:relative}.perf-chart svg{width:100%;height:auto;display:block}.perf-chart .grid{stroke:#e3e9e7}.perf-chart .axis{fill:#7a8a87;font-size:10px}.perf-chart .bar{fill:var(--green)}.perf-chart .cap{stroke:#7a8a87;stroke-dasharray:4 3}.perf-chart .hit{fill:transparent}.perf-tip{position:absolute;pointer-events:none;transform:translate(-50%,-115%);background:#fff;border:1px solid #e3e9e7;box-shadow:0 6px 18px #0c231a1f;border-radius:8px;padding:8px 10px;font-size:11px;white-space:nowrap}.perf-tip b{display:block;font-size:12px}.perf-dq{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;font-size:12px;color:#4c665d}.perf-dq>div{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.perf-dq small{flex-basis:100%;color:#7a8a87}.perf-dq .usage-link{color:inherit}.modal .perf-two{grid-template-columns:1fr;margin:0}@media(max-width:900px){.perf-two{grid-template-columns:1fr}}.ts-range{display:flex;align-items:center;gap:6px;font-size:12px;color:#4c665d;font-variant-numeric:tabular-nums;white-space:nowrap}.ts-range .secondary{padding:6px 10px}.ts-table{border-collapse:separate;border-spacing:3px;font-size:11px;font-variant-numeric:tabular-nums}.ts-table th{font-size:10px;font-weight:600;color:#7a8a87;text-align:center;padding:4px 2px;white-space:nowrap}.ts-table th b{display:block;font-size:12px;color:#243d39}.ts-table th.today,.ts-table th.today b{color:var(--green)}.ts-table th.weekend{width:26px}.ts-table td{padding:0;border:0}.ts-table .ts-who{text-align:left;padding-right:10px;white-space:nowrap;position:sticky;left:0;background:#fff;z-index:1}.ts-table td.ts-who strong{display:block;font-size:12px}.ts-table td.ts-who small{color:#7a8a87}.ts-sum{text-align:right;padding-left:10px!important;white-space:nowrap;color:#4c665d}.ts-cell{width:100%;min-width:42px;height:32px;border:0;border-radius:6px;font:inherit;font-size:11px;font-weight:600;color:#243d39;background:#eaf0eb;position:relative;cursor:pointer}.ts-cell.weekend{min-width:26px;background:#f3f5f4;color:#7a8a87}.ts-cell.h1,.ts-ramp .h1{background:#d7ece0}.ts-cell.h2,.ts-ramp .h2{background:#a9d5bd}.ts-cell.h3,.ts-ramp .h3{background:#5fae86;color:#fff}.ts-cell.h4,.ts-ramp .h4{background:var(--green);color:#fff}.ts-cell.missing,.ts-key.missing{background:#fdf4e3;color:#a3772d;box-shadow:inset 0 0 0 1.5px #e4c88f}.ts-cell.future,.ts-key.future{background:#f0f3f2;cursor:default}.ts-cell.long:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#b35b58;box-shadow:0 0 0 1.5px #fff}.ts-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;color:#4c665d;align-items:center}.ts-ramp{display:inline-flex;gap:2px;margin-right:5px;vertical-align:-2px}.ts-ramp i,.ts-key{display:inline-block;width:14px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px}.ts-key.long-dot{width:8px;height:8px;border-radius:50%;background:#b35b58;vertical-align:0}.ts-empty{color:#7a8a87;font-size:12px;line-height:1.6;margin-bottom:16px}.ts-sub{font-size:13px;margin:18px 0 10px}.ts-weeks{display:grid;gap:8px}.ts-weeks>div{display:grid;grid-template-columns:120px 1fr 80px;gap:10px;align-items:center;font-size:11px;color:#4c665d;font-variant-numeric:tabular-nums}.teams-switch{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;border-left:4px solid #c9d6d1}.teams-switch.on{border-left-color:var(--green)}.teams-switch h2{font-size:15px;margin-bottom:6px}.teams-switch p{font-size:12px;color:#4c665d;max-width:80ch;line-height:1.6}.teams-confirm{margin-top:10px;padding:10px 12px;background:#fdf4e3;border:1px solid #e4c88f;border-radius:7px;color:#7a5a20!important}.teams-confirm button{margin-left:6px;padding:7px 12px}.perf-tile.teams-warn{background:#fdf4e3;border-color:#e4c88f}.perf-tile.teams-warn strong,.perf-tile.teams-warn small{color:#a3772d}.teams-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}.teams-layout h2{font-size:15px}.teams-cards{display:grid;gap:6px;margin-top:10px}.teams-card{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:9px 10px;color:#243d39}.teams-card:hover{background:#f3f7f4}.teams-card.on{background:#e1f0e7;border-color:var(--green)}.teams-card.warn{background:#fdf4e3;border-color:#e4c88f}.teams-card strong{display:block;font-size:12.5px}.teams-card small{display:block;color:#7a8a87;font-size:10.5px}.teams-card b{font-size:14px;font-variant-numeric:tabular-nums}.teams-chips{display:flex;gap:4px;margin-top:4px}.teams-chip{font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;white-space:nowrap}.teams-chip.sales{background:#e7eaf8;color:#626798}.teams-chip.presales{background:#e1f0e7;color:#1c725b}.teams-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#e1f0e7;border:1px solid var(--green);border-radius:8px;padding:8px 10px;margin-bottom:12px;font-size:12px}.teams-bulk strong{margin-right:auto}.teams-bulk .primary,.teams-bulk .secondary{padding:7px 12px}.teams-email{display:block;color:#7a8a87}select.teams-none{background:#fdf4e3;border-color:#e4c88f;color:#a3772d}@media(max-width:900px){.teams-layout{grid-template-columns:1fr}.teams-switch{flex-direction:column}}.ts-table th.holiday,.ts-table th.holiday b{color:#5d6677}.ts-hol-name{max-width:64px;margin:2px auto 0;font-size:8.5px;font-weight:500;line-height:1.15;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ts-cell.holiday,.ts-key.holiday{background:repeating-linear-gradient(135deg,#e9ecf1 0 6px,#fff 6px 9px);color:#5d6677;font-weight:500}.ts-cell.leave,.ts-key.leave{background:#e6e9f7;color:#4b55a0;box-shadow:inset 0 0 0 1px #b8bfe6;font-size:10px}.ts-cell.half{box-shadow:inset 0 0 0 1px #b8bfe6}.ts-half{position:absolute;top:2px;left:4px;font-size:9px;font-weight:700;color:#4b55a0}.ts-cell.h3 .ts-half,.ts-cell.h4 .ts-half{color:#e6e9f7}.ts-int{position:absolute;left:4px;bottom:3px;height:4px;border-radius:2px;background:#6b5fb5;box-shadow:0 0 0 1.5px #fff}.ts-key.int{height:4px;border-radius:2px;background:#6b5fb5;vertical-align:2px}.ts-sum small{display:block;color:#7a8a87;font-size:10px}.ts-chip{display:inline-block;font-size:10px;font-weight:600;border-radius:5px;padding:1px 6px;margin-right:6px;vertical-align:1px}.ts-chip.proj{background:#e1f0e7;color:var(--green)}.ts-chip.int{background:#ecebf7;color:#6b5fb5}.ts-chip.lv{background:#e6e9f7;color:#4b55a0}.ts-chip.hol{background:#e9ecf1;color:#5d6677}.ts-day-sum{margin:0 0 12px;font-size:12px;color:#4c665d}.ts-day-actions{display:flex;gap:6px}.ts-day-buttons{justify-content:flex-start;margin-top:12px}.ts-week-note{display:block;margin-top:8px;color:#7a8a87}.holiday-table tr.past td{color:#7a8a87}.holiday-actions{text-align:right;white-space:nowrap}.holiday-actions button+button{margin-left:6px}.ts-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1300px){.ts-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.ts-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ts-tiles{grid-template-columns:1fr}}.multi-select-options .check.locked{color:#7a8a87;cursor:default}fieldset .multi-select{margin-top:6px}.team-names{display:block;max-width:70ch;line-height:1.5;white-space:normal}.team-names .link-button{font-size:inherit}.sidebar nav .nav-group{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.sidebar nav .nav-group+.nav-group{margin-top:8px}.sidebar nav .nav-group-head{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#6f8e87;border-radius:6px}.sidebar nav button.nav-group-head{gap:6px;font-size:10px;color:#6f8e87}.sidebar nav button.nav-group-head:hover{background:none;color:#b9cfc9}span.nav-group-head{padding-left:33px!important}.nav-chevron{transition:transform .15s ease}.nav-group.closed .nav-chevron{transform:rotate(-90deg)}.nav-count{margin-left:auto;font-weight:500;letter-spacing:0;color:#5b7a73}.nav-dot{width:6px;height:6px;border-radius:50%;background:#5ce0bd}.profile .icon+.icon{margin-left:0}.profile .icon.active{background:#245346;color:#c7ffe9}.profile>div{min-width:0}.profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}.matrix td.matrix-other{color:#c3cfcb;text-align:center}.workspace-settings{max-width:850px;display:grid;gap:18px;padding-bottom:70px}.settings-intro h2{margin:0 0 6px}.settings-intro p,.settings-group>p{margin:0;font-size:12px;color:var(--muted);line-height:1.55}.settings-group>h2{margin:0 0 6px}.settings-group>p{margin-bottom:8px}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;padding:14px 0;border-top:1px solid #eef3ef}.setting-row.off{opacity:.5}.setting-row strong{font-weight:550}.setting-row small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px;line-height:1.45}.setting-row small.setting-error{color:#a6473b}.setting-control{display:flex;align-items:center;gap:8px;justify-content:flex-end}.setting-row.wide{grid-template-columns:minmax(0,1fr)}.setting-row.wide .setting-control{justify-content:stretch}.setting-text{width:100%;min-height:72px;padding:8px 10px;border:1px solid #d8e2dd;border-radius:6px;font:inherit;font-size:13px;resize:vertical}.setting-control input[type=number]{width:96px;padding:8px 10px;border:1px solid #d8e2dd;border-radius:6px;text-align:right;font-variant-numeric:tabular-nums}.setting-control input.bad{border-color:#a6473b;background:#fbeceb}.setting-control>span{min-width:70px;font-size:12px;color:var(--muted)}.setting-changed{font-size:9.5px;font-weight:650;letter-spacing:.6px;color:#1c725b;background:#e6f2ed;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:2px}.yes-no{display:inline-flex;border:1px solid #d8e2dd;border-radius:6px;overflow:hidden}.yes-no button{border:0;background:#fff;color:#4c665d;padding:8px 18px;font-size:12px;font-weight:550;cursor:pointer}.yes-no button+button{border-left:1px solid #d8e2dd}.yes-no button[aria-pressed=true]{background:#1c725b;color:#fff}.delete-perms th,.delete-perms td{padding:11px 10px;border-top:1px solid #eef3ef;text-align:center}.delete-perms th:first-child,.delete-perms td:first-child{text-align:left}.delete-perms td:first-child{width:46%}.delete-perms td small{display:block;color:var(--muted);font-size:11px;margin-top:2px;max-width:340px;white-space:normal}.delete-perms input{width:17px;height:17px;accent-color:#1c725b}.delete-perms tr.audit td{background:#fff8eb}.settings-savebar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;box-shadow:0 -4px 14px #102c280f}.settings-savebar>span{margin-right:auto;font-size:12px;color:var(--muted)}@media(max-width:700px){.setting-row{grid-template-columns:1fr}.setting-control{justify-content:flex-start}}.setting-choice{border:0;padding:10px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.setting-choice legend{font-size:11.5px;font-weight:550;color:#4c665d;padding:0;margin-bottom:6px}.setting-choice label{display:inline-flex;align-items:center;gap:6px;font-size:12px}.setting-choice input{width:16px;height:16px;accent-color:#1c725b}.setting-choice small{flex-basis:100%}.my-preferences .setting-row:first-of-type{border-top:0}.my-preferences .notice{margin-top:10px}.rp-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:16px}.rp-field,.rp-ms{display:grid;gap:5px;position:relative}.rp-label{font-size:9.5px;letter-spacing:1px;font-weight:600;color:#84958c;text-transform:uppercase}.rp-field select,.rp-field input,.rp-ms-button{padding:8px 10px;font-size:12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#243d39}.rp-ms-button{min-width:190px;max-width:260px;justify-content:space-between;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:28px}.rp-ms-button:after{content:"▾";position:absolute;right:10px;color:var(--muted)}.rp-ms-button:disabled{opacity:.7;background:#f7f9f8}.rp-ms-button:disabled:after{content:""}.rp-ms-button.filtered{border-color:var(--green);background:#e6f2ed}.rp-ms-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:30;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 28px #102c2829;width:290px;max-width:calc(100vw - 32px);padding:8px;display:grid;gap:4px}.rp-ms-pop input[type=search]{padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:12px}.rp-ms-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding:4px}.rp-ms-actions span{display:flex;gap:10px}.rp-ms-list{max-height:300px;overflow:auto}.rp-ms-list label{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:5px;font-size:12px;cursor:pointer}.rp-ms-list label:hover{background:#eef5f1}.rp-ms-list label small{margin-left:auto;color:var(--muted);font-size:10px}.rp-ms-list input{accent-color:var(--green)}.rp-ms-group{font-size:9.5px;letter-spacing:1px;color:var(--muted);font-weight:600;padding:8px 6px 2px;text-transform:uppercase}.rp-ms-list .muted{padding:6px;margin:0}.rp-export{margin-left:auto}.rp-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto}.rp-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;font-size:12.5px;font-weight:550;color:var(--muted);white-space:nowrap}.rp-tabs button.active{color:#243d39;border-bottom-color:var(--green)}.rp-scopeline{font-size:11.5px;color:var(--muted);margin:0 0 16px;line-height:1.6}.rp-scopeline b{color:#243d39;font-weight:600}.rp-up{color:#166957}.rp-down{color:#a6473b}.reports .perf-tile span b{font-weight:600}.reports .panel{margin-bottom:16px}.reports .panel h2{margin:0;font-size:15px}.reports .panel>.muted{margin:4px 0 14px;font-size:11.5px;line-height:1.5}.reports .panel.table-wrap{padding:0}.reports th.num,.reports td.num{text-align:right;font-variant-numeric:tabular-nums}.rp-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.rp-grid .panel{margin-bottom:0;min-width:0}.rp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--muted);margin-bottom:12px}.rp-legend span{display:inline-flex;align-items:center;gap:6px}.rp-swatch{width:11px;height:11px;border-radius:3px;display:inline-block}.rp-swatch.line{height:2px;width:16px}.rp-swatch.dash{height:0;width:16px;border-top:2px dashed #8a9a95;border-radius:0}.rp-swatch.dash.over{border-top-color:#c07a00}.rp-swatch.rp-median{width:2px;height:12px;background:#243d39}.rp-hatch{background:repeating-linear-gradient(45deg,#b3bdba 0 3px,transparent 3px 6px)}.rp-swatch.rp-hatch{outline:1px solid #b3bdba}.rp-chart text{fill:#7a8a87;font-size:11px}.rp-chart .rp-chart-value{fill:#243d39;font-weight:600}.rp-attention{list-style:none;margin:0;padding:0}.rp-attention li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid #edf1ee;align-items:start;font-size:12px;line-height:1.45}.rp-attention li:first-child{border-top:0;padding-top:2px}.rp-attention small{display:block;color:var(--muted);font-size:11px}.rp-pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;background:#eef2f1;color:#5d6f6a}.rp-pill.good{background:#e6f2ed;color:#166957}.rp-pill.warn{background:#fff6e5;color:#8a5a00}.rp-pill.bad{background:#fbeceb;color:#a6473b}.rp-score{display:grid;gap:12px}.rp-score-row{display:grid;grid-template-columns:130px minmax(0,1fr) 48px;gap:10px;align-items:center;font-size:12px}.rp-score-row strong{text-align:right;font-variant-numeric:tabular-nums}.rp-track{position:relative;height:10px;background:#edf1ee;border-radius:5px}.rp-track i{position:absolute;inset:0 auto 0 0;background:#0f8a63;border-radius:5px}.rp-track b{position:absolute;top:-4px;bottom:-4px;width:2px;background:#243d39}.rp-score+.rp-legend{margin:14px 0 0}.rp-heat{border-collapse:separate;border-spacing:2px;width:auto}.rp-heat th,.rp-heat td{border:0;background:none;padding:0 0 4px;font-size:9.5px;text-align:center}.rp-heat td.rp-heat-name{text-align:left;padding:0 12px 0 0;font-size:11.5px;font-weight:550}.rp-heat td.num{padding-left:12px;font-size:11.5px}.rp-heat td.rp-cell{width:38px;min-width:38px;height:28px;padding:0;border-radius:4px;font-size:10px;font-weight:600}.rp-s0,.rp-heat td.rp-s0{background:#f3f5f4}.rp-s1,.rp-heat td.rp-s1{background:#e3f1ec}.rp-s2,.rp-heat td.rp-s2{background:#bfe0d3}.rp-s3,.rp-heat td.rp-s3{background:#8ccab4}.rp-s4,.rp-heat td.rp-s4{background:#4fa98a;color:#fff}.rp-s5,.rp-heat td.rp-s5{background:#1f7f61;color:#fff}.rp-s6,.rp-heat td.rp-s6{background:#0f5641;color:#fff}.rp-heat td.over,.rp-swatch.over{box-shadow:inset 0 0 0 2px #c07a00}.rp-ramp{display:inline-flex;gap:2px}.rp-ramp i{width:18px;height:10px;border-radius:2px}.rp-bar{display:flex;gap:2px;height:16px;min-width:200px}.rp-bar i{display:block;height:100%}.rp-bar i:first-child{border-radius:4px 0 0 4px}.rp-bar i:last-child{border-radius:0 4px 4px 0}.rp-bar i:only-child{border-radius:4px}td.rp-barcell{width:55%;min-width:220px}.rp-who{font-size:11px;font-weight:600;padding:0;text-align:left}td.rp-wrap{white-space:normal;min-width:200px}.rp-foot{font-size:11px}.rp-tip{position:fixed;pointer-events:none;background:#1b2d29;color:#f2f6f5;font-size:11.5px;line-height:1.45;padding:7px 10px;border-radius:6px;max-width:270px;z-index:50;box-shadow:0 4px 14px #0000002e}@media(max-width:1000px){.rp-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.rp-export{margin-left:0}.rp-ms-button{min-width:0;width:100%;max-width:none}.rp-ms,.rp-field{flex:1 1 140px}.rp-score-row{grid-template-columns:100px minmax(0,1fr) 44px}}.activity-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;color:#5d6f6a;margin:4px 0 8px}.activity-facts strong{color:#243d39}.activity-facts strong.muted{color:var(--muted);text-decoration:line-through}.activity-outcome{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px}.activity-outcome.positive{background:#e6f2ed;color:#166957}.activity-outcome.neutral{background:#eef2f1;color:#5d6f6a}.activity-outcome.negative{background:#fbeceb;color:#a6473b}.created-by-me{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;font-size:11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#4d625b;white-space:nowrap}.created-by-me.on{background:var(--green);border-color:var(--green);color:#fff}.account-facts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.account-facts small{color:var(--muted);font-size:11px}.hours-input{position:relative;display:block}.hours-input input{width:100%;padding-right:34px}.hours-steps{position:absolute;top:3px;right:3px;bottom:3px;display:grid;grid-template-rows:1fr 1fr;width:26px}.hours-steps button{border:0;background:#f1f5f3;color:#4d625b;font-size:8px;padding:0;justify-content:center;border-radius:4px}.hours-steps button+button{margin-top:1px}.hours-steps button:hover{background:#e6f2ed;color:var(--green)}.hours-as-time{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:11px;pointer-events:none}.catalog-perms th,.catalog-perms td{text-align:center;padding:9px 7px}.catalog-perms th:first-child,.catalog-perms td:first-child{text-align:left;padding-left:12px}.catalog-perms th.group,.catalog-perms td.group{border-left:2px solid var(--border)}.catalog-perms thead tr:first-child th.group{color:#3c5650;font-size:10.5px}.catalog-perms input{width:16px;height:16px;accent-color:var(--green)}.tabs .tab-q{font-style:normal;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;font-size:9px;line-height:12px;text-align:center;opacity:.5;margin-left:2px;background:none;padding:0}.tab-help{position:fixed;z-index:60;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #102c2829;padding:14px 16px;display:grid;gap:8px;pointer-events:none;color:#243d39}.tab-help:before{content:"";position:absolute;top:-7px;left:var(--arrow, 28px);width:12px;height:12px;background:#fff;border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.tab-help h3{margin:0;font-size:13.5px}.tab-help h3 small{color:var(--muted);font-weight:500;font-size:11px}.tab-help p{margin:0;font-size:12.5px;line-height:1.55}.tab-help dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:11.5px;line-height:1.5}.tab-help dt{color:var(--muted);font-weight:600;white-space:nowrap}.tab-help dd{margin:0}.tab-help hr{border:0;border-top:1px solid var(--border);margin:4px 0;width:100%}.tab-help.in-form{z-index:120}.tab-help.above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.help-label{display:inline-flex;align-items:center;gap:4px}.help-q{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;font-size:9px;font-weight:600;line-height:12px;text-align:center;opacity:.6;cursor:help}.help-q:hover,.help-q:focus-visible{opacity:1;color:var(--green)}.updated-at{color:var(--muted);font-size:11px;align-self:center;white-space:nowrap}.radar-sort{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.radar-sort select{padding:8px 28px 8px 10px;font-size:11px}@media(max-width:640px){.section-heading:has(>.radar-sort){flex-wrap:wrap}.section-heading:has(>.radar-sort)>h2{flex-basis:100%}.section-heading>.radar-sort{justify-content:flex-start}}.perf-tiles.rp-tiles-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.perf-tiles.rp-tiles-3{grid-template-columns:minmax(0,1fr)}}.filter-select{position:relative;min-width:150px;flex:1}.filter-select>button{width:100%;display:flex;align-items:center;gap:6px;padding-right:10px;font-size:11px;text-align:left;background:#fff;color:var(--dark);border:1px solid #dbe3e0;border-radius:7px;cursor:pointer}.filter-select>button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-select>button b{background:var(--green);color:#fff;border-radius:9px;padding:0 6px;font-size:10px}.filter-select>button svg{color:var(--muted);flex:none}.filter-select.active>button{border-color:var(--green);background:#e9f4f0}.filter-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:min(340px,90vw);background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #102c2829;padding:8px;display:grid;gap:6px}.filter-menu input[type=search]{font-size:12px;padding:7px 8px}.filter-tools{display:flex;justify-content:space-between;gap:12px}.filter-tools button{border:0;background:none;color:var(--green);font-size:11px;padding:2px;cursor:pointer}.filter-tools button:disabled{color:var(--muted);cursor:default}.filter-options{max-height:260px;overflow:auto;display:grid}.filter-options label{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px;border-radius:5px;cursor:pointer;white-space:normal}.filter-options label:hover{background:#f0f5f3}.filter-options input{width:auto;margin:0}.filter-options small{color:var(--muted);padding:6px}.filter-chips{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filter-chips>button:not(.link-button){display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border:1px solid #cfe3dc;border-radius:14px;background:#e9f4f0;color:var(--dark);cursor:pointer}.filter-chips .link-button{font-size:11px}.export-choice-note{margin:0 0 12px;color:var(--muted)}.export-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-choice button{display:grid;justify-items:start;justify-content:stretch;gap:4px;text-align:left;padding:14px}.export-choice small{color:var(--muted);font-weight:400}@media(max-width:640px){.export-choice{grid-template-columns:1fr}}.effort-several{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-bottom:12px;cursor:pointer}.effort-several input{width:auto;accent-color:var(--green)}.effort-range{display:grid;gap:8px;border:1px dashed var(--border);border-radius:8px;padding:10px 12px;margin-bottom:16px}.effort-range strong{color:var(--dark)}.effort-range small{color:#6b7f75}.effort-days{display:flex;flex-wrap:wrap;gap:6px}.effort-days span{font-size:12px;border-radius:6px;padding:3px 8px;background:#e4f1ed}.effort-days span.skip{background:none;border:1px solid var(--border);color:var(--muted);text-decoration:line-through}.field-problem{color:#a6473b;font-size:13px;margin:0 0 12px}.poc-span{font-weight:600;color:var(--dark);margin:0}.poc-span span{font-weight:400;color:var(--muted);font-size:12px}.poc-logged{background:#f5f8f7;border-radius:7px;padding:7px 10px;margin:4px 0;font-size:13px;color:var(--muted)}.poc-logged strong{color:var(--dark)}.poc-tag{justify-self:start;font-size:12px;color:var(--green);background:#e4f1ed;border-radius:6px;padding:1px 8px}.poc-filter{grid-column:1 / -1;margin:0;color:var(--muted)}.log-time{border-color:var(--green);color:var(--green)}.effort-days span.planned{background:none;border:1px dashed var(--green)}.effort-planned{color:#9a5b00;font-size:13px}.planned-tag{margin-left:8px;font-size:11px;font-weight:600;color:#9a5b00;background:#fff4e0;border-radius:6px;padding:1px 7px}.login-card{position:relative}.login-lang{position:absolute;top:16px;right:16px;display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.login-lang button{font:inherit;font-size:12px;border:0;background:none;padding:5px 10px;cursor:pointer;color:var(--muted)}.login-lang button.selected{background:var(--green);color:#fff;font-weight:600}table.translations td{vertical-align:top}table.translations td:first-child{width:22%;word-break:break-all}table.translations td:nth-child(2){width:34%}table.translations code{font-size:12px;color:var(--muted, #5f6f6a)}table.translations textarea{width:100%;min-height:38px;resize:vertical;font:inherit}table.translations textarea.bad{border-color:#c4587a}table.translations small{display:block;margin-top:4px;color:var(--muted, #5f6f6a)}table.translations small.setting-error{color:#b3261e}table.translations tr.unsaved td{background:#fff8e6}table.translations .setting-changed{margin-left:6px}@media(max-width:720px){table.translations td:first-child,table.translations td:nth-child(2){width:auto}}.modal.backup-done{width:520px}.backup-done dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:16px 0;font-size:13px}.backup-done dt{color:#1c725b}.backup-done dd{margin:0;overflow-wrap:anywhere}.backup-done dd small{display:block;color:#5b6f66}.backup-done .form-footer{gap:10px}.backup-done .form-footer a.secondary{text-decoration:none}th.sortable{padding:0}.sort-head{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:5px;width:100%;padding:15px 17px;cursor:pointer;font:inherit;color:inherit}th.num .sort-head{justify-content:flex-end}.sort-head:hover{color:#1c725b}.sort-head:focus-visible{outline:2px solid #1c725b;outline-offset:-2px}.sort-head.on{color:#1c725b;font-weight:700}.sort-arrow{flex:none;width:8px;height:11px}.sort-arrow path{fill:currentColor;opacity:.3}.sort-head.on.asc .up,.sort-head.on.desc .down{opacity:1}.sort-head.on.asc .down,.sort-head.on.desc .up{opacity:0}.workspace-input{width:260px;max-width:100%;padding:8px 10px;border:1px solid #dbe9e0;border-radius:7px;font:inherit;font-size:12px}.workspace-preview{display:block;margin-top:10px;color:#6b7f75;font-size:11.5px}.directory-settings h3{margin:22px 0 8px;font-size:13px}.dir-modes{display:grid;gap:8px;margin:10px 0 4px}.dir-mode{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #dbe9e0;border-radius:9px;padding:11px 12px;cursor:pointer}.dir-mode.on{border-color:#1c725b;background:#f1f8f4}.dir-mode.off{opacity:.5;cursor:not-allowed}.signin-methods{display:grid;gap:8px}.signin-method{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbe9e0;border-radius:9px;padding:10px 12px}.signin-method.on{border-color:#b9d8cf;background:#f7fbf9}.signin-method strong{display:block;font-size:12.5px}.signin-method small{display:block;color:#6b7f75;font-size:11.5px;line-height:1.5}.signin-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700}.signin-icon.pw{background:#e2f3ee;color:#1c725b}.signin-icon.ms{background:#e6f0fb}.signin-icon.ad,.signin-source.ad{background:#efeafb;color:#5a3d9a}.signin-always{font-size:11px;font-weight:600;color:#1d7a3a;background:#dff5e4;border-radius:99px;padding:1px 9px}.signin-part{margin-top:18px;padding:2px 14px 14px;border:1px solid #dbe9e0;border-radius:10px}.directory-settings .signin-part h3:first-child{margin-top:14px;font-size:14px}.signin-part>.dir-note{margin-bottom:10px}.directory-settings h3.signin-subhead{font-size:12.5px;color:#4f6a62}.signin-source{display:inline-block;font-size:11px;font-weight:600;border-radius:99px;padding:0 8px;white-space:nowrap}.signin-source.ms{background:#e6f0fb;color:#0b5cad}.ms-logo{display:inline-grid;grid-template-columns:9px 9px;gap:2px}.ms-logo i{display:block;width:9px;height:9px}.ms-logo i:nth-child(1){background:#f25022}.ms-logo i:nth-child(2){background:#7fba00}.ms-logo i:nth-child(3){background:#00a4ef}.ms-logo i:nth-child(4){background:#ffb900}.signin-icon .ms-logo{grid-template-columns:7px 7px}.signin-icon .ms-logo i{width:7px;height:7px}.dir-mode input{margin-top:3px;accent-color:#1c725b}.dir-mode strong{display:block;font-size:12.5px}.dir-mode small,.dir-field small,.dir-note,.directory-settings .check small{display:block;color:#6b7f75;font-size:11.5px;line-height:1.5}.dir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.dir-field{display:grid;align-content:start;gap:5px;font-size:12px;color:#1c725b;margin-bottom:10px;min-width:0}.dir-field input,.dir-field select,.dir-field textarea,.dir-group-row input,.dir-group-row select{font:inherit;font-size:12px;padding:8px 10px;border:1px solid #dbe9e0;border-radius:7px;min-width:0}.dir-field textarea{font-family:ui-monospace,Menlo,Consolas,monospace;resize:vertical}.dir-narrow{max-width:260px}.dir-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 10px}.dir-save{justify-content:flex-end;border-top:1px solid #edf2ee;padding-top:14px;margin-top:16px}.dir-save small{margin-right:auto;color:#6b7f75}.dir-groups{display:grid;gap:8px;margin:6px 0 10px}.dir-group-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px}.dir-result dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:8px 0 0}.dir-result dd{margin:0;overflow-wrap:anywhere}.dir-result .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}.signin-note.directory{color:#3a6fb0}.signin-note.local{color:#a3772d}@media(max-width:700px){.dir-grid,.dir-group-row{grid-template-columns:1fr}}.workspace-settings,.directory-settings{min-width:0;max-width:100%}.workspace-settings{grid-template-columns:minmax(0,1fr)}.install-offer{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 40px #102c2833;padding:16px;display:flex;flex-direction:column;gap:12px;z-index:90}.app.standalone .install-offer{bottom:calc(76px + env(safe-area-inset-bottom))}.install-offer-head{display:flex;gap:12px;align-items:center}.install-offer-head strong{display:block;font-size:15px;color:var(--dark)}.install-offer-head small{color:var(--muted)}.install-offer p{margin:0;color:#4a5f5b}.install-icon{width:44px;height:44px;flex:none;border-radius:12px;background:var(--dark);color:#5ce0bd;display:inline-flex;align-items:center;justify-content:center}.install-offer-actions{display:flex;justify-content:flex-end;gap:8px}.install-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.install-steps li{display:flex;align-items:center;gap:8px}.install-steps li>span{width:22px;height:22px;flex:none;border-radius:50%;background:#e2f3ee;color:var(--green);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.install-steps svg{color:#1f6feb}.install-app .install-state{color:#4a5f5b}.update-notice{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));width:min(440px,calc(100% - 24px));background:var(--dark);color:#e6f2ee;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 24px #0000004d;z-index:95}.update-notice span{flex:1}.update-notice button{background:#5ce0bd;color:#113f33;border:0;border-radius:8px;padding:6px 12px;font-weight:650}.app.standalone .update-notice{bottom:calc(76px + env(safe-area-inset-bottom))}.offline-notice{display:flex;gap:10px;align-items:flex-start;background:#fff4d6;color:#7a5300;border:1px solid #f1dda0;border-radius:10px;padding:10px 12px;margin-bottom:16px}.offline-notice svg{flex:none;margin-top:2px}.bottom-tabs{display:none}@media(max-width:800px){.app.standalone .bottom-tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border-top:1px solid var(--border);padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));z-index:15}.bottom-tabs button{background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10.5px;min-width:0}.bottom-tabs button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-tabs button.active{color:var(--green);font-weight:650}.app.standalone main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app.standalone .sidebar{bottom:calc(64px + env(safe-area-inset-bottom))}}.app.standalone .topbar{padding-top:env(safe-area-inset-top);height:calc(69px + env(safe-area-inset-top))}.app.standalone .sidebar{padding-top:calc(30px + env(safe-area-inset-top))}.dup-warning{margin-top:14px;background:#fff4d6;border:1px solid #f0d68a;color:#6e4b00;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.dup-warning>strong{display:flex;gap:8px;align-items:center}.dup-match{background:#fff;color:#243d39;border:1px solid #f0d68a;border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.dup-match-head,.dup-pair-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dup-match small,.dup-side small{color:var(--muted);display:block}.dup-show-low{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#4c5f58;margin-bottom:10px;cursor:pointer}.dup-reasons{display:flex;flex-wrap:wrap;gap:5px}.dup-reasons span{font-size:11.5px;border-radius:10px;padding:1px 8px;background:#fbecc4;color:#6e4b00}.dup-level{font-size:11px;font-weight:700;border-radius:10px;padding:1px 8px;background:#eceff0;color:#5d6b69}.dup-level.high{background:#fde2d8;color:#9a3412}.dup-level.medium{background:#fbecc4;color:#6e4b00}.dup-actions{margin-top:4px}.dup-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dup-button{background:#fff4d6;border-color:#f0d68a;color:#6e4b00;display:inline-flex;gap:6px;align-items:center}.modal.dup-modal{width:min(860px,calc(100% - 24px))}.dup-panel,.dup-merge{display:flex;flex-direction:column;gap:12px}.dup-panel>p,.dup-merge>p{margin:0}.dup-pair{border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px 16px;align-items:start}.dup-pair-head{grid-column:1 / -1}.dup-side{border-left:3px solid var(--border);padding-left:10px;min-width:0;overflow-wrap:anywhere}.dup-pair-actions{display:flex;flex-direction:column;gap:6px}@media(max-width:760px){.dup-pair{grid-template-columns:minmax(0,1fr)}.dup-pair-actions{flex-direction:row;flex-wrap:wrap}}.dup-toast{background:var(--dark);color:#e6f2ee;border-radius:10px;padding:8px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.dup-toast button{background:none;border:0;color:#5ce0bd;font-weight:650}.dup-choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:640px){.dup-choose{grid-template-columns:minmax(0,1fr)}}.dup-option{border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;min-width:0}.dup-option.on{border-color:var(--green);box-shadow:0 0 0 2px #cdeee3}.dup-option b,.dup-option small{display:block;overflow-wrap:anywhere}.dup-option small{color:var(--muted)}.dup-option .dup-suggested{color:var(--green);font-weight:650}.dup-merge td.num,.dup-merge th.num{text-align:right;font-variant-numeric:tabular-nums}.dup-dropped{color:#8a6100}.dup-confirm{display:flex;gap:8px;align-items:flex-start}button.primary.danger{background:#a13d2d;border-color:#a13d2d}.page-flash{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}.page-flash .link{background:none;border:0;font-size:18px;line-height:1;color:inherit}.crash{max-width:460px;margin:18vh auto 0;padding:0 20px;text-align:center}.crash h1{font-size:22px;color:var(--dark)}.crash p{color:var(--muted)}.setting-subgroup .setting-row:not(.setting-subhead){padding-left:20px}.setting-subgroup .setting-row:not(.setting-subhead) strong:before{content:"↳ ";color:var(--muted)}.dup-side .dup-other-team{color:#24446e;font-weight:650}.effort-type{margin:0;font-size:12px;font-weight:600;color:#243d39;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.guessed-tag{display:inline-block;font-size:10.5px;font-weight:600;color:#8a5a00;background:#fff6e5;border:1px dashed #d9b46a;border-radius:10px;padding:0 7px;white-space:nowrap}.pe-flag{display:inline-block;font-size:11px;font-weight:700;border-radius:10px;padding:1px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}.pe-flag.ok{background:#dff5e4;color:#1d7a3a}.pe-flag.near{background:#fbecc4;color:#8a6100}.pe-flag.over{background:#fde2d8;color:#a13d2d}.pe-flag.none{background:#eceff0;color:#5d6b69}.pe-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.pe-kpis>div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.pe-kpis b{display:block;font-size:19px;font-variant-numeric:tabular-nums;color:#243d39}.pe-kpis b.over{color:#a13d2d}.pe-kpis b.near{color:#8a6100}.pe-kpis span{font-size:11.5px;color:var(--muted)}@media(max-width:760px){.pe-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.pe-table{min-width:760px}.pe-table td.num,.pe-table th.num{white-space:nowrap}.pe-row{cursor:pointer}.pe-row:hover{background:#f6faf9}.pe-row.selected{background:#eef7f3}.pe-table td small{display:block;color:var(--muted);font-size:11px}td.pe-mix{width:14%;min-width:90px}.pe-stack{display:flex;height:12px;border-radius:4px;overflow:hidden;background:#edf1ee}.pe-stack i{display:block;height:100%}td.pe-people{font-size:11.5px;min-width:110px}td.pe-people span{white-space:nowrap}.pe-dhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pe-dhead h2{margin:0;font-size:15px}.pe-guessnote{font-size:12px;background:#fffaf0;border:1px solid #f0dfb8;border-radius:8px;padding:8px 10px;margin:0 0 12px}.pe-why{font-size:12.5px;margin-bottom:12px}.pe-why ul{margin:6px 0 0;padding-left:20px}.pe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:760px){.pe-grid{grid-template-columns:minmax(0,1fr)}}.pe-box{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:#fff}.pe-box h3{margin:0 0 8px;font-size:12.5px}.pe-bars{display:grid;gap:6px}.pe-brow{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 56px;gap:8px;align-items:center;font-size:12px}.pe-bname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.pe-track{height:10px;background:#edf1ee;border-radius:5px;overflow:hidden}.pe-track i{display:block;height:100%;border-radius:5px}.pe-bval{text-align:right;font-variant-numeric:tabular-nums}.pe-chart{width:100%;height:auto;max-height:160px}.pe-chart text{fill:#7a8a87;font-size:10px}.pe-stages{display:flex;flex-wrap:wrap;gap:6px}.pe-stages span{font-size:12px;background:#eef2f1;border-radius:8px;padding:3px 9px}.pe-person{display:block}.import-dups>small{color:#6e4b00}.import-dup-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.import-dup-pair>span{color:var(--muted)}.import-dup-pair b{display:block}.dup-match small.import-dup-where{font-size:11px;font-variant-numeric:tabular-nums}.import-dups .segmented{align-self:flex-start;margin-top:4px}@media(max-width:600px){.import-dup-pair{grid-template-columns:minmax(0,1fr)}}.login-card .ms-signin{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:42px;margin:4px 0 2px;border:1px solid #8c8c8c;border-radius:6px;background:#fff;color:#5e5e5e;font:600 15px "Segoe UI",inherit;text-decoration:none}.login-card .ms-signin:hover{background:#f3f3f3}.login-card .ms-signin:focus-visible{outline:2px solid #1c725b;outline-offset:2px}.login-or{display:flex;align-items:center;gap:10px;margin:14px 0 12px;color:#6b7f75;font-size:12px}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:#dbe5e1}.login-card .login-forgot{display:block;margin:16px auto 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}.login-card>.secondary{width:100%}.login-card p.notice,.login-card p.error{margin:12px 0 18px;font-size:13px}.reset-requests{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:12px 0 4px;padding:10px 14px;background:#fff4d6;border:1px solid #f0d68a;color:#6e4b00;border-radius:10px}.reset-requests>div{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.reset-requests svg{flex:none}.dashboard-resets{margin:0 0 16px}.dashboard-resets small{font-size:12px;opacity:.85}.dashboard-resets .link-button{color:inherit;text-decoration:underline;text-underline-offset:3px}.password-reminder{margin:0 0 16px}.password-reminder .link-button{color:inherit;text-decoration:underline;text-underline-offset:3px}.account-row small.reset-pill.expired{background:#fbe7e4;color:#a3342a}.pw-field{min-width:0}.pw-checks{display:grid;gap:3px;margin:-4px 0 10px;padding:0;list-style:none;font-size:12.5px;color:#6f817d}.pw-checks li{display:flex;align-items:center;gap:7px}.pw-checks li:before{content:"";flex:none;width:13px;height:13px;border-radius:50%;border:1.5px solid #c3cfcc}.pw-checks li.met{color:#1d7a3a}.pw-checks li.met:before{background:#1d7a3a;border-color:#1d7a3a;box-shadow:inset 0 0 0 2.5px #fff}.pw-checks li.bad{color:#a3342a}.pw-checks li.bad:before{border-color:#a3342a;background:#fbe7e4}.pw-checks li.later:before{border-style:dashed}.nav-alert{margin-left:auto;min-width:20px;padding:0 7px;border-radius:99px;background:#f0b429;color:#3d2a00;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.nav-group-head .nav-alert+.nav-count{margin-left:8px}.account-row small.reset-pill{display:inline-block;margin-top:6px;padding:1px 9px;border-radius:99px;font-size:11.5px;background:#eef1f0;color:#55665f}.account-row small.reset-pill.ask{background:#fff4d6;color:#6e4b00;border:1px solid #f0d68a}.reset-panel{margin:0 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fafcfb;display:flex;flex-direction:column;gap:10px}.reset-panel h3{margin:0;font-size:14px}.reset-panel .footnote{margin:0}.reset-asked{margin:0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;background:#fff4d6;border:1px solid #f0d68a;color:#6e4b00;border-radius:9px;padding:8px 11px;font-size:13px}.reset-link{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.reset-link code{flex:1 1 280px;min-width:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:#f1f5f4;border:1px solid var(--border);border-radius:9px;padding:8px 10px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.reset-message{margin:0;white-space:pre-wrap;font:inherit;font-size:12.5px;background:#f1f5f4;border-left:3px solid var(--green);border-radius:8px;padding:9px 11px;-webkit-user-select:all;user-select:all}.reset-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.view-only-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:0 6px;border-radius:99px;background:#dde7fb;color:#2d4f93;font-weight:600}.view-only-note{display:flex;align-items:center;gap:7px;margin:8px 0 0;padding:7px 11px;border:1px solid #bccbeb;border-radius:8px;background:#e8eefb;color:#2d4f93;font-size:12.5px}.view-teams .check{align-items:flex-start;margin:6px 0}.view-teams .check small{color:#6f817d}.view-team-list{display:flex;flex-wrap:wrap;gap:2px 18px;padding-left:22px}.view-team-list .check{margin:4px 0}.view-only-note.in-project{margin:0 0 16px}.counts-badge{justify-self:start;padding:1px 8px;border-radius:99px;background:#e3f1e8;color:#2b6b45;font-size:11px;font-weight:600}.perf-capacity-note{display:block;margin-top:2px;color:#7a8a87;font-size:11px}.time-split{display:grid;gap:6px}.time-split-cap{margin:0;color:#5f706c;font-size:12px}.time-split-bar{display:flex;height:12px;border-radius:4px;overflow:hidden;background:#eef1f2}.time-split i.project,.time-split-bar i.project{background:var(--green)}.time-split i.counted{background:#6aa883}.time-split i.internal{background:#d9a441}.time-split i.missing{background:#cdd5d8}.time-split-bar i{display:block;height:100%}.time-split-legend{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:12px}.time-split-legend li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.time-split-legend i{width:10px;height:10px;border-radius:2px;flex:none}.time-split-legend b{font-variant-numeric:tabular-nums}.time-split-legend small,.time-split>small{color:#7a8a87;font-size:11px}.check span small.field-hint{display:block;margin-top:2px}.kv{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.kv-compare{margin:0;color:var(--muted);font-size:11.5px}.kv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.kv-card{display:grid;gap:4px;align-content:start}.kv-card small{color:#7a8a87;font-size:11px}.kv-card strong{font-size:22px;font-variant-numeric:tabular-nums}.kv-card strong .kv-pill{font-size:18px;padding:1px 10px}.kv-card span{color:#5f706c;font-size:11.5px}.kv-pill{display:inline-block;min-width:48px;padding:1px 8px;border-radius:99px;text-align:center;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.kv-pill.good{background:#e3f1e8;color:#23673f}.kv-pill.warn{background:#fbf0d6;color:#8a5a00}.kv-pill.bad{background:#f8e1df;color:#a2332b}.kv-pill.few,.kv-pill.none{background:#eef1f2;color:#6b7a77;font-weight:500}.kv-card .kv-change,.kv-change{font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.kv-change.up{color:#23673f}.kv-change.down{color:#a2332b}.kv-change.flat{color:#7a8a87}.kv-table th small{display:block;font-weight:400;color:#7a8a87}.kv-table td{white-space:nowrap}.kv-table td small{display:block;color:#7a8a87}.kv-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:#5f706c}.kv-legend span{display:inline-flex;align-items:center;gap:6px}.kv-legend .kv-pill{min-width:0;width:12px;height:12px;padding:0}.filter-options .filter-group{padding:8px 6px 2px;font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.filter-options label small{margin-left:auto;color:var(--muted);font-size:11px}.filter-select.locked button{cursor:default;opacity:.8}.ps-filters{display:grid;gap:10px;margin-bottom:14px}.ps-filters .rp-filters{margin-bottom:0}.ps-q input{min-width:220px}.ps-row,.ps-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.ps-head h2{margin:0;font-size:15px}.ps-stages,.ps-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ps-chip{font:inherit;font-size:12px;border:1px solid var(--border);background:#fff;color:#243d39;border-radius:999px;padding:3px 11px;cursor:pointer}.ps-chip.on{background:var(--green);border-color:var(--green);color:#fff}.ps-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.ps-kpis b.ps-won{color:#1f7a3f}.ps-kpis b.ps-open{color:#2f5f9a}.ps-section{display:grid;gap:10px;margin-bottom:14px;min-width:0}.ps-table td{vertical-align:top}.ps-table td.num,.ps-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ps-sub{display:block;color:var(--muted);font-size:11px}.ps-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:260px}.ps-tag{font-size:11px;background:#eef3f1;border-radius:5px;padding:0 6px;white-space:nowrap}.ps-tag.hit{outline:1.5px solid #c25e12}.ps-locked{color:#4b5d59}.ps-locked svg,.ps-note svg{vertical-align:-1px;color:var(--muted)}.ps-bar{display:flex;height:7px;min-width:110px;background:#eef3f1;border-radius:4px;overflow:hidden}.ps-bar i{display:block;height:100%}.ps-bar .won{background:#1f7a3f}.ps-bar .open{background:#2f5f9a}.ps-bar .lost{background:#b5473a}.ps-note{margin:0;font-size:12px}@media(max-width:760px){.ps-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-q input{min-width:0}}.ps-tag.derived{background:transparent;color:var(--muted);border:1px dashed #cfdad6}.ps-more{font:inherit;font-size:11px;border:0;background:none;color:var(--green);padding:0 4px;cursor:pointer}.ps-more:hover{text-decoration:underline}.badge.cancelled{color:#646a70;background:#f0f1f2;outline:1px dashed #b5bbc0;outline-offset:-1px}.value-group.cancelled i,.ps-bar .cancelled{background:#8b9096}.nav-hide{margin-left:auto;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid #ffffff2b;background:transparent;color:#cfdfdb;cursor:pointer;flex-shrink:0}.nav-hide:hover{background:#ffffff1a;color:#fff}.nav-show{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;margin-right:6px;border-radius:7px;border:1px solid var(--border);background:#fff;color:#243d39;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.nav-show:hover{border-color:var(--green);color:var(--green)}.nav-hide:focus-visible,.nav-show:focus-visible{outline:2px solid #5ce0bd;outline-offset:2px}@media(min-width:801px){.sidebar{transition:transform .22s ease,visibility 0s linear 0s}.app main{transition:margin-left .22s ease,width .22s ease}.app.nav-hidden .sidebar{transform:translate(-100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.app.nav-hidden main{margin-left:0;width:100%}}@media(max-width:800px){.nav-hide,.nav-show{display:none}}@media(prefers-reduced-motion:reduce){.sidebar,.app main{transition:none!important}}.lock-badge{margin-left:7px;font-size:10.5px;font-weight:700;letter-spacing:.4px;padding:1px 8px;border-radius:99px;border:1px solid #f0d48a;background:#fff3d6;color:#8a5a00;vertical-align:1px}.lock-badge.auto{border-style:dashed}.account-row small.lock-line{color:#8a5a00}.secondary.lock-button{color:#8a5a00;border-color:#f0d48a}.lock-form{display:grid;gap:12px}.lock-form p{margin:0;color:var(--muted)}.lock-until{border:0;padding:0;margin:0;display:grid;gap:8px}.lock-until label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lock-notes{margin:0;padding-left:18px;font-size:12px;color:var(--muted)}
