.pp-page,.pp-detail{--accent:#fbbf24;--track-photo:#4a9eff;--track-video:#a78bfa;--track-album:#fb923c;--status-success:#34d399;--status-warning:#f59e0b;--status-danger:#ef4444;--status-info:#4a9eff;--glass-bg:#ffffff0a;--glass-border:#ffffff14;--glass-shadow:0 4px 24px #0003;--glass-blur:blur(12px);--radius-card:16px;--radius-inner:12px;--radius-input:8px;--radius-pill:999px;--ease-out:cubic-bezier(.4, 0, .2, 1);--transition:all .3s var(--ease-out)}.pp-page{min-height:100vh;animation:fadeIn .4s var(--ease-out);padding:2rem 2.25rem}.pp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.pp-header h1,.pp-header .pp-page-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.pp-header-actions{align-items:center;gap:.625rem;display:flex}.pp-stats-row{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem;display:grid}.pp-stat-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);transition:var(--transition);align-items:center;gap:.875rem;padding:1.125rem 1.25rem;display:flex;position:relative;overflow:hidden}.pp-stat-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff08 0%,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.pp-stat-card:hover{border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 32px #00000047}.pp-stat-card .stat-icon{border-radius:var(--radius-inner);width:44px;height:44px;color:var(--accent);background:#ffffff0f;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.pp-stat-card .stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.4rem;font-weight:700;line-height:1.2;display:block}.pp-stat-card .stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:.125rem;font-size:.7rem;font-weight:500;display:block}.pp-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.pp-search-wrap{flex:1;min-width:220px;max-width:380px;position:relative}.pp-search-wrap .search-icon{color:var(--text-tertiary);pointer-events:none;font-size:.85rem;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.pp-search-wrap input{width:100%;color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);transition:var(--transition);-webkit-backdrop-filter:var(--glass-blur);outline:none;padding:.6rem .875rem .6rem 2.4rem;font-size:.85rem}.pp-search-wrap input::placeholder{color:var(--text-tertiary)}.pp-search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf241a}.pp-filter-select{color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239ca3af' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;outline:none;padding:.6rem 2rem .6rem .875rem;font-size:.85rem}.pp-filter-select:hover{border-color:var(--border-default)}.pp-filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf241a}.pp-btn-primary{color:#111;background:linear-gradient(135deg, var(--accent), #d4a017);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;align-items:center;gap:.4rem;padding:.6rem 1.125rem;font-size:.85rem;font-weight:600;display:inline-flex}.pp-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #fbbf244d}.pp-btn-primary:active{transform:translateY(0)}.pp-master-detail-container{align-items:flex-start;gap:1.5rem;min-height:60vh;display:flex;position:relative}.pp-master-sidebar{flex-direction:column;flex-shrink:0;width:340px;max-height:calc(100vh - 280px);padding-right:.5rem;display:flex;overflow-y:auto}.pp-master-sidebar::-webkit-scrollbar{width:6px}.pp-master-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}.pp-detail-main{background:var(--glass-bg);min-width:0;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);flex-direction:column;flex:1;min-height:60vh;display:flex;position:relative;overflow:hidden}.pp-detail-main:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#4a9eff08,#0000 60%),radial-gradient(circle at 80% 20%,#a78bfa08,#0000 50%);width:200%;height:200%;animation:20s linear infinite slowSpin;position:absolute;top:-50%;left:-50%}@keyframes slowSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pp-empty-detail{height:100%;color:var(--text-secondary);text-align:center;z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.pp-empty-detail h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.pp-client-grid{animation:slideUp .5s var(--ease-out);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.125rem;display:grid}.pp-master-sidebar .pp-client-grid{flex-direction:column;gap:.8rem;display:flex}.pp-client-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);transition:var(--transition);cursor:pointer;flex-direction:column;padding:1.25rem;display:flex;position:relative;overflow:hidden}.pp-client-card:before{content:"";pointer-events:none;background:linear-gradient(160deg,#ffffff09 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}.pp-client-card:hover{border-color:#ffffff24;transform:translateY(-3px);box-shadow:0 12px 40px #00000052}.pp-client-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 12px 40px #fbbf2426;background:#ffffff17;transform:translateY(-2px)}.pp-client-card.active:before{background:linear-gradient(160deg,#fbbf2414 0%,#0000 50%)}.pp-client-header{align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.pp-client-avatar{color:#fff;background:linear-gradient(135deg, var(--accent), #e67e22);letter-spacing:.02em;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:.85rem;font-weight:700;display:flex}.pp-client-name{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.3}.pp-client-date{color:var(--text-tertiary);margin-top:.1rem;font-size:.7rem}.pp-service-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.pp-service-badge{border-radius:var(--radius-pill);letter-spacing:.02em;align-items:center;gap:.3rem;padding:.25rem .625rem;font-size:.7rem;font-weight:600;display:inline-flex}.pp-service-badge.photo{color:var(--track-photo);background:#4a9eff1f;border:1px solid #4a9eff33}.pp-service-badge.video{color:var(--track-video);background:#a78bfa1f;border:1px solid #a78bfa33}.pp-service-badge.album{color:var(--track-album);background:#fb923c1f;border:1px solid #fb923c33}.pp-client-progress{margin-bottom:.875rem}.pp-progress-bar{border-radius:var(--radius-pill);background:#ffffff0f;width:100%;height:6px;position:relative;overflow:hidden}.pp-progress-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent), #f59e0b);height:100%;transition:width .8s var(--ease-out);animation:progressFill 1s var(--ease-out);position:relative}.pp-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);animation:2s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}.pp-progress-text{color:var(--text-secondary);text-align:right;margin-top:.35rem;font-size:.7rem;font-weight:600}.pp-client-footer{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.pp-status-badge{border-radius:var(--radius-pill);letter-spacing:.01em;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.pp-status-badge:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.pp-status-badge.on-track{color:var(--status-success);background:#34d3991a}.pp-status-badge.on-track:before{background:var(--status-success);box-shadow:0 0 6px #34d39980}.pp-status-badge.at-risk{color:var(--status-warning);background:#f59e0b1a}.pp-status-badge.at-risk:before{background:var(--status-warning);box-shadow:0 0 6px #f59e0b80}.pp-status-badge.overdue{color:var(--status-danger);background:#ef44441a}.pp-status-badge.overdue:before{background:var(--status-danger);box-shadow:0 0 6px #ef444480}.pp-leader-info{color:var(--text-tertiary);align-items:center;gap:.4rem;font-size:.7rem;display:flex}.pp-leader-info img,.pp-leader-info .leader-avatar{object-fit:cover;border:1.5px solid var(--glass-border);border-radius:50%;width:22px;height:22px}.pp-detail{animation:fadeIn .35s var(--ease-out);z-index:1;flex-direction:column;flex:1;padding:0;display:flex}.pp-detail-header{z-index:20;-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border);background:#0f0f0f99;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.125rem 2.25rem;display:flex;position:sticky;top:0}.pp-back-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-input);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.pp-back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.pp-detail-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.pp-detail-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto;font-size:.78rem;display:flex}.pp-detail-meta span{align-items:center;gap:.3rem;display:inline-flex}.pp-leader-select{color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%239ca3af' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;outline:none;padding:.4rem 1.75rem .4rem .75rem;font-size:.78rem}.pp-leader-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf241a}.pp-tabs{border-bottom:1px solid var(--glass-border);background:0 0;align-items:center;gap:0;padding:0 2.25rem;display:flex}.pp-tab{color:var(--text-tertiary);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.4rem;padding:.875rem 1.25rem;font-size:.85rem;font-weight:500;display:inline-flex;position:relative}.pp-tab:after{content:"";height:2.5px;transition:var(--transition);background:0 0;border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:0;right:0}.pp-tab:hover{color:var(--text-secondary)}.pp-tab.active{color:var(--text-primary);font-weight:600}.pp-tab.photo.active:after{background:var(--track-photo);box-shadow:0 0 8px #4a9eff66}.pp-tab.video.active:after{background:var(--track-video);box-shadow:0 0 8px #a78bfa66}.pp-tab.album.active:after{background:var(--track-album);box-shadow:0 0 8px #fb923c66}.pp-tab-count{min-width:18px;height:18px;color:var(--text-tertiary);border-radius:var(--radius-pill);background:#ffffff0f;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.pp-tab.active .pp-tab-count{color:var(--text-primary);background:#ffffff1a}.pp-tab-content{animation:fadeIn .3s var(--ease-out);padding:1.5rem 2.25rem 2rem}.pp-task-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);transition:var(--transition);animation:slideUp .4s var(--ease-out);margin-bottom:1.125rem;padding:1.25rem 1.5rem;position:relative}.pp-task-section:hover{border-color:#ffffff1f;box-shadow:0 6px 28px #00000040}.pp-task-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.pp-task-title{color:var(--text-primary);margin-right:auto;font-size:.95rem;font-weight:600}.pp-priority-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.175rem .55rem;font-size:.65rem;font-weight:700;display:inline-flex}.pp-priority-badge.high{color:var(--status-danger);background:#ef44441f;border:1px solid #ef444433}.pp-priority-badge.medium{color:var(--status-warning);background:#f59e0b1f;border:1px solid #f59e0b33}.pp-priority-badge.low{color:var(--status-success);background:#34d3991f;border:1px solid #34d39933}.pp-assigned-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.pp-member-chip{color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-pill);transition:var(--transition);background:#ffffff0d;align-items:center;gap:.35rem;padding:.25rem .6rem .25rem .25rem;font-size:.7rem;font-weight:500;display:inline-flex}.pp-member-chip:hover{background:#ffffff14;border-color:#ffffff24}.pp-member-chip img,.pp-member-chip .chip-avatar{object-fit:cover;border-radius:50%;width:22px;height:22px}.pp-add-member-btn{border:1.5px dashed var(--border-default);width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex}.pp-add-member-btn:hover{border-color:var(--accent);color:var(--accent);background:#fbbf240f}.pp-member-edits{margin-bottom:1.125rem}.pp-edits-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.625rem;font-size:.78rem;font-weight:600}.pp-edits-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-inner);border:1px solid var(--glass-border);width:100%;overflow:hidden}.pp-edits-table thead th{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--glass-border);background:#ffffff08;padding:.6rem .75rem;font-size:.7rem;font-weight:600}.pp-edits-table tbody td{color:var(--text-secondary);border-bottom:1px solid #ffffff08;padding:.55rem .75rem;font-size:.78rem}.pp-edits-table tbody tr:nth-child(2n){background:#ffffff04}.pp-edits-table tbody tr:hover{background:#ffffff0a}.pp-edits-table tbody tr:last-child td{border-bottom:none}.pp-edit-input{width:40px;color:var(--text-primary);border:1px solid var(--border-subtle);text-align:center;transition:var(--transition);background:#ffffff0a;border-radius:4px;outline:none;padding:.25rem .35rem;font-size:.78rem}.pp-edit-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #fbbf241f}.pp-edits-total td{color:var(--text-primary)!important;border-top:1px solid var(--glass-border)!important;background:#ffffff0a!important;font-weight:700!important}.pp-step-progress{justify-content:space-between;align-items:flex-start;margin-bottom:1.125rem;padding:.5rem 0;display:flex;position:relative}.pp-step{z-index:2;flex-direction:column;flex:1;align-items:center;gap:.4rem;display:flex;position:relative}.pp-step:before{content:"";width:14px;height:14px;transition:var(--transition);border-radius:50%}.pp-step.completed:before{background:var(--status-success);box-shadow:0 0 8px #34d39966}.pp-step.in-progress:before{background:var(--status-info);animation:2s infinite pulse;box-shadow:0 0 10px #4a9eff80}.pp-step.not-started:before{background:#ffffff1f;border:2px solid #ffffff26}.pp-step-connector{z-index:1;height:2px;transition:var(--transition);background:#ffffff14;position:absolute;top:calc(.5rem + 6px)}.pp-step-connector.completed{background:var(--status-success);box-shadow:0 0 4px #34d3994d}.pp-step-label{color:var(--text-tertiary);text-align:center;max-width:72px;font-size:.65rem;font-weight:500;line-height:1.3}.pp-step.completed .pp-step-label{color:var(--status-success)}.pp-step.in-progress .pp-step-label{color:var(--status-info);font-weight:600}.pp-task-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.875rem;display:flex}.pp-link-btn{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.pp-link-btn:hover{color:var(--accent);border-color:var(--accent);background:#fbbf240f}.pp-task-actions{border-top:1px solid var(--glass-border);justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.875rem;display:flex}.pp-task-actions button{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);background:#ffffff0a;padding:.35rem .875rem;font-size:.78rem;font-weight:500}.pp-task-actions button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.pp-task-actions button.danger{color:var(--status-danger)}.pp-task-actions button.danger:hover{background:#ef44441a;border-color:#ef44444d}.pp-comments{border-top:1px solid var(--glass-border);margin-top:1rem;padding-top:.875rem}.pp-comment{gap:.625rem;padding:.625rem 0;display:flex}.pp-comment+.pp-comment{border-top:1px solid #ffffff08}.pp-comment .comment-avatar{background:#ffffff14;border-radius:50%;flex-shrink:0;width:28px;height:28px}.pp-comment .comment-body{flex:1}.pp-comment .comment-author{color:var(--text-secondary);font-size:.7rem;font-weight:600}.pp-comment .comment-text{color:var(--text-tertiary);margin-top:.2rem;font-size:.78rem;line-height:1.45}.pp-comment .comment-time{color:var(--text-tertiary);opacity:.7;margin-top:.2rem;font-size:.65rem}.pp-comment-input{gap:.5rem;margin-top:.625rem;display:flex}.pp-comment-input input{color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-input);transition:var(--transition);background:#ffffff08;outline:none;flex:1;padding:.5rem .75rem;font-size:.78rem}.pp-comment-input input::placeholder{color:var(--text-tertiary)}.pp-comment-input input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #fbbf241a}.pp-comment-input button{color:#111;background:var(--accent);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);border:none;padding:.5rem .875rem;font-size:.78rem;font-weight:600}.pp-comment-input button:hover{filter:brightness(1.1)}.pp-qc-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);margin-top:1.25rem;padding:1.125rem 1.5rem}.pp-qc-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.pp-qc-badge.pending{color:var(--status-warning);background:#f59e0b1f;border:1px solid #f59e0b33}.pp-qc-badge.approved{color:var(--status-success);background:#34d3991f;border:1px solid #34d39933}.pp-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.pp-modal{background:var(--bg-elevated);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-card);width:90%;max-width:560px;max-height:85vh;animation:slideUp .35s var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000073,0 0 0 1px #ffffff0d}.pp-modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.125rem 1.5rem;display:flex}.pp-modal-header h2,.pp-modal-header .modal-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.pp-modal-header .close-btn{border-radius:var(--radius-input);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);background:#ffffff0a;border:1px solid #0000;justify-content:center;align-items:center;font-size:1rem;display:flex}.pp-modal-header .close-btn:hover{color:var(--status-danger);background:#ef44441a;border-color:#ef444433}.pp-modal-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.pp-modal-body::-webkit-scrollbar{width:5px}.pp-modal-body::-webkit-scrollbar-track{background:0 0}.pp-modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.pp-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.pp-modal-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.5rem;display:flex}.pp-modal-footer button{border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);padding:.55rem 1.125rem;font-size:.85rem;font-weight:600}.pp-modal-footer button.secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0a}.pp-modal-footer button.secondary:hover{background:var(--bg-hover);border-color:var(--border-default)}.pp-modal-footer button.primary{color:#111;background:linear-gradient(135deg, var(--accent), #d4a017);border:none}.pp-modal-footer button.primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px #fbbf2440}.pp-form-group{margin-bottom:1rem}.pp-form-group:last-child{margin-bottom:0}.pp-form-label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.pp-form-input{width:100%;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-input);transition:var(--transition);background:#ffffff08;outline:none;padding:.6rem .875rem;font-size:.85rem}.pp-form-input::placeholder{color:var(--text-tertiary)}.pp-form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf241a}.pp-form-select{width:100%;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition);-webkit-appearance:none;appearance:none;background:#ffffff08 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239ca3af' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E") right .625rem center no-repeat;outline:none;padding:.6rem 2rem .6rem .875rem;font-size:.85rem}.pp-form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf241a}.pp-empty{text-align:center;animation:fadeIn .5s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.pp-empty-icon{color:var(--text-tertiary);opacity:.35;margin-bottom:1rem;font-size:3rem}.pp-empty-text{color:var(--text-tertiary);max-width:340px;font-size:.95rem;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes progressFill{0%{width:0}to{width:100%}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.pp-page::-webkit-scrollbar{width:6px}.pp-detail::-webkit-scrollbar{width:6px}.pp-tab-content::-webkit-scrollbar{width:6px}.pp-page::-webkit-scrollbar-track{background:0 0}.pp-detail::-webkit-scrollbar-track{background:0 0}.pp-tab-content::-webkit-scrollbar-track{background:0 0}.pp-page::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.pp-detail::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.pp-tab-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.pp-page::-webkit-scrollbar-thumb:hover{background:#ffffff26}.pp-detail::-webkit-scrollbar-thumb:hover{background:#ffffff26}.pp-tab-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media (max-width:768px){.pp-page{padding:1.25rem 1rem}.pp-header{flex-direction:column;align-items:flex-start;gap:.75rem}.pp-stats-row{grid-template-columns:repeat(2,1fr);gap:.75rem}.pp-stat-card{padding:.875rem 1rem}.pp-stat-card .stat-icon{width:36px;height:36px;font-size:.95rem}.pp-stat-card .stat-value{font-size:1.1rem}.pp-controls{flex-direction:column;align-items:stretch}.pp-search-wrap{max-width:100%}.pp-client-grid{grid-template-columns:1fr}.pp-detail-header{flex-direction:column;align-items:flex-start;padding:1rem 1.25rem}.pp-detail-meta{margin-left:0}.pp-tabs{-webkit-overflow-scrolling:touch;padding:0 1.25rem;overflow-x:auto}.pp-tabs::-webkit-scrollbar{display:none}.pp-tab-content{padding:1.25rem}.pp-step-progress{padding-bottom:.5rem;overflow-x:auto}}@media (max-width:480px){.pp-page{padding:1rem .75rem}.pp-header h1,.pp-header .pp-page-title{font-size:1.1rem}.pp-stats-row{grid-template-columns:1fr 1fr;gap:.5rem}.pp-stat-card .stat-value{font-size:.95rem}.pp-stat-card .stat-label{font-size:.65rem}.pp-client-card{padding:1rem}.pp-client-avatar{width:40px;height:40px;font-size:.75rem}.pp-client-name{font-size:.85rem}.pp-task-section{padding:1rem}.pp-task-title{font-size:.85rem}.pp-task-header{gap:.5rem}.pp-assigned-row{gap:.35rem}.pp-edits-table thead th,.pp-edits-table tbody td{padding:.4rem .5rem;font-size:.7rem}.pp-step-label{font-size:.6rem}.pp-task-links{flex-direction:column}.pp-link-btn{justify-content:center;width:100%}.pp-modal{width:95%;max-height:90vh}.pp-modal-header{padding:.875rem 1.125rem}.pp-modal-body{padding:1rem 1.125rem}.pp-modal-footer{flex-direction:column;padding:.75rem 1.125rem}.pp-modal-footer button{justify-content:center;width:100%}.pp-detail-title{font-size:.95rem}.pp-tab-content{padding:1rem .75rem}.pp-tab{padding:.75rem .875rem;font-size:.78rem}}.pp-task-header{cursor:pointer;flex-wrap:nowrap;align-items:center;gap:.75rem;margin-bottom:0;display:flex}.pp-task-header-left{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.pp-task-header-right{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.625rem;display:flex}.pp-task-track-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px}.pp-status-pill{border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;align-items:center;padding:.15rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.pp-overdue-badge{color:#ef4444;border-radius:var(--radius-pill);white-space:nowrap;background:#ef44441f;border:1px solid #ef444440;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.65rem;font-weight:700;display:inline-flex}.pp-progress-mini{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.pp-progress-bar-mini{border-radius:var(--radius-pill);background:#ffffff14;width:60px;height:4px;overflow:hidden}.pp-progress-fill-mini{border-radius:var(--radius-pill);height:100%;transition:width .6s var(--ease-out)}.pp-progress-pct{color:var(--text-secondary);white-space:nowrap;font-size:.68rem;font-weight:700}.pp-due-date{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;align-items:center;gap:.2rem;font-size:.68rem;display:inline-flex}.pp-assigned-avatars{flex-shrink:0;align-items:center;gap:-4px;display:flex}.pp-assigned-avatars .pp-mini-avatar{border:2px solid var(--bg-base,#0f0f0f);margin-left:-4px}.pp-assigned-avatars .pp-mini-avatar:first-child{margin-left:0}.pp-mini-avatar{color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#4a9eff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.62rem;font-weight:700;display:inline-flex}.pp-mini-avatar--more,.pp-mini-avatar.more{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff1a;font-size:.6rem}.pp-expand-btn{border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);background:#ffffff08;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-expand-btn:hover{color:var(--text-primary);border-color:var(--border-default);background:#ffffff12}.pp-task-body{border-top:1px solid var(--glass-border);animation:fadeIn .25s var(--ease-out);margin-top:1.125rem;padding-top:1rem}.pp-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.3rem;margin-bottom:.4rem;font-size:.7rem;font-weight:600;display:inline-flex}.pp-section-label.clickable{cursor:pointer;color:var(--text-secondary)}.pp-section-label.clickable:hover{color:var(--text-primary)}.pp-member-chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pp-chip-remove{width:14px;height:14px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.pp-chip-remove:hover{color:#ef4444;background:#ef444433}.pp-steps-section{margin-bottom:1.125rem}.pp-member-cell{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.pp-edits-empty{color:var(--text-tertiary);border:1px dashed var(--border-subtle);border-radius:var(--radius-inner);background:#ffffff03;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.78rem;display:flex}.pp-edits-total-badge{color:#4a9eff;border-radius:var(--radius-pill);background:#4a9eff1f;border:1px solid #4a9eff33;align-items:center;margin-left:.5rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.pp-edits-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin-bottom:.625rem;font-size:.78rem;font-weight:600;display:flex}.pp-edits-total-row td{color:var(--text-primary)!important;border-top:1px solid var(--glass-border)!important;background:#ffffff0a!important;font-weight:700!important}.pp-edit-input--wide,.pp-edit-input.wide{text-align:left;width:80px;padding:.3rem .5rem}.pp-status-button-group{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;flex-wrap:wrap;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:3px;display:flex}.pp-status-btn{cursor:pointer;color:var(--text-tertiary);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:.7rem;font-weight:500;transition:all .18s}.pp-status-btn:hover{color:var(--text-secondary);background:#ffffff0d}.pp-status-btn.active{font-weight:700}.pp-task-meta-row{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.pp-meta-group{flex-direction:column;gap:.3rem;display:flex}.pp-meta-group--full{width:100%}.pp-meta-row-inline{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.pp-form-select.compact{width:auto;min-width:110px;padding:.4rem 1.75rem .4rem .625rem;font-size:.78rem}.pp-btn-sm{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#ffffff0a;border-radius:6px;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.pp-btn-sm:hover{color:var(--text-primary);border-color:var(--border-default);background:#ffffff14}.pp-btn-sm.save{color:#34d399;background:#34d3991f;border-color:#34d39940}.pp-btn-sm.save:hover{background:#34d39933}.pp-btn-danger{font-family:inherit}.pp-task-count-badge{color:var(--text-tertiary);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:#ffffff0f;align-items:center;padding:.15rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.pp-leader-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:.3rem;margin-bottom:.25rem;font-size:.68rem;font-weight:600;display:flex}.pp-leader-select{flex-direction:column;flex-shrink:0;gap:.25rem;margin-left:auto;display:flex}.pp-progress-info{justify-content:space-between;align-items:center;margin-top:.35rem;display:flex}.pp-task-count{color:var(--text-tertiary);font-size:.68rem}.pp-no-members{color:var(--text-tertiary);padding:.25rem 0;font-size:.75rem;font-style:italic}.pp-member-dropdown{z-index:50;background:var(--bg-elevated,#1a1a1a);border:1px solid var(--glass-border);border-radius:var(--radius-inner);width:220px;animation:slideUp .2s var(--ease-out);margin-top:.4rem;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 12px 40px #0006}.pp-member-dropdown-header{border-bottom:1px solid var(--glass-border);align-items:center;gap:.4rem;padding:.5rem .625rem;display:flex}.pp-member-search{color:var(--text-primary);border:1px solid var(--border-subtle);background:#ffffff0a;border-radius:6px;outline:none;flex:1;padding:.3rem .5rem;font-family:inherit;font-size:.78rem}.pp-member-search:focus{border-color:var(--accent)}.pp-close-btn{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-close-btn:hover{color:#ef4444;background:#ef44441a}.pp-member-dropdown-list{max-height:200px;overflow-y:auto}.pp-member-option{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.78rem;transition:background .15s;display:flex}.pp-member-option:hover{color:var(--text-primary);background:#ffffff0d}.pp-member-role{color:var(--text-tertiary);white-space:nowrap;margin-left:auto;font-size:.65rem}.pp-member-chips{position:relative}.pp-progress-text{color:var(--text-secondary);margin-top:.35rem;font-size:.7rem;font-weight:600}.pp-detail-header{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border);z-index:20;background:#0f0f0f99;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.125rem 2.25rem;display:flex;position:sticky;top:0}.pp-detail-header-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.pp-event-chips{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.pp-event-chip{color:var(--text-secondary);border-radius:var(--radius-pill);white-space:nowrap;transition:var(--transition);letter-spacing:.01em;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:.25rem;padding:.18rem .55rem;font-size:.65rem;font-weight:600;display:inline-flex}.pp-event-chip svg{color:var(--text-tertiary);flex-shrink:0}.pp-event-chip-date{color:var(--text-tertiary);border-left:1px solid #ffffff1f;margin-left:.15rem;padding-left:.3rem;font-size:.6rem;font-weight:500}.pp-page :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pp-detail :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media print{.pp-controls,.pp-task-actions,.pp-comment-input,.pp-add-member-btn,.pp-modal-overlay{display:none!important}.pp-client-card,.pp-task-section,.pp-stat-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;break-inside:avoid;border:1px solid #ddd}}.pp-stepper{margin-top:.75rem}.pp-stepper-header{align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.pp-stepper-progress-bar{border-radius:var(--radius-pill);background:#ffffff0f;flex:1;height:5px;overflow:hidden}.pp-stepper-progress-fill{border-radius:var(--radius-pill);height:100%;transition:width .6s var(--ease-out);position:relative;overflow:hidden}.pp-stepper-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:1.8s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}.pp-stepper-count{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:.68rem;font-weight:600}.pp-stepper-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.pp-step-card{border:1px solid var(--step-border,#ffffff14);background:var(--step-bg,#ffffff08);cursor:pointer;transition:all .2s var(--ease-out);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.3rem;min-height:72px;padding:.625rem .75rem;font-family:inherit;display:flex;position:relative;overflow:hidden}.pp-step-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff08 0%,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.pp-step-card:hover{border-color:var(--step-color,#ffffff26);transform:translateY(-2px);box-shadow:0 6px 20px #0003}.pp-step-card:active{transform:translateY(0)}.pp-step-card.locked{opacity:.45;cursor:default}.pp-step-card.locked:hover{box-shadow:none;transform:none}.pp-step-card--in_progress{box-shadow:0 0 0 1px var(--step-border), 0 4px 16px color-mix(in srgb, var(--step-color,#4a9eff) 20%, transparent);animation:2.5s ease-in-out infinite stepPulse}@keyframes stepPulse{0%,to{box-shadow:0 0 0 1px var(--step-border), 0 4px 16px color-mix(in srgb, var(--step-color,#4a9eff) 20%, transparent)}50%{box-shadow:0 0 0 1px var(--step-border), 0 4px 24px color-mix(in srgb, var(--step-color,#4a9eff) 35%, transparent)}}.pp-step-card-dot{background:var(--step-bg,#ffffff0f);border:1.5px solid var(--step-border,#ffffff1a);width:24px;height:24px;color:var(--step-color,var(--text-tertiary));transition:var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-step-card--completed .pp-step-card-dot{background:#34d39926;border-color:#34d39966}.pp-step-card--in_progress .pp-step-card-dot{background:color-mix(in srgb, var(--step-color,#4a9eff) 15%, transparent);border-color:var(--step-color,#4a9eff)}.pp-step-card-num{color:var(--text-tertiary);font-size:.65rem;font-weight:700;line-height:1}.pp-step-card-name{color:var(--step-color,var(--text-secondary));letter-spacing:.01em;font-size:.72rem;font-weight:600;line-height:1.2}.pp-step-card-status{color:var(--step-color,var(--text-tertiary));opacity:.75;text-transform:uppercase;letter-spacing:.06em;margin-top:auto;font-size:.6rem;font-weight:500}.pp-steps-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.pp-steps-config-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.pp-page.tv-mode-active{max-width:100%}.pp-tv-dashboard{flex:1;padding:0 .5rem 2rem;overflow-y:auto}.pp-tv-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem;display:flex}.pp-tv-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:1.5rem;display:grid}.pp-tv-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex}.pp-tv-card:hover{border-color:#ffffff26;transform:translateY(-4px);box-shadow:0 12px 30px #00000040}.pp-tv-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pp-tv-card-title h2{color:var(--text-primary);margin:0 0 .3rem;font-size:1.2rem;font-weight:700;line-height:1.2}.pp-tv-card-meta{color:var(--text-tertiary);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.pp-tv-progress-ring{flex-shrink:0;width:50px;height:50px}.circular-chart{max-width:100%;max-height:250px;display:block}.circle-bg{fill:none;stroke:#ffffff0d;stroke-width:3.5px}.circle{fill:none;stroke-width:3.5px;stroke-linecap:round;stroke:#34d399;transition:stroke-dasharray 1s ease-out}.percentage{fill:var(--text-primary);text-anchor:middle;font-family:inherit;font-size:10px;font-weight:700}.pp-tv-tasks{flex-direction:column;gap:.75rem;display:flex}.pp-tv-task-row{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .8rem;display:flex}.pp-tv-task-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex;overflow:hidden}.pp-tv-track-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 4px}.pp-tv-badge-highlight{font-size:.7rem}.pp-tv-task-status{text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.pp-tv-overdue-icon{color:#ef4444}.pp-tv-more-tasks{color:var(--text-tertiary);text-align:center;background:#ffffff05;border-radius:6px;padding:.4rem;font-size:.75rem}.pp-tv-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.pp-tv-leader{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:flex}
