/* ============================================================
   LEGALPRENEUR DESIGN SYSTEM â€” v1.0
   Stack target: WordPress + Elementor (HTML/CSS/vanilla JS)
   All tokens are CSS custom properties â†’ paste into
   Elementor â–¸ Site Settings â–¸ Custom CSS (:root scope)
   ============================================================ */

:root{
  /* ---- Brand color tokens ---- */
  --teal-900:#0B2527;   /* sidebar / ink on brand */
  --teal-800:#103436;
  --teal-700:#155255;   /* primary hover */
  --teal-600:#1B6467;   /* PRIMARY brand action */
  --teal-500:#2E7D80;
  --teal-100:#DEEDEC;   /* selected / tint */
  --teal-50:#EFF6F5;

  --gold-600:#A8821C;   /* gold text on light */
  --gold-500:#C9A227;   /* accent, coming-soon */
  --gold-100:#F6EBC8;
  --butter:#F4D35E;     /* legacy CTA yellow â€” reserved for marketing */

  /* ---- Neutrals ---- */
  --ink:#15211F;
  --ink-2:#3D4A47;
  --muted:#6C7A76;
  --faint:#9AA6A2;
  --border:#E4E8E4;
  --border-strong:#CFD6D1;
  --surface:#FFFFFF;
  --surface-2:#F4F6F3;  /* subtle wells */
  --bg:#F8F9F7;         /* app canvas */

  /* ---- Semantic ---- */
  --success:#1E7F4F; --success-bg:#E3F2E9;
  --warning:#9A6700; --warning-bg:#FBF0D5;
  --danger:#B3261E;  --danger-bg:#F9E4E2;
  --info:#155E92;    --info-bg:#E2EEF7;

  /* ---- Typography ---- */
  --font-display:'Fraunces', Georgia, serif;
  --font-ui:'Inter', -apple-system, 'Segoe UI', sans-serif;

  /* ---- Spacing (8pt grid) ---- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;

  /* ---- Shape & elevation ---- */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px;
  --shadow-sm:0 1px 2px rgba(21,33,31,.06);
  --shadow-md:0 4px 12px rgba(21,33,31,.08);
  --shadow-lg:0 12px 32px rgba(21,33,31,.14);

  --sidebar-w:264px;
  --topbar-h:64px;
}

/* ---- Dark mode token overrides ---- */
[data-theme="dark"]{
  --ink:#EDF1EF; --ink-2:#C4CECB; --muted:#8FA09B; --faint:#66756F;
  --border:#233634; --border-strong:#2F4643;
  --surface:#122B2C; --surface-2:#0E2425; --bg:#0A1E1F;
  --teal-100:#173E40; --teal-50:#12393B;
  --gold-100:#33301A;
  --success-bg:#12352A; --warning-bg:#332A12; --danger-bg:#3A1B18; --info-bg:#14293A;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 4px 12px rgba(0,0,0,.45);
  --shadow-lg:0 12px 32px rgba(0,0,0,.55);
}
[data-theme="dark"] .card, [data-theme="dark"] .modal{border-color:var(--border)}
[data-theme="dark"] .btn-secondary{background:var(--surface)}

/* ============ RESET / BASE ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--font-ui);font-size:14px;line-height:1.55;color:var(--ink);background:var(--bg)}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:14px;color:var(--ink)}
a{color:var(--teal-600);text-decoration:none}
h1,h2,h3{font-weight:600}
.font-display{font-family:var(--font-display)}
::placeholder{color:var(--faint)}

/* ============ APP SHELL ============ */
.app{display:flex;min-height:100vh}
.main{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;transition:margin .25s ease}
.content{flex:1;padding:var(--s6) var(--s7) var(--s8);max-width:1240px;width:100%;margin:0 auto}

