.admin-summary,.manager-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0 30px}
.admin-summary .panel{margin:0}.admin-summary span,.manager-summary span{display:block;color:var(--muted);font-size:12px}.admin-summary strong,.manager-summary strong{display:block;color:var(--ink);font:650 29px var(--display);letter-spacing:-1px;margin-top:9px}
.admin-projects{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}.admin-project{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1fr) auto;align-items:center;gap:20px;width:100%;border:0;border-bottom:1px solid var(--line);padding:19px 22px;background:transparent;color:var(--ink);text-align:left}.admin-project:last-child{border-bottom:0}.admin-project:hover,.manager-project:hover{background:var(--surface-soft)}.admin-project strong,.admin-project small{display:block}.admin-project strong{font-size:14px}.admin-project small{font-size:11px;color:var(--muted);margin-top:3px}.admin-project>span:nth-child(2){font-size:12px;color:var(--muted)}.admin-preview-info{margin-top:28px}.admin-preview-info p{margin:4px 0 0;color:var(--muted);font-size:12px}.preview-actions{display:flex;gap:7px;flex-wrap:wrap}.preview-actions .secondary{font-size:11px}
.client-plan{padding:24px 27px}.client-plan-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.client-plan-head h2{margin:10px 0 0}.client-progress{height:7px;background:var(--surface-soft);border-radius:10px;overflow:hidden;margin:21px 0 0}.client-progress>span{display:block;height:100%;background:var(--primary)}.client-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.client-stage-grid>div{border-top:2px solid var(--line);padding-top:12px;min-width:0}.client-stage-grid>div.current{border-color:var(--primary)}.client-stage-grid small,.client-stage-grid strong,.client-stage-grid span{display:block}.client-stage-grid small{font-size:10px;color:var(--muted)}.client-stage-grid strong{font-size:12px;margin:5px 0}.client-stage-grid span{font-size:11px;color:var(--muted)}.client-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.client-home-grid .panel{min-height:145px}.client-home-grid p,.client-home>.panel p{color:var(--muted);font-size:12px}.client-home-grid .quiet-link{margin-top:14px}.client-amount{display:block;font:650 24px var(--display);letter-spacing:-.5px;margin:7px 0}
.client-action-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--line);border-radius:13px;background:var(--paper);margin:0 0 21px}.client-action-panel strong{font-size:13px}.client-action-panel p{font-size:11px;color:var(--muted);margin:4px 0 0}.client-action-panel>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.client-action-panel .secondary{white-space:nowrap}
.manager-shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.manager-shell aside nav a,.manager-shell aside nav button{display:block;width:100%;padding:11px 13px;border:1px solid transparent;border-radius:12px;color:#a7b2c9;background:transparent;text-decoration:none;font-size:12px;text-align:left}.manager-shell aside nav a:hover,.manager-shell aside nav button:hover,.manager-shell aside nav button.selected{background:var(--soft);color:var(--ink)}[data-theme=light] .manager-shell aside nav a,[data-theme=light] .manager-shell aside nav button{color:var(--muted)}.manager-view{max-width:1220px}.manager-summary{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px}.manager-summary>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:19px 22px}.manager-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.manager-project{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);text-align:left}.manager-project strong{font:600 18px var(--display)}.manager-project small{color:var(--muted);font-size:11px;line-height:1.5}.manager-next{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:22px 25px;margin:22px 0 26px}.manager-next h2{font-size:21px;margin:7px 0 0}.manager-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}.manager-columns>.panel{min-width:0}.manager-detail{border-top:1px solid var(--line);padding:13px 0}.manager-detail:first-of-type{margin-top:9px}.manager-detail strong,.manager-client strong{display:block;font-size:12px;color:var(--ink)}.manager-detail p{font-size:11px;color:var(--muted);margin:4px 0 0}.manager-detail time{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.manager-edit{display:flex;align-items:center;justify-content:space-between;gap:14px}.manager-edit>div{min-width:0}.manager-edit select{max-width:135px;min-width:105px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}.manager-edit .secondary{font-size:11px}.manager-columns form .primary{margin-top:16px}.manager-client{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:13px 0}.manager-client>div{min-width:0;flex:1}.manager-client small{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.manager-client .secondary{font-size:10px;padding:7px}.manager-form{border-top:1px solid var(--line);margin-top:17px;padding-top:18px}.manager-form h3{font-size:14px;margin:0 0 13px}.manager-form .field{margin:10px 0}.manager-form .help{font-size:11px}.manager-form label{display:block;font-size:11px;color:var(--muted)}.manager-form input,.manager-form textarea,.manager-form select{width:100%;min-width:0}.manager-form input[type=file]{font-size:11px}.manager-form #manager-invite-result{margin-top:12px}.manager-form #manager-invite-result .secondary{margin-top:10px}
.role-preview{min-height:100vh;background:var(--canvas);color:var(--ink)}.role-preview header{display:flex;align-items:center;gap:16px;min-height:76px;border-bottom:1px solid var(--line);padding:16px 28px}.role-preview header strong{font:750 24px var(--display)}.role-preview header span{flex:1;color:var(--muted);font-size:12px}.role-preview main{max-width:1120px}.role-preview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:17px;margin-top:20px}.role-preview .panel p{color:var(--muted);font-size:12px}.role-preview .task{gap:12px}
.preview-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line);padding:9px 25px;font-size:12px;position:sticky;top:0;z-index:20}.preview-banner strong{font-weight:650}.preview-banner .secondary{min-height:35px;padding:7px 12px}
.preview-banner span{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:3px}.preview-banner-actions{display:flex;flex-wrap:wrap;gap:7px;flex-shrink:0}
@media(max-width:950px){.manager-columns,.role-preview-grid{grid-template-columns:1fr}.admin-project{grid-template-columns:1fr auto}.admin-project>span:nth-child(2){grid-column:1/-1;grid-row:2}.preview-actions{order:2}}
@media(max-width:700px){.admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-summary .panel{padding:13px}.admin-summary strong{font-size:21px}.admin-summary span{font-size:10px}.admin-project{padding:15px;gap:9px}.admin-project .badge{max-width:130px;overflow:hidden;text-overflow:ellipsis}.client-home-grid,.manager-project-list{grid-template-columns:1fr}.client-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-plan{padding:19px}.client-plan-head{align-items:flex-start;flex-direction:column}.client-action-panel{align-items:flex-start;flex-direction:column}.manager-shell{grid-template-columns:1fr}.manager-shell aside{display:none}.manager-view{padding:24px 16px}.manager-summary{margin:19px 0}.role-preview header{flex-wrap:wrap;padding:14px 18px}.role-preview header span{flex-basis:calc(100% - 100px)}.role-preview header button{width:100%}}
@media(max-width:700px){.preview-banner{align-items:flex-start;flex-direction:column;padding:12px 16px}.preview-banner-actions{width:100%}.preview-banner-actions .secondary{flex:1}}
@media(max-width:700px){.shell aside nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible}.shell aside nav button{min-width:0;min-height:42px;justify-content:center;text-align:center;white-space:normal;line-height:1.2;padding:8px 5px}.shell aside nav svg{display:none}}

