.pm294{--pm-blue:#387ad8;--pm-amber:#d89b1d;--pm-red:#c94051;color:var(--text);font-size:13px;min-width:0}.pm294 *{box-sizing:border-box}.pm294 h2{font-size:17px;margin:0 0 8px}.pm294 p{color:var(--muted);line-height:1.65;margin:4px 0 12px}.pm-tabs,.pm-actions,.pm-title,.pm-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-tabs{margin-bottom:20px}.pm294 .pm-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:23px;margin-bottom:20px;min-width:0;box-shadow:0 5px 18px #11224405}.pm-title{justify-content:space-between;margin-bottom:15px}.pm-title h2,.pm-title p{margin:0}.pm294 label{display:flex;flex-direction:column;gap:8px;font-size:12px;min-width:0}.pm294 label>span{font-weight:600}.pm294 input,.pm294 select{width:100%;min-width:0;min-height:42px;padding:9px 10px;color:var(--text);background:var(--surface-alt,var(--surface));border:1px solid var(--border);border-radius:8px;font:inherit}.pm294 input[type=color]{width:64px;padding:5px}.pm-assign{display:grid;grid-template-columns:2fr 1.4fr 1.4fr 1.2fr .6fr auto;gap:12px;align-items:end}.pm-create{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.pm-create label{flex:1;min-width:150px}.pm-create label:has(input[type=color]){flex:0;min-width:65px}.pm-assign>.form-error,.pm-create>.form-error{grid-column:1/-1}.pm-assign>.form-error:empty,.pm-create>.form-error:empty{display:none}.pm-message{grid-column:1/-1;padding:10px 13px;border-radius:8px;font-size:12px;background:var(--soft,var(--surface));line-height:1.6}.pm-message:empty{display:none}.pm294 .good{color:#138153}.pm294 .amber{color:#bb7d08}.pm294 .danger,.pm294 .pm-warning{color:#d54853}.pm-badge,.pm-scope{border:1px solid var(--border);padding:6px 10px;border-radius:7px;color:var(--muted);font-size:11px}.pm-hint{font-size:11px;color:var(--muted);margin-top:10px;display:block}.pm-legend{color:var(--muted);font-size:11px;margin-bottom:18px;gap:20px}.pm-legend span{display:flex;align-items:center;gap:6px}.pm-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--pm-blue)}.pm294 .full{background:var(--pm-amber)}.pm294 .parallel{background:repeating-linear-gradient(135deg,#d34d59 0,#d34d59 3px,#f8a7ab 3px,#f8a7ab 6px)}.pm-grid-scroll{width:100%;overflow:auto;border:1px solid var(--border);border-radius:10px}.pm-grid{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}.pm-grid th,.pm-grid td{padding:13px 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.pm-grid thead th{background:var(--surface-alt,var(--surface));color:var(--muted);font-weight:500}.pm-grid thead th strong{display:block;margin-top:5px;font-size:14px;color:var(--text)}.pm-grid th:first-child{width:185px;position:sticky;left:0;background:var(--surface);z-index:2}.pm-grid th small,.pm-grid th b{display:block;margin-top:6px}.pm-grid th small{font-weight:400;color:var(--muted);line-height:1.5}.pm-grid .pm-today{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.pm-avatar{width:32px;height:32px;display:grid;place-items:center;background:var(--soft,var(--surface-alt));color:var(--primary);border-radius:9px;font-size:11px}.pm-load{height:6px;border-radius:5px;background:var(--border);display:flex;overflow:hidden;position:relative}.pm-load>span{background:var(--pm-blue)}.pm-load>i{position:absolute;right:0;top:0;height:6px;width:30%}.pm-load-text{font-size:10px;color:var(--muted);margin:7px 0 12px;line-height:1.6}.pm-load-text b{color:var(--pm-red);display:block;font-weight:600}.pm-task{border:1px solid color-mix(in srgb,var(--project-color) 30%,var(--border));border-left:3px solid var(--project-color);background:color-mix(in srgb,var(--project-color) 7%,var(--surface));padding:8px 5px;border-radius:7px;margin-top:8px}.pm-task>div{display:flex;align-items:flex-start;gap:4px}.pm-task span{flex:1;overflow-wrap:anywhere;font-size:11px;line-height:1.5}.pm-task small{display:block;font-size:9px;color:var(--muted);margin:6px 3px 0}.pm294 .pm-task .btn{min-width:17px;min-height:22px;height:auto;padding:0;border:0;box-shadow:none;background:transparent;color:var(--text);font-size:14px}.pm-task.done span{text-decoration:line-through;opacity:.7}.pm294 .pm-empty-cell{width:100%;border:1px dashed var(--border);font-size:11px;background:transparent;color:var(--muted);margin:5px 0;min-height:42px}.pm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px}.pm-cards>.pm-card{margin:0}.pm-project{border-top:4px solid var(--project-color)!important}.pm-progress{height:8px;border-radius:8px;background:var(--border);overflow:hidden;margin:24px 0 12px}.pm-progress i{display:block;height:100%;background:var(--project-color)}.pm-stats{display:flex;gap:15px;padding:18px 0;justify-content:space-between;border-block:1px solid var(--border);margin:16px 0}.pm-stats b{display:block;font-size:21px;font-weight:600}.pm-stats span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.pm-score{min-width:78px;height:78px;border-radius:50%;border:4px solid currentColor;display:flex;flex-direction:column;justify-content:center;align-items:center}.pm-score b{font-size:23px}.pm-score small{font-size:7px;letter-spacing:1px}.pm-metrics{margin:18px 0}.pm-metrics>div{display:flex;justify-content:space-between;gap:10px;margin:12px 0}.pm-metrics dt{color:var(--muted);font-size:12px}.pm-metrics dd{font-weight:600;margin:0}.pm-formula{margin-top:20px}.pm-empty{padding:40px!important;text-align:center;color:var(--muted)}.pm-ticket{margin-bottom:20px}.pm-ticket p{margin:6px 0 0}.pm-asset-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px}.pm-asset-sections{display:flex;flex-direction:column;gap:8px;align-self:start}.pm-asset-sections .btn{justify-content:flex-start;min-height:45px}.pm-asset-layout .al-tabs{display:none}.pm-asset-layout .card{min-width:0}.pm-catalog-search{max-width:380px;margin-bottom:15px}.pm-asset-layout .al-actions{flex-wrap:wrap}
@media(max-width:1200px){.pm-assign{grid-template-columns:2fr 1fr 1fr}.pm-assign>.btn{align-self:end}.pm-card{padding:18px}}
@media(max-width:650px){.pm294 .pm-card{padding:16px;border-radius:12px}.pm-assign{grid-template-columns:1fr 1fr}.pm-assign>label:first-child{grid-column:1/-1}.pm-assign>.btn{grid-column:1/-1}.pm-create{display:grid;grid-template-columns:1fr}.pm-create label{min-width:0}.pm-tabs{gap:6px}.pm-tabs .btn{font-size:12px;padding:9px}.pm-title{gap:12px}.pm-legend{gap:10px}.pm-asset-layout{grid-template-columns:1fr}.pm-asset-sections{display:grid;grid-template-columns:1fr 1fr}.pm-cards{grid-template-columns:1fr}}

/* V295: keyboard/touch Move action and native desktop drag targets. */
.pm294 .pm-task[draggable=true]{cursor:grab}.pm294 .pm-task.pm-dragging{opacity:.45;cursor:grabbing}.pm294 .pm-grid td.pm-drop-target{outline:3px solid var(--primary);outline-offset:-3px;background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.pm294 .pm-task>.pm-move-button{display:flex;justify-content:center;width:100%;font-size:10px;min-height:28px;padding:3px;margin:8px 0 0;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.pm294 .pm-title .pm-move-help{font-size:11px;margin-top:7px;color:var(--muted)}.pm-move-preview{padding:12px;border:1px solid var(--border);border-radius:9px;font-size:13px;line-height:1.65;background:var(--surface-alt,var(--surface));color:var(--text)}.pm-move-preview.ready{border-left:4px solid #16845a}.pm-move-preview.warning{border-left:4px solid #d89b1d}.pm-move-form>label{display:flex;flex-direction:column;gap:7px}.pm-move-form>label>span{font-size:12px;font-weight:600}.pm-move-form input,.pm-move-form select{width:100%;min-height:42px}.pm-move-form .form-error:empty{display:none}
@media(pointer:coarse){.pm294 .pm-task>.pm-move-button{min-height:40px;font-size:12px}}

/* V296 hour/minute fields and employee task cards. */
.pm294 .pm-assign{grid-template-columns:2fr 1.4fr 1.4fr 1.2fr .55fr .55fr}.pm294 .pm-manager-picker{grid-column:1/4}.pm294 .pm-assign>.btn{grid-column:5/7}.pm294 .pm-own-task .pm-metrics dd{max-width:65%;text-align:right;overflow-wrap:anywhere}.pm294 .pm-task[draggable=false]{cursor:default}.pm294 .pm-create [data-po-project-manager]{min-width:200px;flex:1}.pm294 .pm-stats b{font-size:20px}
@media(max-width:1200px){.pm294 .pm-assign{grid-template-columns:1fr 1fr 1fr}.pm294 .pm-manager-picker{grid-column:1/3}.pm294 .pm-assign>.btn{grid-column:3}}
@media(max-width:650px){.pm294 .pm-assign{grid-template-columns:1fr 1fr}.pm294 .pm-manager-picker,.pm294 .pm-assign>.btn{grid-column:1/-1}.pm294 .pm-stats{gap:9px}.pm294 .pm-stats b{font-size:18px}}

/* V297 role workspace */
.pm-task-controls{flex-wrap:wrap;gap:5px;margin-top:8px}.pm-task-controls .btn{font-size:11px;padding:5px 8px;min-height:28px}.pm-lock{display:block;margin-top:8px;color:var(--muted,#64748b);font-size:11px}.pm-access-list{display:grid;gap:10px;margin:20px 0}.pm-access-person{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:16px;border:1px solid var(--border,#dbe3ef);border-radius:12px}.pm-access-person>div{flex:1;min-width:160px}.pm-access-person small{display:block;margin-top:4px}.pm-access-person>span{font-size:12px}.pm-access-person .btn{margin-left:auto}.pm-own-task .pm-task-controls .btn{font-size:13px;padding:9px 12px}@media(max-width:600px){.pm-access-person{gap:10px}.pm-access-person>div{flex-basis:100%}.pm-access-person .btn{margin-left:0}.pm294 .pm-tabs{overflow-x:auto;flex-wrap:nowrap}}

/* V299 Project Management follows the account's portal Appearance.
   No workspace palette, independent mode, or portal sidebar overrides. */
.pm298 {
  --pm-success:color-mix(in srgb,#15936d 76%,var(--text));
  --pm-danger:color-mix(in srgb,#d74760 76%,var(--text));
  --pm-warning:color-mix(in srgb,#b88013 76%,var(--text));
  --pm-info:color-mix(in srgb,#3279c8 76%,var(--text));
  --pm-planned:var(--primary-ink);
  --pm-delivered:var(--pm-success);
  --pm-pending:var(--muted);
  --pm-hero-ink:var(--pt-heading-ink,var(--text));
  --pm-hero-muted:var(--pt-heading-muted,var(--muted));
  --pm-hero-accent:var(--pt-heading-accent,var(--primary-ink));
}
.pm298 *{box-sizing:border-box}
.pm298{margin:0;font:13px/1.5 Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
.pm298 button,.pm298 input,.pm298 select,.pm298 textarea{font:inherit}
.pm298 button{cursor:pointer}
.pm298 button,.pm298 a,.pm298 input,.pm298 select,.pm298 textarea{outline-offset:4px}
.pm298 button{color:inherit}
.pm298 button:disabled{cursor:not-allowed;opacity:.45}
.pm298 a{color:var(--primary)}
.pm298 .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.pm298 .dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--primary);flex-shrink:0}
.pm298 .avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--surface-alt);color:var(--muted);font-size:10px;font-weight:700;flex-shrink:0;border:2px solid var(--border)}
.pm298 .avatar.large{width:38px;height:38px;font-size:12px}
.pm298 .main{min-width:0}
.pm298 .breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}
.pm298 .breadcrumb b{color:var(--muted);font-weight:550}
.pm298 .right-tools{display:flex;align-items:center;gap:14px}
.pm298 .iconbtn{background:none;border:1px solid var(--border);width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}
.pm298 .canvas{max-width:1680px;margin:auto;padding:28px 34px 30px}
.pm298 .eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);font-size:9px;font-weight:700}
.pm298 .heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:5px 0 23px}
.pm298 .heading h1{font-size:27px;letter-spacing:-.8px;font-weight:650;margin:3px 0}
.pm298 .heading p{margin:5px 0;color:var(--muted);font-size:12px}
.pm298 .actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.pm298 .btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:550;white-space:nowrap}
.pm298 .btn.primary{background:var(--primary);border-color:var(--primary);color:var(--muted);box-shadow:var(--shadow)}
.pm298 .btn.danger{color:var(--muted);background:var(--surface-alt);border-color:var(--border)}
.pm298 .btn.soft{background:var(--surface-alt);color:var(--primary);border-color:var(--border)}
.pm298 .btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.pm298 .btn .icon{width:14px;height:14px}
.pm298 .scope-note{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}
.pm298 .scope-note .icon{width:12px;height:12px}
.pm298 .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.pm298 .stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:17px 20px;text-align:left;box-shadow:var(--shadow);position:relative;overflow:hidden}
.pm298 .stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}
.pm298 .stat-icon{width:30px;height:30px;border-radius:9px;background:var(--surface-alt);display:grid;place-items:center;color:var(--muted)}
.pm298 .stat strong{display:block;font-size:30px;font-weight:650;letter-spacing:-1px;margin-top:7px}
.pm298 .stat-footer{font-size:10px;color:var(--muted);margin-top:4px}
.pm298 .stat-footer .green{color:var(--pm-success)}
.pm298 .stat-footer .red{color:var(--pm-danger)}
.pm298 .spark{position:absolute;right:15px;bottom:17px;width:100px;height:30px;opacity:.5}
.pm298 .dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;margin-bottom:20px}
.pm298 .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.pm298 .panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 22px 12px}
.pm298 .panel-head h2{font-size:13px;letter-spacing:-.15px;margin:0;font-weight:650}
.pm298 .panel-head p{font-size:10px;margin:4px 0 0;color:var(--muted)}
.pm298 .panel-head .textbtn{font-size:10px}
.pm298 .textbtn{border:0;background:none;color:var(--primary);padding:4px;display:inline-flex;align-items:center;gap:5px}
.pm298 .textbtn .icon{width:13px;height:13px}
.pm298 .chart-wrap{padding:3px 20px 17px;min-height:205px}
.pm298 .bar-chart{height:160px;display:flex;align-items:stretch;gap:10px;position:relative;padding-left:28px;border-bottom:1px solid var(--border);margin-bottom:18px}
.pm298 .chart-y{position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--muted)}
.pm298 .chart-grid{position:absolute;left:27px;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.pm298 .chart-grid i{border-top:1px dashed var(--border)}
.pm298 .bar-day{z-index:1;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}
.pm298 .bar-day i{width:19px;border-radius:4px 4px 0 0;background:var(--surface-alt)}
.pm298 .bar-day i.delivered{background:var(--surface-alt)}
.pm298 .bar-day small{position:absolute;bottom:-19px;font-size:9px;color:var(--muted)}
.pm298 .legend{display:flex;gap:18px;font-size:9px;color:var(--muted);justify-content:center;margin-top:27px}
.pm298 .legend span{display:flex;gap:6px;align-items:center}
.pm298 .legend i{width:7px;height:7px;border-radius:2px;background:var(--surface-alt)}
.pm298 .legend i.pale{background:var(--surface-alt)}
.pm298 .ring-layout{display:flex;align-items:center;justify-content:space-evenly;gap:18px;padding:15px 22px 26px;min-height:207px}
.pm298 .ring{width:150px;height:150px;border-radius:50%;position:relative;display:grid;place-items:center;flex-shrink:0}
.pm298 .ring:before{content:"";position:absolute;inset:15px;border-radius:50%;background:var(--surface)}
.pm298 .ring-content{position:relative;text-align:center}
.pm298 .ring-content b{display:block;font-size:29px;letter-spacing:-1px}
.pm298 .ring-content small{font-size:9px;color:var(--muted)}
.pm298 .status-legend{min-width:105px}
.pm298 .status-legend button{display:flex;align-items:center;gap:8px;background:none;border:0;width:100%;padding:9px 0;font-size:10px;color:var(--muted)}
.pm298 .status-legend strong{margin-left:auto;color:var(--muted)}
.pm298 .status-tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;padding:3px 7px;border-radius:5px;background:var(--surface-alt);color:var(--muted);white-space:nowrap}
.pm298 .status-tag.progress{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag.done{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag.todo{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag.overdue{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag .dot{width:5px;height:5px;background:currentColor}
.pm298 .task-table{width:100%;border-collapse:collapse;white-space:nowrap}
.pm298 .task-table th{text-align:left;font-size:9px;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);background:var(--surface-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-weight:500;padding:11px 19px}
.pm298 .task-table td{padding:14px 19px;font-size:11px;border-bottom:1px solid var(--border)}
.pm298 .task-table tr:last-child td{border:0}
.pm298 .task-table tr[data-task]:hover{background:var(--surface-alt);cursor:pointer}
.pm298 .table-scroll{overflow-x:auto}
.pm298 .task-name{display:flex;align-items:center;gap:10px;min-width:200px}
.pm298 .task-name strong{font-weight:550;font-size:11px}
.pm298 .task-name small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.pm298 .task-check{border:1.5px solid var(--border);border-radius:5px;height:15px;width:15px;background:var(--surface);display:grid;place-items:center;flex-shrink:0;color:var(--muted);font-size:10px}
.pm298 .task-check.done{background:var(--surface-alt);border-color:var(--border)}
.pm298 .task-check:disabled{opacity:1;cursor:default}
.pm298 .owner{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}
.pm298 .date{color:var(--muted);font-size:10px}
.pm298 .date.late{color:var(--muted)}
.pm298 .priority{display:inline-flex;gap:5px;align-items:center;font-size:9px}
.pm298 .priority.high{color:var(--muted)}
.pm298 .priority.normal{color:var(--muted)}
.pm298 .priority.low{color:var(--muted)}
.pm298 .projects-mini{padding:0 22px 18px}
.pm298 .mini-project{padding:14px 0;border-bottom:1px solid var(--border)}
.pm298 .mini-project:last-child{border:0}
.pm298 .mini-project-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.pm298 .mini-project-name{display:flex;gap:9px;align-items:center;font-weight:550;font-size:11px}
.pm298 .project-square{height:27px;width:27px;display:grid;place-items:center;border-radius:8px;font-size:10px}
.pm298 .mini-project p{font-size:9px;color:var(--muted);margin:5px 0 10px 36px}
.pm298 .progress-track{background:var(--surface-alt);border-radius:5px;height:5px;overflow:hidden}
.pm298 .progress-track i{height:100%;display:block;border-radius:5px;background:var(--surface-alt)}
.pm298 .mini-project-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:7px}
.pm298 .footer{display:flex;justify-content:space-between;margin-top:24px;font-size:9px;color:var(--muted);gap:10px}
.pm298 .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--surface);border-radius:15px 15px 0 0}
.pm298 .views{display:flex;gap:4px}
.pm298 .views button{display:flex;align-items:center;gap:6px;background:none;border:0;padding:8px 10px;border-radius:6px;font-size:11px;color:var(--muted)}
.pm298 .views button.active{background:var(--surface-alt);color:var(--primary);font-weight:600}
.pm298 .views .icon{height:14px;width:14px}
.pm298 .filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pm298 .filters input,.pm298 .filters select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font-size:10px;max-width:175px}
.pm298 .filters input{width:165px}
.pm298 .list-section{padding:16px 0 0}
.pm298 .list-section h3{font-size:10px;letter-spacing:.3px;padding:0 20px 10px;margin:0;display:flex;align-items:center;gap:9px}
.pm298 .list-section h3 small{font-weight:400;color:var(--muted)}
.pm298 .board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:18px;padding:20px;background:var(--surface-alt);border-radius:0 0 15px 15px;overflow-x:auto;min-height:560px;align-items:start}
.pm298 .column{background:var(--surface-alt);border-radius:12px;padding:13px;min-height:470px;transition:.15s}
.pm298 .column.drag-over{outline:2px dashed var(--border);outline-offset:-4px;background:var(--surface-alt)}
.pm298 .column-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:10px;font-weight:600}
.pm298 .column-head span{display:flex;gap:7px;align-items:center}
.pm298 .column-head small{font-size:9px;background:var(--surface);border-radius:4px;padding:1px 5px;color:var(--muted)}
.pm298 .task-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:15px;margin:0 0 11px;cursor:pointer;position:relative}
.pm298 .task-card[draggable=true]{cursor:grab}
.pm298 .task-card:hover{border-color:var(--border);box-shadow:var(--shadow)}
.pm298 .task-card h3{font-weight:550;font-size:12px;margin:10px 0 8px;line-height:1.5}
.pm298 .task-card .project-label{font-size:9px;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.pm298 .task-card-footer{border-top:1px solid var(--border);padding-top:11px;margin-top:14px;display:flex;justify-content:space-between;align-items:center}
.pm298 .task-card-meta{display:flex;gap:8px;align-items:center;font-size:9px;color:var(--muted)}
.pm298 .task-card-meta .icon{width:11px;height:11px}
.pm298 .locked{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;margin-top:7px}
.pm298 .locked .icon{width:11px;height:11px}
.pm298 .project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pm298 .project-card{padding:23px}
.pm298 .project-card h2{font-size:15px;margin:17px 0 7px;letter-spacing:-.3px}
.pm298 .project-card p{font-size:11px;color:var(--muted);min-height:35px}
.pm298 .project-card .project-top{display:flex;justify-content:space-between}
.pm298 .project-card .metric-row{display:flex;gap:28px;border-top:1px solid var(--border);margin-top:18px;padding:17px 0}
.pm298 .metric-row strong{display:block;font-size:19px}
.pm298 .metric-row small{font-size:9px;color:var(--muted)}
.pm298 .project-card .btn{width:100%;margin-top:18px}
.pm298 .workload-table{min-width:800px;table-layout:fixed}
.pm298 .workload-table th,.pm298 .workload-table td{text-align:center;padding:18px 8px}
.pm298 .workload-table th:first-child,.pm298 .workload-table td:first-child{text-align:left;width:200px;padding-left:20px}
.pm298 .capacity-cell{padding:10px 7px;border-radius:9px;background:var(--surface-alt);color:var(--muted);font-size:11px;margin:3px}
.pm298 .capacity-cell.full{background:var(--surface-alt);color:var(--muted)}
.pm298 .capacity-cell.over{background:var(--surface-alt);color:var(--muted)}
.pm298 .capacity-cell small{font-size:8px;display:block;opacity:.8;margin-top:4px}
.pm298 .permissions-table td{font-size:11px;white-space:normal;min-width:135px;padding:16px}
.pm298 .permissions-table th{min-width:135px;white-space:normal}
.pm298 .permission-foot{padding:20px;font-size:11px;color:var(--muted);max-width:900px;line-height:1.8}
.pm298 .permission-foot b{color:var(--muted)}
.pm298 .team-head{margin-bottom:20px}
.pm298 .empty{padding:65px 25px;text-align:center;color:var(--muted)}
.pm298 .empty b{display:block;color:var(--muted);margin-bottom:6px;font-size:14px}
.pm298 .dialog-backdrop{position:fixed;inset:0;background:var(--surface-alt);backdrop-filter:blur(3px);z-index:50;display:flex;justify-content:center;align-items:center;padding:24px}
.pm298 .dialog{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);width:610px;max-width:100%;max-height:92vh;overflow:auto}
.pm298 .dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 26px 16px;border-bottom:1px solid var(--border)}
.pm298 .dialog-head h2{margin:4px 0;font-size:19px;letter-spacing:-.5px}
.pm298 .dialog-head small{font-size:10px;color:var(--muted)}
.pm298 .dialog-body{padding:22px 26px}
.pm298 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pm298 .field{display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted)}
.pm298 .field.full{grid-column:1/-1}
.pm298 .field input,.pm298 .field select,.pm298 .field textarea{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 11px;color:var(--muted);font-size:12px;min-width:0}
.pm298 .field input:disabled,.pm298 .field select:disabled,.pm298 .field textarea:disabled{background:var(--surface-alt);color:var(--muted)}
.pm298 .field textarea{resize:vertical;min-height:76px}
.pm298 .field input:focus,.pm298 .field select:focus,.pm298 .field textarea:focus{border-color:var(--border);outline:2px solid var(--border)}
.pm298 .time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pm298 .dialog-bottom{border-top:1px solid var(--border);padding:17px 26px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pm298 .hint{font-size:10px;line-height:1.7;color:var(--muted);padding:11px 13px;background:var(--surface-alt);border-radius:8px;margin:16px 0 0}
.pm298 .hint.good{background:var(--surface-alt);color:var(--muted)}
.pm298 .hint.warning{background:var(--surface-alt);color:var(--muted)}
.pm298 .error{color:var(--muted);margin-top:12px;font-size:11px}
.pm298 .activity{padding:15px 0 2px;border-top:1px solid var(--border);margin-top:20px}
.pm298 .activity h3{font-size:11px}
.pm298 .activity p{font-size:10px;color:var(--muted);border-left:2px solid var(--border);padding-left:12px;margin:13px 0}
.pm298 .activity b{color:var(--muted);font-weight:550}
.pm298 .toast{position:fixed;right:24px;bottom:24px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:11px;box-shadow:var(--shadow);padding:15px 20px;z-index:100;font-size:12px;max-width:400px}
.pm298 .toast.error{background:var(--surface-alt);color:var(--muted)}
.pm298 .hidden{display:none!important}
.pm298 .searchbar{position:relative}
.pm298 .searchbar .icon{width:13px;height:13px;position:absolute;top:9px;left:9px;color:var(--muted)}
.pm298 .searchbar input{padding-left:29px}
.pm298 .role-notice{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;margin-bottom:18px}
.pm298 .role-notice .icon{width:13px;height:13px}
.pm298 .focus-card{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;padding:16px 21px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}
.pm298 .focus-card h3{font-size:12px;margin:0 0 4px;color:var(--muted)}
.pm298 .focus-card p{font-size:10px;margin:0;color:var(--muted)}
.pm298 .calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto;min-height:490px}
.pm298 .calday{padding:12px;border-right:1px solid var(--border);min-width:130px}
.pm298 .calday>h3{text-align:center;font-size:10px;color:var(--muted);font-weight:500;margin:5px 0 20px}
.pm298 .calday>h3 b{display:block;font-size:21px;font-weight:500;margin-top:7px;color:var(--muted)}
.pm298 .calday.today{background:var(--surface-alt)}
.pm298 .calday.today>h3 b{color:var(--muted)}
.pm298 .cal-task{display:block;border:0;border-left:2px solid var(--border);background:var(--surface-alt);color:var(--muted);border-radius:4px;padding:9px 7px;font-size:9px;margin-bottom:7px;width:100%;text-align:left}
.pm298 .cal-task small{display:block;margin-top:5px;font-size:8px;opacity:.8}
.pm298 .overdue-label{color:var(--muted)}
.pm298 .add-column{width:100%;border:1px dashed var(--border);background:none;color:var(--muted);border-radius:8px;padding:10px;font-size:10px}
.pm298 .mini-avatars{display:flex}
.pm298 .mini-avatars .avatar{margin-left:-7px;width:24px;height:24px;font-size:8px}
.pm298 .btn.compact{padding:6px 9px;font-size:10px}
.pm298 .chart-empty{height:190px;display:grid;place-items:center;color:var(--muted);font-size:11px}
@media(min-width:1600px){.pm298 .canvas{padding:33px 43px}
.pm298 .stats{gap:21px}
.pm298 .dashboard-grid{gap:22px}
.pm298 .stat{padding:21px 23px}
.pm298 .chart-wrap{padding-top:14px}
.pm298 .bar-chart{height:175px}
.pm298 .ring-layout{min-height:230px}
}
@media(max-width:1150px){.pm298 .canvas{padding:25px 22px}
.pm298 .ring-layout{gap:12px;padding:16px}
.pm298 .ring{height:120px;width:120px}
.pm298 .dashboard-grid{grid-template-columns:1.2fr 1fr}
.pm298 .spark{width:70px}
.pm298 .project-grid{grid-template-columns:repeat(2,1fr)}
.pm298 .stat{padding:15px}
.pm298 .stat-footer{max-width:100px}
}
@media(max-width:850px){.pm298 .canvas{padding:22px 17px}
.pm298 .breadcrumb>span{display:none}
.pm298 .right-tools{gap:8px}
.pm298 .dashboard-grid{grid-template-columns:1fr}
.pm298 .stats{gap:10px}
.pm298 .stat strong{font-size:24px}
.pm298 .stat{padding:13px}
.pm298 .stat-icon{width:23px;height:23px}
.pm298 .stat-icon .icon{width:14px}
.pm298 .stat-footer{font-size:9px}
.pm298 .spark{display:none}
.pm298 .heading h1{font-size:24px}
.pm298 .heading{align-items:flex-start;flex-wrap:wrap}
.pm298 .ring-layout{justify-content:center;gap:45px}
.pm298 .ring{width:155px;height:155px}
.pm298 .bar-chart{height:170px}
.pm298 .project-grid{grid-template-columns:1fr 1fr}
.pm298 .footer{flex-wrap:wrap}
}
@media(max-width:520px){.pm298 .stats{grid-template-columns:repeat(2,1fr)}
.pm298 .heading{gap:10px}
.pm298 .heading p{font-size:11px}
.pm298 .project-grid{grid-template-columns:1fr}
.pm298 .breadcrumb b{font-size:10px}
.pm298 .breadcrumb{gap:6px}
.pm298 .right-tools .avatar{display:none}
.pm298 .heading .actions{width:100%}
.pm298 .panel-head{padding:17px}
.pm298 .form-grid{grid-template-columns:1fr}
.pm298 .field.full{grid-column:1}
.pm298 .dialog-backdrop{padding:10px}
.pm298 .dialog{max-height:94vh}
.pm298 .dialog-head,.pm298 .dialog-body,.pm298 .dialog-bottom{padding:18px}
.pm298 .toolbar{padding:12px}
.pm298 .filters{width:100%}
.pm298 .filters input{width:145px}
.pm298 .filters select{max-width:135px}
.pm298 .views button{font-size:10px}
.pm298 .focus-card{align-items:flex-start}
.pm298 .role-notice{font-size:9px}
.pm298 .task-table td,.pm298 .task-table th{padding:13px 15px}
.pm298 .toast{left:16px;right:16px;bottom:16px;max-width:none}
.pm298 .stat-footer{max-width:100%}
}
.pm298{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}
.pm298 .breadcrumb{font-size:11px;color:var(--muted)}
.pm298 .breadcrumb b{font-weight:600;color:var(--muted)}
.pm298 .right-tools{gap:12px}
.pm298 .iconbtn{border-color:var(--border);color:var(--muted);border-radius:9px}
.pm298 .iconbtn:hover{background:var(--surface-alt);color:var(--muted)}
.pm298 .quick-search{width:34px}
.pm298 .canvas{max-width:1700px;padding:28px 34px 26px}
.pm298 .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.5px}
.pm298 .heading{margin:3px 0 23px;gap:15px}
.pm298 .heading h1{font-size:30px;font-weight:650;letter-spacing:-1px;margin:2px 0}
.pm298 .heading p{font-size:11px;color:var(--muted);margin-top:5px}
.pm298 .btn{font-size:11px;border-color:var(--border);padding:10px 15px;border-radius:9px;box-shadow:var(--shadow);font-weight:600;transition:transform .15s,box-shadow .15s}
.pm298 .btn.primary{background:var(--surface-alt);border:0;color:var(--muted);box-shadow:var(--shadow);padding:11px 16px}
.pm298 .btn.primary:hover{box-shadow:var(--shadow)}
.pm298 .btn.soft{background:var(--surface-alt);color:var(--muted);border-color:var(--border)}
.pm298 .role-notice{margin-bottom:17px;color:var(--muted);font-size:10px}
.pm298 .role-notice .icon{stroke:var(--muted)}
.pm298 .hero-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:19px;margin-bottom:20px}
.pm298 .hero{background:var(--surface-alt);border-radius:19px;position:relative;overflow:hidden;color:var(--muted);padding:27px 31px;min-height:217px;box-shadow:var(--shadow)}
.pm298 .hero .hero-tag{display:flex;align-items:center;gap:8px;font-size:8px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted)}
.pm298 .hero .hero-tag i{width:5px;height:5px;background:var(--surface-alt);border-radius:50%}
.pm298 .hero h2{font-size:33px;line-height:1.15;font-weight:550;letter-spacing:-1.2px;margin:16px 0 9px;position:relative;z-index:1}
.pm298 .hero h2 span{color:var(--muted)}
.pm298 .hero>p{font-size:10px;line-height:1.8;color:var(--muted);position:relative;z-index:1;max-width:360px;margin:0}
.pm298 .hero-art{position:absolute;right:0;top:0;height:100%;width:45%;opacity:.75;pointer-events:none}
.pm298 .hero-link{display:flex;align-items:center;gap:7px;margin-top:17px;color:var(--muted);font-size:10px;background:none;border:0;padding:0;position:relative;z-index:1}
.pm298 .hero-link .icon{width:12px;height:12px}
.pm298 .day-focus{border:1px solid var(--border);background:var(--surface);border-radius:19px;padding:22px 24px;position:relative;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}
.pm298 .focus-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}
.pm298 .focus-label{font-size:8px;letter-spacing:1.4px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:7px}
.pm298 .focus-label .icon{width:13px;height:13px;color:var(--muted)}
.pm298 .day-focus h3{font-size:16px;line-height:1.5;font-weight:550;letter-spacing:-.3px;margin:14px 0 8px;max-width:240px}
.pm298 .focus-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.pm298 .focus-bottom .owner{gap:7px;color:var(--muted);font-size:10px}
.pm298 .focus-bottom .avatar{width:25px;height:25px;font-size:8px}
.pm298 .focus-bottom .textbtn{font-size:10px;color:var(--muted)}
.pm298 .stats{gap:17px;margin-bottom:20px}
.pm298 .stat{border-radius:14px;padding:17px 20px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s}
.pm298 .stat:hover{border-color:var(--border);transform:translateY(-2px)}
.pm298 .stat-top{font-size:10px;letter-spacing:.2px;color:var(--muted)}
.pm298 .stat strong{font-size:29px;letter-spacing:-1px;margin-top:3px;color:var(--muted);font-weight:650}
.pm298 .stat-icon{width:27px;height:27px;border-radius:9px}
.pm298 .stat-icon .icon{width:15px;height:15px}
.pm298 .stat-footer{font-size:9px;color:var(--muted);margin-top:3px}
.pm298 .stat:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--surface-alt)}
.pm298 .panel{border-radius:16px;border-color:var(--border);box-shadow:var(--shadow);overflow:hidden}
.pm298 .panel-head{padding:19px 22px 12px}
.pm298 .panel-head h2{font-size:12px;color:var(--muted);font-weight:650;letter-spacing:-.1px}
.pm298 .panel-head p{font-size:9px;color:var(--muted);margin-top:5px}
.pm298 .panel-head .textbtn{font-size:9px;color:var(--muted)}
.pm298 .dashboard-grid{gap:20px;margin-bottom:20px;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr)}
.pm298 .insight-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr) minmax(240px,1fr);gap:18px;margin-bottom:20px}
.pm298 .insight-grid .panel-head{padding:18px 20px 10px}
.pm298 .insight-grid .ring-layout{flex-direction:column;gap:9px;padding:5px 18px 16px;min-height:213px}
.pm298 .insight-grid .ring{width:116px;height:116px}
.pm298 .insight-grid .ring:before{inset:11px}
.pm298 .insight-grid .ring-content b{font-size:23px;color:var(--muted)}
.pm298 .insight-grid .ring-content small{font-size:8px;color:var(--muted)}
.pm298 .insight-grid .status-legend{display:flex;width:100%;justify-content:space-between;gap:5px}
.pm298 .insight-grid .status-legend button{width:auto;display:flex;flex-wrap:wrap;font-size:8px;gap:4px;max-width:64px;padding:4px 0}
.pm298 .insight-grid .status-legend strong{font-size:11px;flex-basis:100%;margin-left:10px;color:var(--muted)}
.pm298 .insight-grid .status-legend .dot{width:5px;height:5px}
.pm298 .area-chart{padding:8px 18px 6px;height:184px}
.pm298 .area-chart svg{width:100%;height:100%;overflow:visible}
.pm298 .area-caption{padding:0 20px 17px;display:flex;justify-content:space-between;color:var(--muted);font-size:8px}
.pm298 .area-caption span{display:flex;gap:5px;align-items:center}
.pm298 .area-caption i{width:6px;height:6px;border-radius:2px;background:var(--surface-alt)}
.pm298 .area-caption i.mint{background:var(--surface-alt)}
.pm298 .team-load{padding:5px 21px 16px}
.pm298 .load-row{margin-top:11px}
.pm298 .load-row-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:6px;gap:6px}
.pm298 .load-person{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}
.pm298 .load-person .avatar{height:20px;width:20px;font-size:7px;border-width:1px}
.pm298 .load-track{height:4px;background:var(--surface-alt);border-radius:4px;overflow:hidden;margin-left:26px}
.pm298 .load-track i{height:100%;display:block;background:var(--surface-alt);border-radius:4px}
.pm298 .load-caption{font-size:8px;color:var(--muted);padding:10px 21px 14px;border-top:1px solid var(--border)}
.pm298 .table-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.pm298 .task-table th{background:var(--surface-alt);border-color:var(--border);color:var(--muted);padding:12px 18px;font-size:8px;letter-spacing:.6px}
.pm298 .task-table td{border-color:var(--border);padding:13px 18px;font-size:11px}
.pm298 .task-name strong{color:var(--muted);font-size:10px;font-weight:600}
.pm298 .task-name small{font-size:8px;color:var(--muted);margin-top:3px}
.pm298 .task-name{gap:10px}
.pm298 .task-check{width:14px;height:14px;border-color:var(--border);border-radius:4px}
.pm298 .owner .avatar{height:27px;width:27px;font-size:9px}
.pm298 .date{font-size:9px;color:var(--muted)}
.pm298 .date.late{color:var(--muted)}
.pm298 .mini-project-name{font-size:10px;color:var(--muted)}
.pm298 .mini-project-name .project-square{width:26px;height:26px;border-radius:8px}
.pm298 .mini-project-name .icon{width:13px;height:13px}
.pm298 .mini-project{padding:12px 0;border-color:var(--border)}
.pm298 .mini-project p{margin:5px 0 10px 35px;font-size:8px}
.pm298 .mini-project-footer{font-size:8px;color:var(--muted)}
.pm298 .progress-track{height:4px;background:var(--surface-alt)}
.pm298 .footer{font-size:8px;color:var(--muted)}
.pm298 .footer .textbtn{font-size:8px;color:var(--muted)}
.pm298 .toolbar{padding:15px 19px;border-color:var(--border);border-radius:16px 16px 0 0}
.pm298 .views{gap:6px}
.pm298 .views button{font-size:11px;padding:8px 12px}
.pm298 .views button.active{background:var(--surface-alt);color:var(--muted)}
.pm298 .filters input,.pm298 .filters select{font-size:10px;padding-top:9px;padding-bottom:9px;border-color:var(--border);color:var(--muted);border-radius:7px;background:var(--surface)}
.pm298 .searchbar .icon{top:11px}
.pm298 .board{gap:19px;background:var(--surface-alt);padding:22px;align-items:start;min-height:650px}
.pm298 .column{background:var(--surface-alt);border:1px solid var(--border);border-radius:13px;padding:12px;min-height:580px;max-height:calc(100vh - 325px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.pm298 .column-head{padding:3px 2px 10px;margin-bottom:5px;position:sticky;top:-12px;background:var(--surface-alt);z-index:2}
.pm298 .column-head .status-tag{font-size:8px;font-weight:650;letter-spacing:.6px}
.pm298 .column-head small{background:var(--surface-alt);color:var(--muted);padding:2px 5px;font-size:8px}
.pm298 .task-card{padding:15px 16px;border-radius:11px;border-color:var(--border);box-shadow:var(--shadow);margin-bottom:11px;transition:transform .2s,box-shadow .2s}
.pm298 .task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pm298 .task-card h3{font-size:12px;font-weight:600;line-height:1.7;letter-spacing:-.1px;margin:10px 0 10px;color:var(--muted)}
.pm298 .task-card .project-label{font-size:8px;color:var(--muted)}
.pm298 .task-card .project-label .dot{width:5px;height:5px}
.pm298 .priority{font-size:8px;padding:3px 5px;border-radius:4px}
.pm298 .priority.high{background:var(--surface-alt);color:var(--muted)}
.pm298 .priority.normal{background:var(--surface-alt);color:var(--muted)}
.pm298 .priority.low{background:var(--surface-alt);color:var(--muted)}
.pm298 .priority .icon{width:10px;height:10px}
.pm298 .task-card-footer{border-color:var(--border);margin-top:13px;padding-top:11px}
.pm298 .task-card-meta{font-size:8px;gap:6px;color:var(--muted)}
.pm298 .task-card-meta .icon{width:10px;height:10px}
.pm298 .task-card-footer .avatar{height:25px;width:25px;font-size:8px}
.pm298 .locked{color:var(--muted);font-size:8px}
.pm298 .locked .icon{width:9px;height:9px}
.pm298 .add-column{border-color:var(--border);font-size:9px;color:var(--muted);border-radius:8px}
.pm298 .project-card{padding:25px;border-radius:17px}
.pm298 .project-card h2{font-size:16px;letter-spacing:-.5px}
.pm298 .project-card .project-top .project-square{width:39px;height:39px;border-radius:11px}
.pm298 .project-card .metric-row{gap:32px;border-color:var(--border)}
.pm298 .metric-row strong{font-size:20px;color:var(--muted)}
.pm298 .metric-row small{font-size:8px}
.pm298 .project-card p{font-size:11px;line-height:1.8}
.pm298 .permissions-table td{font-size:11px;padding:18px;color:var(--muted)}
.pm298 .permissions-table th{font-size:9px;line-height:1.8}
.pm298 .permission-foot{color:var(--muted);font-size:11px;padding:22px;line-height:1.9}
.pm298 .permissions-table tr td:first-child{color:var(--muted)}
.pm298 .focus-card{background:var(--surface-alt);border-color:var(--border)}
.pm298 .dialog-backdrop{justify-content:flex-end;padding:0;background:var(--surface-alt);backdrop-filter:blur(5px)}
.pm298 .dialog{width:580px;max-width:100%;height:100dvh;max-height:100dvh;border-radius:20px 0 0 20px;box-shadow:var(--shadow);animation:pm298-drawer-in .2s ease-out}
.pm298 .dialog-head{padding:28px 29px 23px;background:var(--surface-alt);border-color:var(--border)}
.pm298 .dialog-head h2{font-size:21px;line-height:1.5;color:var(--muted);margin:10px 0 4px;max-width:410px}
.pm298 .dialog-head small{font-size:10px;color:var(--muted)}
.pm298 .dialog-body{padding:25px 29px}
.pm298 .dialog-bottom{padding:20px 29px;border-color:var(--border);position:sticky;bottom:0;background:var(--surface);backdrop-filter:blur(8px)}
.pm298 .field{gap:8px;font-size:10px;color:var(--muted)}
.pm298 .field input,.pm298 .field select,.pm298 .field textarea{border-color:var(--border);background:var(--surface-alt);border-radius:8px;padding:11px 12px;font-size:12px;color:var(--muted)}
.pm298 .field input:disabled,.pm298 .field select:disabled,.pm298 .field textarea:disabled{background:var(--surface-alt);color:var(--muted);border-color:var(--border)}
.pm298 .hint{border:1px solid var(--border);background:var(--surface-alt);color:var(--muted);font-size:10px;padding:14px}
.pm298 .hint.good{background:var(--surface-alt);border-color:var(--border);color:var(--muted)}
.pm298 .hint.warning{background:var(--surface-alt);border-color:var(--border);color:var(--muted)}
.pm298 .activity{border-color:var(--border)}
.pm298 .activity h3{font-size:11px;color:var(--muted)}
.pm298 .activity p{font-size:10px;line-height:1.8;border-color:var(--border);color:var(--muted)}
.pm298 .activity b{color:var(--muted)}
.pm298 .command-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:13px 14px;font-size:13px;background:var(--surface-alt);color:var(--muted)}
.pm298 .command-results{margin-top:17px}
.pm298 .command-item{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--border);padding:14px 5px;font-size:11px;color:var(--muted)}
.pm298 .command-item:hover{background:var(--surface-alt)}
.pm298 .command-item small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.pm298 .command-item .icon{width:14px;color:var(--muted)}
.pm298 .command-shortcuts{display:flex;gap:7px;margin-bottom:15px;flex-wrap:wrap}
.pm298 .command-shortcuts .btn{font-size:10px;padding:8px 10px}
.pm298 .toast{border-color:var(--border);color:var(--muted);border-radius:12px;font-size:11px;box-shadow:var(--shadow)}
.pm298 .capacity-cell{background:var(--surface-alt);color:var(--muted)}
.pm298 .workload-table td{padding:17px 7px}
.pm298 .workload-table th{padding:17px 7px}
.pm298 .list-section h3{padding:0 20px 12px}
.pm298 .status-tag{font-size:8px;border-radius:5px;padding:4px 7px}
.pm298 .status-tag.todo{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag.progress{background:var(--surface-alt);color:var(--muted)}
.pm298 .status-tag.done{background:var(--surface-alt);color:var(--muted)}
.pm298 .empty{color:var(--muted)}
.pm298 .empty b{color:var(--muted)}
.pm298 .calday.today{background:var(--surface-alt)}
.pm298 .cal-task{background:var(--surface-alt);color:var(--muted)}
.pm298 .calday>h3{color:var(--muted)}
.pm298 .calday>h3 b{color:var(--muted)}
@keyframes pm298-drawer-in{from{transform:translateX(30px);opacity:.3}
to{transform:translateX(0);opacity:1}
}
@media(prefers-reduced-motion:reduce){.pm298 *{animation:none!important;transition:none!important}
}
@media(min-width:1600px){.pm298 .canvas{padding:29px 40px 28px}
.pm298 .hero{min-height:222px;padding:27px 32px}
.pm298 .hero h2{font-size:35px}
.pm298 .stat{padding:18px 21px}
.pm298 .stats{gap:19px}
.pm298 .dashboard-grid{gap:20px}
.pm298 .hero-grid{gap:20px}
.pm298 .insight-grid{gap:19px}
}
@media(max-width:1250px){.pm298 .canvas{padding:23px}
.pm298 .hero-grid{grid-template-columns:1.45fr 1fr}
.pm298 .hero{padding:25px;min-height:218px}
.pm298 .hero h2{font-size:29px}
.pm298 .hero-art{opacity:.45;width:40%}
.pm298 .hero p{max-width:290px}
.pm298 .insight-grid{grid-template-columns:1.4fr 1fr}
.pm298 .insight-grid>.team-panel{display:none}
.pm298 .day-focus{padding:21px}
.pm298 .day-focus h3{font-size:14px}
.pm298 .dashboard-grid{grid-template-columns:1.5fr 1fr}
.pm298 .quick-search{display:none}
.pm298 .heading h1{font-size:28px}
.pm298 .stat strong{font-size:27px}
}
@media(max-width:850px){.pm298 .canvas{padding:21px 18px}
.pm298 .hero-grid{grid-template-columns:1.45fr 1fr}
.pm298 .hero{min-height:205px}
.pm298 .hero h2{font-size:27px}
.pm298 .day-focus h3{font-size:14px}
.pm298 .insight-grid{grid-template-columns:1.5fr 1fr}
.pm298 .dashboard-grid{grid-template-columns:1fr}
.pm298 .stats{gap:11px}
.pm298 .stat{padding:15px}
.pm298 .stat strong{font-size:25px}
.pm298 .heading h1{font-size:26px}
.pm298 .heading{margin-bottom:20px}
.pm298 .right-tools{gap:8px}
.pm298 .column{max-height:none}
.pm298 .dialog{border-radius:15px 0 0 15px}
.pm298 .footer{font-size:8px}
}
@media(max-width:560px){.pm298 .hero-grid{grid-template-columns:1fr;gap:14px}
.pm298 .hero{min-height:205px;padding:25px}
.pm298 .hero h2{font-size:31px}
.pm298 .hero-art{width:45%;opacity:.65}
.pm298 .day-focus{min-height:145px;padding:18px 21px}
.pm298 .day-focus h3{font-size:15px;max-width:100%;margin:9px 0}
.pm298 .focus-bottom{margin-top:9px}
.pm298 .insight-grid{grid-template-columns:1fr}
.pm298 .insight-grid>.team-panel{display:block}
.pm298 .insight-grid .ring-layout{flex-direction:row;gap:35px;min-height:185px}
.pm298 .insight-grid .status-legend{display:block;width:100px}
.pm298 .insight-grid .status-legend button{width:100%;max-width:none;flex-wrap:nowrap;font-size:9px;padding:9px 0;gap:6px}
.pm298 .insight-grid .status-legend strong{flex-basis:auto;margin-left:auto}
.pm298 .area-chart{height:200px}
.pm298 .stats{gap:10px}
.pm298 .stat-footer{font-size:8px}
.pm298 .stat-top{font-size:9px}
.pm298 .stat-icon{height:25px;width:25px}
.pm298 .stat strong{font-size:26px}
.pm298 .heading h1{font-size:26px}
.pm298 .heading .actions{width:auto}
.pm298 .heading p{font-size:10px}
.pm298 .role-notice{display:none}
.pm298 .breadcrumb>span{display:none}
.pm298 .breadcrumb b{font-size:10px}
.pm298 .right-tools{gap:6px}
.pm298 .right-tools .avatar{display:none}
.pm298 .breadcrumb{gap:7px}
.pm298 .canvas{padding:20px 15px}
.pm298 .dialog{width:100%;border-radius:0}
.pm298 .dialog-head,.pm298 .dialog-body,.pm298 .dialog-bottom{padding:21px}
.pm298 .dialog-head h2{font-size:20px}
.pm298 .board{padding:16px;gap:14px}
.pm298 .board .column{min-width:260px}
.pm298 .permission-foot{padding:18px;font-size:10px}
.pm298 .filters input{width:140px}
.pm298 .filters select{max-width:125px}
.pm298 .focus-top{font-size:9px}
.pm298 .footer{line-height:1.8}
.pm298 .project-card{padding:23px}
}



/* Production shell integration; portal chrome inherits its selected theme unchanged. */
body.pm298-active #content{padding:0!important;max-width:none!important;background:transparent!important;min-width:0;overflow:visible}

body.pm298-active #appView>.workspace{min-width:0}

.pm298{width:100%;min-width:0;max-width:100%;background:var(--bg);color:var(--text);font:13px/1.5 Inter,"Segoe UI",Arial,sans-serif;min-height:calc(100vh - 125px)}

.pm298 button{font-family:inherit;cursor:pointer}
.pm298 input,.pm298 select,.pm298 textarea{font-family:inherit}
.pm298 button:disabled{cursor:not-allowed}
.pm298 .icon{display:inline-block;vertical-align:middle}
.pm298 .canvas{width:100%;min-width:0}
.pm298 .pm-top{height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:10px;background:var(--surface);border-bottom:1px solid var(--border)}

.pm298 .role-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);white-space:nowrap}
.pm298 .role-pill .icon{width:14px;height:14px}
.pm298 .pm-module-nav{display:flex;align-items:center;gap:5px;padding:10px 30px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--border);background:var(--surface)}