/* ============ SIDEBAR (matches Dashboard Redesign Mockup) ============ */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:#0A1E1F;color:#EDF1EF;display:flex;flex-direction:column;z-index:60;transition:transform .25s ease;padding:20px 14px;overflow:hidden}
.sb-logo{display:flex;align-items:center;gap:10px;padding:6px 10px 22px}
.sb-logo .mark{width:38px;height:38px;border-radius:10px;background:var(--butter);color:#0A1E1F;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:20px;box-shadow:none}
.sb-logo .word{font-family:var(--font-display);font-size:19px;letter-spacing:.2px;color:#EDF1EF;font-weight:600}
.sb-logo .word small{display:none}
.sb-scroll{flex:1;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:#2B4B4B transparent;display:flex;flex-direction:column}
.sb-section{margin-top:4px}
.sb-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#66756F;padding:18px 12px 6px;margin-bottom:0}
.sb-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:10px;border:none;background:transparent;color:#C9D4D0;font-size:14.5px;font-weight:500;text-align:left;margin-bottom:2px;transition:background .15s,color .15s;font-family:var(--font-ui);cursor:pointer;text-decoration:none}
.sb-item .emoji{width:20px;text-align:center;font-size:15px;flex:none;line-height:1}
.sb-item:hover{background:rgba(255,255,255,.06);color:#fff}
.sb-item.active{background:#123B3C;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sb-item.sub{padding-left:40px;font-size:13px;color:#A7BCB8}
.sb-item.sub:hover{color:#fff}
.sb-item.sub.active{color:#fff}
.sb-item[disabled]{cursor:default;color:#4E5F5B;pointer-events:none}
.sb-item[disabled] .emoji{filter:grayscale(1);opacity:.45}
.sb-item[disabled]:hover{background:transparent;color:#4E5F5B}
.pill-soon{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8FA09B;background:rgba(255,255,255,.07);border:none;padding:2px 7px;border-radius:999px;line-height:1.3;white-space:nowrap}
.sb-bottom{margin-top:auto;padding-top:10px}
.sb-foot{padding:12px 10px 0;border-top:1px solid #233634;margin-top:14px}
.sb-user{display:flex;align-items:center;gap:10px;padding:0;border-radius:8px;text-decoration:none;color:inherit}
.sb-user:hover{background:transparent}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--butter);color:#0A1E1F;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.sb-user .nm{font-size:13.5px;font-weight:600;color:#fff;line-height:1.2}
.sb-user .pl{font-size:11.5px;color:#8FA09B}

/* ============ TOP BAR ============ */
.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:var(--s4);padding:0 var(--s6);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}
.lp-pricing-announce{background:#F5C518;color:#1a1a1a;text-align:center;padding:10px 16px;font-size:14px;line-height:1.45;font-weight:600;width:100%;box-sizing:border-box;border-radius:10px;margin:0 0 var(--s5);border:1px solid rgba(0,0,0,.08)}
.lp-pricing-announce__inner{max-width:920px;margin:0 auto}
.hamburger{display:none;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:38px;height:38px;font-size:17px;color:var(--ink)}
.gsearch{flex:1;max-width:460px;position:relative}
.gsearch input{width:100%;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:0 76px 0 36px;font-size:13.5px;transition:border .15s, box-shadow .15s}
.gsearch input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}
.gsearch .mag{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:14px}
.kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--faint);border:1px solid var(--border);border-radius:5px;padding:1px 6px;background:var(--surface-2)}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:var(--s3)}
.iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:15px;display:grid;place-items:center;transition:background .15s}
.iconbtn:hover{background:var(--surface-2)}
.notif-dot{position:relative}
.notif-dot::after{content:"";position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--gold-500);border:2px solid var(--surface)}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13.5px;border-radius:10px;padding:0 18px;height:40px;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}
.btn-primary{background:var(--teal-600);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--teal-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-primary:active{transform:none}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}
.btn-secondary:hover{background:var(--surface-2);border-color:var(--faint)}
.btn-ghost{background:transparent;color:var(--ink-2)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-gold{background:var(--gold-500);color:var(--teal-900)}
.btn-gold:hover{background:#D9B23A;transform:translateY(-1px)}
.btn-danger{background:var(--danger);color:#fff}
.btn-sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px}
.btn-lg{height:48px;padding:0 26px;font-size:15px;border-radius:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important}

/* ============ CARDS ============ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.card-pad{padding:var(--s5)}
.card-hover{transition:transform .18s ease, box-shadow .18s ease, border-color .18s}
.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}

/* ============ BADGES ============ */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 10px;border-radius:var(--r-full);line-height:1.5}
.badge-soon{color:var(--gold-600);background:var(--gold-100)}
.badge-success{color:var(--success);background:var(--success-bg)}
.badge-warning{color:var(--warning);background:var(--warning-bg)}
.badge-danger{color:var(--danger);background:var(--danger-bg)}
.badge-info{color:var(--info);background:var(--info-bg)}
.badge-neutral{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}
.badge-teal{color:var(--teal-600);background:var(--teal-100)}

/* ============ CONTRACT DOCX PREVIEW ============ */
.lp-doc-preview{max-height:none;min-height:320px;overflow:visible;background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px 32px;font-family:"Georgia","Times New Roman",serif;color:#111;line-height:1.55}
.lp-doc-preview .lp-doc-title{font-family:"Georgia","Times New Roman",serif;font-size:18px;font-weight:700;letter-spacing:.02em;margin:0 0 6px;text-align:center;text-decoration:underline}
.lp-doc-preview .lp-doc-subtitle{font-size:13px;font-weight:400;font-style:italic;margin:0 0 16px;text-align:center;color:#222}
.lp-doc-preview .lp-doc-lead{font-size:14px;font-style:italic;margin:0 0 14px;color:#222}
.lp-doc-preview .lp-doc-h{font-size:14px;font-weight:700;letter-spacing:.01em;margin:18px 0 8px}
.lp-doc-preview .lp-doc-p{font-size:14px;font-weight:400;margin:0 0 10px}
.lp-doc-preview .lp-doc-spacer{margin:0 0 8px;min-height:8px}
.lp-doc-preview .lp-doc-signature{margin:4px 0 14px;padding:8px 0}
.lp-doc-preview .lp-doc-sign-img{display:block;max-width:240px;height:auto;margin:0 0 6px;border-bottom:1px solid #ccc}
.lp-doc-preview .lp-doc-sign-name{font-family:"Georgia","Times New Roman",serif;font-size:20px;font-style:italic;margin:0;color:#15211F}
.lp-doc-preview .lp-doc-sig-fields{margin:8px 0 12px;width:100%}
.lp-doc-preview .lp-doc-sig-row{display:flex;align-items:flex-end;gap:10px;margin:0 0 10px}
.lp-doc-preview .lp-doc-sig-label{flex:0 0 130px;font-weight:700;font-size:14px}
.lp-doc-preview .lp-doc-sig-value,.lp-doc-preview .lp-doc-sig-blank{flex:1;border-bottom:1px solid #222;min-height:22px;padding:0 4px 2px;font-size:14px}
.lp-doc-pdf-frame{width:100%;height:640px;border:1px solid var(--border);border-radius:12px;background:#fff}
.lp-doc-pdf-wrap{display:grid;gap:10px}

/* ============ INPUTS ============ */
.field{margin-bottom:var(--s4)}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.field .hint{font-size:12px;color:var(--muted);margin-top:5px}
.input,.select,.textarea{width:100%;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);padding:10px 14px;font-size:14px;transition:border .15s, box-shadow .15s}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}
.input.error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}
.textarea{min-height:96px;resize:vertical}
.select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:var(--surface);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5L7 7l5.5-5.5' stroke='%231A2E2C' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px 9px;
  padding-right:40px;
  cursor:pointer;
}
.select::-ms-expand{display:none}
.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2)}
.checkrow input{margin-top:3px;accent-color:var(--teal-600);width:16px;height:16px}

/* ============ PROGRESS ============ */
.progress{height:8px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
.progress>span{display:block;height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--teal-600),var(--teal-500));transition:width .4s ease}
.steps{display:flex;gap:6px}
.steps i{flex:1;height:5px;border-radius:var(--r-full);background:var(--border)}
.steps i.done{background:var(--teal-600)}
.steps i.now{background:var(--gold-500)}

/* ============ TABLE ============ */
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--border)}
.table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tbody tr{transition:background .12s}
.table tbody tr:hover{background:var(--surface-2)}

/* ============ MISC COMPONENTS ============ */
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-full);padding:7px 14px;font-size:13px;font-weight:500;color:var(--ink-2);transition:all .15s}
.chip:hover{border-color:var(--teal-500);color:var(--teal-600);background:var(--teal-50)}
.divider{height:1px;background:var(--border);margin:var(--s5) 0}
.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}
@keyframes shimmer{to{background-position:-200% 0}}
.toast{position:fixed;bottom:24px;right:24px;background:var(--teal-900);color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:center;font-size:13.5px;z-index:100;opacity:0;transform:translateY(12px);pointer-events:none;transition:all .25s ease}
.toast.show{opacity:1;transform:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(11,37,39,.55);backdrop-filter:blur(3px);z-index:90;display:none;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.open{display:flex}
.modal{background:var(--surface);border-radius:var(--r-lg);max-width:480px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:pop .22s ease}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(8px)}}
.tooltip{position:relative}
.empty{color:var(--muted);text-align:center;padding:var(--s7) var(--s5)}

