.portal{background:var(--paper);min-height:100vh;color:var(--text);font-family:var(--font-body)}.portal *{box-sizing:border-box}.portal h1,.portal h2,.portal p{margin:0}.portal button{font:inherit;cursor:pointer}.portal-loading{background:var(--navy-deep)}.p-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hover);font-size:11px}.p-note{color:var(--text-muted);font-size:12.5px;line-height:1.5}.p-note a{color:var(--navy);text-decoration:underline}.p-link{color:var(--navy);background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.p-link:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.p-chip{background:var(--gold-light);color:var(--navy-deep);font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:11px;display:inline-block}.p-btn{border:1px solid var(--navy);color:var(--navy);letter-spacing:.02em;background:0 0;border-radius:2px;padding:12px 22px;font-weight:500;transition:background .2s,color .2s}.p-btn:hover{background:var(--navy);color:var(--paper)}.p-btn-gold{background:var(--gold);border-color:var(--gold);color:var(--navy-dark)}.p-btn-gold:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--navy-dark)}.p-top{background:var(--navy-deep);color:var(--paper);flex-wrap:wrap;align-items:center;gap:32px;padding:16px clamp(16px,4vw,48px);display:flex}.p-brand{color:inherit;flex-direction:column;gap:4px;line-height:1;text-decoration:none;display:flex}.p-word{letter-spacing:.24em;font-size:20px;font-weight:600}.p-sub{font-family:var(--font-mono);letter-spacing:.18em;color:var(--gold);font-size:9.5px}.p-tabs{flex-wrap:wrap;flex:1;gap:4px;display:flex}.p-tabs button{color:var(--ink-200);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-size:14px}.p-tabs button:hover{color:var(--paper)}.p-tabs button.on{color:var(--paper);border-bottom-color:var(--gold)}.p-user{align-items:center;gap:16px;font-size:14px;display:flex}.p-user .p-link{color:var(--gold)}.p-demo-banner{background:var(--gold-light);color:var(--navy-deep);text-align:center;padding:6px 16px;font-size:12.5px}.p-main{flex-direction:column;gap:24px;max-width:1240px;margin:0 auto;padding:36px clamp(16px,4vw,48px) 24px;display:flex}.p-foot{max-width:1240px;color:var(--text-muted);margin:0 auto;padding:8px clamp(16px,4vw,48px) 48px;font-size:12px;line-height:1.6}.p-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.p-hello h1,.p-detail-head h1{letter-spacing:-.01em;margin:6px 0 4px;font-size:clamp(30px,4vw,44px);font-weight:300}.p-hello p,.p-detail-head p{color:var(--text-muted);font-size:14.5px}.p-card{background:var(--white);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:16px;padding:24px;display:flex}.p-card h2{font-size:20px;font-weight:400}.p-kpis{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.p-kpi{background:var(--white);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:8px;padding:20px;display:flex}.p-kpi strong{color:var(--navy);font-size:clamp(24px,2.4vw,32px);font-weight:300}.p-kpi small{color:var(--text-muted);font-size:12px}.p-kpi small.good{color:#2a7a4b}.p-kpis.small .p-kpi strong{font-size:24px}.p-grid-2{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.p-bars{align-items:flex-end;gap:20px;height:200px;padding-top:24px;display:flex}.p-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.p-bar-fill{background:linear-gradient(180deg, var(--gold), var(--gold-hover));border-radius:2px 2px 0 0;width:100%;max-width:64px;min-height:4px}.p-bar-val{color:var(--navy);font-size:12px}.p-bar-lbl{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.p-track{background:var(--paper-2);border-radius:100px;height:8px;overflow:hidden}.p-track.big{height:12px}.p-fill{background:var(--navy);border-radius:100px;height:100%}.p-alloc{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.p-alloc-row{justify-content:space-between;margin-bottom:6px;font-size:14px;display:flex}.p-proj-list{flex-direction:column;gap:12px;display:flex}.p-proj{text-align:left;background:var(--paper);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:10px;padding:16px;transition:border-color .2s;display:flex}.p-proj:hover{border-color:var(--gold)}.p-proj-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.p-proj-foot{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.p-split{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}.p-side{flex-direction:column;gap:10px;display:flex}.p-side-item{text-align:left;background:var(--white);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.p-side-item.on{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.p-side-item span{color:var(--text-muted);font-size:12.5px}.p-mini{background:var(--paper-2);border-radius:100px;height:4px;display:block;overflow:hidden}.p-mini>span{background:var(--navy);height:100%;display:block}.p-detail{flex-direction:column;gap:24px;min-width:0;display:flex}.p-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.p-timeline{flex-direction:column;gap:0;margin:8px 0 0;padding:0;list-style:none;display:flex}.p-timeline li{gap:14px;padding-bottom:18px;display:flex;position:relative}.p-timeline li:last-child{padding-bottom:0}.p-timeline li:before{content:"";background:var(--border);width:2px;position:absolute;top:16px;bottom:0;left:6px}.p-timeline li:last-child:before{display:none}.p-timeline .dot{border:2px solid var(--border);background:var(--white);z-index:1;border-radius:50%;flex:none;width:14px;height:14px;margin-top:3px}.p-timeline .done .dot{background:var(--navy);border-color:var(--navy)}.p-timeline .active .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #c6a66440}.p-timeline strong{font-size:14.5px;font-weight:500;display:block}.p-timeline .todo strong{color:var(--text-muted);font-weight:400}.p-timeline small{color:var(--text-muted);font-size:12.5px}.p-updates{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.p-updates li{border-bottom:1px solid var(--paper-2);flex-direction:column;gap:4px;padding-bottom:18px;display:flex}.p-updates li:last-child{border-bottom:0;padding-bottom:0}.p-updates time{font-family:var(--font-mono);color:var(--gold-hover);letter-spacing:.08em;font-size:11px}.p-updates p{color:var(--ink-700);font-size:14px;line-height:1.55}.p-opps{flex-direction:column;gap:20px;display:flex}.p-opp-head{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.p-opp-head h2{margin:4px 0;font-size:24px}.p-opp-head p{color:var(--text-muted);font-size:14px}.p-opp-meta{flex-wrap:wrap;gap:28px;display:flex}.p-opp-meta div{flex-direction:column;gap:2px;display:flex}.p-opp-meta small{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px}.p-opp-meta strong{color:var(--navy);font-weight:400}.p-opp-sum{color:var(--ink-700);font-size:14.5px;line-height:1.6}.p-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.p-tags li{border:1px solid var(--border);color:var(--ink-700);border-radius:100px;padding:4px 10px;font-size:12.5px}.p-opp>.p-btn{align-self:flex-start}.p-form{border-top:1px solid var(--paper-2);flex-direction:column;gap:14px;max-width:520px;padding-top:8px;display:flex}.p-form label{color:var(--ink-700);flex-direction:column;gap:6px;font-size:13px;display:flex}.p-form input,.p-form textarea{border:1px solid var(--border);font:inherit;background:var(--paper);border-radius:2px;padding:10px 12px}.p-form input:focus,.p-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.p-form-row{gap:10px;display:flex}.p-err{color:#b3261e;font-size:13px}.p-filters{flex-wrap:wrap;gap:8px;display:flex}.p-filters button{border:1px solid var(--border);background:var(--white);border-radius:100px;padding:7px 16px;font-size:13px}.p-filters button.on{background:var(--navy);color:var(--paper);border-color:var(--navy)}.p-docs{margin:0;padding:0;list-style:none}.p-docs li{border-bottom:1px solid var(--paper-2);align-items:center;gap:16px;padding:14px 0;display:flex}.p-docs li:last-child{border-bottom:0}.p-docs li>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.p-docs small{color:var(--text-muted);font-size:12.5px}.p-signin{background:radial-gradient(circle at 20% 10%, var(--navy), var(--navy-dark) 70%);place-items:center;padding:24px;display:grid}.p-signin-card{background:var(--paper);border-radius:4px;flex-direction:column;gap:20px;width:100%;max-width:480px;padding:clamp(28px,5vw,48px);display:flex}.p-signin-card .p-brand{color:var(--navy-deep)}.p-signin-card .p-sub{color:var(--gold-hover)}.p-signin-card h1{font-size:32px;font-weight:300;line-height:1.15}.p-signin-card p{color:var(--ink-700);font-size:15px;line-height:1.6}.p-signin-card .p-note{color:var(--text-muted);font-size:12.5px}@media (max-width:900px){.p-kpis{grid-template-columns:repeat(2,1fr)}.p-grid-2,.p-split{grid-template-columns:1fr}.p-side{flex-direction:row;overflow-x:auto}.p-side-item{min-width:220px}.p-top{gap:12px}.p-tabs{flex-basis:100%;order:3;width:100%}.p-user{margin-left:auto}}.p-check{align-items:flex-start;font-size:13px;line-height:1.5;flex-direction:row!important;gap:10px!important}.p-check input{flex:none;margin-top:3px}.p-ok{color:#2a7a4b;font-size:13.5px;line-height:1.5}.p-auth-links{justify-content:space-between;gap:12px;display:flex}.p-btn:disabled{opacity:.6;cursor:not-allowed}.p-admin-tabs{flex-wrap:wrap;gap:8px;display:flex}.p-admin-tabs button{border:1px solid var(--border);background:var(--white);border-radius:100px;padding:7px 16px;font-size:13px}.p-admin-tabs button.on{background:var(--navy);color:var(--paper);border-color:var(--navy)}.p-table{border-collapse:collapse;width:100%;font-size:13.5px}.p-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:10.5px}.p-table td{border-bottom:1px solid var(--paper-2);vertical-align:top;padding:10px}.p-table-wrap{overflow-x:auto}.p-row-actions{flex-wrap:wrap;gap:6px;display:flex}.p-btn.sm{padding:5px 12px;font-size:12.5px}.p-form.wide{max-width:720px}.p-form select{border:1px solid var(--border);font:inherit;background:var(--paper);border-radius:2px;padding:10px 12px}.p-form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (max-width:700px){.p-form-grid{grid-template-columns:1fr}}