.pm298 .pm-module-nav button{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:9px 13px;min-height:37px;background:transparent;color:var(--muted);border:0;border-radius:8px;white-space:nowrap}
.pm298 .pm-module-nav .icon{width:15px;height:15px}
.pm298 .pm-module-nav button.active{background:var(--soft);color:var(--primary);font-weight:650}
.pm298 .pm-module-nav button:hover{background:var(--soft)}

.pm298 .project-grid{margin-bottom:20px}
.pm298 .project-controls .btn{width:auto;flex:1;margin-top:9px}
.pm298 .resource-meta{display:block;font-size:9px;color:var(--muted);white-space:normal;margin-top:4px}
.pm298 .pm-metrics298{margin:16px 0 20px}
.pm298 .pm-metrics298 div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:10px;border-bottom:1px solid var(--border)}
.pm298 .pm-metrics298 dt{color:var(--muted)}
.pm298 .pm-metrics298 dd{margin:0;color:var(--text)}
.pm298 .kpi-score{font-size:24px;font-weight:650;color:var(--muted);text-align:right}
.pm298 .kpi-score small{display:block;letter-spacing:1px;font-size:8px;font-weight:500}
.pm298 .kpi-score.good{color:var(--muted)}
.pm298 .kpi-score.amber{color:var(--muted)}
.pm298 .kpi-score.danger{color:var(--muted)}

