:root{
  /* Paleta clara (aesthetic + legível) */
  --bg:#f6f7fb;
  --surface:#ffffff;
  --surface-2:#f1f5f9;

  --text:#0f172a;      /* slate-900 */
  --muted:#64748b;     /* slate-500 */

  --brand:#10b981;     /* emerald-500 */
  --brand-dark:#059669;/* emerald-600 */
  --accent:#2563eb;    /* blue-600 */

  --danger:#dc2626;
  --warning:#d97706;
  --info:#2563eb;

  --border: rgba(15,23,42,.10);
  --shadow: 0 10px 30px rgba(15,23,42,.08);
  --shadow-sm: 0 6px 18px rgba(15,23,42,.06);
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,"Helvetica Neue",sans-serif;
  background:
    radial-gradient(1000px 600px at 15% 0%, rgba(16,185,129,.10), transparent 60%),
    radial-gradient(900px 600px at 85% 10%, rgba(37,99,235,.08), transparent 55%),
    var(--bg);
  color: var(--text);
}

a{ text-decoration:none; color: var(--accent); }
a:hover{ color: #1d4ed8; }

h1,h2,h3,h4,h5,h6,p,span,li,td,th,label{ color: var(--text); }
.small-muted{color:var(--muted)!important;font-size:.92rem;}
.text-muted,.text-secondary{color:var(--muted)!important;}

/* Cards / caixas */
.card{
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
  border-radius: 18px !important;
}

/* Navbar */
.navbar{
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm);
}
.navbar-brand{
  color: var(--text) !important;
  font-weight: 900;
  letter-spacing: .2px;
}
.navbar .nav-link{
  color: var(--muted) !important;
  font-weight: 800;
}
.navbar .nav-link:hover{ color: var(--text) !important; }

/* Botões */
.btn-brand{
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #ffffff !important;
  font-weight: 900;
  border-radius: 14px;
}
.btn-brand:hover{
  background: var(--brand-dark) !important;
  border-color: var(--brand-dark) !important;
}

.btn-outline-brand{
  background: transparent !important;
  border-color: rgba(16,185,129,.55) !important;
  color: var(--brand-dark) !important;
  font-weight: 900;
  border-radius: 14px;
}
.btn-outline-brand:hover{
  background: rgba(16,185,129,.10) !important;
  border-color: rgba(16,185,129,.85) !important;
  color: var(--brand-dark) !important;
}

/* Badges */
.badge-soft{
  background: rgba(16,185,129,.12) !important;
  border:1px solid rgba(16,185,129,.25) !important;
  color: var(--brand-dark) !important;
  padding:.25rem .55rem;
  border-radius:999px;
  font-weight:800;
  font-size:.8rem;
}

/* Sidebar */
.sidebar{
  position: sticky;
  top: 18px;
  height: calc(100vh - 36px);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.85);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
}
.sidebar .nav-link{
  display:flex;align-items:center;gap:.6rem;
  padding:.7rem .9rem;border-radius:14px;
  color: var(--muted) !important;
  font-weight: 800;
}
.sidebar .nav-link:hover{
  background: rgba(15,23,42,.05);
  color: var(--text) !important;
}
.sidebar .nav-link.active{
  background: rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.22);
  color: var(--brand-dark) !important;
}