/* ============ PAGE PATTERNS ============ */
.view{display:none;animation:fade .25s ease}
.view.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap}
.page-head h1{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.01em}
.page-head .sub{color:var(--muted);font-size:14px;margin-top:4px}
.crumb{font-size:12.5px;color:var(--muted);margin-bottom:10px}
.crumb b{color:var(--ink);font-weight:600}
.grid{display:grid;gap:var(--s4)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

/* Quick actions */
.qa{display:flex;flex-direction:column;gap:12px;padding:var(--s5);text-align:left;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:all .18s ease}
.qa:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--teal-500)}
.qa .qico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:var(--teal-100);color:var(--teal-600)}
.qa.gold .qico{background:var(--gold-100);color:var(--gold-600)}
.qa b{font-size:14.5px;font-weight:600}
.qa span{font-size:12.5px;color:var(--muted);line-height:1.5}

/* Tasks */
.task{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border)}
.task:last-child{border-bottom:none}
.task .tk-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);flex:none;transition:all .15s;cursor:pointer;display:grid;place-items:center;color:transparent;font-size:11px}
.task .tk-check:hover{border-color:var(--teal-500)}
.task.done .tk-check{background:var(--teal-600);border-color:var(--teal-600);color:#fff}
.task.done .tk-body b{text-decoration:line-through;color:var(--muted)}
.task .tk-body{flex:1;min-width:0}
.task .tk-body b{font-size:13.5px;font-weight:600;display:block}
.task .tk-body span{font-size:12px;color:var(--muted)}
.task .btn{flex:none}

/* Activity */
.act{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);align-items:center}
.act:last-child{border-bottom:none}
.act .aico{width:34px;height:34px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;font-size:15px;flex:none}
.act b{font-size:13.5px;font-weight:600;display:block}
.act span{font-size:12px;color:var(--muted)}
.act time{margin-left:auto;font-size:12px;color:var(--faint);flex:none}

