:root{
  --bg:#0b1420; --card:#111c2b; --card2:#0f1826; --line:#22384f; --text:#e6edf3; --muted:#8ea3b8;
  --brand:#2f8fd0; --brand2:#1f6fb0; --good:#2e9e4f; --warn:#f0a020; --bad:#d9463b; --accent:#7c5cff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Segoe UI',Roboto,Arial,sans-serif;font-size:15px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1400px;margin:0 auto;padding:22px}
header.top{background:linear-gradient(120deg,#0d3a63,#123457);padding:16px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
header.top .brand{font-size:20px;font-weight:800;display:flex;align-items:center;gap:8px}
header.top .brand span{font-size:12px;font-weight:600;color:#bcd6ec;display:block}
.userbox{display:flex;align-items:center;gap:10px;font-size:13px}
.userbox .av{width:34px;height:34px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800}
nav.mainnav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
nav.mainnav a{padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-weight:700;font-size:13.5px;color:var(--text)}
nav.mainnav a:hover{border-color:var(--brand);text-decoration:none}
nav.mainnav a.ativo{background:var(--brand);border-color:var(--brand);color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.metric b{font-size:28px;display:block}
.metric small{color:var(--muted)}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.3px}
.btn{display:inline-block;padding:9px 16px;border-radius:9px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-weight:700;cursor:pointer;font-size:13.5px}
.btn:hover{border-color:var(--brand);text-decoration:none}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand2)}
.btn-sm{padding:5px 10px;font-size:12px}
.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn-ghost{background:transparent}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:800}
.pill-green{background:rgba(46,158,79,.18);color:#5fd685}
.pill-orange{background:rgba(240,160,32,.18);color:#f5b94a}
.pill-red{background:rgba(217,70,59,.18);color:#ff8f85}
.pill-blue{background:rgba(47,143,208,.18);color:#7fc4ef}
.pill-gray{background:rgba(142,163,184,.18);color:var(--muted)}
form.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
form.formgrid .full{grid-column:1/-1}
label{font-weight:700;font-size:13px;display:block;margin-bottom:5px;color:var(--muted)}
input,select,textarea{width:100%;padding:10px;border-radius:9px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-size:14px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand)}
input[type=checkbox]{width:auto;display:inline-block;vertical-align:middle;margin-right:6px}
.msgs{margin:10px 0}
.msg{padding:11px 14px;border-radius:10px;margin-bottom:8px;font-size:13.5px;font-weight:600}
.msg-success{background:rgba(46,158,79,.15);color:#5fd685;border:1px solid rgba(46,158,79,.3)}
.msg-error{background:rgba(217,70,59,.15);color:#ff8f85;border:1px solid rgba(217,70,59,.3)}
.msg-warning{background:rgba(240,160,32,.15);color:#f5b94a;border:1px solid rgba(240,160,32,.3)}
.searchbar{display:flex;gap:10px;margin-bottom:14px}
.searchbar input{flex:1}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:17px;margin:0 0 12px}
.subtitle{color:var(--muted);font-size:13.5px;margin-bottom:16px}
.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.dente{width:46px;height:56px;border-radius:8px;border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:800;cursor:pointer;background:var(--card2)}
.dente small{font-weight:600;font-size:9px;color:var(--muted)}
.arcada{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.dente-saudavel{border-color:var(--good)}
.dente-carie{border-color:var(--bad);background:rgba(217,70,59,.15)}
.dente-restaurado{border-color:var(--brand)}
.dente-tratamento_canal{border-color:var(--accent);background:rgba(124,92,255,.15)}
.dente-coroa{border-color:#c9930f}
.dente-extraido{border-color:var(--muted);background:rgba(142,163,184,.15);opacity:.5}
.dente-implante{border-color:#0fb5c9}
.dente-fraturado{border-color:var(--bad)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.tabs a{padding:9px 14px;border-radius:10px 10px 0 0;color:var(--muted);font-weight:700;font-size:13.5px}
.tabs a.ativo{background:var(--card);color:var(--text);border:1px solid var(--line);border-bottom-color:var(--card)}
.login-wrap{max-width:380px;margin:80px auto;padding:0 16px}
.baixo{color:#ff8f85;font-weight:800}
@media(max-width:750px){form.formgrid{grid-template-columns:1fr}}
/* ===== OdontoGestão 2026 — interface clínica moderna ===== */
:root{--bg:#f4f8fb;--card:#fff;--card2:#f7fafc;--line:#e5edf4;--text:#102a4c;--muted:#6d819c;--brand:#08aaa9;--brand2:#078f9c;--good:#16b978;--warn:#e8a51d;--bad:#ed4b5f;--accent:#2388e8}
body{background:var(--bg);color:var(--text);font-family:Inter,'Segoe UI',Arial,sans-serif}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:258px;background:linear-gradient(180deg,#143a55,#0d2e48);padding:24px 14px;color:#fff;z-index:20;display:flex;flex-direction:column}
.side-brand{display:flex;align-items:center;gap:10px;padding:0 14px 25px}.side-brand .tooth{font-size:48px;line-height:.8;color:#18c3c0;transform:rotate(-15deg)}.side-brand strong{font-size:21px}.side-brand small{display:block;color:#a9c2d3;margin-top:5px;font-size:11px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{color:#c9d8e5;padding:12px 17px;border-radius:9px;font-weight:500;font-size:14px;display:flex;gap:13px;align-items:center}.side-nav a:hover,.side-nav a.ativo{background:linear-gradient(90deg,#04a6b4,#0ec3b4);color:#fff;text-decoration:none}.side-quote{margin-top:auto;background:rgba(53,142,188,.24);border-radius:14px;text-align:center;padding:18px 12px}.side-quote .mini-tooth{font-size:40px}.side-quote b{display:block;font-size:14px;margin:6px}.side-quote small{font-size:11px;color:#bcd1df;line-height:1.5;display:block}
.topbar-new{position:fixed;top:0;left:258px;right:0;height:72px;background:#fff;border-bottom:1px solid var(--line);z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.global-search{width:min(510px,45vw);position:relative}.global-search span{position:absolute;left:16px;top:8px;font-size:25px;color:#7890aa}.global-search input{background:#f7fafc;border:1px solid #edf2f6;color:var(--text);padding:12px 15px 12px 45px;border-radius:8px}.top-actions{display:flex;align-items:center;gap:20px;color:#173a60}.bell{position:relative}.bell i{position:absolute;top:-8px;right:-8px;background:#ee4d60;color:white;border-radius:50%;font-size:9px;padding:2px 5px}.profile{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:18px}.avatar,.patient-dot{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:#dff4f3;color:#087f87}.avatar{width:38px;height:38px}.profile b,.profile small{display:block}.profile b{font-size:13px}.profile small{font-size:11px;color:var(--muted);margin-top:3px}.logout{font-size:12px}
.page-shell{margin-left:258px;padding:98px 28px 30px;max-width:none}.page-shell.guest{margin-left:0;padding-top:30px}.welcome{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.welcome h1{font-size:31px;font-style:italic;color:#0f2a4d}.welcome p{color:var(--muted);margin:6px 0}.motto{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:20px;color:#52789e;line-height:1.35;margin-right:18%}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.dash-card,.card{background:#fff;border:1px solid #edf2f6;box-shadow:0 5px 20px rgba(30,75,110,.055);border-radius:12px}.metric-new{padding:18px;display:flex;align-items:center;gap:13px}.metric-new b{display:block;font-size:24px;color:#122f55}.metric-new small{display:block;color:#536d89;font-size:12px;margin-top:3px}.metric-new em,.metric-new a{font-style:normal;font-size:10px;color:#7f94aa;display:block;margin-top:9px}.metric-new a{color:#e64d60}.metric-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px}.metric-icon.blue{background:#e4f3ff;color:#2388e8}.metric-icon.cyan{background:#dff5ff;color:#2d9de0}.metric-icon.teal{background:#ddf7f3;color:#079b91}.metric-icon.amber{background:#fff2d8;color:#d69617}
.dashboard-main{display:grid;grid-template-columns:1.45fr 1fr .8fr;gap:16px;align-items:start}.dash-card{padding:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.card-head h2,.dash-card h2{font-size:15px;margin:0;color:#122f55}.card-head>span,.card-head>a{font-size:11px;color:var(--brand2)}.appt{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;margin:8px 0;min-height:53px;padding:7px 9px}.appt-time{width:48px;font-size:13px}.patient-dot{width:34px;height:34px;flex:0 0 34px}.appt-info{min-width:0;flex:1}.appt-info strong,.appt-info small,.next-patient strong,.next-patient small{display:block}.appt-info strong,.next-patient strong{font-size:12px}.appt-info small,.next-patient small{font-size:10px;color:var(--muted);margin-top:3px}.status{font-size:9px;padding:5px 9px;border-radius:999px;background:#eef3f7;color:#73869b;white-space:nowrap}.s-concluido{background:#ddf7ea;color:#118e5b}.s-em_atendimento{background:#e0f1ff;color:#197ec7}.s-confirmado{background:#ddf7ea;color:#118e5b}.s-agendado{background:#eef3f7}.s-faltou,.s-cancelado{background:#ffe5e9;color:#d83d52}.dots{font-size:20px;color:#6e86a0}.text-link{display:block;text-align:right;font-size:11px;margin-top:9px}.next-patient{display:grid;grid-template-columns:34px 42px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px;margin:8px 0}.next-patient>b{font-size:12px}.right-stack{display:grid;gap:16px}.cal-title{text-align:center;margin:4px 0 14px}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);font-size:10px;text-align:center;color:var(--muted)}.cal-placeholder{text-align:center;padding:20px}.cal-placeholder strong{background:var(--brand);color:#fff;border-radius:8px;padding:8px;display:inline-block}.cal-placeholder small{display:block;margin-top:8px;color:var(--muted)}.new-appt{display:block;background:var(--brand);color:white!important;text-align:center;padding:11px;border-radius:7px;font-size:12px}.tasks label{font-weight:400;color:#36526f;border-top:1px solid #f0f3f6;padding:11px 0;margin:0;font-size:11px}.tasks input{width:auto}.bottom-grid{display:grid;grid-template-columns:.8fr .9fr 1.1fr;gap:16px;margin-top:16px}.revenue>b{font-size:20px;display:block;margin:22px 18px}.bars{height:85px;display:flex;align-items:flex-end;gap:16px;padding:0 20px}.bars i{display:block;flex:1;background:linear-gradient(var(--brand),var(--brand2));border-radius:4px 4px 0 0}.months{display:flex;justify-content:space-around;color:var(--muted);font-size:9px;margin-top:6px}.proc{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);font-size:11px}.donut{width:95px;height:95px;border:15px solid #dfeaf4;border-top-color:var(--brand);border-right-color:var(--brand2);border-radius:50%;display:grid;place-items:center;margin:18px auto}.muted,.empty{color:var(--muted);font-size:11px;text-align:center;padding:16px}.stock-row{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.stock-row strong{font-size:11px}.stock-row em{font-style:normal;background:#ffe6ea;color:#dd3f54;border-radius:999px;padding:5px 8px}.stock-icon{background:#e3f4f4;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;color:var(--brand)}
/* harmoniza telas internas antigas com o novo shell */
.card{padding:18px}.grid{gap:14px}h1{color:#122f55}h2{color:#173a60}.subtitle{color:var(--muted)}table{color:#284662}th,td{border-color:var(--line)}th{color:#6f849a}.btn{background:#fff;color:#244c70;border-color:#dce6ee}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}input,select,textarea{background:#fff;color:#193957;border-color:#dce6ee}.pill-green{background:#ddf7ea;color:#118e5b}.pill-orange{background:#fff1d6;color:#b7790b}.pill-red{background:#ffe5e9;color:#d83d52}.pill-blue{background:#e0f1ff;color:#197ec7}.login-wrap{margin-top:80px}
@media(max-width:1150px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main{grid-template-columns:1fr 1fr}.right-stack{grid-column:1/-1;grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr 1fr}.stock{grid-column:1/-1}.motto{margin-right:0}}
@media(max-width:780px){.sidebar{width:72px;padding:18px 8px}.side-brand>div:not(.tooth),.side-nav span,.side-quote{display:none}.side-brand{padding:0 5px 20px}.side-brand .tooth{font-size:38px}.side-nav a{justify-content:center;padding:13px}.topbar-new{left:72px;padding:0 12px}.page-shell{margin-left:72px;padding:88px 12px 20px}.profile>div:not(.avatar),.logout,.motto{display:none}.global-search{width:55vw}.metric-grid,.dashboard-main,.bottom-grid,.right-stack{grid-template-columns:1fr}.right-stack,.stock{grid-column:auto}.welcome h1{font-size:24px}}

/* Login moderno */
.page-shell.guest{margin:0;padding:0;min-height:100vh}.modern-login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.login-hero{position:relative;overflow:hidden;padding:48px 8%;display:flex;flex-direction:column;background:linear-gradient(145deg,#103c59 0%,#0d5166 52%,#08a7a5 100%);color:#fff}.login-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:90px solid rgba(255,255,255,.045);right:-210px;bottom:-230px}.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.login-tooth{font-size:44px}.login-brand strong{display:block;font-size:25px}.login-brand span{display:block;font-size:12px;color:#bde4e5;margin-top:3px}.hero-copy{margin:auto 0;max-width:620px;position:relative;z-index:1}.hero-pill,.welcome-label{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.6px}.hero-pill{background:rgba(255,255,255,.13);padding:8px 12px;border-radius:999px}.hero-copy h1{font-size:45px;line-height:1.12;color:#fff;margin:20px 0 18px}.hero-copy h1 em{color:#70e1d8;font-style:normal}.hero-copy p{font-size:16px;line-height:1.7;color:#d0e6ea;max-width:540px}.hero-feature{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.18);padding-top:22px}.hero-feature b,.hero-feature small{display:block}.hero-feature small{color:#c7e0e5;margin-top:7px}.login-panel{display:grid;place-items:center;padding:40px;background:#f8fbfd}.login-box{width:min(430px,100%);background:#fff;padding:42px;border-radius:20px;box-shadow:0 18px 60px rgba(26,73,105,.10);border:1px solid #eaf1f5}.mobile-brand{display:none}.welcome-label{color:#08aaa9}.login-box h2{font-size:30px;margin:9px 0 8px;color:#102f52}.login-box>p{color:#74899d;margin:0 0 28px}.login-box label{color:#36536d;margin:16px 0 7px}.login-input{display:flex;align-items:center;border:1px solid #dce7ee;border-radius:10px;background:#fbfdfe;padding-left:13px}.login-input:focus-within{border-color:#08aaa9;box-shadow:0 0 0 3px rgba(8,170,169,.10)}.login-input input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent;padding:13px 12px}.login-button{width:100%;border:0;border-radius:10px;background:linear-gradient(90deg,#079fa8,#0ac0b0);color:#fff;font-weight:800;font-size:14px;padding:14px;margin-top:24px;cursor:pointer;box-shadow:0 8px 22px rgba(8,170,169,.22)}.login-error{background:#fff0f2;border:1px solid #ffd5db;color:#c83e50;padding:11px 13px;border-radius:9px;font-size:12px;margin-bottom:16px}.login-foot{text-align:center;color:#94a6b6;font-size:11px;border-top:1px solid #edf2f5;margin-top:28px;padding-top:18px}@media(max-width:850px){.modern-login{grid-template-columns:1fr}.login-hero{display:none}.login-panel{min-height:100vh;padding:20px}.mobile-brand{display:block;text-align:center;font-size:21px;margin-bottom:25px}.login-box{padding:30px 24px}}
/* Notificações e modo escuro */
.icon-button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer;padding:7px;border-radius:9px;line-height:1}.icon-button:hover{background:#eef5f8}.notify-wrap{position:relative}.notify-menu{display:none;position:absolute;right:-55px;top:43px;width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(20,58,90,.18);overflow:hidden;z-index:100}.notify-menu.open{display:block}.notify-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.notify-head small{color:var(--muted)}.notify-item{display:flex;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);color:var(--text)!important}.notify-item:hover{background:#f7fbfc}.notify-item>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f6f6}.notify-item b,.notify-item small{display:block}.notify-item b{font-size:12px}.notify-item small{font-size:10px;color:var(--muted);margin-top:3px}.notify-danger>span{background:#ffe8ec;color:#d83d52}.notify-warning>span{background:#fff2d8;color:#b7790b}.notify-success>span{background:#ddf7ea;color:#118e5b}.notify-empty{padding:25px 17px;text-align:center;color:var(--muted);font-size:12px}
html[data-theme="dark"]{--text:#dce8f3;--muted:#8fa7bd;--line:#263d51;background:#0d1722;color-scheme:dark}html[data-theme="dark"] body,html[data-theme="dark"] .page-shell{background:#0d1722;color:#dce8f3}html[data-theme="dark"] .topbar-new,html[data-theme="dark"] .dash-card,html[data-theme="dark"] .card,html[data-theme="dark"] .notify-menu,html[data-theme="dark"] .login-box{background:#142332;border-color:#263d51}html[data-theme="dark"] .global-search input,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0f1d2a;color:#dce8f3;border-color:#2a4257}html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] .card-head h2,html[data-theme="dark"] .metric-new b,html[data-theme="dark"] .welcome h1,html[data-theme="dark"] .profile b{color:#e5f1fa}html[data-theme="dark"] .appt,html[data-theme="dark"] .next-patient{border-color:#263d51}html[data-theme="dark"] .notify-item{color:#dce8f3!important}html[data-theme="dark"] .notify-item:hover,html[data-theme="dark"] .icon-button:hover{background:#1a3042}html[data-theme="dark"] table{color:#dce8f3}html[data-theme="dark"] .btn{background:#142332;color:#dce8f3;border-color:#345069}

.dente-btn{font-family:inherit;color:var(--text);padding:0;appearance:none;-webkit-appearance:none;transition:.18s ease;box-shadow:none}
.dente-btn:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 5px 14px rgba(15,181,201,.18)}
.dente-btn:focus-visible{outline:3px solid rgba(15,181,201,.28);outline-offset:2px}
.dente-selecionado{border-color:var(--brand)!important;background:rgba(15,181,201,.18)!important;box-shadow:0 0 0 3px rgba(15,181,201,.16);transform:translateY(-2px)}

/* Sidebar com rolagem independente — evita esconder itens em telas baixas */
.sidebar{box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.side-nav{flex:0 0 auto}
.side-quote{margin-top:18px;flex:0 0 auto;margin-bottom:4px}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:999px}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.42)}

/* Logout via POST - compatível com Django 5+ */
.logout-form{margin:0}.logout-button{background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;font-size:12px}

/* Administração técnica comercial */
.tech-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.tech-head h1{margin:5px 0 6px;font-size:28px}.tech-head p{margin:0;color:var(--muted)}.tech-kicker,.tech-card-body>span,.tech-panel-head span{font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--brand2)}.tech-online{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:11px;font-weight:700}.tech-online i{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(22,185,120,.12)}
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.tech-card{position:relative;display:flex;gap:13px;min-height:135px;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 5px 20px rgba(30,75,110,.055)}.tech-card-icon{width:43px;height:43px;flex:0 0 43px;border-radius:12px;display:grid;place-items:center;font-size:20px}.tech-card-icon.clinic{background:#e4f3ff}.tech-card-icon.license{background:#fff2d8}.tech-card-icon.offline{background:#ddf7ea;color:#118e5b}.tech-card-icon.version{background:#e8e9ff}.tech-card-body{min-width:0}.tech-card-body h2{font-size:17px;margin:6px 0 5px}.tech-card-body p,.tech-card-body small{display:block;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.tech-card-body small{margin-top:5px}.tech-badge{position:absolute;right:12px;top:12px;font-size:8px;font-weight:900;padding:5px 7px;border-radius:999px}.tech-badge.ok{background:#ddf7ea;color:#118e5b}.tech-badge.warn{background:#fff2d8;color:#ad7309}
.tech-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.tech-panel{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:0 5px 20px rgba(30,75,110,.045)}.tech-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.tech-panel-head h2{font-size:16px;margin:5px 0 0}.tech-shield{font-size:22px!important;letter-spacing:0!important;color:var(--brand)!important}.tech-info-row{display:flex;justify-content:space-between;gap:18px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:12px}.tech-info-row:last-child{border-bottom:0}.tech-info-row>span{color:var(--muted)}.tech-info-row strong{text-align:right}.tech-code{font-family:Consolas,monospace;font-size:10px;word-break:break-all}.tech-good{color:var(--good)}
.tech-actions-panel{margin-bottom:16px}.tech-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:15px}.tech-action{border:1px solid var(--line);border-radius:12px;padding:15px;color:var(--text)!important;background:var(--card2);transition:.18s ease}.tech-action:hover{transform:translateY(-2px);border-color:var(--brand);text-decoration:none;box-shadow:0 7px 18px rgba(8,170,169,.08)}.tech-action b,.tech-action small{display:block}.tech-action b{font-size:12px}.tech-action small{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.45}.tech-notice{display:flex;gap:12px;align-items:flex-start;border:1px solid #cfe7e5;background:#eef9f8;border-radius:13px;padding:15px;color:#245a5d}.tech-notice>span{font-size:22px}.tech-notice b{font-size:12px}.tech-notice p{font-size:10px;margin:4px 0 0;line-height:1.5}
html[data-theme="dark"] .tech-card,html[data-theme="dark"] .tech-panel,html[data-theme="dark"] .tech-online{background:#142332}html[data-theme="dark"] .tech-action{background:#0f1d2a}html[data-theme="dark"] .tech-notice{background:#112b2c;border-color:#245052;color:#bfe3df}
@media(max-width:1200px){.tech-grid{grid-template-columns:repeat(2,1fr)}.tech-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.tech-head{align-items:flex-start;gap:12px}.tech-online{display:none}.tech-grid,.tech-columns,.tech-actions{grid-template-columns:1fr}.tech-info-row{flex-direction:column;gap:5px}.tech-info-row strong{text-align:left}}

/* ===== Administração Técnica PRO — layout comercial ===== */
.techpro{max-width:1280px;margin:0 auto;color:#15345b}.techpro-titlebar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.techpro-title{display:flex;align-items:center;gap:16px}.techpro-bigicon{width:58px;height:58px;border-radius:16px;background:#e7f2ff;color:#1672d2;display:grid;place-items:center;font-size:31px}.techpro-title h1{font-size:31px;line-height:1.1;color:#0c2c57;margin:0 0 5px}.techpro-title p{margin:0;color:#315986;font-size:14px}.techpro-protected{min-width:420px;display:flex;gap:13px;align-items:flex-start;background:#eef6ff;border-radius:14px;padding:15px 18px}.techpro-protected>span{font-size:27px}.techpro-protected b,.techpro-protected small{display:block}.techpro-protected b{font-size:14px;margin-bottom:4px}.techpro-protected small{font-size:11px;line-height:1.45;color:#34577e}
.techpro-maincards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.techpro-card{background:#fff;border:1px solid #cfe2f2;border-radius:15px;padding:18px;box-shadow:0 5px 18px rgba(42,91,133,.045);min-height:360px}.techpro-cardhead{display:flex;align-items:center;gap:12px;position:relative;margin-bottom:18px}.techpro-cardhead>div{flex:1}.techpro-cardhead h2{font-size:22px;color:#102f5c;margin:0 0 3px}.techpro-cardhead p{font-size:11px;color:#365b85;margin:0}.techpro-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;font-size:22px}.techpro-icon.blue{background:#e4f2ff;color:#1977db}.techpro-icon.green{background:#dcf8e9;color:#07965d}.techpro-icon.purple{background:#efe7ff;color:#6f35d1}.techpro-mini-btn{background:#1681e8;color:#fff!important;padding:7px 14px;border-radius:9px;font-size:11px;font-weight:800}.techpro-mini-btn:hover{text-decoration:none}.techpro-status{font-size:10px;font-weight:800;padding:7px 12px;border-radius:999px;white-space:nowrap}.techpro-status.warn{background:#ffe5aa;color:#664000}.techpro-lines>div{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;min-height:35px;font-size:12px}.techpro-lines span{color:#2c5683}.techpro-lines strong{color:#102e58}.techpro-lines.compact>div{grid-template-columns:130px 1fr}.techpro-green{color:#078d58!important}.techpro-license-btn{display:block;text-align:center;background:#08a964;color:#fff!important;border-radius:9px;padding:13px;margin-top:13px;font-weight:800;font-size:13px}.techpro-license-btn:hover{text-decoration:none;background:#078f56}.techpro-codeblock{margin:8px 0 15px}.techpro-codeblock>span{display:block;font-size:11px;color:#315982;margin-bottom:7px}.techpro-codeblock>div{display:flex;gap:7px}.techpro-codeblock code{flex:1;overflow:hidden;text-overflow:ellipsis;background:#eaf4ff;border:1px solid #d1e3f3;padding:11px;border-radius:9px;color:#153c70;font-size:11px;white-space:nowrap}.techpro-codeblock button{border:1px solid #cfe0f1;background:#f4f9ff;color:#146ac0;border-radius:9px;width:38px;cursor:pointer}
.techpro-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}.techpro-tool{display:flex;flex-direction:column;min-height:182px;background:#fff;border:1px solid #d4e5f2;border-radius:14px;padding:16px;color:#15345b!important;box-shadow:0 5px 18px rgba(42,91,133,.04)}.techpro-tool:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px rgba(42,91,133,.08)}.techpro-tool>div{margin-top:9px;flex:1}.techpro-tool h3{font-size:15px;margin:0 0 6px;color:#102e58}.techpro-tool p{font-size:11px;line-height:1.45;color:#315982;margin:0}.techpro-tool>b{display:flex;justify-content:space-between;align-items:center;background:#e5f2ff;color:#0b6dcc;padding:11px 14px;border-radius:9px;font-size:12px}.techpro-tool>b.greenbtn{background:#dff8e9;color:#087e4f}.techpro-tool>b.purplebtn{background:#efe4ff;color:#5d20b8}.techpro-tool i{font-size:22px;font-style:normal;line-height:10px}.techpro-ready{display:flex;align-items:center;gap:14px;background:#eef6ff;border-radius:14px;margin-top:20px;padding:15px 18px}.techpro-ready>div:nth-child(2){min-width:330px}.techpro-ready h3{font-size:14px;margin:0 0 4px}.techpro-ready p{font-size:11px;margin:0;color:#34577e}.techpro-checks{margin-left:auto;display:flex;gap:18px;background:#fff;border-radius:10px;padding:12px 16px;font-size:10px;color:#163b66}.techpro-checks span::first-letter{color:#08a964}.techpro-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 2px 4px;font-size:10px;color:#42658b}
html[data-theme="dark"] .techpro{color:#dce8f3}html[data-theme="dark"] .techpro-title h1,html[data-theme="dark"] .techpro-cardhead h2,html[data-theme="dark"] .techpro-lines strong,html[data-theme="dark"] .techpro-tool h3{color:#e6f1fa}html[data-theme="dark"] .techpro-title p,html[data-theme="dark"] .techpro-cardhead p,html[data-theme="dark"] .techpro-lines span,html[data-theme="dark"] .techpro-tool p{color:#9cb3c8}html[data-theme="dark"] .techpro-card,html[data-theme="dark"] .techpro-tool,html[data-theme="dark"] .techpro-checks{background:#142332;border-color:#294359}html[data-theme="dark"] .techpro-protected,html[data-theme="dark"] .techpro-ready{background:#122b42;color:#dce8f3}html[data-theme="dark"] .techpro-protected small,html[data-theme="dark"] .techpro-ready p{color:#9cb3c8}
@media(max-width:1180px){.techpro-maincards{grid-template-columns:1fr 1fr}.install-card{grid-column:1/-1}.techpro-tools{grid-template-columns:1fr 1fr}.techpro-checks{flex-wrap:wrap}.techpro-protected{min-width:340px}}@media(max-width:760px){.techpro-titlebar,.techpro-ready,.techpro-footer{flex-direction:column;align-items:flex-start}.techpro-protected{min-width:0;width:100%}.techpro-maincards,.techpro-tools{grid-template-columns:1fr}.install-card{grid-column:auto}.techpro-card{min-height:0}.techpro-checks{margin-left:0}.techpro-title h1{font-size:25px}}

/* WhatsApp: mantém o visual do sistema sem depender de API. */
.btn-whatsapp{font-weight:700}

.btn-whatsapp{font-weight:700;background:#16a34a;color:#fff;border-color:#16a34a}
.btn-whatsapp:hover{background:#15803d;color:#fff;border-color:#15803d}
.btn-whatsapp-disabled{font-weight:700;opacity:.55;cursor:not-allowed}

/* Identidade oficial OdontoGestão v1.0.3 */
.side-brand .brand-mark{width:48px;height:48px;border-radius:13px;box-shadow:0 8px 22px rgba(0,199,217,.18);flex:0 0 auto}.side-brand strong{letter-spacing:-.3px}.login-brand{width:min(560px,92%)}.login-brand-logo{display:block;width:min(520px,100%);height:auto}.mobile-brand img{width:38px;height:38px;border-radius:10px;vertical-align:middle;margin-right:8px}.login-hero{background:radial-gradient(circle at 18% 22%,rgba(0,199,217,.24),transparent 30%),linear-gradient(145deg,#062b4c 0%,#064d78 55%,#008fa5 100%)}.login-button{background:linear-gradient(90deg,#0873d8,#00b9d1)}.hero-copy h1 em{color:#4ce4eb}.hero-pill{border:1px solid rgba(255,255,255,.14)}
@media(max-width:780px){.side-brand .brand-mark{width:42px;height:42px}.side-brand>div:not(.brand-mark){display:none}}


/* ===== OdontoGestão v1.0.6 — Dark Mode global ===== */
html[data-theme="dark"] .report-head,
html[data-theme="dark"] .stats .stat{
  background:#142332 !important;
  color:#dce8f3 !important;
  border-color:#294359 !important;
  box-shadow:0 5px 20px rgba(0,0,0,.12);
}
html[data-theme="dark"] .report-head{border-bottom-color:#08aaa9 !important}
html[data-theme="dark"] .report-head h2,
html[data-theme="dark"] .report-head p,
html[data-theme="dark"] .report-head b,
html[data-theme="dark"] .report-head small,
html[data-theme="dark"] .report-head>div:last-child,
html[data-theme="dark"] .stats .stat b{color:#e6f1fa !important}
html[data-theme="dark"] .stats .stat span{color:#9cb3c8 !important}
html[data-theme="dark"] table tr{background:transparent}
html[data-theme="dark"] table tbody tr:hover{background:#182b3c}
html[data-theme="dark"] th{color:#9cb3c8;background:#10202e}
html[data-theme="dark"] td{color:#dce8f3}
html[data-theme="dark"] .formgrid,
html[data-theme="dark"] details,
html[data-theme="dark"] summary{color:#dce8f3}

/* A tela/PDF impresso permanece clara mesmo quando o usuário usa tema escuro. */
@media print{
  html[data-theme="dark"],html[data-theme="dark"] body{background:#fff !important;color:#111827 !important;color-scheme:light}
  html[data-theme="dark"] .report-head,html[data-theme="dark"] .stats .stat,html[data-theme="dark"] .card{background:#fff !important;color:#111827 !important;border-color:#dbe4ec !important}
  html[data-theme="dark"] .report-head h2,html[data-theme="dark"] .report-head p,html[data-theme="dark"] .report-head b,html[data-theme="dark"] .report-head small,html[data-theme="dark"] .report-head>div:last-child,html[data-theme="dark"] .stats .stat b,html[data-theme="dark"] td{color:#111827 !important}
  html[data-theme="dark"] .stats .stat span,html[data-theme="dark"] th{color:#64748b !important}
  html[data-theme="dark"] th{background:#f8fafc !important}
}

/* ===== OdontoGestão v1.1.15 — revisão visual e usabilidade ===== */
:root{--radius:12px;--shadow:0 6px 22px rgba(30,75,110,.06)}
.card,.dash-card{border-radius:14px;box-shadow:var(--shadow)}
.card{padding:20px}
.topbar{gap:14px}.topbar h1{letter-spacing:-.35px}
h1{font-size:24px;line-height:1.2;color:#102f55}h2{color:#17395f}.subtitle{line-height:1.5}
.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s ease;box-shadow:none}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
input,select,textarea{min-height:40px;transition:border-color .15s,box-shadow .15s;background:var(--card2)}
textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(8,170,169,.12)}
label{color:#526d89;margin-bottom:6px}.searchbar{align-items:center;flex-wrap:wrap}.searchbar .btn{flex:0 0 auto}
table{font-size:13.5px}th{background:#f8fafc;white-space:nowrap}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fbfd}td{line-height:1.4}
.msg{border-radius:12px;padding:12px 15px;box-shadow:0 3px 12px rgba(20,50,80,.04)}
.pill{padding:4px 10px;line-height:1.25}
.side-nav{overflow-y:auto;padding-right:2px}.side-nav::-webkit-scrollbar{width:4px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
.side-nav a{transition:background .15s,color .15s,transform .15s}.side-nav a:hover{transform:translateX(2px)}
.icon-button{border:0;background:transparent;cursor:pointer;border-radius:9px;min-width:36px;min-height:36px}.icon-button:hover{background:#f1f6f9}
.logout-button{border:0;background:transparent;color:#526d89;cursor:pointer;font-weight:700;padding:8px;border-radius:8px}.logout-button:hover{background:#f3f7fa;color:#ed4b5f}
/* leitura confortável em telas menores */
@media(max-width:1050px){.sidebar{width:220px}.topbar-new{left:220px}.page-shell{margin-left:220px}.side-nav a{padding:11px 13px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main{grid-template-columns:1fr 1fr}.dashboard-main>*:last-child{grid-column:1/-1}}
@media(max-width:780px){.sidebar{position:fixed;width:72px;padding:18px 9px}.side-brand{padding:0 6px 20px;justify-content:center}.side-brand>div{display:none}.side-nav a{justify-content:center;padding:12px 8px;font-size:18px}.side-nav a span{display:none}.side-quote{display:none}.topbar-new{left:72px;padding:0 14px;height:64px}.page-shell{margin-left:72px;padding:84px 14px 22px}.global-search{width:42vw}.profile>div:not(.avatar){display:none}.top-actions{gap:8px}.metric-grid,.dashboard-main{grid-template-columns:1fr}.dashboard-main>*:last-child{grid-column:auto}.welcome{flex-direction:column}.motto{display:none}.card{padding:15px;overflow-x:auto}.topbar{align-items:flex-start}.searchbar{display:grid;grid-template-columns:1fr;width:100%}table{min-width:680px}}
@media(max-width:520px){.global-search{display:none}.topbar-new{justify-content:flex-end}.profile{padding-left:8px}.page-shell{padding-left:10px;padding-right:10px}h1{font-size:21px}.card{border-radius:11px}}
html[data-theme="dark"] h1,html[data-theme="dark"] h2{color:#e6f1fa}html[data-theme="dark"] th{background:#10202e}html[data-theme="dark"] tbody tr:hover{background:#182b3c}html[data-theme="dark"] label{color:#9cb3c8}html[data-theme="dark"] .icon-button:hover,html[data-theme="dark"] .logout-button:hover{background:#182b3c}


/* v1.1.21 - banner de identidade da clínica no Dashboard */
.clinic-hero{position:relative;min-height:230px;margin:0 0 22px;overflow:hidden;border:1px solid #dceaf1;border-radius:18px;display:flex;align-items:center;background:linear-gradient(105deg,#f9fdff 0%,#eefaff 48%,#d9f6fb 100%);box-shadow:0 8px 28px rgba(18,74,108,.07)}
.clinic-hero:before{content:"";position:absolute;right:-80px;top:-170px;width:620px;height:500px;border-radius:50%;border:54px solid rgba(0,177,196,.18);transform:rotate(-16deg)}
.clinic-hero:after{content:"";position:absolute;right:8%;bottom:-185px;width:520px;height:350px;border-radius:50%;border:34px solid rgba(0,102,157,.13);transform:rotate(8deg)}
.clinic-hero-brand{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:32px 48px;max-width:72%}
.clinic-logo-box{width:190px;height:150px;flex:0 0 190px;display:flex;align-items:center;justify-content:center;padding:10px;background:rgba(255,255,255,.72);border-radius:18px;border:1px solid rgba(18,118,155,.10)}
.clinic-logo-box img{display:block!important;width:100%!important;height:100%!important;max-width:170px!important;max-height:130px!important;object-fit:contain!important;object-position:center!important}
.clinic-logo-fallback{font-size:82px;line-height:1}
.clinic-hero-copy small{display:block;color:#587895;font-size:13px;margin-bottom:6px}.clinic-hero-copy h1{margin:0;color:#073b70;font-size:42px;line-height:1.05;letter-spacing:-1.2px;font-style:normal}.clinic-hero-copy strong{display:block;color:#1c567e;letter-spacing:4px;font-size:13px;margin-top:10px}.clinic-hero-copy p{margin:10px 0 0;color:#087d94;font-size:15px;font-weight:700}.clinic-hero-art{position:absolute;z-index:1;right:2%;top:0;width:38%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(0,151,178,.08))}.clinic-hero-art span{font-size:145px;opacity:.10;transform:rotate(-12deg)}
html[data-theme="dark"] .clinic-hero{border-color:#24445a;background:linear-gradient(105deg,#132839 0%,#103448 48%,#0a5060 100%)}html[data-theme="dark"] .clinic-logo-box{background:#fff;border-color:rgba(255,255,255,.15)}html[data-theme="dark"] .clinic-hero-copy small{color:#a9c8d9}html[data-theme="dark"] .clinic-hero-copy h1{color:#f2fbff}html[data-theme="dark"] .clinic-hero-copy strong{color:#8fdce3}html[data-theme="dark"] .clinic-hero-copy p{color:#64d7df}
@media(max-width:1000px){.clinic-hero{min-height:190px}.clinic-hero-brand{max-width:86%;padding:25px 28px;gap:20px}.clinic-logo-box{width:145px;height:120px;flex-basis:145px}.clinic-logo-box img{max-width:125px!important;max-height:100px!important}.clinic-hero-copy h1{font-size:32px}.clinic-hero-art{width:30%}}
@media(max-width:680px){.clinic-hero{min-height:auto}.clinic-hero-brand{max-width:100%;width:100%;padding:22px;gap:16px}.clinic-logo-box{width:100px;height:90px;flex-basis:100px}.clinic-logo-box img{max-width:84px!important;max-height:74px!important}.clinic-hero-copy h1{font-size:25px}.clinic-hero-copy strong{font-size:9px;letter-spacing:2px}.clinic-hero-art{display:none}}

/* v1.1.22 - banner independente da logo de documentos */
.clinic-banner-uploaded{width:100%;height:260px;margin:0 0 22px;border-radius:18px;overflow:hidden;border:1px solid #dceaf1;background:#fff;box-shadow:0 8px 28px rgba(18,74,108,.07)}
.clinic-banner-uploaded img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
html[data-theme="dark"] .clinic-banner-uploaded{border-color:#24445a;background:#102331}
@media(max-width:1000px){.clinic-banner-uploaded{height:210px}}
@media(max-width:680px){.clinic-banner-uploaded{height:150px;border-radius:12px}}

/* v1.1.27 - banner responsivo sem cortes */
.clinic-banner-uploaded{height:auto!important;display:block!important;background:#f4f9fc!important;overflow:visible!important;}
.clinic-banner-uploaded img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;}
@media(max-width:1000px){.clinic-banner-uploaded{height:auto!important}}
@media(max-width:680px){.clinic-banner-uploaded{height:auto!important}}
html[data-theme="dark"] .clinic-banner-uploaded{background:#102331!important;}

/* Aparência personalizável por instalação */
.appearance-page{max-width:1000px;margin:0 auto}.appearance-head>a{font-size:13px}.appearance-head h1{font-size:28px;margin:18px 0 5px}.appearance-head p{color:var(--muted);margin:0 0 20px}.appearance-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(30,75,110,.06)}.color-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 22px}.color-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;color:var(--text);background:var(--card2)}.color-option input{width:auto;margin:0}.color-option span{width:28px;height:28px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}.color-option b{font-size:12px}.custom-color{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.custom-color label{color:var(--text);font-size:14px}.custom-color small{display:block;color:var(--muted);font-size:11px}.custom-color input[type=color]{width:70px;height:44px;padding:3px;cursor:pointer}.appearance-preview{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:22px 0}.preview-sidebar{background:#143a55;color:#fff;padding:18px;display:flex;flex-direction:column;gap:9px}.preview-sidebar strong{font-size:16px;margin-bottom:8px}.preview-sidebar span,.preview-sidebar small{padding:9px 11px;border-radius:8px}.preview-sidebar small{color:#c9d8e5}.preview-content{background:var(--bg);padding:22px}.preview-content button{border:0;border-radius:9px;color:#fff;padding:10px 15px;margin:18px 0}.preview-line{height:13px;background:var(--line);border-radius:8px;margin:10px 0;width:80%}.preview-line.short{width:55%}.appearance-actions{display:flex;gap:10px}@media(max-width:760px){.color-presets{grid-template-columns:repeat(2,1fr)}.appearance-preview{grid-template-columns:1fr}.custom-color{gap:15px}}

/* Aparencia do sistema v2 */
.appearance-page{max-width:980px;margin:0 auto;padding:4px 0 30px}.appearance-head h1{font-size:26px;margin:12px 0 6px}.appearance-card{padding:26px}.appearance-card h2{margin:0 0 5px}.appearance-card .subtitle{margin:0;color:var(--muted)}
.color-presets{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px!important;margin:22px 0!important}.color-option{position:relative!important;display:flex!important;align-items:center!important;gap:11px!important;min-height:62px!important;padding:12px 14px!important;border:2px solid var(--line)!important;border-radius:14px!important;background:var(--card)!important;cursor:pointer!important;transition:.18s ease!important}.color-option:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(20,58,85,.10)}.color-option.selected{border-color:var(--swatch)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 15%,transparent)!important}.color-option input{position:absolute!important;opacity:0!important;pointer-events:none!important}.color-option .color-swatch{display:block!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:10px!important;background:var(--swatch)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)!important}.color-option b{font-size:13px!important}.color-option i{display:none;margin-left:auto;font-style:normal;color:var(--swatch);font-weight:900}.color-option.selected i{display:block}
.custom-color{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--card2)!important}.custom-color label{display:block;font-weight:800!important}.custom-picker{display:flex;align-items:center;gap:10px}.custom-picker input[type=color]{appearance:none;width:58px!important;height:42px!important;padding:2px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--card)!important}.custom-picker code{min-width:78px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:12px}
.appearance-preview{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;min-height:190px!important;margin:22px 0!important;border:1px solid var(--line)!important;border-radius:16px!important;overflow:hidden!important}.preview-sidebar{background:#143a55!important;padding:18px!important}.preview-active{color:#fff!important}.preview-content{position:relative!important;padding:24px!important}.preview-content .preview-button{display:block!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:10px 15px!important;margin:18px 0 10px!important}.preview-link{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700}.appearance-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.appearance-actions .btn{min-height:42px}
@media(max-width:680px){.appearance-card{padding:18px}.color-presets{grid-template-columns:repeat(2,minmax(0,1fr))!important}.custom-color{align-items:flex-start!important;flex-direction:column!important}.appearance-preview{grid-template-columns:1fr!important}.preview-sidebar{min-height:160px}.appearance-actions .btn{flex:1 1 180px}}

/* Aparencia V6 - identidade visual global pela cor da clinica */
/* Elementos de marca usam --brand; cores semanticas (sucesso/erro/alerta) permanecem proprias. */
.cal-placeholder strong{background:var(--brand)!important;color:#fff!important}
.new-appt{background:var(--brand)!important;color:#fff!important}
.new-appt:hover{background:var(--brand2)!important;text-decoration:none!important}
.bars i{background:linear-gradient(180deg,var(--brand),var(--brand2))!important}
.donut{border-top-color:var(--brand)!important;border-right-color:color-mix(in srgb,var(--brand) 70%,#fff)!important}
.stock-icon{background:color-mix(in srgb,var(--brand) 14%,#fff)!important;color:var(--brand)!important}
.metric-icon.teal{background:color-mix(in srgb,var(--brand) 14%,#fff)!important;color:var(--brand)!important}
.card-head>a,.card-head>span,.text-link{color:var(--brand)!important}
.side-brand .tooth{color:var(--brand)!important}
.global-search:focus-within,.login-input:focus-within{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)!important}
.welcome-label{color:var(--brand)!important}
.login-button{background:linear-gradient(90deg,var(--brand2),var(--brand))!important;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 24%,transparent)!important}
/* Destaques decorativos do banner padrao tambem acompanham a identidade */
.clinic-hero:before{border-color:color-mix(in srgb,var(--brand) 20%,transparent)!important}
.clinic-hero:after{border-color:color-mix(in srgb,var(--brand) 14%,transparent)!important}
.clinic-hero-copy p{color:var(--brand2)!important}
.clinic-hero-art{background:linear-gradient(90deg,rgba(255,255,255,0),color-mix(in srgb,var(--brand) 8%,transparent))!important}