.pm298 .access-list{padding:0 22px}
.pm298 .access-person{display:grid;grid-template-columns:minmax(160px,1.2fr) 135px minmax(130px,1fr) auto;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--border)}
.pm298 .access-person .owner b{color:var(--text);font-size:11px;font-weight:550}
.pm298 .access-person .status-tag{width:max-content}
.pm298 .access-person .btn{margin:0}

.pm298 .task-card,.pm298 .task-name{overflow-wrap:anywhere}
.pm298 .task-name strong{white-space:normal;display:block;max-width:380px}
.pm298 .task-name small{white-space:normal}
.pm298 .task-table{color:var(--text)}
.pm298 .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.pm298 .workload-table{min-width:1200px;table-layout:fixed}
.pm298 .workload-table td{vertical-align:top;white-space:normal}
.pm298 .workload-table td:first-child{vertical-align:middle}
.pm298 .workload-table .cal-task{font-size:10px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.pm298 .reserved{font-size:8px;color:var(--muted);display:block;margin-top:8px}
.pm298 [data-pm-drop-user].drag-over{background:var(--soft);outline:2px dashed var(--primary);outline-offset:-3px}
.pm298 [draggable=true]{cursor:grab}
.pm298 .help-steps{padding-left:20px;line-height:2;font-size:12px;color:var(--muted)}
.pm298 .help-steps b{color:var(--text)}
/* Fixed drawers participate in the portal stacking context above header/sidebar.
   The workspace must not isolate them in a lower stacking context. */
.pm298 .dialog-backdrop{z-index:1500}
.pm298 .dialog{display:block;position:relative;max-width:100%;margin:0}
.pm298 .dialog form{display:block;margin:0}
.pm298 .dialog .field{display:flex}
.pm298 .dialog input,.pm298 .dialog select,.pm298 .dialog textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.pm298 .dialog textarea{resize:vertical}
.pm298 .dialog .activity p{overflow-wrap:anywhere}
.pm298 .command-item{text-wrap:wrap}
.pm298 .command-item>div{overflow-wrap:anywhere}
.pm298 .dialog-head h2{overflow-wrap:anywhere}
.pm298 .btn{min-height:37px}
.pm298 .task-check{min-height:14px;min-width:14px;padding:0}
.pm298 .cal-task{min-height:44px}
.pm298 .command-item{min-height:48px}
.pm298 .hidden{display:none!important}
.pm298 .permission-foot p{margin:10px 0}
.pm298 .green{color:var(--muted)}
.pm298 .red{color:var(--muted)}

@media(max-width:1250px){.pm298 .pm-top{padding:0 23px}
.pm298 .pm-module-nav{padding:9px 20px}
.pm298 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pm298 .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.pm298 .stat{min-width:0}
.pm298 .stat strong{font-size:25px}
.pm298 .stat-footer{max-width:none}
.pm298 .stat-top{font-size:9px}
.pm298 .hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}
}

