:root{--bg:#080807;--card:#151515;--line:rgba(211,161,106,.2);--line2:rgba(151,175,176,.18);--text:#f5ede3;--muted:#cfc6bc;--soft:#9ca3af;--accent:#97AFB0;--gold:#d3a16a;--coffee:#6f4e37;--ok:#9fd2b3;--danger:#ffb4a8}*{box-sizing:border-box}body.portal-body,body.portal-dashboard{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 7%,rgba(151,175,176,.14),transparent 28%),radial-gradient(circle at 85% 12%,rgba(211,161,106,.13),transparent 30%),linear-gradient(135deg,#080807,#140f0b 64%,#080807);color:var(--text);font-family:Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 84%)}.brand-mark{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}.brand-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--accent));color:#0b0b0b;font-weight:1000;box-shadow:0 14px 34px rgba(211,161,106,.18)}.brand-name{font-weight:950;letter-spacing:-.03em}.brand-tag{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.portal-shell{position:relative;max-width:1180px;margin:0 auto;padding:30px 18px 70px}.portal-login-wrap{position:relative;min-height:100vh;display:grid;place-items:center;padding:28px 18px}.portal-login-grid{width:min(1060px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:stretch}.portal-panel,.portal-login-card,.portal-card{background:linear-gradient(180deg,rgba(24,24,24,.96),rgba(13,12,11,.98));border:1px solid var(--line);border-radius:30px;box-shadow:0 30px 100px rgba(0,0,0,.34)}.portal-panel{padding:clamp(28px,5vw,54px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.portal-panel:after{content:"";position:absolute;right:-120px;bottom:-120px;width:300px;height:300px;border-radius:50%;background:rgba(211,161,106,.15);filter:blur(6px)}.portal-login-card{padding:clamp(24px,4vw,38px)}.portal-kicker{color:var(--accent);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:950;margin:0 0 12px}.portal-panel h1,.portal-login-card h1,.portal-hero h1{font-size:clamp(2.6rem,7vw,5.3rem);line-height:.9;letter-spacing:-.07em;margin:0 0 16px}.portal-panel p,.portal-login-card p,.portal-muted{color:var(--muted);line-height:1.65}.portal-proof{display:grid;gap:10px;margin-top:30px}.portal-proof div{padding:14px 16px;border:1px solid var(--line2);border-radius:17px;background:rgba(0,0,0,.22);color:var(--muted)}.portal-form{display:grid;gap:16px;margin-top:22px}.portal-form label{display:block;color:var(--accent);font-size:.74rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}.portal-form input,.portal-form textarea{width:100%;min-height:56px;border:1px solid var(--line2);border-radius:16px;background:rgba(0,0,0,.28);color:var(--text);font-size:1rem;padding:14px}.portal-form textarea{min-height:120px;resize:vertical}.portal-form input:focus,.portal-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(151,175,176,.12)}.portal-btn,.portal-back,.portal-pay{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:14px;padding:0 18px;text-decoration:none;font-weight:950;border:0;cursor:pointer}.portal-btn{width:100%;background:linear-gradient(180deg,#d3a16a,#b87f47);color:#160f0b}.portal-btn:disabled{opacity:.65}.portal-back{border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text);margin-top:12px}.portal-msg{min-height:22px;color:var(--accent);font-weight:800}.portal-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.portal-top-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-hero{padding:clamp(26px,5vw,44px);border-radius:32px;background:radial-gradient(circle at 92% 10%,rgba(211,161,106,.16),transparent 32%),linear-gradient(180deg,rgba(24,24,24,.95),rgba(12,12,12,.98));border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.28);margin-bottom:18px}.portal-hero p{max-width:760px}.portal-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.portal-card{border-radius:24px;padding:22px}.portal-card h2,.portal-card h3{letter-spacing:-.04em;margin:4px 0 12px}.portal-card h2{font-size:1.8rem}.portal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.portal-stat{padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(0,0,0,.2)}.portal-stat span{display:block;color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:950;margin-bottom:8px}.portal-stat strong{font-size:1.8rem;color:var(--gold);word-break:break-word}.portal-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:rgba(151,175,176,.1);border:1px solid var(--line2);color:var(--accent);font-weight:950}.progress-track{height:14px;background:rgba(255,255,255,.06);border:1px solid var(--line2);border-radius:999px;overflow:hidden;margin:14px 0}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--accent));border-radius:999px}.portal-list{display:grid;gap:12px}.portal-item{padding:15px;border-radius:17px;background:rgba(255,255,255,.04);border:1px solid var(--line2);color:var(--muted);line-height:1.55}.portal-item strong{color:var(--text)}.portal-item a{color:var(--gold);font-weight:900}.portal-pay{background:var(--gold);color:#160f0b;margin-top:8px}.timeline{position:relative;display:grid;gap:14px}.timeline:before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:1px;background:var(--line2)}.timeline-item{position:relative;padding-left:34px;color:var(--muted);line-height:1.45}.timeline-item:before{content:"";position:absolute;left:4px;top:4px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(211,161,106,.1)}.timeline-item strong{display:block;color:var(--text)}.portal-error{display:none}.portal-error.open{display:block}.logout{background:transparent;color:var(--muted);border:1px solid var(--line2)}.reply-status{font-weight:900;color:var(--accent)}.message-composer{margin-top:14px}.message-composer .portal-btn{margin-top:6px}.microcopy{font-size:.88rem;color:var(--soft)}.unread-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:10px;padding:7px 10px;border-radius:999px;background:var(--gold);color:#120d09;font-size:.8rem;font-weight:950;letter-spacing:0}.stage-card{margin-bottom:18px}.stage-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stage-step{padding:13px;border-radius:16px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--soft)}.stage-step span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line2);margin-bottom:8px}.stage-step.active{border-color:var(--gold);color:var(--text);background:rgba(211,161,106,.1)}.stage-step.done{border-color:rgba(159,210,179,.35);color:var(--ok)}#messages.portal-list{gap:10px}.portal-item.message-bubble{width:fit-content;max-width:86%;border:0;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.message-incoming{justify-self:end;background:linear-gradient(180deg,rgba(211,161,106,.96),rgba(184,127,71,.96));color:#160f0b;border-radius:18px 18px 5px 18px}.message-incoming strong,.message-incoming .message-time{color:#160f0b}.message-outgoing{justify-self:start;background:rgba(151,175,176,.14);border:1px solid rgba(151,175,176,.2);color:var(--text);border-radius:18px 18px 18px 5px}.message-time{display:block;margin-top:6px;font-size:.72rem;color:var(--soft);font-weight:800}@media(max-width:920px){.portal-login-grid,.portal-grid{grid-template-columns:1fr}.portal-stat-grid{grid-template-columns:1fr 1fr}.portal-top{display:block}.portal-top-actions{margin-top:14px}.stage-steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.portal-shell{padding:18px 14px 50px}.portal-stat-grid,.stage-steps{grid-template-columns:1fr}.portal-login-card,.portal-panel,.portal-hero,.portal-card{border-radius:22px}.portal-panel h1,.portal-login-card h1,.portal-hero h1{font-size:clamp(2.4rem,15vw,4rem)}.portal-top-actions a,.portal-top-actions button{width:100%}.portal-item.message-bubble{max-width:95%}}