/* ===========================================================================
   The signed-in workspace and the plan a care team opens, 2026-10-26 redesign
   (inc/lux.php). SCREEN ONLY: the printed plan is a clinical document with its own
   print rules and must stay exactly as it is, so nothing here reaches print.
   plans.css is large and specific, so rules lead with html body.tp-body and use
   !important only for the properties it fights over. Status pill colours are left
   to plan-state.css on purpose (they were tuned for distinguishability).
   ========================================================================= */
@media screen {

/* Type and ground */
html body.tp-body{background:#FAFBFA!important;color:#0B1F19;-webkit-font-smoothing:antialiased}
html body.tp-body .tp,
html body.tp-body .tp input,
html body.tp-body .tp select,
html body.tp-body .tp textarea,
html body.tp-body .tp button,
html body.tp-body .tpt,
html body.tp-body .tp-sdDlg,
html body.tp-body .tp-gate{font-family:Inter,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
html body.tp-body .tp h1,html body.tp-body .tp h2,html body.tp-body .tp h3,html body.tp-body .tp h4{font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important;letter-spacing:-.02em;color:#0B1F19}
html body.tp-body .tp h1{font-weight:600!important}

/* Header: white, one hairline, quiet links, green current page. Solid, not frosted
   (owner, 2026-10-26: no glass on the plan platform). Its height is --tp-topH, the number
   the tabs and the other sticky rows rest under: with border-box sizing the min-height of
   plans.css now includes the hairline, so the header came out at 60 against 61 (56
   against 57 on a phone) and the page showed through that pixel as an open line. */
html body.tp-body .tp-top{background:#FFFFFF!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:1px solid #E8ECEA!important;box-shadow:none!important;min-height:var(--tp-topH,61px)!important}
html body.tp-body .tp-top .tp-nav a,html body.tp-body .tp-top .tp-nav button:not(.tp-btn){font-size:14px!important;color:#4E625C!important;border-radius:999px!important;padding:8px 14px!important;transition:background .2s ease,color .2s ease}
html body.tp-body .tp-top .tp-nav a:hover,html body.tp-body .tp-top .tp-nav button:not(.tp-btn):hover{color:#0B1F19!important;background:#F1F5F2!important}
html body.tp-body .tp-top .tp-nav a.is-on,html body.tp-body .tp-top .tp-nav a[aria-current="page"]{color:#0F5740!important;background:#EEF4F0!important;font-weight:500!important}
html body.tp-body .tp-top .tp-nav a,html body.tp-body .tp-top .tp-nav button:not(.tp-btn){border:0!important;box-shadow:none!important;text-decoration:none!important}
/* The workspace tabs are buttons, not links: same pill for the current one. */
html body.tp-body .tp-top .tp-nav button.is-on,html body.tp-body .tp-top .tp-nav button[aria-current="page"],html body.tp-body .tp-top .tp-nav button[aria-pressed="true"]{color:#0F5740!important;background:#EEF4F0!important;font-weight:500!important}
html body.tp-body .tp-top .tp-nav a.is-on::after,html body.tp-body .tp-top .tp-nav a[aria-current="page"]::after,html body.tp-body .tp-top .tp-nav a.is-on::before,html body.tp-body .tp-top .tp-nav a[aria-current="page"]::before{display:none!important;content:none!important}

/* Buttons: one green, pill. Danger stays red; ghost is white with a hairline. */
html body.tp-body .tp .tp-btn,html body.tp-body .tp-gate .tp-btn,html body.tp-body .tp-sdDlg .tp-btn{border-radius:999px!important;min-height:40px;padding-left:18px!important;padding-right:18px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;background:#0F5740!important;color:#FFFFFF!important;border:1px solid #0F5740!important;box-shadow:none!important;transition:background .2s ease,border-color .2s ease}
html body.tp-body .tp .tp-btn:hover{background:#0B1F19!important;border-color:#0B1F19!important}
html body.tp-body .tp .tp-btn--ghost{background:#FFFFFF!important;color:#0F5740!important;border-color:#CFDCD5!important}
html body.tp-body .tp .tp-btn--ghost:hover{background:#F1F5F2!important;color:#0B1F19!important;border-color:#CFDCD5!important}
/* plans.css makes every Save on the account screen solid, ghost class or not: kept. */
html body.tp-body .tp .tp-view[data-view="account"] button[type="submit"].tp-btn:not(.tp-btn--danger){background:#0F5740!important;color:#FFFFFF!important;border-color:#0F5740!important}
html body.tp-body .tp .tp-view[data-view="account"] button[type="submit"].tp-btn:not(.tp-btn--danger):hover{background:#0B1F19!important;border-color:#0B1F19!important}
html body.tp-body .tp .tp-btn--danger,html body.tp-body .tp .tp-btn--bin{background:#B3261E!important;border-color:#B3261E!important;color:#FFFFFF!important}
html body.tp-body .tp .tp-btn--danger:hover,html body.tp-body .tp .tp-btn--bin:hover{background:#8E1D17!important;border-color:#8E1D17!important}
html body.tp-body .tp .tp-btn--small{min-height:34px;padding-left:14px!important;padding-right:14px!important;font-size:13px!important}

/* The plan tray button ("Edit plan 3"): the one primary action on the library, so the
   brand green rather than an alarm red. The count reads as a white badge. */
html body.tp-body .tp .tp-packbtn{background:#0F5740!important;color:#FFFFFF!important;border:0!important;border-radius:999px!important;box-shadow:0 10px 24px -14px rgba(15,87,64,.6)!important;transition:background .2s ease,transform .2s ease}
html body.tp-body .tp .tp-packbtn:hover{background:#0B1F19!important;transform:translateY(-1px)}
html body.tp-body .tp .tp-packbtn b{background:#FFFFFF!important;color:#0F5740!important;border-radius:999px!important}

/* Cards and panels */
html body.tp-body .tp .tp-card,
html body.tp-body .tp .tp-side,
html body.tp-body .tp .tp-table,
html body.tp-body .tp .tp-account__dl,
html body.tp-body .tp .tp-help__g,
html body.tp-body .tp .eq__card,
html body.tp-body .tp .tp-clients__block{background:#FFFFFF!important;border:1px solid #E8ECEA!important;box-shadow:0 1px 2px rgba(11,31,25,.03),0 18px 40px -32px rgba(11,31,25,.22)!important}
html body.tp-body .tp .tp-card,html body.tp-body .tp .eq__card{border-radius:20px!important;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease}
html body.tp-body .tp .tp-card:hover,html body.tp-body .tp .eq__card:hover{transform:translateY(-2px);border-color:#D5E2DA!important;box-shadow:0 1px 2px rgba(11,31,25,.03),0 24px 48px -30px rgba(11,31,25,.3)!important}
html body.tp-body .tp .tp-side{border-radius:20px!important}
html body.tp-body .tp .tp-table{border-radius:16px!important;overflow:hidden}
html body.tp-body .tp .tp-account__dl,html body.tp-body .tp .tp-help__g{border-radius:16px!important}
html body.tp-body .tp .tp-panel{border-radius:20px!important}
html body.tp-body .tp .tp-table th{font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;color:#4E625C!important;text-transform:uppercase}
html body.tp-body .tp .tp-table td{border-color:#F1F4F2!important}

/* Fields: 44px tall, 12px corners, one hairline, green focus */
html body.tp-body .tp .tp-find__box,
html body.tp-body .tp .tp-filter__find,
html body.tp-body .tp .tp-sort,
html body.tp-body .tp .tp-bulk__sort,
html body.tp-body .tp .tp-help__search,
html body.tp-body .tp .eq__find{border-radius:12px!important;border:1px solid #D5DED9!important;background:#FFFFFF!important;min-height:44px;box-shadow:none!important}
html body.tp-body .tp .eq__find{border-radius:999px!important}
html body.tp-body .tp .tp-find__box:focus-within,
html body.tp-body .tp .tp-filter__find:focus-within,
html body.tp-body .tp .tp-help__search:focus-within,
html body.tp-body .tp .eq__find:focus-within{border-color:#0F5740!important;box-shadow:0 0 0 3px rgba(15,87,64,.14)!important}
html body.tp-body .tp input[type="text"]:not([class*="find"]),
html body.tp-body .tp input[type="email"],
html body.tp-body .tp input[type="tel"],
html body.tp-body .tp input[type="password"],
html body.tp-body .tp input[type="date"],
html body.tp-body .tp textarea{border-radius:12px!important;border-color:#D5DED9!important}
html body.tp-body .tp input[type="text"]:focus,html body.tp-body .tp textarea:focus{border-color:#0F5740!important;outline:none!important;box-shadow:0 0 0 3px rgba(15,87,64,.14)!important}

/* Filter options and chips */
html body.tp-body .tp .tp-filter__opts{border-radius:14px!important;border-color:#E8ECEA!important}
html body.tp-body .tp .tp-filterhead__save{border-radius:999px!important;background:#0F5740!important}

/* Two contrast failures that predate the redesign (axe, 2026-10-26):
   the selected FWB chip was white on #2fa67a, 3.06:1; #1C8160 is 4.82:1.
   The editor's "In this plan" label was #6b7c75, 4.24:1; the muted ink is 6.5:1. */
html body.tp-body .tp .tp-wbseg__o--fwb input:checked+span{background:#1C8160!important;color:#FFFFFF!important}
html body.tp-body .tp .tp-enav > b,html body.tp-body .tp .tp-enav b{color:#4E625C!important}
html body.tp-body .tp .tp-enav span,html body.tp-body .tp .tp-pack__section span{color:#4E625C!important}

/* Account: the section tabs read as a segmented row */
html body.tp-body .tp .tp-account__menu button,html body.tp-body .tp .tp-account__menu a{border-radius:999px!important}

/* ---- The plan a care team opens (?code=) ------------------------------- */
html body.tp-body .tp--viewer .tp-checknote{border-radius:16px!important;border:1px solid #F0DFB5!important;background:#FBF4E2!important;margin:16px auto!important}
html body.tp-body .tp--viewer .tp-pack{border-radius:24px!important;border:1px solid #E8ECEA!important;box-shadow:0 1px 2px rgba(11,31,25,.03),0 30px 60px -44px rgba(11,31,25,.3)!important}
html body.tp-body .tp--viewer .tp-open{border-radius:18px!important;border-color:#E8ECEA!important}
html body.tp-body .tp--viewer .tp-ack__card{border-radius:20px!important;border:1px solid #E8ECEA!important;background:#FFFFFF!important}
html body.tp-body .tp--viewer .tp-printbar__btn,html body.tp-body .tp--viewer [data-viewer-print]{border-radius:999px!important;background:#0F5740!important;color:#FFFFFF!important;letter-spacing:0!important;text-transform:none!important;font-weight:500!important}
html body.tp-body .tp--viewer .tp-ack__form input{min-height:44px;border-radius:12px!important;border:1px solid #D5DED9!important}

/* Header tabs: a centred pill with air above and below. plans.css gives the tab
   buttons min-height:60px, the whole header, so the pill filled it edge to edge.
   Desktop only: below 981px the tabs are rows in the phone menu. */
@media (min-width:981px){
  html body.tp-body .tp-top .tp-nav--primary{align-self:center!important;align-items:center!important}
  html body.tp-body .tp-top .tp-nav--primary button,
  html body.tp-body .tp-top .tp-nav--primary a{min-height:40px!important;height:40px;padding:0 16px!important}
  /* Scrolled, the library bar goes compact (32px controls): the box follows, and the
     bar keeps a margin under it so the cards never run up against the Sort box. */
  html body.tp-body .tp.is-down .tp-sort{min-height:34px}
  html body.tp-body .tp.is-down .tp-mainbar{padding-bottom:10px!important}
}
/* The label cell and the select fill the bordered box top to bottom, whatever height
   the box is, so the grey label never stops short of the edge. */
html body.tp-body .tp .tp-sort{display:inline-flex!important;align-items:stretch!important}
html body.tp-body .tp .tp-sort span,
html body.tp-body .tp .tp-sort select{height:auto!important;align-self:stretch}

/* Motion stays quiet in an application */
@media (prefers-reduced-motion:reduce){
  html body.tp-body .tp *{transition:none!important}
  html body.tp-body .tp .tp-card:hover,html body.tp-body .tp .eq__card:hover,html body.tp-body .tp .tp-packbtn:hover{transform:none}
}

}