/* ============ AI CHAT ============ */
.chat-wrap{display:grid;grid-template-columns:230px 1fr;gap:var(--s4);height:calc(100vh - var(--topbar-h) - 96px);min-height:520px}
.chat-hist{overflow-y:auto}
.chat-hist .hd{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 8px}
.chat-hist .hd b{font-size:13px}
.hist-item{display:block;width:100%;text-align:left;border:none;background:none;padding:9px 16px;font-size:12.5px;color:var(--ink-2);border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hist-item:hover{background:var(--surface-2)}
.hist-item.active{background:var(--teal-100);color:var(--teal-600);font-weight:600}
.chat-main{display:flex;flex-direction:column;overflow:hidden}
.chat-scroll{flex:1;overflow-y:auto;padding:var(--s5)}
.msg{display:flex;gap:12px;margin-bottom:var(--s5);max-width:760px}
.msg .mavatar{width:32px;height:32px;border-radius:10px;flex:none;display:grid;place-items:center;font-size:14px;font-weight:700}
.msg.ai .mavatar{background:var(--teal-600);color:#fff}
.msg.user{flex-direction:row-reverse;margin-left:auto}
.msg.user .bubble{background:var(--teal-600);color:#fff;border:none}
.bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:13px 16px;font-size:14px;line-height:1.65}
.bubble p+p{margin-top:8px}
.bubble ol,.bubble ul{margin:8px 0 0 18px}
.bubble li{margin-bottom:4px}
.msg-tools{display:flex;gap:6px;margin-top:8px}
.msg-tools button{border:1px solid var(--border);background:var(--surface);border-radius:7px;font-size:11.5px;color:var(--muted);padding:4px 10px}
.msg-tools button:hover{color:var(--teal-600);border-color:var(--teal-500)}
.followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.followups .chip{font-size:12px;padding:6px 12px}
.thinking{display:inline-flex;gap:4px;padding:6px 2px}
.thinking i{width:7px;height:7px;border-radius:50%;background:var(--teal-500);animation:bounce 1.2s infinite}
.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-5px);opacity:1}}
.chat-input{border-top:1px solid var(--border);padding:var(--s4) var(--s5)}
.ci-box{border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);padding:10px 12px;transition:border .15s, box-shadow .15s}
.ci-box:focus-within{border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}
.ci-box textarea{width:100%;border:none;resize:none;font-size:14px;background:transparent;min-height:24px;max-height:120px}
.ci-box textarea:focus{outline:none}
.ci-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.ci-row .iconbtn{width:32px;height:32px;font-size:14px;border-radius:8px}
.send{margin-left:auto;width:36px;height:36px;border-radius:10px;background:var(--teal-600);color:#fff;border:none;font-size:15px;display:grid;place-items:center;transition:background .15s}
.send:hover{background:var(--teal-700)}
.disclaimer{font-size:11.5px;color:var(--faint);text-align:center;margin-top:10px}
.suggest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:640px;margin:18px auto 0}
.suggest-grid button{text-align:left;padding:14px 16px;border:1px solid var(--border);background:var(--surface);border-radius:12px;font-size:13px;color:var(--ink-2);transition:all .15s}
.suggest-grid button:hover{border-color:var(--teal-500);background:var(--teal-50)}
.suggest-grid button b{display:block;color:var(--ink);font-size:13.5px;margin-bottom:2px}

/* ============ WIZARD (Contract Gen / Intakes) ============ */
.wizard{max-width:640px;margin:0 auto}
.wz-meta{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--muted);margin:14px 0 22px}
.wz-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--s6)}
.wz-card h2{font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:6px}
.wz-card .lead{color:var(--muted);font-size:14px;margin-bottom:var(--s5)}
.wz-nav{display:flex;justify-content:space-between;margin-top:var(--s5)}
.opt{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .15s;background:var(--surface)}
.opt:hover{border-color:var(--teal-500)}
.opt.sel{border-color:var(--teal-600);background:var(--teal-50);box-shadow:0 0 0 3px var(--teal-100)}
.opt .oico{font-size:20px}
.opt b{display:block;font-size:14px}
.opt span{font-size:12.5px;color:var(--muted)}
.optlist{display:grid;gap:10px}

