@import url("/brand/tokens.css");
@font-face{font-family:Manrope;src:url("/brand/Manrope-Variable.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/brand/BarlowCondensed-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
:root {
  font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#1E2420;
  background:#F8F6F0;
  font-synthesis:none;
  --ink:#1E2420;
  --orange:#FF633D;
  --muted:#5D685F;
  --line:#D6DCD2
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
button,input,textarea {
  font:inherit
}
button,a,input,textarea {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.5;
  cursor:wait
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #275BB1;
  outline-offset:3px
}
a {
  color:inherit
}
button {
  border:0
}
h1,h2,p {
  margin:0
}
h1 {
  font-size:clamp(2rem,4vw,3.3rem);
  letter-spacing:-.055em;
  line-height:1.1;
  font-weight:600
}
h2 {
  font-size:1.4rem;
  letter-spacing:-.035em;
  font-weight:600
}
p {
  line-height:1.65
}
small,.fine {
  font-size:.8rem;
  line-height:1.6;
  color:var(--muted)
}
.eyebrow {
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--muted)
}
.brand {
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  font-size:1.85rem;
  letter-spacing:-.09em;
  font-weight:750
}
.brand-dot {
  color:#73933b
}
.mark {
  display:inline-grid;
  place-items:center;
  width:33px;
  height:35px;
  background:var(--ink);
  color:var(--orange);
  border-radius:8px;
  margin-right:9px;
  font-size:30px;
  line-height:1;
  font-style:italic;
  padding-right:5px
}
.pill {
  display:inline-block;
  border:1px solid var(--line);
  border-radius:99px;
  padding:5px 10px;
  font-size:0.75rem;
  letter-spacing:.025em;
  color:var(--muted)
}
header {
  height:88px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  background:#F8F6F0;
  gap:16px
}
.account {
  display:flex;
  align-items:center;
  gap:20px;
  font-size:.84rem
}
.account>span {
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.primary,.secondary,.quiet {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 18px;
  border-radius:8px;
  font-size:.84rem;
  font-weight:600;
  min-height:44px
}
.primary {
  background:var(--ink);
  color:#fff
}
.primary:hover {
  background:#295442
}
.secondary {
  background:#ECEDE6;
  color:var(--ink)
}
.secondary:hover {
  background:#D6DCD2
}
.quiet {
  background:transparent;
  color:var(--muted)
}
.quiet:hover {
  background:#ECEDE6
}
.wide {
  width:100%
}
.text-button {
  color:var(--ink);
  background:none;
  padding:4px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:4px
}
.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px
}
.heading-dot {
  color:#FF633D
}
.loading {
  padding:10vw
}
.skip {
  position:fixed;
  top:-100px;
  left:12px;
  background:#fff;
  padding:12px;
  z-index:20
}
.skip:focus {
  top:12px
}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.auth-layout {
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr
}
.intro {
  background:#FF633D;
  display:flex;
  flex-direction:column;
  padding:40px 9%;
  position:relative;
  overflow:hidden
}
.intro:after {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:1px solid #cad7b3;
  border-radius:50%;
  right:-220px;
  bottom:80px;
  box-shadow:0 0 0 45px #e4eccf,0 0 0 46px #cfdcbc;
  pointer-events:none
}
.intro>.brand {
  align-self:flex-start
}
.intro-copy {
  margin:auto 0;
  padding:80px 0;
  position:relative;
  z-index:1
}
.intro h1 {
  font-size:clamp(2.4rem,4.2vw,4.3rem);
  margin:24px 0
}
.intro-copy>p:not(.eyebrow) {
  max-width:360px;
  color:#1E2420;
  font-size:1rem
}
.intro-footer {
  font-size:0.75rem;
  color:#1E2420;
  position:relative;
  z-index:1
}
.sample {
  max-width:350px;
  display:flex;
  gap:14px;
  align-items:center;
  background:#ffffffb0;
  border:1px solid #fff;
  border-radius:12px;
  padding:18px;
  margin-top:36px;
  box-shadow:0 12px 30px #415e2910
}
.sample-avatar {
  background:#dde8c7;
  border-radius:50%;
  height:42px;
  width:42px;
  display:grid;
  place-items:center;
  font-size:.8rem
}
.sample strong,.sample div>span {
  display:block
}
.sample strong {
  font-size:.85rem
}
.sample div>span {
  font-size:0.75rem;
  color:var(--muted);
  margin-top:4px
}
.sample-check {
  margin-left:auto;
  background:var(--ink);
  color:var(--orange);
  border-radius:50%;
  width:26px;
  height:26px;
  text-align:center;
  padding-top:2px
}
.auth-main {
  display:grid;
  place-items:center;
  padding:48px 10%
}
.auth-card {
  width:100%;
  max-width:390px
}
.auth-card h2 {
  font-size:1.8rem;
  margin:24px 0 10px
}
.auth-card>p {
  color:var(--muted);
  font-size:var(--t-body);
  max-width:66ch
}
.auth-card form {
  margin-top:28px
}
.auth-card .switch {
  text-align:center;
  margin:24px 0
}
.auth-card .fine {
  font-size:var(--t-body);
  border-top:1px solid var(--line);
  padding-top:20px
}
.auth-card .pill {
  background:#fff
}
form {
  display:grid;
  gap:16px
}
label {
  display:grid;
  gap:8px;
  font-size:.79rem;
  font-weight:600
}
input,textarea {
  width:100%;
  min-width:0;
  border:1px solid #d6ddcf;
  border-radius:8px;
  padding:13px 14px;
  color:var(--ink);
  background:#fff;
  font-size:.88rem
}
input::placeholder,textarea::placeholder {
  color:#8b958a;
  font-weight:400
}
textarea {
  resize:vertical;
  line-height:1.6
}
textarea[readonly] {
  background:#f7f8f4;
  color:#61715f
}
form>small {
  margin-top:-8px;
  font-weight:400
}
.form-error {
  color:#a13030;
  font-size:.83rem;
  line-height:1.5
}
.form-error:empty {
  display:none
}
.workspace {
  display:grid;
  grid-template-columns:218px minmax(0,1fr);
  min-height:calc(100vh - 88px)
}
aside {
  border-right:1px solid var(--line);
  padding:40px 24px;
  background:#F8F6F0;
  display:flex;
  flex-direction:column
}
aside>.eyebrow {
  font-size:0.75rem;
  margin:0 10px 22px
}
.nav-current {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  padding:14px;
  border-radius:9px;
  background:#ECEDE6;
  font-size:.87rem;
  font-weight:650
}
.nav-count {
  margin-left:auto;
  font-size:0.75rem;
  color:#687957
}
.aside-bottom {
  margin-top:auto;
  padding:40px 10px 0
}
.aside-bottom p {
  font-size:.75rem;
  color:var(--muted);
  margin-top:14px
}
.dashboard {
  width:100%;
  max-width:1400px;
  padding:44px 4.2%;
  margin:0 auto
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:32px
}
.page-heading h1 {
  margin:12px 0
}
.page-heading p:not(.eyebrow) {
  color:var(--muted);
  font-size:.88rem
}
.page-heading>.primary {
  flex-shrink:0
}
.stats {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:16px;
  margin-bottom:28px
}
.stat {
  padding:24px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:12px
}
.stat>span {
  font-size:.75rem;
  color:var(--muted)
}
.stat>span:first-child {
  font-weight:550
}
.stat strong {
  font-size:2.5rem;
  font-weight:550;
  letter-spacing:-.07em;
  line-height:1.2
}
.stat small {
  font-size:.94rem;
  font-weight:400;
  letter-spacing:0
}
.stat.featured {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
}
.featured>span,.featured small {
  color:#c2d0bd
}
.featured strong {
  color:var(--orange)
}
.capacity-note {
  font-size:.8rem;
  line-height:1.6;
  background:#f2f0df;
  border:1px solid #e6e1c8;
  border-radius:9px;
  padding:14px 18px;
  margin:0 0 24px;
  color:#6d6036
}
.clients-card {
  overflow:hidden
}
.list-toolbar {
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap
}
.tabs {
  display:flex;
  gap:3px
}
.tab {
  font-size:.76rem;
  padding:10px 12px;
  min-height:40px;
  background:none;
  border-radius:7px;
  color:var(--muted);
  white-space:nowrap
}
.tab.selected {
  background:#ECEDE6;
  color:var(--ink);
  font-weight:650
}
.search {
  flex:1;
  max-width:260px;
  min-width:190px
}
.search input {
  font-size:.75rem;
  background:#fafbf7;
  padding:10px 12px
}
.client-row {
  width:100%;
  background:#fff;
  display:flex;
  gap:16px;
  align-items:center;
  text-align:left;
  padding:20px 24px;
  color:var(--ink);
  border-bottom:1px solid #edf0e8
}
.client-row:last-child {
  border-bottom:0
}
.client-row:hover {
  background:#f9fbf5
}
.avatar {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#ECEDE6;
  font-size:.76rem;
  flex-shrink:0
}
.muted-avatar {
  background:#f0f1ed;
  color:#879081
}
.client-name {
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  gap:5px
}
.client-name strong {
  font-size:.86rem;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.client-name>span {
  font-size:0.75rem;
  color:var(--muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.badge {
  display:inline-flex;
  border-radius:99px;
  padding:6px 10px;
  white-space:nowrap;
  font-size:0.75rem;
  font-weight:500;
  flex-shrink:0;
  background:#f1f2ed;
  color:#72796d
}
.badge.active {
  background:#e8f3d6;
  color:#476b28
}
.badge.invited {
  background:#f5efdc;
  color:#856728
}
.badge.archived {
  background:#f0f1ed;
  color:#6c7367
}
.row-arrow {
  margin-left:8px;
  color:#96a38f
}
.below-list {
  margin-top:18px;
  font-size:0.75rem;
  color:var(--muted)
}
.empty {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:56px 24px;
  text-align:center;
  gap:14px
}
.empty-symbol {
  font-size:2rem;
  background:#f1f5e8;
  width:60px;
  height:60px;
  border-radius:16px;
  display:grid;
  place-items:center;
  margin-bottom:6px
}
.empty h2 {
  font-size:1.15rem
}
.empty p {
  font-size:.83rem;
  color:var(--muted)
}
.empty button {
  margin-top:8px
}
dialog {
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  max-width:520px;
  width:calc(100% - 32px);
  max-height:90vh;
  color:var(--ink);
  box-shadow:0 30px 100px #172d2630;
  overflow:auto
}
dialog::backdrop {
  background:#112d2659;
  backdrop-filter:blur(3px)
}
.dialog-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px
}
.dialog-heading h2 {
  overflow-wrap:anywhere
}
.close {
  font-size:1.5rem;
  padding:6px 12px
}
.detail-email {
  color:var(--muted);
  font-size:.83rem;
  overflow-wrap:anywhere;
  margin-bottom:12px
}
dialog>p {
  font-size:.85rem;
  color:var(--muted);
  margin-bottom:20px
}
dialog>form {
  margin-top:24px
}
dialog>label {
  margin:20px 0
}
.detail-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px
}
.danger {
  color:#935141
}
.history {
  margin-top:28px;
  border-top:1px solid var(--line);
  padding-top:20px;
  font-size:.77rem
}
.history summary {
  cursor:pointer
}
.history ol {
  list-style:none;
  padding:0
}
.history li {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 0
}
.history time {
  color:var(--muted);
  font-size:0.75rem
}
.join-page {
  max-width:500px;
  margin:64px auto;
  padding:36px
}
.join-page h1 {
  font-size:2.2rem;
  margin:14px 0 24px
}
.join-page h2 {
  margin:24px 0 16px;
  font-size:1.1rem
}
.join-page form {
  margin-top:24px
}
.join-page .fine {
  margin-top:24px
}
.invite-address {
  font-size:.85rem;
  font-weight:600;
  overflow-wrap:anywhere;
  margin-top:8px
}
.inline-warning {
  margin:24px 0;
  color:#8c6537
}
.client-home {
  max-width:760px;
  margin:0 auto;
  padding:52px 24px
}
.client-home h1 {
  margin:12px 0
}
.lead {
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:32px
}
.cooperation {
  padding:28px;
  margin-bottom:20px
}
.cooperation-heading {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:24px
}
.cooperation h2 {
  margin-top:8px
}
#notice {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  opacity:0;
  pointer-events:none;
  max-width:calc(100% - 32px);
  width:max-content;
  padding:14px 20px;
  border-radius:10px;
  background:var(--ink);
  color:#fff;
  box-shadow:0 8px 30px #172d2629;
  font-size:.83rem;
  z-index:30;
  transition:opacity .15s,transform .15s
}
#notice.show {
  opacity:1;
  transform:translateX(-50%)
}
#notice.error {
  background:#8a3636
}
@media(min-width:1450px) {
  .dashboard {
    padding:52px 5%
  }
  .list-toolbar {
    flex-wrap:nowrap
  }
}
@media(max-width:1050px) {
  .workspace {
    grid-template-columns:175px minmax(0,1fr)
  }
  aside {
    padding:32px 16px
  }
  .dashboard {
    padding:36px 28px
  }
  .list-toolbar {
    align-items:stretch
  }
  .search {
    max-width:none
  }
  .stats {
    gap:10px
  }
  .stat {
    padding:20px
  }
  .page-heading>.primary {
    padding:12px
  }
  .auth-main {
    padding:40px 8%
  }
}
@media(max-width:760px) {
  header {
    height:72px;
    padding:0 24px
  }
  .workspace {
    display:block;
    min-height:calc(100vh - 72px)
  }
  aside {
    display:none
  }
  .dashboard {
    padding:30px 24px
  }
  .auth-layout {
    grid-template-columns:1fr
  }
  .intro {
    padding:24px 7%
  }
  .intro-copy {
    padding:36px 0 10px
  }
  .intro h1 {
    font-size:2.8rem;
    margin:14px 0
  }
  .intro-copy>p:not(.eyebrow) {
    font-size:.88rem;
    max-width:420px
  }
  .sample,.intro-footer {
    display:none
  }
  .intro:after {
    bottom:-150px
  }
  .auth-main {
    padding:36px 24px
  }
  .auth-card {
    max-width:440px
  }
  .auth-card h2 {
    margin-top:20px
  }
  .page-heading {
    align-items:flex-start
  }
  .page-heading h1 {
    font-size:2.6rem
  }
  .stats {
    grid-template-columns:1fr 1fr
  }
  .stat.featured {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:4px
  }
  .featured strong {
    grid-column:2;
    grid-row:1/3
  }
  .stat>span {
    font-size:0.75rem
  }
  .stat strong {
    font-size:2.1rem
  }
  .list-toolbar {
    padding:14px
  }
  .tabs {
    width:100%;
    overflow-x:auto
  }
  .tab {
    flex:1;
    padding:10px
  }
  .search {
    max-width:none;
    width:100%
  }
  .client-row {
    padding:18px 16px;
    gap:12px
  }
  .row-arrow {
    display:none
  }
  .client-name>span {
    font-size:0.75rem
  }
  .join-page {
    margin:32px auto;
    width:calc(100% - 32px);
    padding:28px
  }
  .cooperation {
    padding:22px
  }
}
@media(max-width:460px) {
  header {
    padding:0 18px
  }
  .brand {
    font-size:1.65rem
  }
  .mark {
    width:29px;
    height:31px;
    font-size:26px
  }
  .account {
    gap:6px
  }
  .account>span {
    max-width:90px;
    font-size:0.75rem
  }
  .account .quiet {
    font-size:0.75rem;
    padding:10px
  }
  .dashboard {
    padding:28px 16px
  }
  .page-heading {
    display:block;
    margin-bottom:24px
  }
  .page-heading h1 {
    font-size:2.5rem;
    margin:12px 0
  }
  .page-heading>.primary {
    margin-top:20px;
    width:100%
  }
  .page-heading p:not(.eyebrow) {
    font-size:.8rem
  }
  .stat {
    padding:18px
  }
  .featured small {
    font-size:.85rem
  }
  .tab {
    padding:10px 8px;
    font-size:0.75rem
  }
  .client-row {
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    column-gap:12px;
    row-gap:10px
  }
  .avatar {
    width:38px;
    height:38px;
    grid-row:1/3
  }
  .client-row .badge {
    justify-self:start;
    grid-column:2
  }
  .client-name>span {
    font-size:0.75rem
  }
  .empty {
    padding:40px 20px
  }
  .empty h2 {
    font-size:1.05rem
  }
  .detail-actions>button {
    flex-grow:1
  }
  .cooperation-heading {
    align-items:flex-start;
    flex-direction:column
  }
  .client-home {
    padding:36px 16px
  }
  dialog {
    padding:22px
  }
  .dialog-heading h2 {
    font-size:1.3rem
  }
  .intro .eyebrow {
    font-size:0.75rem
  }
  .intro h1 {
    font-size:2.6rem
  }
  .join-page h1 {
    font-size:1.9rem
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
    scroll-behavior:auto!important
  }
}

