/* Agenda Devolutivas - visual premium v6 */
:root{
  --brand:#1d4ed8;
  --brand-2:#2563eb;
  --brand-3:#7c3aed;
  --brand-4:#0ea5e9;
  --brand-dark:#0f2454;
  --accent:#10b981;
  --accent-2:#34d399;
  --gold:#f59e0b;
  --rose:#ef4444;
  --cyan:#06b6d4;
  --violet:#8b5cf6;
  --ink:#101828;
  --ink-2:#1f2937;
  --muted:#667085;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --soft:#eef4ff;
  --line:#d7e1ef;
  --shadow-sm:0 8px 20px rgba(16,24,40,.06);
  --shadow:0 18px 46px rgba(16,24,40,.10);
  --shadow-xl:0 30px 70px rgba(15,36,84,.20);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  position:relative;
  background:
    radial-gradient(circle at 8% 4%, rgba(52,211,153,.16), transparent 26%),
    radial-gradient(circle at 92% 2%, rgba(124,58,237,.16), transparent 27%),
    radial-gradient(circle at 50% 100%, rgba(14,165,233,.10), transparent 32%),
    linear-gradient(180deg,#f8fbff 0%,#eef4fb 50%,#f7f9fd 100%);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(29,78,216,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,78,216,.06) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 78%);
  z-index:-1;
}
a{color:var(--brand)}
.app-navbar{
  background:rgba(12,31,73,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 34px rgba(15,36,84,.26);
}
.navbar-brand{letter-spacing:-.5px;font-size:1.52rem;display:flex;align-items:center;gap:.55rem}
.brand-mark{
  width:36px;height:36px;border-radius:13px;
  display:inline-grid;place-items:center;
  background:linear-gradient(135deg,#fff,#dce9ff);
  color:#174ea6;
  box-shadow:0 10px 24px rgba(255,255,255,.16), inset 0 -3px 8px rgba(37,99,235,.18);
}
.navbar .nav-link{
  font-weight:750;color:rgba(255,255,255,.82)!important;
  border-radius:999px;padding:.48rem .78rem!important;margin:.05rem .06rem;
}
.navbar .nav-link:hover,.navbar .nav-link:focus{background:rgba(255,255,255,.10);color:#fff!important}
.navbar-text{color:rgba(255,255,255,.82)!important}
.dropdown-menu{border:1px solid rgba(215,225,239,.9);box-shadow:0 22px 58px rgba(16,24,40,.18);border-radius:18px;padding:.65rem;background:rgba(255,255,255,.98)}
.dropdown-item{border-radius:12px;font-weight:650;padding:.55rem .75rem}.dropdown-item:hover{background:#eef4ff;color:#12306b}
.skip-link{position:absolute;left:1rem;top:1rem;background:#fff;color:#000;padding:.55rem 1rem;border-radius:.7rem;z-index:9999}
main.container-fluid{max-width:1920px;padding-left:1.4rem!important;padding-right:1.4rem!important}
.page-title{font-size:2.1rem;font-weight:950;letter-spacing:-.8px}.page-subtitle{color:var(--muted);max-width:76ch}
.card,.app-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(215,225,239,.92);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.app-card{padding:1.2rem}.app-card > .card-body{padding:0}
.glass-card{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.84));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.card-header-soft{background:linear-gradient(90deg,#f7faff,#fff);border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;padding:1rem 1.25rem}
.hero-panel{
  position:relative;overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(circle at 86% 10%, rgba(255,255,255,.22), transparent 18%),
    radial-gradient(circle at 12% 90%, rgba(52,211,153,.26), transparent 22%),
    linear-gradient(135deg,#0f2454 0%,#1d4ed8 48%,#0ea5e9 100%);
  color:#fff;
  padding:1.65rem 1.75rem;
  box-shadow:var(--shadow-xl);
}
.hero-panel::before,.hero-panel::after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.hero-panel::before{width:250px;height:250px;right:-68px;top:-80px;background:rgba(255,255,255,.12)}
.hero-panel::after{width:210px;height:210px;left:-70px;bottom:-96px;background:rgba(255,255,255,.10)}
.hero-panel .muted{color:rgba(255,255,255,.82)}
.hero-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  padding:.48rem .82rem;border-radius:999px;
  font-weight:850;font-size:.85rem;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.hero-panel h1{font-size:2.35rem;font-weight:950;letter-spacing:-1px}
.hero-panel h1,.hero-panel h2,.hero-panel h3,.hero-panel p{position:relative;z-index:1}.hero-panel .hero-actions,.hero-panel .hero-stats{position:relative;z-index:1}
.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.9rem;margin-top:1.15rem}
.hero-stat{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(3px);
  border-radius:20px;padding:.95rem 1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.hero-stat .label{font-size:.76rem;color:rgba(255,255,255,.84);font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.hero-stat .value{font-size:1.65rem;font-weight:950;line-height:1.1}
.metric-card{
  position:relative;overflow:hidden;min-height:136px;padding:1.22rem 1.16rem;
  border:1px solid rgba(255,255,255,.85);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,249,255,.92));
  box-shadow:var(--shadow);
}
.metric-card::after{content:"";position:absolute;right:-32px;bottom:-38px;width:136px;height:136px;border-radius:999px;background:rgba(37,99,235,.11)}
.metric-card::before{content:"";position:absolute;left:0;top:0;height:100%;width:7px;background:linear-gradient(180deg,var(--brand-2),var(--brand-3))}
.metric-card .label{font-size:.79rem;color:#53657c;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.metric-card .value{font-size:2.25rem;line-height:1;font-weight:950;color:#0c2548;margin-top:.75rem;letter-spacing:-.05em}
.metric-card .hint{font-size:.82rem;color:#7b8aa0;margin-top:.3rem}
.metric-card .icon{position:absolute;right:1.05rem;top:1rem;font-size:1.75rem;opacity:.32}
.metric-card.success::before{background:linear-gradient(180deg,#10b981,#34d399)} .metric-card.success::after{background:rgba(16,185,129,.14)}
.metric-card.warning::before{background:linear-gradient(180deg,#f59e0b,#fbbf24)} .metric-card.warning::after{background:rgba(245,158,11,.18)}
.metric-card.danger::before{background:linear-gradient(180deg,#ef4444,#fb7185)} .metric-card.danger::after{background:rgba(239,68,68,.14)}
.metric-card.info::before{background:linear-gradient(180deg,#06b6d4,#22d3ee)} .metric-card.info::after{background:rgba(6,182,212,.15)}
.metric-card.purple::before{background:linear-gradient(180deg,#8b5cf6,#7c3aed)} .metric-card.purple::after{background:rgba(124,58,237,.14)}
.section-title{font-size:1.18rem;font-weight:950;margin:0;letter-spacing:-.035em;color:#172033}.section-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#7c8aa5;font-weight:950;margin-bottom:.28rem}
.table-wrap,.panel-wrap{border-radius:24px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);padding:1rem;overflow:auto}
.table{vertical-align:middle}.table thead th{font-size:.77rem;text-transform:uppercase;letter-spacing:.055em;color:#344054;background:#f6f9fe;border-bottom:1px solid var(--line);padding:.86rem .75rem}.table tbody td{padding:.82rem .75rem}.table tbody tr:hover{background:#f9fbff}
.filter-input{border-radius:15px;border-color:#d0d7e2;padding:.72rem .98rem;background:#fff}
.btn{border-radius:14px;font-weight:800;box-shadow:none}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#1d4ed8}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#0f2454);border-color:#0f2454}.btn-success{background:linear-gradient(135deg,#10b981,#059669);border-color:#059669}.btn-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#f59e0b;color:#102033}.btn-outline-primary{border-color:var(--brand-2);color:var(--brand)}.btn-outline-primary:hover{background:var(--brand);border-color:var(--brand);color:#fff}.btn-outline-secondary{border-color:#ced6e2;color:#334155}.btn-light{color:#10224a}
.badge{font-weight:850;border-radius:999px;padding:.52em .8em}.badge-soft{background:#edf4fb;color:#24577d}.badge-status-confirmado{background:#128052}.badge-status-reservado,.badge-status-remarcado{background:#2563eb}.badge-status-cancelado_professor,.badge-status-cancelado_secretaria,.badge-status-cancelado_responsavel{background:#ef4444}.badge-status-realizado{background:#7c3aed}.badge-status-nao_compareceu{background:#f59e0b;color:#212529}.badge-status-disponivel{background:#16a34a}.badge-status-bloqueado,.badge-status-cancelado{background:#6b7280}
.form-control,.form-select{border-radius:14px;border-color:#d0d7e2}.form-control:focus,.form-select:focus{border-color:var(--brand-2);box-shadow:0 0 0 .2rem rgba(37,99,235,.16)}
.info-card{border-radius:21px;padding:1rem 1.05rem;background:linear-gradient(180deg,#fff,#fafcff);border:1px solid #dfe8f2;box-shadow:0 12px 24px rgba(20,32,51,.05)}.info-card .title{font-size:.82rem;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.055em}.info-card .text{font-size:1.1rem;font-weight:900;color:#132b4c}
.grid-card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.grid-card .grid-head{padding:1.05rem 1.15rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#fff)}.grid-card .grid-body{padding:1.08rem 1.15rem}
.list-group-item{border-color:#edf2f7!important}.list-group-item:hover{background:#f8fbff}
.chart-card{min-height:260px}.bar-row{display:grid;grid-template-columns:minmax(130px,220px) 1fr auto;gap:.8rem;align-items:center;margin:.7rem 0}.bar-label{font-weight:780;color:#344054;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:14px;border-radius:999px;background:#e8eef8;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#10b981);min-width:3px}.bar-value{font-weight:950;color:#344054;min-width:34px;text-align:right}
.quick-stat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.quick-stat{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:20px;padding:1rem}.quick-stat::after{content:"";position:absolute;right:-22px;bottom:-26px;width:74px;height:74px;border-radius:999px;background:rgba(37,99,235,.10)}.quick-stat .label{font-size:.78rem;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.055em}.quick-stat .value{font-size:1.45rem;font-weight:950;color:#132b4c}
.card-choice{position:relative;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card-choice:hover{transform:translateY(-3px);box-shadow:0 26px 56px rgba(16,24,40,.13);border-color:#b9caf0}.card-choice::before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,#2563eb,#7c3aed,#10b981)}.card-choice .card-body{padding:1.3rem}.eyebrow{font-size:.75rem;letter-spacing:.105em;text-transform:uppercase;font-weight:950;color:#6b7b94}.subject-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .74rem;border-radius:999px;background:#eef3ff;color:#2346a0;font-weight:900;font-size:.82rem}
.empty-state{padding:2rem;border:1px dashed #cbd5e1;border-radius:22px;background:#fbfdff;text-align:center;color:#667085}
.app-footer{margin-top:1rem;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.95));border-top:1px solid rgba(217,227,238,.8)}
.template-editor{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.variable-chip{cursor:pointer;margin:.15rem;border:1px dashed #9db2c6;background:#f8fbff;color:#164b74;border-radius:999px;padding:.25rem .6rem;display:inline-block;font-size:.84rem}.variable-chip:hover{background:#e8f2fb}

/* Login premium */
.login-wrapper{min-height:calc(100vh - 110px);position:relative}
.login-shell{position:relative;overflow:hidden;border-radius:32px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.75)}
.login-brand-panel{position:relative;overflow:hidden;min-height:100%;padding:2rem;background:linear-gradient(145deg,#0f2454,#1d4ed8 62%,#0ea5e9);color:#fff}
.login-brand-panel::before{content:"";position:absolute;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.13);right:-70px;top:-70px}.login-brand-panel::after{content:"";position:absolute;width:160px;height:160px;border-radius:999px;background:rgba(52,211,153,.20);left:-56px;bottom:-56px}
.login-brand-panel > *{position:relative;z-index:1}.app-logo{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#dce9ff);color:#1d4ed8;font-size:1.7rem;box-shadow:0 18px 38px rgba(255,255,255,.16)}
.login-feature{display:flex;gap:.75rem;align-items:flex-start;margin-top:1rem}.login-feature i{font-size:1.2rem;color:#a7f3d0}.login-feature strong{display:block}.login-feature span{color:rgba(255,255,255,.78);font-size:.92rem}
.login-form-panel{padding:2rem}

/* Premium visual helpers */
.kpi-ring{width:74px;height:74px;border-radius:999px;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.22) 72% 100%);box-shadow:inset 0 0 0 8px rgba(255,255,255,.12);font-weight:950}
.premium-divider{height:1px;background:linear-gradient(90deg,transparent,#d7e1ef,transparent);margin:1rem 0}

@media (max-width:991px){main.container-fluid{padding-left:1rem!important;padding-right:1rem!important}.page-title{font-size:1.72rem}.hero-panel{border-radius:24px;padding:1.25rem}.hero-panel h1{font-size:1.72rem}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card .value{font-size:1.85rem}.bar-row{grid-template-columns:1fr auto}.bar-track{grid-column:1 / -1}.login-brand-panel{display:none}.login-form-panel{padding:1.35rem}}
@media print{.navbar,.btn,.no-print,.filter-input,footer{display:none!important}body{background:#fff}body::before{display:none}.app-card,.table-wrap,.card,.grid-card,.hero-panel{box-shadow:none;border:1px solid #ccc}.container-fluid{padding:0!important}.table-wrap{padding:0;border:0}.hero-panel{color:#111;background:#fff}.hero-panel .muted{color:#333}.hero-chip,.hero-stat{background:#fff;color:#111;border:1px solid #ccc}}