@media(max-width:1000px){.pm298 .insight-grid{grid-template-columns:minmax(0,1.4fr) minmax(200px,1fr)}
.pm298 .dashboard-grid{grid-template-columns:1fr}
.pm298 .heading{flex-wrap:wrap}
.pm298 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.pm298 .access-person{grid-template-columns:minmax(160px,1fr) auto}
.pm298 .access-person .date{grid-column:1}
.pm298 .access-person .btn{grid-column:2;grid-row:2}
}

@media(max-width:768px){.pm298 .canvas{padding:20px 16px}
.pm298 .pm-top{padding:0 16px;height:58px}
.pm298 .pm-module-nav{padding:9px 12px}
.pm298 .hero-grid{grid-template-columns:1fr}
.pm298 .hero-art{max-width:42%}
.pm298 .hero p{max-width:65%}
.pm298 .day-focus{min-height:150px}
.pm298 .day-focus h3{max-width:none}
.pm298 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pm298 .hero{min-height:200px}
.pm298 .board{grid-template-columns:repeat(3,minmax(270px,1fr));overflow-x:auto;max-width:100%;padding:16px}
.pm298 .column{min-height:400px;max-height:none}
.pm298 .calendar{grid-template-columns:repeat(7,minmax(145px,1fr));max-width:100%;overflow-x:auto}
.pm298 .toolbar{align-items:flex-start}
.pm298 .filters{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) minmax(100px,1fr)}
.pm298 .filters input,.pm298 .filters select{width:100%;max-width:none;min-width:0}
.pm298 .filters .searchbar{min-width:0}
.pm298 .role-pill{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:9px}
.pm298 .dialog .field input,.pm298 .dialog .field select,.pm298 .dialog .field textarea{font-size:16px}
.pm298 .iconbtn{height:37px;width:37px}
.pm298 .btn{min-height:42px}
.pm298 .pm-module-nav button{min-height:42px}
.pm298 .footer{flex-wrap:wrap}
}

