:root{--ink:#2e2924;--muted:#6e6258;--brown:#6f5947;--dark:#33291f;--cream:#fffaf4;--soft:#f5eee7;--line:#eaded2;--white:#fff;--ok:#54705d;--warn:#9a6d3d}*{box-sizing:border-box}body.portal-body{margin:0;background:linear-gradient(145deg,#fffaf4,#f5eee7);color:var(--ink);font-family:Inter,Arial,sans-serif;min-height:100vh}.portal-shell{width:min(1180px,calc(100% - 32px));margin:auto}.portal-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.portal-logo{width:150px;max-height:70px;object-fit:contain}.portal-link,.portal-btn{font:inherit}.portal-link{color:var(--brown);text-decoration:none;font-weight:600}.portal-card{background:rgba(255,255,255,.88);border:1px solid rgba(111,89,71,.15);border-radius:24px;box-shadow:0 20px 60px rgba(51,41,31,.08)}.login-wrap{min-height:calc(100vh - 115px);display:grid;place-items:center;padding:30px 0 70px}.login-card{width:min(480px,100%);padding:38px}.portal-kicker{font-size:.72rem;letter-spacing:.16em;color:var(--brown);font-weight:700;text-transform:uppercase}.portal-card h1,.portal-card h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:var(--dark)}.portal-card h1{font-size:clamp(2rem,5vw,3rem);margin:.35rem 0 .7rem}.portal-muted{color:var(--muted);line-height:1.6}.portal-form{display:grid;gap:15px;margin-top:25px}.portal-form label{font-size:.8rem;font-weight:700;color:var(--dark)}.portal-form input,.portal-form select,.portal-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.portal-form textarea{min-height:100px;resize:vertical}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(111,89,71,.09)}.portal-btn{border:0;border-radius:999px;background:var(--brown);color:#fff;padding:13px 18px;font-weight:700;cursor:pointer}.portal-btn.secondary{background:var(--soft);color:var(--brown)}.portal-btn:disabled{opacity:.55;cursor:not-allowed}.portal-error{background:#fff1ef;color:#8b3d32;padding:11px 13px;border-radius:11px;font-size:.83rem}.portal-success{background:#eef6ef;color:#41614a;padding:11px 13px;border-radius:11px;font-size:.83rem}.portal-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;padding:25px 0 60px}.portal-main,.portal-side{display:grid;gap:20px;align-content:start}.pad{padding:26px}.welcome{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--soft);color:var(--brown);font-size:.76rem;font-weight:700}.progress-track{height:11px;background:#eee7df;border-radius:999px;overflow:hidden;margin:16px 0 8px}.progress-bar{height:100%;background:var(--brown);border-radius:999px;transition:width .4s ease}.progress-value{font-size:2rem;font-family:Georgia,serif}.steps{display:grid;gap:0;margin-top:16px}.step{display:grid;grid-template-columns:28px 1fr;gap:11px;position:relative;padding-bottom:18px}.step:not(:last-child):before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:1px;background:var(--line)}.step-dot{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:.75rem;color:var(--muted);z-index:1}.step.done .step-dot{background:var(--brown);color:#fff}.step.current .step-dot{outline:3px solid rgba(111,89,71,.15);background:#fff;color:var(--brown);border:2px solid var(--brown)}.step strong{font-size:.88rem}.step small{display:block;color:var(--muted);margin-top:3px}.message{padding:13px 0;border-bottom:1px solid var(--line)}.message:last-child{border:0}.message time{font-size:.7rem;color:var(--muted)}.upload-box{border:1px dashed rgba(111,89,71,.35);border-radius:16px;padding:18px;background:#fff}.upload-box input{max-width:100%}.admin-layout{display:grid;grid-template-columns:310px 1fr;gap:20px;padding:25px 0 60px}.client-list{display:grid;gap:8px;margin-top:15px}.client-item{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left;cursor:pointer}.client-item.active{border-color:var(--brown);background:var(--soft)}.client-item strong,.client-item small{display:block}.client-item small{color:var(--muted);margin-top:3px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-actions{display:flex;gap:9px;flex-wrap:wrap}.hidden{display:none!important}@media(max-width:820px){.portal-grid,.admin-layout{grid-template-columns:1fr}.portal-topbar{padding:15px 0}.portal-logo{width:125px}.login-card{padding:27px}.pad{padding:20px}.welcome{display:block}.status-pill{margin-top:8px}.row2{grid-template-columns:1fr}}

/* ===== Portal V2 / V3 additions ===== */
.portal-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0 6px}.portal-welcome h1{font-size:clamp(2rem,4vw,3.4rem);margin:.35rem 0 .5rem}.section-heading{padding:6px 4px}.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:2rem;margin:.35rem 0 1rem;color:var(--dark)}.work-cards{display:grid;gap:18px}.work-card h2{margin:.35rem 0}.work-card-head,.workspace-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.work-progress-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84rem}.work-progress-line strong{color:var(--dark)}.steps.compact{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.history-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item strong,.history-item small{display:block}.history-item small{color:var(--muted);margin-top:4px}.history-item>span{font-size:.78rem;color:var(--ok);font-weight:700}.work-list{display:grid;gap:8px;margin:20px 0}.work-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--brown);margin:14px 0 4px}.work-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer;color:var(--ink)}.work-item:hover{background:var(--soft)}.work-item strong,.work-item small{display:block}.work-item small{color:var(--muted);margin-top:3px}.work-item.complete{opacity:.72}.work-pct{font-weight:700;color:var(--brown)}.subpanel{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.subpanel textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink);min-height:90px;margin:8px 0 12px}.stage-checklist{display:grid;gap:12px;margin-top:10px}.stage-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:var(--soft);border:1px solid var(--line);padding:10px 12px;border-radius:12px}.stage-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--brown)}.stage-check .stage-name{background:transparent!important;border:0!important;padding:4px!important;box-shadow:none!important}.empty-work{background:rgba(255,255,255,.7);border:1px dashed var(--line);border-radius:18px;padding:22px}.empty-work h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;margin:0 0 8px}.compact-copy{margin:.3rem 0 0;font-size:.86rem}.field-help{display:block;color:var(--muted);font-size:.75rem;margin-top:6px}

.stage-admin-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.stage-admin-card .stage-check{border:0;border-radius:0;border-bottom:1px solid var(--line)}.stage-note-history{padding:12px 14px 0}.no-stage-notes{font-size:.8rem;margin:0 0 10px}.stage-note{position:relative;background:var(--soft);border-radius:12px;padding:11px 12px;margin-bottom:9px}.stage-note p,.client-stage-note p{margin:.45rem 0 0;white-space:pre-wrap;line-height:1.5}.stage-note-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.72rem;color:var(--muted)}.stage-note-meta strong{color:var(--brown)}.note-delete{border:0;background:transparent;color:#8b3d32;padding:5px 0 0;font:inherit;font-size:.7rem;cursor:pointer}.stage-note-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:5px 14px 14px}.stage-note-compose textarea{min-height:72px;margin:0!important}.stage-note-compose .portal-btn{white-space:nowrap}.stage-admin-card>[id^="stageNoteMessage"]{margin:0 14px 14px}

.step-content{min-width:0}.client-stage-notes{display:grid;gap:7px;margin-top:9px}.client-stage-note{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 10px}.client-stage-note .stage-note-meta{display:block}.client-stage-note .stage-note-meta span{display:block;margin-top:2px}.client-stage-note p{font-size:.8rem;color:var(--ink)}

.history-details{border-bottom:1px solid var(--line)}.history-details:last-child{border-bottom:0}.history-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0}.history-details summary::-webkit-details-marker{display:none}.history-details summary strong,.history-details summary small{display:block}.history-details summary small{color:var(--muted);margin-top:4px}.history-complete{font-size:.78rem;color:var(--ok);font-weight:700}.history-stage-list{padding:4px 0 4px}.history-stage-list .step{padding-bottom:14px}

@media(max-width:820px){.portal-welcome,.work-card-head,.workspace-head,.work-progress-line{display:block}.portal-welcome .status-pill,.work-card-head .status-pill{margin-top:10px}.steps.compact{grid-template-columns:1fr}.workspace-head .portal-btn{margin-top:12px;width:100%}.stage-note-compose{grid-template-columns:1fr}.stage-note-compose .portal-btn{width:100%}.stage-note-meta{display:block}.stage-note-meta span{display:block;margin-top:3px}.history-details summary{align-items:flex-start}.portal-welcome h1{font-size:clamp(1.9rem,10vw,2.7rem);overflow-wrap:anywhere}}

