
:root{
  --iv:#FBFAF8;--ln:#F7F2EF;--sd:#F3ECE8;--tp:#E6DAD4;
  --dr:#EFA7A0;--ec:#3F3532;--mg:#8A7A74;
  --nav:#17130E;--serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --sh:0 2px 14px rgba(23,19,14,.09);
  --sh-lg:0 8px 40px rgba(23,19,14,.13);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body,#root{height:100%}
body{font-family:var(--sans);background:var(--iv);color:var(--ec)}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:var(--sans)}
input,textarea{font-family:var(--sans)}
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:rgba(0,0,0,.06);border-radius:8px}
::-webkit-scrollbar-thumb{background:#A89A8E;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#8D7D74}
.showcase-card{transition:transform .22s ease,box-shadow .22s ease}
.showcase-card:hover{transform:translateY(-6px) scale(1.025);box-shadow:0 16px 40px rgba(86,69,64,.18)}
.showcase-card .showcase-img{transition:transform .22s ease}
.showcase-card:hover .showcase-img{transform:scale(1.03)}
.sched-cell:hover .sched-add{opacity:1}
td.sched-td{transition:background .1s}
td.sched-td:hover{background:rgba(196,123,117,.06) !important}
.routine-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.routine-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(46,62,70,.1);border-color:#7A8F99 !important}
.routine-card:hover .routine-icon{background:rgba(111,127,134,.2) !important}

@keyframes fadeIn{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.block-pill{cursor:grab !important}
.block-pill:hover{filter:brightness(.9);transform:translateY(-1.5px);box-shadow:0 4px 12px rgba(0,0,0,.14) !important;cursor:grab}
.block-pill:active{cursor:grabbing !important;transform:scale(.97) translateY(0) !important;box-shadow:0 2px 6px rgba(0,0,0,.18) !important}
td:hover .sched-add{opacity:1}
.sched-today-col{border-left:2px solid rgba(46,62,70,.25) !important;border-right:2px solid rgba(46,62,70,.25) !important}
.block-menu{position:fixed;background:#fff;border:1px solid #DCE2E0;borderRadius:10px;boxShadow:0 8px 28px rgba(0,0,0,.13);zIndex:600;minWidth:160px;padding:4px;overflow:hidden}
.block-menu-item{padding:8px 12px;fontSize:12px;fontWeight:600;cursor:pointer;borderRadius:6px;display:flex;alignItems:center;gap:8px;color:#3A3A3A;transition:background .12s}
.block-menu-item:hover{background:#F3F5F4}
.sched-add{opacity:0;transition:opacity .15s;font-size:11px;color:#A0AFBA;font-weight:600;pointer-events:none;user-select:none}
.showcase-vignette::after{content:'';position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 28px 8px rgba(248,247,240,.55);pointer-events:none;z-index:1}
.feat-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.feat-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(86,69,64,.13);border-color:rgba(196,123,117,.45) !important}
input::placeholder,textarea::placeholder{color:#9A918C !important;opacity:1 !important;letter-spacing:0 !important;word-spacing:0 !important;font-kerning:none;font-feature-settings:'kern' 0,'liga' 0 !important}
body{font-kerning:none;text-rendering:optimizeSpeed;font-feature-settings:'kern' 0,'liga' 0}
input,textarea,select,button{font-feature-settings:'kern' 0,'liga' 0;letter-spacing:0;word-spacing:0;font-kerning:none;text-rendering:optimizeSpeed;font-family:Arial,Helvetica,sans-serif}
.es-text{letter-spacing:0!important;word-spacing:0!important;font-kerning:none!important;font-feature-settings:'kern' 0,'liga' 0!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}

/* ── MODAL TYPOGRAPHY RESET ─────────────────────────────────────────────── */
/* Prevent word/glyph splitting in all modal text, labels, and placeholders  */
input::placeholder,textarea::placeholder,select::placeholder{
  font-family:Arial,Helvetica,sans-serif!important;
  letter-spacing:0!important;
  word-spacing:0!important;
  font-kerning:none!important;
  font-feature-settings:'kern' 0,'liga' 0!important;
  text-rendering:optimizeSpeed!important;
  -webkit-font-smoothing:antialiased!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
::-webkit-input-placeholder{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0!important;word-spacing:0!important;font-kerning:none!important;font-feature-settings:'kern' 0,'liga' 0!important;text-rendering:optimizeSpeed!important;}
::-moz-placeholder{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0!important;word-spacing:0!important;font-kerning:none!important;font-feature-settings:'kern' 0,'liga' 0!important;text-rendering:optimizeSpeed!important;}
:-ms-input-placeholder{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0!important;word-spacing:0!important;}

/* Prevent browser native red validation ring on selects/inputs inside modal */
select:not(:focus){outline:none!important;box-shadow:none!important;}
select{-webkit-appearance:auto;-moz-appearance:auto;}

/* Task card hover state in Care Team Schedule calendar */
.tsk-card{transition:background .12s,border-color .12s,box-shadow .12s;}.shp-card{transition:background .12s,border-color .12s,box-shadow .12s;}.shp-card:hover{background:#E8F5EE!important;border-color:#A8C8B8!important;box-shadow:0 2px 6px rgba(60,140,100,.14)!important;}
.tsk-card:hover{background:#FDE8E5!important;border-color:#D4A8A3!important;box-shadow:0 2px 6px rgba(180,100,90,.14)!important;}