@media(max-width:560px){.pm298 .pm-top .breadcrumb span{display:none}
.pm298 .pm-top .breadcrumb b{font-size:11px}
.pm298 .role-pill{display:none}
.pm298 .right-tools{gap:7px}
.pm298 .hero-grid,.pm298 .insight-grid,.pm298 .project-grid{grid-template-columns:minmax(0,1fr)}
.pm298 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm298 .stat strong{font-size:25px}
.pm298 .stat{padding:15px}
.pm298 .stat-top{font-size:8px;gap:5px}
.pm298 .stat-top .stat-icon{width:25px;height:25px;flex-shrink:0}
.pm298 .heading h1{font-size:25px}
.pm298 .heading .actions{width:100%}
.pm298 .heading .actions .btn{flex:1}
.pm298 .hero p{max-width:75%}
.pm298 .hero h2{font-size:31px}
.pm298 .filters{grid-template-columns:1fr 1fr}
.pm298 .filters .searchbar{grid-column:1/-1}
.pm298 .dialog{width:100%;border-radius:0}
.pm298 .dialog-backdrop{padding:0}
.pm298 .dialog-head,.pm298 .dialog-body,.pm298 .dialog-bottom{padding:20px}
.pm298 .dialog .form-grid{grid-template-columns:1fr}
.pm298 .dialog .field.full{grid-column:1}
.pm298 .dialog-bottom{gap:12px;flex-wrap:wrap;padding-bottom:max(20px,env(safe-area-inset-bottom))}
.pm298 .dialog-bottom>.actions{width:100%}
.pm298 .dialog-bottom>.actions .btn{flex:1}
.pm298 .dialog-head .iconbtn{flex-shrink:0}
.pm298 .access-list{padding:0 16px}
.pm298 .access-person{gap:10px;grid-template-columns:minmax(0,1fr) auto}
.pm298 .access-person .owner{align-items:flex-start}
.pm298 .access-person .status-tag{font-size:8px}
.pm298 .access-person .owner b{overflow-wrap:anywhere}
.pm298 .area-caption{flex-wrap:wrap;gap:5px}
.pm298 .task-table .task-name{min-width:230px}
.pm298 .hero-art{opacity:.3}
.pm298 .task-check{width:24px;height:24px;min-width:24px;font-size:13px}
.pm298 .time-fields{grid-template-columns:1fr 1fr}
.pm298 .day-focus .focus-top{gap:10px;flex-wrap:wrap}
}


