:root{--sky-soft:#e1ebf0;--violet:#6e5a93;--violet-soft:#eae5f1}.main.main-projects{max-width:1280px}.main-projects .topbar{align-items:center;gap:16px;margin-bottom:20px}.page-title{font-family:Fraunces,serif;font-size:24px;font-weight:500}.page-sub{color:var(--ink-faint);margin-top:3px;font-size:12.5px}.filterbar{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding:10px 12px;display:flex}.fchip{font:inherit;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;display:flex}.fchip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.search{border:1px solid var(--line);min-width:160px;color:var(--ink-faint);border-radius:20px;flex:1;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;display:flex}.search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1}.search input::placeholder{color:var(--ink-faint)}.search:focus-within{border-color:var(--accent)}.viewtoggle{border:1px solid var(--line);border-radius:20px;margin-left:auto;display:flex;overflow:hidden}.viewtoggle button{color:var(--ink-soft);cursor:pointer;background:#fff;border:none;padding:6px 13px;font-family:inherit;font-size:12.5px}.viewtoggle button.active{background:var(--ink);color:#fff}.pgrid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.pcard{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);flex-direction:column;padding:18px 18px 16px;display:flex}.pcard-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.pcard-name{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.pcard-name .pdot,.pt-name .pdot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.status-badge{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:600}.status-active{background:var(--accent-soft);color:var(--accent)}.status-paused{background:var(--amber-soft);color:var(--amber)}.status-done{color:var(--ink-soft);background:#efefe7}.pcard-client{color:var(--ink-faint);margin:2px 0 16px 17px;font-size:12px}.progress-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.progress-label{color:var(--ink-faint);font-size:11.5px}.progress-val{font-family:Fraunces,serif;font-size:20px;font-weight:500}.progress-track{background:var(--paper);border-radius:4px;height:6px;margin-bottom:14px;display:flex;overflow:hidden}.seg-done{background:var(--accent);height:100%}.seg-progress{background:var(--sky);height:100%}.seg-risk{background:var(--brick);height:100%}.stat-row{gap:14px;margin-bottom:16px;display:flex}.stat{flex:1}.stat-num{font-size:15px;font-weight:600}.stat-lbl{color:var(--ink-faint);font-size:10.5px}.pcard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.avatars{display:flex}.mini-avatar{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:9.5px;font-weight:600;display:flex}.mini-avatar:first-child{margin-left:0}.mini-avatar.more{background:var(--paper);color:var(--ink-faint)}.due{color:var(--ink-faint);font-size:11.5px}.due.soon{color:var(--amber);font-weight:600}.pcard-new{color:var(--ink-faint);cursor:pointer;min-height:230px;font:inherit;border-style:dashed;justify-content:center;align-items:center;font-size:13px}.pcard-new svg{margin-bottom:8px}.pcard-new:hover{border-color:var(--accent);color:var(--accent)}.empty{text-align:center;color:var(--ink-faint);grid-column:1/-1;padding:40px 0}.ptable-wrap{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);overflow-x:auto}.ptable{border-collapse:collapse;width:100%;min-width:860px;font-size:13px}.ptable th{text-align:left;color:var(--ink-faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px;font-size:11.5px;font-weight:600}.ptable td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.ptable tbody tr:last-child td{border-bottom:none}.ptable tbody tr:hover{background:var(--paper)}.pt-name{align-items:center;gap:10px;display:flex}.pt-title{color:var(--ink);font-weight:600}.pt-client{color:var(--ink-faint);margin-top:1px;font-size:11.5px}.pt-progress{align-items:center;gap:10px;min-width:150px;display:flex}.pt-track{flex:1;margin-bottom:0}.pt-pct{text-align:right;min-width:34px;font-size:12px;font-weight:600}.pt-num{font-variant-numeric:tabular-nums}.pt-num.bad{color:var(--brick);font-weight:600}.ptable td.due{white-space:nowrap;font-size:12px}.empty-cell{text-align:center;color:var(--ink-faint);padding:32px}.modal-backdrop{z-index:100;background:#1e201c73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--paper-raised);border-radius:var(--radius-m);flex-direction:column;gap:14px;width:100%;max-width:460px;max-height:calc(100vh - 32px);padding:18px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0003}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-title{font-family:Fraunces,serif;font-size:19px;font-weight:500}.modal-close{cursor:pointer;color:var(--ink-faint);font:inherit;background:0 0;border:0;padding:2px 6px;font-size:15px}.modal-close:hover{color:var(--ink)}.field{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.field>span{color:var(--ink-soft);font-size:12px}.field input,.field select{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;outline:none;padding:9px 10px;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent)}.field-row{gap:10px;display:flex}.swatches{gap:10px;padding-top:2px;display:flex}.swatch{width:24px;height:24px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn-ghost{font:inherit;border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer;color:var(--ink-soft);background:0 0;padding:8px 14px;font-size:13px}.btn-ghost:hover{border-color:var(--ink-faint)}@media (max-width:1100px){.pgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.pgrid{grid-template-columns:1fr;gap:12px}.main-projects .topbar{align-items:stretch}.page-title{font-size:22px}.filterbar{padding:10px}.search{flex:100%;order:-1;padding:9px 12px}.fchip{padding:8px 12px}.viewtoggle{width:100%;margin-left:0}.viewtoggle button{flex:1;padding:9px 13px}.pcard{padding:16px}.pcard-new{min-height:120px}.field-row{flex-direction:column}}.pcard{position:relative}.pcard-actions{align-items:center;gap:6px;display:flex}.pmenu{position:relative}.pmenu-btn{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.pmenu-btn:hover,.pmenu-btn[aria-expanded=true]{color:inherit;background:#0000000f}.pmenu-list{z-index:30;background:#fff;border:1px solid #00000014;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.pmenu-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px;display:block}.pmenu-item:hover{background:#0000000d}.pmenu-item.danger{color:#c0392b}.pmenu-sep{background:#00000014;height:1px;margin:4px 2px}.pt-actions{text-align:right;width:40px}.action-error{color:#a93226;background:#fdecea;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.action-error button{color:inherit;cursor:pointer;background:0 0;border:0}.modal-text{margin:0 0 16px;font-size:14px;line-height:1.5}.btn-danger{background:#c0392b}.main-projects .assignee-picker{flex-wrap:wrap;gap:6px;display:flex}.main-projects .assignee-opt{font:inherit;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:7px;padding:4px 11px 4px 4px;font-size:12.5px;display:flex}.main-projects .assignee-opt:hover{border-color:var(--ink-faint)}.main-projects .assignee-opt[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.main-projects .assignee-opt .mini-avatar{border-width:0;margin-left:0}.main-projects .l-none{color:var(--ink-faint);font-size:12px}.main-projects .field-hint{color:var(--ink-faint);margin-top:6px;font-size:12px;line-height:1.4;display:block}