/* V4 document submission history */
.document-history{margin-top:22px;border-top:1px solid var(--line,#eaded2);padding-top:18px}
.document-history h3{margin:0 0 10px;font-size:1rem}
.document-history-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line,#eaded2)}
.document-history-row:last-child{border-bottom:0}
.document-history-row strong,.document-history-row small{display:block}
.document-history-row small,.document-history-row time{font-size:.78rem;color:var(--muted,#6e6258)}
.document-history-row time{white-space:nowrap}


/* ===== V5: closer website branding + client activity ===== */
.portal-body{
  background:
    radial-gradient(circle at 85% 0%,rgba(184,148,120,.15),transparent 30rem),
    linear-gradient(145deg,#fffaf4 0%,#f5eee7 100%);
}

.portal-topbar{
  border-bottom:1px solid rgba(111,89,71,.12);
}

.portal-card h1,
.portal-card h2,
.section-heading h2,
.empty-work h2,
.document-history h3,
.client-note-history h3{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
}

.portal-card{
  box-shadow:0 18px 55px rgba(51,41,31,.075);
  backdrop-filter:blur(10px);
}

.portal-btn{
  box-shadow:0 8px 20px rgba(111,89,71,.14);
}

.portal-btn.secondary{
  box-shadow:none;
}

.portal-kicker{
  color:#80634e;
}

.client-note-card{
  border-top:3px solid rgba(184,148,120,.55);
}

.client-note-history{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.client-note-history h3{
  margin:0 0 8px;
  color:var(--dark);
  font-size:1.05rem;
}

.client-own-note{
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

.client-own-note:last-child{
  border-bottom:0;
}

.client-own-note-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:.75rem;
}

.client-own-note-meta strong{
  color:var(--brown);
}

.client-own-note-meta time{
  color:var(--muted);
  white-space:nowrap;
}

.client-own-note p{
  margin:.45rem 0 0;
  white-space:pre-wrap;
  line-height:1.55;
  font-size:.87rem;
}

.client-item-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.activity-badge{
  min-width:25px;
  height:25px;
  padding:0 7px;
  border-radius:999px;
  background:var(--brown);
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-size:.72rem;
  font-weight:700;
}

.activity-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.activity-heading h2{
  margin:.3rem 0 .3rem;
}

.activity-row{
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.activity-row:last-child{
  border-bottom:0;
}

.activity-row.unread{
  margin:0 -10px;
  padding:14px 10px;
  border-radius:12px;
  background:rgba(184,148,120,.10);
}

.activity-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.activity-row-head strong{
  color:var(--dark);
}

.activity-row-head time,
.activity-row small{
  color:var(--muted);
  font-size:.72rem;
}

.activity-row p{
  margin:.45rem 0 0;
  white-space:pre-wrap;
  line-height:1.5;
  font-size:.9rem;
}

@media(max-width:820px){
  .activity-heading,
  .activity-row-head,
  .client-own-note-meta{
    display:block;
  }
  .activity-row-head time,
  .client-own-note-meta time{
    display:block;
    margin-top:3px;
  }
}

/* V6 premium UI */
.portal-shell{width:min(1180px,calc(100% - 40px))}
.portal-topbar{position:sticky;top:0;z-index:50;background:rgba(255,250,244,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(111,89,71,.1)}
.portal-card{background:rgba(255,253,249,.95);box-shadow:0 20px 60px rgba(51,41,31,.08);transition:border-color .2s ease}
.portal-card:hover{border-color:rgba(184,148,120,.42)}
.portal-hero{position:relative;overflow:hidden}.portal-hero:after{content:"NP";position:absolute;right:25px;bottom:-35px;font-family:'Playfair Display',Georgia,serif;font-size:8rem;color:rgba(111,89,71,.035);pointer-events:none}
.portal-hero h1,.admin-welcome h1{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.03em}
.portal-btn{border-radius:999px;transition:transform .18s ease,box-shadow .18s ease}.portal-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(111,89,71,.16)}.portal-btn.compact{min-height:38px;padding:8px 14px;font-size:.76rem}
.client-trust-strip{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}.client-trust-strip span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.8);font-size:.72rem;color:var(--muted)}.client-trust-strip b{color:var(--brown)}
.progress-bar{background:linear-gradient(90deg,#6f5947,#b89478)}
.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{outline:none;border-color:rgba(111,89,71,.55);box-shadow:0 0 0 4px rgba(184,148,120,.11)}
.admin-welcome{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:16px;padding:28px}.admin-welcome h1{margin:.3rem 0;font-size:clamp(2rem,4vw,3rem)}
.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:10px;min-width:380px}.overview-stat{padding:15px 17px;border:1px solid var(--line);border-radius:17px;background:var(--soft)}.overview-stat strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;color:var(--dark);line-height:1}.overview-stat small{display:block;margin-top:5px;color:var(--muted);font-size:.7rem}.overview-stat.attention{background:var(--brown)}.overview-stat.attention strong,.overview-stat.attention small{color:#fff}
.notification-centre{margin-bottom:18px;padding:24px}.notification-centre-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.notification-centre-head h2{font-family:'Playfair Display',Georgia,serif;margin:.3rem 0;font-size:1.45rem}.notification-centre-head p{margin:0}
.notification-item{width:100%;display:grid;grid-template-columns:45px minmax(0,1fr) 18px;gap:13px;align-items:start;padding:15px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}.notification-item:hover{background:rgba(245,238,231,.65)}
.notification-type{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--soft);color:var(--brown);font-size:.55rem;font-weight:800}.notification-type.document{background:var(--brown);color:#fff}
.notification-topline{display:flex;justify-content:space-between;gap:12px}.notification-topline strong{color:var(--dark)}.notification-topline time{font-size:.7rem;color:var(--muted);white-space:nowrap}.notification-copy>b{display:block;color:var(--brown);font-size:.78rem;margin-top:2px}.notification-copy small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.notification-copy p{margin:.35rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.notification-arrow{align-self:center;color:var(--accent);font-size:1.4rem}
.notification-empty{display:flex;align-items:center;gap:13px;padding:18px 3px 4px}.notification-empty>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--soft);font-family:'Playfair Display',Georgia,serif;color:var(--brown)}.notification-empty p{margin:3px 0 0;color:var(--muted);font-size:.8rem}
.client-item{transition:transform .16s ease,background .16s ease}.client-item:hover{transform:translateX(2px)}
@media(max-width:820px){.portal-shell{width:min(100% - 20px,1180px)}.admin-welcome{display:block;padding:20px}.admin-overview{min-width:0;margin-top:18px}.notification-centre{padding:18px 16px}.notification-centre-head{display:block}.notification-centre-head button{margin-top:12px}.notification-topline{display:block}.notification-topline time{display:block;margin-top:2px}.portal-hero:after{font-size:6rem}}
@media(max-width:480px){.portal-shell{width:min(100% - 14px,1180px)}.admin-overview{gap:6px}.overview-stat{padding:12px 9px}.overview-stat strong{font-size:1.4rem}.overview-stat small{font-size:.62rem}.client-trust-strip span{font-size:.64rem;padding:7px 9px}}


/* =========================================================
   V7 — Premium admin UI refinement
   ========================================================= */

.admin-topbar{
  background:rgba(255,250,244,.96);
  border-top:3px solid #efc6cc;
  min-height:76px;
}
.admin-header-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:76px;
}
.admin-brand{
  display:flex;
  align-items:center;
  gap:13px;
}
.admin-brand .portal-logo{
  width:54px;
  height:54px;
  object-fit:contain;
}
.admin-brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.admin-brand-copy strong{
  color:var(--dark);
  font-family:'Playfair Display',Georgia,serif;
  font-size:1rem;
  font-weight:600;
}
.admin-brand-copy small{
  margin-top:3px;
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.admin-profile-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 12px 6px 7px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffdf9;
}
.admin-avatar{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--soft);
  color:var(--brown);
  font-family:'Playfair Display',Georgia,serif;
  font-size:.75rem;
}
.admin-profile-chip>span:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.admin-profile-chip strong{
  font-size:.76rem;
  color:var(--dark);
}
.admin-profile-chip small{
  margin-top:3px;
  font-size:.62rem;
  color:var(--muted);
}
.admin-signout{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:700;
  cursor:pointer;
  padding:10px 6px;
}
.admin-signout:hover{color:var(--dark)}

.admin-dashboard-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(460px,.8fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:16px;
}
.admin-welcome-panel{
  padding:26px 28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(255,253,249,.98),rgba(250,244,238,.98));
  box-shadow:0 16px 42px rgba(51,41,31,.055);
}
.admin-welcome-panel h1{
  margin:.35rem 0 .45rem;
  font-family:'Playfair Display',Georgia,serif;
  color:var(--dark);
  font-size:clamp(2rem,3.6vw,3rem);
  letter-spacing:-.035em;
}
.admin-welcome-panel p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.admin-overview{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  min-width:0;
}
.overview-stat{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fffdf9;
  box-shadow:0 14px 35px rgba(51,41,31,.05);
}
.overview-label{
  color:var(--muted);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.overview-stat strong{
  margin-top:9px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:2rem;
  line-height:1;
  color:var(--dark);
}
.overview-stat small{
  margin-top:7px;
  color:var(--muted);
  line-height:1.25;
  font-size:.67rem;
}
.overview-stat.attention{
  background:linear-gradient(145deg,#6f5947,#5f4b3d);
  border-color:#6f5947;
}
.overview-stat.attention .overview-label,
.overview-stat.attention strong,
.overview-stat.attention small{color:#fff}

.compact-centre{
  padding:0;
  overflow:hidden;
  margin-bottom:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fffdf9;
  box-shadow:0 16px 42px rgba(51,41,31,.055);
}
.compact-centre .notification-centre-head{
  padding:18px 22px 14px;
  border-bottom:1px solid var(--line);
  align-items:center;
}
.compact-centre .notification-centre-head h2{
  margin:.2rem 0 0;
  font-size:1.25rem;
}
.notification-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.text-action{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--brown);
  font:inherit;
  font-size:.73rem;
  font-weight:700;
  cursor:pointer;
  padding:6px 0;
}
.text-action:hover{text-decoration:underline}
.text-action.muted-action{color:var(--muted)}
.text-action:disabled{opacity:.4;cursor:default;text-decoration:none}

.compact-list{padding:0}
.compact-notification{
  grid-template-columns:36px minmax(0,1fr) 16px;
  gap:12px;
  padding:12px 22px;
  min-height:72px;
}
.compact-notification:last-child{border-bottom:0}
.compact-notification.is-unread{
  background:linear-gradient(90deg,rgba(184,148,120,.08),rgba(255,253,249,.5));
}
.notification-icon-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.notification-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:10px;
  background:var(--soft);
  color:var(--brown);
  font-size:.9rem;
  font-weight:700;
}
.unread-dot{
  position:absolute;
  top:0;
  right:-2px;
  width:8px;height:8px;
  border-radius:50%;
  background:#b89478;
  border:2px solid #fffdf9;
}
.notification-meta{
  display:block;
  margin-top:2px;
  color:var(--brown);
  font-size:.72rem;
  font-weight:700;
}
.compact-notification .notification-copy p{
  margin-top:3px;
  -webkit-line-clamp:1;
  font-size:.79rem;
}
.compact-notification .notification-topline strong{font-size:.88rem}
.compact-notification .notification-topline time{font-size:.67rem}

.notification-empty{
  padding:18px 22px;
}
.notification-empty-icon{
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  font-family:inherit !important;
  font-weight:800;
  background:#eef2ec !important;
  color:#667a60 !important;
}

/* Keep actual client management visually primary */
.admin-layout{
  margin-top:0;
}
.admin-layout>aside,
.admin-layout>section{
  box-shadow:0 16px 42px rgba(51,41,31,.055);
}

/* Activity drawer */
.activity-drawer{
  position:fixed;
  inset:0;
  z-index:120;
}
.activity-drawer.hidden{display:none}
.activity-drawer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(46,41,36,.28);
  backdrop-filter:blur(2px);
}
.activity-drawer-panel{
  position:absolute;
  top:0;
  right:0;
  width:min(480px,92vw);
  height:100%;
  background:#fffdf9;
  box-shadow:-18px 0 55px rgba(51,41,31,.18);
  display:flex;
  flex-direction:column;
}
.activity-drawer-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:24px 24px 18px;
  border-bottom:1px solid var(--line);
}
.activity-drawer-head h2{
  margin:.25rem 0 0;
  font-family:'Playfair Display',Georgia,serif;
  color:var(--dark);
  font-size:1.45rem;
}
.drawer-close{
  width:36px;height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--soft);
  color:var(--brown);
  font-size:1.3rem;
  cursor:pointer;
}
.activity-drawer-list{
  overflow:auto;
  padding:6px 20px 24px;
}
.drawer-activity-item{
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  padding:14px 4px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.drawer-activity-item.is-unread{
  background:linear-gradient(90deg,rgba(184,148,120,.08),transparent);
}
.drawer-activity-icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:10px;
  background:var(--soft);
  color:var(--brown);
}
.drawer-activity-copy>span{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.drawer-activity-copy strong{color:var(--dark);font-size:.85rem}
.drawer-activity-copy time{color:var(--muted);font-size:.66rem;white-space:nowrap}
.drawer-activity-copy b{
  display:block;
  margin-top:3px;
  color:var(--brown);
  font-size:.72rem;
}
.drawer-activity-copy small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.67rem;
}
.drawer-activity-copy p{
  margin:.35rem 0 0;
  color:var(--muted);
  font-size:.79rem;
  line-height:1.4;
}
body.drawer-open{overflow:hidden}