/* One inherited color system covers every workspace view and open drawer. */
.pm298 :is(h1,h2,h3,strong,b),
.pm298 :is(.breadcrumb b,.task-name strong,.task-card h3,.metric-row strong,.stat strong,.ring-content b,.status-legend strong,.command-item,.permission-foot b,.empty b,.activity b,.permissions-table tr td:first-child){color:var(--text)}
.pm298 :is(.panel,.stat,.day-focus,.toolbar,.task-card,.dialog,.pm-top,.pm-module-nav){background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.pm298 :is(.hero,.day-focus,.panel,.stat,.project-card){border-radius:var(--radius)}
.pm298 :is(.panel-head p,.heading p,.stat-top,.stat-footer,.scope-note,.task-name small,.task-card-meta,.project-label,.date,.field,.activity p,.command-item small,.permission-foot,.permissions-table td,.footer,.load-person,.owner,.role-notice,.role-pill,.focus-top,.focus-label){color:var(--muted)}
.pm298 :is(a,.textbtn,.eyebrow,.focus-bottom .textbtn,.panel-head .textbtn,.footer .textbtn,.command-item .icon){color:var(--primary-ink)}
.pm298 .btn{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:var(--radius)}
.pm298 .btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 18%,transparent)}
.pm298 .btn.primary:hover{box-shadow:0 5px 18px color-mix(in srgb,var(--primary) 25%,transparent)}
.pm298 :is(.btn.soft,.iconbtn:hover,.pm-module-nav button.active,.pm-module-nav button:hover,.views button.active){background:var(--soft);border-color:var(--border);color:var(--primary-ink)}
.pm298 :is(.iconbtn,.views button){color:var(--muted);border-color:var(--border)}
.pm298 :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.pm298 .btn.danger{background:color-mix(in srgb,var(--pm-danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--pm-danger) 32%,var(--border));color:var(--pm-danger)}
.pm298 :is(.field input,.field select,.field textarea,.filters input,.filters select,.command-input){background:var(--surface);color:var(--text);border-color:var(--border)}
.pm298 :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
.pm298 :is(.field input,.field select,.field textarea):disabled{background:var(--surface-alt);color:var(--muted);border-color:var(--border)}
.pm298 :is(.field input,.field select,.field textarea):focus{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 18%,transparent)}
.pm298 .dialog{color:var(--text);border-left:1px solid var(--border)}
.pm298 :is(.dialog-head,.dialog-bottom,.task-table th){background:var(--surface-alt);border-color:var(--border)}
.pm298 .dialog-backdrop{background:color-mix(in srgb,var(--text) 28%,transparent)}
.pm298 :is(.board,.column,.column-head){background:var(--surface-alt);border-color:var(--border)}
.pm298 .column-head small{background:var(--surface);color:var(--muted)}
.pm298 :is(.task-card:hover,.stat:hover){border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}
.pm298 :is(.task-table tr[data-pm-task]:hover,.command-item:hover,.calday.today){background:var(--soft)}
.pm298 :is(.column.drag-over,[data-pm-drop-user].drag-over){outline-color:var(--primary);background:var(--soft)}
.pm298 :is(.task-check,.ring:before){background:var(--surface);border-color:var(--border)}
.pm298 .task-check.done{background:color-mix(in srgb,var(--pm-success) 13%,var(--surface));border-color:color-mix(in srgb,var(--pm-success) 40%,var(--border));color:var(--pm-success)}
.pm298 :is(.status-tag,.priority.low){color:var(--muted);background:var(--surface-alt)}
.pm298 .status-tag.todo{color:var(--text);background:color-mix(in srgb,var(--muted) 15%,var(--surface))}
.pm298 .status-tag.progress{color:var(--primary-ink);background:var(--soft)}
.pm298 .status-tag.done{color:var(--pm-success);background:color-mix(in srgb,var(--pm-success) 12%,var(--surface))}
.pm298 :is(.status-tag.overdue,.priority.high){color:var(--pm-danger);background:color-mix(in srgb,var(--pm-danger) 10%,var(--surface))}
.pm298 .priority.normal{color:var(--pm-info);background:color-mix(in srgb,var(--pm-info) 10%,var(--surface))}
.pm298 :is(.date.late,.overdue-label,.error,.red,.kpi-score.danger){color:var(--pm-danger)}
.pm298 :is(.green,.stat-footer .green,.kpi-score.good){color:var(--pm-success)}
.pm298 :is(.stat-footer .red){color:var(--pm-danger)}
.pm298 .kpi-score.amber{color:var(--pm-warning)}
.pm298 .avatar{background:var(--soft);color:var(--primary-ink);border-color:var(--surface)}
.pm298 .stat-icon{background:var(--soft);color:var(--primary-ink)}
.pm298 .stat-icon[data-tone=done]{background:color-mix(in srgb,var(--pm-success) 12%,var(--surface));color:var(--pm-success)}
.pm298 .stat-icon[data-tone=open]{background:color-mix(in srgb,var(--pm-info) 12%,var(--surface));color:var(--pm-info)}
.pm298 .stat-icon[data-tone=overdue]{background:color-mix(in srgb,var(--pm-danger) 12%,var(--surface));color:var(--pm-danger)}
.pm298 .stat:after{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 35%,transparent),transparent 75%)}
.pm298 :is(.progress-track,.load-track){background:var(--surface-alt)}
.pm298 .progress-track i{background:var(--primary)}
.pm298 .load-track i{background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 45%,var(--surface)))}
.pm298 .mini-project-name{color:var(--text)!important}
.pm298 .project-pct{font-size:10px;color:var(--muted)}
.pm298 .capacity-cell{background:var(--soft);color:var(--primary-ink)}
.pm298 .capacity-cell.full{background:color-mix(in srgb,var(--pm-warning) 12%,var(--surface));color:var(--pm-warning)}
.pm298 .capacity-cell.over{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--pm-danger) 10%,var(--surface)),color-mix(in srgb,var(--pm-danger) 10%,var(--surface)) 5px,color-mix(in srgb,var(--pm-danger) 18%,var(--surface)) 5px,color-mix(in srgb,var(--pm-danger) 18%,var(--surface)) 10px);color:var(--pm-danger)}
.pm298 .cal-task{background:var(--soft);color:var(--text);border-color:var(--primary)}
.pm298 .calday.today>h3 b{color:var(--primary-ink)}
.pm298 .hint{background:var(--surface-alt);color:var(--muted);border-color:var(--border)}
.pm298 .hint.good{background:color-mix(in srgb,var(--pm-success) 9%,var(--surface));color:var(--pm-success);border-color:color-mix(in srgb,var(--pm-success) 25%,var(--border))}
.pm298 .hint.warning{background:color-mix(in srgb,var(--pm-warning) 9%,var(--surface));color:var(--pm-warning);border-color:color-mix(in srgb,var(--pm-warning) 25%,var(--border))}
.pm298 .focus-card{background:var(--soft);border-color:var(--border)}
.pm298 .focus-card h3{color:var(--primary-ink)}
.pm298 .focus-card p{color:var(--muted)}
.pm298 .hero{background:var(--pt-heading-bg,linear-gradient(120deg,var(--surface),var(--soft)));border:1px solid var(--border);color:var(--pm-hero-ink);box-shadow:var(--shadow)}
.pm298 .hero h2{color:var(--pm-hero-ink)}
.pm298 .hero h2 span{color:var(--pm-hero-accent)}
.pm298 :is(.hero .hero-tag,.hero>p){color:var(--pm-hero-muted)}
.pm298 .hero .hero-tag i{background:var(--pm-hero-accent)}
.pm298 .hero-link{color:var(--pm-hero-accent)}
.pm298 .hero-art{color:var(--pm-hero-accent)}
.pm298 .area-caption i{background:var(--pm-planned)}
.pm298 .area-caption i.mint{background:var(--pm-delivered)}
.pm298 .area-chart .chart-line{stroke:var(--border)}
.pm298 .area-chart text{fill:var(--muted)}
.pm298 .toast{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}
.pm298 .toast.error{background:color-mix(in srgb,var(--pm-danger) 12%,var(--surface));color:var(--pm-danger)}

.pm298 :is(.panel-head h2,.dialog-head h2,.calday>h3 b,.activity h3),
.pm298 .insight-grid :is(.ring-content b,.status-legend strong){color:var(--text)}
.pm298 .calday.today>h3 b{color:var(--primary-ink)}
.pm298 .dialog :is(input,select,textarea){color-scheme:inherit}
.pm298{color-scheme:light}
body[data-appearance=dark]:not([data-overview-theme]) .pm298,
body:is([data-overview-theme="obsidian-command"],[data-overview-theme="precision-operations"],[data-overview-theme="carbon-glass"]) .pm298{color-scheme:dark}
/* Override the legacy portal input selector that forces a light native picker. */
.pm298 :is(input,select,textarea){color-scheme:inherit!important}
