.portal{--pp-ink:#1d1d1f;--pp-line:#dedee3;--pp-charcoal:#3d474d;--pp-charcoal-strong:#1d1d1f;--pp-accent:#ff7f91;--pp-aqua:#2fc3bd;--pp-sherbet:#ff8593;--pp-sunset:#fef08e;--pp-sun:#fffc78;--pp-pink:#ff2f92;--pp-coconut:#ce8f5a;--pp-sand:#efd199;--pp-action-gradient:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);--pp-display:var(--font-wix-display),var(--font-display),ui-sans-serif,system-ui,sans-serif;--pp-jost:var(--font-display),ui-sans-serif,system-ui,sans-serif;--pp-sans:"Open Sans",var(--font-inter),ui-sans-serif,system-ui,sans-serif;min-height:100vh;background:var(--pp-paper);color:var(--pp-body);font-family:var(--pp-sans);line-height:1.6;-webkit-font-smoothing:antialiased}.portal h1,.portal h2,.portal h3{color:var(--pp-ink);font-family:var(--pp-display);font-weight:400;letter-spacing:.01em}.portal a{color:var(--pp-accent);text-decoration:none}.portal a:hover{text-decoration:underline}.portal-wordmark{font-family:var(--pp-jost);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--pp-ink);font-size:.95rem}.portal-brand-sub{display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pp-muted);margin-top:.25rem}.portal a.portal-btn,.portal button.portal-btn,.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--pp-display);font-size:.88rem;letter-spacing:.02em;padding:.68rem 1.05rem;border-radius:10px;border:none;cursor:pointer;color:#ffffff;background:var(--pp-action-gradient);box-shadow:0 8px 20px rgba(255,127,145,.2);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.portal-btn:hover:not(:disabled){background:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);box-shadow:0 10px 24px rgba(255,127,145,.28)}.portal a.portal-btn:hover{color:#ffffff;text-decoration:none}.portal-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.portal-btn-secondary{background:var(--pp-action-gradient);color:#ffffff;border:1px solid transparent;box-shadow:0 8px 20px rgba(255,127,145,.2)}.portal-btn-secondary:hover:not(:disabled){background:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);color:#ffffff}.portal-btn svg{width:1rem;height:1rem}.portal-auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1.25rem}.portal-auth-scene{position:relative;overflow:hidden;background:url(/images/hero-poster.jpg) 50%/cover no-repeat}.portal-auth-video-wrap{display:contents}.portal-auth-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portal-auth-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(100% 75% at 50% 42%,rgba(255,255,255,.2) 0,rgba(255,255,255,0) 58%),linear-gradient(115deg,rgba(255,241,139,.28),rgba(47,195,189,.16) 56%,rgba(29,29,31,.08))}.portal a.portal-auth-home{position:absolute;z-index:1;top:1.5rem;left:clamp(1.5rem,5vw,4rem);color:var(--pp-ink);font-family:var(--pp-jost);font-size:.98rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.portal-auth-home:hover{color:var(--pp-ink);text-decoration:none}.portal-auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.78);border-radius:18px;padding:2.5rem 2rem;box-shadow:0 24px 60px rgba(29,29,31,.18);backdrop-filter:blur(12px)}.portal-brand{margin-bottom:1.75rem}.portal-auth-card h1{font-size:1.6rem;margin-bottom:.5rem}.portal-lead{color:var(--pp-body);font-size:.95rem;margin-bottom:1.5rem}.portal-form{display:flex;flex-direction:column;gap:.6rem}.portal-form label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-muted)}.portal-form input{width:100%;padding:.8rem 1rem;border:1px solid var(--pp-line);border-radius:10px;font-size:1rem;font-family:var(--pp-sans);color:var(--pp-ink);background:#fff}.portal-form input:focus{outline:none;border-color:var(--pp-accent);box-shadow:0 0 0 3px rgba(91,190,212,.16)}.portal-form .portal-btn{margin-top:.4rem}.portal-footnote{position:relative;z-index:1;font-size:.75rem;color:rgba(61,85,103,.78);letter-spacing:.04em}.portal-footnote a{color:var(--pp-charcoal-strong)}@media (max-height:520px),(max-width:760px),(prefers-reduced-motion:reduce){.portal-auth-video{display:none}}.portal-note{background:#fffdf4;border:1px solid rgba(239,209,153,.7);border-left:3px solid var(--pp-sherbet);border-radius:10px;padding:1rem 1.1rem;font-size:.9rem;color:var(--pp-ink)}.portal-error{color:#b3261e;font-size:.85rem;margin:.2rem 0}.portal-muted{color:var(--pp-muted);font-size:.82rem}.portal-linkbtn{background:none;border:none;color:var(--pp-accent);font-family:var(--pp-sans);font-size:.85rem;cursor:pointer;padding:.3rem 0;align-self:center}.portal-linkbtn:hover{text-decoration:underline}.portal-linkbtn:disabled{opacity:.5;cursor:not-allowed}.portal-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;width:230px;padding:1.35rem 1rem 1rem;border-right:1px solid rgba(255,133,147,.2);background:linear-gradient(180deg,#fff9cb,#ffc2ca);flex-direction:column;box-shadow:8px 0 24px rgba(29,29,31,.035)}.portal-sidebar .portal-header-brand{display:block;padding:.4rem .55rem 1.4rem}.portal-sidebar .portal-brand-sub{color:var(--pp-muted)}.portal-sidebar-nav{display:flex;gap:.25rem;min-height:0;overflow-y:auto;flex-direction:column}.portal-sidebar-nav>a,.portal-sidebar-project>a,.portal-sidebar-workspace-tree>a{display:flex;min-height:2.35rem;align-items:center;gap:.65rem;padding:.55rem .65rem;border-radius:7px;color:rgba(29,29,31,.76);font-size:.79rem;font-weight:600}.portal-sidebar-nav>a:hover,.portal-sidebar-project>a:hover,.portal-sidebar-workspace-tree>a:hover{background:rgba(255,255,255,.3);text-decoration:none}.portal-sidebar-nav>a.active{background:var(--pp-charcoal);color:#ffffff;box-shadow:0 8px 18px rgba(61,71,77,.16)}.portal-sidebar-project>a.active,.portal-sidebar-workspace-tree>a.active{background:var(--pp-charcoal);color:#ffffff;box-shadow:0 8px 18px rgba(61,71,77,.14)}.portal-sidebar-project-link>span:last-child{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-nav svg{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35}.portal-sidebar-project{display:flex;gap:.15rem;margin-top:1.35rem;padding-top:1rem;border-top:1px solid rgba(29,29,31,.14);flex-direction:column}.portal-sidebar-project>span{padding:0 .65rem .45rem;color:rgba(29,29,31,.5);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-sidebar-project>a:not(.portal-sidebar-project-link){min-height:1.95rem;padding-block:.35rem;padding-left:2.35rem;font-size:.75rem;font-weight:500}.portal-sidebar-project-mark{display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:4px;background:rgba(47,195,189,.18);color:#8ee0d9;font-size:.66rem;font-weight:700}.portal-sidebar-project-mark.admin{background:var(--pp-charcoal);color:#ffffff}.portal-sidebar-project-mark img{width:100%;height:100%;object-fit:contain}.portal-sidebar-workspace-tree{display:flex;min-width:0;flex-direction:column}.portal-sidebar-project-menu{display:flex;gap:.18rem;margin:.35rem 0 .25rem 1.25rem;padding-left:.7rem;border-left:1px solid rgba(29,29,31,.16);flex-direction:column}.portal-sidebar-project-menu>span{padding:.3rem .35rem .2rem;color:rgba(29,29,31,.52);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-sidebar-project-menu>small{padding:.25rem .35rem;color:var(--pp-muted);font-size:.66rem}.portal-sidebar-project-node>a{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.35rem;padding:.43rem .5rem;border-radius:6px;color:rgba(29,29,31,.76);font-size:.7rem;font-weight:600}.portal-sidebar-project-node>a.active,.portal-sidebar-project-node>a:hover{background:rgba(255,255,255,.42);color:var(--pp-ink);text-decoration:none}.portal-sidebar-project-node>a.active{box-shadow:inset 2px 0 0 var(--pp-charcoal)}.portal-sidebar-project-node>a>span:first-child{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-phase-menu{display:flex;gap:.06rem;padding:.15rem 0 .2rem .65rem;flex-direction:column}.portal-sidebar-phase-menu a{overflow:hidden;padding:.32rem .45rem;border-radius:5px;color:rgba(29,29,31,.62);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-phase-menu a:hover{background:rgba(255,255,255,.34);color:var(--pp-ink);text-decoration:none}.portal-sidebar-account{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;margin-top:auto;padding:.8rem .5rem 0;border-top:1px solid rgba(29,29,31,.14)}.portal-sidebar-avatar{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:var(--pp-charcoal);font-size:.72rem;font-weight:700}.portal-sidebar-account strong,.portal-sidebar-account>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-account strong{font-size:.7rem}.portal-sidebar-account>div>span{color:rgba(29,29,31,.58);font-size:.6rem}.portal-sidebar-account button{border:0;background:transparent;color:rgba(29,29,31,.62);cursor:pointer;font-size:.9rem}.portal-header{position:fixed;z-index:20;inset:0 0 auto 230px;height:58px;border-bottom:1px solid var(--pp-line);background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}.portal-header-inner{width:100%;height:100%;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-header-brand{color:inherit}.portal-header-brand:hover{text-decoration:none}.portal-breadcrumbs{display:flex;align-items:center;gap:.55rem;color:var(--pp-muted);font-size:.72rem}.portal-breadcrumbs a{color:var(--pp-accent)}.portal-breadcrumbs>span:last-child{color:var(--pp-ink);font-weight:600}.portal-header-right{display:flex;align-items:center;gap:1rem}.portal-header-link{font-size:.85rem;font-weight:500}.portal-header-email{font-size:.8rem;color:var(--pp-muted)}.portal-header-signout{background:none;border:1px solid var(--pp-line);border-radius:999px;padding:.4rem .9rem;font-size:.8rem;font-family:var(--pp-sans);color:var(--pp-body);cursor:pointer}.portal-header-signout:hover{background:#fff;color:var(--pp-ink)}.portal-main{width:auto;max-width:none;min-height:100vh;margin-left:230px;padding:5.2rem clamp(1.2rem,3vw,2.5rem) 4rem}.portal-page-head{margin-bottom:2rem}.portal-page-head h1{font-size:2rem;margin-bottom:.35rem}.portal-page-head p{color:var(--pp-muted)}.portal-client-main{max-width:none;margin-left:230px;margin-right:auto}.portal-client-hero{position:relative;isolation:isolate;overflow:hidden;min-height:178px;padding:1.6rem 1.7rem;border:1px solid var(--pp-line);border-radius:16px;background:#ffffff;box-shadow:0 6px 22px rgba(29,29,31,.045)}.portal-client-hero:before{position:absolute;z-index:-1;inset:0;background:url(/images/hero-poster.jpg) center 52%/cover no-repeat;content:"";-webkit-mask-image:linear-gradient(90deg,transparent,transparent 34%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.94));mask-image:linear-gradient(90deg,transparent,transparent 34%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.94))}.portal-client-hero-copy{display:flex;max-width:min(720px,68%);align-items:center;gap:1.2rem}.portal-client-hero-copy h1{margin:.15rem 0 .35rem;color:var(--pp-ink);font-family:var(--pp-sans);font-size:clamp(1.55rem,3vw,2rem);font-weight:700;line-height:1.15}.portal-client-hero-copy>div>p:not(.portal-kicker){max-width:580px;color:var(--pp-body);font-size:.84rem}.portal-client-hero-copy a{display:inline-flex;gap:.35rem;margin-top:.7rem;color:var(--pp-ink);font-size:.72rem;font-weight:700}.portal-client-hero-logo{display:grid;width:112px;height:76px;flex:none;place-items:center;padding:.65rem;border:1px solid var(--pp-line);border-radius:10px;background:rgba(255,255,255,.92)}.portal-client-hero-logo img{width:100%;height:100%;object-fit:contain}.portal-client-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.portal-client-stats>div{position:relative;overflow:hidden;padding:1rem 1.15rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.045)}.portal-client-stats>div:before{position:absolute;inset:0 0 auto;height:3px;background:var(--pp-action-gradient);content:""}.portal-client-stats small,.portal-client-stats span{display:block;color:var(--pp-muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.portal-preview-exit{padding:.38rem .68rem;border:1px solid var(--pp-line);border-radius:999px;background:#ffffff;color:var(--pp-charcoal)!important;font-size:.7rem;font-weight:700}.portal-portfolio{margin-top:1.2rem}.portal-portfolio-heading{margin-bottom:.8rem}.portal-portfolio-heading>p{max-width:420px;color:var(--pp-muted);font-size:.74rem;text-align:right}.portal-project-portfolio-list{display:grid;gap:1rem}.portal-portfolio-project{overflow:hidden;border:1px solid var(--pp-line);border-radius:13px;background:#ffffff;box-shadow:0 6px 20px rgba(42,60,73,.045)}.portal-portfolio-project>header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem .8rem}.portal-portfolio-project>header h3{margin:.1rem 0 .2rem;font-family:var(--pp-sans);font-size:1.05rem;font-weight:700}.portal-portfolio-project>header p{max-width:760px;color:var(--pp-muted);font-size:.76rem}.portal-project-plan-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;padding:0 1.3rem .6rem;color:var(--pp-muted);font-size:.68rem}.portal-portfolio-project>.portal-progress-bar{margin:0 1.3rem 1rem}.portal-phase-client-list{display:grid;border-top:1px solid var(--pp-line)}.portal-phase-client-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:112px;padding:1rem 1.3rem;border-bottom:1px solid var(--pp-line)}.portal-phase-client-card:last-child{border-bottom:0}.portal-phase-order{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:8px;background:#edf8f6;color:var(--pp-action);font-size:.68rem;font-weight:800}.portal-phase-client-title{display:flex;align-items:start;justify-content:space-between;gap:.8rem}.portal-phase-client-title span:first-child{color:var(--pp-muted);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-phase-client-title h4{margin:.05rem 0 0;color:var(--pp-ink);font-size:.85rem}.portal-phase-client-copy>p{margin-top:.15rem;color:var(--pp-muted);font-size:.7rem}.portal-phase-client-metrics{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.55rem;color:var(--pp-muted);font-size:.63rem}.portal-phase-client-metrics strong{color:var(--pp-ink)}.portal-phase-open{min-width:112px;color:var(--pp-action)!important;font-size:.72rem;font-weight:700;text-align:right}.portal-phase-hero{position:relative;isolation:isolate;display:flex;min-height:150px;align-items:center;justify-content:space-between;gap:1.5rem;overflow:hidden;padding:1.5rem 1.7rem;border:1px solid var(--pp-line);border-radius:16px;background:#ffffff}.portal-phase-hero:before{position:absolute;z-index:-1;inset:0;background:url(/images/hero-poster.jpg) center 55%/cover no-repeat;content:"";-webkit-mask-image:linear-gradient(90deg,transparent,transparent 38%,rgba(0,0,0,.75) 72%,#000);mask-image:linear-gradient(90deg,transparent,transparent 38%,rgba(0,0,0,.75) 72%,#000)}.portal-phase-hero>div{max-width:68%}.portal-phase-hero h1{margin:.12rem 0 .25rem;font-family:var(--pp-sans);font-size:clamp(1.45rem,3vw,2rem);font-weight:700}.portal-phase-hero p:last-child{color:var(--pp-body);font-size:.8rem}.portal-phase-back{margin:.7rem 0 -.2rem;font-size:.72rem;font-weight:700}.portal-phase-detail-section{margin-top:1rem}.portal-phase-billing-list,.portal-review-packages{display:grid;gap:.85rem}.portal-phase-billing-row,.portal-review-document{padding:1.2rem 1.3rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 16px rgba(29,29,31,.04)}.portal-review-document>header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--pp-line)}.portal-review-document>header h3{margin:.1rem 0 0;font-family:var(--pp-sans);font-size:.95rem;font-weight:700}.portal-review-document>header small{color:var(--pp-muted);font-size:.62rem}.portal-review-body{max-height:520px;margin:.9rem 0;overflow-y:auto;overscroll-behavior:contain;padding:1rem;border:1px solid var(--pp-line);border-radius:8px;background:#fbfcfc}.portal-envelope-sign{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--pp-line)}.portal-envelope-sign input:not([type]),.portal-envelope-sign input[type=text]{width:100%;padding:.65rem .75rem;border:1px solid var(--pp-line);border-radius:8px;font:inherit}.portal-acceptance-record{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem;padding:.75rem .85rem;border-radius:8px;background:#eef9f5;color:#df5d72;font-size:.7rem}.portal-acceptance-record span{color:var(--pp-muted)}.portal-phase-billing-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.6fr) minmax(160px,.7fr);align-items:center;gap:1rem}.portal-phase-billing-row>div:first-child>span{color:var(--pp-muted);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-phase-billing-row h3{margin:.08rem 0 .15rem;font-family:var(--pp-sans);font-size:.88rem;font-weight:700}.portal-phase-billing-row p,.portal-phase-billing-row small{display:block;color:var(--pp-muted);font-size:.68rem}.portal-phase-price span,.portal-phase-price strong{display:block}.portal-phase-price strong{color:var(--pp-ink);font-size:1.05rem}.portal-phase-price span{color:var(--pp-muted);font-size:.62rem}.portal-phase-payment-action{display:grid;justify-items:end;gap:.5rem}.portal-phase-payment-action .portal-btn{min-width:142px;padding:.58rem .72rem;font-size:.72rem}@media (max-width:760px){.portal-acceptance-record,.portal-portfolio-heading,.portal-portfolio-project>header,.portal-review-document>header{align-items:flex-start;flex-direction:column}.portal-portfolio-heading>p{text-align:left}.portal-phase-client-card{grid-template-columns:auto minmax(0,1fr)}.portal-phase-open{grid-column:2;text-align:left}.portal-phase-billing-row{grid-template-columns:1fr}.portal-phase-payment-action{justify-items:start}}@media (max-width:560px){.portal-phase-hero{min-height:0;align-items:flex-start;flex-direction:column}.portal-phase-hero>div{max-width:100%}}.portal-client-stats strong{display:block;margin:.22rem 0 .08rem;color:var(--pp-ink);font-family:var(--pp-sans);font-size:1.2rem;font-weight:700;line-height:1.2}.portal-client-stats small{letter-spacing:0;text-transform:none;font-weight:400}.portal-client-welcome{display:flex;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;padding:1.6rem 1.8rem;border-radius:12px;background:radial-gradient(circle at 88% 20%,rgba(47,195,189,.92),transparent 34%),linear-gradient(110deg,#1d1d1f,#2c2c2e 58%,#ff7f91);color:#ffffff;box-shadow:0 12px 30px rgba(29,29,31,.16)}.portal-client-welcome p{margin:0;color:rgba(255,255,255,.72);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.portal-client-welcome h1{margin:.15rem 0 .35rem;color:#ffffff;font-family:var(--pp-sans);font-size:clamp(1.75rem,4vw,2.45rem);font-weight:700}.portal-client-welcome>div>span{color:rgba(255,255,255,.78);font-size:.82rem}.portal-client-welcome-logo{display:grid;width:clamp(110px,18vw,190px);height:76px;flex:none;place-items:center;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.7);border-radius:10px;background:rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(29,29,31,.12)}.portal-client-welcome-logo img{width:100%;height:100%;object-fit:contain}.portal-project-card,.portal-task-panel{margin-top:1rem;padding:1.35rem 1.45rem;border:1px solid var(--pp-line);border-radius:11px;background:#ffffff;box-shadow:0 5px 16px rgba(29,29,31,.045)}.portal-project-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem}.portal-project-icon{display:grid;width:2rem;height:2rem;place-items:center;border-radius:7px;background:var(--pp-tint);color:var(--pp-accent);font-size:.9rem}.portal-project-card h2,.portal-task-panel h2{margin:.1rem 0 0;font-family:var(--pp-sans);font-size:1rem;font-weight:700}.portal-project-card-head>div>p:last-child{margin-top:.25rem;color:var(--pp-muted);font-size:.78rem}.portal-progress-summary{margin-top:1.2rem}.portal-progress-summary>div:first-child{display:flex;justify-content:space-between;color:var(--pp-muted);font-size:.68rem}.portal-progress-summary strong{color:var(--pp-ink);font-size:.7rem}.portal-progress-bar{height:6px;margin-top:.4rem;overflow:hidden;border-radius:999px;background:#e8efeb}.portal-progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--pp-action-gradient)}.portal-project-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.65rem;color:var(--pp-muted);font-size:.7rem}.portal-progress-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:1.2rem 0 0;padding:0;list-style:none}.portal-progress-steps li{position:relative;display:grid;gap:.35rem;place-items:center;color:#a8b2ba;text-align:center}.portal-progress-steps li:before{position:absolute;z-index:0;top:.75rem;left:-50%;width:100%;height:2px;background:#dfe5e9;content:""}.portal-progress-steps li:first-child:before{display:none}.portal-progress-steps li>span{position:relative;z-index:1;display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;background:#e8edf1;color:#8d99a3;font-size:.68rem}.portal-progress-steps li.complete>span{background:var(--pp-aqua);color:#ffffff}.portal-progress-steps li.current>span{outline:3px solid rgba(255,127,145,.16);background:var(--pp-action);color:#ffffff}.portal-progress-steps li.complete:before,.portal-progress-steps li.current:before{background:var(--pp-aqua)}.portal-progress-steps small{color:inherit;font-size:.66rem;font-weight:600}.portal-progress-steps li.complete,.portal-progress-steps li.current{color:var(--pp-ink)}.portal-task-panel>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--pp-line)}.portal-task-panel>header>span{color:var(--pp-muted);font-size:.7rem}.portal-task-list{display:grid}.portal-task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.7rem;padding:.65rem 0;border-bottom:1px solid var(--pp-line)}.portal-task-row:last-child{border-bottom:0}.portal-task-check{display:grid;width:1rem;height:1rem;place-items:center;border:1px solid #cbd4da;border-radius:50%;color:#ffffff;font-size:.58rem}.portal-task-check.complete{border-color:var(--pp-aqua);background:var(--pp-aqua)}.portal-task-row small,.portal-task-row strong{display:block}.portal-task-row strong{color:var(--pp-ink);font-size:.78rem}.portal-task-row small{margin-top:.12rem;color:var(--pp-muted);font-size:.66rem}.portal-task-row>a{color:var(--pp-ink);font-size:.7rem;font-weight:600}.portal-task-row>a:hover{text-decoration:none}.portal-task-row>a span{margin-left:.3rem}.portal-billing-card,.portal-files-card{margin-top:1rem}.portal-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width:720px){.portal-grid.two{grid-template-columns:1fr 1fr}}.portal-card{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:16px;padding:1.6rem;box-shadow:0 12px 28px rgba(61,85,103,.05)}.portal-card h2{font-size:1.15rem;margin-bottom:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portal-card .portal-card-body{font-size:.95rem}.portal-card p+p{margin-top:.6rem}.portal-dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.9rem;margin-top:.5rem}.portal-dl dt{color:var(--pp-muted)}.portal-dl dd{color:var(--pp-ink);text-align:right}.portal-card-actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem}.portal-content-items{display:grid;gap:.85rem}.portal-content-item{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 0;border-top:1px solid var(--pp-line)}.portal-content-item:first-child{border-top:0;padding-top:0}.portal-content-item h3{margin:.1rem 0 .25rem;font-size:1rem}.portal-content-item p{font-size:.9rem}.portal-content-kicker{color:var(--pp-muted);font-size:.7rem!important;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.portal-content-actions{display:flex;flex:none;align-items:center;gap:.65rem}.portal-content-due{display:inline-block;margin-top:.45rem;color:var(--pp-muted);font-size:.72rem;font-weight:600}.portal-milestone-panel{padding-bottom:.6rem}.portal-milestone-list{display:grid}.portal-milestone-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--pp-line)}.portal-milestone-row:last-child{border-bottom:0}.portal-milestone-marker{display:grid;width:1.35rem;height:1.35rem;place-items:center;border:2px solid #cbd6dc;border-radius:50%;background:#ffffff;color:#ffffff;font-size:.65rem;font-weight:700}.portal-milestone-marker.in_progress{border-color:var(--pp-action);box-shadow:0 0 0 4px rgba(38,186,173,.12)}.portal-milestone-marker.complete{border-color:var(--pp-action);background:var(--pp-action)}.portal-milestone-row strong{display:block;color:var(--pp-ink);font-size:.82rem}.portal-milestone-row p{margin-top:.18rem;color:var(--pp-muted);font-size:.72rem;white-space:pre-line}.portal-milestone-date{display:grid;justify-items:end;gap:.3rem}.portal-milestone-date small{color:var(--pp-muted);font-size:.68rem}@media (max-width:560px){.portal-content-item{align-items:flex-start;flex-direction:column}.portal-milestone-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.portal-milestone-date{grid-column:2;justify-items:start}}.portal-invite-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.85rem 0;border-top:1px solid var(--pp-line)}.portal-invite-link p{margin:0}.portal-invite-link code{color:var(--pp-ink);font-size:.8rem}.portal-admin-content-list{display:grid;gap:.35rem;margin:.9rem 0 0;padding:0;list-style:none}.portal-admin-content-list li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--pp-line);font-size:.88rem}@media (max-width:560px){.portal-admin-content-list li,.portal-invite-link{align-items:flex-start;flex-direction:column}}.portal-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .7rem;border:1px solid transparent;white-space:nowrap}.portal-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.portal-badge.ok{color:#df5d72;background:#eef9f5;border-color:rgba(255,127,145,.34)}.portal-badge.pending{color:#6b6470;background:#fffbed;border-color:rgba(239,209,153,.8)}.portal-badge.neutral{color:#667068;background:#f1f2ee;border-color:#e1e3dc}.portal-badge.off{color:#8a8f98;background:#f2f3f5;border-color:#e4e6ea}.portal-notice{border:1px dashed var(--pp-line);border-radius:12px;padding:1.1rem 1.2rem;background:#ffffff;color:var(--pp-body);font-size:.9rem}.portal-notice strong{color:var(--pp-ink)}.portal-placeholder{color:var(--pp-muted);font-size:.9rem;font-style:italic}.portal-agreement{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:16px;padding:2rem 2.2rem}.portal-agreement-doc{max-height:460px;overflow-y:auto;padding:1.4rem 1.6rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;margin:1.25rem 0;font-size:.92rem;color:var(--pp-body)}.portal-agreement-doc h1{font-size:1.5rem;margin:0 0 .8rem}.portal-agreement-doc h2{font-size:1.1rem;margin:1.4rem 0 .5rem}.portal-agreement-doc p{margin:.6rem 0}.portal-agreement-doc ol,.portal-agreement-doc ul{margin:.6rem 0 .6rem 1.2rem}.portal-agreement-doc blockquote{border-left:3px solid var(--pp-aqua);margin:.9rem 0;padding:.3rem 0 .3rem 1rem;color:var(--pp-muted)}.portal-sign{border-top:1px solid var(--pp-line);padding-top:1.4rem;margin-top:.5rem}.portal-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;margin:.9rem 0}.portal-check input{margin-top:.25rem;width:16px;height:16px;accent-color:var(--pp-accent)}.portal-meta{font-size:.8rem;color:var(--pp-muted);margin-top:.75rem}.portal-signed-record{background:#ffffff;border:1px solid rgba(91,190,212,.42);border-radius:12px;padding:1.2rem 1.4rem;margin-top:1.25rem}.portal-price{display:flex;align-items:baseline;gap:.3rem;margin:.4rem 0 .9rem}.portal-price .amount{font-family:var(--pp-display);font-size:1.8rem;color:var(--pp-ink)}.portal-price .interval{color:var(--pp-muted);font-size:.9rem}.portal-admin-main{max-width:none}.portal-admin-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:0;justify-content:space-between;gap:2rem;padding:1.35rem 1.5rem;border:1px solid var(--pp-line);border-radius:16px;background:rgba(255,255,255,.88);color:var(--pp-body);box-shadow:0 6px 22px rgba(29,29,31,.045)}.portal-admin-hero:before{position:absolute;z-index:-1;inset:0;background:url(/images/hero-poster.jpg) center 52%/cover no-repeat;content:"";opacity:1;-webkit-mask-image:linear-gradient(90deg,transparent,transparent 34%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.94));mask-image:linear-gradient(90deg,transparent,transparent 34%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.94))}.portal-admin-hero h1{max-width:670px;margin:.25rem 0 .35rem;color:var(--pp-ink);font-family:var(--pp-sans);font-size:clamp(1.55rem,3vw,2rem);font-weight:700;line-height:1.15}.portal-admin-hero>div>p:last-child{max-width:560px;color:var(--pp-muted);font-size:.84rem}.portal-kicker{margin:0;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.portal-admin-hero .portal-kicker,.portal-kicker{color:var(--pp-accent)}.portal-integrations{position:relative}.portal-integrations>summary{display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;color:var(--pp-accent);font-size:.85rem;font-weight:500}.portal-integrations>summary::-webkit-details-marker{display:none}.portal-integrations-popover{position:absolute;z-index:20;top:calc(100% + .8rem);right:0;width:min(390px,calc(100vw - 3rem));padding:1.25rem;border:1px solid var(--pp-line);border-radius:18px;background:#fff;color:var(--pp-body);box-shadow:0 22px 50px rgba(29,29,31,.16)}.portal-integrations-popover h2{margin:.15rem 0;font-size:1.35rem}.portal-integrations-popover>div>p:last-child{color:var(--pp-muted);font-size:.85rem}.portal-admin-flash{margin-top:1.25rem;padding:.95rem 1.1rem;border:1px solid rgba(239,209,153,.75);border-radius:14px;background:#fffdf4;color:var(--pp-ink);font-size:.9rem}.portal-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0 2.5rem;overflow:visible;border:0;border-radius:0;background:transparent}.portal-admin-stat{position:relative;overflow:hidden;padding:1rem 1.15rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.045)}.portal-admin-stat:before{position:absolute;inset:0 0 auto;height:3px;background:var(--pp-action-gradient);content:""}.portal-admin-stat small,.portal-admin-stat>span{display:block;color:var(--pp-muted);font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.portal-admin-stat strong{display:block;margin:.25rem 0 .1rem;color:var(--pp-ink);font-family:var(--pp-display);font-size:1.7rem;font-weight:400;line-height:1}.portal-admin-stat small{letter-spacing:0;text-transform:none;font-weight:400}.portal-admin-section{margin-top:2.5rem;container-name:portal-workspaces;container-type:inline-size}.portal-admin-dashboard-section{scroll-margin-top:5.25rem}.portal-admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.portal-admin-summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-admin-summary-card{padding:1rem 1.1rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.04)}.portal-admin-summary-card small,.portal-admin-summary-card>span{display:block;color:var(--pp-muted);font-size:.68rem}.portal-admin-summary-card>span{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-admin-summary-card strong{display:block;margin:.35rem 0 .15rem;color:var(--pp-ink);font-size:1.35rem;line-height:1.1}.portal-admin-document-overview,.portal-admin-ledger{overflow:hidden;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.04)}.portal-admin-ledger-head,.portal-admin-ledger-row{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(112px,.62fr)) minmax(110px,auto);align-items:center;gap:1rem}.portal-admin-ledger-head{padding:.65rem 1rem;border-bottom:1px solid var(--pp-line);background:#f4f7f9;color:var(--pp-muted);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-admin-ledger-row{padding:.85rem 1rem;border-bottom:1px solid var(--pp-line)}.portal-admin-ledger-row:last-child{border-bottom:0}.portal-admin-ledger-project{display:flex;min-width:0;align-items:center;gap:.7rem}.portal-admin-ledger-logo{display:grid;width:2.15rem;height:2.15rem;flex:none;place-items:center;overflow:hidden;border:1px solid var(--pp-line);border-radius:7px;background:var(--pp-tint);color:var(--pp-ink);font-size:.72rem;font-weight:700}.portal-admin-ledger-logo img{width:100%;height:100%;object-fit:contain}.portal-admin-ledger-project span,.portal-admin-ledger-project strong{display:block}.portal-admin-ledger-project strong{overflow:hidden;color:var(--pp-ink);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.portal-admin-ledger-money>span,.portal-admin-ledger-project span{margin-top:.12rem;color:var(--pp-muted);font-size:.65rem;text-transform:capitalize}.portal-admin-ledger-money>span{display:none}.portal-admin-ledger-money strong{color:var(--pp-ink);font-size:.82rem}.portal-admin-ledger-link{justify-self:end;color:var(--pp-accent);font-size:.68rem;font-weight:700;white-space:nowrap}.portal-admin-ledger-empty{padding:2rem 1rem;color:var(--pp-muted);font-size:.82rem;text-align:center}.portal-admin-document-overview-row{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(150px,auto) auto;align-items:center;gap:.85rem;padding:.82rem 1rem;border-bottom:1px solid var(--pp-line)}.portal-admin-document-overview-row:last-child{border-bottom:0}.portal-admin-document-icon{display:grid;width:2rem;height:2rem;place-items:center;border-radius:7px;background:var(--pp-tint);color:var(--pp-accent);font-size:.9rem}.portal-admin-document-meta span,.portal-admin-document-meta strong,.portal-admin-document-overview-row>div:nth-child(2) span,.portal-admin-document-overview-row>div:nth-child(2) strong{display:block}.portal-admin-document-overview-row>div:nth-child(2) strong{color:var(--pp-ink);font-size:.78rem}.portal-admin-document-meta span,.portal-admin-document-overview-row>div:nth-child(2) span{margin-top:.12rem;color:var(--pp-muted);font-size:.64rem}.portal-admin-document-meta{text-align:right}.portal-admin-document-meta span{text-transform:capitalize}.portal-admin-document-meta strong{margin-top:.16rem;color:var(--pp-ink);font-size:.68rem;text-transform:capitalize}.portal-section-heading{display:flex;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}.portal-section-heading h2{margin:.2rem 0 0;font-size:clamp(1.6rem,3vw,2.25rem)}.portal-section-heading>p{max-width:320px;color:var(--pp-muted);font-size:.9rem;text-align:right}.portal-client-grid{display:grid;grid-template-columns:1fr;gap:.7rem}.portal-client-card{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(225px,1fr) minmax(285px,1.1fr) 17.5rem;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.045)}.portal-client-card-head{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem}.portal-client-mark{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid rgba(255,127,145,.2);border-radius:8px;background:var(--pp-tint);color:var(--pp-ink);font-family:var(--pp-display);font-size:1.05rem}.portal-client-mark img{width:100%;height:100%;object-fit:contain}.portal-client-card-copy{min-width:0}.portal-client-title-line{display:flex;min-width:0;align-items:center;gap:.55rem}.portal-client-card h3{overflow:hidden;min-width:0;margin:0;font-family:var(--pp-sans);font-size:.86rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.portal-client-card h3 a,.portal-client-card h3 a:hover{color:var(--pp-ink);text-decoration:none}.portal-client-title-line .portal-badge{flex:none;padding:.24rem .45rem;font-size:.56rem}.portal-client-card-head p{overflow:hidden;margin:.05rem 0 0;color:var(--pp-muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.portal-client-metrics{display:grid;min-width:0;grid-template-columns:minmax(0,1.3fr) minmax(68px,.65fr) minmax(82px,.75fr);gap:.9rem;padding:0 1rem;border-inline:1px solid var(--pp-line)}.portal-client-metrics dt{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-client-metrics dd{min-width:0;margin:.2rem 0 0;color:var(--pp-ink);font-size:.7rem;line-height:1.35}.portal-client-metrics dd span,.portal-client-metrics dd strong{display:block}.portal-client-metrics dd strong{color:var(--pp-ink);font-size:.85rem;font-weight:700}.portal-client-metrics dd span{overflow:hidden;margin-top:.08rem;color:var(--pp-muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.portal-client-card-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:.5rem}.portal .portal-client-card-actions .portal-btn,.portal .portal-client-card-actions .portal-client-manage-trigger{width:8.5rem;height:2.5rem;padding:.52rem .68rem;font-family:var(--pp-sans);font-size:.68rem;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}.portal .portal-client-card-actions .portal-btn-secondary{border-color:transparent;background:var(--pp-action-gradient);box-shadow:0 8px 20px rgba(255,127,145,.2)}.portal .portal-client-card-actions .portal-btn-secondary:hover{background:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);box-shadow:0 10px 24px rgba(255,127,145,.28)}.portal-client-manage-trigger{display:inline-flex;align-items:center;justify-content:center;width:10rem;height:2.75rem;padding:.58rem .8rem;border:1px solid transparent;border-radius:9px;background:var(--pp-action-gradient);cursor:pointer;color:#ffffff;font-family:var(--pp-sans);font-size:.78rem;font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 8px 20px rgba(255,127,145,.2)}.portal a.portal-client-manage-trigger,.portal a.portal-client-manage-trigger:hover,.portal a.portal-client-manage-trigger:visited{color:#ffffff;text-decoration:none}.portal-client-manage-trigger:hover{background:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);color:#ffffff;box-shadow:0 10px 24px rgba(255,127,145,.28)}.portal-logo-manager{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:1.1rem;margin-bottom:1.25rem;padding:1rem;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-tint)}.portal-logo-preview{display:grid;width:108px;height:74px;place-items:center;padding:.55rem;border:1px solid rgba(255,127,145,.2);border-radius:9px;background:#ffffff;color:var(--pp-ink);font-family:var(--pp-display);font-size:1.35rem}.portal-logo-preview img{width:100%;height:100%;object-fit:contain}.portal-logo-manager strong{color:var(--pp-ink);font-size:.83rem}.portal-logo-manager p{margin:.1rem 0 .65rem;color:var(--pp-muted);font-size:.72rem}.portal-logo-actions,.portal-logo-actions>form:first-child{display:flex;align-items:center;gap:.55rem}.portal-file-input{width:min(100%,260px);color:var(--pp-muted);font-family:var(--pp-sans);font-size:.72rem}.portal-file-input::file-selector-button{margin-right:.55rem;padding:.48rem .68rem;border:1px solid var(--pp-line);border-radius:7px;background:#ffffff;color:var(--pp-ink);cursor:pointer;font-family:var(--pp-sans);font-size:.72rem;font-weight:600}.portal-logo-actions .portal-btn{padding:.52rem .75rem;font-size:.72rem;white-space:nowrap}.portal-logo-remove{padding:.45rem .25rem;border:0;background:transparent;color:var(--pp-muted);cursor:pointer;font-family:var(--pp-sans);font-size:.72rem;text-decoration:underline;text-underline-offset:2px}@container portal-workspaces (max-width: 860px){.portal-client-card{grid-template-columns:minmax(0,1fr) auto}.portal-client-metrics{grid-column:1/-1;grid-row:2;padding:.9rem 0 0;border-top:1px solid var(--pp-line);border-inline:0}.portal-client-card-actions{grid-column:2;grid-row:1}}@container portal-workspaces (max-width: 700px){.portal-client-card{grid-template-columns:minmax(0,1fr)}.portal-client-metrics{grid-column:1;grid-row:2;grid-template-columns:1fr 1fr}.portal-client-metrics>div:first-child{grid-column:1/-1}.portal-client-card-actions{display:grid;width:100%;grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr))}.portal .portal-client-card-actions .portal-btn,.portal .portal-client-card-actions .portal-client-manage-trigger{width:100%}}.portal-workspace-modal{width:min(1240px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;border:1px solid var(--pp-line);border-radius:16px;background:#ffffff;color:var(--pp-body);box-shadow:0 28px 80px rgba(42,60,73,.28)}.portal-workspace-modal::backdrop{background:rgba(34,48,59,.55);backdrop-filter:blur(4px)}.portal-workspace-modal-shell{display:flex;max-height:calc(100dvh - 2rem);flex-direction:column}.portal-workspace-modal-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;border-bottom:1px solid var(--pp-line)}.portal-workspace-modal-head h2{margin:.12rem 0 0;font-size:1.65rem;line-height:1.1}.portal-workspace-modal-head>div>p:last-child:not(.portal-kicker){margin-top:.3rem;color:var(--pp-muted);font-size:.82rem}.portal-workspace-modal-close{display:grid;width:2.25rem;height:2.25rem;flex:none;place-items:center;padding:0;border:1px solid var(--pp-line);border-radius:50%;background:#ffffff;color:var(--pp-muted);cursor:pointer;font-family:var(--pp-sans);font-size:1.45rem;line-height:1}.portal-workspace-modal-close:hover{background:var(--pp-tint);color:var(--pp-ink)}.portal-workspace-modal-layout{display:grid;flex:1 1 auto;min-height:min(570px,calc(100dvh - 7.5rem));overflow:hidden;grid-template-columns:205px minmax(0,1fr)}.portal-workspace-tabs{display:flex;gap:.35rem;padding:1.25rem .85rem;border-right:1px solid var(--pp-line);background:#f4f7f9;flex-direction:column}.portal-workspace-tabs button{width:100%;padding:.68rem .75rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--pp-body);cursor:pointer;font-family:var(--pp-sans);font-size:.82rem;font-weight:600;text-align:left}.portal-workspace-tabs button:hover{color:var(--pp-ink)}.portal-workspace-tabs button.active{border-color:var(--pp-charcoal);background:var(--pp-charcoal);color:#ffffff;box-shadow:0 5px 14px rgba(61,71,77,.14)}.portal-workspace-modal-body{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:1.5rem 1.75rem 2rem}.portal-workspace-modal-body [hidden]{display:none}.portal-phase-admin-list{display:grid;gap:.75rem}.portal-phase-admin{border:1px solid var(--pp-line);border-radius:12px;background:#ffffff}.portal-phase-admin>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;list-style:none}.portal-phase-admin>summary::-webkit-details-marker{display:none}.portal-phase-admin>summary span:first-child{min-width:0}.portal-phase-admin>summary strong{display:block;overflow:hidden;color:var(--pp-ink);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.portal-phase-admin>summary small{display:block;margin-top:.1rem;color:var(--pp-muted);font-size:.68rem;text-transform:capitalize}.portal-phase-settings,.portal-project-settings{margin:0;padding:.9rem;border:1px solid var(--pp-line);border-radius:10px;background:#fbfcfc}.portal-add-phase>.portal-btn,.portal-add-project>.portal-btn,.portal-add-record>.portal-btn,.portal-phase-settings>.portal-btn,.portal-project-settings>.portal-btn{width:max-content}.portal-phase-admin{border-color:#d8e2e5;content-visibility:auto;contain-intrinsic-size:auto 640px}.portal-phase-admin>summary{padding:.75rem .9rem}.portal-phase-admin[open]>summary{border-bottom:1px solid var(--pp-line)}.portal-phase-admin-body{display:grid;gap:.85rem;padding:.85rem;background:#f7f9fa}.portal-phase-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.7rem}.portal-phase-module{min-width:0;padding:.8rem;border:1px solid var(--pp-line);border-radius:10px;background:#ffffff}.portal-phase-module-head{display:flex;align-items:end;justify-content:space-between;gap:.6rem;margin-bottom:.65rem}.portal-phase-module-head span{display:block;color:var(--pp-muted);font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.portal-phase-module-head h4{margin:.08rem 0 0;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.82rem}.portal-phase-module-head>strong{color:var(--pp-muted);font-size:.72rem}.portal-billing-admin-row,.portal-mini-editor{display:grid;gap:.4rem;margin-bottom:.5rem;padding:.6rem;border:1px solid var(--pp-line);border-radius:8px;background:#fbfcfc}.portal-billing-admin-row input,.portal-billing-admin-row select,.portal-mini-editor input,.portal-mini-editor select,.portal-mini-editor textarea{width:100%;min-width:0;padding:.46rem .52rem;border:1px solid var(--pp-line);border-radius:6px;background:#ffffff;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.7rem}.portal-billing-admin-row>input:first-of-type,.portal-mini-editor>input:first-of-type{font-weight:700}.portal-mini-editor-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.35rem}.portal-billing-admin-row .portal-btn,.portal-mini-editor-row .portal-btn{min-height:32px;padding:.42rem .55rem;font-size:.68rem}.portal-billing-admin-row{grid-template-columns:minmax(0,1.4fr) .6fr .8fr auto;align-items:center}.portal-add-phase,.portal-add-project,.portal-add-record{gap:.5rem;margin-top:.65rem;padding:.75rem;border:1px dashed rgba(98,135,162,.5);border-radius:9px;background:#f8fafb}.portal-add-phase>strong,.portal-add-record>strong{color:var(--pp-ink);font-size:.75rem}.portal-add-phase input,.portal-add-phase textarea,.portal-add-record input,.portal-add-record select,.portal-add-record textarea{font-size:.72rem}.portal-inline-check{display:flex!important;align-items:flex-start;gap:.45rem;color:var(--pp-body)!important;font-size:.68rem!important;font-weight:500!important;letter-spacing:0!important;line-height:1.35;text-transform:none!important}.portal-inline-check input{width:auto!important;margin-top:.12rem}.portal-admin-document-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:.45rem;padding:.58rem;border:1px solid var(--pp-line);border-radius:8px}.portal-admin-document-row small,.portal-admin-document-row strong{display:block}.portal-admin-document-row strong{color:var(--pp-ink);font-size:.7rem}.portal-admin-document-row small{color:var(--pp-muted);font-size:.6rem;text-transform:capitalize}.portal-admin-document-row .portal-badge{padding:.2rem .4rem;font-size:.56rem}.portal-add-phase,.portal-add-project{margin-top:0}@media (max-width:1120px){.portal-phase-columns{grid-template-columns:1fr 1fr}.portal-phase-module:last-child{grid-column:1/-1}}@media (max-width:760px){.portal-phase-columns{grid-template-columns:1fr}.portal-phase-module:last-child{grid-column:auto}.portal-billing-admin-row{grid-template-columns:1fr 1fr}}.portal-timeline-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.7rem;padding:1rem;border:1px solid var(--pp-line);border-radius:11px;background:#f8fafb}.portal-admin-milestone label,.portal-timeline-form label{display:block;margin-bottom:.25rem;color:var(--pp-muted);font-size:.68rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.portal-admin-milestone input,.portal-admin-milestone select,.portal-admin-milestone textarea,.portal-timeline-form input{width:100%;min-width:0;padding:.58rem .7rem;border:1px solid var(--pp-line);border-radius:8px;background:#ffffff;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.82rem}.portal-admin-milestones{display:grid;gap:.65rem;margin-top:1rem}.portal-admin-milestone{display:grid;gap:.55rem;padding:.9rem;border:1px solid var(--pp-line);border-radius:11px;background:#ffffff}.portal-admin-milestone-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.portal-admin-milestone-head input{border-color:transparent;padding-left:0;font-size:.9rem;font-weight:700}.portal-admin-milestone-head span{color:var(--pp-muted);font-size:.7rem;white-space:nowrap}.portal-admin-milestone-controls{display:grid;grid-template-columns:minmax(135px,1fr) minmax(125px,.8fr) auto auto;align-items:center;gap:.5rem}.portal-admin-milestone-controls .portal-btn,.portal-admin-milestone-controls .portal-logo-remove{min-height:38px;padding:.55rem .72rem;font-size:.75rem}.portal-add-milestone{margin-top:1rem;padding:1rem;border:1px dashed rgba(98,135,162,.48);border-radius:11px;background:#f8fafb}.portal-add-milestone h3{margin:0 0 .1rem;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.9rem;font-weight:700}.portal-form-submit-row{display:flex;align-items:end;justify-content:space-between;gap:.75rem}.portal-form-submit-row>div{width:min(220px,100%)}.portal-drawer-label{margin:0 0 1rem;color:var(--pp-ink);font-family:var(--pp-display);font-size:1.3rem}.portal-new-client-modal{width:min(820px,calc(100vw - 2rem))}.portal-new-client-modal-body{overflow-y:auto;overscroll-behavior:contain;padding:1.4rem 1.5rem 1.75rem}.portal-new-client-form{gap:1.2rem;margin:0}.portal-form-section{display:grid;gap:.7rem;padding-bottom:1.2rem;border-bottom:1px solid var(--pp-line)}.portal-form-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.portal-form-section-head h3{margin:0;font-family:var(--pp-sans);font-size:.92rem;font-weight:700}.portal-form-section-head p{color:var(--pp-muted);font-size:.75rem}.portal-form-actions{display:flex;justify-content:flex-end}.portal-invite-form>div,.portal-status-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.portal-workspace-modal-body .portal-invite-form,.portal-workspace-modal-body .portal-status-form{padding:1rem;border:1px solid var(--pp-line);border-radius:10px;background:#ffffff}.portal-invite-form label,.portal-status-form label{display:block;margin-bottom:.35rem;color:var(--pp-muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-status-form label{grid-column:1/-1}.portal-invite-form input,.portal-status-form select{min-width:0;padding:.65rem .75rem;border:1px solid var(--pp-line);border-radius:9px;background:#fff;color:var(--pp-ink);font:inherit;font-size:.86rem}.portal-invite-form .portal-btn,.portal-status-form .portal-btn{padding:.65rem .85rem;font-size:.78rem}.portal-invite-form{margin-top:.75rem}.portal-member-list{margin:.65rem 0 0;color:var(--pp-muted);font-size:.77rem}.portal-invite-link{margin-top:.9rem;padding-top:.9rem}.portal-invite-link .portal-btn{padding:.55rem .8rem;font-size:.78rem}.portal-admin-empty{padding:3.5rem 1.5rem;border:1px dashed rgba(98,135,162,.45);border-radius:18px;background:#ffffff;text-align:center}.portal-admin-empty h2{margin:.35rem 0 1.1rem;font-size:1.7rem}.portal-project-page-hero,.portal-workspace-page-hero{align-items:center}.portal-workspace-manage-hero{z-index:20;overflow:visible}.portal-workspace-manage-hero:before{border-radius:inherit}.portal-workspace-page-title{display:flex;min-width:0;align-items:center;gap:1rem}.portal-workspace-page-logo{display:grid;width:3.5rem;height:3.5rem;flex:none;place-items:center;overflow:hidden;border:1px solid var(--pp-line);border-radius:11px;background:#ffffff;color:var(--pp-ink);font-family:var(--pp-display);font-size:1.35rem}.portal-workspace-page-logo img{width:100%;height:100%;object-fit:contain}.portal-workspace-header-actions{display:flex;flex:none;align-items:center;gap:.45rem}.portal-workspace-header-popout{position:relative}.portal a.portal-workspace-header-preview,.portal a.portal-workspace-header-preview:visited,.portal-workspace-header-popout>summary{display:inline-flex;width:8.25rem;height:2.35rem;align-items:center;justify-content:center;padding:.5rem .7rem;border:1px solid var(--pp-line);border-radius:8px;cursor:pointer;font-family:var(--pp-sans);font-size:.68rem;font-weight:700;line-height:1;list-style:none;text-align:center;text-decoration:none;white-space:nowrap}.portal-workspace-header-popout>summary{background:rgba(255,255,255,.94);color:var(--pp-ink)}.portal-workspace-header-popout>summary::-webkit-details-marker{display:none}.portal-workspace-header-popout>summary:hover{border-color:var(--pp-charcoal)}.portal-workspace-header-popout[open]>summary{border-color:var(--pp-charcoal);background:var(--pp-charcoal);color:#ffffff}.portal a.portal-workspace-header-preview,.portal a.portal-workspace-header-preview:hover,.portal a.portal-workspace-header-preview:visited{border-color:transparent;background:linear-gradient(120deg,#ff9aa7,#ff7f91 55%,#eb6276);color:#ffffff}.portal-workspace-header-popout-panel{position:absolute;z-index:50;top:calc(100% + .55rem);right:0;width:min(570px,calc(100vw - 3rem));max-height:min(72vh,650px);overflow-y:auto;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;color:var(--pp-body);box-shadow:0 24px 60px rgba(42,60,73,.22)}.portal-workspace-header-popout-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--pp-line);background:#f8fafb}.portal-workspace-header-popout-panel h2{margin:.15rem 0 0;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.95rem}.portal-workspace-header-popout-panel>header>p{max-width:270px;margin:0;color:var(--pp-muted);font-size:.64rem;line-height:1.4;text-align:right}.portal-workspace-header-popout-body{padding:1rem}.portal-workspace-header-popout-body .portal-manage-logo{grid-template-columns:76px minmax(0,1fr);gap:.8rem;padding:.8rem}.portal-workspace-header-popout-body .portal-logo-preview{width:76px;height:56px}.portal-workspace-project-list{display:grid;gap:.75rem}.portal-workspace-project-row{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(360px,1fr) auto;align-items:center;gap:1.2rem;padding:1rem 1.1rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.04)}.portal-workspace-project-row h3{margin:.45rem 0 .18rem;color:var(--pp-ink);font-size:1rem}.portal-workspace-project-row>div>p{margin:0;color:var(--pp-muted);font-size:.72rem;line-height:1.45}.portal-workspace-project-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.portal-workspace-project-row dt{color:var(--pp-muted);font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portal-workspace-project-row dd{margin:.25rem 0 0;color:var(--pp-ink);font-size:.72rem;line-height:1.35}.portal-workspace-project-row>a{color:var(--pp-accent);font-size:.72rem;font-weight:700;white-space:nowrap}.portal-project-back{display:inline-flex;margin-bottom:.75rem;color:var(--pp-muted);font-size:.72rem;font-weight:600}.portal-project-title-row{display:flex;max-width:760px;align-items:center;gap:.7rem}.portal-project-title-row h1{min-width:0}.portal-project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 2.5rem}.portal-phase-financials>div,.portal-project-summary-grid>div{padding:.9rem 1rem;border:1px solid var(--pp-line);border-radius:11px;background:#ffffff;box-shadow:0 5px 18px rgba(29,29,31,.04)}.portal-phase-financials span,.portal-project-summary-grid small,.portal-project-summary-grid span{display:block;color:var(--pp-muted);font-size:.65rem}.portal-phase-financials span,.portal-project-summary-grid span{font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portal-project-summary-grid strong{display:block;margin:.35rem 0 .12rem;color:var(--pp-ink);font-size:1.05rem}.portal-project-timeline{margin-bottom:2.5rem}.portal-project-timeline>ol{position:relative;overflow-x:auto;display:grid;gap:0;margin:0;padding:1.2rem .85rem;border:1px solid var(--pp-line);border-radius:12px;background:#ffffff;list-style:none;box-shadow:0 5px 18px rgba(29,29,31,.04)}.portal-project-timeline>ol:before{position:absolute;top:2.05rem;right:2.2rem;left:2.2rem;height:2px;background:var(--pp-line);content:""}.portal-project-timeline li{position:relative;z-index:1;min-width:180px;padding:0 .55rem}.portal-project-timeline li a{display:flex;align-items:flex-start;color:var(--pp-body);flex-direction:column}.portal-project-timeline li a:hover{color:var(--pp-ink);text-decoration:none}.portal-project-timeline-marker{display:grid;width:1.75rem;height:1.75rem;place-items:center;margin-bottom:.65rem;border:2px solid #ffffff;border-radius:50%;background:var(--pp-action-gradient);color:#ffffff;font-size:.58rem;font-weight:700;box-shadow:0 0 0 1px rgba(255,127,145,.22)}.portal-project-timeline li strong{color:var(--pp-ink);font-size:.75rem}.portal-project-timeline li small{margin-top:.18rem;color:var(--pp-muted);font-size:.61rem}.portal-project-phase-list{display:grid;gap:1rem}.portal-project-phase{overflow:hidden;scroll-margin-top:5.25rem;border:1px solid var(--pp-line);border-radius:14px;background:#ffffff;box-shadow:0 6px 22px rgba(29,29,31,.045)}.portal-project-phase-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.85rem;padding:1.15rem 1.2rem;border-bottom:1px solid var(--pp-line);background:#f8fafb}.portal-project-phase-number{display:grid;width:2.15rem;height:2.15rem;place-items:center;border-radius:8px;background:var(--pp-charcoal);color:#ffffff;font-size:.68rem;font-weight:700}.portal-project-phase-head h3{margin:.18rem 0 .2rem;color:var(--pp-ink);font-size:1rem}.portal-project-phase-head>div:nth-child(2)>p:last-child{max-width:680px;margin:0;color:var(--pp-muted);font-size:.72rem;line-height:1.45}.portal-project-phase-status{text-align:right}.portal-project-phase-status small{display:block;margin-top:.45rem;color:var(--pp-muted);font-size:.63rem}.portal-phase-financials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;padding:1rem 1.2rem 0}.portal-phase-financials>div{padding:.75rem .85rem;background:var(--pp-tint);box-shadow:none}.portal-phase-financials strong{display:block;margin-top:.28rem;color:var(--pp-ink);font-size:.9rem}.portal-project-phase-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem 1.2rem 1.2rem}.portal-project-phase-module{min-width:0;padding:.9rem;border:1px solid var(--pp-line);border-radius:10px;background:#ffffff}.portal-project-phase-module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;margin-bottom:.7rem;padding-bottom:.65rem;border-bottom:1px solid var(--pp-line)}.portal-project-phase-module-head small,.portal-project-phase-module-head span{display:block;color:var(--pp-muted);font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.portal-project-phase-module-head h4{margin:.2rem 0 0;color:var(--pp-ink);font-size:.78rem}.portal-project-billing-list,.portal-project-document-list,.portal-project-item-list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.portal-project-billing-list li,.portal-project-document-list li>a,.portal-project-document-list li>div,.portal-project-item-list li{display:flex;min-width:0;align-items:center;gap:.55rem;padding:.5rem .55rem;border-radius:7px;background:#f8fafb}.portal-project-billing-list li>div,.portal-project-document-list li>a>div,.portal-project-document-list li>div>div,.portal-project-item-list li>div{min-width:0;flex:1}.portal-project-billing-list small,.portal-project-billing-list strong,.portal-project-document-list small,.portal-project-document-list strong,.portal-project-item-list small,.portal-project-item-list strong{display:block}.portal-project-billing-list strong,.portal-project-document-list strong,.portal-project-item-list strong{overflow:hidden;color:var(--pp-ink);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.portal-project-billing-list small,.portal-project-document-list small,.portal-project-item-list small{margin-top:.1rem;color:var(--pp-muted);font-size:.58rem}.portal-project-item-check{width:.72rem;height:.72rem;flex:none;border:1px solid var(--pp-muted);border-radius:50%}.portal-project-item-check.complete{border-color:var(--pp-accent);background:var(--pp-accent);box-shadow:inset 0 0 0 2px #ffffff}.portal-project-item-file{flex:none;color:var(--pp-accent);font-size:.78rem}.portal-project-billing-list li{justify-content:space-between}.portal-project-billing-list li>span{color:var(--pp-ink);font-size:.68rem;font-weight:700;white-space:nowrap}.portal-project-document-list a{color:inherit}.portal-project-document-list a:hover{background:var(--pp-tint);text-decoration:none}.portal-project-document-list li>a>span:last-child,.portal-project-document-list li>div>span:last-child{margin-left:auto;color:var(--pp-muted)}.portal-project-empty-copy{margin:0;padding:.65rem 0;color:var(--pp-muted);font-size:.68rem;font-style:italic}.portal-workspace-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-workspace-files{margin-top:1rem}.portal-manage-module{overflow:hidden;min-width:0;border:1px solid var(--pp-line);border-radius:14px;background:#ffffff;box-shadow:0 6px 22px rgba(29,29,31,.045)}.portal-manage-module-wide{grid-column:1/-1}.portal-manage-module>header,.portal-manage-module>summary{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1rem 1.15rem;border-bottom:1px solid var(--pp-line);background:#f8fafb}.portal-manage-module>header h2,.portal-manage-module>summary h2{margin:.18rem 0 0;color:var(--pp-ink);font-size:1rem}.portal-manage-module>header>p{max-width:390px;margin:0;color:var(--pp-muted);font-size:.68rem;line-height:1.4;text-align:right}.portal-manage-projects{order:-1}.portal-manage-module-body{padding:1.1rem 1.15rem 1.2rem}.portal-manage-logo{margin:0 0 1rem;background:#f8fafb}.portal-manage-form{gap:.75rem;margin:0;padding:0;border:0;background:transparent}.portal-manage-form+.portal-manage-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--pp-line)}.portal-manage-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.portal-manage-inline-form .portal-btn{min-width:7.5rem}.portal-manage-content-list{margin-bottom:1rem}.portal-manage-add-project{margin-top:1rem;border:1px dashed rgba(98,135,162,.48);border-radius:10px;background:#f8fafb}.portal-manage-add-project>summary{padding:.8rem .9rem;cursor:pointer;color:var(--pp-accent);font-size:.72rem;font-weight:700;list-style:none}.portal-manage-add-project>summary::-webkit-details-marker{display:none}.portal-manage-add-project[open]>summary{border-bottom:1px solid var(--pp-line)}.portal-manage-add-project>form{padding:1rem}.portal-project-editor{display:grid;gap:1rem}.portal-project-editor-phases{margin-top:0}.portal-project-settings-inline{padding:0;border:0;background:transparent}.portal-project-editor-phase{scroll-margin-top:1rem}.portal-phase-settings-disclosure,.portal-workflow-section{overflow:hidden;border:1px solid var(--pp-line);border-radius:10px;background:#ffffff}.portal-phase-settings-disclosure>summary{display:flex;align-items:center;justify-content:space-between;padding:.72rem .9rem;cursor:pointer;color:var(--pp-ink);font-size:.74rem;font-weight:700;list-style:none}.portal-add-disclosure>summary::-webkit-details-marker,.portal-phase-settings-disclosure>summary::-webkit-details-marker,.portal-record-disclosure>summary::-webkit-details-marker{display:none}.portal-phase-settings-disclosure>summary span{color:var(--pp-muted);font-size:.66rem;font-weight:500}.portal-phase-settings-disclosure[open]>summary{border-bottom:1px solid var(--pp-line)}.portal-phase-settings-disclosure .portal-phase-settings{border:0;border-radius:0;background:#f8fafb}.portal-phase-workflow{display:grid;gap:.8rem}.portal-workflow-section .portal-phase-module-head{margin:0;padding:.8rem .95rem;border-bottom:1px solid var(--pp-line);background:#fbfcfc}.portal-workflow-section .portal-phase-module-head h4{font-size:.86rem}.portal-record-list{display:grid}.portal-record-disclosure{border-bottom:1px solid var(--pp-line)}.portal-record-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem .95rem;cursor:pointer;list-style:none}.portal-record-disclosure>summary:hover{background:#fbfcfc}.portal-record-disclosure[open]>summary{background:#f5f8f8}.portal-record-disclosure>summary>div:first-child{min-width:0}.portal-record-disclosure>summary small,.portal-record-disclosure>summary strong{display:block}.portal-record-disclosure>summary strong{overflow:hidden;color:var(--pp-ink);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.portal-record-disclosure>summary small{overflow:hidden;margin-top:.12rem;color:var(--pp-muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.portal-record-disclosure>summary>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.portal-record-disclosure>summary>div:last-child>strong{font-size:.72rem}.portal-record-disclosure>summary>div:last-child>small{margin:0;max-width:150px}.portal-record-disclosure>summary a,.portal-record-disclosure>summary b{color:var(--pp-accent);font-size:.64rem;font-weight:700;text-decoration:none}.portal-record-editor{gap:.65rem;margin:0;padding:1rem;border:0;border-top:1px solid var(--pp-line);border-radius:0;background:#f8fafb}.portal-record-editor label{display:block;margin-bottom:.3rem;color:var(--pp-muted);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.portal-add-disclosure>summary{padding:.7rem .95rem;cursor:pointer;color:var(--pp-accent);font-size:.68rem;font-weight:700;list-style:none}.portal-add-disclosure[open]>summary,.portal-record-empty{border-bottom:1px solid var(--pp-line)}.portal-record-empty{margin:0;padding:.85rem .95rem;color:var(--pp-muted);font-size:.7rem}.portal-add-phase-disclosure>form{margin:0;border:0;border-radius:0}.portal-admin-document-editor{display:grid;grid-template-columns:minmax(0,1fr) 7.25rem auto}.portal-admin-document-editor select{min-width:0;padding:.42rem .5rem;border:1px solid var(--pp-line);border-radius:6px;background:#ffffff;color:var(--pp-ink);font-family:var(--pp-sans);font-size:.66rem;text-transform:capitalize}.portal-admin-document-editor .portal-btn{min-height:32px;padding:.42rem .58rem;font-size:.66rem}.portal-admin-document-editor .portal-btn:disabled,.portal-admin-document-editor select:disabled{cursor:not-allowed;opacity:.55}@media (max-width:760px){.portal-admin-hero,.portal-section-heading{align-items:flex-start;flex-direction:column}.portal-section-heading>p{text-align:left}.portal-workspace-project-row{grid-template-columns:1fr}.portal-workspace-project-row dl{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-workspace-project-row>a{justify-self:start}.portal-phase-financials,.portal-project-summary-grid{grid-template-columns:1fr 1fr}.portal-project-phase-columns,.portal-record-disclosure>summary{grid-template-columns:1fr}.portal-record-disclosure>summary>div:last-child{justify-content:flex-start;flex-wrap:wrap}.portal-project-phase-head{grid-template-columns:auto minmax(0,1fr)}.portal-project-phase-status{grid-column:2;text-align:left}.portal-workspace-manage-grid{grid-template-columns:1fr}.portal-manage-module-wide{grid-column:1}.portal-workspace-header-actions{width:100%;flex-wrap:wrap}.portal-workspace-header-popout{flex:1 1 calc(50% - 0.25rem)}.portal a.portal-workspace-header-preview,.portal-workspace-header-popout>summary{width:100%}.portal a.portal-workspace-header-preview{flex:1 1 100%}.portal-workspace-header-popout-panel{position:fixed;top:5rem;right:1rem;left:1rem;width:auto;max-height:calc(100dvh - 6rem)}.portal-manage-module>header,.portal-manage-module>summary{align-items:flex-start;flex-direction:column;gap:.3rem}.portal-manage-module>header>p{text-align:left}.portal-admin-document-editor{grid-template-columns:minmax(0,1fr) auto}.portal-admin-document-editor>div{grid-column:1/-1}.portal-admin-summary-grid,.portal-admin-summary-grid.three{grid-template-columns:1fr 1fr}.portal-admin-ledger-head{display:none}.portal-admin-ledger-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.portal-admin-ledger-link,.portal-admin-ledger-project{grid-column:1/-1}.portal-admin-ledger-money>span{display:block}.portal-admin-ledger-link{justify-self:start}.portal-admin-document-overview-row{grid-template-columns:auto minmax(0,1fr) auto}.portal-admin-document-overview-row .portal-admin-ledger-link{grid-column:2/-1}.portal-client-card,.portal-client-grid{grid-template-columns:1fr}.portal-client-card{gap:1rem}.portal-client-metrics{grid-column:auto;grid-row:auto}.portal-client-card-actions{justify-content:flex-start}.portal-logo-manager{grid-template-columns:1fr}.portal-logo-actions,.portal-logo-actions>form:first-child{align-items:flex-start;flex-direction:column}.portal-client-welcome{align-items:flex-start}.portal-client-welcome-logo{width:110px;height:64px}.portal-workspace-modal{width:calc(100vw - 1rem);border-radius:16px}.portal-workspace-modal,.portal-workspace-modal-shell{max-height:calc(100dvh - 1rem)}.portal-workspace-modal-head{padding:1rem 1.1rem}.portal-workspace-modal-layout{min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.portal-workspace-tabs{overflow-x:auto;padding:.65rem .8rem;border-right:0;border-bottom:1px solid var(--pp-line);flex-direction:row}.portal-workspace-tabs button{width:auto;flex:none;white-space:nowrap}.portal-workspace-modal-body{padding:1.1rem 1rem 1.5rem}.portal-timeline-form{grid-template-columns:1fr 1fr}.portal-timeline-form .portal-btn{grid-column:1/-1;justify-self:start}.portal-admin-milestone-controls{grid-template-columns:1fr 1fr}.portal-new-client-modal-body{padding:1.1rem 1rem 1.4rem}.portal-form-section-head{align-items:flex-start;flex-direction:column;gap:.15rem}}@media (max-width:520px){.portal-admin-main{padding-inline:1rem}.portal-admin-hero{padding:1.5rem}.portal-admin-stats,.portal-admin-summary-grid,.portal-admin-summary-grid.three{grid-template-columns:1fr}.portal-workspace-page-title{align-items:flex-start}.portal-manage-inline-form,.portal-phase-financials,.portal-project-summary-grid,.portal-workspace-project-row dl{grid-template-columns:1fr}.portal-manage-inline-form .portal-btn{width:100%}.portal-admin-ledger-row{grid-template-columns:1fr}.portal-admin-ledger-link,.portal-admin-ledger-money,.portal-admin-ledger-project{grid-column:1}.portal-admin-document-overview-row{grid-template-columns:auto minmax(0,1fr)}.portal-admin-document-meta{grid-column:2;text-align:left}.portal-admin-document-overview-row .portal-admin-ledger-link{grid-column:2}.portal-client-metrics{grid-template-columns:1fr 1fr}.portal-client-metrics>div:first-child{grid-column:1/-1}.portal-admin-milestone-controls,.portal-timeline-form{grid-template-columns:1fr}.portal-form-submit-row{align-items:stretch;flex-direction:column}.portal-form-submit-row>div{width:100%}}.portal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.5rem}.portal-table td,.portal-table th{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--pp-line)}.portal-table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pp-muted);font-weight:600}.portal-fieldset{display:grid;gap:.7rem;margin-top:.35rem}.portal-fieldset label{font-size:.68rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:var(--pp-muted);display:block;margin-bottom:.22rem}.portal-fieldset input,.portal-fieldset select,.portal-fieldset textarea{width:100%;padding:.58rem .7rem;border:1px solid var(--pp-line);border-radius:8px;font-size:.84rem;font-family:var(--pp-sans);color:var(--pp-ink);background:#fff}.portal-row{display:grid;gap:.65rem}@media (min-width:640px){.portal-row.two{grid-template-columns:1fr 1fr}.portal-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-row-wide-right{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)}}.portal .portal-project-danger{margin-top:1.5rem;border:1px solid rgba(148,45,45,.18);border-radius:16px;background:rgba(255,255,255,.72)}.portal .portal-project-danger>summary{padding:.9rem 1rem;color:#85342f;font-size:.8rem;font-weight:700;cursor:pointer}.portal .portal-project-danger-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:1.25rem;align-items:end;padding:0 1rem 1rem}.portal .portal-project-danger-body p{max-width:620px;margin:.35rem 0 0;color:var(--pp-muted);font-size:.78rem;line-height:1.5}.portal .portal-project-delete-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.portal .portal-project-delete-form label{font-size:.7rem}.portal button.portal-btn.portal-btn-danger{background:#a6423b;color:#ffffff;box-shadow:none}.portal button.portal-btn.portal-btn-danger:hover:not(:disabled){background:#8d342f}.portal button.portal-btn.portal-btn-danger:disabled{background:#d7cfcb;color:#7a716e}@media (max-width:760px){.portal .portal-project-danger-body,.portal .portal-project-delete-form{grid-template-columns:1fr}}.portal-compact-form textarea{min-height:0;line-height:1.35}.portal-compact-form>.portal-btn{width:max-content;margin-top:.15rem}.portal-select{padding:.55rem .7rem}.portal-row input,.portal-row select,.portal-row textarea,.portal-select{border:1px solid var(--pp-line);border-radius:8px;font-family:var(--pp-sans);background:#fff;color:var(--pp-ink)}.portal-row input,.portal-row select,.portal-row textarea{width:100%;padding:.58rem .7rem;font-size:.84rem}.portal-fieldset input:focus,.portal-fieldset select:focus,.portal-fieldset textarea:focus,.portal-row input:focus,.portal-row select:focus,.portal-row textarea:focus{outline:none;border-color:var(--pp-accent);box-shadow:0 0 0 3px rgba(91,190,212,.14)}.portal details summary{color:var(--pp-accent);font-size:.9rem;font-weight:500}.portal textarea{font-family:var(--pp-sans);resize:vertical}@media (max-width:820px){.portal-sidebar{inset:0 0 auto;width:100%;height:58px;padding:0 1rem;border-right:0;border-bottom:1px solid var(--pp-line);flex-direction:row;align-items:center}.portal-sidebar .portal-header-brand{padding:0}.portal-sidebar .portal-brand-sub,.portal-sidebar-nav{display:none}.portal-sidebar-account{display:flex;gap:.45rem;margin:0 0 0 auto;padding:0;border:0}.portal-sidebar-account>div{display:none}.portal-header{inset:58px 0 auto;height:48px}.portal-header-inner{padding-inline:1rem}.portal-client-main,.portal-main{width:auto;margin-left:0;padding-top:7.8rem}.portal-header-email{display:none}.portal-client-welcome{padding:1.35rem 1.25rem}.portal-client-hero-copy{max-width:76%}}@media (max-width:560px){.portal-breadcrumbs>span:last-child{display:none}.portal-progress-steps small{font-size:.58rem}.portal-project-card,.portal-task-panel{padding:1.05rem}.portal-client-hero{min-height:0;padding:1.25rem}.portal-client-hero:before{opacity:.28;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 72%,#000);mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 72%,#000)}.portal-client-hero-copy{max-width:100%;align-items:flex-start;flex-direction:column}.portal-client-hero-logo{width:96px;height:62px}.portal-client-stats{grid-template-columns:1fr}.portal-task-row{grid-template-columns:auto minmax(0,1fr)}.portal-task-row>.portal-muted,.portal-task-row>a{grid-column:2;justify-self:start}}.portal-wiring{display:grid;gap:.5rem;margin-top:.5rem}.portal-wiring-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border:1px solid var(--pp-line);border-radius:10px;font-size:.88rem}.portal{--pp-paper:#f5f5f7;--pp-surface:#ffffff;--pp-tint:#fff4f6;--pp-line:rgba(29,29,31,0.11);--pp-body:#48484a;--pp-muted:#6e6e73;--pp-action:#1d1d1f;--pp-action-hover:#000000;--pp-ui:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;--pp-display:var(--pp-ui);--pp-sans:var(--pp-ui);background:radial-gradient(circle at 88% 2%,rgba(255,127,145,.06),transparent 24rem),var(--pp-paper);letter-spacing:-.008em}.portal h1,.portal h2,.portal h3,.portal h4{font-family:var(--pp-ui);font-weight:600;letter-spacing:-.03em}.portal a.portal-btn,.portal button.portal-btn,.portal-btn{min-height:44px;padding:.7rem 1.25rem;border:1px solid transparent;border-radius:999px;background:var(--pp-action);box-shadow:none;font-family:var(--pp-ui);font-size:.82rem;font-weight:600;letter-spacing:-.005em}.portal-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--pp-action-hover);box-shadow:0 8px 22px rgba(29,29,31,.16)}.portal-btn-secondary{background:rgba(255,255,255,.88);color:var(--pp-ink);box-shadow:none}.portal-btn-secondary:hover:not(:disabled){border-color:rgba(29,29,31,.22);color:var(--pp-ink)}.portal-sidebar{width:252px;padding:1.65rem 1rem 1rem;border-right:1px solid rgba(29,29,31,.1);background:#e3ebed;box-shadow:12px 0 42px rgba(7,27,21,.08)}.portal-sidebar .portal-header-brand{padding:.25rem .75rem 1.75rem}.portal-sidebar .portal-wordmark{color:var(--pp-ink);font-size:.88rem}.portal-sidebar .portal-brand-sub{color:rgba(29,29,31,.48)}.portal-sidebar-nav{gap:.2rem}.portal-sidebar-nav>a,.portal-sidebar-project>a,.portal-sidebar-workspace-tree>a{min-height:2.65rem;padding:.65rem .75rem;border-radius:10px;color:rgba(29,29,31,.7);font-size:.78rem;font-weight:500;transition:background .16s ease,color .16s ease,transform .16s ease}.portal-sidebar-nav>a:hover,.portal-sidebar-project>a:hover,.portal-sidebar-workspace-tree>a:hover{transform:translateX(2px);background:rgba(255,255,255,.56);color:var(--pp-ink)}.portal-sidebar-nav>a.active,.portal-sidebar-project>a.active,.portal-sidebar-workspace-tree>a.active{background:rgba(255,255,255,.52);color:var(--pp-ink);box-shadow:inset 3px 0 0 #5bbed4}.portal-sidebar-nav svg{stroke-width:1.55}.portal-sidebar-project{margin-top:1.45rem;padding-top:1.25rem;border-top-color:rgba(29,29,31,.12)}.portal-sidebar-project-menu>span,.portal-sidebar-project>span{color:rgba(29,29,31,.44);font-size:.6rem;letter-spacing:.14em}.portal-sidebar-project-mark,.portal-sidebar-project-mark.admin{border-radius:6px;background:rgba(255,255,255,.68);color:var(--pp-ink)}.portal-sidebar-project-menu{gap:.22rem;margin-left:1.35rem;border-left-color:rgba(29,29,31,.12)}.portal-sidebar-phase-menu a,.portal-sidebar-project-menu>small,.portal-sidebar-project-node>a{color:rgba(29,29,31,.58)}.portal-sidebar-phase-menu a:hover,.portal-sidebar-project-node>a.active,.portal-sidebar-project-node>a:hover{background:rgba(255,255,255,.56);color:var(--pp-ink)}.portal-sidebar-project-node>a.active{box-shadow:inset 2px 0 0 #5bbed4}.portal-sidebar-account{padding:1rem .55rem .15rem;border-top-color:rgba(29,29,31,.12)}.portal-sidebar-avatar{background:var(--pp-ink);color:#ffffff}.portal-sidebar-account strong{color:var(--pp-ink)}.portal-sidebar-account button,.portal-sidebar-account>div>span{color:rgba(29,29,31,.55)}.portal-header{left:252px;height:64px;background:rgba(244,245,242,.82);backdrop-filter:saturate(150%) blur(24px)}.portal-header-inner{padding-inline:clamp(1.5rem,3.5vw,3.75rem)}.portal-breadcrumbs{gap:.65rem;font-size:.74rem}.portal-breadcrumbs a{color:var(--pp-muted)}.portal-breadcrumbs a:hover{color:var(--pp-ink);text-decoration:none}.portal-header-link,.portal-integrations>summary{color:var(--pp-ink);font-size:.76rem;font-weight:550}.portal-main{margin-left:252px;padding:6.9rem clamp(1.5rem,4vw,4.5rem) 6rem}.portal-admin-main{max-width:1600px}.portal-admin-hero{overflow:visible;min-height:170px;align-items:flex-end;padding:1rem 0 2.6rem;border:0;border-bottom:1px solid rgba(29,29,31,.1);border-radius:0;background:transparent;box-shadow:none}.portal-admin-hero:before{display:none}.portal-admin-hero h1{max-width:840px;margin:.4rem 0 .55rem;font-family:var(--pp-ui);font-size:clamp(2.6rem,5vw,4.6rem);font-weight:600;letter-spacing:-.055em;line-height:.98}.portal-admin-hero>div>p:last-child{max-width:650px;font-size:.95rem;line-height:1.6}.portal-kicker{font-size:.65rem;font-weight:700;letter-spacing:.15em}.portal-workspace-page-title{gap:1.25rem}.portal-workspace-page-logo{width:4.5rem;height:4.5rem;border-color:rgba(29,29,31,.1);border-radius:20px;box-shadow:0 14px 35px rgba(29,29,31,.09)}.portal-workspace-header-actions{gap:.65rem}.portal a.portal-workspace-header-preview,.portal a.portal-workspace-header-preview:visited,.portal-workspace-header-popout>summary{width:auto;min-width:8.5rem;height:44px;padding:.7rem 1.15rem;border-radius:999px;font-size:.73rem}.portal-workspace-header-popout>summary{border-color:rgba(29,29,31,.12)}.portal a.portal-workspace-header-preview,.portal a.portal-workspace-header-preview:hover,.portal a.portal-workspace-header-preview:visited{background:var(--pp-action)}.portal-admin-stats,.portal-client-stats,.portal-project-summary-grid{gap:0;overflow:hidden;margin:1.5rem 0 3.75rem;border:1px solid rgba(29,29,31,.1);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 16px 44px rgba(29,29,31,.055)}.portal-admin-stat,.portal-client-stats>div,.portal-project-summary-grid>div{padding:1.45rem 1.5rem;border:0;border-left:1px solid rgba(29,29,31,.08);border-radius:0;background:transparent;box-shadow:none}.portal-admin-stat:first-child,.portal-client-stats>div:first-child,.portal-project-summary-grid>div:first-child{border-left:0}.portal-admin-stat:before,.portal-client-stats>div:before{display:none}.portal-admin-stat small,.portal-admin-stat>span,.portal-client-stats small,.portal-client-stats span,.portal-project-summary-grid span{font-size:.66rem;letter-spacing:.09em}.portal-admin-stat strong,.portal-client-stats strong,.portal-project-summary-grid strong{margin:.4rem 0 .15rem;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:600;letter-spacing:-.04em}.portal-admin-section{margin-top:4.5rem}.portal-section-heading{align-items:end;margin-bottom:1.5rem}.portal-section-heading h2{margin-top:.25rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:600;letter-spacing:-.045em}.portal-section-heading>p{max-width:520px;font-size:.86rem;line-height:1.6}.portal-admin-document-overview,.portal-admin-ledger,.portal-admin-summary-card,.portal-agreement,.portal-card,.portal-manage-module,.portal-phase-admin,.portal-project-card,.portal-project-phase,.portal-task-panel,.portal-workspace-project-row{border-color:rgba(29,29,31,.1);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 14px 42px rgba(29,29,31,.05)}.portal-agreement,.portal-card,.portal-project-card,.portal-task-panel{padding:clamp(1.4rem,3vw,2rem)}.portal-workspace-project-list{gap:1rem}.portal-workspace-project-row{gap:1.75rem;padding:1.4rem 1.5rem;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.portal-workspace-project-row:hover{transform:translateY(-2px);border-color:rgba(255,127,145,.3);box-shadow:0 20px 48px rgba(29,29,31,.08)}.portal-workspace-project-row h3{font-size:1.15rem;letter-spacing:-.025em}.portal-workspace-project-row dd,.portal-workspace-project-row>a,.portal-workspace-project-row>div>p{font-size:.76rem}.portal-workspace-project-row>a{display:inline-flex;align-items:center;min-height:38px;padding:.5rem .85rem;border-radius:999px;background:var(--pp-tint)}.portal-admin-empty,.portal-manage-add-project{border-style:solid;border-color:rgba(29,29,31,.1);background:rgba(255,255,255,.64)}.portal-fieldset{gap:1rem}.portal-fieldset label,.portal-record-editor label{margin-bottom:.4rem;color:#626a65;font-size:.69rem;font-weight:650;letter-spacing:.025em;text-transform:none}.portal-fieldset input,.portal-fieldset select,.portal-fieldset textarea,.portal-form input,.portal-row input,.portal-row select,.portal-row textarea,.portal-select{min-height:50px;padding:.78rem .95rem;border-color:rgba(29,29,31,.13);border-radius:12px;background:rgba(255,255,255,.94);font-family:var(--pp-ui);font-size:.88rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.portal-fieldset textarea,.portal-row textarea{min-height:92px;line-height:1.5}.portal-fieldset input:hover,.portal-fieldset select:hover,.portal-fieldset textarea:hover,.portal-row input:hover,.portal-row select:hover,.portal-row textarea:hover{border-color:rgba(29,29,31,.24)}.portal-fieldset input:focus,.portal-fieldset select:focus,.portal-fieldset textarea:focus,.portal-form input:focus,.portal-row input:focus,.portal-row select:focus,.portal-row textarea:focus{border-color:var(--pp-accent);background:#ffffff;box-shadow:0 0 0 4px rgba(47,195,189,.12)}.portal-inline-check{padding-block:.35rem}.portal-inline-check input{accent-color:var(--pp-accent)}.portal-project-editor{gap:2.5rem}.portal-manage-module>header,.portal-manage-module>summary{align-items:center;padding:1.35rem 1.5rem;border-bottom-color:rgba(29,29,31,.08);background:#ffffff}.portal-manage-module>header h2,.portal-manage-module>summary h2{font-size:1.35rem}.portal-manage-module>header>p{font-size:.75rem;line-height:1.55}.portal-manage-module-body{padding:1.5rem}.portal-phase-settings-disclosure,.portal-project-terms{border:1px solid rgba(29,29,31,.1);border-radius:15px;background:#fafbf9}.portal-phase-settings-disclosure>summary,.portal-project-terms>summary{min-height:52px;padding:.85rem 1rem;color:var(--pp-ink);font-size:.78rem}.portal-phase-admin-list{gap:1.2rem}.portal-phase-admin{overflow:hidden}.portal-phase-admin>summary{min-height:78px;padding:1.2rem 1.35rem;background:#ffffff}.portal-phase-admin>summary strong{font-size:1.02rem}.portal-phase-admin>summary small{margin-top:.3rem;font-size:.69rem}.portal-phase-admin-body{padding:1.2rem;background:#f5f7f5}.portal-phase-workflow{gap:1rem}.portal-phase-settings-disclosure,.portal-workflow-section{border-radius:17px;border-color:rgba(29,29,31,.1)}.portal-workflow-section .portal-phase-module-head{padding:1rem 1.15rem;background:#ffffff}.portal-workflow-section .portal-phase-module-head h4{font-size:1rem}.portal-record-disclosure>summary{min-height:68px;padding:1rem 1.15rem}.portal-record-disclosure>summary:hover{background:#f8faf8}.portal-record-disclosure[open]>summary{background:var(--pp-tint)}.portal-record-disclosure>summary strong{font-size:.82rem}.portal-record-disclosure>summary small{margin-top:.22rem;font-size:.68rem}.portal-record-editor{gap:1rem;padding:1.25rem;background:#f7f9f7}.portal-add-disclosure>summary,.portal-manage-add-project>summary{margin:.7rem;padding:.7rem .9rem;border-radius:10px;color:var(--pp-accent);font-size:.73rem}.portal-add-disclosure>summary:hover,.portal-manage-add-project>summary:hover{background:var(--pp-tint)}.portal-add-disclosure[open]>summary,.portal-manage-add-project[open]>summary{border-bottom:0;background:var(--pp-tint)}.portal-client-main{margin-left:252px;padding:6.9rem clamp(1.5rem,4vw,4.5rem) 6rem}.portal-client-hero,.portal-client-welcome{overflow:hidden;padding:clamp(1.75rem,4vw,3rem);border:1px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(circle at 88% 8%,rgba(47,195,189,.34),transparent 34%),linear-gradient(120deg,#1d1d1f,#2c2c2e 64%,#48484a);box-shadow:0 24px 60px rgba(29,29,31,.15)}.portal-client-hero:before{display:none}.portal-client-hero-copy{max-width:min(850px,80%)}.portal-client-hero-copy h1,.portal-client-welcome h1{color:#ffffff;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:600;letter-spacing:-.055em;line-height:1}.portal-client-hero .portal-kicker,.portal-client-hero-copy>div>p:not(.portal-kicker){color:rgba(255,255,255,.7)}.portal-client-hero-copy a{color:#ffffff}.portal-client-hero-logo,.portal-client-welcome-logo{border-radius:18px}.portal-project-card,.portal-task-panel{margin-top:1.25rem;border-radius:22px}.portal-project-card h2,.portal-task-panel h2{font-size:1.15rem}.portal-task-row{min-height:4.4rem}.portal-agreement-doc{border-radius:16px}.portal-badge{padding:.34rem .65rem;border-radius:999px;font-size:.62rem;letter-spacing:.045em}.portal-integrations-popover,.portal-workspace-header-popout-panel,.portal-workspace-modal{border-color:rgba(29,29,31,.1);border-radius:22px;box-shadow:0 28px 80px rgba(29,29,31,.18)}.portal-auth-scrim{background:linear-gradient(180deg,rgba(8,31,24,.04),rgba(8,31,24,.18)),radial-gradient(circle at 50% 42%,rgba(255,255,255,.16),transparent 42%)}.portal-auth-card{max-width:470px;padding:clamp(2rem,4vw,3.25rem);border-color:rgba(255,255,255,.72);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 28px 85px rgba(8,31,24,.22);backdrop-filter:saturate(140%) blur(26px)}.portal-auth-card h1{margin-bottom:.65rem;font-size:clamp(2rem,5vw,2.7rem);font-weight:600;letter-spacing:-.05em}.portal-lead{margin-bottom:1.8rem;font-size:.94rem;line-height:1.65}.portal-form{gap:.75rem}.portal-form label{font-size:.7rem;font-weight:650;letter-spacing:.05em}.portal-form input{min-height:54px;border-radius:14px}.portal-form .portal-btn{min-height:48px}@media (max-width:1000px){.portal-workspace-project-row{grid-template-columns:minmax(220px,1fr) minmax(320px,1fr)}.portal-workspace-project-row>a{grid-column:1/-1;justify-self:start}}@media (max-width:820px){.portal-sidebar{width:100%;height:62px;padding:0 1.15rem;border-bottom-color:rgba(29,29,31,.1)}.portal-header{inset:62px 0 auto;left:0;height:50px}.portal-client-main,.portal-main{margin-left:0;padding-top:8.5rem}.portal-admin-hero{min-height:120px}.portal-admin-hero h1{font-size:clamp(2.4rem,10vw,4rem)}}@media (max-width:760px){.portal-admin-stats,.portal-client-stats,.portal-project-summary-grid{grid-template-columns:1fr 1fr}.portal-admin-stat:nth-child(3),.portal-client-stats>div:nth-child(3),.portal-project-summary-grid>div:nth-child(3){border-left:0}.portal-admin-stat:nth-child(n+3),.portal-client-stats>div:nth-child(n+3),.portal-project-summary-grid>div:nth-child(n+3){border-top:1px solid rgba(29,29,31,.08)}.portal-workspace-project-row{grid-template-columns:1fr}}@media (max-width:520px){.portal-client-main,.portal-main{padding-inline:1rem}.portal-admin-stats,.portal-client-stats,.portal-project-summary-grid{grid-template-columns:1fr;border-radius:18px}.portal-admin-stat,.portal-client-stats>div,.portal-project-summary-grid>div{border-top:1px solid rgba(29,29,31,.08);border-left:0}.portal-admin-stat:first-child,.portal-client-stats>div:first-child,.portal-project-summary-grid>div:first-child{border-top:0}.portal-admin-hero{padding-bottom:2rem}.portal-workspace-page-logo{width:3.75rem;height:3.75rem;border-radius:16px}}@media (prefers-reduced-motion:reduce){.portal *,.portal :after,.portal :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portal{--pp-coral:var(--pp-sherbet);background:radial-gradient(circle at 92% 4%,rgba(47,195,189,.14),transparent 27rem),radial-gradient(circle at 5% 38%,rgba(254,240,142,.26),transparent 30rem),radial-gradient(circle at 96% 92%,rgba(255,133,147,.12),transparent 29rem),#f7f7f3}.portal-header{border-bottom-color:rgba(29,29,31,.08);background:linear-gradient(90deg,var(--pp-sunset) 0,var(--pp-sherbet) 100%)}.portal-header-right>.portal-header-link,.portal-header-right>.portal-integrations>summary{color:var(--pp-ink);font-family:var(--pp-ui);font-size:.76rem;font-weight:500;line-height:1;letter-spacing:-.005em}.portal-kicker{color:#eb6276}.portal a.portal-btn,.portal button.portal-btn,.portal-btn{background:linear-gradient(120deg,#ff9aa7 0,var(--pp-accent) 100%)}.portal-btn:hover:not(:disabled){background:linear-gradient(120deg,#ff9aa7,#eb6276);box-shadow:0 10px 26px rgba(255,127,145,.23)}.portal-btn-secondary{border-color:rgba(29,29,31,.12);background:rgba(255,255,255,.9)}.portal-btn-secondary:hover:not(:disabled){background:#ffffff}.portal-admin-hero-home{isolation:isolate;overflow:hidden;min-height:clamp(220px,22vw,275px);align-items:flex-end;padding:clamp(1.6rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.42);border-radius:30px;background:#1d1d1f;box-shadow:0 26px 70px rgba(29,29,31,.17)}.portal-admin-hero-home:before{display:block;position:absolute;z-index:-2;inset:0;border-radius:inherit;background:url(/images/hero-poster.jpg) center 52%/cover no-repeat;content:"";opacity:1;-webkit-mask-image:none;mask-image:none}.portal-admin-hero-home:after{position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(circle at 88% 12%,rgba(255,133,147,.22),transparent 28%),linear-gradient(90deg,rgba(7,29,22,.78),rgba(7,29,22,.48) 42%,rgba(7,29,22,.03) 78%),linear-gradient(0deg,rgba(7,29,22,.3),transparent 55%);content:""}.portal-admin-hero-home>div{position:relative;z-index:1}.portal-admin-hero-home h1{max-width:760px;color:#ffffff;font-size:clamp(2.5rem,4.4vw,3.75rem);text-shadow:0 2px 28px rgba(7,29,22,.3)}.portal-admin-hero-home .portal-kicker{color:var(--pp-sun)}.portal-admin-hero-home>div>p:last-child{color:rgba(255,255,255,.78);text-shadow:0 1px 15px rgba(7,29,22,.3)}.portal-admin-stats,.portal-client-stats,.portal-project-summary-grid{background:rgba(255,255,255,.9)}.portal-admin-stat:first-child,.portal-client-stats>div:first-child,.portal-project-summary-grid>div:first-child{background:rgba(254,240,142,.24)}.portal-admin-stat:nth-child(2),.portal-client-stats>div:nth-child(2),.portal-project-summary-grid>div:nth-child(2){background:rgba(47,195,189,.09)}.portal-admin-stat:nth-child(3),.portal-client-stats>div:nth-child(3),.portal-project-summary-grid>div:nth-child(3){background:rgba(255,133,147,.09)}.portal-admin-stat:nth-child(4),.portal-project-summary-grid>div:nth-child(4){background:rgba(239,209,153,.17)}.portal-admin-hero-home+.portal-admin-flash+.portal-admin-stats,.portal-admin-hero-home+.portal-admin-stats{margin-top:.75rem;margin-bottom:2.25rem;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(29,29,31,.04)}.portal-admin-hero-home+.portal-admin-flash+.portal-admin-stats .portal-admin-stat,.portal-admin-hero-home+.portal-admin-stats .portal-admin-stat{padding:.7rem 1.25rem;background:transparent}.portal-admin-hero-home+.portal-admin-flash+.portal-admin-stats .portal-admin-stat strong,.portal-admin-hero-home+.portal-admin-stats .portal-admin-stat strong{margin:.18rem 0 .08rem;font-size:1.45rem}.portal-admin-hero-home+.portal-admin-flash+.portal-admin-stats .portal-admin-stat small,.portal-admin-hero-home+.portal-admin-flash+.portal-admin-stats .portal-admin-stat>span,.portal-admin-hero-home+.portal-admin-stats .portal-admin-stat small,.portal-admin-hero-home+.portal-admin-stats .portal-admin-stat>span{font-size:.62rem;letter-spacing:.065em}.portal-client-card{position:relative;overflow:hidden;padding:1.15rem 1.25rem;border-color:rgba(29,29,31,.1);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 14px 42px rgba(29,29,31,.05)}.portal-client-card:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--pp-sun),var(--pp-aqua),var(--pp-sherbet));content:""}.portal-client-metrics{overflow:hidden;grid-template-columns:repeat(3,minmax(88px,1fr));gap:0;margin:0;padding:0;border:1px solid rgba(29,29,31,.09);border-radius:14px;background:#f8faf8}.portal-client-metrics>div{min-width:0;padding:.72rem .8rem;border-left:1px solid rgba(29,29,31,.08)}.portal-client-metrics>div:first-child{border-left:0}.portal-client-metrics dt{overflow:hidden;color:var(--pp-muted);font-size:.57rem;letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap}.portal-client-metrics dd{margin-top:.25rem}.portal-client-metrics dd strong{font-size:1.05rem;font-weight:600;line-height:1}.portal-client-metrics dd span{margin-top:.28rem;font-size:.62rem;line-height:1.3}.portal-client-title-line .portal-badge{gap:.4rem;padding:.32rem .62rem;border:0;border-radius:999px;background:rgba(47,195,189,.12);color:var(--pp-ink);font-size:.62rem;font-weight:600;letter-spacing:0;text-transform:capitalize}.portal-client-title-line .portal-badge:before{width:6px;height:6px;background:var(--pp-accent)}.portal-integrations-popover{width:min(420px,calc(100vw - 2rem));padding:1.5rem;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(29,29,31,.17);backdrop-filter:saturate(140%) blur(20px)}.portal-integrations-popover h2{margin-top:.25rem;font-size:1.5rem;letter-spacing:-.035em}.portal-integrations-popover>div>p:last-child{margin-top:.2rem;font-size:.82rem}.portal-integrations-popover .portal-wiring{gap:0;margin-top:1.15rem;border-top:1px solid rgba(29,29,31,.09)}.portal-integrations-popover .portal-wiring-item{min-height:58px;padding:.85rem 0;border:0;border-bottom:1px solid rgba(29,29,31,.09);border-radius:0;background:transparent;font-size:.82rem;line-height:1.45}.portal-integrations-popover .portal-wiring-item:last-child{border-bottom:0}.portal-integrations-popover .portal-wiring-item>span:first-child{padding-right:.8rem}.portal-integrations-popover .portal-badge{gap:.4rem;padding:.34rem .62rem;border:0;border-radius:999px;background:rgba(114,122,116,.1);color:var(--pp-muted);font-size:.61rem;font-weight:600;letter-spacing:0;text-transform:capitalize}.portal-integrations-popover .portal-badge.ok{background:rgba(47,195,189,.12);color:var(--pp-ink)}.portal-integrations-popover .portal-badge.pending{background:rgba(254,240,142,.32);color:var(--pp-ink)}.portal-integrations-popover .portal-badge:before{width:6px;height:6px}.portal-integrations-popover .portal-badge.ok:before{background:var(--pp-accent)}.portal-integrations-popover .portal-badge.pending:before{background:#d5a92d}.portal-integrations-popover .portal-badge.off:before{background:#a2aaa5}.portal-poster-manager{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:1.1rem;margin:0 0 1.2rem;padding:1rem;border:1px solid rgba(29,29,31,.09);border-radius:15px;background:#f8faf8}.portal-poster-preview{position:relative;display:grid;width:180px;aspect-ratio:16/8;place-items:center;overflow:hidden;border:1px solid rgba(29,29,31,.1);border-radius:12px;background:linear-gradient(135deg,rgba(254,240,142,.46),rgba(255,133,147,.2));background-position:50%;background-size:cover;color:var(--pp-muted);font-size:.7rem;font-weight:600}.portal-poster-manager strong{color:var(--pp-ink);font-size:.83rem}.portal-poster-manager p{margin:.15rem 0 .7rem;color:var(--pp-muted);font-size:.72rem;line-height:1.45}.portal-workspace-manage-hero.has-poster{isolation:isolate;min-height:250px;padding:clamp(1.75rem,4vw,3rem);border:1px solid rgba(255,255,255,.38);border-radius:28px;box-shadow:0 22px 58px rgba(29,29,31,.14)}.portal-client-hero-poster,.portal-workspace-hero-poster{position:absolute;z-index:-2;inset:0;border-radius:inherit;background-position:50%;background-size:cover}.portal-client-hero.has-poster:after,.portal-workspace-manage-hero.has-poster:after{position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(7,29,22,.78),rgba(7,29,22,.4) 48%,rgba(7,29,22,.14)),linear-gradient(0deg,rgba(7,29,22,.2),transparent 62%);content:""}.portal-client-hero.has-poster .portal-client-hero-copy,.portal-workspace-manage-hero.has-poster .portal-workspace-header-actions,.portal-workspace-manage-hero.has-poster .portal-workspace-page-title{position:relative;z-index:1}.portal-workspace-manage-hero.has-poster .portal-workspace-page-title h1{color:#ffffff}.portal-workspace-manage-hero.has-poster .portal-workspace-page-title .portal-kicker{color:var(--pp-sun)}.portal-workspace-manage-hero.has-poster .portal-workspace-page-title>div>p:last-child{color:rgba(255,255,255,.78)}.portal-workspace-manage-hero.has-poster .portal-workspace-header-popout>summary{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.9)}.portal-workspace-manage-hero.has-poster .portal-workspace-page-logo{border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.94)}.portal-client-hero.has-poster{background:#1d1d1f}@media (max-width:760px){.portal-poster-manager{grid-template-columns:1fr}.portal-poster-preview{width:100%}.portal-workspace-manage-hero.has-poster{min-height:300px}}.portal-client-mark{border-color:rgba(255,133,147,.2);border-radius:11px;background:linear-gradient(145deg,rgba(255,252,120,.45),rgba(255,133,147,.16))}.portal-workspace-project-row{position:relative;overflow:hidden}.portal-workspace-project-row:before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--pp-aqua),var(--pp-sherbet));content:""}.portal-workspace-project-row>a{background:rgba(254,240,142,.38)}.portal-text-btn{color:#df5d72}.portal-record-disclosure[open]>summary{background:rgba(47,195,189,.1)}.portal-phase-admin:nth-child(3n+1)>summary{box-shadow:inset 4px 0 0 var(--pp-aqua)}.portal-phase-admin:nth-child(3n+2)>summary{box-shadow:inset 4px 0 0 var(--pp-sherbet)}.portal-phase-admin:nth-child(3n+3)>summary{box-shadow:inset 4px 0 0 var(--pp-sun)}.portal-progress-bar>span{background:linear-gradient(90deg,var(--pp-aqua),var(--pp-accent),var(--pp-sherbet))}@media (max-width:760px){.portal-admin-hero-home{min-height:240px;align-items:flex-end;padding:1.5rem;border-radius:24px}.portal-admin-hero-home:after{background:linear-gradient(0deg,rgba(7,29,22,.78),rgba(7,29,22,.18) 78%),radial-gradient(circle at 88% 12%,rgba(255,133,147,.2),transparent 30%)}}@media (max-width:520px){.portal-admin-hero-home{min-height:220px;padding:1.25rem;border-radius:20px}}.portal .portal-header{z-index:40;background:linear-gradient(90deg,var(--pp-sunset) 0,var(--pp-sherbet) 100%)}.portal .portal-client-main,.portal .portal-main{position:fixed;inset:64px 0 0 252px;width:auto;min-height:0;margin:0;padding-top:clamp(2rem,3.5vw,3rem);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.portal .portal-admin-stats{gap:0;overflow:hidden;margin:1rem 0 2.25rem;border:1px solid rgba(29,29,31,.1);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(29,29,31,.04)}.portal .portal-admin-stat,.portal .portal-admin-stat:first-child,.portal .portal-admin-stat:nth-child(2),.portal .portal-admin-stat:nth-child(3),.portal .portal-admin-stat:nth-child(4){padding:.72rem 1.2rem;border:0;border-left:1px solid rgba(29,29,31,.08);border-radius:0;background:transparent;box-shadow:none}.portal .portal-admin-stat:first-child{border-left:0}.portal .portal-admin-stat:before{display:none}.portal .portal-admin-stat strong{margin:.18rem 0 .08rem;font-size:1.45rem}.portal .portal-admin-stat small,.portal .portal-admin-stat>span{font-size:.62rem;letter-spacing:.065em}@media (max-width:820px){.portal .portal-client-main,.portal .portal-main{inset:112px 0 0;padding-top:1.5rem}}@media (max-width:760px){.portal .portal-admin-stat:nth-child(3){border-left:0}.portal .portal-admin-stat:nth-child(n+3){border-top:1px solid rgba(29,29,31,.08)}}@media (max-width:520px){.portal .portal-admin-stat,.portal .portal-admin-stat:first-child,.portal .portal-admin-stat:nth-child(2),.portal .portal-admin-stat:nth-child(3),.portal .portal-admin-stat:nth-child(4){border-top:1px solid rgba(29,29,31,.08);border-left:0}.portal .portal-admin-stat:first-child{border-top:0}}