/* Responsive refinement */
@media(max-width:980px){
  .admin-dashboard-head{grid-template-columns:1fr}
}
@media(max-width:760px){
  .admin-header-inner{width:min(100% - 18px,1180px)}
  .admin-brand-copy{display:none}
  .admin-profile-chip>span:last-child{display:none}
  .admin-profile-chip{padding-right:7px}
  .admin-dashboard-head{gap:10px}
  .admin-welcome-panel{padding:20px}
  .admin-overview{gap:7px}
  .overview-stat{padding:13px 10px;border-radius:16px}
  .overview-label{font-size:.56rem}
  .overview-stat strong{font-size:1.55rem}
  .overview-stat small{font-size:.58rem}
  .compact-centre .notification-centre-head{
    align-items:flex-start;
  }
  .notification-actions{
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .compact-notification{padding:11px 14px}
}
@media(max-width:520px){
  .admin-header-inner{min-height:68px}
  .admin-topbar{min-height:68px}
  .admin-brand .portal-logo{width:44px;height:44px}
  .admin-signout{font-size:.74rem}
  .admin-welcome-panel h1{font-size:2rem}
  .admin-overview{grid-template-columns:repeat(3,1fr)}
  .overview-stat small{display:none}
  .compact-centre .notification-centre-head{display:block}
  .notification-actions{margin-top:10px;justify-content:flex-start}
  .notification-topline time{font-size:.63rem}
}


/* =========================================================
   V8 — Botanical practice dashboard
   ========================================================= */
body.portal-body{background:#fbf7f2}
.admin-app-main{margin-left:220px;min-height:100vh}
.admin-sidebar{
  position:fixed;inset:0 auto 0 0;width:220px;z-index:90;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fffaf4 0%,#f8efe7 100%);
  border-right:1px solid var(--line);overflow:hidden
}
.sidebar-logo{display:grid;place-items:center;padding:28px 20px 24px}
.sidebar-logo img{width:105px;height:105px;object-fit:contain}
.sidebar-nav{display:grid;gap:6px;padding:10px 12px}
.sidebar-link{
  display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;
  width:100%;padding:13px 14px;border:0;border-radius:11px;background:transparent;
  color:#59483b;text-align:left;font:inherit;font-size:.82rem;cursor:pointer
}
.sidebar-link>span{font-size:1rem;color:#7a5f4b}
.sidebar-link:hover,.sidebar-link.active{background:#eee0d5;color:#33291f}
.sidebar-link b{
  min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;
  border-radius:999px;background:#765944;color:#fff;font-size:.65rem
}
.sidebar-flourish{position:relative;flex:1;min-height:280px;margin-top:10px;overflow:hidden}
.sidebar-flourish .script-note{
  position:absolute;left:34px;top:36px;z-index:2;transform:rotate(-7deg);
  font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#8b654f;
  font-size:1.25rem;line-height:1.25
}
.botanical-svg{
  position:absolute;left:-22px;bottom:-26px;width:210px;height:280px;
  color:#a88670;opacity:.48
}
.sidebar-flourish small{
  position:absolute;left:18px;bottom:112px;z-index:2;
  color:#7c6a5d;font-size:.49rem;line-height:1.8;letter-spacing:.18em
}

.admin-app-main .admin-topbar{border-top:0}
.admin-app-main .admin-header-inner{width:min(1270px,calc(100% - 40px))}
.admin-app-main main{width:min(1270px,calc(100% - 40px));margin:0 auto;padding-top:0}

.admin-dashboard-head{
  grid-template-columns:minmax(0,1fr);
  gap:14px;margin-top:0
}
.admin-welcome-panel{
  position:relative;overflow:hidden;min-height:174px;
  display:flex;flex-direction:column;justify-content:center;
  padding:28px 36px;background:
    linear-gradient(90deg,rgba(247,238,230,.98) 0%,rgba(249,241,234,.94) 49%,rgba(245,232,221,.78) 100%)
}
.admin-welcome-panel>*:not(.welcome-botanical){position:relative;z-index:2}
.admin-welcome-panel h1{max-width:700px;font-size:clamp(2.4rem,4.2vw,4rem)}
.welcome-botanical{
  position:absolute;right:-15px;top:0;width:48%;height:100%;
  color:#876650;opacity:.55;pointer-events:none
}
.welcome-botanical svg{width:100%;height:100%}
.admin-overview{grid-template-columns:repeat(4,1fr);gap:12px}
.overview-stat{min-height:112px}
.upcoming-stat{background:linear-gradient(145deg,#fffdf9,#f7eee7)}

.compact-centre{margin-top:0}
.compact-centre .notification-centre-head{padding:15px 20px 12px}
.compact-notification{min-height:62px}
.notification-empty{min-height:62px;padding:13px 20px}

.admin-layout{scroll-margin-top:92px}
#notificationSection,#dashboardTop{scroll-margin-top:92px}

.admin-footer{
  width:min(1270px,calc(100% - 40px));margin:18px auto 0;padding:22px 0 28px;
  border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:20px;color:#6f5e51;font-size:.72rem
}
.admin-footer div{display:flex;gap:24px}
.admin-footer a{color:inherit;text-decoration:none}.admin-footer a:hover{text-decoration:underline}
.admin-footer em{
  justify-self:end;font-family:'Playfair Display',Georgia,serif;
  font-size:1rem;color:#9a7158
}

/* More application-like lower workspace */
.admin-layout>aside,.admin-layout>section{border-radius:18px}
.client-list{margin-top:12px}
.client-item{border-radius:12px}
.client-item.active{box-shadow:inset 3px 0 0 #80634e}
#clientHeading{font-size:clamp(2rem,3vw,3rem)}

@media(max-width:1050px){
  .admin-sidebar{width:82px}
  .admin-app-main{margin-left:82px}
  .sidebar-logo img{width:58px;height:58px}
  .sidebar-nav{padding:8px}
  .sidebar-link{grid-template-columns:1fr;padding:12px;place-items:center}
  .sidebar-link:not(.active){color:#765f4e}
  .sidebar-link{font-size:0}
  .sidebar-link>span{font-size:1.05rem}
  .sidebar-link b{position:absolute;margin:0 0 26px 26px;font-size:.58rem}
  .sidebar-flourish{display:none}
}
@media(max-width:760px){
  .admin-sidebar{display:none}
  .admin-app-main{margin-left:0}
  .admin-app-main .admin-header-inner,.admin-app-main main,.admin-footer{width:min(100% - 18px,1270px)}
  .admin-overview{grid-template-columns:repeat(2,1fr)}
  .welcome-botanical{width:65%;opacity:.28}
  .admin-footer{grid-template-columns:1fr;text-align:center}
  .admin-footer div{justify-content:center}.admin-footer em{justify-self:center}
}
@media(max-width:460px){
  .admin-welcome-panel{padding:22px 18px;min-height:155px}
  .admin-welcome-panel h1{font-size:2.25rem}
  .admin-overview{gap:7px}
  .overview-stat{min-height:92px}
}


/* ===== V9 workflow + admin organisation ===== */
.simple-stage{
  display:grid !important;
  grid-template-columns:30px 24px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px !important;
  min-height:48px;
}
.simple-stage .stage-number{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;background:var(--soft);
  color:var(--brown);font-size:.68rem;font-weight:800;
}
.simple-stage input[type="checkbox"]{width:18px;height:18px;accent-color:#6f5947}
.simple-stage .stage-name{
  border:0 !important;background:transparent !important;
  padding:6px 4px !important;box-shadow:none !important;
  font-weight:600;color:var(--dark);
}
.admin-notes-dropdown,.communication-dropdown{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffdf9;
  overflow:hidden;
}
.admin-notes-dropdown{margin-top:14px}
.admin-notes-dropdown>summary,.communication-dropdown>summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:15px 17px;background:linear-gradient(180deg,#fffdf9,#fbf5ef);
}
.admin-notes-dropdown>summary::-webkit-details-marker,
.communication-dropdown>summary::-webkit-details-marker{display:none}
.admin-notes-dropdown>summary span:first-child,
.communication-dropdown>summary span:first-child{display:flex;flex-direction:column}
.admin-notes-dropdown>summary strong,.communication-dropdown>summary strong{
  color:var(--dark);font-family:'Playfair Display',Georgia,serif;font-size:1.05rem
}
.admin-notes-dropdown>summary small,.communication-dropdown>summary small{
  margin-top:3px;color:var(--muted);font-size:.72rem
}
.dropdown-chevron{font-size:1.2rem;color:var(--brown);transition:transform .2s ease}
details[open]>.dropdown-chevron,details[open]>summary .dropdown-chevron{transform:rotate(180deg)}
.admin-notes-dropdown-body,.communication-dropdown-body{padding:16px 17px;border-top:1px solid var(--line)}
.admin-notes-history{display:grid;gap:8px;margin-bottom:14px}
.admin-note-history-item{
  padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)
}
.admin-note-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-note-history-head span{display:flex;flex-direction:column}
.admin-note-history-head strong{font-size:.78rem;color:var(--dark)}
.admin-note-history-head small{margin-top:3px;color:var(--muted);font-size:.66rem}
.admin-note-history-item p{margin:.5rem 0 0;white-space:pre-wrap;font-size:.82rem;line-height:1.45}
.notes-compose-grid{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:12px}
.notes-textarea-wrap textarea{min-height:90px}
.note-delete{
  border:0;background:transparent;color:#9a6257;font:inherit;font-size:.67rem;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px
}
.communication-dropdown.subpanel{padding:0}
.communication-dropdown-body{display:grid;grid-template-columns:1fr 1px 1fr;gap:20px}
.communication-section h3{margin:0 0 4px;font-family:'Playfair Display',Georgia,serif;color:var(--dark)}
.communication-divider{background:var(--line)}
.communication-section input[type=file]{background:#fff;padding:11px}
.communication-section .portal-btn{margin-top:10px}
@media(max-width:760px){
  .notes-compose-grid{grid-template-columns:1fr}
  .communication-dropdown-body{grid-template-columns:1fr}
  .communication-divider{height:1px;width:100%}
}


/* ===== V10 client lifecycle ===== */
.workspace-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.portal-btn.danger-outline{
  background:transparent;
  color:#9b4e45;
  border:1px solid rgba(155,78,69,.32);
  box-shadow:none;
}
.portal-btn.danger-outline:hover{
  background:#fff6f4;
  border-color:rgba(155,78,69,.52);
  box-shadow:none;
}
#newPassword[readonly]{
  background:#f5eee7;
  color:#5f4b3d;
  font-weight:700;
  letter-spacing:.035em;
}
@media(max-width:650px){
  .workspace-head{align-items:flex-start}
  .workspace-actions{width:100%;justify-content:flex-start}
}


/* ===== V13 two-way email replies ===== */
.email-reply-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.reply-count{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:999px;
  background:#efe4d8;
  color:#6f5947;
  font-size:12px;
  font-weight:700;
}
.email-reply-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.email-reply-card{
  border:1px solid #eaded2;
  border-radius:16px;
  padding:16px 17px;
  background:#fffdf9;
}
.email-reply-card.unread{
  border-color:#cdb39d;
  box-shadow:inset 3px 0 0 #a88a73;
}
.email-reply-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.email-reply-top > div{
  display:grid;
  gap:3px;
}
.email-reply-label{
  color:#8a6e58;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:800;
}
.email-reply-top strong{
  color:#33291f;
}
.email-reply-top time{
  color:#85776c;
  font-size:11px;
  white-space:nowrap;
}
.email-reply-body{
  margin:13px 0;
  white-space:pre-wrap;
  line-height:1.6;
  color:#4d433b;
}
.email-reply-files{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  padding:10px 12px;
  border-radius:10px;
  background:#f7f1ea;
  font-size:12px;
}
.email-reply-files strong{
  width:100%;
  color:#6f5947;
}
.email-reply-files span{
  padding:4px 7px;
  border-radius:7px;
  background:#fff;
  border:1px solid #eaded2;
}
.email-reply-foot{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #f0e6dc;
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#85776c;
}
@media(max-width:650px){
  .email-reply-top,.email-reply-foot{flex-direction:column}
}


/* ===== V14 calendar & recurring dates ===== */
.practice-calendar-section{margin:20px 0;padding:24px;border:1px solid rgba(111,89,71,.15);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 20px 60px rgba(51,41,31,.07)}
.calendar-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:20px}
.calendar-section-head h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:var(--dark);font-size:2rem;margin:.25rem 0 .35rem}
.calendar-section-head p{margin:0;color:var(--muted)}
.calendar-summary-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.calendar-chip{padding:7px 10px;border-radius:999px;background:#f5eee7;color:#6f5947;font-size:12px;font-weight:700}
.calendar-chip.strong{background:#e8ddd1;color:#5e4837}.calendar-chip.overdue{background:#fff0ed;color:#9a4f43}
.calendar-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}
.calendar-main,.calendar-day-panel{border:1px solid var(--line);border-radius:18px;background:#fffdf9}
.calendar-main{padding:18px}.calendar-day-panel{padding:20px}
.calendar-day-panel h3{font-family:Georgia,'Times New Roman',serif;margin:.35rem 0 16px;color:var(--dark)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.calendar-toolbar h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-weight:500}
.calendar-nav-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brown);font-size:24px;cursor:pointer}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays span{text-align:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8d7f73;font-weight:800;padding:8px 2px}
.calendar-day{min-height:78px;border:1px solid #f0e7df;background:#fff;padding:8px;text-align:left;cursor:pointer;color:var(--ink)}
.calendar-day:hover{background:#fbf7f2}.calendar-day.outside{opacity:.35}.calendar-day.selected{outline:2px solid rgba(111,89,71,.36);outline-offset:-2px;background:#fbf5ef}.calendar-day.has-overdue{background:#fff8f6}
.calendar-day.today .calendar-day-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--brown);color:#fff}
.calendar-day-number{font-size:12px;font-weight:700}.calendar-dots{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:13px}
.calendar-dot,.calendar-due-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a88a73}
.calendar-dot.cadence-monthly,.calendar-due-dot.cadence-monthly{background:#8f765f}.calendar-dot.cadence-quarterly,.calendar-due-dot.cadence-quarterly{background:#6f806c}
.calendar-dot.cadence-annual,.calendar-due-dot.cadence-annual{background:#8b6f88}.calendar-dot.cadence-one_off,.calendar-due-dot.cadence-one_off{background:#b38461}
.calendar-dots b{font-size:9px;color:var(--muted)}
.calendar-due-item{width:100%;display:grid;grid-template-columns:10px 1fr 14px;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;margin-bottom:8px;cursor:pointer}
.calendar-due-item:hover{background:#f9f4ee}.calendar-due-item.overdue{border-color:#edd0ca}.calendar-due-item strong,.calendar-due-item small{display:block}.calendar-due-item small{margin-top:3px;color:var(--muted);font-size:11px}
.client-schedule-panel{margin-top:18px}.schedule-form{padding:18px;margin:14px 0;border-radius:16px;background:#faf6f1;border:1px solid var(--line)}
.schedule-reminders{display:flex;flex-wrap:wrap;gap:16px;padding:4px 0}.schedule-reminders label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.schedule-reminders input{width:auto}
.client-schedules-list{display:grid;gap:9px;margin-top:14px}.client-schedule-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.client-schedule-row.inactive{opacity:.55}
.schedule-date-badge{width:48px;height:48px;border-radius:12px;background:#f5eee7;color:#6f5947;display:grid;place-items:center;align-content:center;line-height:1}.schedule-date-badge strong{font-size:18px}.schedule-date-badge small{font-size:9px;margin-top:3px;font-weight:800}
.schedule-row-copy strong,.schedule-row-copy small{display:block}.schedule-row-copy small{color:var(--muted);margin-top:4px;font-size:11px}
.schedule-row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.schedule-row-actions button{border:1px solid var(--line);background:#fff;color:var(--brown);padding:7px 10px;border-radius:999px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.schedule-row-actions .schedule-complete{background:#eef5ef;color:#4d6d54;border-color:#d7e8da}.schedule-row-actions .schedule-delete{color:#99564c}
.client-due-card{overflow:hidden;position:relative}.client-due-card:after{content:"";position:absolute;right:-25px;top:-35px;width:120px;height:120px;border-radius:50%;background:rgba(168,138,115,.08)}
.client-due-card h2{position:relative;z-index:1}.client-due-card.overdue{border-color:#e8c9c2}.client-due-card.overdue h2{color:#954f45}.due-date-text{font-weight:700;color:#6f5947;margin:.35rem 0}
@media(max-width:900px){.calendar-shell{grid-template-columns:1fr}}
@media(max-width:650px){.calendar-section-head{display:block}.calendar-summary-chips{justify-content:flex-start;margin-top:12px}.practice-calendar-section{padding:15px}.calendar-main{padding:10px}.calendar-day{min-height:58px;padding:5px}.calendar-weekdays span{font-size:8px}.calendar-dots{margin-top:7px}.client-schedule-row{grid-template-columns:48px 1fr}.schedule-row-actions{grid-column:1/-1;justify-content:flex-start}}


/* ===== V15 service calendar + dashboard polish ===== */
/* Remove decorative lines from the very top of the portal. */
.portal-topbar,.admin-topbar{border-top:0!important;border-bottom:0!important;box-shadow:none!important}

/* Refined navigation icons */
.sidebar-link{align-items:center}
.sidebar-link .nav-icon{width:19px;height:19px;display:grid;place-items:center;color:#755f4f}
.sidebar-link .nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-link:hover .nav-icon,.sidebar-link.active .nav-icon{color:#4f3d30}

/* More personal but still restrained sidebar note */
.motivation-note{font-family:'Playfair Display',Georgia,serif!important;font-style:italic;line-height:1.45!important;font-size:.9rem!important;letter-spacing:0!important;text-transform:none!important;color:#665044!important}
.motivation-note span{font-family:Georgia,serif;color:#9c6870;font-style:normal}

.calendar-filter-bar{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.calendar-filter{border:1px solid var(--line);background:#fffdf9;color:#6e6258;padding:8px 11px;border-radius:999px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:.18s ease}
.calendar-filter:hover{border-color:#bca996;color:#4f3d30}
.calendar-filter.active{background:#6f5947;color:#fff;border-color:#6f5947;box-shadow:0 7px 18px rgba(78,59,45,.12)}
.calendar-service-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 16px;color:var(--muted);font-size:11px}
.calendar-service-summary>span{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:9px;margin-right:2px}
.service-summary-pill{font-weight:700;padding:5px 8px;border-radius:999px;background:#f5eee7;color:#5d4a3d}
.service-summary-empty{font-weight:600;color:var(--muted)}

/* Service colours are deliberately muted so the practice palette stays premium. */
.calendar-dot.service-bookkeeping,.calendar-due-dot.service-bookkeeping,.service-summary-pill.service-bookkeeping{background:#8f765f;color:#fff}
.calendar-dot.service-vat,.calendar-due-dot.service-vat,.service-summary-pill.service-vat{background:#6f806c;color:#fff}
.calendar-dot.service-payroll,.calendar-due-dot.service-payroll,.service-summary-pill.service-payroll{background:#8b778d;color:#fff}
.calendar-dot.service-annual_accounts,.calendar-due-dot.service-annual_accounts,.service-summary-pill.service-annual_accounts{background:#b08a61;color:#fff}
.calendar-dot.service-self_assessment,.calendar-due-dot.service-self_assessment,.service-summary-pill.service-self_assessment{background:#9c6f64;color:#fff}
.calendar-dot.service-corporation_tax,.calendar-due-dot.service-corporation_tax,.service-summary-pill.service-corporation_tax{background:#756a78;color:#fff}
.calendar-dot.service-quarterly_review,.calendar-due-dot.service-quarterly_review,.service-summary-pill.service-quarterly_review{background:#7d8f88;color:#fff}
.calendar-dot.service-other,.calendar-due-dot.service-other,.service-summary-pill.service-other{background:#9a9188;color:#fff}
.calendar-dot,.calendar-due-dot{color:transparent}

@media(max-width:650px){
  .calendar-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .calendar-filter-bar::-webkit-scrollbar{display:none}
  .calendar-filter{white-space:nowrap}
  .motivation-note{font-size:.78rem!important}
}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-global-search{flex:1;max-width:430px;margin:0 20px}.admin-global-search input{width:100%;border:1px solid var(--line);background:#fffdf9;border-radius:999px;padding:11px 16px;font:inherit;color:var(--ink)}
.today-panel{margin:20px 0;padding:22px;border:1px solid rgba(111,89,71,.15);border-radius:22px;background:linear-gradient(135deg,#fffdf9,#f8f1ea)}
.today-panel-head h2{font-family:Georgia,serif;font-weight:500;margin:.25rem 0}.today-items{display:grid;gap:8px;margin-top:15px}
.today-item{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 13px;cursor:pointer;color:var(--ink)}
.today-item span strong,.today-item span small{display:block}.today-item span small{color:var(--muted);margin-top:3px}.today-item b{white-space:nowrap;font-size:11px;color:var(--brown)}
.today-item.overdue{border-color:#e7c2ba;background:#fff9f7}.today-item.unread{border-left:4px solid var(--accent)}.today-clear{color:var(--muted)}
.notification-item{display:flex!important;align-items:center!important}.notification-open{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;flex:1;padding:0;cursor:pointer}
.mark-read-btn{border:1px solid #d7c7ba;background:#fff;color:#6f5947;border-radius:999px;padding:7px 11px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.read-status{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8c8178;font-weight:700}
.client-directory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.client-status-filter{width:100%;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fffdf9}
.client-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.status-active{background:#68806e}.status-onboarding{background:#a88a73}.status-paused{background:#bd965c}.status-former{background:#9e9690}
.client-status-control{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid var(--line);border-radius:14px;background:#faf6f1}.client-status-control label{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:700}.client-status-control select{border:0;background:transparent;font:inherit}
.calendar-toolbar-actions{display:flex;align-items:center;gap:10px}.view-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:#faf6f1}.view-toggle button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:999px;font:inherit;font-size:11px;font-weight:700}.view-toggle button.active{background:#fff;color:var(--brown)}
.calendar-agenda{display:grid;gap:18px}.agenda-day h4{font-family:Georgia,serif;font-weight:500}.agenda-item{width:100%;display:grid;grid-template-columns:9px 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;margin:6px 0;cursor:pointer}.agenda-item span strong,.agenda-item span small{display:block}.agenda-item span small{color:var(--muted)}
.audit-panel-body{padding-top:14px}.audit-row{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eee4db}.audit-marker{width:7px;height:7px;border-radius:50%;background:#a88a73;margin-top:6px}.audit-row strong,.audit-row small{display:block}.audit-row small{color:var(--muted);font-size:10px}
.activity-row .mark-read-btn{margin-top:8px}
@media(max-width:900px){.admin-global-search{max-width:none;margin:8px 0;width:100%}.admin-header-inner{flex-wrap:wrap}.client-status-control{width:100%;flex-wrap:wrap}}
@media(max-width:650px){.today-item{align-items:flex-start;flex-direction:column}.notification-item{align-items:flex-start!important;flex-direction:column}}

.client-last-login{margin-top:6px!important;font-size:.74rem;color:var(--brown)!important;font-weight:600}


/* Admin hero polish — remove decorative coloured underlines/borders */
.admin-welcome-panel,
.admin-welcome-panel h1,
.admin-welcome-panel .portal-kicker{border-bottom:0!important;text-decoration:none!important;box-shadow:none}
.admin-welcome-panel::before,
.admin-welcome-panel::after,
.admin-welcome-panel h1::before,
.admin-welcome-panel h1::after,
.admin-welcome-panel .portal-kicker::before,
.admin-welcome-panel .portal-kicker::after{content:none!important;display:none!important}
.admin-topbar{border-top:0!important;border-bottom:1px solid rgba(111,89,71,.10)!important}

/* ============================================================
   V16 — calmer admin workspace + audit timeline polish
   ============================================================ */
.admin-brand,.admin-brand:link,.admin-brand:visited,.admin-brand:hover,.admin-brand:focus{
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.admin-brand-copy strong,.admin-brand-copy small{text-decoration:none!important;border:0!important}

/* Make the workspace feel lighter and easier to scan. */
.admin-app-main main{padding-bottom:56px}
.admin-dashboard-head{gap:14px;margin-bottom:14px}
.admin-welcome-panel{padding:23px 25px;border-radius:20px;box-shadow:0 10px 30px rgba(51,41,31,.045)}
.admin-welcome-panel h1{font-size:clamp(2.15rem,3.8vw,3.5rem);line-height:1.02}
.admin-overview{gap:9px}
.overview-stat{padding:15px 16px;border-radius:16px;box-shadow:none;background:rgba(255,253,249,.9)}
.overview-stat strong{font-size:1.75rem}
.overview-stat small{font-size:.65rem}
.overview-stat.attention{box-shadow:none}

.today-panel,.compact-centre,.practice-calendar-section,.admin-layout>aside,.admin-layout>section{
  box-shadow:0 10px 30px rgba(51,41,31,.045)!important;
  border-color:rgba(111,89,71,.13)!important;
}
.today-panel,.compact-centre,.practice-calendar-section{border-radius:19px!important}
.practice-calendar-section{padding:20px;margin:14px 0}
.calendar-section-head h2{margin:.25rem 0 .35rem}
.calendar-section-head p{margin:0;color:var(--muted);font-size:.82rem}
.calendar-filter-bar{margin-top:14px}
.calendar-shell{gap:14px}
.calendar-main,.calendar-day-panel{border-radius:15px}

.admin-layout{grid-template-columns:285px minmax(0,1fr);gap:14px;padding-top:14px}
.admin-layout>aside,.admin-layout>section{border-radius:17px!important}
.admin-layout .portal-card.pad{padding:20px}
.client-item{padding:11px 12px;border-radius:11px}
.client-item strong{font-size:.84rem}
.client-item small{font-size:.7rem}
.client-item:hover{transform:none;background:#fbf6f0}
.client-item.active{background:#f7eee6;box-shadow:inset 3px 0 0 #8d6b53}

.workspace-head{padding-bottom:16px;border-bottom:1px solid #eee3d9;margin-bottom:4px}
.workspace-head h1,.workspace-head h2{margin-top:.25rem}
.workspace-actions{gap:7px}
.workspace-actions .portal-btn{box-shadow:none}
.subpanel{margin-top:16px;padding-top:16px;border-top:1px solid #eee3d9}

/* Secondary admin areas become calm accordion cards rather than one long wall. */
.audit-panel.subpanel,.communication-dropdown.subpanel,.admin-notes-dropdown.subpanel{
  border:1px solid var(--line)!important;
  border-radius:15px!important;
  padding:0!important;
  overflow:hidden;
  background:#fffdf9;
}
.audit-panel>summary,.communication-dropdown>summary,.admin-notes-dropdown>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px!important;
  cursor:pointer;
  background:#fffdf9;
  transition:background .18s ease;
}
.audit-panel>summary::-webkit-details-marker{display:none}
.audit-panel>summary:hover,.communication-dropdown>summary:hover,.admin-notes-dropdown>summary:hover{background:#fbf6f0}
.audit-panel>summary>span:first-child,.communication-dropdown>summary>span:first-child,.admin-notes-dropdown>summary>span:first-child{
  display:grid!important;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  align-items:center;
}
.audit-panel>summary .portal-kicker,.communication-dropdown>summary .portal-kicker,.admin-notes-dropdown>summary .portal-kicker{
  grid-row:1 / span 2;
  align-self:center;
  display:grid;
  place-items:center;
  min-width:64px;
  min-height:38px;
  padding:7px 9px;
  border-radius:10px;
  background:#f5eee7;
  font-size:.58rem;
  letter-spacing:.09em;
  text-align:center;
}
.audit-panel>summary strong,.communication-dropdown>summary strong,.admin-notes-dropdown>summary strong{
  font-size:.86rem!important;
  color:var(--dark);
  line-height:1.25;
}
.audit-panel>summary small,.communication-dropdown>summary small,.admin-notes-dropdown>summary small{
  margin-top:2px!important;
  color:var(--muted)!important;
  font-size:.68rem!important;
  line-height:1.35;
}
.dropdown-chevron{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#f5eee7;color:#7e6654;transition:transform .2s ease}
details[open]>.dropdown-chevron,details[open]>summary .dropdown-chevron{transform:rotate(180deg)}

/* History / audit trail: proper timeline cards with readable dates. */
.audit-panel-body{padding:8px 17px 15px!important;border-top:1px solid var(--line);background:#fcf8f4}
#clientAuditLog{position:relative;padding:4px 0}
.audit-row{
  position:relative;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px 0!important;
  border-bottom:0!important;
}
.audit-row:not(:last-child)::after{
  content:'';position:absolute;left:7px;top:27px;bottom:-4px;width:1px;background:#dfd1c5;
}
.audit-marker{
  width:15px!important;height:15px!important;margin-top:2px!important;
  border:4px solid #f6eee7;background:#8d6b53!important;box-shadow:0 0 0 1px #cfbaa9;
  z-index:1;
}
.audit-row>div{
  padding:10px 12px;
  border:1px solid #eaded2;
  border-radius:11px;
  background:#fff;
}
.audit-row strong{font-size:.78rem;line-height:1.42;color:#443830;font-weight:650}
.audit-row small{margin-top:5px;font-size:.66rem!important;color:#8a7b70!important}

/* Calendar reminder feedback toast. */
.admin-toast-region{position:fixed;right:24px;bottom:24px;z-index:250;display:grid;gap:10px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.admin-toast{
  display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:center;
  padding:13px 15px;border:1px solid #d7e5d8;border-radius:15px;background:#f8fff8;
  color:#35513c;box-shadow:0 18px 45px rgba(51,41,31,.17);
  opacity:0;transform:translateY(12px) scale(.98);animation:adminToastIn .22s ease forwards;
}
.admin-toast.error{background:#fff7f5;border-color:#ecd3cf;color:#814b43}
.admin-toast-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6f1e7;font-weight:800;font-size:16px}
.admin-toast.error .admin-toast-icon{background:#f7e5e1}
.admin-toast strong,.admin-toast span{display:block}.admin-toast strong{font-size:.82rem}.admin-toast span{margin-top:2px;font-size:.7rem;line-height:1.35;opacity:.82}
.admin-toast.is-leaving{animation:adminToastOut .2s ease forwards}
@keyframes adminToastIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes adminToastOut{to{opacity:0;transform:translateY(8px) scale(.98)}}

@media(max-width:1050px){
  .admin-layout{grid-template-columns:250px minmax(0,1fr)}
}
@media(max-width:900px){
  .admin-dashboard-head{grid-template-columns:1fr}
  .admin-overview{grid-template-columns:repeat(4,1fr)}
  .admin-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
  .admin-welcome-panel{padding:19px}
  .admin-overview{grid-template-columns:repeat(2,1fr)}
  .overview-stat{min-height:105px}
  .practice-calendar-section{padding:15px}
  .admin-layout .portal-card.pad{padding:16px}
  .audit-panel>summary,.communication-dropdown>summary,.admin-notes-dropdown>summary{padding:13px!important}
  .audit-panel>summary .portal-kicker,.communication-dropdown>summary .portal-kicker,.admin-notes-dropdown>summary .portal-kicker{display:none}
  .audit-panel>summary>span:first-child,.communication-dropdown>summary>span:first-child,.admin-notes-dropdown>summary>span:first-child{display:block!important}
  .admin-toast-region{right:14px;bottom:14px}
}


/* Portal-wide reveal/scroll usability */
#newClientForm,#newWorkForm,#workEditor,#scheduleForm,#clientWorkspace,.history-details,.portal-error,.portal-success{scroll-margin-top:96px}
@media(max-width:820px){#newClientForm,#newWorkForm,#workEditor,#scheduleForm,#clientWorkspace,.history-details,.portal-error,.portal-success{scroll-margin-top:82px}}

/* =========================================================
   V10 — practice workflow + client management polish
   ========================================================= */
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.dashboard-shortcuts button{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffdf9;color:var(--dark);cursor:pointer;box-shadow:0 10px 28px rgba(51,41,31,.045);transition:.16s ease}.dashboard-shortcuts button:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(51,41,31,.08);border-color:rgba(111,89,71,.28)}.dashboard-shortcuts button>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--soft);color:var(--brown);font-weight:800}.dashboard-shortcuts strong{font-size:.78rem}.dashboard-shortcuts small{font-size:.66rem;color:var(--muted);margin-top:2px}
.client-directory-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 8px}.client-quick-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.client-quick-filters button,.timeline-filter{border:1px solid var(--line);background:#fffdf9;color:var(--muted);font:inherit;font-size:.66rem;font-weight:700;border-radius:999px;padding:7px 10px;cursor:pointer}.client-quick-filters button.active,.timeline-filter.active{background:var(--brown);border-color:var(--brown);color:#fff}.client-row-badges{display:flex;gap:5px;align-items:center}.attention-mini{font-size:.56rem;line-height:1;padding:5px 7px;border-radius:999px;font-weight:800;white-space:nowrap}.attention-mini.nicole{background:#f5eadf;color:#7a5638}.attention-mini.client{background:#eef1f5;color:#556575}.attention-mini.urgent{background:#f7e5e3;color:#9b4a43}.client-item.has-attention{border-left:3px solid #b89478}.client-item.attention-urgent{border-left-color:#b65a50}.client-business-line{display:block!important;margin-top:3px;color:var(--dark)!important;font-weight:600}.client-item-row{gap:8px}
.client-overview-header{margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fffdf9,#faf4ee);box-shadow:0 14px 36px rgba(51,41,31,.05)}.client-overview-main{display:flex;align-items:center;gap:12px}.client-avatar-large{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--brown);color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:1rem}.client-overview-main h2{margin:.15rem 0 0;font-family:'Playfair Display',Georgia,serif;font-size:1.45rem}.client-overview-main p{margin:3px 0 0;color:var(--muted);font-size:.76rem}.client-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.client-overview-stats>div{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.65)}.client-overview-stats span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.client-overview-stats strong{display:block;margin-top:5px;font-size:.78rem;color:var(--dark)}.attention-control-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 14px;border-radius:15px;background:rgba(245,238,231,.7)}.attention-control-card>div:first-child{min-width:150px}.attention-control-card strong{display:block;margin-top:3px;font-size:.74rem;color:var(--dark)}.attention-control-fields{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;gap:8px;flex:1}.attention-control-fields select,.attention-control-fields input{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fffdf9;padding:8px 10px;color:var(--dark);font:inherit;font-size:.72rem}.client-overview-header[data-attention="urgent"]{border-color:rgba(182,90,80,.35);box-shadow:0 14px 36px rgba(182,90,80,.08)}
.today-item.manual{border-left:3px solid #b89478}.today-item.manual.urgent{border-left-color:#b65a50;background:rgba(247,229,227,.45)}.today-item.manual.client{border-left-color:#8795a3}.today-item.upcoming{opacity:.88}
.timeline-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.timeline-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;position:relative;padding-bottom:12px}.timeline-row:not(:last-child):before{content:"";position:absolute;left:16px;top:34px;bottom:-2px;width:1px;background:var(--line)}.timeline-marker{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);color:var(--brown);font-weight:800;z-index:1}.timeline-row.document .timeline-marker,.timeline-row.email .timeline-marker{background:var(--brown);color:#fff}.timeline-row.schedule .timeline-marker{background:#f1e7dc}.timeline-card{padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}.timeline-card-top{display:flex;justify-content:space-between;gap:14px}.timeline-card-top strong{font-size:.78rem;color:var(--dark)}.timeline-card-top time{font-size:.62rem;color:var(--muted);white-space:nowrap}.timeline-card p{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}.audit-row{display:none!important}
.communication-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}.communication-card{position:relative;border:1px solid var(--line);border-radius:17px;padding:16px!important;background:#fffdf9}.communication-card.replies-card{grid-column:1/-1}.communication-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--brown);font-size:.86rem;margin-bottom:8px}.communication-card h3{margin:.1rem 0 .25rem}.communication-divider{display:none}.communication-card textarea,.communication-card input[type="text"],.communication-card input[type="file"]{width:100%;box-sizing:border-box}.communication-card .portal-btn{margin-top:10px}.email-reply-list{display:grid;gap:8px}.email-reply-card{box-shadow:none!important;border-radius:13px!important}
.reminder-status-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.reminder-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:.58rem;font-weight:800;background:#f3efe9;color:var(--muted)}.reminder-state.sent{background:#eaf1e7;color:#5d7356}.reminder-state.due{background:#f7e5e3;color:#9b4a43}.reminder-state.pending{background:#f4eadf;color:#7a5638}.reminder-state.off{background:#f1f1f1;color:#8a8a8a}.reminder-error{display:block!important;margin-top:6px;color:#9b4a43!important;font-weight:700}
@media(max-width:1100px){.dashboard-shortcuts{grid-template-columns:repeat(3,1fr)}.client-overview-stats{grid-template-columns:repeat(2,1fr)}.attention-control-card{display:block}.attention-control-fields{margin-top:10px}.communication-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-shortcuts{grid-template-columns:1fr 1fr}.client-directory-toolbar{grid-template-columns:1fr}.client-overview-stats{grid-template-columns:1fr 1fr}.attention-control-fields{grid-template-columns:1fr}.timeline-card-top{display:block}.timeline-card-top time{display:block;margin-top:3px}.communication-grid{display:block}.communication-card{margin-bottom:10px}}
@media(max-width:440px){.dashboard-shortcuts{grid-template-columns:1fr}.client-overview-stats{grid-template-columns:1fr}.client-quick-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.client-quick-filters button{white-space:nowrap}}


/* =========================================================
   V11 — practice management suite
   ========================================================= */
.v11-overview{grid-template-columns:repeat(6,minmax(0,1fr))}.shortcut-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dashboard-shortcuts button>span.shortcut-icon{background:#f2e8de;border:1px solid rgba(111,89,71,.12)}
.today-activity-wrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.today-activity-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:8px}.today-activity-head strong{font-family:'Playfair Display',Georgia,serif;font-size:1rem}.today-activity-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.today-feed-item{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fffdf9}.today-feed-icon{width:27px;height:27px;flex:0 0 27px;border-radius:8px;display:grid;place-items:center;background:var(--soft);color:var(--brown);font-size:.72rem;font-weight:800}.today-feed-copy{min-width:0}.today-feed-copy strong,.today-feed-copy small{display:block}.today-feed-copy strong{font-size:.7rem}.today-feed-copy small{margin-top:2px;font-size:.61rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-feed-copy time{display:block;margin-top:3px;font-size:.56rem;color:#9a8d82}
.deadline-centre-list-wrap,.work-template-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fffdf9}.deadline-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.deadline-list-head h3{margin:.2rem 0 .15rem;font-family:'Playfair Display',Georgia,serif}.deadline-list-head p{margin:0;color:var(--muted);font-size:.7rem}.deadline-list-head select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;color:var(--dark)}.deadline-centre-list{display:grid;gap:7px;margin-top:12px}.deadline-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.deadline-row.overdue{border-left:3px solid #b65a50}.deadline-row.today{border-left:3px solid #bd8d53}.deadline-row-date strong,.deadline-row-date small{display:block}.deadline-row-date strong{font-size:.7rem}.deadline-row-date small{font-size:.58rem;color:var(--muted)}.deadline-row-copy strong,.deadline-row-copy small{display:block}.deadline-row-copy strong{font-size:.73rem}.deadline-row-copy small{font-size:.61rem;color:var(--muted);margin-top:2px}.deadline-row button{border:0;background:transparent;color:var(--brown);font:inherit;font-size:.65rem;font-weight:800;cursor:pointer}.template-form{margin-top:12px;padding:14px;border-radius:14px;background:#faf6f1;border:1px solid var(--line)}.template-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.template-card{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.template-card span{min-width:0}.template-card strong,.template-card small{display:block}.template-card strong{font-size:.68rem}.template-card small{font-size:.58rem;color:var(--muted)}.template-card button{border:0;border-radius:999px;background:var(--soft);color:var(--brown);padding:6px 8px;font:inherit;font-size:.6rem;font-weight:800;cursor:pointer}
.client-quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 14px}.client-quick-actions button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fffdf9;color:var(--dark);padding:8px 11px;font:inherit;font-size:.66rem;font-weight:750;cursor:pointer}.client-quick-actions button span{color:var(--brown);font-size:.8rem}.client-quick-actions button:hover{background:var(--soft)}
.practice-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.practice-tool-card{margin-top:0!important}.practice-tool-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.practice-tool-head h2{margin:.15rem 0}.practice-tool-head p{margin:.2rem 0 0;color:var(--muted);font-size:.69rem}.onboarding-checklist{display:grid;gap:6px;margin:12px 0}.onboarding-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.onboarding-row input{width:16px;height:16px;accent-color:var(--brown)}.onboarding-row.completed strong{text-decoration:line-through;opacity:.55}.onboarding-row strong{font-size:.68rem}.onboarding-row small{display:block;font-size:.57rem;color:var(--muted);margin-top:2px}.row-delete-btn{border:0;background:transparent;color:#9b5a52;font-size:.66rem;cursor:pointer}.inline-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.inline-add-form input[type="text"],.inline-add-form>input{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.inline-add-form label{display:flex;gap:5px;align-items:center;font-size:.62rem;color:var(--muted)}.inline-add-form label input{width:auto}.document-request-form{display:grid;grid-template-columns:1.4fr .8fr;gap:7px;margin-top:12px}.document-request-form textarea,.document-request-form button{grid-column:1/-1}.document-request-form input,.document-request-form textarea{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;font:inherit;font-size:.68rem}.document-request-list{display:grid;gap:7px;margin-top:12px}.document-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.document-request-row.overdue{border-left:3px solid #b65a50}.document-request-row.received{opacity:.7}.document-request-row strong,.document-request-row small{display:block}.document-request-row strong{font-size:.69rem}.document-request-row small{font-size:.58rem;color:var(--muted);margin-top:2px}.request-actions{display:flex;gap:5px;align-items:center}.request-status{display:inline-flex;padding:4px 6px;border-radius:999px;background:var(--soft);font-size:.55rem;font-weight:800;color:var(--brown)}.request-status.received{background:#e9f2e8;color:#557057}.request-status.overdue{background:#f7e5e3;color:#9b4a43}.request-actions button{border:0;background:transparent;color:var(--brown);font:inherit;font-size:.58rem;font-weight:800;cursor:pointer}.internal-notes-panel{margin-top:12px}.internal-note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.internal-note-form textarea{min-height:68px;border:1px solid var(--line);border-radius:11px;padding:10px;font:inherit}.internal-notes-list{display:grid;gap:7px;margin-top:10px}.internal-note-row{padding:10px 11px;border-radius:12px;background:#faf6f1;border:1px solid var(--line)}.internal-note-row p{margin:0;font-size:.68rem;line-height:1.45}.internal-note-row footer{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:var(--muted);font-size:.56rem}.internal-note-row button{border:0;background:transparent;color:#9b5a52;font:inherit;font-size:.56rem;cursor:pointer}
.client-actions-card{margin:14px auto;max-width:1180px}.client-actions-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.client-actions-heading h2{margin:.15rem 0}.client-action-count{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brown);color:#fff;font-weight:800}.client-actions-list{display:grid;gap:8px;margin-top:12px}.client-action-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fffdf9}.client-action-row.overdue{border-left:3px solid #b65a50}.client-action-row .action-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--brown);font-weight:800}.client-action-row strong,.client-action-row small{display:block}.client-action-row strong{font-size:.72rem}.client-action-row small{font-size:.62rem;color:var(--muted);margin-top:2px}.client-action-row b{font-size:.58rem;color:var(--brown);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1250px){.v11-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.practice-tools-grid{grid-template-columns:1fr}.today-activity-feed{grid-template-columns:1fr}.deadline-row{grid-template-columns:75px minmax(0,1fr)}.deadline-row button{grid-column:2}.internal-note-form{grid-template-columns:1fr}.internal-note-form button{justify-self:start}}
@media(max-width:650px){.v11-overview{grid-template-columns:repeat(2,1fr)}.deadline-list-head{display:block}.deadline-list-head select,.deadline-list-head .portal-btn{margin-top:9px}.inline-add-form{grid-template-columns:1fr}.inline-add-form .portal-btn{justify-self:start}.document-request-form{grid-template-columns:1fr}.document-request-form textarea,.document-request-form button{grid-column:auto}.client-action-row{grid-template-columns:32px 1fr}.client-action-row>b{grid-column:2}.client-overview-stats{grid-template-columns:1fr 1fr!important}}

.client-action-row.clickable{cursor:pointer}.client-action-row.clickable:hover{background:var(--soft)}

/* =========================================================
   V12 — Potential client preview flow
   ========================================================= */
.potential-clients-section{margin:0 0 16px;scroll-margin-top:92px}
.potential-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.potential-section-head h2{margin:.35rem 0 .35rem}
.potential-section-head p{max-width:720px;margin:0}
.potential-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.potential-client-form{margin:20px 0 6px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fffaf5}
.potential-form-note{margin:0;padding:12px 14px;border-radius:12px;background:#f5eee7;color:var(--muted);font-size:.78rem;line-height:1.55}
.potential-client-list{display:grid;gap:10px;margin-top:18px}
.potential-client-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fffdf9}
.potential-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f1e5d9;color:#624b3a;font-family:Georgia,serif;font-size:1rem;font-weight:700}
.potential-client-copy{min-width:0}.potential-client-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.potential-client-title strong{font-size:.9rem}.potential-client-copy small{display:block;color:var(--muted);margin-top:3px;font-size:.7rem}.potential-client-copy p{margin:7px 0 0;color:#5e5147;font-size:.76rem;line-height:1.45}
.potential-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f4e7d8;color:#765436;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.potential-client-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.potential-client-actions .portal-btn{padding:9px 12px;font-size:.7rem}.potential-upgrade{background:#5f715f}
.potential-empty{padding:22px;text-align:center;border:1px dashed #d9c8b8;border-radius:16px;background:#fffaf5}.potential-empty strong{font-family:Georgia,serif}.potential-empty p{margin:6px auto 0;max-width:520px;color:var(--muted);font-size:.78rem;line-height:1.5}
.dashboard-shortcuts{grid-template-columns:repeat(6,minmax(0,1fr))}

.potential-portal-preview{margin-top:18px;overflow:hidden;position:relative}.potential-portal-preview:before{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(174,142,115,.17),rgba(174,142,115,0) 68%);pointer-events:none}
.potential-preview-hero{max-width:760px}.potential-preview-hero h2{font-size:clamp(1.7rem,4vw,2.5rem);margin:.35rem 0 .65rem}.potential-preview-hero>p{color:var(--muted);line-height:1.7;margin:0}
.potential-discussion-note{display:inline-grid;gap:3px;margin-top:15px;padding:10px 13px;border-radius:12px;background:#f7efe7;border:1px solid #eaded2}.potential-discussion-note span{font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--brown);font-weight:800}.potential-discussion-note strong{font-size:.8rem;color:var(--dark)}
.potential-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:24px 0}.potential-preview-grid article{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fffdf9}.preview-feature-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1e5d9;color:#6f5947;font-weight:800;margin-bottom:12px}.potential-preview-grid strong{display:block;font-size:.82rem;color:var(--dark)}.potential-preview-grid p{margin:6px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}
.potential-preview-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-radius:16px;background:#392f27;color:#fff}.potential-preview-next h3{margin:4px 0 5px;color:#fff;font-family:Georgia,serif}.potential-preview-next p{margin:0;color:#e7ddd4;font-size:.78rem;line-height:1.55;max-width:720px}.potential-preview-next .portal-kicker{color:#d9bea8}.potential-preview-next .portal-btn{background:#f4e7d8;color:#4d3b2e;text-decoration:none;white-space:nowrap}

@media(max-width:1100px){.dashboard-shortcuts{grid-template-columns:repeat(3,1fr)}.potential-preview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.potential-section-head,.potential-preview-next{display:block}.potential-section-actions{justify-content:flex-start;margin-top:14px}.potential-client-row{grid-template-columns:42px 1fr}.potential-client-actions{grid-column:1/-1;justify-content:flex-start}.potential-preview-grid{grid-template-columns:1fr}.potential-preview-next .portal-btn{display:inline-flex;margin-top:14px}.dashboard-shortcuts{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.dashboard-shortcuts{grid-template-columns:1fr}}

/* =========================================================
   V13 — Potential client journey tracker
   ========================================================= */
.potential-client-card{display:block!important;padding:16px!important}
.potential-client-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center}
.potential-journey{margin-top:15px;padding:15px;border-radius:15px;background:#fbf6f0;border:1px solid #eaded2}
.potential-journey-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:10px}
.potential-journey-head strong{display:block;font-size:.78rem;color:var(--dark);margin-top:3px}
.potential-progress-number,.potential-journey-percent{font-family:Georgia,serif;color:var(--brown);font-size:1.15rem;font-weight:700;white-space:nowrap}
.potential-progress-track{height:8px;background:#eadfd4;border-radius:999px;overflow:hidden}
.potential-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#a57a5d,#6f5947);border-radius:inherit;transition:width .3s ease}
.potential-checklist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}
.potential-check-row{display:flex;gap:8px;align-items:flex-start;padding:9px;border-radius:11px;background:#fff;border:1px solid var(--line);cursor:pointer;min-width:0}
.potential-check-row input{margin-top:2px;accent-color:var(--brown)}
.potential-check-row span{display:flex;gap:7px;align-items:flex-start;min-width:0}
.potential-check-row b{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:#f1e5d9;color:#6f5947;font-size:.57rem}
.potential-check-row strong{font-size:.61rem;line-height:1.35;color:var(--dark)}
.potential-check-row.completed{background:#f1f6ef;border-color:#dce9d9}
.potential-check-row.completed strong{color:#60755f}
.potential-check-row.completed b{background:#dce9d9;color:#557057}
.attention-pulse{box-shadow:0 0 0 0 rgba(95,113,95,.35);animation:potentialPulse 1.8s ease 2}
@keyframes potentialPulse{50%{box-shadow:0 0 0 7px rgba(95,113,95,0)}}
.potential-journey-client{margin:22px 0;padding:18px;border:1px solid #dfd0c2;border-radius:18px;background:linear-gradient(180deg,#fffaf5,#fffdf9)}
.potential-journey-client-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.potential-journey-client-head h3{margin:.25rem 0 .25rem;font-family:Georgia,serif;font-size:1.35rem;color:var(--dark)}
.potential-progress-track-large{height:10px;margin:13px 0 15px}
.potential-client-checklist{display:grid;gap:8px}
.potential-client-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid var(--line)}
.potential-client-step-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f1e5d9;color:#6f5947;font-weight:800}
.potential-client-step strong,.potential-client-step small{display:block}.potential-client-step strong{font-size:.76rem;color:var(--dark)}.potential-client-step small{font-size:.61rem;color:var(--muted);margin-top:2px}
.potential-client-step.completed{background:#f4f8f2;border-color:#dce9d9}.potential-client-step.completed .potential-client-step-icon{background:#dce9d9;color:#557057}.potential-client-step.completed small{color:#60755f}
@media(max-width:1050px){.potential-checklist{grid-template-columns:1fr 1fr}.potential-check-row:last-child{grid-column:1/-1}}
@media(max-width:720px){.potential-client-summary{grid-template-columns:42px 1fr}.potential-client-summary .potential-client-actions{grid-column:1/-1}.potential-checklist{grid-template-columns:1fr}.potential-check-row:last-child{grid-column:auto}.potential-journey-head,.potential-journey-client-head{align-items:flex-start}.potential-journey-head{display:block}.potential-progress-number{display:block;margin-top:7px}}


/* V13.1 — potential client communication access */
.potential-communication-hint{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(125,94,74,.07);border:1px solid rgba(125,94,74,.14);display:grid;gap:4px}.potential-communication-hint span{font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:#8a6a56;font-weight:700}.potential-communication-hint strong{font-size:.94rem;color:#3f312a;line-height:1.45}.shared-client-communication{scroll-margin-top:22px}.potential-communication-panel{margin:14px 0 0;border:1px solid rgba(125,94,74,.14);border-radius:14px;background:rgba(255,255,255,.55);overflow:hidden}.potential-communication-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}.potential-communication-panel>summary::-webkit-details-marker{display:none}.potential-communication-panel>summary span:first-child{display:grid;gap:2px}.potential-communication-panel>summary strong{font-size:.92rem;color:#44342b}.potential-communication-panel>summary small{font-size:.78rem;color:#8a786c}.potential-comm-chevron{font-size:1.1rem;color:#8a6a56;transition:transform .18s ease}.potential-communication-panel[open] .potential-comm-chevron{transform:rotate(180deg)}.potential-communication-body{border-top:1px solid rgba(125,94,74,.12);padding:14px;display:grid;gap:14px}.potential-message-compose{display:grid;gap:8px}.potential-message-compose label{font-size:.78rem;font-weight:700;color:#5a473c}.potential-message-compose textarea{width:100%;min-height:88px;resize:vertical;border:1px solid rgba(125,94,74,.2);border-radius:12px;background:#fff;padding:11px 12px;font:inherit;color:#3e3029}.potential-message-compose .portal-btn{justify-self:start}.potential-activity-list{display:grid;gap:8px}.potential-activity-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:11px 12px;border:1px solid rgba(125,94,74,.12);border-radius:12px;background:#fff}.potential-activity-row.unread{border-color:rgba(125,94,74,.3);box-shadow:inset 3px 0 0 #9a735b}.potential-activity-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(125,94,74,.08);color:#7d5e4a;font-weight:700}.potential-activity-row>span:nth-child(2){display:grid;gap:3px}.potential-activity-row strong{font-size:.86rem;color:#44342b}.potential-activity-row small,.potential-activity-row time{font-size:.76rem;color:#7f7067}.potential-activity-row button{border:0;background:transparent;color:#7d5e4a;font-weight:700;font-size:.75rem;cursor:pointer;padding:4px}@media(max-width:720px){.potential-activity-row{grid-template-columns:auto 1fr}.potential-activity-row button{grid-column:2;justify-self:start}.potential-communication-body{padding:12px}.potential-communication-panel>summary{padding:12px 13px}}


/* V13.2 — clear send/upload feedback across client and potential-client portals */
.portal-toast-region{position:fixed;right:18px;bottom:18px;z-index:9999;display:grid;gap:10px;width:min(380px,calc(100vw - 28px));pointer-events:none}
.portal-toast{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;padding:14px 16px;border:1px solid rgba(109,82,70,.22);border-radius:16px;background:#fffaf7;box-shadow:0 14px 40px rgba(72,49,39,.18);color:#4e3b33;opacity:0;transform:translateY(12px) scale(.98);animation:portalToastIn .22s ease forwards}
.portal-toast.error{background:#fff7f5;border-color:#e6c9c2;color:#814b43}
.portal-toast-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e8efe5;color:#496249;font-weight:800;font-size:18px}
.portal-toast.error .portal-toast-icon{background:#f7e5e1;color:#814b43}
.portal-toast strong,.portal-toast span{display:block}.portal-toast strong{font-size:.9rem;letter-spacing:.01em}.portal-toast span{margin-top:3px;font-size:.76rem;line-height:1.4;opacity:.82}
.portal-toast.is-leaving{animation:portalToastOut .2s ease forwards}
@keyframes portalToastIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes portalToastOut{to{opacity:0;transform:translateY(8px) scale(.98)}}
.portal-form button[disabled],.potential-message-compose button[disabled]{opacity:.62;cursor:wait;pointer-events:none}
@media(max-width:640px){.portal-toast-region{left:14px;right:14px;bottom:14px;width:auto}.portal-toast{padding:13px 14px;border-radius:14px}}

/* V13.3 — persistent confirmation emphasis */
.portal-message.success,.message.success,[data-status="success"]{font-weight:700}.portal-message.success::before,.message.success::before{content:"✓ DONE — ";font-weight:800}


/* V13.4 — explicit per-action confirmation and duplicate-submit protection */
.action-confirmation{grid-column:1/-1;margin-top:8px;padding:11px 13px;border-radius:12px;font-size:.84rem;font-weight:750;line-height:1.35}
.action-confirmation.pending{display:block;background:#f5eee7;color:#6f5947;border:1px solid #eaded2}
.action-confirmation.success{display:block;background:#eef6ef;color:#41614a;border:1px solid rgba(65,97,74,.18)}
.action-confirmation.error{display:block;background:#fff1ef;color:#8b3d32;border:1px solid rgba(139,61,50,.18)}
.document-request-form button[disabled],.portal-form button[disabled]{pointer-events:none}

/* V13.5 global action feedback */
.portal-btn:disabled, button:disabled{cursor:wait;opacity:.72}
.portal-btn:disabled{transform:none!important}
