.cd-dashboard {
  --cd-ink:#302638;
  --cd-muted:#695e70;
  --cd-line:#e2dce6;
  --cd-accent:#60479a;
  width:100%; max-width:76rem; margin-inline:auto; color:var(--cd-ink);
}
body[data-workspace="client"].client-mode #site-header { display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(.6rem,1.4vw,1.4rem); }
body[data-workspace="client"] #site-header .workspace-role-label { margin-left:auto; }
body[data-workspace="client"] #site-header .auth-session-actions { flex:none; }
.portal-layout:has(.cd-dashboard) { background:#f7f5f8; }
.portal-main:has(.cd-dashboard) > .workspace-tools { width:100%; max-width:76rem; margin-inline:auto; }
.portal-main:has(.cd-dashboard) .workspace-identity,
body[data-workspace="client"]:not([data-dashboard-preview]) .portal-main:has(.cd-dashboard) .local-status { display:none; }
@media(min-width:981px) {
  body[data-workspace="client"]:not([data-dashboard-preview]) .portal-main:has(.cd-dashboard) .workspace-tools { display:none; }
  body[data-workspace="client"] #site-header .studio-brand { min-width:clamp(10rem,15vw,13.6rem); }
}
.cd-dashboard h1,.cd-dashboard h2,.cd-dashboard h3 { color:var(--cd-ink); overflow-wrap:anywhere; text-align:start; }
.cd-dashboard h1 { margin:0; font:650 clamp(1.65rem,2.8vw,2.55rem)/1.15 var(--brand-sans); letter-spacing:-.045em; }
.cd-dashboard h2 { margin:0; font:650 1.25rem/1.3 var(--brand-sans); letter-spacing:-.025em; }
.cd-dashboard h3 { margin:0; font:600 1.08rem/1.35 var(--brand-sans); letter-spacing:-.015em; }
.cd-dashboard .ui-icon { flex:none; width:1rem; height:1rem; }
.cd-head,.cd-panel-head,.cd-attention { display:flex; gap:.65rem 1rem; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.cd-head { margin:0 0 1.25rem; }
.cd-add,.cd-primary,.cd-link,.cd-text,.cd-attention a,.cd-attention span { display:inline-flex; gap:.5rem; align-items:center; }
.cd-dashboard :is(button,a) { font-family:var(--brand-sans); }
.cd-add,.cd-dashboard .cd-primary { justify-content:center; border-radius:.55rem; min-height:44px; padding:.6rem .95rem; font-size:.875rem; line-height:1.35; font-weight:650; text-decoration:none; cursor:pointer; }
.cd-add { border:1px solid #cbc1d2; background:white; color:var(--cd-ink); }
.cd-dashboard .cd-primary { border:1px solid #62468e; background:#62468e; color:white; }
.cd-dashboard .cd-primary:hover { background:#513576; }
.cd-text,.cd-link,.cd-panel-head a,.cd-attention a { color:var(--cd-accent); font-size:.875rem; font-weight:600; background:none; border:0; padding:0; text-underline-offset:.18em; cursor:pointer; }
.cd-text,.cd-link { min-height:40px; text-decoration:underline; }
.cd-actions,.cd-shelf-foot { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; }
.cd-actions { margin-top:1rem; }
.cd-attention { padding:.7rem 1rem; border:1px solid #d7c6a6; border-radius:.7rem; background:#fff7e7; margin-bottom:1rem; }
.cd-panels { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:1rem; align-items:start; }
.cd-panel,.cd-plan { background:white; border:1px solid var(--cd-line); border-radius:1rem; min-width:0; padding:clamp(1rem,2vw,1.6rem); }
.cd-panel-head { min-height:2rem; margin:0 0 1rem; }
.cd-tabs { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; border-bottom:1px solid var(--cd-line); }
.cd-tabs button { border:0; border-bottom:2px solid transparent; background:none; color:var(--cd-muted); padding:.6rem 0; min-height:44px; cursor:pointer; font-size:.9rem; font-weight:600; }
.cd-tabs button[aria-pressed=true] { border-bottom-color:var(--cd-accent); color:var(--cd-accent); }
.cd-tabs span { font-size:.78rem; background:#f1edf5; border-radius:.35rem; padding:.1rem .4rem; font-variant-numeric:tabular-nums; }
.cd-document,.cd-start { display:grid; grid-template-columns:clamp(6.5rem,10vw,9rem) minmax(0,1fr); align-items:center; gap:clamp(.85rem,2vw,1.5rem); padding:1.2rem 0; }
.cd-document+.cd-document,.cd-shelf-foot,.cd-list li+li { border-top:1px solid var(--cd-line); }
.cd-shelf-foot { padding-top:.5rem; }
.cd-thumb { padding:14%; background:#efeaf4; border-radius:.65rem; }
.cd-paper { aspect-ratio:8.5/11; background:#fff; padding:12%; overflow:hidden; box-shadow:0 2px 8px #30263820; overflow-wrap:anywhere; }
.cd-paper strong,.cd-paper i { display:block; font-size:clamp(.42rem,.65vw,.62rem); line-height:1.3; }
.cd-paper span { display:block; height:2px; margin:.35rem 0; background:#84629e; }
.cd-paper p { margin:0; color:var(--cd-muted); font-size:.44rem; line-height:1.45; }
.cd-document-info { min-width:0; }
.cd-document-info small { display:block; font-size:.8rem; color:var(--cd-muted); margin:0 0 .25rem; }
.cd-start img { width:100%; height:auto; border-radius:.65rem; }
.cd-start:has(>div:only-child) { grid-template-columns:1fr; }
.cd-start p,.cd-empty p { color:var(--cd-muted); margin:.35rem 0 0; line-height:1.5; font-size:.92rem; }
.cd-counts { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.cd-counts a { display:grid; gap:.15rem; padding:.8rem; background:#f5f2f8; color:var(--cd-ink); border-radius:.55rem; text-decoration:none; }
.cd-counts b { font-size:1.65rem; line-height:1.1; font-weight:600; font-variant-numeric:tabular-nums; }
.cd-counts span,.cd-record small { font-size:.82rem; color:var(--cd-muted); }
.cd-dashboard .cd-recent { font-size:.93rem; margin:1.15rem 0 .2rem; }
.cd-list { padding:0; list-style:none; margin:0; }
.cd-list button,.cd-empty { display:flex; align-items:center; gap:.8rem; padding:.8rem 0; }
.cd-list button { border:0; background:transparent; text-align:start; width:100%; cursor:pointer; color:var(--cd-ink); }
.cd-record { flex:1; min-width:0; overflow-wrap:anywhere; }
.cd-record strong,.cd-record small { display:block; }
.cd-record strong { font-size:.92rem; }
.cd-symbol { color:var(--cd-accent); align-self:flex-start; padding-top:.18rem; }
.cd-empty { padding-bottom:0; }
.cd-plan { margin-top:1rem; padding-block:0; }
.cd-plan summary { font-size:.9rem; padding:1rem 0; cursor:pointer; }
.cd-plan .dash-plans { margin:0 0 1rem; }
.cd-dashboard :is(button,a,summary):focus-visible { outline:3px solid #9776be; outline-offset:2px; }
.cd-welcome { text-align:center; padding:clamp(1.25rem,3vw,2.6rem) 0 1.7rem; }
.cd-welcome h1 { text-align:center; }




.cd-focus { display:grid; grid-template-columns:minmax(15rem,1fr) minmax(0,2.1fr); gap:1rem; }
.cd-progress { padding:1.2rem .65rem .65rem; }
.cd-progress h2 { margin:0 .65rem .8rem; }
.cd-progress button { display:grid; grid-template-columns:2.25rem minmax(0,1fr) auto; align-items:center; gap:.65rem; width:100%; padding:.55rem .65rem; border:0; border-radius:.6rem; min-height:46px; text-align:start; color:var(--cd-ink); background:transparent; cursor:pointer; line-height:1.3; font-size:.9rem; }
.cd-progress button[aria-pressed=true] { background:#f3eef9; }
.cd-progress button strong { color:var(--cd-accent); font-size:.78rem; font-variant-numeric:tabular-nums; }
.cd-row-icon { display:grid; place-items:center; height:2.25rem; border-radius:.55rem; background:#f3eef9; color:var(--cd-accent); }
.cd-meter,.cd-meter i { display:block; height:4px; border-radius:2px; }
.cd-meter { margin-top:.35rem; background:#dfd6eb; }
.cd-meter i { background:#7855ac; }
.cd-next { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); border-radius:1rem; overflow:hidden; background:#ede7f4; }
.cd-next-copy { padding:clamp(1.25rem,2.4vw,2.35rem); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.cd-next-copy small { color:var(--cd-accent); font-size:.8rem; font-weight:650; margin-bottom:.65rem; }
.cd-next h2 { font-size:clamp(1.5rem,2.3vw,2.25rem); line-height:1.12; }
.cd-next-copy p,.cd-match-prompt p { color:var(--cd-muted); line-height:1.5; margin:.65rem 0 1.2rem; overflow-wrap:anywhere; }
.cd-art { position:relative; overflow:hidden; min-width:0; background:linear-gradient(135deg,#d7c8e7,#ebdded); }
.cd-flight { position:absolute; width:100%; height:100%; object-fit:cover; object-position:60% center; }
.cd-focus-paper { position:absolute; inset:1.8rem 12% auto; height:100%; overflow:hidden; background:white; border-radius:2px; box-shadow:0 6px 24px #37234922; pointer-events:none; }
.cd-focus-paper .p-paper { margin:0; width:200%; max-width:none; min-height:200%; padding:14%; transform:scale(.5); transform-origin:top left; box-shadow:none; }
.cd-matches { margin:clamp(1.8rem,3vw,3rem) 0; }
.cd-match-box { position:relative; display:grid; place-items:center; isolation:isolate; overflow:hidden; padding:1.2rem; background:#faf9fc; border:1px solid var(--cd-line); border-radius:1rem; }
.cd-blur { position:absolute; inset:.6rem; z-index:-1; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; filter:blur(3px); opacity:.5; }
.cd-blur i { border:1px solid #dfd9e5; border-radius:.55rem; background:linear-gradient(#cabdd6,#cabdd6) 1rem 35%/30% .5rem no-repeat,linear-gradient(#dfd8e5,#dfd8e5) 1rem 60%/48% .4rem no-repeat,white; }
.cd-match-prompt { width:min(100%,30rem); border-radius:.8rem; text-align:center; background:#fffffff2; padding:1rem; }
.cd-match-prompt h3 { text-align:center; font-size:1.25rem; }
.cd-match-prompt p { margin:.45rem 0 .8rem; }
.cd-match-open,.cd-match-grid article { padding:1.2rem; background:white; border:1px solid var(--cd-line); border-radius:.8rem; }
.cd-match-open { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; }
.cd-match-open p,.cd-match-grid p { margin:.4rem 0; color:var(--cd-muted); overflow-wrap:anywhere; }
.cd-match-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr)); gap:.7rem; }
@media(max-width:900px) {
  .cd-focus { grid-template-columns:minmax(13.5rem,.9fr) minmax(0,1.25fr); }
  .cd-next { grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr); }
}
@media(max-width:700px) {
  .cd-focus { grid-template-columns:1fr; }


  .cd-welcome { padding:1.2rem 0; }
  .cd-next { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); min-height:12rem; }
}
@media(max-width:980px) {
  .portal-main:has(.cd-dashboard) .workspace-tools { margin-bottom:.7rem; }
  body[data-workspace="client"] #site-header .auth-session-actions { margin-left:auto; }
}
@media(max-width:820px) { .cd-panels { grid-template-columns:1fr; } }
@media(max-width:640px) {
  body[data-workspace="client"] #site-header :is(.workspace-role-label,.header-avatar) { display:none; }
  .cd-document,.cd-start { grid-template-columns:clamp(4.25rem,18vw,6rem) minmax(0,1fr); }
  .cd-head { margin-bottom:.85rem; }
  .cd-actions { gap:.35rem .8rem; }
  .cd-add,.cd-dashboard .cd-primary { padding-inline:.7rem; }
  .cd-panel-head { margin-bottom:.65rem; }
}
.document-library{max-width:1240px;margin:1rem auto;color:#30293a}
.library-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.library-heading h1,.library-heading h2{margin:0;font-family:inherit;font-weight:700;font-size:clamp(25px,3vw,38px);line-height:1.15;letter-spacing:-.04em}
.library-heading .btn{display:inline-flex;align-items:center;gap:8px}.library-heading .btn svg{width:16px;height:16px}
.library-tabs{display:flex;gap:24px;border-bottom:1px solid #dcd6df}
.library-tabs button,.library-info button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}
.library-tabs button{padding:12px 1px;border-bottom:3px solid transparent;color:#675f6c}
.library-tabs button[aria-pressed=true]{border-color:#643c70;color:#4a2856;font-weight:700}
.library-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,365px),1fr));column-gap:32px}
.library-record{display:grid;grid-template-columns:clamp(105px,12vw,160px) minmax(0,1fr);align-items:start;gap:clamp(14px,2vw,26px);padding:26px 0;border-bottom:1px solid #e9e4eb;min-width:0}
.library-thumb{width:100%;aspect-ratio:8.5/11;position:relative;overflow:hidden;container-type:inline-size;background:white;border:1px solid #d9d4db;border-radius:4px}
.library-thumb>div{position:absolute;inset:0 auto auto 0;width:600px;transform:scale(.21);transform-origin:top left}
@supports (zoom:calc(100cqw / 600px)){.library-thumb>div{transform:none;zoom:calc(100cqw / 600px)}}
.library-thumb .rb-paper{min-height:0!important;box-shadow:none!important;margin:0!important;border:0!important}
.library-info{min-width:0}.library-info h3{margin:0;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.library-info p,.library-empty p{font-size:13px;color:#695f70;margin:6px 0 15px}
.library-info .library-edit{display:inline-block;padding:5px 0;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#593365}
.library-exports,.library-more[open]{display:grid;justify-items:start}.library-exports button,.library-more button,.library-more summary{padding:6px 0;text-align:left;font-size:14px}.library-info .library-more{margin:6px 0 0;padding:0;border:0;background:transparent}.library-info .library-more summary{padding:6px 0;cursor:pointer;color:#675f6c}
.library-empty{padding:45px 0}.library-empty h2{margin:0;font-size:20px}
@media(max-width:480px){.library-heading{align-items:flex-start;gap:14px}.library-record{grid-template-columns:90px minmax(0,1fr);gap:16px}.library-exports button,.library-more button,.library-edit{min-height:40px}}

.library-heading {
  padding: clamp(.85rem,2vw,1.4rem);
  border: 1px solid #eddfd9;
  border-radius: 1rem;
  background: linear-gradient(110deg,#fff3e7,#fffaf7 70%,#fbf2f4);
}
.library-identity { display:flex; align-items:center; gap:clamp(.7rem,1.6vw,1.15rem); min-width:0; }
.library-identity img { display:block; width:clamp(3rem,6vw,4.5rem); height:auto; flex:none; }
.library-tabs button, .library-info .library-edit, .library-exports button, .library-more button,
.draft-formats button, .draft-tools button[data-ix-action="copy-for-job"] {
  display:inline-flex; gap:.5rem; align-items:center;
}
.library-info .tandem-glyph, .draft-tools .tandem-glyph { width:1.05rem; height:1.05rem; }
.cd-row-icon { background:#f9ebe4; }
@media(max-width:480px) {
  .library-heading { align-items:center; }
  .library-identity { flex-basis:100%; }
}

/* One focus picker controls the recommendation. Keep its action in the first phone screen. */
.cd-dashboard { --cd-ink:#341f30; --cd-accent:var(--rt-plum); --cd-line:var(--rt-line); }
.portal-layout:has(:is(.cd-dashboard,.document-library)) { background:var(--rt-canvas); }
.cd-welcome { text-align:start; padding:.6rem 0 1.25rem; }
.cd-welcome h1 { text-align:start; }
.cd-focus { grid-template-columns:minmax(0,1.85fr) minmax(15rem,1fr); }
.cd-next { background:var(--rt-plum); color:#fff2e8; }
.cd-next .cd-next-copy h2 { color:white; }
.cd-next-copy p { color:#f2dfec; }
.cd-next-copy small { color:#ffc3ae; }
.cd-next .cd-primary { background:var(--rt-cream); color:var(--rt-plum); border-color:var(--rt-cream); }
.cd-next .cd-primary:hover { color:var(--rt-plum); background:white; }
.cd-progress button[aria-pressed=true] { background:#f9e9e3; box-shadow:inset 3px 0 var(--rt-coral); }
.cd-meter { background:#dfcfd6; }
.cd-meter i { background:#834263; }
.library-empty { display:flex; align-items:center; gap:clamp(1rem,2.8vw,2.5rem); padding:clamp(1.25rem,4vw,3rem); margin-top:1.25rem; background:#fffdf9; border:1px solid var(--rt-line); border-radius:1rem; }
.library-empty img { width:clamp(4rem,8vw,6.75rem); height:auto; }
.library-empty .btn { display:inline-flex; align-items:center; gap:.5rem; background:var(--rt-plum); color:white; }
.library-empty .btn .ui-icon { width:1rem; height:1rem; }
.library-heading:not(:has(img)) { padding:0; background:none; border:0; border-radius:0; }
@media(max-width:850px){
  .cd-focus { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .cd-next { grid-template-columns:minmax(0,1fr) 28%; }
  .cd-next-copy { padding:1.15rem; }
  .library-empty { align-items:flex-start; }
}

body.client-mode:has(:is(.cd-dashboard,.document-library)) { background:var(--rt-canvas); }
.library-empty .btn { border-color:var(--rt-plum); }
.library-info button.approval-primary,.cd-dashboard button.approval-primary,.rb-top-actions button.approval-primary{display:inline-flex;align-items:center;justify-content:center;background:#48263f;color:#fff;border:1px solid #48263f;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;padding:10px 15px;cursor:pointer}
.library-info .approval-primary{display:flex;width:fit-content;margin:4px 0 8px}
.approval-preview{border:1px solid #ded7df;border-radius:5px;background:white}
#approval-confirm:disabled{opacity:.5;cursor:default}

.cd-art:has(.goal-art) { display:grid; place-items:center; background:linear-gradient(145deg,#f9dcca,#e6bdad); }
.cd-art .goal-art { width:min(88%,12rem); }
.shelf-art { width:clamp(4rem,8vw,6.75rem); align-self:center; justify-self:center; }
.cd-shelf .cd-new-resume{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;margin:12px 0 4px;padding:12px;background:#fffbf8;color:#49283f;border:1px dashed #bea7b8;border-radius:10px;font:inherit;cursor:pointer}
.cd-new-resume svg{width:24px;height:24px}.cd-shelf .cd-new-resume:hover,.cd-shelf .cd-new-resume:focus-visible{background:#f9eee9;border-color:#59354e}
.cd-import-more{margin-top:8px;font-size:13px}.cd-import-more summary{cursor:pointer}.cd-import-more .remove-import-action,.library-info .remove-import-action{color:#873348;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;padding:8px 0}

/* The client workbench pairs each illustrated goal with its next action. */
.cd-dashboard .cd-focus {
  display:block;
  overflow:hidden;
  margin-bottom:clamp(1rem,2vw,1.6rem);
  border:1px solid #dfcec6;
  border-radius:1.25rem;
  background:#fffcf8;
  box-shadow:0 5px 18px #39173508;
}
.cd-welcome { padding:.3rem 0 1.1rem; }
.cd-dashboard .cd-workbench {
  display:flex;
  position:relative;
  isolation:isolate;
  align-items:center;
  min-height:clamp(13.75rem,19vw,18rem);
  border-radius:0;
  background:linear-gradient(105deg,#fff5e9,#fbe8d7 75%,#f7d6bf);
}
.cd-hero-folio,.cd-hero-object {
  position:absolute;
  inset:0 0 0 auto;
  height:100%;
  width:auto;
  max-width:68%;
  object-fit:cover;
  object-position:right center;
  z-index:-1;
  mask-image:linear-gradient(90deg,transparent,#000 18%);
}
.cd-hero-object {
  display:grid; place-items:center; width:42%;
  background:radial-gradient(ellipse at center,#f5d0b8,transparent 70%);
}
.cd-hero-object .goal-art { width:min(65%,12rem); }
.cd-workbench .cd-next-copy {
  width:57%;
  padding:clamp(1.2rem,2.8vw,2.65rem);
}
.cd-workbench .cd-next-copy small { color:#854534; font-weight:700; margin:0 0 .42rem; }
.cd-dashboard .cd-workbench h2 {
  color:var(--rt-plum);
  font:italic 400 clamp(2.35rem,3.7vw,3.85rem)/1.02 var(--brand-serif);
  letter-spacing:-.035em;
}
.cd-workbench .cd-next-copy p { color:#644e53; font-size:.96rem; margin:.6rem 0 1.05rem; max-width:38ch; }
.cd-dashboard .cd-primary,.cd-dashboard button.approval-primary {
  background:var(--rt-plum); color:#fff8f1; border-color:var(--rt-plum); min-height:44px;
}
.cd-dashboard .cd-primary:hover,.cd-dashboard button.approval-primary:hover { background:var(--rt-plum-hover);color:white; }
.cd-dashboard .cd-tools { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; border-top:1px solid #e2d2c9; }
.cd-tools button {
  display:flex; align-items:center; justify-content:flex-start; gap:clamp(.4rem,1vw,.85rem);
  padding:.8rem clamp(.5rem,1.4vw,1.5rem); min-height:4.7rem; border-radius:0; position:relative;
}
.cd-tools button+button { border-left:1px solid #ebded7; }
.cd-tools button[aria-pressed=true] { background:#fff0e4; box-shadow:inset 0 -4px var(--rt-coral); }
.cd-tools button:hover { background:#f9ede5; }
.cd-dashboard .cd-tools button:focus-visible { outline-offset:-4px; }
.cd-tool-art { width:clamp(2.5rem,3.7vw,3.5rem); flex:none; }
.cd-tool-text { min-width:0; }
.cd-tools button strong,.cd-tools button small { display:block; text-align:left; overflow-wrap:anywhere; }
.cd-tools button strong { color:var(--rt-plum);font-size:.94rem; }
.cd-tools button small { color:#6e575d; font-size:.78rem; line-height:1.3; margin-top:.2rem; }
.cd-panels { grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); align-items:stretch; }
.cd-panel-head a { text-underline-offset:.22em; }
.cd-panel-head h2 { font-size:clamp(1.15rem,1.65vw,1.5rem); }
.cd-panel { background:#fffdfa; }
.cd-dashboard .cd-thumb { align-self:start; padding:9%; background:#f2e7e0; }
.cd-shelf .cd-actions { margin-top:.55rem; gap:.3rem .85rem; }
.cd-shelf .cd-new-resume { margin-top:1rem; background:#fff7ee; min-height:4.25rem; }
.cd-tabs span { background:#f1e7e1; }
.cd-counts a { background:#f5ece9; color:var(--rt-plum); grid-template-columns:auto 1fr; align-items:center; gap:.65rem; }
.cd-counts a:last-child { background:#feefdf; }
.cd-counts a:hover { text-decoration:underline; }
.cd-counts+.cd-panel-head { margin:1.05rem 0 .2rem; }
.cd-empty { padding:1rem 0 0; }
.cd-empty-art { width:3.6rem; flex:none; }
.cd-matches { margin:1.5rem 0 1rem; }
.cd-matches .cd-match-box { background:#f8f1eb; }
.cd-matches .cd-match-open { background:#fffdf9; }
.cd-plan { background:#fffdf9; }
@media(max-width:820px) {
  .cd-panels { grid-template-columns:1fr; }
}
@media(max-width:650px) {
  .cd-tools button { padding:.65rem .8rem; min-height:3.8rem; }
  .cd-dashboard .cd-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-tools button:nth-child(3) { border-left:0; }
  .cd-tools button:nth-child(n+3) { border-top:1px solid #ebded7; }
  .cd-tool-art { width:2.5rem; }
  .cd-workbench .cd-next-copy { width:68%; padding:1rem; }
  .cd-dashboard .cd-workbench h2 { font-size:clamp(1.85rem,7vw,2.65rem); }
  .cd-workbench .cd-next-copy p { font-size:.85rem; }
  .cd-hero-folio { max-width:50%; mask-image:linear-gradient(90deg,transparent,#000 38%); }
  .cd-hero-object { width:35%; }
}
@media(max-width:385px) {
  .cd-tools button { gap:.4rem; padding:.6rem .44rem; }
  .cd-tool-art { width:2rem; }
  .cd-tools button strong { font-size:.84rem; }
  .cd-counts a { gap:.35rem;padding:.65rem .5rem; }
}
@media print { .cd-hero-folio,.cd-hero-object { display:none; } }
.cd-goal-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.cd-shelf .cd-new-resume { text-align:left; }
.cd-shelf .cd-new-resume:has(.cd-create-art) { justify-content:flex-start; gap:.85rem; }
.cd-new-resume .cd-create-art { width:3rem; flex:none; }
.cd-new-resume small { display:block; color:var(--cd-muted); font-size:.82rem; margin:.22rem 0 0; line-height:1.35; }
.cd-new-resume .cd-create-art~svg { margin-left:auto; flex:none; }
@media(max-width:650px) {
  .cd-hero-folio {
    width:85%; max-width:none; height:auto; inset:auto 0 12% auto;
    mask-image:radial-gradient(ellipse 54% 66% at 83% 53%,#000 54%,transparent 100%);
  }
}
.cd-role-prompt { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; background:#fff9f0; border:1px solid var(--cd-line); border-radius:1rem; padding:1rem 1.25rem; }
.cd-role-prompt [data-paper-art] { width:3.5rem; flex:none; }
.cd-role-prompt>div { flex:1 1 12rem; }
.cd-role-prompt p { color:var(--cd-muted); margin:.35rem 0 0; line-height:1.45; font-size:.9rem; }
.cd-attention { background:#fff0df; border-color:#e5c7af; color:var(--rt-plum); }
.cd-plan .dash-plans article { background:#fffcf8; border-color:var(--cd-line); color:var(--cd-ink); }
.cd-plan .dash-plans article:last-child { background:#f9ede9; }
.cd-plan .dash-plans :is(.dash-caption,small) { color:#6e575d; }
.cd-plan .dash-plans a { color:var(--rt-plum); }
@media(max-width:650px) {
  .cd-hero-folio {
    mask-image:radial-gradient(ellipse 54% 66% at 83% 53%,#000 54%,transparent 100%),linear-gradient(transparent,#000 10% 84%,transparent);
    mask-composite:intersect;
  }
}


/* Coach Arti stays docked or moves freely to any part of the screen. */
.coach-pet {
  --pet-inset: max(14px,env(safe-area-inset-right));
  --pet-bottom: calc(12px + env(safe-area-inset-bottom));
  --pet-width: clamp(128px,10.5vw,156px);
  position:fixed; z-index:51; inset:auto var(--pet-inset) var(--pet-bottom) auto;
  width:var(--pet-width); margin:0; padding:0; border:0; background:transparent;
  color:#391735; font:400 15px/1.45 "DM Sans",sans-serif;
}
.coach-pet.pet-free-pos {
  --pet-left:clamp(8px,var(--pet-x),calc(100vw - var(--pet-width) - 8px));
  --pet-top:clamp(min(68px,15dvh),var(--pet-y),calc(100dvh - var(--pet-width) - 22px - var(--pet-bottom)));
  inset:var(--pet-top) auto auto var(--pet-left);
}
.coach-pet[data-dock=left]:not(.pet-free-pos) { inset-inline-start:max(14px,env(safe-area-inset-left)); inset-inline-end:auto; }
.coach-pet .coach-handle {
  position:relative; display:grid; justify-items:center; list-style:none;
  padding:0; border:0; background:none; cursor:grab; user-select:none; touch-action:none;
  transform:translate(var(--pet-drag-x,0px),var(--pet-drag-y,0px)); -webkit-tap-highlight-color:transparent;
}
.coach-handle::-webkit-details-marker { display:none; }
.coach-handle:focus-visible { outline:3px solid #75366c; outline-offset:2px; border-radius:16px; }
.coach-handle .coach-portrait { display:block; width:100%; pointer-events:none; transform-origin:50% 90%; }
.coach-handle img { display:block; width:100%; height:auto; filter:drop-shadow(0 3px 3px #44183c35); }
.coach-name { display:block; white-space:nowrap; padding:3px 9px; margin-top:-7px; color:#fff8ed; background:#471e40; border:1px solid #fff5e9; border-radius:18px; font-size:12px; font-weight:700; }
.coach-quick-pill {
  position:absolute; right:0; bottom:calc(100% + 6px); width:max-content; box-sizing:border-box; max-width:min(186px,calc(var(--pet-width) + 18px));
  padding:8px 12px; border-radius:14px 14px 4px 14px; background:#fffaf4; border:1px solid #dcc5b6;
  box-shadow:0 6px 20px #39173522; color:#391735; text-align:left; cursor:pointer;
  display:grid; gap:2px; line-height:1.25;
}
.coach-pet[data-dock=left] .coach-quick-pill {
  right:auto; left:0; border-radius:14px 14px 14px 4px;
}
.coach-pet[open] .coach-quick-pill,.pet-dragging .coach-quick-pill { display:none; }
.coach-quick-tag { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#7a3e64; font-weight:800; }
.coach-quick-text { font-size:12px; font-weight:600; color:#391735; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pet-dragging .coach-handle { cursor:grabbing; }
.pet-dragging .coach-bubble { visibility:hidden; }
.coach-pet .coach-bubble {
  box-sizing:border-box; position:absolute; right:0; bottom:calc(100% + 9px); width:min(358px,calc(100vw - 28px));
  max-height:min(520px,calc(100dvh - var(--pet-bottom) - var(--pet-width) - 40px)); overflow:auto;
  overscroll-behavior:contain; padding:17px 18px 12px; border:1px solid #dcc5b6;
  border-radius:20px 20px 5px 20px; background:#fffaf4; box-shadow:0 8px 30px #39173529;
}
.coach-pet[data-dock=left] .coach-bubble { right:auto; left:0; border-radius:20px 20px 20px 5px; }
.coach-pet[data-vdock=top] .coach-bubble { bottom:auto; top:calc(100% + 9px); border-radius:20px 5px 20px 20px; }
.coach-pet[data-vdock=top][data-dock=left] .coach-bubble { border-radius:5px 20px 20px 20px; }
.coach-pet.pet-free-pos .coach-bubble {
  --panel-width:min(358px,calc(100vw - 28px));
  --panel-offset:calc(var(--pet-width) - var(--panel-width));
  right:auto; left:clamp(calc(8px - var(--pet-left)),var(--panel-offset),calc(100vw - var(--pet-left) - var(--panel-width) - 8px));
  max-height:min(520px,calc(var(--pet-top) - 17px));
}
.coach-pet.pet-free-pos[data-dock=left] .coach-bubble { --panel-offset:0px; }
.coach-pet.pet-free-pos[data-vdock=top] .coach-bubble { max-height:min(520px,calc(100dvh - var(--pet-top) - var(--pet-width) - var(--pet-bottom) - 34px)); }
.coach-bubble-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.coach-eyebrow { display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#7d4969; }
.coach-pet .coach-bubble-head h2 { margin:0; font:700 16px/1.25 "DM Sans",sans-serif; color:#471e40; }
.coach-bubble-head button { width:36px; height:36px; border:0; border-radius:50%; background:#f3e7dd; color:#50223f; font-size:22px; cursor:pointer; }
.coach-hand { margin-inline-end:6px; font-size:17px; line-height:1; }
.coach-pet h3 { margin:7px 0; font:normal 24px/1.12 Georgia,serif; color:#391735; overflow-wrap:anywhere; }
.coach-pet p { margin:6px 0 12px; font:400 15px/1.45 "DM Sans",sans-serif; color:#493542; }
.coach-tip small { display:block; margin:5px 0; color:#695060; font-size:12px; overflow-wrap:anywhere; }
.coach-pet audio { display:block; width:100%; height:42px; margin:10px 0; }
.coach-actions,.coach-pet-tools { display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; }
.coach-actions a,.coach-actions button,.coach-demo-tip a,.coach-message a,.coach-message button,.coach-pet-tools button {
  display:inline-flex; align-items:center; min-height:38px; padding:3px 0; color:#562449;
  background:none; border:0; cursor:pointer; font:600 13px/1.3 "DM Sans",sans-serif; text-decoration:underline;
}
.coach-demo-tip a svg { width:16px; height:16px; margin-inline-start:5px; }
.coach-actions .coach-play { padding:7px 15px; border-radius:20px; background:#421b3d; color:#fff6ea; text-decoration:none; }
.coach-actions .coach-play:disabled { background:#e0d1d9; color:#594450; cursor:default; }
.coach-message:not(:empty) { margin-top:8px; font-size:13px; }
.coach-pet-tools { border-top:1px solid #ead9cc; margin-top:9px; }
.coach-pet-tools button { color:#685261; font-size:12px; }
.coach-reaction { font-size:12px; color:#663559; }
.show-detail-page .coach-pet,.mobile-nav-open .coach-pet { display:none; }
@media (prefers-reduced-motion:no-preference) {
 .coach-handle:hover .coach-portrait { animation:coach-greet .42s ease-out; }
 @keyframes coach-greet { 35% { transform:rotate(-6deg) translateY(-3px); } 70% { transform:rotate(3deg); } }
}
@media (max-width:980px) {
  body:has(#resume:not([hidden]),.rb-workbench,.rb-step-footer,.rb-build-action-bar) .coach-pet { display:none !important; }
  body[data-role=client] .coach-pet, .dashboard-coach.coach-pet { --pet-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .coach-pet:not(.pet-free-pos) { --pet-width:56px; }
  .coach-pet:not([open]) .coach-handle .coach-portrait { width:56px; height:56px; border-radius:50%; overflow:hidden; background:radial-gradient(circle at 50% 38%,#fffaf3,#f2dfd2); border:2px solid #fff; box-shadow:0 6px 16px #3917353a; }
  .coach-pet:not([open]) .coach-handle .coach-portrait img { width:98px; max-width:none; margin:-5px 0 0 -21px; filter:none; }
  .coach-pet:not([open]) .coach-name { display:none; }
  .coach-pet:not([open]) .coach-quick-pill { display:none; }
  .coach-pet:not([open]) .coach-handle::after { content:""; position:absolute; top:2px; right:2px; width:12px; height:12px; border-radius:50%; background:#ef6a4f; border:2px solid #fff; }
}
@media (max-width:560px) { .coach-pet { --pet-width:clamp(104px,28vw,120px); } .coach-name { font-size:12px; padding:3px 8px; } }
/* Arti tucks into the screen edge when his docked spot would cover a control or text (paper-coach.js toggles .pet-yield); hover or focus brings him back. */
.coach-pet .coach-handle { transform-origin:100% 100%; transition:scale .32s cubic-bezier(.34,1.56,.64,1),translate .34s cubic-bezier(.2,.8,.2,1),opacity .2s ease; }
.coach-pet[data-dock=left] .coach-handle { transform-origin:0 100%; }
.coach-pet.pet-yield:not([open]):not(.pet-free-pos):not(:hover):not(:focus-within) .coach-handle { scale:.6; translate:calc(60% + var(--pet-inset) - 34px) 0; opacity:.95; }
.coach-pet[data-dock=left].pet-yield:not([open]):not(.pet-free-pos):not(:hover):not(:focus-within) .coach-handle { translate:calc(-60% - var(--pet-inset) + 34px) 0; }
.coach-pet.pet-free-pos.pet-yield:not([open]):not(:hover):not(:focus-within) .coach-handle { scale:.52; opacity:.92; }
.coach-pet.pet-yield:not([open]):not(:hover):not(:focus-within) .coach-quick-pill { visibility:hidden; opacity:0; }
.coach-pet.pet-yield:not([open]):not(:hover):not(:focus-within) .coach-name { visibility:hidden; }
/* On phones and compact viewports Arti rests as a small head bubble so he never hides sticky bars or pagination. */
@media (max-width:980px) {
  .coach-pet:not(.pet-free-pos) { --pet-width:56px; }
  .coach-pet.pet-yield:not([open]):not(.pet-free-pos):not(:hover):not(:focus-within) .coach-handle { scale:1; translate:calc(100% + var(--pet-inset) - 18px) 0; }
  .coach-pet[data-dock=left].pet-yield:not([open]):not(.pet-free-pos):not(:hover):not(:focus-within) .coach-handle { translate:calc(-100% - var(--pet-inset) + 18px) 0; }
}
/* First placement after a page load: hidden until placed, then a short fade (paper-coach.js). The delayed reveal is a fallback if scripts never run. */
.coach-pet.pet-pending { visibility:hidden; animation:pet-fallback-show 0s 2.5s forwards; }
@keyframes pet-fallback-show { to { visibility:visible; } }
.coach-pet.pet-instant .coach-handle { transition:none !important; }
.coach-pet.pet-reveal .coach-handle { animation:pet-reveal .28s ease-out; }
@keyframes pet-reveal { from { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .coach-pet .coach-handle { transition:none; } .coach-pet.pet-reveal .coach-handle { animation:none; } }
@media print { .coach-pet { display:none; } }

/* Routed Approved page (#documents/view/next/<id>) */
.am-page{max-width:60rem}
.am-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:clamp(1rem,2.6vw,1.75rem);border:1px solid #e1cbd8;border-radius:1.2rem;background:radial-gradient(circle at 12% 20%,rgba(250,105,86,.14),transparent 46%),linear-gradient(135deg,#fffdfa 0%,#fbf2ed 58%,#f6e7ef 100%)}
.am-arti{width:clamp(88px,14vw,132px);height:auto;filter:drop-shadow(0 8px 10px rgba(74,33,61,.18))}
.am-hero-copy p{margin:0;line-height:1.5;color:#4d3848;max-width:46ch}
.am-hero-copy .am-kicker{margin-bottom:.3rem;font:italic 400 clamp(1.5rem,3.4vw,2.1rem)/1.1 "Instrument Serif",Georgia,serif;color:#2c1428}
.am-sheet{display:grid;gap:.35rem;justify-items:center;width:clamp(84px,12vw,118px);color:#703954;font-size:.78rem;font-weight:650;text-decoration:none}
.am-sheet .library-thumb{box-shadow:0 10px 22px -10px rgba(45,18,40,.35);transform:rotate(2deg)}
.am-sheet:hover small,.am-sheet:focus-visible small{text-decoration:underline}
.am-steps{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.85rem}
.am-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;padding:1.05rem 1.15rem;border:1px solid #dfd3dc;border-radius:12px;background:#fffdfb}
.am-num{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#2c1428;color:#fff;font-weight:700;font-size:.9rem}
.am-step.is-done .am-num{background:#2f7a55;font-size:0}.am-step.is-done .am-num::after{content:"✓";font-size:.95rem}
.am-step h2{margin:.15rem 0 .35rem;font-size:1.12rem;letter-spacing:-.02em;color:#2c1428}
.am-tag{display:inline-block;margin-left:.35rem;padding:.12rem .5rem;border-radius:999px;background:#e5f3ea;border:1px solid #bfdcca;color:#1f5c3e;font-size:.68rem;font-weight:700;letter-spacing:.03em;vertical-align:middle}
.am-step[data-am-step="plans"] .am-tag{background:#f4e6ef;border-color:#e1c8d7;color:#5e2046}
.am-step p{margin:0 0 .7rem;line-height:1.55;color:#4d3848;max-width:62ch}
.am-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.am-actions .btn{min-height:44px;display:inline-flex;align-items:center;gap:.4rem}
.am-step .am-note{margin:.6rem 0 0;font-size:.8rem;color:#6d5967}.am-actions .am-note{margin:0}
.am-step .am-done{margin:.5rem 0 0;font-weight:650;color:#1f5c3e}.am-done:empty{display:none}
.am-locked{position:relative;margin-top:.9rem;padding:.9rem;border-radius:.8rem;background:#f7f5fa;overflow:hidden}
.am-locked-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;filter:blur(3px)}
.am-locked-rows .opportunity-silhouette{padding:.7rem}
.am-step .am-locked p{margin:.7rem 0 0;font-size:.86rem}
.am-pitch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:.8rem}
.am-pitch img{width:clamp(110px,18vw,180px);height:auto;border-radius:.7rem}
.am-pitch ul{margin:0;padding-left:1.1rem;line-height:1.6;color:#4d3848;font-size:.9rem}
.am-foot{display:flex;flex-wrap:wrap;gap:1.25rem;margin:1.25rem 0 0}
.am-foot a{display:inline-flex;align-items:center;min-height:44px;color:#703954;font-weight:650}
@media(max-width:640px){
  .am-hero{grid-template-columns:auto minmax(0,1fr)}.am-sheet{display:none}
  .am-step{grid-template-columns:minmax(0,1fr);gap:.4rem;padding:.95rem}
  .am-actions .btn{flex:1 1 100%;justify-content:center}
  .am-pitch{grid-template-columns:minmax(0,1fr)}.am-locked-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.am-locked-rows>:nth-child(3){display:none}
}

/* Approval celebration (approved-next.js adds .am-celebrate on the first visit for each resume) */
.am-voice{display:inline-flex;align-items:center;min-height:44px;margin-top:.35rem;padding:0;border:0;background:none;color:#703954;font:650 .86rem/1.2 var(--brand-sans,inherit);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.am-burst{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:60}
.am-sheet .library-thumb{view-transition-name:rt-resume}
.btn.is-stamped{background:#1f6f47!important;border-color:#1f6f47!important;color:#fff!important;opacity:1!important}
::view-transition-group(rt-resume){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
@media(prefers-reduced-motion:no-preference){
  .btn.is-stamped{animation:am-stamp .42s cubic-bezier(.34,1.56,.64,1)}
  .am-celebrate .am-kicker{animation:am-rise .5s ease-out .25s both}
  .am-celebrate [data-am-export=pdf]{animation:am-glow 1.1s ease-out 1.6s 1}
  @keyframes am-stamp{0%{transform:scale(1)}40%{transform:scale(.9)}70%{transform:scale(1.06)}100%{transform:scale(1)}}
  @keyframes am-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes am-glow{0%{box-shadow:0 0 0 0 rgba(224,99,78,.55)}100%{box-shadow:0 0 0 14px rgba(224,99,78,0)}}
}

.am-page .am-step .fine{font-size:.85rem;line-height:1.5;margin:.5rem 0}