/* Upload */
.dropzone{border:1.5px dashed var(--border-strong);border-radius:12px;padding:26px;text-align:center;color:var(--muted);font-size:13px;transition:all .15s;cursor:pointer;background:var(--surface-2);display:block;width:100%;box-sizing:border-box;overflow:hidden}
.dropzone:hover{border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-600)}
.filerow{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:12.5px;margin-top:8px;background:var(--surface);width:100%;max-width:100%;box-sizing:border-box;min-width:0;overflow:hidden}
.filerow .fico{flex:none;opacity:.7}
.filerow .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filerow .fstatus{flex:none;color:var(--success);font-size:11.5px;font-weight:600;white-space:nowrap}
.filerow .x{margin-left:0;flex:none;color:var(--faint);background:none;border:none;font-size:14px;cursor:pointer;padding:0 2px;line-height:1}
.filerow .x:hover{color:var(--danger)}
.lp-upload-grid{display:grid;grid-template-columns:1fr;gap:12px;width:100%;min-width:0}
.lp-upload-slot{display:flex;flex-direction:column;gap:0;min-width:0;max-width:100%;overflow:hidden}

/* ============ DOCUMENTS ============ */
.doc-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:var(--s4)}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}
.seg button{border:none;background:transparent;padding:7px 12px;font-size:13px;color:var(--muted)}
.seg button.on{background:var(--teal-600);color:#fff}
.folder{display:flex;align-items:center;gap:12px;padding:14px 16px}
.folder .fico{font-size:20px}
.folder b{font-size:13.5px;display:block}
.folder span{font-size:11.5px;color:var(--muted)}
.doc-tile{padding:16px;display:flex;flex-direction:column;gap:10px}
.doc-tile .thumb{height:88px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-size:26px}
.doc-tile b{font-size:13px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.doc-tile .meta{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
.star{background:none;border:none;color:var(--faint);font-size:14px}
.star.on{color:var(--gold-500)}

/* ============ COURSES / COMING SOON ============ */
.course .cimg{height:120px;border-radius:12px 12px 0 0;background:linear-gradient(135deg,var(--teal-700),var(--teal-500));display:grid;place-items:center;font-size:34px;color:rgba(255,255,255,.9)}
.course .cbody{padding:16px}
.course .cbody b{font-size:14px;display:block;margin-bottom:4px}
.course .cbody span{font-size:12.5px;color:var(--muted)}
.soon-card{position:relative;padding:var(--s5);overflow:hidden}
.soon-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(201,162,39,.07))}
.soon-card .qico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:var(--gold-100);color:var(--gold-600);margin-bottom:12px}
.soon-card b{font-size:14.5px;display:block;margin-bottom:4px}
.soon-card p{font-size:12.5px;color:var(--muted);margin-bottom:12px}

/* ============ STYLE GUIDE ============ */
.sg-section{margin-bottom:var(--s7)}
.sg-section>h2{font-family:var(--font-display);font-size:21px;margin-bottom:6px}
.sg-section>.sg-note{color:var(--muted);font-size:13.5px;margin-bottom:var(--s4);max-width:680px}
.swatch{border-radius:12px;border:1px solid var(--border);overflow:hidden}
.swatch .sw{height:64px}
.swatch .swi{padding:9px 12px;font-size:11.5px;background:var(--surface)}
.swatch .swi b{display:block;font-size:12px}
.swatch .swi span{color:var(--muted);font-family:ui-monospace,monospace}
.type-row{display:flex;align-items:baseline;gap:var(--s5);padding:12px 0;border-bottom:1px solid var(--border)}
.type-row .spec{width:220px;flex:none;font-size:11.5px;color:var(--muted);font-family:ui-monospace,monospace}


/* ============ v1.1 REFINEMENTS ============ */
/* Welcome */
.welcome{margin-bottom:var(--s5)}
.welcome h1{font-size:30px;font-weight:600;letter-spacing:-.01em}
.welcome p{color:var(--muted);font-size:14.5px;margin-top:6px}
.welcome p b{color:var(--teal-600);font-weight:600}
.lp-reassure{margin:0 0 16px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);font-size:13px;line-height:1.55}
.wz-card .lp-reassure{margin:0 0 18px}
.lp-reassure--dash{margin:0 0 14px;padding:8px 12px;font-size:12.5px;color:var(--muted);background:transparent;border-style:dashed}