/* ZaTek portal: legible, task-first surfaces shared by every role. */
:root {
  --canvas: #0a1020;
  --paper: #121b2d;
  --surface: #0d1729;
  --surface-soft: #192741;
  --soft: #192d53;
  --line: #2b3952;
  --ink: #f5f7fc;
  --muted: #adbad0;
  --primary: #537dff;
  --accent-text: #a9c0ff;
}
:root[data-theme=light] {
  --canvas: #f5f7fb;
  --paper: #ffffff;
  --surface: #f9fbff;
  --surface-soft: #edf2fa;
  --soft: #e7eeff;
  --line: #d4deeb;
  --ink: #18253d;
  --muted: #52647d;
  --primary: #315de0;
  --accent-text: #3159b8;
}
body { font-size: 15px; line-height: 1.55; }
.shell, .manager-shell { grid-template-columns: 248px minmax(0, 1fr); }
.shell aside, .manager-shell aside { padding: 27px 18px 24px; gap: 27px; }
.brand { font-size: 27px; }
.workspace { padding: 15px 13px; border-radius: 13px; }
.workspace strong { font-size: 13px; }
.workspace small { font-size: 11px; }
.nav-label { font-size: 10px; letter-spacing: 1.3px; }
nav button, .manager-shell aside nav a, .manager-shell aside nav button {
  min-height: 45px; font-size: 13px; padding: 10px 13px; border-radius: 10px;
}
.topbar { min-height: 72px; padding: 14px clamp(24px, 3vw, 52px); }
.breadcrumb { font-size: 12px; }
.top-actions { gap: 7px; }
.top-actions button { min-height: 37px; padding: 8px 13px; font-size: 12px; }
main { max-width: 1500px; padding: 38px clamp(24px, 3vw, 52px) 76px; }
.view { max-width: none; }
.page-heading { margin-bottom: 27px; }
.page-heading h1, .view > h1 { font-size: clamp(32px, 2.6vw, 43px); line-height: 1.13; letter-spacing: -1.65px; margin: 8px 0 12px; }
.eyebrow { font-size: 12px; color: var(--accent-text); }
.intro, .page-heading .intro { font-size: 15px; line-height: 1.55; max-width: 780px; color: var(--muted); }
.primary, .secondary { min-height: 43px; border-radius: 10px; font-size: 13px; font-weight: 600; }
.primary { background: var(--primary); border-color: var(--primary); box-shadow: none; }
.primary:hover { background: #648aff; border-color: #648aff; box-shadow: 0 8px 22px #315ee533; }
.secondary { background: var(--surface-soft); border-color: var(--line); color: var(--ink); }
.secondary:hover { border-color: var(--primary); background: var(--soft); }
.quiet-link { font-size: 13px; font-weight: 600; }
.panel, .invoice-card, .manager-project { border-radius: 15px; }
.panel { padding: 24px 26px; }
.panel h2, .section-title h2 { font-size: 18px; font-weight: 650; }
.section-title { margin: 25px 0 15px; }
.section-title span, .panel p, .task p, .doc p, .field p, .help { font-size: 13px; line-height: 1.6; }
.badge { font-size: 11px; font-weight: 600; padding: 5px 10px; }
.field label { font-size: 13px; }
.field input, .field select, .field textarea { font-size: 14px; }
button:disabled { opacity: .46; }

/* Admin: project work and role previews are the focus, not empty metrics. */
.admin-home .page-heading { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.admin-home .page-heading > .primary { margin: 0; }
.admin-summary { margin: 20px 0 30px; gap: 11px; }
.admin-summary .panel { min-height: 111px; padding: 18px 20px; background: var(--paper); }
.admin-summary span { font-size: 12px; line-height: 1.35; }
.admin-summary strong { font-size: 31px; line-height: 1; margin-top: 15px; }
.admin-projects { border-radius: 13px; }
.admin-project { grid-template-columns: minmax(210px, 1.1fr) minmax(170px, 1fr) auto; min-height: 83px; padding: 15px 20px; }
.admin-project strong { font-size: 16px; }
.admin-project small, .admin-project > span:nth-child(2) { font-size: 13px; }
.admin-project:hover { background: var(--soft); }
.admin-preview-info { margin-top: 20px; padding: 22px 25px; border-color: #3c5793; background: linear-gradient(115deg, var(--soft), var(--paper) 72%); }
.admin-preview-info h2 { margin-bottom: 7px; }
.admin-preview-info p { max-width: 710px; font-size: 13px; line-height: 1.55; }
.admin-preview-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.admin-preview-actions button { min-width: 158px; }

/* Client: make the immediate decision, plan and account status scan quickly. */
.client-home > .page-heading { margin-bottom: 27px; }
.client-home .next { padding: 26px 28px; border-radius: 15px; margin-bottom: 16px; background: linear-gradient(110deg, #1c335f, #182746 70%); }
[data-theme=light] .client-home .next { background: linear-gradient(110deg, #e4ecff, #f0f4ff); }
.client-home .next h2 { font-size: clamp(21px, 1.8vw, 27px); line-height: 1.25; margin-bottom: 8px; }
.client-home .next p { font-size: 14px; line-height: 1.5; }
.client-home .next .eyebrow { font-size: 11px; }
.client-action-panel { min-height: 86px; margin-bottom: 24px; border-radius: 13px; }
.client-action-panel strong { font-size: 15px; }
.client-action-panel p { font-size: 13px; line-height: 1.45; }
.client-plan { padding: 24px 26px; }
.client-plan-head h2 { font-size: 20px; }
.client-progress { height: 5px; margin-top: 24px; }
.client-stage-grid { gap: 12px; }
.client-stage-grid > div { padding-top: 13px; }
.client-stage-grid small, .client-stage-grid span { font-size: 12px; }
.client-stage-grid strong { font-size: 14px; line-height: 1.35; }
.client-home-grid p, .client-home > .panel p { font-size: 14px; }
.client-home-grid .panel { min-height: 155px; }
.client-amount { font-size: 26px; }
.stage h3 { font-size: 15px; }
.stage p, .stage-state, .task h3, .task .who { font-size: 12px; }

/* Project manager: clear editable rows and separation between work and people. */
.manager-view { max-width: 1450px; }
.manager-next { margin: 20px 0 22px; border-radius: 14px; padding: 22px 26px; }
.manager-next h2 { font-size: 24px; line-height: 1.25; }
.manager-columns { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 15px; }
.manager-columns > .panel { padding: 24px 25px; }
.manager-detail { padding: 15px 0; }
.manager-detail strong, .manager-client strong { font-size: 14px; line-height: 1.4; }
.manager-detail p { font-size: 13px; line-height: 1.45; }
.manager-detail time, .manager-client small { font-size: 12px; }
.manager-edit { gap: 16px; }
.manager-edit select { min-width: 122px; max-width: 138px; min-height: 40px; font-size: 13px; }
.manager-form h3 { font-size: 16px; }
.manager-form label, .manager-form .help { font-size: 13px; }
.manager-form input, .manager-form textarea { min-height: 43px; }
#root:has(.preview-banner) #manager-invite,
#root:has(.preview-banner) #manager-file { display: none; }
#root:has(.preview-banner) [data-revoke] { display: none; }

/* Billing: data is the point of each card. */
.accounts-view > h1 { font-size: clamp(32px, 2.6vw, 43px); }
.accounts-view > .intro { font-size: 15px; }
.billing-profile-grid { gap: 14px; margin-top: 25px; }
.billing-kind { padding: 23px 24px; border-radius: 14px; }
.account-category { font-size: 13px; }
.account-symbol { width: 34px; height: 34px; font-size: 18px; }
.account-title { margin: 18px 0 9px; }
.account-title h2 { font-size: 20px; line-height: 1.3; }
.collection-profile p { min-height: 0; margin-bottom: 17px; font-size: 13px; line-height: 1.55; }
.account-footer { align-items: flex-end; gap: 14px; }
.account-footer .actions { flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.account-footer .secondary { font-size: 12px; }
.currency-tag { font-size: 12px; line-height: 1.45; }
.issuer-summary { font-size: 13px; }

/* Preview controls should explain their limits without dominating the screen. */
.preview-banner { padding: 11px clamp(18px, 2.5vw, 42px); background: #1b2c51; }
:root[data-theme=light] .preview-banner { color: #f5f7fc; }
.preview-banner strong { font-size: 13px; }
.preview-banner span { font-size: 12px; color: #c6d2e8; }
.preview-banner-actions .secondary { min-height: 37px; font-size: 12px; }

@media (max-width: 1080px) {
  .shell, .manager-shell { grid-template-columns: 210px minmax(0, 1fr); }
  .manager-columns { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; }
  .top-actions { flex-wrap: wrap; justify-content: flex-end; }
  .billing-profile-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .shell, .manager-shell { display: block; }
  .shell aside, .manager-shell aside { padding: 18px 16px 13px; gap: 14px; }
  .manager-shell aside { display: block; }
  .manager-shell aside .workspace, .manager-shell aside .aside-end,
  .manager-shell aside .nav-label, .manager-shell aside #manager-projects { display: none; }
  .manager-shell aside nav {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px; overflow: visible; max-width: none; margin-top: 15px;
  }
  .manager-shell aside nav a {
    width: 100%; min-width: 0; min-height: 38px; white-space: normal;
    padding: 8px 10px; font-size: 12px; line-height: 1.2;
  }
  main, .manager-view { padding: 25px 18px 55px; }
  .topbar { padding: 13px 18px; min-height: 0; }
  .top-actions { width: 100%; justify-content: flex-start; }
  .top-actions button { min-height: 39px; }
  .page-heading { align-items: flex-start; }
  .page-heading h1, .view > h1 { font-size: 32px; }
  .intro { font-size: 14px; }
  .admin-home .page-heading > .primary { width: 100%; }
  .admin-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-summary .panel { padding: 14px; min-height: 96px; }
  .admin-summary strong { font-size: 25px; }
  .admin-project { grid-template-columns: 1fr auto; gap: 7px; }
  .admin-project > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .admin-preview-actions button { flex: 1; }
  .client-home .next { padding: 24px; }
  .client-home .next h2 { font-size: 23px; }
  .client-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-action-panel { align-items: stretch; }
  .client-action-panel > div:last-child { width: 100%; }
  .client-action-panel .secondary { flex: 1; }
  .manager-edit { align-items: flex-start; }
  .manager-edit select { flex: none; }
  .billing-profile-grid { grid-template-columns: 1fr; }
  .preview-banner { padding: 11px 16px; }
  .preview-banner-actions { width: 100%; flex-wrap: nowrap; gap: 5px; }
  .preview-banner-actions .secondary { flex: 1; min-width: 0; padding: 7px 5px; font-size: 11px; white-space: nowrap; }
}


.document-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0 20px}
.document-guide article{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--paper)}
.document-guide h2{font-size:13px;line-height:1.4;margin:0 0 9px;color:var(--ink);font-weight:650}
.document-guide p{font-size:12px;line-height:1.65;margin:0;color:var(--muted)}
@media(max-width:850px){.document-guide{grid-template-columns:1fr}.document-guide article{padding:17px}}