/* Formuj: shared palette and original vector logo. */
:root{--t-body:1rem;--t-meta:.875rem;--t-micro:.75rem}
.brand img{display:block;width:9.5rem;max-width:100%;height:2.3rem;object-fit:contain}
.brand{letter-spacing:0;flex-shrink:0}
.primary{background:var(--orange);color:var(--ink)}
.primary:hover{background:var(--orange-hover)}
.primary,.secondary,.quiet{font-size:var(--t-meta)}
.intro::after{display:none}
.intro h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(3rem,5.8vw,5.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.05}
.intro .eyebrow{color:var(--ink)}
.intro-footer{font-size:var(--t-micro)}
.intro-copy>p:not(.eyebrow){font-size:var(--t-body)}
.sample{background:var(--canvas);border-color:var(--canvas);box-shadow:none}
.sample-avatar{background:var(--yellow)}
.featured>span,.featured small{color:#B8C2B7}
form input,form textarea{font-size:var(--t-body)}
@media(max-width:650px){.brand img{width:8rem;height:2rem}.intro h1{font-size:3rem}}

.below-list{font-size:var(--t-body);max-width:66ch;line-height:1.6}

/* Keep the account action reachable at 320px and with enlarged text. */
.account a{text-decoration:none}
.account a[aria-current="page"]{color:var(--ink);background:var(--surface-subtle)}
.account-page{max-width:44rem;margin:0 auto;padding:32px 24px 64px}
.account-back{display:inline-flex;align-items:center;min-height:44px;color:var(--link);margin-bottom:16px}
.account-page h1{font-size:2.5rem;margin-bottom:16px}
.account-identity{overflow-wrap:anywhere;color:var(--muted)}
.account-section{padding:32px 0;border-bottom:1px solid var(--line)}
.account-section h2{margin-bottom:12px}
.account-section>p{margin-bottom:16px;max-width:66ch}
.account-section form{margin-top:24px;gap:8px}
.account-section label{font-size:1rem;margin-top:8px}
.account-section input{border-color:var(--control-line);min-height:48px}
.account-section small,.account-section .form-error{font-size:.875rem}
.account-section small{margin:0}
.account-section button{justify-self:start;min-height:48px;margin-top:8px;max-width:100%;white-space:normal;text-align:left}
.account-section input[aria-invalid="true"]{border-color:var(--danger)}
.account-status:empty{display:none}
.account-recovery{margin-top:24px}
.account-recovery a{color:var(--link)}
@media(max-width:699px){
  header{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding:16px 20px}
  .account{min-width:0;max-width:100%;flex:1 1 180px;margin-left:auto;gap:4px;justify-content:flex-end;flex-wrap:wrap}
  .account>span{min-width:0;max-width:none;flex:1}
  .account .quiet{flex-shrink:0}
  .account-page{padding:24px 20px 48px}
  .account-page h1{font-size:2rem}
}

/* Direction: Formuj working space, top navigation and one clear next action.
   Scale: Manrope 16px body, 40px heading; Barlow stays on the entry screen.
   Motion: 120ms feedback only. Lists and editors keep their place.
   Detail: open space, quiet dividers and orange only for the next action. */
.portal-header{height:auto;min-height:5.5rem;display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-24);padding:var(--space-12) var(--space-40);background:var(--canvas)}
.portal-header .brand img{width:8.5rem;height:auto;max-width:100%}
.portal-nav{display:flex;align-items:stretch;gap:var(--space-24)}
.portal-nav a{display:flex;align-items:center;min-height:var(--size-control);padding:var(--space-12) var(--space-4);text-decoration:none;font-size:var(--type-label-size);font-weight:600;border-bottom:2px solid transparent;color:var(--muted)}
.portal-nav a:hover{color:var(--ink)}
.portal-nav a[aria-current=page]{border-bottom-color:var(--orange);color:var(--ink)}
.portal-header .account{justify-content:flex-end;gap:var(--space-12);min-width:0}
.account-link{display:flex;align-items:center;gap:var(--space-8);min-height:var(--size-control);text-decoration:none;font-size:var(--type-label-size);border-radius:var(--radius-control)}
.account-link[aria-current=page]{text-decoration:underline;text-underline-offset:.35em}
.account-avatar{display:grid;place-items:center;background:var(--surface-subtle);border:1px solid var(--line);width:2rem;height:2rem;border-radius:50%;font-weight:700}
.portal-header .quiet{font-size:var(--type-label-size);padding:var(--space-8);min-height:var(--size-control)}
.portal-dashboard{max-width:80rem;margin:auto;padding:var(--space-48) var(--space-40);width:100%;min-width:0}
.portal-dashboard h1{font-size:var(--type-h1-size);line-height:var(--type-h1-line-height);font-weight:var(--type-h1-weight);letter-spacing:-.04em}
.portal-dashboard .page-heading{margin-bottom:var(--space-32)}
.portal-dashboard .page-heading p:not(.eyebrow){font-size:var(--type-body-size)}
.portal-dashboard .pending-panel{border:0;border-left:3px solid var(--orange);border-radius:0;background:var(--surface-subtle);padding:var(--space-24) var(--space-32);margin-bottom:var(--space-32)}
.portal-dashboard .pending-panel h2{font-size:var(--type-h3-size);font-weight:700}
.portal-dashboard .pending-panel p:not(.eyebrow){font-size:var(--type-body-size)}
.portal-dashboard .clients-card{border-radius:var(--radius-card);box-shadow:none}
.portal-dashboard .list-toolbar{padding:var(--space-20) var(--space-24);gap:var(--space-24)}
.portal-dashboard .tabs{gap:var(--space-4)}
.portal-dashboard .tab{font-size:var(--type-label-size);min-height:var(--size-control-compact);padding:var(--space-8) var(--space-12)}
.portal-dashboard .tab.selected{background:var(--ink);color:var(--canvas)}
.portal-dashboard .client-row{padding:var(--space-24);min-height:5.5rem}
.portal-dashboard .client-name strong{font-size:var(--type-body-size);font-weight:700}
.portal-dashboard .client-name>span,.portal-dashboard .badge{font-size:var(--type-label-size)}
.portal-dashboard .avatar{background:var(--surface-subtle);color:var(--ink);font-size:var(--type-label-size)}
.capacity-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-16);padding:var(--space-24) 0;color:var(--muted);font-size:var(--type-label-size)}
.capacity-footer strong{color:var(--ink);font-variant-numeric:tabular-nums}
.capacity-footer span{margin-left:var(--space-8)}
.start-guide{padding:var(--space-24) 0 var(--space-32);border-top:1px solid var(--line)}
.start-guide h2{font-size:var(--type-h3-size);font-weight:700;margin-bottom:var(--space-24)}
.start-guide ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24)}
.start-guide li{display:flex;gap:var(--space-12);align-items:start}
.start-guide li>span{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:50%;background:var(--surface-subtle);font-size:var(--type-label-size);font-variant-numeric:tabular-nums}
.start-guide p{font-size:var(--type-body-size);color:var(--muted);margin-top:var(--space-4)}
.auth-header{grid-template-columns:1fr auto}
.auth-layout{min-height:calc(100svh - 5.5rem)}
.auth-layout .intro{background:var(--orange);color:var(--ink)}
.auth-layout .intro-copy h1{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,7rem);font-weight:600;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.auth-layout .intro-copy>p{font-size:var(--type-body-size);color:var(--ink)}
.auth-steps{padding-left:var(--space-20);margin-top:var(--space-32);font-size:var(--type-body-size);line-height:2}
.auth-layout .intro-footer{color:var(--ink);font-size:var(--type-label-size)}
.auth-card h2:focus{outline:none}
.auth-card .fine{font-size:var(--type-label-size)}
@media(max-width:1023px){.portal-header{padding-inline:var(--space-24);gap:var(--space-16);grid-template-columns:auto 1fr auto}.portal-nav{justify-content:center;gap:var(--space-16)}.portal-dashboard{padding:var(--space-32) var(--space-24)}}
@media(max-width:699px){
 .portal-header{display:flex;flex-wrap:wrap;gap:0 var(--space-12);padding:var(--space-12) var(--space-20) 0}
 .portal-header .brand{flex:1 1 auto}.portal-header .brand img{width:7rem}
 .portal-header .account{grid-column:2;grid-row:1;gap:var(--space-8);order:2;flex-wrap:wrap}
 .portal-header .account-avatar{display:none}
 .portal-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;gap:0 var(--space-24);margin-top:var(--space-8);flex-wrap:wrap;flex:0 0 100%;order:3}
 .portal-nav a{font-size:var(--type-label-size);min-height:var(--size-control)}
 .portal-dashboard{padding:var(--space-32) var(--space-20)}
 .portal-dashboard h1{font-size:2rem}
 .portal-dashboard .page-heading{gap:var(--space-24)}
 .portal-dashboard .pending-panel{padding:var(--space-20)}
 .portal-dashboard .list-toolbar{padding:var(--space-16);flex-direction:column;align-items:stretch}
 .portal-dashboard .tabs{flex-wrap:wrap}
 .portal-dashboard .search{width:100%;max-width:none}
 .portal-dashboard .client-row{padding:var(--space-20) var(--space-16)}
 .start-guide ol{grid-template-columns:1fr;gap:var(--space-20)}
 .capacity-footer{display:grid;gap:var(--space-4)}
 .auth-header{padding-bottom:var(--space-12)}
 .auth-layout{min-height:0;display:block}
 .auth-layout .intro{display:none}
 .auth-main{padding:var(--space-40) var(--space-20)}
}
@media(max-width:359px){.portal-header{padding-inline:var(--space-16)}.portal-header .account{gap:0}.portal-dashboard{padding-inline:var(--space-16)}.portal-header .quiet{padding-inline:var(--space-8)}}
[hidden] { display: none !important; }
.recovery-page { max-width: 32rem; margin: 4rem auto; padding: 0 1.5rem 3rem; }
.recovery-page h1 { font-size: 2rem; line-height: 1.2; }
.recovery-page p { line-height: 1.6; }
.recovery-page form { display: grid; gap: 1rem; margin: 1.5rem 0; }