/* AI hero â€” clean surface, typography-led */
.hero-row{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:stretch;margin-bottom:24px}
.ai-hero{display:flex;flex-direction:column;padding:36px 40px}
.ai-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600);margin-bottom:16px}
.ai-badge .dot{width:7px;height:7px;border-radius:50%;background:#2E9E6B;box-shadow:0 0 0 0 rgba(46,158,107,.5);animation:pulse 2.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(46,158,107,0)}100%{box-shadow:0 0 0 0 rgba(46,158,107,0)}}
.ai-hero h2{font-size:25px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.ai-hero .lead{font-size:14px;line-height:1.7;color:var(--muted);max-width:520px;margin-bottom:24px}
.hero-ask{display:flex;align-items:center;gap:10px;border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;padding:0 6px 0 16px;height:50px;cursor:pointer;color:var(--faint);font-size:13.5px;transition:border .15s,box-shadow .15s;white-space:nowrap;overflow:hidden;line-height:1}
.hero-ask:hover{border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}
.hero-ask .go{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;flex:none;background:var(--teal-600);color:#fff;border:none;border-radius:9px;height:38px;min-height:38px;padding:0 18px;font-weight:600;font-size:13px;line-height:1;transition:background .15s;box-sizing:border-box}
.hero-ask .go:hover{background:var(--teal-700)}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hero-continue{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted);cursor:pointer}
.hero-continue b{color:var(--ink);font-weight:600}
.hero-continue:hover b{text-decoration:underline}

/* Legalpreneur Score */
.score-card{display:flex;flex-direction:column;padding:22px;height:100%;min-height:0}
.score-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ring-wrap{display:flex;align-items:center;gap:16px;margin:8px 0 14px}
.ring{position:relative;width:112px;height:112px;flex:none}
.ring svg{transform:rotate(-90deg);display:block}
.ring .num{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .num b{font-size:28px;font-weight:700;line-height:1;display:block}
.ring .num span{font-size:10.5px;color:var(--muted)}
.ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.ring .track{stroke:var(--surface-2)}
.ring .bar{stroke:var(--teal-600);stroke-dasharray:302;stroke-dashoffset:302;transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1)}
.score-items{display:grid;gap:7px;font-size:12.5px}
.score-items .si{display:flex;gap:8px;align-items:center;color:var(--ink-2)}
.si .pts{margin-left:auto;font-weight:600;font-size:11.5px}
.si.ok .pts{color:var(--success)}
.si.todo .pts{color:var(--gold-600)}
.si .ic{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;flex:none}
.si.ok .ic{background:var(--success-bg);color:var(--success)}
.si.todo .ic{background:var(--gold-100);color:var(--gold-600)}
.score-inplace{margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}
.score-inplace .label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.score-chips{display:flex;flex-wrap:wrap;gap:6px}
.score-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full);padding:3px 9px;line-height:1.4}
.score-chip i{color:var(--success);font-style:normal;font-size:10px}
.score-disclaimer{font-size:11px;color:var(--faint);margin-top:12px;line-height:1.5}
.pts-badge{font-size:11px;font-weight:700;color:var(--success);background:var(--success-bg);border-radius:var(--r-full);padding:2px 8px;flex:none;display:inline-flex;align-items:center;line-height:1.4;white-space:nowrap}

/* Section headers & compact quick actions */
.sect{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 var(--s4)}
.sect h3{font-size:19px;font-weight:600}
.sect span{font-size:12.5px;color:var(--muted)}
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s3)}
.qa.compact{padding:18px;gap:8px}
.qa.compact .qico{width:36px;height:36px;font-size:16px;border-radius:10px}
.qa.compact b{font-size:13.5px}
.qa.compact span{font-size:12px}

/* Recommendations */
.rec-wrap{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--s4);align-items:start;margin-bottom:var(--s7)}
.rec{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--border);transition:background .12s}
.rec:last-child{border-bottom:none}
.rec:hover{background:var(--surface-2)}
.rec .rico{width:36px;height:36px;border-radius:10px;background:var(--teal-100);color:var(--teal-600);display:grid;place-items:center;font-size:15px;flex:none}
.rec.gold .rico{background:var(--gold-100);color:var(--gold-600)}
.rec b{font-size:13.5px;display:block}
.rec span{font-size:12px;color:var(--muted)}
.rec .pts-badge{font-size:11px;font-weight:700;color:var(--success);background:var(--success-bg);border-radius:var(--r-full);padding:2px 8px;flex:none}

