/* CasePDF UI ? box-sizing only; do NOT zero margin/padding on * (breaks PDF HTML & Bootstrap) */
*,*::before,*::after{box-sizing:border-box}

:root{
  --bg:#e4f0f5;
  --paper:#ffffff;
  --paper2:#f4f8fb;
  --paper3:#e8eff4;

  --ink:#111827;
  --ink-2:#374151;
  --ink-3:#6b7280;
  --ink-4:#9ca3af;

  /* Brand cyan ? all interactive elements use this */
  --cyan:#0dcaf0;
  --cyan-dk:#0aa8ca;
  --cyan-lt:#e0f9ff;
  --cyan-mid:#b3f0fc;
  --cyan-glow:rgba(13,202,240,0.18);
  --cyan-bdr:rgba(13,202,240,0.4);

  --red:#dc2626;
  --red-lt:#fee2e2;

  --border:rgba(17,24,39,0.10);
  --border-md:rgba(17,24,39,0.18);

  --r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;
  --shadow-sm:0 1px 3px rgba(17,24,39,0.07),0 4px 16px rgba(17,24,39,0.05);
  --shadow-md:0 2px 8px rgba(17,24,39,0.09),0 12px 36px rgba(17,24,39,0.08);
  --shadow-hover:0 20px 35px -12px rgba(0,0,0,0.18),0 4px 12px rgba(17,24,39,0.12);
  --t:0.16s cubic-bezier(0.4,0,0.2,1);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Geist',system-ui,sans-serif;
}

html{scroll-behavior:smooth;scrollbar-gutter:stable}
body.casepdf-body{margin:0;padding:0;font-family:var(--sans);background:var(--bg);color:var(--ink);min-height:100vh;font-size:14px;line-height:1.6}
.cp-main{min-height:calc(100vh - 60px)}
.cp-stat-page{padding-top:0;padding-bottom:3rem}
.cp-doc-page{max-width:920px;padding-top:2rem;padding-bottom:3rem}
.cp-doc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.cp-doc-head-info{min-width:0;flex:1}
.cp-doc-title{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:600;color:var(--ink);letter-spacing:-0.02em;line-height:1.2;margin:0;word-break:break-word}
.cp-doc-actions{display:flex;align-items:center;gap:0.6rem;flex-shrink:0}
.cp-doc-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:2rem 2.25rem;font-size:0.92rem;line-height:1.75;color:var(--ink-2)}
@media(max-width:640px){.cp-doc-card{padding:1.25rem 1.1rem}.cp-doc-actions{width:100%}}
/* Undo legacy style.css when stacked on a page */
body.casepdf-body{padding-top:0!important}
/* Rich HTML from PDF conversion (full text panes) */
.cp-rich-content :where(p,h1,h2,h3,h4,h5,h6,ul,ol,li,table,td,th,blockquote,pre,dl,dt,dd,figure){margin:revert;padding:revert}
.cp-rich-content :where(ul,ol){padding-left:1.5em}
.cp-rich-content :where(table){border-collapse:collapse}
.cp-rich-content img{max-width:100%;height:auto}

