/* SDChat Suite redesign layer — inspired by Best-Flutter-UI-Templates cards/dashboard language */
:root{
  --suite-bg:#f5f7fb;
  --suite-bg2:#eaf0fb;
  --suite-card:rgba(255,255,255,.88);
  --suite-card-solid:#fff;
  --suite-soft:#f8fafc;
  --suite-text:#111827;
  --suite-muted:#667085;
  --suite-line:rgba(16,24,40,.10);
  --suite-primary:#7b61ff;
  --suite-primary2:#2563eb;
  --suite-cyan:#06b6d4;
  --suite-green:#16a34a;
  --suite-amber:#d97706;
  --suite-red:#dc2626;
  --suite-shadow:0 22px 70px rgba(16,24,40,.12);
  --suite-shadow-soft:0 10px 28px rgba(16,24,40,.08);
}
[data-theme="dark"]{
  --suite-bg:#080b13;
  --suite-bg2:#111827;
  --suite-card:rgba(22,31,47,.88);
  --suite-card-solid:#161f2f;
  --suite-soft:#1d2738;
  --suite-text:#f8fafc;
  --suite-muted:#b8c2d3;
  --suite-line:rgba(255,255,255,.11);
  --suite-shadow:0 28px 80px rgba(0,0,0,.38);
  --suite-shadow-soft:0 12px 32px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{
  background:radial-gradient(circle at 14% -8%,rgba(123,97,255,.18),transparent 32%),radial-gradient(circle at 92% 0%,rgba(6,182,212,.14),transparent 30%),linear-gradient(180deg,var(--suite-bg),var(--suite-bg2))!important;
  color:var(--suite-text)!important;
}
header,.top,.topbar{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
header{
  background:color-mix(in srgb,var(--suite-card) 88%,transparent)!important;
  border-bottom-color:var(--suite-line)!important;
  box-shadow:var(--suite-shadow-soft)!important;
}
.container,.shell{position:relative}
.card,.hero,.month,.modal,.login,.event,.day,.tile,.metric,.widget-panel,.admin-panel{
  border-color:var(--suite-line)!important;
  background:var(--suite-card)!important;
  box-shadow:var(--suite-shadow-soft)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.card,.hero,.month,.modal,.login,.tile{border-radius:26px!important}
.hero,.login,.card{
  position:relative;
  overflow:hidden;
}
.hero:after,.login:after,.card:after{
  content:"";
  position:absolute;
  right:-58px;
  top:-76px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(123,97,255,.12),transparent 66%);
  pointer-events:none;
}
.hero>* ,.login>* ,.card>*{position:relative;z-index:1}
h1,h2,.year,.card b,.month-title{letter-spacing:-.04em}
.btn,.hbtn,button,.pill,.chip{
  border-radius:16px!important;
  font-weight:850!important;
  transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease,border-color .14s ease;
}
.btn:hover,.hbtn:hover,button:hover,.pill:hover{transform:translateY(-1px)}
.btn:active,.hbtn:active,button:active,.pill:active{transform:translateY(1px) scale(.992)}
.btn-primary,.primary,button[type="submit"]{
  background:linear-gradient(135deg,var(--suite-primary),var(--suite-primary2))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(80,56,221,.25)!important;
}
input,select,textarea{
  border-radius:16px!important;
  border-color:var(--suite-line)!important;
  background:var(--suite-soft)!important;
  color:var(--suite-text)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--suite-primary)!important;
  box-shadow:0 0 0 4px rgba(123,97,255,.14)!important;
}
.grid,.months,.calendar,.layout{gap:14px!important}
.icon,.ico,.logo,.brand-badge,.tile-icon{
  background:linear-gradient(135deg,rgba(123,97,255,.16),rgba(6,182,212,.12))!important;
  color:var(--suite-text)!important;
}
.toast{border-radius:18px!important;box-shadow:var(--suite-shadow)!important}
@media(max-width:640px){
  body{padding-left:10px!important;padding-right:10px!important}
  header{border-radius:0 0 22px 22px!important;margin:0 -10px 12px!important;height:auto!important;min-height:54px!important;padding:10px 12px!important}
  .container,.shell{padding-left:0!important;padding-right:0!important}
  .hero{padding:18px!important;border-radius:24px!important}
  .hero h2{font-size:30px!important}
  .card,.month,.login,.modal{border-radius:22px!important}
  .btn,.hbtn,button{min-height:40px}
}


/* Global schedule dark-theme text hardening — native controls must use theme colors */
button,input,select,textarea{font:inherit;color:inherit}
button,.btn,.hbtn,.nav-btn,.week-btn,.shift-btn,.tab,.tab-scroll,.pill,.chip,.day,.week,.loc-pick{color:var(--text)!important}
.btn-secondary,.hbtn,.week-btn,.nav-btn,.tab:not(.active),.pill,.week,.day,.shift-btn:not(.sel):not(.sel-approval),.tab-scroll{background-color:var(--surface2)}
input,select,textarea{color:var(--text)!important;background:var(--surface2);border-color:var(--border)}
input::placeholder,textarea::placeholder{color:var(--text3);opacity:.9}
[data-theme="dark"] .btn-primary,[data-theme="dark"] .primary,[data-theme="dark"] button[type="submit"],[data-theme="dark"] .tab.active,[data-theme="dark"] .pill.active{background:linear-gradient(135deg,#7b61ff,#2563eb)!important;color:#fff!important;border-color:transparent!important}
[data-theme="dark"] .tab.active .tab-text small{color:rgba(255,255,255,.74)!important}
[data-theme="dark"] .btn-danger{color:#fca5a5!important}
[data-theme="dark"] .btn-success{color:#86efac!important}
[data-theme="dark"] .cv-green,[data-theme="dark"] .chip-1120,[data-theme="dark"] .week.has{color:#86efac!important}
[data-theme="dark"] .cv-red,[data-theme="dark"] .chip-sick,[data-theme="dark"] .week.blocked{color:#fca5a5!important}
[data-theme="dark"] .cv-amber,[data-theme="dark"] .chip-vac,[data-theme="dark"] .chip-pend{color:#fcd34d!important}
[data-theme="dark"] .text-muted,[data-theme="dark"] .row-sub,[data-theme="dark"] .metric-label,[data-theme="dark"] .sub,[data-theme="dark"] .week-sub,[data-theme="dark"] .field-label,[data-theme="dark"] label,[data-theme="dark"] .empty{color:var(--text3)!important}