/* Trust strip */
.trust-strip{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:var(--s7);padding:18px 0 4px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.trust-strip span{display:flex;gap:7px;align-items:center}

/* Micro-interactions & celebrations */
.btn:active{transform:scale(.98)}
.check-pop{animation:checkpop .35s cubic-bezier(.34,1.56,.64,1)}
@keyframes checkpop{0%{transform:scale(.55)}100%{transform:scale(1)}}
.success-seal{width:54px;height:54px;border-radius:50%;background:var(--success-bg);color:var(--success);display:grid;place-items:center;font-size:24px;margin:0 auto 10px;animation:sealin .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes sealin{0%{transform:scale(.4);opacity:0}}

/* Wizard step tabs */
.wz-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.wz-tabs span{font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:var(--r-full);border:1px solid var(--border);color:var(--muted);background:var(--surface)}
.wz-tabs span.done{color:var(--success);border-color:transparent;background:var(--success-bg)}
.wz-tabs span.now{color:#fff;background:var(--teal-600);border-color:var(--teal-600)}

/* v1.1 responsive */
@media (max-width:1024px){
  .hero-row,.rec-wrap{grid-template-columns:1fr}
  .g5{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .g5{grid-template-columns:1fr}
  .ai-hero{padding:24px}
  .welcome h1{font-size:24px}
  .rec .pts-badge{display:none}
}


/* ============ v1.2 RESTRAINT PASS ============ */
.content{padding:44px 64px 110px;max-width:1180px}
.card-pad{padding:28px}
.welcome{margin-bottom:28px}
.day-brief{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--muted)}
.day-brief b{color:var(--ink);font-weight:600}
.rec-wrap{margin-bottom:48px;gap:20px}
.g5{gap:var(--s4)}
.sect{margin-bottom:18px}
.sect h3{font-family:var(--font-ui);font-size:15px;letter-spacing:0}
.trust-strip{margin-top:56px;padding:24px 0 8px;gap:32px}
.task{padding:14px 18px}
.score-card{padding:26px}
.page-head{margin-bottom:var(--s6)}
.hero-row{margin-bottom:24px}
/* sidebar spacing from design polish pass — kept light */
.sb-scroll{display:flex;flex-direction:column}
.sb-bottom{margin-top:auto;padding-top:10px}
/* coming soon: muted, not gold */
.badge-soon{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);font-weight:500}
.soon-card::before{content:none}
.soon-card .qico{background:var(--surface-2);color:var(--muted)}
/* single accent language */
.qa .qico,.qa.gold .qico,.rec .rico{background:var(--surface-2);color:var(--teal-600)}
.progress>span{background:var(--teal-600)}
.steps i.now{background:var(--teal-500)}
.ring .bar{stroke:var(--teal-600)}
@media (max-width:1024px){.content{padding:32px 28px 80px}}
@media (max-width:720px){.content{padding:20px 16px 64px}.ai-hero{padding:26px}}


/* ============ ONBOARDING ============ */
.onb{position:fixed;inset:0;background:var(--bg);z-index:80;overflow-y:auto;display:flex;flex-direction:column}
.onb-top{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;flex:none}
.onb-skip{font-size:12.5px;color:var(--muted);background:none;border:none;padding:8px}
.onb-skip:hover{color:var(--ink)}
.onb-body{width:100%;max-width:560px;margin:0 auto;padding:16px 20px 90px}
.ob-n{width:26px;height:26px;border-radius:50%;background:var(--teal-100);color:var(--teal-600);display:grid;place-items:center;font-size:12.5px;font-weight:700;flex:none}
.ob-step{animation:fade .3s ease}


/* ============ v1.4: analysis + disclaimers ============ */
.an-item{display:flex;gap:11px;align-items:center;padding:9px 0;font-size:13.5px;color:var(--faint);transition:color .35s}
.an-item::before{content:"";width:17px;height:17px;border-radius:50%;border:1.5px solid var(--border-strong);flex:none;transition:all .3s;font-size:9.5px;line-height:16px;text-align:center;color:transparent}
.an-item.on{color:var(--ink-2)}
.an-item.on::before{content:"\2713";background:var(--teal-600);border-color:var(--teal-600);color:#fff}
.ob-disclaim{font-size:11.5px;color:var(--faint);max-width:470px;margin:20px auto 0;line-height:1.65}


/* ============ v1.5 PROGRESSIVE DISCLOSURE ============ */
.overline{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.next-card{padding:32px 36px;display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box}
.next-card .overline{color:var(--teal-600);margin-bottom:12px}
.next-card h2{font-size:24px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.nc-lead{font-size:14px;line-height:1.7;color:var(--muted);max-width:480px;margin-bottom:16px}
.nc-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:18px}
.nc-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nc-up{margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}
.up-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-bottom:1px solid var(--border)}
.up-item:last-child{border-bottom:none;padding-bottom:0}
.up-item:hover span:first-child{color:var(--teal-600)}
.up-pts{font-size:11.5px;color:var(--muted);flex:none}
.ask-card{padding:28px 32px;margin-bottom:40px}
.ask-card .hero-ask{margin-top:2px}
.ask-card .hero-chips{margin-top:12px}
.hero-row > .card{min-height:100%}
.explore{margin-bottom:48px}
.explore summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);font-weight:600;font-size:14px;transition:border .15s}
.explore summary::-webkit-details-marker{display:none}
.explore summary:hover{border-color:var(--border-strong)}
.explore summary::after{content:"+";font-size:18px;font-weight:400;color:var(--muted);flex:none}
.explore[open] summary::after{content:"\2212"}
.ex-hint{font-size:12.5px;font-weight:400;color:var(--muted);margin-left:auto}
.gsearch{max-width:280px}
@media (max-width:720px){.next-card,.ask-card{padding:24px}.ex-hint{display:none}}


/* ============ v1.6: attorney directory ============ */
.atty{display:flex;gap:16px;padding:22px;align-items:flex-start}
.atty-av{width:52px;height:52px;border-radius:14px;background:var(--teal-100);color:var(--teal-600);display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.atty-body{min-width:0}
.atty-body b{font-size:14.5px;display:block}
.atty-firm{font-size:12.5px;color:var(--muted);display:block;margin-bottom:6px}
.atty-body p{font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ============ RESPONSIVE ============ */
.mobile-only{display:none}
@media (max-width:1024px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .content{padding:var(--s5)}
  .chat-wrap{grid-template-columns:1fr}
  .chat-hist{display:none}
}
@media (max-width:720px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none;box-shadow:var(--shadow-lg)}
  .main{margin-left:0}
  .hamburger{display:grid;place-items:center}
  .g2,.g3,.g4,.suggest-grid{grid-template-columns:1fr}
  .page-head h1{font-size:23px}
  .gsearch .kbd{display:none}
  .topbar{padding:0 var(--s4)}
  .lp-pricing-announce{font-size:13px;padding:10px 12px}
  .content{padding:var(--s4) var(--s4) var(--s7)}
  .wz-card{padding:var(--s5)}
  .table .hide-m{display:none}
  .mobile-only{display:block}
  .scrim{position:fixed;inset:0;background:rgba(11,37,39,.45);z-index:55;display:none}
  .scrim.on{display:block}
}

/* ===== WordPress plugin overrides ===== */
body.lp-app{margin:0!important;padding:0!important;background:var(--bg)!important}
body.lp-app #wpadminbar{display:none!important}
html.lp-app-html{margin-top:0!important}
.lp-app .app{min-height:100vh}
.lp-app .sidebar a.sb-item{text-decoration:none;color:inherit;display:flex}
.lp-app a.chip,.lp-app a.qa,.lp-app a.hero-ask,.lp-app a.up-item,.lp-app a.btn{text-decoration:none}
.lp-app .sb-item.lp-link{cursor:pointer}
.chatbase-embed{width:100%;height:100%;min-height:520px;border:0;border-radius:var(--r-lg)}
.lp-hidden{display:none!important}
.dropzone.dragging{border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-600)}
.btn.is-loading,.btn[disabled].is-loading{opacity:.85;cursor:wait;pointer-events:none;transform:none!important}
.lp-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:lp-spin .7s linear infinite;vertical-align:-2px;flex:none}
.btn-secondary.is-loading .lp-spinner,.btn-ghost.is-loading .lp-spinner,.btn-secondary .lp-spinner{border-color:rgba(21,33,31,.2);border-top-color:var(--teal-600)}
@keyframes lp-spin{to{transform:rotate(360deg)}}
.dropzone.uploading{border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-600)}
.dropzone.has-file{border-style:solid;border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-600);padding:14px 16px;font-size:12.5px}
.filerow.is-uploading .fstatus{color:var(--teal-600);font-weight:600}
.lp-upload-input{display:none}

