:root{font-family:Aptos,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;color:#ecf3f7;background:radial-gradient(circle at top left,rgba(181,143,58,.18),transparent 28%),radial-gradient(circle at bottom right,rgba(42,77,105,.18),transparent 26%),linear-gradient(180deg,#07111a,#0b1621);--bg: #0b1621;--surface: rgba(14, 27, 39, .92);--surface-soft: rgba(20, 38, 54, .82);--surface-highlight: rgba(181, 143, 58, .12);--border: rgba(204, 218, 228, .12);--text: #ecf3f7;--muted: #9db0be;--accent: #caa152;--accent-strong: #f0c165;--shadow: 0 24px 64px rgba(2, 8, 14, .42)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scrollbar-gutter:stable}body{margin:0;min-height:100vh;overflow-x:hidden;overflow-y:scroll;background:var(--bg);color:var(--text)}a,button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{border:0}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{margin-bottom:0;line-height:1.08}p{margin-bottom:0}.portal-shell{--sidebar-width: 300px;min-height:100vh;display:block;overflow-x:clip}.portal-shell.sidebar-collapsed{--sidebar-width: 112px}.portal-sidebar-shell{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;overflow:visible;z-index:2}.portal-login-shell,.portal-loading-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.portal-loading-card,.glass-card,.login-panel{border-radius:28px;border:1px solid var(--border);background:linear-gradient(180deg,#0e1b27f2,#09141ff2);box-shadow:var(--shadow)}.portal-loading-card{width:min(100%,520px);padding:44px}.login-panel{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}.login-copy,.login-form,.portal-sidebar,.portal-content{padding:32px}.login-copy{background:radial-gradient(circle at top left,rgba(202,161,82,.22),transparent 36%),linear-gradient(145deg,rgba(255,255,255,.04),transparent 62%)}.login-copy h1{font-size:clamp(2rem,3.4vw,3rem);line-height:.95;margin-bottom:16px}.login-logo{width:56px;height:56px;object-fit:contain;margin-bottom:20px}.login-form{display:grid;gap:18px;align-content:center}.portal-sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 48%),#060e16db;display:flex;flex-direction:column;justify-content:space-between;gap:24px;position:relative;top:0;left:0;width:100%;height:100vh;min-height:100vh;min-width:0;overflow-y:auto;overflow-x:visible;scrollbar-width:thin;scrollbar-color:rgba(202,161,82,.38) transparent;z-index:1}.portal-sidebar::-webkit-scrollbar{width:8px}.portal-sidebar::-webkit-scrollbar-track{background:transparent}.portal-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#caa15270,#9db0be38);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.portal-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#f0c16599,#9db0be4d);border:2px solid transparent;background-clip:padding-box}.portal-sidebar.collapsed{padding-left:14px;padding-right:14px}.sidebar-collapse-toggle{position:absolute;top:50%;right:-16px;transform:translateY(-50%);width:32px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:#0a141ff5;color:var(--text);cursor:pointer;box-shadow:var(--shadow);z-index:3}.sidebar-collapse-toggle span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.3rem;line-height:1}.portal-content{display:grid;gap:22px;min-width:0;min-height:100vh;align-content:start;margin-left:var(--sidebar-width)}.portal-page-region{min-height:calc(100vh - 194px);display:grid;align-content:start;gap:22px}.sidebar-top,.sidebar-bottom{display:grid;gap:18px}.sidebar-bottom{min-width:0}.sidebar-bottom>*{width:100%;min-width:0}.portal-sidebar.collapsed .sidebar-brand{text-align:center}.sidebar-fox-mark{width:46px;height:46px;margin-bottom:10px;object-fit:contain}.portal-sidebar.collapsed .sidebar-fox-mark{margin-inline:auto}.sidebar-copy,.muted-copy,.job-card-copy,.phase-description,.timeline-item p,.note-card p,.review-title{color:var(--muted);line-height:1.7}.portal-nav{display:grid;gap:10px}.nav-link,.secondary-button,.primary-button,.alert-row,.calendar-event,.job-card{transition:transform .16s ease,border-color .16s ease,background .16s ease}.nav-link{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px;border-radius:16px;color:var(--muted);border:1px solid transparent;background:transparent;text-align:left}.nav-link-icon,.quick-link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.nav-link-icon svg,.quick-link-icon svg{width:20px;height:20px}.portal-sidebar.collapsed .nav-link{justify-content:center;padding-inline:0}.nav-link.active,.nav-link:hover,.job-card:hover,.alert-row:hover,.calendar-event:hover{transform:translateY(-1px)}.nav-link.active{color:var(--text);background:#caa1521f;border-color:#caa15242}.hero-strip{padding:28px 30px;border-radius:28px;border:1px solid var(--border);background:radial-gradient(circle at top right,rgba(202,161,82,.18),transparent 24%),linear-gradient(140deg,#ffffff0d,#ffffff03);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:108px}.hero-copy{display:grid;align-content:start;gap:6px;min-width:0}.hero-title{font-size:clamp(1.9rem,2.6vw,2.6rem)}.hero-pill{max-width:min(280px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-pill-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0}.hero-pill-icon svg{width:22px;height:22px}.eyebrow{margin-bottom:8px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.accent{color:var(--accent-strong)}.pill,.status-badge,.phase-percent,.phase-state,.rating-chip{border-radius:999px;border:1px solid var(--border)}.pill{padding:10px 14px}.pill.gold{color:#132230;background:linear-gradient(135deg,#f0c165,#c99736)}.glass-card{padding:28px;align-self:start}.page-skeleton-card{overflow:hidden}.skeleton-copy,.skeleton-grid-two{display:grid;gap:12px}.skeleton-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-line,.skeleton-block,.skeleton-pill{position:relative;display:block;overflow:hidden;border-radius:999px;background:#ffffff14}.skeleton-block{border-radius:18px}.skeleton-line:after,.skeleton-block:after,.skeleton-pill:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line-short{width:132px;max-width:42%;height:12px}.skeleton-line-title{width:min(360px,78%);height:26px}.skeleton-line-wide{width:100%;height:14px}.skeleton-line-kpi{width:92px;height:42px;margin-top:10px}.skeleton-line-day{width:24px;height:18px}.skeleton-pill{width:180px;max-width:36%;height:42px}.skeleton-pill-small{width:138px;max-width:32%}.skeleton-block-small{min-height:72px}.skeleton-block-row{min-height:84px}.skeleton-block-progress{min-height:88px}.skeleton-block-event{min-height:50px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.summary-card,.section-block,.dashboard-grid,.two-column-grid{display:grid;gap:20px}.dashboard-page{display:grid;gap:28px}.dashboard-zero-page{gap:40px;padding:8px 0 24px}.dashboard-zero-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.dashboard-zero-hero-copy{display:grid;gap:10px;max-width:760px}.dashboard-zero-kicker{color:#94a3b8;font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.dashboard-zero-title{font-size:clamp(2.5rem,4vw,4.2rem);font-weight:300;letter-spacing:-.05em;color:#fafafa}.dashboard-zero-muted{color:#94a3b8;line-height:1.7;max-width:62ch}.dashboard-zero-actions,.dashboard-zero-loading-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px}.dashboard-zero-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;white-space:nowrap;transition:transform .16s ease,background .16s ease,color .16s ease}.dashboard-zero-button:hover{transform:translateY(-1px)}.dashboard-zero-button-primary{background:#fafafa;color:#09090b;font-weight:600}.dashboard-zero-button-secondary{background:#94a3b824;color:#fafafa}.dashboard-zero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;width:100%;max-width:48rem;align-content:start;justify-content:start}.dashboard-zero-metric{display:grid;gap:8px;align-content:start;min-width:0}.dashboard-zero-metric strong{font-size:clamp(2.35rem,5vw,3.35rem);font-weight:300;letter-spacing:-.05em;color:#fafafa;line-height:.9}.dashboard-zero-metric span{font-size:.875rem;color:#94a3b8}.dashboard-zero-grid{display:grid;grid-template-columns:1fr;gap:32px}.dashboard-zero-section{display:grid;gap:20px;min-width:0}.dashboard-zero-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.dashboard-zero-section-head-stack{justify-content:flex-start}.dashboard-zero-section-head>div{min-width:0}.dashboard-zero-section-head h2{font-size:1.125rem;font-weight:500;color:#fafafa}.dashboard-zero-section-head p{margin-top:6px;color:#94a3b8}.dashboard-zero-empty{color:#94a3b8;line-height:1.7}.dashboard-zero-list,.dashboard-zero-stack{display:grid}.dashboard-zero-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 0;min-width:0;transition:transform .16s ease,color .16s ease}.dashboard-zero-list-row:hover{transform:translateY(-1px)}.dashboard-zero-list-row+.dashboard-zero-list-row{border-top:1px solid rgba(255,255,255,.06)}.dashboard-zero-list-copy{min-width:0}.dashboard-zero-list-copy strong{display:block;color:#fafafa;font-weight:500;line-height:1.4;overflow-wrap:break-word;word-break:break-word}.dashboard-zero-list-copy p{margin-top:6px;color:#94a3b8;line-height:1.6;overflow-wrap:break-word;word-break:break-word}.dashboard-zero-list-meta{flex:0 0 auto;color:#94a3b8;font-size:.88rem;white-space:nowrap;text-align:left}.dashboard-zero-projects{display:grid;gap:18px;grid-template-columns:1fr}.dashboard-zero-project-card{display:grid;gap:20px;min-width:0;overflow:hidden;padding:16px;border-radius:24px;border:1px solid rgba(148,163,184,.12);background:#0f172ab8;transition:transform .16s ease,background .16s ease}.dashboard-zero-project-card:hover{transform:translateY(-1px);background:#0f172aeb}.dashboard-zero-project-title,.dashboard-zero-project-card .job-card-copy,.dashboard-zero-project-card dd,.dashboard-zero-project-card .muted-copy{overflow-wrap:break-word;word-break:break-word}.dashboard-zero-skeleton{position:relative;display:block;overflow:hidden;border-radius:999px;background:#ffffff14}.dashboard-zero-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}.dashboard-zero-skeleton-tag{width:92px;height:12px}.dashboard-zero-skeleton-title{width:min(360px,75%);height:56px}.dashboard-zero-skeleton-copy{width:min(520px,90%);height:16px}.dashboard-zero-skeleton-copy-short{width:min(360px,64%)}.dashboard-zero-skeleton-button{width:138px;height:46px}.dashboard-zero-skeleton-button-soft{width:154px}.dashboard-zero-skeleton-number{width:88px;height:52px}.dashboard-zero-skeleton-label{width:128px;height:14px}.dashboard-zero-skeleton-heading{width:148px;height:18px}.dashboard-zero-skeleton-row{width:100%;height:54px;border-radius:18px;margin-top:12px}.dashboard-zero-skeleton-card-title{width:72%;height:24px}.dashboard-zero-project-card .status-badge{border:0;background:#ffffff14}.dashboard-summary,.dashboard-panel,.dashboard-project-card,.dashboard-kpi-card{border-radius:24px;background:#142636b8;border:1px solid rgba(255,255,255,.05);box-shadow:none}.dashboard-summary,.dashboard-panel{padding:28px}.dashboard-summary{background:radial-gradient(circle at top right,rgba(202,161,82,.12),transparent 26%),#142636b8}.dashboard-summary-head,.dashboard-summary-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-summary-copy{display:grid;gap:10px}.dashboard-summary-copy h1{font-size:clamp(2rem,3.4vw,3.25rem);line-height:.96}.dashboard-secondary-action{color:var(--text);border-color:transparent;background:#ffffff0f}.kpi-grid,.job-card-grid,.dashboard-grid,.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.quick-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.quick-link-card{display:grid;gap:10px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#ffffff08}.quick-link-card p{margin:0;color:var(--muted);line-height:1.6}.quick-link-icon{width:42px;height:42px;border-radius:14px;border:1px solid rgba(202,161,82,.2);background:#caa15214}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kpi-card strong{display:block;margin-top:18px;font-size:2.6rem}.dashboard-kpi-card{padding:24px}.dashboard-kpi-card span{color:#b1c0cb;font-size:.95rem}.dashboard-kpi-card strong{margin-top:14px;font-size:clamp(2.7rem,4vw,3.4rem);font-weight:800;color:var(--text);letter-spacing:-.04em}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;cursor:pointer}.primary-button{color:#132230;font-weight:800;background:linear-gradient(135deg,#f0c165,#c99736)}.secondary-button{color:var(--text);border:1px solid var(--border);background:#ffffff0a}label{display:grid;gap:10px;color:var(--muted)}input,textarea{width:100%;border-radius:16px;border:1px solid rgba(204,218,228,.12);background:#ffffff0a;color:var(--text);padding:14px 16px;outline:none}input:focus,textarea:focus{border-color:#f0c165ad;box-shadow:0 0 0 3px #caa15224}.form-message{margin:0;color:var(--muted)}.form-message.error{color:#ffb4b4}.stack-list,.notes-stream,.timeline-list,.review-history{display:grid;gap:14px}.alert-row,.timeline-item,.note-card,.review-history-card,.job-card,.calendar-cell,.phase-card{border:1px solid var(--border);background:#ffffff08;border-radius:20px}.alert-row{display:flex;justify-content:space-between;gap:16px;padding:16px}.alert-row span,.timeline-item span,.note-card span,.review-history-card span,.calendar-event span{color:var(--muted)}.job-card-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-list,.dashboard-timeline{display:grid;gap:10px}.dashboard-list-link,.dashboard-timeline-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0}.dashboard-list-link+.dashboard-list-link,.dashboard-timeline-item+.dashboard-timeline-item{border-top:1px solid rgba(255,255,255,.06)}.dashboard-list-copy,.dashboard-project-card{min-width:0}.dashboard-list-copy p,.dashboard-timeline-item p{margin-top:6px;color:var(--muted);line-height:1.6}.dashboard-list-meta,.dashboard-timeline-item span{flex:0 0 auto;color:var(--muted);font-size:.9rem;white-space:nowrap}.dashboard-projects-section{gap:18px}.dashboard-project-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-project-card{display:grid;gap:20px;padding:24px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.dashboard-project-card:hover,.dashboard-list-link:hover{transform:translateY(-1px);background:#ffffff05}.dashboard-project-meta dt{color:var(--muted)}.dashboard-project-meta dd{color:var(--text)}.job-card{display:grid;gap:20px;padding:22px}.job-card-head,.job-progress-head,.phase-head,.review-history-head{display:flex;justify-content:space-between;gap:14px}.job-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.job-meta-grid dt{color:var(--muted);font-size:.85rem;margin-bottom:6px}.job-meta-grid dd{margin:0;font-weight:700}.job-progress-block{display:grid;gap:10px}.progress-line,.phase-progress{height:10px;border-radius:999px;background:#ffffff12;overflow:hidden}.progress-line div,.phase-progress div{height:100%;border-radius:inherit;background:linear-gradient(135deg,#f0c165,#c99736)}.status-badge{padding:8px 12px;font-size:.82rem;border-color:#ffffff12;background-clip:padding-box}.status-completed,.phase-state-completed{background:#57c68924}.status-feedback,.phase-state-active{background:#f0c16524}.status-pending,.status-in_progress,.status-draft,.status-planning,.status-waiting_feedback,.status-paused,.phase-state-pending{background:#ffffff0d}.detail-hero,.review-highlight{display:grid;gap:18px}.job-detail-layout{display:grid;gap:24px}.detail-surface{border:0;background:radial-gradient(circle at top right,rgba(202,161,82,.08),transparent 24%),linear-gradient(180deg,#131f2ce6,#0b1520eb)}.detail-actions{display:flex;justify-content:flex-start}.detail-back-button{width:fit-content}.detail-hero{gap:28px;padding:32px}.detail-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.detail-hero-copy{display:grid;gap:14px;min-width:0}.detail-title{font-size:clamp(2rem,3vw,3rem);font-weight:700}.detail-summary{max-width:72ch}.detail-status-stack{display:grid;justify-items:end;gap:12px;flex:0 0 auto}.detail-status-meta{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:.92rem}.detail-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}.detail-meta-item{padding:18px 20px;border-radius:22px;background:#ffffff09}.detail-meta-grid dt{color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.detail-meta-grid dd{margin:0;font-size:1rem;font-weight:700}.detail-progress-block{padding:20px 22px;border-radius:24px;background:#ffffff09}.detail-section-head{margin-bottom:6px}.detail-column-card{display:grid;gap:20px;padding:30px}.review-highlight{background:radial-gradient(circle at top right,rgba(202,161,82,.14),transparent 28%),linear-gradient(180deg,#0e1b27f2,#09141ff2)}.phase-section{padding:30px}.phase-timeline{display:grid;gap:24px}.phase-card{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:0;border:0;background:transparent;border-radius:0}.phase-empty-state{min-height:240px;display:grid;place-items:center;gap:18px;padding:24px;text-align:center;color:var(--muted)}.phase-empty-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:#ecf3f7b8;background:#ffffff0a}.phase-empty-icon svg{width:30px;height:30px}.phase-empty-title{margin-bottom:8px;color:var(--text);font-size:1.02rem;font-weight:600}.phase-line{display:grid;justify-items:center;grid-template-rows:auto 1fr}.phase-dot{width:16px;height:16px;border-radius:999px;background:linear-gradient(135deg,#f0c165,#c99736);box-shadow:0 0 0 5px #caa15224}.phase-connector{width:2px;margin-top:8px;background:linear-gradient(180deg,#caa15270,#ffffff1f)}.phase-content{display:grid;gap:14px;padding-bottom:24px}.phase-card:not(:last-child) .phase-content{border-bottom:1px solid rgba(255,255,255,.06)}.phase-percent,.phase-state,.rating-chip{padding:8px 12px}.phase-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.phase-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.88rem}.phase-update-note{margin:0;padding:14px 16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.05);color:var(--text);line-height:1.6}.phase-activity{display:grid;gap:14px;padding:18px 20px;border-radius:22px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff08,#ffffff04),#07111a70}.phase-activity-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.phase-activity-list{display:grid;gap:14px}.phase-activity-item{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:start}.phase-activity-marker{width:14px;height:14px;margin-top:4px;border-radius:999px;background:linear-gradient(135deg,#f0c165,#c99736);box-shadow:0 0 0 4px #caa1521f}.phase-activity-body{display:grid;gap:8px;min-width:0;padding-bottom:14px}.phase-activity-item:not(:last-child) .phase-activity-body{border-bottom:1px solid rgba(255,255,255,.06)}.phase-activity-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.phase-activity-meta strong{color:var(--text);font-size:.96rem;font-weight:600}.phase-activity-meta span{color:var(--muted);font-size:.84rem}.phase-activity-body p{margin:0;color:var(--text);line-height:1.6}.timeline-item,.note-card,.review-history-card{padding:18px}.timeline-item,.note-card{border:0;background:#ffffff09}.note-client{background:linear-gradient(0deg,#caa1520d,#caa1520d),#ffffff09}.detail-note-form{margin-top:8px;padding:20px 22px;border-radius:22px;background:#ffffff08}.note-form,.review-form{display:grid;gap:16px}.rating-group{display:flex;gap:10px;flex-wrap:wrap}.rating-chip{color:var(--text);background:#ffffff0a;cursor:pointer}.rating-chip.active{background:#caa15229;border-color:#caa15252}.calendar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.calendar-desktop-view{display:grid;gap:12px}.calendar-mobile-view{display:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.calendar-weekdays{margin-bottom:12px}.calendar-weekday{padding:10px 12px;text-align:center;color:var(--muted)}.calendar-cell{min-height:140px;padding:12px;display:grid;gap:10px;align-content:start}.calendar-cell.is-muted{opacity:.45}.calendar-cell header{font-weight:700}.calendar-events{display:grid;gap:8px}.calendar-event{padding:10px;border-radius:14px;background:#caa1521f;border:1px solid rgba(202,161,82,.18);display:grid;gap:4px}.calendar-agenda{margin-top:24px}.calendar-card{text-decoration:none;color:inherit}.calendar-empty-state{min-height:220px}.reviews-page{display:grid;gap:40px}.reviews-section{display:grid;gap:18px}.jobs-section{gap:18px}.jobs-section-copy{margin-top:12px;max-width:720px;color:var(--muted);line-height:1.7}.jobs-surface{display:grid;gap:18px;min-height:240px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(202,161,82,.06),transparent 26%),#14263670}.jobs-empty-state{min-height:280px;display:grid;place-items:center;align-content:center;gap:18px;padding:52px 0;text-align:center}.jobs-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;color:#64748b}.jobs-empty-icon svg{width:34px;height:34px}.jobs-empty-copy{display:grid;gap:10px;max-width:32rem}.jobs-empty-copy h3{font-size:1.2rem;font-weight:600;color:#e2e8f0}.jobs-empty-copy p{color:#94a3b8;line-height:1.7}.reviews-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.reviews-section-copy{margin-top:12px;max-width:720px;color:var(--muted);line-height:1.7}.reviews-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;border-radius:999px;color:#d8e4ec;background:#ffffff0d;font-weight:700}.reviews-surface{display:grid;gap:18px;min-height:240px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(202,161,82,.06),transparent 26%),#14263685;box-shadow:none}.reviews-pending-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.reviews-pending-card,.reviews-history-item,.reviews-skeleton-card{display:grid;gap:18px;padding:24px;border-radius:24px;background:#ffffff08}.reviews-pending-card{min-height:220px;transition:transform .16s ease,background .16s ease}.reviews-pending-card:hover{transform:translateY(-1px);background:#ffffff0d}.reviews-card-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8ea3b2;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.reviews-card-copy,.reviews-empty-copy{display:grid;gap:10px}.reviews-card-copy h3,.reviews-history-item h3,.reviews-empty-copy h3{font-size:1.25rem}.reviews-card-copy p,.reviews-entry-copy,.reviews-empty-copy p,.reviews-error-banner p{color:var(--muted);line-height:1.7}.reviews-card-foot,.reviews-history-head,.reviews-skeleton-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.reviews-status-pill,.reviews-card-link,.reviews-rating-badge{display:inline-flex;align-items:center;border-radius:999px}.reviews-status-pill{padding:8px 12px;color:#d8e4ec;background:#ffffff0d;font-size:.88rem}.reviews-card-link{padding:10px 14px;color:#f3d18a;background:#caa1521f;font-weight:700}.reviews-history-list{display:grid;gap:16px}.reviews-history-item{gap:16px}.reviews-rating-badge{gap:6px;padding:10px 14px;background:#ffffff0d;color:#eef5f8}.reviews-rating-badge strong{font-size:1.05rem}.reviews-rating-badge span,.reviews-entry-date{color:var(--muted)}.reviews-rating-row{display:flex;gap:8px}.reviews-rating-row span{width:18px;height:18px;color:#ffffff2e}.reviews-rating-row span.is-filled{color:#f0c165}.reviews-entry-title{font-weight:700;color:#f3f8fb}.reviews-entry-date{font-size:.92rem}.reviews-empty-state{min-height:240px;display:grid;place-items:center;align-content:center;gap:18px;text-align:center}.reviews-empty-icon,.reviews-error-icon{display:inline-flex;align-items:center;justify-content:center}.reviews-empty-icon{width:56px;height:56px;border-radius:18px;color:#7f93a1;background:#ffffff0a}.reviews-empty-icon svg,.reviews-error-icon svg{width:24px;height:24px}.reviews-error-banner{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:22px;background:#5b18226b;color:#ffc2cc}.reviews-error-banner strong{display:block;margin-bottom:4px;color:#ffd7dd}.reviews-error-icon{width:40px;height:40px;flex:0 0 auto;border-radius:14px;color:#ff9faf;background:#ff9faf1a}.dashboard-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.dashboard-dual-grid{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dashboard-metric-item{display:grid;gap:10px;align-content:start;text-align:left}.dashboard-metric-item strong{font-size:clamp(1.875rem,3vw,2.25rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:#f8fbfd}.dashboard-metric-item span{color:#94a3b8;font-size:.875rem;line-height:1.6}.dashboard-metric-item-skeleton .skeleton-line-kpi{max-width:72px}.dashboard-list{gap:0}.dashboard-list-link{padding:18px 0;transition:transform .16s ease,color .16s ease}.dashboard-list-copy strong{display:block;color:#f3f8fb;font-weight:700;line-height:1.45}.dashboard-list-copy p{margin-top:6px}.dashboard-project-card{display:grid;gap:20px;padding:24px;border:0;border-radius:24px;background:#ffffff08;transition:transform .16s ease,background .16s ease}.dashboard-project-card:hover,.dashboard-list-link:hover{transform:translateY(-1px);background:#ffffff0d}.dashboard-project-card .status-badge{border:0;background:#ffffff14}.dashboard-project-card .job-card-copy,.dashboard-project-card dd,.dashboard-project-card .muted-copy{overflow-wrap:break-word;word-break:break-word}@media(max-width:760px){.reviews-section-head,.reviews-card-eyebrow,.reviews-card-foot,.reviews-history-head,.reviews-skeleton-head,.reviews-error-banner,.dashboard-header-actions{flex-direction:column;align-items:flex-start}.jobs-surface,.reviews-surface{min-height:220px;padding:22px}.reviews-pending-card,.reviews-history-item,.reviews-skeleton-card{padding:20px}.dashboard-dual-grid,.dashboard-metrics-grid{grid-template-columns:1fr}.dashboard-project-card{padding:20px}}@media(max-width:1100px){.portal-shell,.login-panel,.dashboard-grid,.two-column-grid,.kpi-grid,.dashboard-zero-grid{grid-template-columns:1fr}.detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-sidebar{width:100%;position:relative;min-height:auto;overflow:visible;margin-bottom:28px;padding-bottom:56px;transition:max-height .18s ease,padding .18s ease}.portal-content{margin-left:0}.portal-sidebar.collapsed{max-height:120px}.portal-sidebar:not(.collapsed){max-height:720px}.portal-sidebar.collapsed .portal-nav,.portal-sidebar.collapsed .sidebar-bottom{display:none}.portal-sidebar.collapsed .sidebar-brand{min-height:48px;display:grid;justify-items:center}.portal-shell{display:block}.portal-shell.sidebar-collapsed{grid-template-columns:none}.portal-sidebar-shell{position:relative;width:100%;height:auto}.sidebar-collapse-toggle{inset:auto auto 0 50%;transform:translate(-50%,50%);width:64px;height:32px;border-radius:999px;z-index:4}}@media(max-width:760px){.portal-content,.portal-sidebar,.login-copy,.login-form{padding:20px}.hero-strip,.section-head,.detail-hero-head,.dashboard-summary-head,.dashboard-summary-actions,.dashboard-zero-hero,.dashboard-zero-section-head,.dashboard-list-link,.dashboard-timeline-item,.dashboard-zero-list-row,.job-card-head,.job-progress-head,.phase-head,.review-history-head,.phase-foot{flex-direction:column}.hero-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:0}.hero-pill{max-width:100%}.calendar-grid,.detail-meta-grid,.job-meta-grid,.quick-links-grid,.skeleton-grid-two,.dashboard-project-grid,.dashboard-zero-projects{grid-template-columns:1fr}.detail-status-stack{justify-items:start}.detail-status-meta{justify-content:flex-start}.detail-hero,.phase-section,.detail-column-card{padding:24px}.dashboard-list-meta,.dashboard-timeline-item span,.dashboard-zero-list-meta{white-space:normal}.dashboard-zero-page{gap:36px}.dashboard-zero-actions,.dashboard-zero-loading-actions,.dashboard-zero-button{width:100%}.dashboard-zero-list-row{gap:10px}.dashboard-zero-project-card{padding:16px}}@media(min-width:761px){.dashboard-zero-actions,.dashboard-zero-loading-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end}.dashboard-zero-projects{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-zero-project-card{padding:24px}}@media(min-width:900px){.dashboard-zero-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-zero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}}@media(max-width:1024px){.calendar-desktop-view{display:none}.calendar-mobile-view{display:block}}
