:root{--brand:#175cd3;--accent:#f79009;--ink:#0b1220;--muted:#64748b;--surface:#f5f7fb;--line:#e2e8f0;--panel:#ffffff;--navy:#0f172a;--bs-primary:#175cd3;--bs-primary-rgb:23,92,211}*{box-sizing:border-box}html{background:var(--surface);scroll-behavior:smooth}body{color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--surface);line-height:1.55;-webkit-font-smoothing:antialiased}a,button,input{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease}.btn{border-radius:.75rem;font-weight:650;padding:.65rem 1rem}.btn-lg{padding:.85rem 1.2rem}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#124aa8;--bs-btn-hover-border-color:#124aa8}.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand)}.text-primary{color:var(--brand)!important}.public-navbar{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(226,232,240,.85);backdrop-filter:blur(14px)}.public-navbar .navbar-brand{letter-spacing:-.025em}.public-navbar .nav-link{font-weight:550;color:#334155}.public-footer{background:var(--panel);border-top:1px solid var(--line)}.brand-mark{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.7rem;background:var(--brand);color:#fff;box-shadow:0 .55rem 1.2rem rgba(23,92,211,.22)}.hero{padding:7rem 0 6rem;background:linear-gradient(180deg,#fff 0%,#f8faff 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line)}.hero h1{font-size:clamp(2.5rem,6vw,4.75rem);line-height:1.02;letter-spacing:-.055em}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.hero-eyebrow{display:inline-flex;align-items:center;border:1px solid #dbe7ff;background:#f5f8ff;border-radius:999px;padding:.5rem .75rem}.hero-panel{background:var(--navy);color:#fff;border:1px solid #26344c;border-radius:1.6rem;padding:1.35rem;box-shadow:0 2.2rem 4.5rem rgba(15,23,42,.2);transform:perspective(1200px) rotateY(-2deg)}.window-controls{display:flex;gap:.35rem;margin-bottom:1rem}.window-controls span{width:.55rem;height:.55rem;border-radius:50%;background:#475569}.window-controls span:first-child{background:#fb7185}.window-controls span:nth-child(2){background:#fbbf24}.window-controls span:last-child{background:#34d399}.mini-window{background:#fff;color:var(--ink);border-radius:1rem;padding:1rem}.metric-card,.content-card{border:1px solid var(--line);border-radius:1.15rem;background:var(--panel);box-shadow:0 1px 2px rgba(15,23,42,.04),0 1rem 2.5rem rgba(15,23,42,.035)}.form-control,.form-select{border-color:#cbd5e1;border-radius:.75rem;min-height:3rem}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem rgba(23,92,211,.12)}.form-label{font-weight:650;color:#334155}.metric-card{padding:1.25rem}.metric-value{font-size:1.8rem;font-weight:750;letter-spacing:-.03em}.feature-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;background:#eaf1ff;color:var(--brand);font-size:1.2rem}.dashboard-body{min-height:100vh}.sidebar{width:260px;min-height:calc(100vh - 57px);background:#fff}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;color:#475467;text-decoration:none;border-radius:.65rem;font-weight:600}.sidebar-link:hover,.sidebar-link.active{background:#eaf1ff;color:var(--brand)}.main-content{min-width:0;max-width:1600px}.page-title{font-size:1.65rem;font-weight:750;letter-spacing:-.03em}.table>:not(caption)>*>*{padding:.85rem .75rem;vertical-align:middle}.status{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#ecfdf3;color:#027a48}.status.warning{background:#fffaeb;color:#b54708}.status.neutral{background:#f2f4f7;color:#475467}.form-label{font-weight:600}.section-space{padding:5rem 0}.login-page{min-height:calc(100vh - 155px);display:flex;align-items:center;padding:4rem 0;background:linear-gradient(135deg,#f8faff 0%,#eef4ff 58%,#f8fafc 100%)}.login-display{font-size:clamp(2.5rem,5vw,4rem);line-height:1.05;letter-spacing:-.055em;font-weight:780;text-wrap:balance}.login-copy{font-size:1.1rem;max-width:34rem;color:var(--muted)}.login-benefits{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem;color:#334155;font-weight:600}.login-benefits i{color:var(--brand);margin-right:.5rem}.login-card{border-color:rgba(203,213,225,.8);box-shadow:0 2rem 5rem rgba(15,23,42,.1)}.input-icon{position:relative}.input-icon i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;z-index:2}.input-icon .form-control{padding-left:2.8rem}.login-card .brand-mark{width:3rem;height:3rem;border-radius:.9rem}.dashboard-icon{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.75rem;background:#eef4ff;color:var(--brand)}.quick-link{display:flex;align-items:center;gap:.8rem;padding:.9rem;border:1px solid var(--line);border-radius:.85rem;color:var(--ink);text-decoration:none;background:#fff}.quick-link:hover{border-color:#bfd2f7;background:#f8faff;transform:translateY(-1px)}.quick-link>i:first-child{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.65rem;background:#eef4ff;color:var(--brand)}.quick-link span{display:flex;flex-direction:column}.quick-link small{color:var(--muted)}.appointment-item{display:flex;align-items:center;gap:.9rem;padding:.8rem;border:1px solid var(--line);border-radius:.85rem}.appointment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.5rem;padding:.45rem;border-radius:.65rem;background:#eef4ff;color:var(--brand)}.appointment-date small{font-size:.72rem}.table>thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);background:#f8fafc;border-bottom-color:var(--line);padding:.85rem 1rem}.table>tbody td{padding:1rem;vertical-align:middle}.operation-search{width:min(100%,24rem)}.operation-search .input-group-text{border-color:#cbd5e1;border-radius:.75rem 0 0 .75rem}.operation-search .form-control{border-left:0;border-radius:0 .75rem .75rem 0}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--muted)}@media(max-width:991.98px){.sidebar{min-height:100vh}.hero{padding:4rem 0}.hero-panel{margin-top:2rem}}@media(max-width:575.98px){.main-content{padding:1rem!important}.content-card{border-radius:.8rem}.table{font-size:.875rem}}
/* Refinamento de sombras e enquadramento */
.metric-card,.content-card{box-shadow:0 1px 2px rgba(15,23,42,.06),0 6px 18px -10px rgba(15,23,42,.18);border-color:#e6eaf1}
.content-card{padding:1.5rem;overflow:hidden}
.content-card.table-responsive{padding:0}
.content-card.table-responsive .table>:not(caption)>*>*{padding:.85rem 1.1rem}
.content-card.table-responsive .table thead th{background:#f8fafc;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;color:var(--muted);font-weight:700}
.content-card .table{margin-bottom:0}
.metric-card{padding:1.5rem}
.card-lift{transition:transform .2s ease,box-shadow .2s ease}
.card-lift:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(15,23,42,.06),0 16px 32px -14px rgba(15,23,42,.28)}
.plan-featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),0 16px 36px -16px rgba(23,92,211,.4)}
.eyebrow{display:inline-block;margin-bottom:.15rem}
.page-title{margin-bottom:.1rem}
.table>:not(caption)>*>*{vertical-align:middle}
.modal-content{border:0;border-radius:1rem;box-shadow:0 24px 60px -20px rgba(15,23,42,.5)}
.modal-header,.modal-footer{border-color:var(--line)}
.badge{font-weight:600;padding:.4em .65em}