/* ============ Phase 1 score UI ============ */
.prot-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2)}
.prot-excellent{background:#E7F6EF;border-color:#B7E0CB;color:#1B6B45}
.prot-strong{background:var(--teal-50);border-color:#B7D4CE;color:var(--teal-600)}
.prot-moderate{background:#F8F1E3;border-color:#E6D3A8;color:#8A6A1F}
.prot-high_risk{background:#F8EAEA;border-color:#E5BDBD;color:#8B3030}
.score-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.score-cats{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.score-cats .label,.score-exists .label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cat-row{margin-bottom:10px}
.cat-row:last-child{margin-bottom:0}
.cat-row-top{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.cat-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.cat-bar>i{display:block;height:100%;background:var(--teal-600);border-radius:inherit}
.score-field-label{font-size:13.5px;line-height:1.45}
.score-field .score-opts .opt{padding:10px 12px}
.score-cat-block{padding-bottom:4px}
.task{padding:14px 18px;border-bottom:1px solid var(--border)}
.task:last-child{border-bottom:none}

/* ============ Attorney directory (design v1.6) ============ */
.atty{display:flex;gap:16px;padding:22px;align-items:flex-start}
.atty-av{width:52px;height:52px;border-radius:14px;background:var(--teal-100);color:var(--teal-600);display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.atty-body{min-width:0;flex:1}
.atty-body b{font-size:14.5px;display:block}
.atty-firm{font-size:12.5px;color:var(--muted);display:block;margin-bottom:6px}
.atty-body p{font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chip.on{border-color:var(--teal-500);color:var(--teal-600);background:var(--teal-50)}


/* Wizard footers (LLC, Registered Agent, Generate, Upload & Sign, Documents): keep buttons inside the screen on phones. */
@media (max-width:720px){
  .wz-nav{flex-wrap:wrap;gap:10px}
  .wz-nav > [style*="visibility:hidden"]{display:none}
  .wz-nav > div{display:flex;flex-wrap:wrap;gap:10px;width:100%}
  .wz-nav > div > .btn{flex:1 1 auto;justify-content:center;white-space:normal;text-align:center}
  .wz-nav > .btn-primary{flex:1 1 auto;justify-content:center}
  .wz-trust{flex-wrap:wrap;justify-content:flex-start!important;gap:6px 18px!important}
}
