/* Shared client and admin workspace; public pages retain their existing design. */
body.client-portal-page, body.admin-dashboard-page {





  --workspace-gold:#efc66a;
  --workspace-border:rgba(239,198,106,.24);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.55;
}
:is(.client-portal-page,.admin-dashboard-page) :is(h1,h2,h3,h4) {text-transform:none;letter-spacing:-.025em;line-height:1.25;font-weight:650}
:is(.client-portal-page,.admin-dashboard-page) :is(p,li,dd) {line-height:1.65}
:is(.client-portal-page,.admin-dashboard-page) [hidden] {display:none!important}
:is(.client-portal-page,.admin-dashboard-page) :focus-visible {outline:3px solid var(--workspace-gold);outline-offset:3px}
.workspace-header,.admin-header {position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:16px 32px;border-bottom:1px solid var(--workspace-border);box-shadow:none}
.workspace-brand {display:flex;flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;flex-shrink:0;line-height:1}

.workspace-brand strong {display:block;font-size:17px;letter-spacing:.07em;color:#f0c45a}
.workspace-brand span {display:block;margin-top:5px;font-size:.68rem;letter-spacing:.14em;color:#fff}
.workspace-header-links {display:flex;align-items:center;gap:20px;font-size:13px}
.workspace-header-links a {text-decoration:none;font-weight:600}
.workspace-header-links a:hover {}
.workspace-header-links .workspace-site-link {padding:9px 14px;border:1px solid var(--workspace-border);border-radius:8px;}
.admin-brand strong {font-size:17px;letter-spacing:.07em}
.admin-brand span {letter-spacing:.14em}
.workspace-header-label {font-size:12px;border-left:1px solid var(--workspace-border);padding-left:20px}
.admin-header-actions {border:0;padding:0;gap:14px;min-width:0}
#admin-email {font-size:12px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-header-actions button {border:1px solid var(--workspace-border);border-radius:8px;min-height:36px;font-weight:600}
.admin-profile-photo {border:0;}
.admin-menu-toggle {}.admin-menu-toggle span {}
.admin-shell {grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 76px)}
.admin-content {max-width:1600px;padding:36px 40px;position:relative}
.admin-content::before,.admin-page-heading::before,.admin-stat-card::after {display:none}
.admin-page-heading {padding:0;margin-bottom:28px}
.admin-page-heading h1 {font-size:30px;font-weight:650}
.admin-page-heading p:last-child {font-size:14px;margin-top:9px;max-width:70ch}
.admin-kicker,.card-kicker,.portal-eyebrow {font-size:10px;letter-spacing:.14em;font-weight:700;margin:0 0 9px}
.admin-sidebar,.portal-sidebar {border:0;box-shadow:none;--portal-gold:var(--workspace-gold)}
.admin-sidebar {padding:28px 16px;position:sticky;top:76px;height:calc(100vh - 76px);align-self:start}
.admin-sidebar-label {font-size:10px;letter-spacing:.15em;margin:0 14px 20px}
.admin-nav {gap:5px}
.admin-nav-button {min-height:46px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:12px;padding:12px 14px;box-shadow:none}
.admin-nav-button::before {position:static;flex:0 0 18px;transform:none;width:18px;height:18px}
.admin-nav-button:hover,.admin-nav-button.active {box-shadow:none;border:0}
.admin-nav-button.active {box-shadow:inset 3px 0 var(--workspace-border)}
.workspace-sidebar-note {margin:28px 12px 0;padding-top:22px;border-top:1px solid var(--workspace-border);font-size:12px;line-height:1.7}
.workspace-sidebar-note strong {display:block;font-weight:600;margin-bottom:5px}
.workspace-sidebar-note a {text-decoration:none}
.admin-stat-grid {gap:18px;margin-bottom:26px}
.admin-stat-card,.admin-card,.portal-card,.stat-card {border:1px solid var(--workspace-border);border-radius:12px;box-shadow:0 3px 12px rgb(20 37 59 / 3%);transform:none}
.admin-stat-card {min-height:140px;padding:22px;border-top:1px solid var(--workspace-border)!important;overflow:hidden}
.admin-stat-card span {font-size:12px;font-weight:550;margin-bottom:20px}
.admin-stat-card strong {font-size:30px;line-height:1;letter-spacing:-.03em}
.admin-stat-card:first-child {}
.admin-stat-card:first-child span {}.admin-stat-card:first-child strong {}
.admin-card {padding:26px;margin-bottom:24px}
.admin-card-heading {margin-bottom:22px}.admin-card-heading h2 {font-size:19px}
.admin-card>p {max-width:90ch;font-size:13px;margin-bottom:16px}
.admin-action-row {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
:is(.admin-primary-button,.portal-primary-button,.small-gold-button,.portal-form button[type=submit]) {border:1px solid var(--workspace-border);border-radius:8px;font-size:13px;font-weight:700;min-height:44px;box-shadow:none;transform:none}
:is(.admin-primary-button,.portal-primary-button,.small-gold-button,.portal-form button[type=submit]):hover {transform:none}
:is(.admin-secondary-button,.admin-small-button,.portal-secondary-button,.file-row button) {border:1px solid var(--workspace-border);border-radius:8px;font-size:13px;font-weight:600;min-height:40px;box-shadow:none;transform:none}
:is(.admin-secondary-button,.admin-small-button,.portal-secondary-button,.file-row button):hover {transform:none}
.admin-form-grid {gap:20px}.admin-field label,.portal-form label,#portal-support-form label {font-size:12px;font-weight:650}
:is(.admin-field,.portal-form) :is(input,select,textarea),#portal-support-form :is(input,textarea),.portal-message-composer textarea,.message-composer textarea,.workflow-task :is(input[type=text],select),.agreement-acceptance input[type=text] {border:1px solid var(--workspace-border);border-radius:8px;min-height:44px;padding:11px 13px;font-family:inherit;font-size:14px;box-shadow:none}
:is(.admin-field,.portal-form) input[type=checkbox] {min-height:20px;width:20px;padding:0;}
:is(.client-portal-page,.admin-dashboard-page) textarea {line-height:1.55;resize:vertical}
:is(.client-portal-page,.admin-dashboard-page) input::placeholder,:is(.client-portal-page,.admin-dashboard-page) textarea::placeholder {}
.admin-list-item,.portal-file-item,.portal-project-box,.project-details>div,.checklist li,.profile-photo-editor {box-shadow:none;transform:none}
.admin-list-item:hover {transform:none;}
.admin-list-item h3,.portal-file-name {}.admin-list-item p,.portal-file-details,.portal-file-status {}
.admin-empty {padding:24px;border:1px dashed var(--workspace-border);border-radius:8px;}
.agreement-card {border:1px solid var(--workspace-border);border-radius:10px;padding:22px}
.agreement-card h3 {font-size:19px}.agreement-status {}.agreement-details dt {font-size:12px;letter-spacing:.015em}.agreement-details dd {font-size:14px}
.agreement-card details,.workflow-editor {border-radius:8px}
.agreement-card button {border-radius:8px;border:1px solid var(--workspace-border);padding:10px 15px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5}
.agreement-card button:hover {}
.agreement-card .admin-small-button {}
.agreement-terms {font-size:13px;}
.portal-page {min-height:calc(100vh - 76px);padding:30px 32px 60px}
.portal-topbar {width:min(1380px,100%);margin:0 auto 26px;padding:0;border:0;border-radius:0;box-shadow:none;gap:24px}
.portal-topbar h1 {font-size:30px;margin:0 0 8px;line-height:1.25}
.portal-topbar>div:first-child>p:last-child {font-size:14px;max-width:70ch}
.portal-user {border:1px solid var(--workspace-border);border-radius:10px;padding:12px;box-shadow:none;max-width:420px}
.portal-avatar {width:40px;height:40px;font-size:14px;flex:0 0 40px}
.portal-user strong {font-size:13px}.portal-user span {font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-logout {border:1px solid var(--workspace-border);border-radius:7px;font-size:12px;padding:8px 11px;margin-left:8px}.portal-logout:hover {}
.portal-layout {width:min(1380px,100%);grid-template-columns:224px minmax(0,1fr);gap:26px}
.portal-sidebar {border-radius:12px;padding:23px 12px;top:100px;height:max-content;position:sticky}
.portal-sidebar::before {display:none}
.workspace-nav-label {margin:0 12px 18px;font-size:10px;font-weight:650;letter-spacing:.14em}
.portal-nav {gap:5px}.portal-nav-link {border:0;border-radius:8px;min-height:45px;font-size:13px;padding:12px 14px 12px 42px;font-weight:550}
.portal-nav-link::before {left:14px;width:17px;height:17px;}
.portal-nav-link:hover,.portal-nav-link.active {border:0;box-shadow:none}
.portal-nav-link.active {box-shadow:inset 3px 0 var(--workspace-border)}
.portal-nav-link[data-panel=agreements] {--portal-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6zM14 3v5h4M9 12h6M9 16h4'/%3E%3C/g%3E%3C/svg%3E")}
.portal-content {min-width:0}.portal-card {padding:27px}.portal-card:hover {}.portal-card h2 {font-size:23px}.portal-card h3 {font-size:17px}.portal-card p {font-size:14px}
.portal-project-title-row {gap:18px;align-items:center}.portal-progress-number {font-size:34px;font-weight:650;letter-spacing:-.04em}
.progress-track {height:8px;border-radius:6px;margin:24px 0 12px}.progress-track span {border-radius:6px}
.progress-labels {font-size:12px;}.progress-labels strong {font-weight:550}
.portal-project-update {border:1px solid var(--workspace-border);border-left:3px solid var(--workspace-border);border-radius:7px;padding:16px;font-size:13px;margin-top:22px}
.portal-stage {font-size:12px}.portal-stage.current {}.portal-stage.complete {}
.portal-empty-state {min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.workspace-shortcuts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.workspace-shortcut {display:block;position:relative;padding:21px;border:1px solid var(--workspace-border);border-radius:10px;text-decoration:none;box-shadow:0 3px 12px rgb(20 37 59 / 3%)}
.workspace-shortcut:hover {}.workspace-shortcut strong {display:block;font-size:14px;margin-bottom:7px;font-weight:650}.workspace-shortcut span {display:block;font-size:12px;line-height:1.65}.workspace-shortcut b {display:block;margin-top:17px;font-size:12px;font-weight:600;}
.portal-upload-box {border:1px dashed var(--workspace-border);box-shadow:none;border-radius:10px}.portal-upload-box:hover {}
.message-thread,.portal-message-thread {}.message-client-button {border-bottom-color:var(--workspace-border)}.message-client-button.active {}
.message-bubble,.portal-message-bubble {box-shadow:0 2px 5px rgb(20 37 59 / 3%)}
.message-row.from-admin .message-bubble,.portal-message-row.from-client .portal-message-bubble {}
.portal-message-bubble p {}.message-client-avatar {border:0}
.message-sidebar-header,.message-chat-header,.portal-message-header,.message-composer,.portal-message-composer {}
.portal-message-card {padding:0}.message-chat,.message-sidebar {padding:0}.portal-message-empty {}
.client-portal-page footer {padding:20px 32px 32px;border-top:1px solid var(--workspace-border);text-align:center;box-shadow:none}
.client-portal-page footer a {font-size:12px}.client-portal-page footer p {font-size:12px}.client-portal-page footer h3,.client-portal-page footer h4 {}
@media(max-width:1100px){.admin-content{padding:28px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header .workspace-header-label{display:none}.portal-user{max-width:330px}.portal-user span{max-width:150px}}
@media(max-width:900px){.portal-page{padding:24px 20px 45px}.portal-layout{grid-template-columns:1fr;gap:20px}.portal-sidebar{position:static;margin:0;padding:10px;border-radius:10px;overflow-x:auto}.workspace-nav-label,.portal-sidebar .workspace-sidebar-note{display:none}.portal-nav{display:flex;width:max-content;gap:5px}.portal-nav-link{min-width:auto;padding:11px 14px 11px 39px;white-space:nowrap}.workspace-shortcuts{gap:12px}.portal-topbar{flex-wrap:wrap}.portal-user{max-width:100%;width:auto}}
@media(max-width:760px){.workspace-header,.admin-header{min-height:68px;padding:12px 16px;gap:12px}.workspace-header-links{gap:12px}.workspace-header-links .workspace-site-link{padding:7px 9px;font-size:11px}.admin-shell{display:block;min-height:calc(100vh - 68px)}.admin-sidebar{position:fixed;top:0;height:100dvh;padding:88px 16px 24px;z-index:60}.admin-content{padding:24px 16px}.admin-header-actions{gap:6px}.admin-header-actions button{font-size:11px;padding:8px 10px}.admin-page-heading h1,.portal-topbar h1{font-size:25px}.admin-card,.portal-card{padding:20px;border-radius:10px}.admin-stat-grid{gap:12px}.admin-stat-card{padding:18px;min-height:122px}.admin-stat-card strong{font-size:26px}.admin-action-row{grid-template-columns:1fr 1fr}.admin-action-row .admin-primary-button{grid-column:1/-1}.workspace-shortcuts{grid-template-columns:1fr}.workspace-shortcut{padding:18px}.workspace-shortcut b{margin-top:10px}.admin-form-grid{grid-template-columns:1fr}.portal-topbar{padding:0;margin-bottom:20px}.portal-user{width:100%;grid-template-columns:40px minmax(0,1fr) auto}.portal-user span{max-width:none}.portal-sidebar{margin:0}.portal-logout{margin:0}.admin-form-actions{align-items:stretch;gap:10px}.admin-form-actions>button{flex:1 1 160px}.agreement-card{padding:16px}.portal-message-card{padding:0}.portal-message-bubble{max-width:90%}.message-layout{grid-template-columns:1fr}.client-portal-page footer{padding:20px 16px}.workspace-header-links>a:first-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){.workspace-shortcut,.admin-nav-button,.portal-nav-link{transition:none}}

.workspace-language{font-size:12px;text-decoration:none} @media(max-width:760px){.admin-header .workspace-language{display:none}}

body.client-portal-page,body.admin-dashboard-page{padding-top:0!important;margin:0} body.admin-dashboard-page .admin-header{width:100%;box-sizing:border-box}

/* Retain the original black and gold brand palette. */
body.client-portal-page{--workspace-bg:var(--portal-bg);--workspace-panel:var(--portal-panel);--workspace-text:var(--portal-text);--workspace-muted:var(--portal-muted);--workspace-border:var(--portal-border);--workspace-gold:var(--portal-gold);background:var(--portal-bg);color:var(--portal-text);color-scheme:dark}
body.admin-dashboard-page{--workspace-bg:var(--admin-bg);--workspace-panel:var(--admin-panel);--workspace-text:var(--admin-text);--workspace-muted:var(--admin-muted);--workspace-border:var(--admin-border);--workspace-gold:var(--admin-gold-light);color-scheme:dark}
.workspace-header{background:var(--workspace-bg)}
.workspace-brand,.workspace-shortcut{color:var(--workspace-text)}

.workspace-header-label,.workspace-nav-label,.workspace-sidebar-note,.workspace-shortcut span{color:var(--workspace-muted)}
.workspace-header-links a,.workspace-language,.workspace-sidebar-note strong{color:var(--workspace-text)}
.workspace-header-links a:hover,.workspace-sidebar-note a,.workspace-shortcut b{color:var(--workspace-gold)}
.workspace-shortcut{background:var(--workspace-panel)}
.workspace-shortcut:hover{border-color:var(--workspace-gold)}

/* Access feedback and compact, fully visible mobile workspace navigation. */
.admin-auth-pending .admin-shell { display:none; }
.admin-access-status { width:min(600px,calc(100% - 32px)); margin:40px auto; padding:24px; border:1px solid var(--workspace-border); border-radius:12px; background:#151515; color:#fff; }
.admin-access-status a,.admin-access-status button { display:inline-block; margin:8px 12px 0 0; }
.workspace-header,.admin-header { background:#0b0b0b; }
.portal-layout,.portal-topbar,.portal-sidebar,.portal-user,.portal-topbar>div { min-width:0; }
.portal-project-summary { gap:16px; }
.portal-project-summary .progress-track { margin:0; }
.portal-nav-link::before { color:var(--workspace-gold); }
@media(max-width:900px) {
  .client-portal-page .portal-sidebar { overflow:visible; margin:0; padding:8px; border-radius:12px; }
  .client-portal-page .portal-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:6px; }
  .client-portal-page .portal-nav-link { width:100%; min-width:0; min-height:62px; padding:30px 4px 8px; white-space:normal; line-height:1.3; text-align:center; font-size:12px; }
  .client-portal-page .portal-nav-link::before { left:50%; top:8px; transform:translateX(-50%); width:17px; height:17px; }
  .client-portal-page .portal-nav-link.active { box-shadow:inset 0 -3px var(--workspace-gold); }
}
@media(max-width:760px) {
  .client-portal-page .portal-page { padding:20px 16px 48px; }
  .client-portal-page .portal-topbar { display:grid; gap:16px; background:transparent; }
  .client-portal-page .portal-topbar h1 { font-size:clamp(23px,6vw,30px); }
  .client-portal-page .portal-user { max-width:100%; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:10px; }
  .client-portal-page .portal-user>div:nth-child(2) { min-width:0; }
  .client-portal-page .portal-user span { max-width:100%; font-size:12px; }
  .client-portal-page .portal-logout { grid-column:auto; width:auto; font-size:12px; padding:10px; }
  .client-portal-page .portal-project-title-row { display:flex; align-items:flex-start; flex-wrap:wrap; }
  .portal-project-title-row>div:first-child { flex:1 1 210px; min-width:0; }
  .client-portal-page .portal-card h2 { font-size:22px; overflow-wrap:anywhere; }
  .progress-labels { display:flex; flex-wrap:wrap; gap:6px 16px; }
  :is(.client-portal-page,.admin-dashboard-page) :is(input,select,textarea) { font-size:16px; }
  .workspace-header-links,.admin-header-actions { flex-wrap:wrap; }
}

/* Desktop workspaces: keep navigation vertical at laptop widths. */
.client-portal-page .portal-nav { min-width:0; }
@media(min-width:901px) {
  .client-portal-page .portal-topbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); align-items:center; gap:28px; background:transparent; }
  .client-portal-page .portal-topbar h1 { font-size:30px; }
  .client-portal-page .portal-user { display:grid; grid-template-columns:40px minmax(0,1fr) auto; width:100%; max-width:none; gap:12px; }
  .client-portal-page .portal-user>div:nth-child(2) { min-width:0; }
  .client-portal-page .portal-user span { max-width:100%; }
  .client-portal-page .portal-logout { margin:0; white-space:nowrap; }
  .client-portal-page .portal-layout { grid-template-columns:224px minmax(0,1fr); align-items:start; gap:28px; }
  .client-portal-page .portal-sidebar { position:sticky; top:96px; max-height:calc(100dvh - 116px); overflow-y:auto; padding:20px 12px; }
  .client-portal-page .portal-nav { display:grid; grid-template-columns:minmax(0,1fr); width:100%; min-width:0; gap:6px; }
  .client-portal-page .portal-nav-link { width:100%; min-width:0; min-height:46px; padding:12px 12px 12px 42px; white-space:normal; text-align:left; }
  .client-portal-page .portal-card { padding:26px; }
  .client-portal-page .portal-project-title-row { display:flex; flex-wrap:nowrap; align-items:flex-start; }
  .client-portal-page .portal-project-title-row>div:first-child { min-width:0; }
  .client-portal-page .portal-project-title-row h2 { font-size:25px; overflow-wrap:anywhere; }
  .client-portal-page .portal-progress-number { flex-shrink:0; font-size:36px; }
  .client-portal-page .progress-labels { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; }
  .client-portal-page .portal-stage-grid { grid-template-columns:repeat(7,minmax(0,1fr)); overflow:visible; }
  .client-portal-page .portal-stage { min-width:0; overflow-wrap:anywhere; padding:10px 4px; font-size:11px; }
  .client-portal-page .workspace-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:761px) {
  .admin-dashboard-page .admin-shell { grid-template-columns:238px minmax(0,1fr); align-items:start; }
  .admin-dashboard-page .admin-sidebar { position:sticky; top:76px; height:calc(100dvh - 76px); overflow-y:auto; transform:none; }
  .admin-dashboard-page .admin-nav { display:grid; grid-template-columns:minmax(0,1fr); }
  .admin-dashboard-page .admin-content { width:100%; min-width:0; max-width:1400px; margin:0 auto; }
  .admin-dashboard-page .admin-header-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
  .admin-dashboard-page .admin-card { min-width:0; }
  .admin-dashboard-page .admin-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-dashboard-page .admin-action-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-dashboard-page .admin-nav-button { white-space:normal; }
  .portal-brand .brand-text strong { font-size:1.5rem; }
  .portal-brand .brand-text small { font-size:.65rem; }
}
@media(min-width:761px) and (max-width:1000px) {
  .admin-dashboard-page .admin-shell { grid-template-columns:200px minmax(0,1fr); }
  .admin-dashboard-page .admin-content { padding:24px; }
  .admin-dashboard-page .admin-header-actions #admin-email { max-width:140px; }
}
@media(min-width:1101px) {
  .login-page .auth-page { padding:48px 6% 56px!important; min-height:calc(100vh - var(--header-height)); }
  .login-page .auth-shell { width:min(1100px,100%); grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:48px!important; }
  .login-page .auth-intro h1 { font-size:clamp(42px,4vw,58px); line-height:1.1; margin-bottom:18px; }
  .login-page .auth-intro>p:not(.auth-kicker) { font-size:16px; max-width:46ch; }
  .login-page .auth-card { padding:30px; }
  .login-page .auth-card h2 { font-size:30px; }
  .login-page .auth-feature-list { margin-top:24px; gap:12px; }
}

/* Bound nested project grids to the available column; wrap content instead of clipping. */
.client-portal-page .portal-page { width:100%; max-width:100%; }
.client-portal-page :is(.portal-content,.portal-panel,#portal-dashboard-project,#portal-project-details,.portal-card,.portal-project-summary,.portal-project-summary>*,.workspace-shortcut) { min-width:0; max-width:100%; }
.client-portal-page .portal-project-summary { grid-template-columns:minmax(0,1fr); }
.client-portal-page .portal-project-title-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }
.client-portal-page .portal-project-title-row>div:first-child { min-width:0; }
.client-portal-page :is(.portal-project-title-row h2,.portal-project-meta,.portal-project-update,.progress-labels strong,.workspace-shortcut) { white-space:normal; overflow-wrap:anywhere; }
.client-portal-page .portal-project-update { width:100%; }
.client-portal-page .progress-labels>* { min-width:0; max-width:100%; }
.client-portal-page .workspace-shortcuts { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); }
@media(min-width:901px) {
  .client-portal-page .portal-layout { grid-template-columns:clamp(180px,18vw,224px) minmax(0,1fr); gap:24px; }
  .client-portal-page .portal-topbar { grid-template-columns:minmax(0,1fr) minmax(260px,340px); }
}
@media(max-width:620px) {
  .client-portal-page .portal-project-title-row { grid-template-columns:minmax(0,1fr); }
}

/* Hosting uses the same server icon in both workspace navigation menus. */
:is(.portal-nav-link,.admin-nav-button)[data-panel="hosting"] {
  --portal-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A//www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cg%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='3'%20width='18'%20height='7'%20rx='2'/%3E%3Crect%20x='3'%20y='14'%20width='18'%20height='7'%20rx='2'/%3E%3Cpath%20d='M7%206.5h.01M7%2017.5h.01M11%206.5h6M11%2017.5h6'/%3E%3C/g%3E%3C/svg%3E");
  --admin-nav-icon:var(--portal-nav-icon);
}