/* ===== Barra de suporte (impersonação) e pílula de licença ===== */
.impersonation-bar{background:linear-gradient(90deg,#7c2d12,#b45309);color:#fff;font-size:.9rem;font-weight:600;z-index:1030}
.impersonation-bar .btn-light{--bs-btn-color:#7c2d12}
.license-pill{font-size:.8rem;font-weight:700;padding:.5rem .8rem}
#themeToggle{border-radius:.75rem}

/* ===== Tema escuro ===== */
[data-bs-theme="dark"]{--surface:#0b1120;--panel:#111a2d;--line:#26324a;--ink:#e6edf7;--muted:#93a1ba;--bs-body-bg:#0b1120;--bs-body-color:#e6edf7}
[data-bs-theme="dark"] html,[data-bs-theme="dark"] body{background:var(--surface);color:var(--ink)}
[data-bs-theme="dark"] .dashboard-body{background:var(--surface)}
[data-bs-theme="dark"] .sidebar{background:var(--panel)}
[data-bs-theme="dark"] .sidebar-link{color:#aab6cc}
[data-bs-theme="dark"] .sidebar-link:hover{background:rgba(255,255,255,.05);color:#fff}
[data-bs-theme="dark"] .sidebar-link.active{background:rgba(23,92,211,.18);color:#fff}
[data-bs-theme="dark"] .content-card,[data-bs-theme="dark"] .metric-card{background:var(--panel);border-color:var(--line);box-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.55)}
[data-bs-theme="dark"] .content-card.table-responsive .table thead th{background:#0e1728;color:var(--muted);border-color:var(--line)}
[data-bs-theme="dark"] .table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
[data-bs-theme="dark"] .dashboard-icon,[data-bs-theme="dark"] .appointment-date{background:rgba(23,92,211,.2)}
[data-bs-theme="dark"] .appointment-item{border-color:var(--line)}
[data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select{background:#0e1728;border-color:var(--line);color:var(--ink)}
[data-bs-theme="dark"] .form-control::placeholder{color:#6b7891}
[data-bs-theme="dark"] .input-group-text{background:#0e1728;border-color:var(--line);color:var(--muted)}
[data-bs-theme="dark"] .text-secondary{color:#93a1ba!important}
[data-bs-theme="dark"] .btn-light{--bs-btn-bg:#1b2740;--bs-btn-border-color:#26324a;--bs-btn-color:#e6edf7;--bs-btn-hover-bg:#243049;--bs-btn-hover-border-color:#31405e;--bs-btn-hover-color:#fff}
[data-bs-theme="dark"] .modal-content{background:var(--panel);color:var(--ink)}
[data-bs-theme="dark"] .status.neutral{background:#1b2740;color:#aab6cc}
[data-bs-theme="dark"] .navbar.bg-body{background:var(--panel)!important;border-color:var(--line)!important}