/* Inputs */
.form-control,.form-select{
  border-radius:14px !important;
  background: var(--surface) !important;
  border:1px solid var(--border) !important;
  color: var(--text) !important;
}
.form-control::placeholder{color: rgba(100,116,139,.85);}
.form-control:focus, .form-select:focus{
  border-color: rgba(16,185,129,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(16,185,129,.12) !important;
}

/* Alerts (legíveis) */
.alert{
  border-radius:16px;
  border:1px solid var(--border);
  background: var(--surface);
}
.alert-success{
  background: rgba(16,185,129,.10) !important;
  border-color: rgba(16,185,129,.20) !important;
  color: #065f46 !important;
}
.alert-danger{
  background: rgba(220,38,38,.10) !important;
  border-color: rgba(220,38,38,.20) !important;
  color: #7f1d1d !important;
}
.alert-warning{
  background: rgba(217,119,6,.10) !important;
  border-color: rgba(217,119,6,.20) !important;
  color: #7c2d12 !important;
}
.alert-info{
  background: rgba(37,99,235,.10) !important;
  border-color: rgba(37,99,235,.20) !important;
  color: #1e3a8a !important;
}

/* Tabelas */
.table{
  color: var(--text) !important;
}
.table thead th{
  color: var(--muted) !important;
  border-bottom: 1px solid var(--border) !important;
}
.table td, .table th{
  border-color: rgba(15,23,42,.08) !important;
}

/* Avatar */
.profile-img{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(15,23,42,.10);
  background: var(--surface-2);
}


/* === EXTRA COR + DESTAQUE DE GRÁFICOS (v2) === */
:root{
  --bg:#f2f6ff;           /* menos branco */
  --surface:#ffffff;
  --surface-tint:#f7fbff;
  --brand:#16a34a;        /* green-600 */
  --brand-dark:#15803d;
  --accent:#2563eb;       /* blue-600 */
  --accent-2:#7c3aed;     /* violet-600 */
  --warning:#f59e0b;      /* amber-500 */
  --danger:#ef4444;       /* red-500 */
}

body{
  background:
    radial-gradient(1200px 700px at 18% 0%, rgba(22,163,74,.18), transparent 60%),
    radial-gradient(1000px 700px at 85% 12%, rgba(37,99,235,.14), transparent 55%),
    radial-gradient(900px 650px at 70% 85%, rgba(124,58,237,.10), transparent 55%),
    var(--bg) !important;
}

/* cards com mais "pop" */
.card{
  box-shadow: 0 14px 40px rgba(15,23,42,.10) !important;
}

/* cartões de métricas */
.kpi-card{
  border-left: 6px solid rgba(37,99,235,.55) !important;
  background: linear-gradient(180deg, rgba(37,99,235,.08), rgba(255,255,255,1) 55%) !important;
}
.kpi-card.kpi-green{ border-left-color: rgba(22,163,74,.60) !important; background: linear-gradient(180deg, rgba(22,163,74,.10), rgba(255,255,255,1) 55%) !important; }
.kpi-card.kpi-amber{ border-left-color: rgba(245,158,11,.70) !important; background: linear-gradient(180deg, rgba(245,158,11,.12), rgba(255,255,255,1) 55%) !important; }
.kpi-card.kpi-red{ border-left-color: rgba(239,68,68,.65) !important; background: linear-gradient(180deg, rgba(239,68,68,.10), rgba(255,255,255,1) 55%) !important; }

/* destaque para gráficos */
.chart-card{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(37,99,235,.20) !important;
  background: linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,1) 58%) !important;
}
.chart-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(800px 240px at 0% 0%, rgba(22,163,74,.25), transparent 50%),
              radial-gradient(800px 240px at 100% 0%, rgba(124,58,237,.22), transparent 55%);
  pointer-events:none;
}
.chart-card > *{ position:relative; z-index:1; }

.chart-badge{
  padding:.25rem .55rem;
  border-radius:999px;
  font-weight:700;
  font-size:.78rem;
  background: rgba(124,58,237,.12);
  color: rgba(124,58,237,1);
  border: 1px solid rgba(124,58,237,.25);
}

/* melhorar contraste em tabelas */
.table thead th{
  background: rgba(37,99,235,.08) !important;
  color: var(--text) !important;
}