/* ??????????????? NAVBAR ??????????????? */
.casepdf-navbar{position:sticky;top:0;z-index:300;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--border);height:60px;display:flex;align-items:center;padding:0 2rem;gap:1.25rem}
.nav-brand{display:flex;align-items:center;gap:0.6rem;text-decoration:none;flex-shrink:0}
.nav-mark{width:30px;height:30px;background:#0dcaf0;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.68rem}
.nav-name{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.nav-sep{width:1px;height:20px;background:var(--border);flex-shrink:0}
.nav-search{flex:1;max-width:360px;position:relative}
.nav-search input{width:100%;background:var(--paper2);border:1.5px solid var(--border-md);border-radius:100px;font-family:var(--sans);font-size:0.84rem;color:var(--ink);padding:0.44rem 1rem 0.44rem 2.2rem;outline:none;transition:var(--t)}
.nav-search input::placeholder{color:var(--ink-4)}
.nav-search input:focus{border-color:#0dcaf0;background:var(--paper);box-shadow:0 0 0 3px var(--cyan-glow)}
.nav-si{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:0.72rem;pointer-events:none}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:0.45rem}
.nav-btn{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--sans);font-size:0.82rem;font-weight:500;color:var(--ink-3);text-decoration:none;padding:0.42rem 0.9rem;border-radius:100px;transition:var(--t);border:none;background:none;cursor:pointer}
.nav-btn:hover{background:var(--cyan-lt);color:#0dcaf0}
/* Active = filled cyan pill */
.nav-btn.active{background:#0dcaf0;color:#fff;font-weight:600}
.nav-btn.active:hover{background:#0aa8ca;color:#fff}
.nav-btn i{font-size:0.72rem}
.nav-btn-outline{border:1.5px solid var(--border-md);background:var(--paper);border-radius:var(--r-md)}
.nav-btn-outline:hover{border-color:var(--cyan-bdr);color:#0dcaf0;background:var(--cyan-lt)}
.nav-btn-logout:hover{background:var(--red-lt);color:var(--red)}

/* ??????????????? PAGE WRAP ??????????????? */
.cp-page-wrap{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.cp-page-wrap ul:not([class]){padding-left:1.25rem;margin:0 0 1rem}
.cp-page-wrap li{padding:0.2rem 0}
.casepdf-navbar .nav-btn,.casepdf-navbar .nav-search input{margin:0}

/* ??????????????? HERO ? full width ABOVE grid ??????????????? */
.cp-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:2rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border)}
.cp-hero-eyebrow{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.68rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:#0dcaf0;margin-bottom:0.55rem}
.cp-hero-dot{width:6px;height:6px;border-radius:50%;background:#0dcaf0;flex-shrink:0;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.35}}
.cp-hero h1{font-family:var(--serif);font-size:clamp(1.85rem,3vw,2.6rem);font-weight:600;color:var(--ink);line-height:1.12;letter-spacing:-0.025em;margin-bottom:0.5rem}
.cp-hero-sub{color:var(--ink-3);font-size:0.9rem;max-width:52ch;line-height:1.7;font-weight:400}
.cp-hero-stats{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;flex-shrink:0}
.cp-stat-chip{display:inline-flex;flex-direction:column;align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);padding:0.65rem 1.1rem;box-shadow:var(--shadow-sm);min-width:88px}
.cp-stat-chip-num{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--ink);line-height:1;letter-spacing:-0.02em}
.cp-stat-chip-lbl{font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-4);margin-top:0.2rem}

/* ??????????????? TWO-COLUMN GRID ??????????????? */
.cp-content-grid{display:grid;grid-template-columns:290px 1fr;gap:1.4rem;align-items:start}
.cp-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:76px}
.cp-main-col{display:flex;flex-direction:column;gap:1rem;}

/* ??????????????? CARDS ??????????????? */
.cp-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:visible;transition:box-shadow var(--t),border-color var(--t)}
.cp-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-md)}
.cp-card-head{display:flex;align-items:center;gap:0.75rem;padding:0.9rem 1.2rem;border-bottom:1px solid var(--border)}
/* All card icons use #0dcaf0 */
.cp-card-icon{width:34px;height:34px;border-radius:var(--r-sm);background:#dfecef;display:flex;align-items:center;justify-content:center;color:#1a1919;font-size:0.82rem;flex-shrink:0}
.cp-card-title{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-0.02em}
.cp-card-body{padding:1.1rem 1.2rem}

/* ??????????????? YEAR RANGE ??????????????? */
.year-row{display:flex;align-items:flex-end;gap:0.5rem}
.year-field{flex:1}
.year-lbl{font-size:0.63rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:0.3rem}
.year-sel{width:100%;appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid var(--border-md);border-radius:var(--r-md);color:var(--ink);font-family:var(--sans);font-size:0.92rem;font-weight:600;padding:0.52rem 2rem 0.52rem 0.85rem;outline:none;cursor:pointer;transition:var(--t);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.7rem center;background-size:8px}
.year-sel:hover{border-color:var(--cyan-bdr)}
.year-sel:focus{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}
.year-dash{color:var(--ink-4);font-size:1rem;padding-bottom:0.52rem;flex-shrink:0;line-height:1}

/* ??????????????? STUDENT AGE & GRADE ??????????????? */
.ag-section+.ag-section{margin-top:0.85rem}
.ag-lbl{display:flex;align-items:center;gap:0.4rem;font-size:0.63rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:0.45rem}
.ag-lbl i{font-size:0.63rem;color:var(--ink-3)}
.ag-range{display:flex;align-items:center;gap:0.4rem}
.ag-sep{color:var(--ink-4);font-size:0.8rem;font-weight:500;flex-shrink:0}

/* ??????????????? STEPPER ??????????????? */
.stepper{display:flex;align-items:stretch;border:1.5px solid rgba(17,24,39,0.12);border-radius:var(--r-md);overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(17,24,39,0.04);flex-shrink:0;transition:border-color var(--t),box-shadow var(--t)}
.stepper:focus-within{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}
.stepper-btn{background:#fff;border:none;color:var(--ink-3);width:30px;height:32px;flex-shrink:0;cursor:pointer;font-size:0.95rem;font-weight:500;display:flex;align-items:center;justify-content:center;transition:background var(--t),color var(--t);user-select:none}
.stepper-btn:hover{background:var(--cyan-lt);color:#0dcaf0}
.stepper-btn.minus{border-right:1px solid rgba(17,24,39,0.1)}
.stepper-btn.plus{border-left:1px solid rgba(17,24,39,0.1)}
.stepper input[type=number]{width:48px;background:transparent;border:none;outline:none;color:var(--ink);font-family:var(--sans);font-size:0.86rem;font-weight:500;text-align:center;padding:0.36rem 0.1rem;-moz-appearance:textfield;appearance:textfield}
.stepper input[type=number]::placeholder{color:var(--ink-4);font-weight:400;font-size:0.8rem}
.stepper input[type=number]::-webkit-inner-spin-button,.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* ??????????????? LABEL ??????????????? */
.lbl{display:block;font-size:0.63rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:0.45rem}

/* ??????????????? INPUT ??????????????? */
.inp{width:100%;background:#fff;border:1.5px solid rgba(17,24,39,0.1);border-radius:var(--r-md);color:var(--ink);font-family:var(--sans);font-size:0.88rem;padding:0.58rem 0.88rem;outline:none;transition:var(--t);box-shadow:0 1px 2px rgba(17,24,39,0.04)}
.inp::placeholder{color:var(--ink-4)}
.inp:hover{border-color:rgba(13,202,240,0.35)}
.inp:focus{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}

/* ??????????????? KEYWORD ROWS ???????????????
   AND = plain text | [input ?] | OR = plain text | [input ?] | [+OR btn]
   The card height stays FIXED ? new OR terms wrap inside existing height
   by making the rows area scrollable or wrapping without growing the card.
???????????????????????????????????????????????? */
.kw-rows{display:flex;flex-direction:column;gap:0.55rem}

/* Each row ? allow wrap so adding +OR doesn't push card height */
.kw-row{
  display:flex;
  align-items:center;
  gap:0.45rem;
  width:100%;
  flex-wrap:wrap;   /* wraps to next line instead of growing card width */
}

/* AND ? plain muted text */
.op-and{
  font-size:0.68rem;font-weight:800;letter-spacing:0.13em;
  text-transform:uppercase;white-space:nowrap;flex-shrink:0;
  color:var(--ink-3);min-width:30px;text-align:center;
  user-select:none;pointer-events:none;
}

/* OR ? plain muted text between inputs */
.op-or-text{
  font-size:0.68rem;font-weight:800;letter-spacing:0.13em;
  text-transform:uppercase;white-space:nowrap;flex-shrink:0;
  color:var(--ink-3);
  user-select:none;pointer-events:none;
}

/* Keyword input box ? flex:1 so 2 inputs share full row width equally;
   when +OR adds more, they shrink to share space automatically */
.kw-wrap{
  display:flex;align-items:stretch;
  flex:1;min-width:100px;
  background:#fff;
  border:1.5px solid rgba(17,24,39,0.1);
  border-radius:var(--r-md);
  box-shadow:0 1px 2px rgba(17,24,39,0.04);
  transition:border-color var(--t),box-shadow var(--t);
  overflow:hidden;
}
.kw-wrap:focus-within{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}
.kw-wrap:hover:not(:focus-within){border-color:rgba(13,202,240,0.35)}
.kw-wrap input[type=text]{
  flex:1;min-width:0;border:none;background:transparent;outline:none;
  color:var(--ink);font-family:var(--sans);font-size:0.87rem;font-weight:400;
  padding:0.55rem 0.8rem;
}
.kw-wrap input[type=text]::placeholder{color:var(--ink-4)}

/* ? delete button ? stronger red so it's clearly visible */
.btn-del{
  background:#fee2e2;
  border:none;
  border-left:1px solid #fca5a5;
  color:#ef4444;
  padding:0 0.55rem;
  cursor:pointer;
  transition:var(--t);
  font-size:0.82rem;
  display:flex;align-items:center;flex-shrink:0;
}
.btn-del:hover{background:#fca5a5;color:#b91c1c;border-left-color:#f87171}

/* +OR button ? #0dcaf0 */
.btn-add-or{
  display:inline-flex;align-items:center;gap:0.25rem;flex-shrink:0;
  font-size:0.67rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  background:#0dcaf0;color:#fff;
  border:none;border-radius:var(--r-md);
  padding:0.44rem 0.72rem;cursor:pointer;transition:var(--t);white-space:nowrap;
}
.btn-add-or:hover{background:#0aa8ca}
.btn-add-or i{font-size:0.52rem}

/* + Add AND Line button ? #0dcaf0 */
.btn-add-row{
  display:inline-flex;align-items:center;gap:0.38rem;
  font-size:0.76rem;font-weight:600;
  background:#0dcaf0;color:#fff;
  border:none;border-radius:var(--r-md);
  padding:0.52rem 1.05rem;cursor:pointer;transition:var(--t);margin-top:0.7rem;
}
.btn-add-row:hover{background:#0aa8ca}
.btn-add-row i{font-size:0.66rem}

/* ??????????????? NEAR & EXCLUDE ROWS ???????????????
   Each element is SEPARATE ? text labels, input boxes, stepper all
   stand alone with gap between them. Nothing connected/merged.
???????????????????????????????????????????????? */
.prox-row{
  display:flex;align-items:center;
  gap:0.6rem;
  flex-wrap:wrap;
}
.prox-row+.prox-row{margin-top:0.8rem}

/* Text label ? plain text, same style as AND/OR in keyword rows */
.prox-lbl{
  display:inline-flex;align-items:center;gap:0.28rem;
  font-size:0.68rem;font-weight:800;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink-3);
  white-space:nowrap;flex-shrink:0;
  user-select:none;pointer-events:none;
}
.prox-lbl i{font-size:0.65rem}

/* Input box ? standalone bordered box, NOT connected to anything */
.prox-inp{
  flex:1;min-width:110px;
  background:#fff;
  border:1.5px solid rgba(17,24,39,0.1);
  border-radius:var(--r-md);
  color:var(--ink);font-family:var(--sans);font-size:0.87rem;
  padding:0.6rem 0.88rem;font-weight:400;
  outline:none;
  box-shadow:0 1px 2px rgba(17,24,39,0.04);
  transition:border-color var(--t),box-shadow var(--t);
}
.prox-inp::placeholder{color:var(--ink-4)}
.prox-inp:hover{border-color:rgba(13,202,240,0.35)}
.prox-inp:focus{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}

/* Stepper inside prox row ? same style as student age/grade stepper,
   fully standalone, same border/radius as regular .stepper */
.prox-stepper{flex-shrink:0}

/* ??????????????? FILTER GRID ??????????????? */
.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.filter-grid+.filter-grid{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border)}
.filter-field{display:flex;flex-direction:column;position:relative}

/* ??????????????? CUSTOM DROPDOWN ??????????????? */
.cdd{position:relative}
.cdd-btn{width:100%;background:#fff;border:1.5px solid rgba(17,24,39,0.1);border-radius:var(--r-md);color:var(--ink);font-family:var(--sans);font-size:0.87rem;padding:0.6rem 0.88rem;text-align:left;cursor:pointer;transition:var(--t);outline:none;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;box-shadow:0 1px 2px rgba(17,24,39,0.04)}
.cdd-btn:hover{border-color:rgba(13,202,240,0.4)}
.cdd-btn.active,.cdd-btn:focus{border-color:#0dcaf0;box-shadow:0 0 0 3px var(--cyan-glow)}
.cdd-ph{color:var(--ink-4);font-weight:400;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.86rem}
.cdd-sel{color:var(--ink);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.86rem}
.chev{color:var(--ink-4);font-size:0.58rem;transition:transform .2s ease;pointer-events:none;flex-shrink:0}
.cdd-btn.active .chev{transform:rotate(-180deg);color:#0dcaf0}

/* Dropdowns open UPWARD ? bottom: calc(100% + 4px) */
.cdd-menu{
  position:absolute;
  bottom:calc(100% + 4px);   /* always opens upward */
  top:auto;
  left:0;right:0;
  background:#fff;
  border:1.5px solid rgba(17,24,39,0.12);
  border-radius:var(--r-lg);
  box-shadow:0 -4px 20px rgba(17,24,39,0.12),0 -2px 8px rgba(17,24,39,0.06);
  z-index:999;
  padding:0.45rem;
  display:none;
  max-height:220px;
  overflow-y:auto;
}
.cdd-menu.open{display:block;animation:menuSlideUp 0.16s cubic-bezier(0.16,1,.3,1) both}
.cdd-menu::-webkit-scrollbar{width:3px}
.cdd-menu::-webkit-scrollbar-thumb{background:rgba(17,24,39,0.15);border-radius:4px}
.cdd-sw{position:relative;margin-bottom:0.35rem}
.cdd-sw i{position:absolute;left:0.62rem;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:0.66rem;pointer-events:none}
.cdd-search{width:100%;background:rgba(17,24,39,0.04);border:1px solid rgba(17,24,39,0.1);border-radius:var(--r-sm);color:var(--ink);font-family:var(--sans);font-size:0.83rem;padding:0.43rem 0.75rem 0.43rem 2.1rem;outline:none;transition:var(--t)}
.cdd-search:focus{border-color:#0dcaf0}
.cdd-search::placeholder{color:var(--ink-4)}
.cdd-item{display:flex;align-items:center;gap:0.5rem;padding:0.48rem 0.62rem;border-radius:var(--r-sm);cursor:pointer;font-size:0.85rem;font-weight:400;color:var(--ink-2);transition:background var(--t),color var(--t);user-select:none}
.cdd-item:hover{background:rgba(13,202,240,0.1);color:var(--ink)}
.cdd-item:has(input:checked){background:var(--cyan-lt);color:#0dcaf0;font-weight:600}
.cdd-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:4px;flex-shrink:0;border:1.5px solid var(--border-md);background:#fff;cursor:pointer;transition:var(--t);position:relative}
.cdd-item:hover input[type=checkbox]{border-color:#0dcaf0}
.cdd-item input[type=checkbox]:checked{background:#0dcaf0;border-color:#0dcaf0}
.cdd-item input[type=checkbox]:checked::after{content:'';position:absolute;left:3.5px;top:1px;width:4px;height:7px;border:1.5px solid #fff;border-top:none;border-left:none;transform:rotate(42deg)}

/* TAGS */
.tags{display:flex;flex-wrap:wrap;gap:0.28rem}
.tags:not(:empty){margin-top:0.48rem}
.tag{display:inline-flex;align-items:center;gap:0.28rem;background:#5fcce1;color:#fff;border-radius:100px;font-size:0.68rem;font-weight:600;padding:0.18rem 0.42rem 0.18rem 0.58rem;animation:tagPop .15s ease both}
.tag button{background:rgba(255,255,255,0.25);border:none;color:#fff;width:13px;height:13px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:0.62rem;cursor:pointer;transition:background var(--t);flex-shrink:0}
.tag button:hover{background:rgba(255,255,255,0.5)}

/* ??????????????? SUBMIT STRIP ??????????????? */
.submit-strip{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.6rem;background:#fff;border:1.5px solid rgba(17,24,39,0.08);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);margin-top:0.8rem;gap:1.5rem}
.submit-hint{font-size:0.82rem;color:var(--ink-3);font-weight:400}
.submit-hint strong{color:var(--ink);font-weight:700}
.btn-reset{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--sans);font-size:0.82rem;font-weight:500;color:var(--red);background:none;border:1.5px solid rgba(220,38,38,0.3);cursor:pointer;padding:0.55rem 1.1rem;border-radius:100px;transition:var(--t)}
.btn-reset:hover{background:var(--red-lt)}
.btn-reset i{font-size:0.72rem}
/* Run Search = #0dcaf0 */
.btn-submit{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--sans);font-size:0.88rem;font-weight:700;background:#0dcaf0;color:#fff;border:none;border-radius:100px;padding:0.65rem 1.8rem;cursor:pointer;transition:var(--t);white-space:nowrap;flex-shrink:0}
.btn-submit:hover{background:#0aa8ca}
.btn-submit i{font-size:0.78rem}

/* ??????????????? ANIMATIONS ??????????????? */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes menuSlideUp{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tagPop{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}

@media(max-width:900px){.cp-content-grid{grid-template-columns:1fr}.cp-sidebar{position:relative;top:auto}.filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.casepdf-navbar{padding:0 1rem}.cp-page-wrap{padding:1.5rem 1rem 4rem}.kw-row{flex-wrap:wrap}.submit-strip{flex-direction:column;align-items:stretch;gap:0.75rem}.btn-submit{justify-content:center}.cp-case-grid{grid-template-columns:1fr}}
.quick-links{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.4rem}.quick-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--ink-2);text-decoration:none;padding:.38rem .75rem;border-radius:100px;border:1px solid var(--border-md);background:var(--paper);transition:var(--t)}.quick-link:hover{border-color:var(--cyan-bdr);color:var(--cyan);background:var(--cyan-lt)}.submit-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}@media(max-width:600px){.submit-strip .submit-actions{flex-direction:column;width:100%}}

/* ========== HOME & SEARCH (case listing) ========== */
.cp-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}
.cp-case-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;isolation:isolate;transition:box-shadow var(--t),border-color 0.25s ease;will-change:box-shadow,border-color}
.cp-case-card:hover{box-shadow:var(--shadow-hover);border-color:var(--cyan-bdr)}
.cp-case-card::after{content:'';position:absolute;inset:0;border-radius:var(--r-xl);pointer-events:none;transition:box-shadow 0.2s ease;z-index:0}
.cp-case-card:hover::after{box-shadow:inset 0 0 0 1px rgba(13,202,240,0.2)}
/* 1px cyan top strip */
.cp-case-card-strip{height:1px;background:var(--cyan);flex-shrink:0}
.cp-case-card-body{padding:1.2rem 1.3rem 1.1rem;display:flex;flex-direction:column;flex:1;gap:0}
.cp-case-card-title{font-family:var(--serif);font-size:1rem;font-weight:600;margin:0 0 0.55rem;line-height:1.35}
.cp-case-card-title a{color:var(--ink);text-decoration:none;transition:color var(--t)}
.cp-case-card-title a:hover,.cp-case-card:hover .cp-case-card-title a{color:var(--cyan)}
.cp-case-card-text{color:var(--ink-3);font-size:0.84rem;line-height:1.6;margin:0 0 1.1rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cp-case-card-text mark{border-radius:2px;padding:0 2px;font-style:normal}
.hl-y{background:#fef9c3;color:#854d0e}
.hl-p{background:#fce7f3;color:#9d174d}
.hl-o{background:#ffedd5;color:#9a3412}
/* Footer — buttons right-aligned, bleeds to card edges */
.cp-case-card-footer{margin:0 -1.3rem -1.1rem;padding:0.7rem 1.3rem;background:var(--paper2);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:0.5rem}
.cp-case-card-footer .cp-btn{border-radius:var(--r-md);font-size:0.78rem;padding:0.4rem 0.9rem}
.cp-case-card-footer .cp-btn-primary{background:transparent;color:var(--ink-2);border-color:var(--border-md)}
.cp-case-card-footer .cp-btn-primary:hover{background:var(--cyan-lt);color:var(--cyan);border-color:var(--cyan-bdr)}
/* legacy actions row (search/back-compat) */
.cp-case-card-actions{display:flex;justify-content:space-between;align-items:center;gap:0.5rem;margin-top:auto}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem;font-family:var(--sans);font-size:0.8rem;font-weight:600;padding:0.45rem 0.9rem;border-radius:100px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:var(--t);background:none;white-space:nowrap}
.cp-btn i{font-size:0.68rem}
.cp-btn-outline{border-color:var(--cyan-bdr);color:var(--cyan);background:var(--paper)}
.cp-btn-outline:hover{background:var(--cyan-lt)}
.cp-btn-primary{background:var(--cyan);color:#fff;border-color:var(--cyan)}
.cp-btn-primary:hover{background:var(--cyan-dk)}
/* Summary — solid cyan pill (the special feature) */
.cp-btn-ghost{color:#fff;border-color:var(--cyan);background:var(--cyan)}
.cp-btn-ghost:hover{background:var(--cyan-dk);border-color:var(--cyan-dk);box-shadow:0 2px 8px rgba(13,202,240,0.35)}
.cp-btn-success{background:#22c55e;color:#fff;border-color:#22c55e}
.cp-btn-danger{background:var(--red);color:#fff;border-color:var(--red)}
.cp-alert{padding:0.85rem 1rem;border-radius:var(--r-md);margin-bottom:1rem;font-size:0.88rem;display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}
.cp-alert-warning{background:#fef9c3;border:1px solid #fde047;color:#854d0e}
.cp-alert-info{background:var(--cyan-lt);border:1px solid var(--cyan-mid);color:#0e7490}
.cp-alert-close{background:none;border:none;font-size:1.2rem;line-height:1;cursor:pointer;color:inherit;opacity:0.7;padding:0}
.cp-alert-close:hover{opacity:1}
.cp-search-query{color:var(--ink-3);font-size:0.95rem;margin-bottom:1.2rem}
.cp-search-query strong{color:var(--ink)}
.highlight,.highlight.yellow{background-color:#fef08a;font-weight:600;padding:0 1px;border-radius:2px}
.highlight.pink{background-color:#fce7f3;font-weight:600;padding:0 1px;border-radius:2px}
.highlight.orange{background-color:#fed7aa;font-weight:600;padding:0 1px;border-radius:2px}

/* ========== ADVANCED SEARCH RESULTS ========== */
.cp-results-meta{font-size:0.88rem;color:var(--ink-3);margin:0}
.cp-results-meta strong{color:var(--ink);font-weight:600}

/* layout: sidebar + main */
.cp-body{display:grid;grid-template-columns:230px 1fr;gap:1.5rem;align-items:start}
.cp-results-main{display:flex;flex-direction:column;gap:1.25rem}
.cp-results-sidebar{position:sticky;top:76px;display:flex;flex-direction:column;gap:0.85rem}

/* refine button (sidebar) */
.cp-refine-toggle{display:flex;align-items:center;justify-content:center;gap:0.55rem;width:100%;font-family:var(--sans);font-size:0.82rem;font-weight:700;color:#fff;background:var(--cyan);border:none;border-radius:var(--r-xl);padding:0.78rem 1rem;cursor:pointer;transition:var(--t);box-shadow:0 2px 8px rgba(13,202,240,0.35),0 1px 2px rgba(13,202,240,0.2)}
.cp-refine-toggle:hover{background:var(--cyan-dk);box-shadow:0 4px 14px rgba(13,202,240,0.45)}
.cp-refine-toggle:active{transform:scale(0.98)}
.cp-refine-toggle i{font-size:0.78rem}

/* sidebar filter card */
.cp-side-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden}
.cp-side-head{display:flex;align-items:center;gap:0.55rem;padding:0.8rem 1rem;border-bottom:1px solid var(--border);background:var(--paper2)}
.cp-side-icon{width:26px;height:26px;background:var(--cyan-lt);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--cyan-dk);font-size:0.64rem;flex-shrink:0}
.cp-side-title{font-family:var(--serif);font-size:0.88rem;font-weight:600;color:var(--ink)}
.cp-side-body{padding:0.75rem 0.85rem}
.cp-filter-group{display:flex;flex-direction:column;gap:0.25rem}
.cp-filter-btn{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0.52rem 0.7rem;background:transparent;border:1.5px solid transparent;border-radius:var(--r-lg);cursor:pointer;font-family:var(--sans);font-size:0.81rem;font-weight:500;color:var(--ink-3);transition:var(--t);text-align:left}
.cp-filter-btn:hover{background:var(--paper2);color:var(--ink-2);border-color:var(--border)}
.cp-filter-btn.active{background:var(--cyan-lt);border-color:var(--cyan-bdr);color:var(--cyan-dk);font-weight:600}
.cp-filter-btn i{font-size:0.72rem;width:14px;text-align:center;flex-shrink:0}
.cp-filter-count{margin-left:auto;font-size:0.68rem;font-weight:700;background:var(--paper3);color:var(--ink-4);padding:0.1rem 0.42rem;border-radius:100px;border:1px solid var(--border)}
.cp-filter-btn.active .cp-filter-count{background:rgba(13,202,240,0.15);color:var(--cyan-dk);border-color:var(--cyan-bdr)}

/* search criteria */
.cp-criteria-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden}
.cp-criteria-head{display:flex;align-items:center;gap:0.6rem;padding:0.75rem 1.15rem;border-bottom:1px solid var(--border);background:var(--paper2)}
.cp-criteria-head-icon{width:26px;height:26px;background:var(--cyan-lt);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--cyan-dk);font-size:0.65rem;flex-shrink:0}
.cp-criteria-head-title{font-family:var(--serif);font-size:0.9rem;font-weight:600;color:var(--ink)}
.cp-criteria-body{padding:0.85rem 1.15rem}
.cp-criteria-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.35rem}
.cp-criteria-list li{display:flex;align-items:baseline;gap:0.55rem;font-size:0.81rem;color:var(--ink-2);line-height:1.5}
.cp-criteria-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cyan);flex-shrink:0;margin-top:0.38rem;align-self:flex-start}

/* winner badge (inline, inside cards) */
.cp-winner-badge{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.82rem;color:var(--ink-3);background:none;border:none;padding:0;white-space:nowrap;margin-bottom:0.85rem}
.cp-winner-badge .winner-icon{font-size:0.72rem;color:var(--ink-4)}
.cp-winner-badge .winner-label{font-weight:400}
.cp-winner-badge .winner-value{font-weight:400;color:var(--ink-3)}

/* refine modal */
.cp-modal-overlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(15,23,42,0.5);backdrop-filter:blur(5px);align-items:flex-start;justify-content:center;padding:2rem 1.25rem;overflow-y:auto}
.cp-modal-overlay.is-open{display:flex;animation:overlayIn 0.18s ease both}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
.cp-modal{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:0 32px 80px rgba(15,23,42,0.28),0 4px 20px rgba(15,23,42,0.12);width:100%;max-width:1100px;display:flex;flex-direction:column;animation:modalIn 0.22s cubic-bezier(0.34,1.4,0.64,1) both;overflow:hidden;max-height:calc(100vh - 4rem)}
@keyframes modalIn{from{opacity:0;transform:translateY(-14px) scale(0.985)}to{opacity:1;transform:none}}
.cp-modal-header{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.3rem;border-bottom:1px solid var(--border);background:var(--paper2);flex-shrink:0}
.cp-modal-header-icon{width:32px;height:32px;background:var(--cyan-lt);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--cyan-dk);font-size:0.78rem;flex-shrink:0}
.cp-modal-title{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--ink);flex:1}
.cp-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-md);background:transparent;border:1px solid transparent;color:var(--ink-3);cursor:pointer;font-size:0.85rem;transition:var(--t);flex-shrink:0}
.cp-modal-close:hover{background:var(--red-lt);color:var(--red);border-color:rgba(220,38,38,0.2)}
.cp-modal-body{flex:1;overflow-y:auto;min-height:300px;padding:1.25rem}

/* pagination bar */
.cp-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0.75rem;margin-top:1.75rem;padding:1.1rem 1.25rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}
.cp-pag-info{font-size:0.8rem;color:var(--ink-3);margin:0}
.cp-pag-info strong{color:var(--ink);font-weight:600}
.cp-pagination .pagination{display:flex;align-items:center;gap:0.25rem;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.cp-pagination .page-item .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 0.5rem;font-size:0.82rem;font-weight:500;color:var(--ink-3);background:transparent;border:none;border-radius:var(--r-md);text-decoration:none;transition:var(--t)}
.cp-pagination .page-item .page-link:hover{background:var(--cyan-lt);color:var(--cyan)}
.cp-pagination .page-item.active .page-link{background:var(--cyan);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(13,202,240,0.3)}
.cp-pagination .page-item.disabled .page-link{opacity:0.3;pointer-events:none}
.cp-pagination .page-item:first-child .page-link,.cp-pagination .page-item:last-child .page-link{background:var(--paper);border:1.5px solid var(--border-md);border-radius:100px;color:var(--ink-2);font-weight:600;padding:0 0.85rem;gap:0.35rem}
.cp-pagination .page-item:first-child .page-link:hover,.cp-pagination .page-item:last-child .page-link:hover{border-color:var(--cyan-bdr);color:var(--cyan);background:var(--cyan-lt)}

/* results responsive */
@media(max-width:1100px){.cp-body{grid-template-columns:200px 1fr}}
@media(max-width:860px){.cp-body{grid-template-columns:1fr;gap:1.25rem}.cp-results-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}.cp-refine-toggle{grid-column:1/-1}}
@media(max-width:600px){.cp-results-sidebar{grid-template-columns:1fr}.cp-pagination{flex-direction:column}.cp-modal-overlay{padding:0}.cp-modal{max-width:100%;border-radius:0;max-height:100dvh}.cp-modal-body{padding:1rem}}

/* ========== AI CHAT ========== */
.cp-chat2{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0.75rem 1.5rem;height:calc(100vh - 60px)}
.cp-chat2 .chat-shell{flex:1;display:flex;flex-direction:column;max-width:1100px;width:100%;margin:0 auto;min-height:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 24px rgba(17,24,39,0.08),0 1px 4px rgba(17,24,39,0.05);background:var(--paper)}
.cp-chat2 .chat-header{flex-shrink:0;background:var(--paper2);border-bottom:1px solid var(--border);padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cp-chat2 .chat-header-left{display:flex;align-items:center;gap:0.9rem}
.cp-chat2 .chat-header-avatar{width:40px;height:40px;border-radius:var(--r-md);background:var(--cyan);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.7rem;font-weight:700;flex-shrink:0}
.cp-chat2 .chat-header-title{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ink)}
.cp-chat2 .chat-header-sub{font-size:0.72rem;color:var(--ink-3);margin-top:0.08rem}
.cp-chat2 .btn-clear{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--sans);font-size:0.75rem;font-weight:600;color:var(--ink-3);background:var(--paper);border:1.5px solid var(--border-md);border-radius:100px;padding:0.38rem 0.9rem;cursor:pointer;transition:var(--t);flex-shrink:0}
.cp-chat2 .btn-clear:hover{background:var(--red-lt);color:var(--red);border-color:rgba(220,38,38,0.25)}
.cp-chat2 .btn-clear i{font-size:0.64rem}
.cp-chat2 .chat-messages{flex:1;overflow-y:auto;background:var(--paper);padding:1.75rem 2rem;display:flex;flex-direction:column;gap:1.4rem;scroll-behavior:smooth}
.cp-chat2 .chat-messages::-webkit-scrollbar{width:4px}
.cp-chat2 .chat-messages::-webkit-scrollbar-thumb{background:rgba(17,24,39,0.1);border-radius:4px}
.cp-chat2 .msg{display:flex;gap:0.65rem;align-items:flex-end;max-width:78%;animation:msgIn 0.2s ease both}
@keyframes msgIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.cp-chat2 .msg-ai{align-self:flex-start;max-width:80%}
.cp-chat2 .msg-user{align-self:flex-end;flex-direction:row-reverse;max-width:70%}
.cp-chat2 .msg-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;margin-bottom:1.5rem;font-family:var(--sans)}
.cp-chat2 .msg-ai .msg-avatar{background:var(--cyan-lt);border:1.5px solid var(--cyan-bdr);color:var(--cyan-dk)}
.cp-chat2 .msg-user .msg-avatar{background:var(--cyan);color:#fff;box-shadow:0 1px 6px rgba(13,202,240,0.3)}
.cp-chat2 .msg-col{display:flex;flex-direction:column;gap:0.28rem;min-width:0}
.cp-chat2 .bubble{padding:0.9rem 1.15rem;font-size:0.9rem;line-height:1.7;word-break:break-word}
.cp-chat2 .msg-ai .bubble{background:var(--paper2);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-sm);color:var(--ink-2)}
.cp-chat2 .msg-user .bubble{background:var(--cyan);color:#fff;border-radius:var(--r-xl) var(--r-xl) var(--r-sm) var(--r-xl);box-shadow:0 2px 8px rgba(13,202,240,0.25)}
.cp-chat2 .msg-meta{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;font-size:0.67rem;color:var(--ink-4);padding:0 0.2rem}
.cp-chat2 .msg-ai .msg-meta{align-self:flex-start}
.cp-chat2 .msg-user .msg-meta{align-self:flex-end}
.cp-chat2 .msg-source{color:var(--cyan-dk);text-decoration:none;font-weight:600}
.cp-chat2 .msg-source:hover{text-decoration:underline}
.cp-chat2 .suggestions{display:flex;flex-wrap:wrap;gap:0.42rem;margin-top:0.75rem}
.cp-chat2 .suggestion-chip{display:inline-flex;align-items:center;gap:0.32rem;background:var(--paper);border:1.5px solid var(--border-md);border-radius:100px;padding:0.35rem 0.9rem;font-size:0.79rem;color:var(--ink-2);font-weight:500;cursor:pointer;transition:var(--t);font-family:var(--sans);text-align:left}
.cp-chat2 .suggestion-chip:hover{background:var(--cyan-lt);border-color:var(--cyan-bdr);color:var(--cyan-dk)}
.cp-chat2 .typing-indicator{align-self:flex-start;display:none}
.cp-chat2 .typing-indicator.visible{display:flex;gap:0.65rem;align-items:flex-end}
.cp-chat2 .typing-dots{background:var(--paper2);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-sm);padding:0.72rem 1rem;display:flex;align-items:center;gap:0.3rem}
.cp-chat2 .typing-dots span{width:6px;height:6px;background:var(--ink-4);border-radius:50%;animation:dot 1.3s infinite ease-in-out}
.cp-chat2 .typing-dots span:nth-child(2){animation-delay:.18s}
.cp-chat2 .typing-dots span:nth-child(3){animation-delay:.36s}
@keyframes dot{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}
.cp-chat2 .chat-input-area{flex-shrink:0;background:var(--paper);border-top:1px solid var(--border);padding:1rem 1.75rem 1.15rem}
.cp-chat2 .chat-input-box{display:flex;align-items:flex-end;gap:0;background:var(--paper2);border:1.5px solid var(--border-md);border-radius:var(--r-xl);padding:0.65rem 0.65rem 0.65rem 1.15rem;transition:border-color var(--t),box-shadow var(--t)}
.cp-chat2 .chat-input-box:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow);background:var(--paper)}
.cp-chat2 .chat-textarea{flex:1;border:none;background:transparent;outline:none;font-family:var(--sans);font-size:0.88rem;color:var(--ink);resize:none;line-height:1.65;min-height:24px;max-height:120px;padding:0.18rem 0;overflow-y:auto;align-self:center}
.cp-chat2 .chat-textarea::placeholder{color:var(--ink-4)}
.cp-chat2 .chat-textarea:disabled{opacity:0.6}
.cp-chat2 .btn-send{flex-shrink:0;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-lg);background:var(--cyan);color:#fff;border:none;cursor:pointer;font-size:1rem;transition:var(--t);box-shadow:0 2px 8px rgba(13,202,240,0.3)}
.cp-chat2 .btn-send:hover{background:var(--cyan-dk);box-shadow:0 3px 12px rgba(13,202,240,0.4)}
.cp-chat2 .btn-send:active{transform:scale(0.95)}
.cp-chat2 .btn-send:disabled{opacity:0.4;pointer-events:none}
.cp-chat2 .input-hint{text-align:center;font-size:0.67rem;color:var(--ink-4);margin-top:0.5rem}
.cp-chat2 .chat-status{text-align:center;font-size:0.67rem;color:var(--ink-4);margin-top:0.35rem}
@media(max-width:640px){.cp-chat2{padding:0}.cp-chat2 .chat-shell{border-radius:0;box-shadow:none;border:none}.cp-chat2 .msg{max-width:90%}.cp-chat2 .chat-messages{padding:1rem}.cp-chat2 .chat-input-area{padding:0.75rem 1rem 0.85rem}}

@media(max-width:900px){.cp-case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cp-case-grid{grid-template-columns:1fr}}

/* ========== ADVANCE SHOW (split case view) ========== */
.cp-advance-show{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden;background:var(--bg)}
.cp-advance-show-header{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:0.85rem;padding:0.9rem 1.5rem;background:var(--paper);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);flex-wrap:wrap}
.cp-advance-show-header h1{font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.65rem);font-weight:600;margin:0;display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;justify-content:center;color:var(--ink)}
.cp-advance-show-header .cp-btn{font-size:0.78rem;padding:0.4rem 0.9rem}
.cp-advance-show #to-query:not(:only-child){border-bottom:1px solid var(--border)}
.cp-advance-show-split{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0;overflow:hidden}
.cp-show-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--paper)}
.cp-show-pane--left{border-right:1px solid var(--border)}
.cp-show-pane-head{flex-shrink:0;padding:0.7rem 1rem;background:var(--paper2);border-bottom:1px solid var(--border);font-weight:600;font-size:0.86rem;color:var(--ink-2);display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap}
.cp-show-pane-head h4{margin:0;font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--ink)}
.cp-show-pane-head-title{text-align:center;flex:1}
.pdf-content,#pdfContent{flex:1;overflow-y:auto;padding:1rem 1.1rem;font-size:0.9rem;line-height:1.65;color:var(--ink)}
.cp-show-tags{display:flex;flex-wrap:wrap;gap:0.35rem;padding:0.45rem 1rem;background:var(--paper2);border-bottom:1px solid var(--border);min-height:2.25rem;align-items:center}
.cp-show-tag-btn{font-family:var(--sans);font-size:0.75rem;font-weight:600;padding:0.32rem 0.7rem;border-radius:100px;border:1.5px solid var(--border-md);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:var(--t)}
.cp-show-tag-btn:hover{border-color:var(--cyan-bdr);color:var(--cyan);background:var(--cyan-lt)}
.cp-show-highlights{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.cp-advance-show #to-query,.cp-advance-show #to-near{flex:1 1 auto;overflow-y:auto;padding:1rem;min-height:0}
.cp-advance-show #to-near h5{font-family:var(--serif);font-size:0.95rem;margin:0 0 0.75rem;color:var(--ink);font-weight:600}
.cp-advance-show h1.calibre2,.cp-advance-show ul.calibre3,.cp-advance-show h1.calibre3,.cp-advance-show ul.calibre4{display:none}
.cp-advance-show .highlight{font-weight:bold;border-radius:3px;padding:2px 4px}
.cp-advance-show .highlight:hover{text-decoration:underline;cursor:pointer}
.cp-advance-show #highlighted-content hr{border:0;border-top:1px solid var(--border);margin:10px 0}
.cp-advance-show #highlighted-content div:hover{background-color:var(--paper2)}
.cp-advance-show .highlight-near{background-color:#fce7f3;color:var(--ink)}
.cp-advance-show .highlight-near:hover{background-color:#fbcfe8}
.cp-advance-show .highlight-query{background-color:#fff176;color:var(--ink);padding:2px 4px;border-radius:4px;text-decoration:none}
.cp-advance-show .query-0{background-color:#fff176}
.cp-advance-show .query-1{background-color:lime}
.cp-advance-show .query-2{background-color:#c3d1fa}
.cp-advance-show .query-3{background-color:#a8f7f6}
.cp-advance-show .query-4{background-color:orange}
.cp-advance-show .query-5{background-color:#fad9e5}
.cp-advance-show a[href^="#near-match-"]{text-decoration:underline;font-weight:bold}
.cp-advance-show .right-item{background:var(--paper2);padding:1rem;margin-bottom:0.75rem;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);font-size:0.92rem;line-height:1.6;color:var(--ink);position:relative;transition:background var(--t);border-bottom:none}
.cp-advance-show .right-item:hover{background:var(--paper3)}
.cp-advance-show ::-webkit-scrollbar{width:8px;height:8px}
.cp-advance-show ::-webkit-scrollbar-track{background:var(--paper2);border-radius:10px}
.cp-advance-show ::-webkit-scrollbar-thumb{background-color:#b5b5b5;border-radius:10px;border:2px solid transparent;background-clip:content-box}
.cp-advance-show ::-webkit-scrollbar-thumb:hover{background-color:#888}
.cp-advance-show *{scrollbar-width:thin;scrollbar-color:#b5b5b5 var(--paper2)}
@media(max-width:900px){.cp-advance-show-split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.cp-show-pane--left{border-right:none;border-bottom:1px solid var(--border)}.cp-advance-show{height:auto;min-height:calc(100vh - 60px);overflow:visible}.cp-advance-show-split{min-height:calc(100vh - 140px)}}

/* ========== LOGIN / AUTH (standalone, no navbar) ========== */
.cp-auth-body{font-family:var(--sans);background:linear-gradient(135deg,#d4edf5 0%,#e8f4f8 40%,#cde8f0 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden}
.cp-auth-body::before,.cp-auth-body::after{content:'';position:absolute;border-radius:50%;filter:blur(60px);opacity:0.45;pointer-events:none}
.cp-auth-body::before{width:480px;height:480px;background:radial-gradient(circle,#7ee8f5 0%,transparent 70%);top:-100px;left:-80px;animation:authBlob1 9s ease-in-out infinite alternate}
.cp-auth-body::after{width:360px;height:360px;background:radial-gradient(circle,#b3dff0 0%,transparent 70%);bottom:-80px;right:-60px;animation:authBlob2 11s ease-in-out infinite alternate}
@keyframes authBlob1{to{transform:translate(40px,60px) scale(1.08)}}
@keyframes authBlob2{to{transform:translate(-30px,-40px) scale(1.12)}}
.cp-auth-card{display:flex;width:100%;max-width:860px;min-height:480px;border-radius:var(--r-xl);box-shadow:0 24px 64px rgba(0,0,0,0.10),0 4px 16px rgba(0,0,0,0.06);overflow:hidden;position:relative;z-index:1;animation:authSlideUp .5s cubic-bezier(.22,1,.36,1) both}
@keyframes authSlideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.cp-auth-left{flex:0 0 42%;background:linear-gradient(155deg,#0bc5dc 0%,#0898aa 55%,#066878 100%);padding:2.4rem 2.2rem;display:flex;flex-direction:column;position:relative;overflow:hidden}
.cp-auth-left::before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.12);bottom:-80px;right:-80px;pointer-events:none}
.cp-auth-left::after{content:'';position:absolute;width:160px;height:160px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.08);top:40px;right:20px;pointer-events:none}
.cp-auth-logo{display:inline-flex;align-items:center;gap:0.55rem;font-weight:600;font-size:0.98rem;color:rgba(255,255,255,0.95);margin-bottom:2.4rem;text-decoration:none}
.cp-auth-logo-icon{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;font-size:0.85rem;color:#fff}
.cp-auth-headline{font-family:var(--serif);font-size:2rem;line-height:1.2;color:#fff;font-weight:700;margin-bottom:1rem}
.cp-auth-subtext{font-size:0.8rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-bottom:2.4rem;font-weight:300}
.cp-auth-features{margin-top:auto;display:flex;flex-direction:column;gap:0.65rem}
.cp-auth-feat{display:flex;align-items:center;gap:0.72rem;font-size:0.78rem;color:rgba(255,255,255,0.82)}
.cp-auth-feat-icon{width:26px;height:26px;flex-shrink:0;border-radius:7px;background:rgba(255,255,255,0.14);display:flex;align-items:center;justify-content:center;font-size:0.62rem;color:rgba(255,255,255,0.9)}
.cp-auth-right{flex:1;background:#fff;padding:2.6rem 2.4rem;display:flex;flex-direction:column;justify-content:center}
.cp-auth-label{display:flex;align-items:center;gap:0.4rem;font-size:0.65rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:0.7rem}
.cp-auth-label-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan)}
.cp-auth-welcome{font-family:var(--serif);font-size:1.85rem;color:var(--ink);font-weight:700;line-height:1.15;margin-bottom:0.4rem}
.cp-auth-welcome-sub{font-size:0.82rem;color:var(--ink-3);margin-bottom:1.8rem;font-weight:300}
.cp-auth-group{margin-bottom:1.1rem}
.cp-auth-group label{display:block;font-size:0.65rem;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-2);margin-bottom:0.45rem}
.cp-auth-input-wrap{position:relative}
.cp-auth-input-wrap .iico{position:absolute;top:50%;transform:translateY(-50%);font-size:0.72rem;color:var(--ink-4);pointer-events:none;transition:var(--t)}
.cp-auth-input-wrap .iico-left{left:0.85rem}
.cp-auth-input-wrap .iico-right{right:0.85rem;pointer-events:all;cursor:pointer;color:var(--ink-4)}
.cp-auth-input-wrap .iico-right:hover{color:var(--ink-2)}
.cp-auth-input-wrap input{width:100%;height:2.7rem;padding:0 2.5rem;font-family:var(--sans);font-size:0.85rem;color:var(--ink);background:var(--paper2);border:1.5px solid var(--border);border-radius:10px;outline:none;transition:var(--t)}
.cp-auth-input-wrap input::placeholder{color:var(--ink-4)}
.cp-auth-input-wrap input:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px rgba(11,197,220,0.12)}
.cp-auth-input-wrap:focus-within .iico{color:var(--cyan)}
.cp-auth-remember{display:flex;align-items:center;gap:0.5rem;font-size:0.8rem;color:var(--ink-3);margin-bottom:1.4rem;cursor:pointer;user-select:none}
.cp-auth-remember input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--cyan)}
.cp-auth-btn{width:100%;height:2.9rem;background:var(--cyan);color:#fff;font-family:var(--sans);font-size:0.88rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:var(--t);box-shadow:0 4px 18px rgba(11,197,220,0.35);margin-bottom:1.2rem}
.cp-auth-btn:hover{background:var(--cyan-dk);box-shadow:0 6px 24px rgba(11,197,220,0.45);transform:translateY(-1px)}
.cp-auth-btn:active{transform:translateY(0)}
.cp-auth-error{background:var(--red-lt);border:1px solid rgba(220,38,38,0.25);color:#b91c1c;font-size:0.78rem;font-weight:500;border-radius:var(--r-md);padding:0.6rem 0.85rem;margin-bottom:1.1rem}
.cp-auth-help{font-size:0.75rem;color:var(--ink-4);text-align:center;line-height:1.5}
.cp-auth-help a{color:var(--cyan);text-decoration:none;font-weight:500}
.cp-auth-help a:hover{text-decoration:underline}
@media(max-width:680px){.cp-auth-card{flex-direction:column;max-width:420px;min-height:0}.cp-auth-left{flex:none;padding:2rem}.cp-auth-features{margin-top:1.6rem}.cp-auth-right{padding:2rem}}

/* ========== SHARED PAGE HEADER (directory / orders) ========== */
.cp-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.cp-header-left{flex:1;min-width:0}
.cp-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.68rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--cyan-dk);margin-bottom:0.5rem}
.cp-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);display:inline-block;animation:blink 2.4s infinite}
.cp-header h1{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:600;color:var(--ink);letter-spacing:-0.02em;line-height:1.12;margin:0 0 0.3rem}
.cp-sub{color:var(--ink-3);font-size:0.86rem;max-width:56ch;margin:0}

/* ========== OUTCOME DIRECTORY (judges / lawyers / witnesses / districts) ========== */
.cp-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;background:var(--paper2);padding:0.75rem 1.25rem;border-radius:60px;border:1px solid var(--border)}
.cp-search-field{flex:2;min-width:240px;position:relative}
.cp-search-field i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:0.85rem}
.cp-search-field input{width:100%;background:var(--paper);border:1.5px solid var(--border-md);border-radius:40px;padding:0.6rem 1rem 0.6rem 2.5rem;font-family:var(--sans);font-size:0.85rem;color:var(--ink);transition:var(--t);outline:none}
.cp-search-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow);background:#fff}
.cp-search-field input::placeholder{color:var(--ink-4)}
.cp-year-group{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap}
.cp-year-box{display:flex;align-items:center;gap:0.4rem;background:var(--paper);padding:0.2rem 0.75rem 0.2rem 1rem;border-radius:40px;border:1.5px solid var(--border-md)}
.cp-year-box label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-4)}
.cp-year-box select{background:transparent;border:none;font-family:var(--sans);font-size:0.85rem;font-weight:500;color:var(--ink);padding:0.45rem 0.2rem;outline:none;cursor:pointer}
.cp-year-box select:focus{color:var(--cyan-dk)}
.cp-year-dash{color:var(--ink-4);font-size:0.8rem}
.cp-clear-btn{background:transparent;border:none;color:var(--ink-4);font-size:0.75rem;display:inline-flex;align-items:center;gap:0.3rem;padding:0.4rem 0.9rem;border-radius:40px;cursor:pointer;transition:var(--t)}
.cp-clear-btn:hover{background:var(--cyan-lt);color:var(--cyan-dk)}
.cp-table-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--t)}
.cp-table-card:hover{box-shadow:var(--shadow-md)}
.cp-table-wrap{overflow-x:auto}
.cp-table-card table{width:100%;border-collapse:collapse;min-width:620px}
.cp-table-card thead tr{background:var(--paper2);border-bottom:2px solid var(--border)}
.cp-table-card thead th{padding:0.9rem 1.2rem;text-align:center;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3)}
.cp-table-card thead th:first-child{text-align:left;padding-left:1.6rem}
.cp-table-card tbody tr{border-bottom:1px solid var(--border);transition:background 0.15s}
.cp-table-card tbody tr:hover{background:var(--paper2)}
.cp-table-card tbody td{padding:0.85rem 1.2rem;text-align:center;font-size:0.85rem;color:var(--ink-2)}
.cp-table-card tbody td:first-child{text-align:left;padding-left:1.6rem;font-weight:600;color:var(--ink);font-size:0.9rem}
.th-icon{display:inline-flex;align-items:center;gap:0.4rem}
.th-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.th-dot-green{background:#10b981}
.th-dot-amber{background:#f59e0b}
.th-dot-red{background:#ef4444}
.outcome-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:30px;padding:0 0.8rem;border-radius:40px;font-size:0.8rem;font-weight:700;border:1px solid transparent;cursor:pointer;transition:all 0.18s ease}
.badge-win{background:#d1fae5;color:#10b981;border-color:rgba(16,185,129,0.3)}
.badge-win:hover{background:#10b981;color:#fff;transform:translateY(-1px)}
.badge-mixed{background:#fef3c7;color:#f59e0b;border-color:rgba(245,158,11,0.3)}
.badge-mixed:hover{background:#f59e0b;color:#fff;transform:translateY(-1px)}
.badge-lost{background:#fee2e2;color:#ef4444;border-color:rgba(239,68,68,0.3)}
.badge-lost:hover{background:#ef4444;color:#fff;transform:translateY(-1px)}
.badge-none{color:var(--ink-4);font-weight:400}
.cp-no-results{text-align:center;padding:3rem 1rem;color:var(--ink-3);background:var(--paper2);border-radius:var(--r-lg)}
.cp-no-results i{font-size:2rem;color:var(--ink-4);margin-bottom:0.75rem;display:block}
.cp-modal--cases{max-width:640px}
.cp-modal-color{width:5px;height:42px;border-radius:8px;flex-shrink:0}
.cp-modal-color.win{background:#10b981}
.cp-modal-color.mixed{background:#f59e0b}
.cp-modal-color.lost{background:#ef4444}
.cp-modal-title-wrap{flex:1;min-width:0}
.cp-modal-sub{font-size:0.7rem;color:var(--ink-3);margin-top:0.15rem}
.cp-cases-list{list-style:none;display:flex;flex-direction:column;gap:0.5rem;padding:0;margin:0}
.cp-cases-list li a{display:flex;align-items:center;gap:0.7rem;padding:0.75rem 1rem;border-radius:var(--r-lg);background:var(--paper2);border:1px solid var(--border);font-size:0.85rem;font-weight:500;color:var(--ink-2);text-decoration:none;transition:all 0.15s}
.cp-cases-list li a:hover{background:var(--cyan-lt);border-color:var(--cyan-bdr);color:var(--cyan-dk);transform:translateX(3px)}
.cp-cases-list li a i{font-size:0.8rem;color:var(--ink-4)}
.cp-cases-list li a:hover i{color:var(--cyan-dk)}
@media(max-width:740px){.cp-filter-bar{flex-direction:column;align-items:stretch;border-radius:24px}.cp-search-field{flex:auto}.cp-year-group{justify-content:space-between}.cp-table-card table{min-width:540px}}

/* ========== ORDERS ========== */
.cp-filter-area{display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;margin-bottom:2rem}
.cp-winner-chips{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;background:var(--paper);border:1.5px solid var(--border-md);border-radius:var(--r-xl);padding:0.3rem;box-shadow:var(--shadow-sm)}
.winner-chip{display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 1rem;border-radius:100px;font-size:0.75rem;font-weight:600;background:transparent;color:var(--ink-3);border:none;cursor:pointer;transition:var(--t);font-family:var(--sans)}
.winner-chip i{font-size:0.7rem;color:var(--ink-4);transition:var(--t)}
.winner-chip:hover{background:var(--cyan-lt);color:var(--cyan-dk)}
.winner-chip.active{background:var(--cyan);color:#fff}
.winner-chip.active i{color:#fff}
.orders-container{display:flex;flex-direction:column;gap:1.5rem}
.order-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--t)}
.order-card:hover{box-shadow:var(--shadow-md);border-color:var(--cyan-bdr)}
.order-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;padding:1rem 1.5rem;background:var(--paper2);border-bottom:1px solid var(--border)}
.order-title{flex:1;min-width:0}
.order-full-title{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--ink);word-break:break-word}
.order-card .winner-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.35rem 1rem;border-radius:100px;font-size:0.7rem;font-weight:700;text-transform:capitalize;letter-spacing:0.03em;background:var(--cyan-lt);color:var(--cyan-dk);border:1.5px solid var(--cyan-bdr);cursor:default}
.order-card .winner-badge i{font-size:0.65rem}
.order-body{padding:1.5rem}
.order-content{font-family:var(--sans);font-size:0.85rem;line-height:1.65;color:var(--ink-2)}
.order-content p{margin-bottom:0.75rem}
.order-content ol,.order-content ul{margin:0.75rem 0 0.75rem 1.5rem}
.order-content li{margin:0.4rem 0}
@media(max-width:640px){.cp-filter-area{flex-direction:column;align-items:stretch}.cp-winner-chips{justify-content:space-between}.order-header{flex-direction:column;align-items:flex-start}.order-body{padding:1rem}}

/* ========== SUMMARY (case summary detail) ========== */
.cp-sum-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);overflow:hidden;animation:fadeUp 0.4s ease both}
.cp-sum-strip{height:3px;background:var(--cyan);width:100%}
.cp-sum-header{padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.cp-sum-title h1{font-family:var(--serif);font-size:1.6rem;font-weight:600;letter-spacing:-0.02em;color:var(--ink);margin:0;line-height:1.3}
.cp-sum-actions{display:flex;gap:0.75rem;flex-shrink:0;flex-wrap:wrap;align-items:center}
.cp-sum-actions form{margin:0}
.cp-sum-grid{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--border)}
.cp-sum-item{border-right:1px solid var(--border)}
.cp-sum-item.full{grid-column:span 2;border-right:none}
.cp-sum-label{background:var(--paper2);padding:0.85rem 1.5rem;border-bottom:1px solid var(--border)}
.cp-sum-label h5{font-family:var(--sans);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-4);margin:0}
.cp-sum-value{padding:1rem 1.5rem;font-size:0.9rem;color:var(--ink-2);line-height:1.5;word-break:break-word}
.cp-sum-section{padding:1.5rem 2rem;border-bottom:1px solid var(--border)}
.cp-sum-section:last-child{border-bottom:none}
.cp-sum-heading{margin-bottom:1.25rem;padding-bottom:0.5rem;border-bottom:2px solid var(--cyan-lt)}
.cp-sum-heading h2{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink);margin:0;letter-spacing:-0.01em}
.cp-sum-issues{margin:0;padding-left:1.8rem}
.cp-sum-issues li{margin-bottom:0.6rem;font-size:0.9rem;color:var(--ink-2);line-height:1.5}
.cp-sum-table{width:100%;border-collapse:collapse;font-size:0.85rem}
.cp-sum-table th{text-align:left;background:var(--paper3);padding:0.8rem 1rem;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--border);font-size:0.75rem;letter-spacing:0.03em}
.cp-sum-table td{padding:0.8rem 1rem;border-bottom:1px solid var(--border);color:var(--ink-3);vertical-align:top}
.cp-sum-table tr:last-child td{border-bottom:none}
.cp-sum-back{margin-top:2rem;text-align:center}
.cp-sum-back a{color:var(--ink-3);font-size:0.8rem;text-decoration:none;display:inline-flex;gap:0.4rem;align-items:center}
.cp-sum-back a:hover{color:var(--cyan-dk)}
@media(max-width:768px){.cp-sum-header{flex-direction:column;align-items:flex-start;padding:1.2rem}.cp-sum-grid{grid-template-columns:1fr}.cp-sum-item{border-right:none;border-bottom:1px solid var(--border)}.cp-sum-section{padding:1rem 1.2rem}.cp-sum-label,.cp-sum-value{padding:0.7rem 1rem}.cp-sum-heading h2{font-size:1rem}}
