:root{--yellow:#f0b701;--cream:#fff9e5;--ink:#151515;--brown:#7b6757;--mint:#61cba5;--line:#e8dec7;--white:#fff;--muted:#746f66;--danger:#a64a3f;--shadow:0 12px 36px rgba(72,54,12,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fffdf4}a{color:inherit;text-decoration:none}input,select,textarea,button{font:inherit}.topbar{height:78px;background:var(--yellow);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1440px)/2));gap:34px;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.12)}.brand{width:190px;display:flex;align-items:center}.brand img{width:140px;height:auto}.topbar nav{display:flex;gap:8px;flex:1}.topbar nav a{padding:12px 15px;border-radius:12px;font-weight:700;font-size:14px}.topbar nav a:hover{background:rgba(255,255,255,.28)}.userbox{display:flex;align-items:center;gap:12px;font-weight:800}.shell{max-width:1440px;margin:0 auto;padding:34px 24px 70px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:6px 0 26px}.page-head h1{font-size:36px;line-height:1.05;margin:7px 0 6px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:900;color:#7a5c00}.back{font-size:14px;font-weight:800;color:#6c5b48}.head-actions{display:flex;gap:10px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:12px 18px;border-radius:10px;border:1px solid transparent;font-weight:850;cursor:pointer;line-height:1}.btn-primary{background:var(--mint);color:#07281e}.btn-dark{background:#1a1a18;color:#fff}.btn-outline{border-color:#171717;background:transparent}.btn-ghost{background:#eee7d6}.btn-small{padding:8px 12px;font-size:13px}.btn-wide{width:100%;padding:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric{background:var(--yellow);padding:22px;border-radius:16px;min-height:132px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)}.metric.alert{background:#3b2921;color:#fff}.metric span{font-weight:800;font-size:14px}.metric strong{font-size:38px;line-height:1;margin:9px 0 5px}.metric small{opacity:.75}.metric-grid.compact .metric{min-height:115px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.panel-title h2{font-size:18px;margin:0}.panel-title p{font-size:13px;margin:4px 0 0;color:var(--muted)}.panel-title a{font-size:13px;font-weight:850;text-decoration:underline}.bars{height:180px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid var(--line);padding-top:12px}.bar-item{height:100%;flex:1;display:flex;align-items:flex-end}.bar-item span{width:100%;background:var(--yellow);border-radius:5px 5px 0 0;min-height:4px}.bar-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding-top:8px}.inactive-list,.status-list{display:grid;gap:9px}.inactive-list div,.status-list div{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:var(--cream);border-radius:10px}.inactive-list strong,.status-list strong{font-size:20px}.status-list small{color:var(--muted);margin-left:5px}.mini-list{display:grid}.mini-list a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #eee}.mini-list a:first-child{border-top:0}.mini-list div{display:flex;flex-direction:column}.mini-list span{font-size:12px;color:var(--muted);margin-top:3px}.mini-list time{font-size:12px;font-weight:900}.table-wrap{overflow:auto;padding:0}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}.table-wrap th,.table-wrap td{padding:14px 16px;text-align:left;border-bottom:1px solid #eee;font-size:13px;vertical-align:top}.table-wrap th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#fffaf0;position:sticky;top:0}.table-wrap td a strong{display:block}.table-wrap td a small{display:block;color:var(--muted);margin-top:3px}.pill{display:inline-flex;padding:6px 9px;border-radius:99px;background:#efe7d7;font-size:12px;font-weight:850}.muted-pill{background:#eee;color:#666}.filters{display:flex;gap:10px;align-items:end;margin:0 0 16px;flex-wrap:wrap}.filters>input{min-width:280px}.filters label{font-size:12px;font-weight:800;display:grid;gap:5px}.filters input,.filters select{height:44px;border:1px solid #d9cfb9;background:#fff;border-radius:10px;padding:0 12px}.view-tabs{display:flex;gap:7px;margin:8px 0 12px}.view-tabs a{padding:9px 14px;border-radius:99px;font-weight:800;font-size:13px}.view-tabs a.active{background:#1e1d1a;color:#fff}.kanban{display:flex;overflow-x:auto;gap:12px;padding:4px 0 22px;scrollbar-width:thin}.kanban-column{min-width:300px;max-width:300px;background:#f4eedf;border-radius:14px;padding:10px;border:1px solid #e7dcc4;transition:.15s}.kanban-column.drag-over{outline:3px solid var(--mint)}.kanban-head{display:flex;justify-content:space-between;align-items:center;padding:5px 5px 10px;font-size:13px;font-weight:900}.kanban-head b{background:#ded3bb;padding:4px 8px;border-radius:99px}.kanban-drop{min-height:160px;display:grid;gap:8px;align-content:start}.vet-card{background:#fff;border:1px solid #dfd7c9;border-radius:12px;padding:0;box-shadow:0 4px 10px rgba(0,0,0,.03);cursor:grab}.vet-card.dragging{opacity:.45}.vet-card a{display:flex;flex-direction:column;padding:13px}.vet-card strong{font-size:14px}.vet-card span{font-size:12px;margin-top:7px}.vet-card small{color:var(--muted);margin-top:5px}.more-card{font-size:12px;color:var(--muted);padding:10px;text-align:center}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;margin-bottom:18px}.side-stack{display:grid;gap:14px;align-content:start}.summary-card span{font-size:12px;font-weight:850;color:var(--muted)}.summary-card strong{display:block;font-size:26px;margin:6px 0}.summary-card small{color:var(--muted)}.key-values{display:grid;gap:11px}.key-values div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding-bottom:9px}.key-values span{font-size:12px;color:var(--muted)}.key-values b{font-size:12px;text-align:right}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8cfbc;border-radius:10px;padding:11px 12px;background:#fffcf5}.span2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}.narrow{max-width:850px}.inline-meta{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px}.timeline{display:grid}.timeline article{position:relative;display:grid;grid-template-columns:16px 1fr;gap:10px;padding:0 0 22px}.timeline article:before{content:"";position:absolute;left:6px;top:12px;bottom:-4px;width:2px;background:#eee1c7}.timeline article:last-child:before{display:none}.timeline-dot{width:14px;height:14px;background:var(--yellow);border-radius:50%;margin-top:3px;z-index:2}.timeline-head{display:flex;justify-content:space-between;gap:10px}.timeline-head span{font-size:12px;color:var(--muted)}.timeline h3{font-size:14px;margin:8px 0 4px}.timeline p{font-size:13px;line-height:1.5;margin:5px 0}.timeline small{color:var(--muted)}.chips{display:flex;gap:5px;margin-top:6px}.chips span{font-size:11px;background:#f0eadc;border-radius:99px;padding:4px 7px}.notice{background:#fff1bf;border:1px solid #efd678;padding:14px;border-radius:12px;font-size:13px;line-height:1.5}.empty{padding:25px;text-align:center;color:var(--muted);font-size:13px}.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-weight:750;font-size:13px}.flash.success{background:#d8f4e9;color:#155e47}.flash.error{background:#f7d9d5;color:#7e3128}.login-page{min-height:100vh;background:var(--cream);display:grid;place-items:center;padding:30px}.login-wrap{width:min(1020px,100%);min-height:570px;display:grid;grid-template-columns:1.15fr .85fr;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(88,64,5,.18)}.login-hero{background:var(--yellow);padding:56px;display:flex;flex-direction:column;justify-content:flex-end}.login-hero img{width:165px;margin-bottom:auto}.login-hero h1{font-size:48px;max-width:520px;line-height:1.02;margin:0 0 15px}.login-hero p{font-size:17px;line-height:1.5;max-width:490px}.login-card{background:#fff;padding:56px;display:flex;flex-direction:column;justify-content:center;gap:24px}.login-card h2{font-size:30px;margin:5px 0}.muted{color:var(--muted)}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;font-size:13px;font-weight:850}.login-card input{height:48px;border:1px solid #d9cfb9;border-radius:10px;padding:0 13px}@media(max-width:900px){.topbar{padding:0 16px}.topbar nav{display:none}.shell{padding:24px 14px}.metric-grid{grid-template-columns:1fr 1fr}.grid-2,.detail-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}.login-card{padding:36px}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.userbox span{display:none}.brand{width:auto}.topbar{height:66px}.page-head h1{font-size:30px}}
/* V3 - CRM completo, histórico e exportações */
.report-grid{grid-template-columns:repeat(5,1fr)}
.export-actions{flex-wrap:wrap}
.historical-pill,.historical-chip{background:#fff0bd!important;color:#6f5200!important;border:1px solid #e1bf58}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(270px,1fr));overflow:visible;align-items:start;gap:14px;padding-bottom:22px}
.kanban-column{min-width:0;max-width:none;height:min(720px,72vh);display:flex;flex-direction:column;overflow:hidden}
.kanban-head{position:sticky;top:0;z-index:2;background:#f4eedf;border-radius:10px 10px 0 0}
.kanban-drop{overflow-y:auto;padding-right:3px;min-height:0;flex:1;scrollbar-width:thin}
.kanban-drop .vet-card:last-child{margin-bottom:4px}
@media(max-width:1250px){.kanban{grid-template-columns:repeat(3,minmax(270px,1fr))}.report-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:930px){.kanban{grid-template-columns:repeat(2,minmax(250px,1fr))}.report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.kanban{grid-template-columns:1fr}.kanban-column{height:auto;max-height:650px}.report-grid{grid-template-columns:1fr}.export-actions{width:100%}.export-actions .btn{flex:1}}
/* V4 — gráficos, exportação no navegador e correção definitiva de layout/cache */
.chart-panel{min-width:0}.chart-box{position:relative;width:100%;height:300px;min-height:260px}.chart-box-tall{height:330px}.chart-box canvas{display:block;width:100%!important;height:100%!important}.report-charts{align-items:stretch}.report-table{max-height:560px}.report-table table{min-width:1100px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.chart-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.export-actions .btn{min-width:76px}.exporting{opacity:.6;pointer-events:none}.export-toast{position:fixed;right:22px;bottom:22px;z-index:200;background:#181713;color:#fff;padding:13px 16px;border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.2);font-size:13px;font-weight:750}.export-toast.success{background:#123d31}.export-toast.error{background:#7e3128}
/* O Kanban nunca deve ficar cortado horizontalmente. */
.kanban{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;width:100%;gap:14px}.kanban-column{width:auto!important;min-width:0!important;max-width:none!important}.kanban-drop{overflow-y:auto!important;overflow-x:hidden!important}.vet-card{min-width:0}.vet-card strong,.vet-card span,.vet-card small{overflow-wrap:anywhere}
@media(max-width:1180px){.kanban{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:860px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))!important}.chart-box,.chart-box-tall{height:280px}}
@media(max-width:580px){.kanban{grid-template-columns:1fr!important}.chart-box,.chart-box-tall{height:260px}.report-table table{min-width:900px}}