/* Admin KPI extra */
.kpi-blue{border-left:6px solid #3b82f6;}
.kpi-purple{border-left:6px solid #8b5cf6;}
.chip-info{background:rgba(59,130,246,.14);color:#1d4ed8;}
.nav-divider{height:1px;background:rgba(0,0,0,.08);margin:10px 0;}


/* Improve chart readability */
canvas { font-size: 14px !important; }
.chartjs-render-monitor { font-size: 14px !important; }


.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.calendar-head{font-weight:800;color:var(--muted);padding:.35rem .5rem;text-align:center;}
.calendar-day{min-height:120px;background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:18px;padding:.65rem;display:flex;flex-direction:column;gap:.4rem;}
.calendar-day.is-muted{opacity:.55;}
.calendar-day.is-today{border-color:rgba(16,185,129,.55);box-shadow:0 0 0 .2rem rgba(16,185,129,.12);}
.calendar-day-number{font-weight:900;}
.calendar-events{display:flex;flex-direction:column;gap:.35rem;}
.calendar-pill{display:block;padding:.3rem .45rem;border-radius:10px;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pill-primary{background:rgba(37,99,235,.12);color:#1d4ed8;}
.pill-warning{background:rgba(245,158,11,.16);color:#b45309;}
.pill-danger{background:rgba(239,68,68,.12);color:#b91c1c;}
.sticky-preview{background:linear-gradient(180deg, rgba(34,197,94,.12), #f3fff7);border:1px solid rgba(34,197,94,.28);border-radius:18px;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);}
.sticky-preview.is-pinned{border-color:rgba(16,185,129,.35);}
.small-note-body{white-space:pre-wrap;color:var(--text);}
.sticky-widget-toggle{position:fixed;right:18px;bottom:18px;z-index:1040;border:none;border-radius:999px;padding:.85rem 1rem;background:var(--brand);color:#fff;font-weight:800;box-shadow:var(--shadow);}
.sticky-widget{position:fixed;right:18px;bottom:72px;z-index:1039;width:min(360px,calc(100vw - 24px));}
.sticky-widget-card{background:linear-gradient(180deg,#fff9c4,#fffef0);border:1px solid rgba(234,179,8,.28);border-radius:22px;padding:1rem;box-shadow:0 18px 40px rgba(15,23,42,.18);}
.sticky-widget-content{white-space:pre-wrap;max-height:280px;overflow:auto;}
@media (max-width: 991px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.calendar-head{display:none;}.calendar-day{min-height:100px;}}

/* === Calendário interativo + widgets flutuantes v3 === */
#planyCalendar{background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,255,.98));border: 1px solid rgba(37,99,235,.12);border-radius: 22px;padding: 1rem;box-shadow: inset 0 1px 0 rgba(255,255,255,.6);}
.fc .fc-toolbar-title{font-size:1.15rem;font-weight:900;color:var(--text);}
.fc .fc-button{background: rgba(37,99,235,.10) !important;border:1px solid rgba(37,99,235,.16) !important;color: var(--text) !important;font-weight:800 !important;box-shadow:none !important;}
.fc .fc-button:hover{background: rgba(37,99,235,.16) !important;}
.fc .fc-button.fc-button-active{background: rgba(16,185,129,.18) !important;border-color: rgba(16,185,129,.35) !important;}
.fc .fc-daygrid-day{transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}
.fc .fc-daygrid-day:hover{background: rgba(16,185,129,.05);transform: translateY(-1px);}
.fc .fc-daygrid-day.fc-day-today{background: rgba(16,185,129,.08) !important;}
.fc .fc-daygrid-day-number{font-weight:800;color:var(--text);}
.fc .fc-col-header-cell-cushion{padding:.75rem .25rem;font-weight:800;color:var(--muted);}
.fc .fc-event{border:none !important;border-radius:10px !important;padding:.2rem .35rem !important;font-size:.78rem !important;font-weight:800 !important;}
.fc-pill-primary{background: rgba(37,99,235,.14) !important;color:#1d4ed8 !important;}
.fc-pill-warning{background: rgba(245,158,11,.18) !important;color:#b45309 !important;}
.fc-pill-danger{background: rgba(239,68,68,.14) !important;color:#b91c1c !important;}
.fc-pill-success{background: rgba(34,197,94,.14) !important;color:#166534 !important;}
.fc .fc-day-sat, .fc .fc-day-sun{background: transparent !important;}
.fc .fc-day-sat .fc-daygrid-day-number, .fc .fc-day-sun .fc-daygrid-day-number{color:#b91c1c !important;background:rgba(239,68,68,.12);border-radius:999px;min-width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;}
.fc .fc-daygrid-day.plany-holiday .fc-daygrid-day-number{background:rgba(250,204,21,.28);color:#a16207 !important;border-radius:999px;min-width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;}
.fc .fc-daygrid-day.plany-weekend.plany-holiday .fc-daygrid-day-number{background:rgba(250,204,21,.28);color:#b91c1c !important;}
.fc .fc-bg-event.fc-holiday{background: transparent !important; opacity:1 !important;}
.calendar-side-panel{min-height: 220px;background: linear-gradient(180deg, rgba(248,250,252,1), rgba(255,255,255,1));border:1px solid var(--border);border-radius:18px;padding:1rem;}
.selected-day-title{font-size:1rem;font-weight:900;margin-bottom:.8rem;}
.selected-event-card, .upcoming-card{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.85rem 1rem;background:#fff;box-shadow: var(--shadow-sm);}
.selected-event-card + .selected-event-card{margin-top:.75rem;}
.upcoming-card{height:100%;background: linear-gradient(180deg, rgba(37,99,235,.05), rgba(255,255,255,1));}
.upcoming-card.upcoming-info{background:linear-gradient(180deg, rgba(34,197,94,.10), rgba(255,255,255,1)); border:1px solid rgba(34,197,94,.20);}
.upcoming-card.upcoming-aviso{background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,1)); border:1px solid rgba(245,158,11,.20);}
.upcoming-card.upcoming-urgente{background:linear-gradient(180deg, rgba(239,68,68,.10), rgba(255,255,255,1)); border:1px solid rgba(239,68,68,.20);}
.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;}
.floating-stack{position: fixed;right: 18px;bottom: 18px;z-index: 1045;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.floating-shell{width:min(370px, calc(100vw - 22px));}
.floating-toggle{width:100%;border:none;border-radius:999px;padding:.9rem 1rem;background: linear-gradient(135deg, var(--brand), var(--brand-dark));color:#fff;font-weight:900;box-shadow:0 18px 35px rgba(15,23,42,.18);display:flex;justify-content:space-between;align-items:center;}
.alerts-shell .floating-toggle{background: linear-gradient(135deg, #2563eb, #1d4ed8);}
.floating-count{min-width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background: rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.25);}
.floating-panel{margin-top:10px;transition: all .18s ease;opacity:1; transform:translateY(0) scale(1); transform-origin:bottom right;}
.floating-panel.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);max-height:0;overflow:hidden;margin-top:0;}
.floating-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:1rem;box-shadow:0 20px 45px rgba(15,23,42,.18);}
.floating-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;}
.floating-scroll{margin-top:.8rem;max-height:310px;overflow:auto;display:flex;flex-direction:column;gap:.75rem;}
.floating-alert-item{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.8rem;background:linear-gradient(180deg, rgba(37,99,235,.04), rgba(255,255,255,1));}
.sticky-note-item{background:linear-gradient(180deg, rgba(34,197,94,.12), #f3fff7);border-color:rgba(34,197,94,.28);}
.sticky-widget-card{background:linear-gradient(180deg, rgba(34,197,94,.12), #f3fff7);border:1px solid rgba(34,197,94,.28);}
@media (max-width: 991px){
  .floating-stack{right:10px;left:auto;align-items:flex-end;}
  .floating-shell{width:auto;}
  #planyCalendar{padding:.4rem;}
}


.topbar-account-actions .btn{min-height:48px;}
.topbar-account-actions{position:relative;z-index:20;}


.floating-toggle-circle{width:60px;height:60px;padding:0;border-radius:999px;justify-content:center;position:relative;}
.floating-toggle-circle .floating-icon{font-size:1.6rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.floating-toggle-circle .floating-count{position:absolute;right:4px;bottom:4px;min-width:28px;height:28px;font-size:.9rem;font-weight:900;background:rgba(255,255,255,.28);backdrop-filter:blur(8px);}
.floating-shell{width:auto;}
.floating-panel{position:absolute;right:0;bottom:82px;min-width:330px;max-width:min(380px, calc(100vw - 24px));}
.status-dot{display:inline-block;width:18px;height:18px;border-radius:6px;flex:0 0 18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 4px 10px rgba(15,23,42,.12);}
.status-dot-urgent{background:#ef4444;}
.status-dot-info{background:#22c55e;}
.status-dot-warning{background:#f59e0b;}
.sticky-note-item .fw-bold{word-break:break-word;}
@media (max-width: 991px){.floating-toggle-circle{width:56px;height:56px;}.floating-panel{left:auto;right:0;min-width:min(320px, calc(100vw - 20px));}}


.admin-summary-card{border:1px solid rgba(37,99,235,.14)!important;background:linear-gradient(180deg, rgba(37,99,235,.04), rgba(255,255,255,1))!important;}
.admin-summary-item{display:flex;flex-direction:column;gap:.15rem;min-width:180px;padding:.35rem .2rem;}
.admin-summary-item strong{font-size:1.08rem;color:var(--text);}

.upcoming-card{position:relative;height:100%;background:#fff;border:1px solid rgba(15,23,42,.10);box-shadow:var(--shadow-sm);}
.upcoming-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:16px 0 0 16px;background:rgba(148,163,184,.55);}
.upcoming-card.upcoming-info{background:linear-gradient(180deg, rgba(34,197,94,.08), rgba(255,255,255,1));border-color:rgba(34,197,94,.28);}
.upcoming-card.upcoming-info:before{background:#22c55e;}
.upcoming-card.upcoming-aviso{background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,1));border-color:rgba(245,158,11,.30);}
.upcoming-card.upcoming-aviso:before{background:#f59e0b;}
.upcoming-card.upcoming-urgente{background:linear-gradient(180deg, rgba(239,68,68,.11), rgba(255,255,255,1));border-color:rgba(239,68,68,.30);}
.upcoming-card.upcoming-urgente:before{background:#ef4444;}
.upcoming-type-pill{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:capitalize;border:1px solid transparent;}
.upcoming-type-info{background:rgba(34,197,94,.12);color:#15803d;border-color:rgba(34,197,94,.26);}
.upcoming-type-aviso{background:rgba(245,158,11,.14);color:#b45309;border-color:rgba(245,158,11,.28);}
.upcoming-type-urgente{background:rgba(239,68,68,.12);color:#b91c1c;border-color:rgba(239,68,68,.28);}

.admin-user-link{color:var(--text)!important;}
.admin-user-link:hover{color:var(--accent)!important;}
.upcoming-card .fw-bold{color:var(--text)!important;}
.upcoming-card.upcoming-info .fw-bold,.upcoming-card.upcoming-info .small-note-body,.upcoming-card.upcoming-info .small-muted,.upcoming-card.upcoming-info .upcoming-type-pill{color:#15803d!important;}
.upcoming-card.upcoming-aviso .fw-bold,.upcoming-card.upcoming-aviso .small-note-body,.upcoming-card.upcoming-aviso .small-muted,.upcoming-card.upcoming-aviso .upcoming-type-pill{color:#b45309!important;}
.upcoming-card.upcoming-urgente .fw-bold,.upcoming-card.upcoming-urgente .small-note-body,.upcoming-card.upcoming-urgente .small-muted,.upcoming-card.upcoming-urgente .upcoming-type-pill{color:#b91c1c!important;}


.app-logo-img,.app-logo-svg{width:32px;height:32px;display:block;flex:0 0 auto;}
.brand .logo,.navbar-brand .logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.sticky-note-item{background:#dcfce7 !important;border-color:rgba(22,163,74,.34) !important;box-shadow:0 10px 24px rgba(22,163,74,.12);}
.sticky-widget-card{background:#f0fdf4 !important;border-color:rgba(22,163,74,.34) !important;backdrop-filter:none;}
.sticky-widget-content{color:#14532d;font-weight:500;}
.floating-panel{z-index:1060;}
.admin-user-compact-card{border:1px solid rgba(37,99,235,.14)!important;background:linear-gradient(180deg, rgba(37,99,235,.04), rgba(255,255,255,1))!important;}


/* Logo sizing */
.brand .logo svg{width:34px;height:34px;display:block;}
.sidebar .brand .logo svg{width:44px;height:44px;}
.navbar-brand .logo svg{width:28px;height:28px;}
.brand{display:flex;align-items:center;gap:.75rem;}
.brand .logo{flex:0 0 auto;}

/* Floating notes: stronger contrast + always on top */
.floating-stack{z-index: 9999 !important;}
.floating-panel{z-index: 9999 !important;}
.sticky-widget-card{background:#f0fdf4 !important;border:1px solid rgba(22,163,74,.40) !important;}
.sticky-note-item{background:#dcfce7 !important;border:1px solid rgba(22,163,74,.35) !important;}
.floating-alert-item.sticky-note-item{background:#dcfce7 !important;}

/* Landing: more "bang" */
@keyframes planyFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes planyPop{0%{transform:scale(.98);opacity:0;}100%{transform:scale(1);opacity:1;}}
.hero{padding: 42px 0 26px;}
.hero h1{font-weight:950;letter-spacing:-.02em;}
.hero .hero-blob{animation: planyFloat 6s ease-in-out infinite;}
.hero .card{animation: planyPop .55s ease both;}
.btn-brand, .btn-outline-brand{transition: transform .15s ease, box-shadow .15s ease;}
.btn-brand:hover, .btn-outline-brand:hover{transform: translateY(-1px) scale(1.02);box-shadow:0 14px 26px rgba(15,23,42,.12)!important;}
.badge-soft{transition: transform .15s ease;}
.badge-soft:hover{transform: translateY(-1px) scale(1.03);}

/* refined logo sizing */
.sidebar-logo-img,.sidebar-logo-svg{width:52px;height:52px;display:block;}
.navbar-logo-img,.navbar-logo-svg{width:36px;height:36px;display:block;}
.auth-logo-svg{width:44px;height:44px;display:block;}
.sidebar .brand{align-items:flex-start;gap:.9rem;}
.sidebar .brand .name{font-size:1.8rem;font-weight:900;line-height:1;}
.sidebar .brand .small-muted{margin-top:.35rem;display:block;}
.sidebar .brand .logo{padding-top:.1rem;}

/* solid notes */
.sticky-widget-card,
.floating-card.sticky-widget-card{
  background:#ffffff !important;
  border:1px solid rgba(110,231,183,.95) !important;
  box-shadow:0 20px 45px rgba(15,23,42,.18) !important;
}
.sticky-note-item,
.floating-alert-item.sticky-note-item,
.sticky-preview{
  background:#ffffff !important;
  border:1px solid rgba(110,231,183,.95) !important;
  box-shadow:0 10px 24px rgba(16,185,129,.08) !important;
}
.sticky-widget-content,.sticky-note-item .fw-bold{color:#0f172a !important;}

/* faq styles */
.faq-hero-card{background:linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,1)) !important;border:1px solid rgba(37,99,235,.14) !important;}
.faq-accordion .accordion-item{border:1px solid rgba(15,23,42,.08);border-radius:18px;overflow:hidden;margin-bottom:.85rem;background:#fff;box-shadow:var(--shadow-sm);}
.faq-accordion .accordion-button{font-weight:900;background:#fff;box-shadow:none !important;padding:1rem 1.1rem;}
.faq-accordion .accordion-button:not(.collapsed){background:rgba(16,185,129,.08);color:var(--brand-dark);}
.faq-accordion .accordion-body{color:var(--muted);line-height:1.65;font-size:.98rem;padding-top:.2rem;}
.faq-public-card{background:linear-gradient(180deg, rgba(16,185,129,.06), rgba(255,255,255,1)) !important;border:1px solid rgba(16,185,129,.18) !important;}

/* tutorial */
.tour-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);z-index:1090;}
.tour-pop{position:fixed;max-width:380px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:1rem 1rem 1.1rem;box-shadow:0 26px 70px rgba(15,23,42,.28);z-index:1092;}
.tour-pop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;}
.tour-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.24);color:var(--brand-dark);font-weight:800;font-size:.78rem;margin-bottom:.45rem;}
.tour-close{border:none;background:rgba(15,23,42,.06);color:var(--muted);width:34px;height:34px;border-radius:999px;font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.tour-close:hover{background:rgba(15,23,42,.10);color:var(--text);}
.tour-step{font-size:.8rem;font-weight:800;color:var(--brand-dark);margin-bottom:.35rem;}
.tour-progress{height:8px;border-radius:999px;background:rgba(15,23,42,.08);overflow:hidden;}
.tour-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#16a34a,#2563eb);border-radius:999px;transition:width .2s ease;}
.tour-dots{display:flex;gap:.4rem;margin-top:.7rem;}
.tour-dot{width:10px;height:10px;border-radius:999px;background:rgba(15,23,42,.15);cursor:pointer;transition:transform .15s ease, background .15s ease;}
.tour-dot.is-active{background:#2563eb;transform:scale(1.15);}
.tour-focus{position:relative;z-index:1091 !important;box-shadow:0 0 0 5px rgba(255,255,255,.55), 0 0 0 9px rgba(16,185,129,.30), 0 24px 52px rgba(15,23,42,.24) !important;border-radius:22px;transition:box-shadow .18s ease;}
@media (max-width: 768px){.tour-pop{max-width:min(360px,calc(100vw - 20px));}}


/* === Final fixes v4 === */
.sidebar .brand,
.navbar-brand.brand,
.auth-page .brand{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.sidebar .brand .logo,
.navbar-brand .logo,
.auth-page .brand .logo{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}
.sidebar .brand .logo svg,
.sidebar .brand .logo img,
.navbar-brand .logo svg,
.navbar-brand .logo img,
.auth-page .brand .logo svg,
.auth-page .brand .logo img{
  width:100% !important;
  height:100% !important;
  display:block;
}
.sidebar .brand .name{font-size:1.15rem !important;line-height:1.1 !important;}
.sidebar .brand .small-muted{font-size:.82rem !important;}
.auth-page .brand .name{font-size:1rem !important;font-weight:800 !important;line-height:1 !important;}

/* graphs */
.chart-card canvas{filter:none !important;}
.chart-card .small-muted,.chart-card .fw-bold,.chart-badge{color:#334155 !important;}

/* notes widget must be fully opaque and above all */
.floating-stack,
.floating-shell,
.floating-panel,
.notes-shell,
.notes-shell .floating-card,
.notes-shell .floating-alert-item,
.notes-shell .sticky-note-item{
  z-index:2147483000 !important;
}
.notes-shell .floating-panel,
.notes-shell .floating-card,
.notes-shell .sticky-widget-card,
.notes-shell .floating-alert-item,
.notes-shell .sticky-note-item,
.notes-shell .sticky-widget-content{
  opacity:1 !important;
  background:#ffffff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  mix-blend-mode:normal !important;
  isolation:isolate;
}
.notes-shell .floating-card,
.notes-shell .sticky-widget-card{
  border:1px solid #a7f3d0 !important;
  box-shadow:0 24px 54px rgba(15,23,42,.28) !important;
}
.notes-shell .floating-alert-item,
.notes-shell .sticky-note-item{
  border:1px solid #a7f3d0 !important;
  box-shadow:0 10px 24px rgba(16,185,129,.08) !important;
}
.notes-shell .small-muted,
.notes-shell .sticky-widget-content,
.notes-shell .fw-bold,
.notes-shell .floating-alert-item,
.notes-shell .sticky-note-item{color:#0f172a !important;}


/* === patch: floating widgets stack cleanly === */
.floating-shell{display:flex;flex-direction:column;align-items:flex-end;}
.floating-shell.is-open{gap:10px;}
.floating-panel{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  margin:0 0 10px 0 !important;
  min-width:330px;
  max-width:min(380px, calc(100vw - 24px));
}
.floating-panel.is-hidden{max-height:0;overflow:hidden;margin:0 !important;}
.floating-stack{gap:14px !important;}

/* make notes fully solid and readable */
.notes-shell .floating-card,
.notes-shell .sticky-widget-card,
.notes-shell .floating-alert-item,
.notes-shell .sticky-note-item,
.notes-shell .sticky-widget-content{
  background:#ffffff !important;
  opacity:1 !important;
  filter:none !important;
  color:#0f172a !important;
  box-shadow:0 18px 44px rgba(15,23,42,.22) !important;
}
.notes-shell .floating-panel{z-index:10001 !important;}
.alerts-shell .floating-panel{z-index:10000 !important;}

/* logo and favicon related sizing */
.sidebar .brand .logo,
.auth-page .brand .logo,
.navbar-brand .logo{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
}
.sidebar .brand .logo svg,
.auth-page .brand .logo svg,
.navbar-brand .logo svg{
  width:34px !important;
  height:34px !important;
}
.sidebar .brand .name{font-size:1.05rem !important;}
.sidebar .brand .small-muted{font-size:.78rem !important;}

/* chart readability */
.chart-card .small-muted,
.chart-card .fw-bold,
.chart-card .chart-badge,
.chart-card canvas{
  color:#0f172a !important;
}

/* tutorial focus */
.tour-focus{
  border-radius:18px !important;
  box-shadow:0 0 0 6px rgba(255,255,255,.72), 0 0 0 10px rgba(16,185,129,.34), 0 18px 40px rgba(15,23,42,.24) !important;
}
@media (max-width: 768px){
  .floating-panel{min-width:min(320px, calc(100vw - 16px));}
  .tour-pop{
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:12px !important;
    max-width:none !important;
  }
}

.auth-divider{display:flex;align-items:center;gap:.8rem;margin:1rem 0;color:var(--muted);font-size:.9rem;font-weight:700;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:rgba(15,23,42,.08);}
.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid rgba(15,23,42,.10);background:#fff;color:var(--text);font-weight:800;border-radius:16px;padding:.85rem 1rem;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.btn-google:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(15,23,42,.10);border-color:rgba(37,99,235,.22);color:var(--text);}
.google-mark{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285F4,#34A853);color:#fff;font-weight:900;font-family:Arial,sans-serif;}
code{font-size:.92em;}


/* topbar dropdown */
.topbar-account-trigger{min-width:132px;justify-content:center;}
.topbar-menu{min-width:220px;border-radius:18px !important;padding:.5rem;background:rgba(15,23,42,.92) !important;backdrop-filter:blur(12px);}
.topbar-menu .dropdown-item{border-radius:12px;color:#e5e7eb !important;font-weight:700;padding:.75rem .9rem;}
.topbar-menu .dropdown-item:hover,.topbar-menu .dropdown-item:focus{background:rgba(255,255,255,.08) !important;color:#fff !important;}
.topbar-menu .dropdown-divider{border-color:rgba(255,255,255,.10);margin:.4rem 0;}
.topbar-menu .text-danger{color:#fca5a5 !important;}
.topbar-menu .text-danger:hover,.topbar-menu .text-danger:focus{color:#fecaca !important;}

/* tutorial spotlight */
.tour-overlay{background:rgba(15,23,42,.18) !important;backdrop-filter:blur(2px) !important;}
.tour-spotlight{position:fixed;left:0;top:0;width:0;height:0;border-radius:20px;pointer-events:none;z-index:1091;box-shadow:0 0 0 9999px rgba(15,23,42,.18), 0 0 0 4px rgba(255,255,255,.70), 0 0 0 9px rgba(16,185,129,.34), 0 18px 40px rgba(15,23,42,.20);transition:all .22s ease;}
.tour-focus{position:relative;z-index:1091 !important;box-shadow:none !important;}
